commit 8d80832062a032bf810877c191d0620e2ffff537 Author: chengzhaofeng Date: Mon Oct 14 19:35:56 2024 +0800 install commit! diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..bd3ad98 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not ie <= 8 \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f1cc3ad --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..e6529fc --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +build/*.js +src/assets +public +dist diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..e1d3a9f --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,215 @@ +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint', + sourceType: 'module' + }, + env: { + browser: true, + node: true, + es6: true + }, + extends: ['plugin:vue/recommended', 'eslint:recommended'], + + // add your custom rules here + // it is base on https://github.com/vuejs/eslint-config-vue + rules: { + 'vue/max-attributes-per-line': [2, { + 'singleline': 10, + 'multiline': { + 'max': 1, + 'allowFirstLine': false + } + }], + 'vue/html-self-closing': ['error', { + 'html': { + 'void': 'any', + 'normal': 'any', + 'component': 'any' + }, + 'svg': 'any', + 'math': 'any' + }], + 'vue/singleline-html-element-content-newline': 'off', + 'vue/no-parsing-error': [2, { 'invalid-first-character-of-tag-name': false }], + 'vue/no-use-v-if-with-v-for': 'off', + 'vue/multiline-html-element-content-newline': 'off', + 'vue/name-property-casing': [0, 'PascalCase'], + 'vue/html-closing-bracket-newline': [0, { + 'singleline': 'never', + 'multiline': 'always' + }], + 'vue/no-side-effects-in-computed-properties': 0, + 'accessor-pairs': 2, //在对象中使用getter/setter + 'arrow-spacing': [2, { + 'before': true, + 'after': true + }], //=>的前/后括号 + 'block-spacing': [2, 'always'], //块是否需要空格 + // if while function 后面的{必须与if在同一行,java风格。 + 'brace-style': [2, '1tbs', { + 'allowSingleLine': true + }], + //强制驼峰法命名 + 'camelcase': [0, { + 'properties': 'always' + }], + // 数组和对象键值对最后一个逗号, never参数:不能带末尾的逗号, always参数:必须带末尾的逗号, + // always-multiline:多行模式必须带逗号,单行模式不能带逗号 + 'comma-dangle': [2, 'never'], + // 控制逗号前后的空格 + 'comma-spacing': [2, { + 'before': false, + 'after': true + }], + 'comma-style': [2, 'last'], // 控制逗号在行尾出现还是在行首出现 + // 强制在子类构造函数中用super()调用父类构造函数,TypeScrip的编译器也会提示 + 'constructor-super': 2, + // 强制object.key 中 . 的位置,参数: + // property,'.'号应与属性在同一行 + // object, '.' 号应与对象名在同一行 + 'dot-location': [2, 'property'], + 'eol-last': 2, // 文件末尾强制换行 + 'eqeqeq': [2, 'allow-null'], // 使用 === 替代 == + 'generator-star-spacing': 0, //生成器函数*的前后空格 + 'handle-callback-err': 0, //nodejs 处理错误 + 'indent': [2, 2, { //缩进风格 + 'SwitchCase': 1 + }], + // JSX 属性中一致使用双引号或单引号 + 'jsx-quotes': [2, 'prefer-single'], + //对象字面量中冒号的前后空格 + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + //函数名首行大写必须使用new方式调用,首行小写必须用不带new方式调用 + 'new-cap': [2, { + 'newIsCap': true, + 'capIsNew': false + }], + 'new-parens': 2, //new时必须加小括号 + 'no-array-constructor': 2, //禁止使用数组构造器 + 'no-caller': 2, //禁止使用arguments.caller或arguments.callee + 'no-console': process.env.NODE_ENV === 'production' ? 2 : 0, //禁止使用console + 'no-class-assign': 2, //禁止给类赋值 + 'no-cond-assign': 2, //禁止在条件表达式中使用赋值语句 + 'no-const-assign': 2, //禁止修改const声明的变量 + 'no-control-regex': 0, //禁止在正则表达式中使用控制字符 + 'no-delete-var': 2, //不能对var声明的变量使用delete操作符 + 'no-dupe-args': 2, //函数参数不能重复 + 'no-dupe-class-members': 2, //不允许类中出现重复的声明 + 'no-dupe-keys': 2, //在创建对象字面量时不允许键重复 {a:1,a:1} + 'no-duplicate-case': 2, //switch中的case标签不能重复 + 'no-empty-character-class': 0, //正则表达式中的[]内容不能为空 + 'no-empty-pattern': 0, + 'no-eval': 0, //禁止使用eval + 'no-ex-assign': 2, //禁止给catch语句中的异常参数赋值 + 'no-extend-native': 2, //禁止扩展native对象 + 'no-extra-bind': 2, //禁止不必要的函数绑定 + 'no-extra-boolean-cast': 2, //禁止不必要的bool转换 + 'no-extra-parens': [2, 'functions'], //禁止非必要的括号 + 'no-fallthrough': 2, //禁止switch穿透 + 'no-floating-decimal': 2, //禁止省略浮点数中的0 .5 3. + 'no-func-assign': 2, //禁止重复的函数声明 + 'no-implied-eval': 2, //禁止使用隐式eval + 'no-inner-declarations': [2, 'functions'], //禁止在块语句中使用声明(变量或函数) + 'no-invalid-regexp': 2, //禁止无效的正则表达式 + 'no-irregular-whitespace': 2, //不能有不规则的空格 + 'no-iterator': 2, //禁止使用__iterator__ 属性 + 'no-label-var': 2, //label名不能与var声明的变量名相同 + 'no-labels': [2, { //禁止标签声明 + 'allowLoop': false, + 'allowSwitch': false + }], + 'no-lone-blocks': 2, //禁止不必要的嵌套块 + 'no-mixed-spaces-and-tabs': 2, //禁止混用tab和空格 + 'no-multi-spaces': 2, //不能用多余的空格 + 'no-multi-str': 2, //字符串不能用\换行 + 'no-multiple-empty-lines': [0, { + 'max': 1 + }], //空行最多不能超过1行 + 'no-native-reassign': 2, //不能重写native对象 + 'no-negated-in-lhs': 2, //in 操作符的左边不能有! + 'no-new-object': 2, //禁止使用new Object() + 'no-new-require': 2, //禁止使用new require + 'no-new-symbol': 2, //禁止使用new symbol + 'no-new-wrappers': 2, //禁止使用new创建包装实例,new String new Boolean new Number + 'no-obj-calls': 0, //不能调用内置的全局对象,比如Math() JSON() + 'no-octal': 2, //禁止使用八进制数字 + 'no-octal-escape': 2, //禁止使用八进制转义序列 + 'no-path-concat': 2, //node中不能使用__dirname或__filename做路径拼接 + 'no-proto': 2, //禁止使用__proto__属性 + 'no-redeclare': 2, //禁止重复声明变量 + 'no-regex-spaces': 2, //禁止在正则表达式字面量中使用多个空格 /foo bar/ + 'no-return-assign': [2, 'except-parens'], //return 语句中不能有赋值表达式 + 'no-self-assign': 2, //自我分配 + 'no-self-compare': 2, //不能比较自身 + 'no-sequences': 2, //禁止使用逗号运算符 + 'no-shadow-restricted-names': 2, //严格模式中规定的限制标识符不能作为声明时的变量名使用 + 'no-spaced-func': 2, //函数调用时 函数名与()之间不能有空格 + 'no-sparse-arrays': 2, //禁止稀疏数组, [1,,2] + 'no-this-before-super': 2, //在调用super()之前不能使用this或super + 'no-throw-literal': 2, //禁止抛出字面量错误 throw "error"; + 'no-trailing-spaces': 0, //一行结束后面不要有空格 + 'no-undef': 2, //不能有未定义的变量 + 'no-undef-init': 2, //变量初始化时不能直接给它赋值为undefined + 'no-unexpected-multiline': 0, //避免多行表达式 + 'no-unmodified-loop-condition': 0, //检查引用是否在循环中被修改 + 'no-unneeded-ternary': 0, //禁止不必要的嵌套 var isYes = answer === 1 ? true : false; + 'no-unreachable': 2, //不能有无法执行的代码 + 'no-unsafe-finally': 0, + 'no-unused-vars': [2, { + 'vars': 'all', + 'args': 'none' + }], //不能有声明后未被使用的变量或参数 + 'no-useless-call': 2, //禁止不必要的call和apply + 'no-useless-computed-key': 0, //没有必要使用带文字的计算属性 + 'no-useless-constructor': 2, //可以在不改变类的工作方式的情况下安全地移除的类构造函数 + 'no-useless-escape': 0, + 'no-whitespace-before-property': 0, + 'no-with': 2, //禁用with + 'one-var': 0, //连续声明 + 'operator-linebreak': [2, 'after', { + 'overrides': { + '?': 'before', + ':': 'before' + } + }], //换行时运算符在行尾还是行首 + 'padded-blocks': 0, //块语句内行首行尾是否要空行 + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], //引号类型 `` "" '' + 'semi': [2, 'never'], //语句强制分号结尾 + 'semi-spacing': [2, { + 'before': false, + 'after': true + }], //分号前后空格 + 'space-before-blocks': [2, 'always'], //不以新行开始的块{前面要不要有空格 + 'space-before-function-paren': [2, 'never'], //函数定义时括号前面要不要有空格 + 'space-in-parens': [2, 'never'], //小括号里面要不要有空格 + 'space-infix-ops': 2, //中缀操作符周围要不要有空格 + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], //一元运算符的前/后要不要加空格 + 'spaced-comment': 0, //注释风格不要有空格什么的 + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, //禁止比较时使用NaN,只能用isNaN() + 'valid-typeof': 2, //必须使用合法的typeof的值 + 'wrap-iife': [2, 'any'], //立即执行函数表达式的小括号风格 + 'yield-star-spacing': 0, + 'yoda': [2, 'never'], //禁止尤达条件 + 'prefer-const': 2, //首选const + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, //禁止使用debugger + 'object-curly-spacing': [2, 'always', { + objectsInObjects: false + }], //大括号内是否允许不必要的空格 + 'array-bracket-spacing': [2, 'never'] //是否允许非空数组里面有多余的空格 + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5cfe5ab --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +.DS_Store +node_modules +/dist + +/tests/e2e/videos/ +/tests/e2e/screenshots/ + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* + +# Lock File +package-lock.json +yarn.lock +src/page/login/index copy.vue +src/styles/login copy.scss +src/styles/login copy 2.scss + +*.zip +/zip +/target diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..40db02d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,28 @@ + +## GitLab CI/CD Config File + +## https://ewiki.semi-tech.com/STC/CICD/index.md +## https://docs.gitlab.com/ee/ci/index.html +## https://docs.gitlab.com/ee/ci/yaml/index.html + +--- + +variables: + ## `BOT_ALIAS` and `TEMPLATE_ALIAS` can be set here, or defined in your Group/Project > Settings > CI/CD > Variables + ## !!!: Project variables > Group variables > Instance(GitLab) variables > .yml job variables > .yml global variables + ## CI/CD variable precedence: https://docs.gitlab.com/ee/ci/variables/index.html#cicd-variable-precedence + BOT_ALIAS: "TODO_replace_with_your_bot_alias" + TEMPLATE_ALIAS: "sonar" + VERBOSE: "false" + + +default: + tags: + ## public runners + - public + +include: + ## https://gitlab.semi-tech.com/stc/cicd/cicd-config + - project: stc/cicd/cicd-config + ref: master + file: js.yml diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..5d57850 --- /dev/null +++ b/.npmrc @@ -0,0 +1,31 @@ +registry=https://registry.npmmirror.com +disturl=https://npmmirror.com/dist +chromedriver-cdnurl=https://npmmirror.com/mirrors/chromedriver +couchbase-binary-host-mirror=https://npmmirror.com/mirrors/couchbase/v{version} +debug-binary-host-mirror=https://npmmirror.com/mirrors/node-inspector +electron-mirror=https://npmmirror.com/mirrors/electron/ +flow-bin-binary-host-mirror=https://npmmirror.com/mirrors/flow/v +fse-binary-host-mirror=https://npmmirror.com/mirrors/fsevents +fuse-bindings-binary-host-mirror=https://npmmirror.com/mirrors/fuse-bindings/v{version} +git4win-mirror=https://npmmirror.com/mirrors/git-for-windows +gl-binary-host-mirror=https://npmmirror.com/mirrors/gl/v{version} +grpc-node-binary-host-mirror=https://npmmirror.com/mirrors +hackrf-binary-host-mirror=https://npmmirror.com/mirrors/hackrf/v{version} +leveldown-binary-host-mirror=https://npmmirror.com/mirrors/leveldown/v{version} +leveldown-hyper-binary-host-mirror=https://npmmirror.com/mirrors/leveldown-hyper/v{version} +mknod-binary-host-mirror=https://npmmirror.com/mirrors/mknod/v{version} +node-sqlite3-binary-host-mirror=https://npmmirror.com/mirrors +node-tk5-binary-host-mirror=https://npmmirror.com/mirrors/node-tk5/v{version} +nodegit-binary-host-mirror=https://npmmirror.com/mirrors/nodegit/v{version}/ +operadriver-cdnurl=https://npmmirror.com/mirrors/operadriver +phantomjs-cdnurl=https://npmmirror.com/mirrors/phantomjs +profiler-binary-host-mirror=https://npmmirror.com/mirrors/node-inspector/ +puppeteer-download-host=https://npmmirror.com/mirrors +python-mirror=https://npmmirror.com/mirrors/python +rabin-binary-host-mirror=https://npmmirror.com/mirrors/rabin/v{version} +sass-binary-site=https://npmmirror.com/mirrors/node-sass +sodium-prebuilt-binary-host-mirror=https://npmmirror.com/mirrors/sodium-prebuilt/v{version} +sqlite3-binary-site=https://npmmirror.com/mirrors/sqlite3 +utf-8-validate-binary-host-mirror=https://npmmirror.com/mirrors/utf-8-validate/v{version} +utp-native-binary-host-mirror=https://npmmirror.com/mirrors/utp-native/v{version} +zmq-prebuilt-binary-host-mirror=https://npmmirror.com/mirrors/zmq-prebuilt/v{version} diff --git a/.postcssrc.js b/.postcssrc.js new file mode 100644 index 0000000..100cc01 --- /dev/null +++ b/.postcssrc.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {} + } +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3d090a1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM node:14.18.3 as builder + +WORKDIR /opt +COPY .. . + +RUN npm install -g cnpm --registry=https://registry.npm.taobao.org \ + && cnpm install && cnpm run build + +FROM nginx:1.19 + +COPY --from=builder /opt/web.conf /etc/nginx/conf.d/default.conf +COPY --from=builder /opt/dist /opt/dist diff --git a/README.md b/README.md new file mode 100644 index 0000000..8a1e0a1 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# nlv-ui + +#### 介绍 +所有模块的前端 + diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..5b2c6c2 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,7 @@ +module.exports = { + presets: [[ + '@vue/app', + { useBuiltIns: "entry" } + ]], + plugins: ["@babel/plugin-proposal-optional-chaining", "@babel/plugin-transform-modules-commonjs"] +} diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..4e6e335 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,9 @@ +FROM nginx + +COPY ./dist /data + +RUN rm /etc/nginx/conf.d/default.conf + +ADD mom-ui.conf /etc/nginx/conf.d/default.conf + +RUN /bin/bash -c 'echo init ok' \ No newline at end of file diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml new file mode 100644 index 0000000..268d9a6 --- /dev/null +++ b/docker/docker-compose.yaml @@ -0,0 +1,19 @@ +version: '3' +services: + mom-ui: + build: + context: . + restart: always + container_name: mom-ui + image: mom-ui + networks: + - mom_default + external_links: + - mom-gateway + ports: + - 80:80 + +# 加入到后端网络, 默认为 mom_default | docker network ls 查看 +networks: + mom_default: + external: true \ No newline at end of file diff --git a/docker/mom-ui.conf b/docker/mom-ui.conf new file mode 100644 index 0000000..e8bbdd1 --- /dev/null +++ b/docker/mom-ui.conf @@ -0,0 +1,26 @@ +server { + listen 80; + + gzip on; + gzip_static on; # 需要http_gzip_static_module 模块 + gzip_min_length 1k; + gzip_comp_level 4; + gzip_proxied any; + gzip_types text/plain text/xml text/css; + gzip_vary on; + gzip_disable "MSIE [1-6]\.(?!.*SV1)"; + + # 前端打包好的dist目录文件 + root /data/; + + # 若新增后端路由前缀注意在此处添加(|新增) + location ~* ^/(code|auth|admin|monitor|actuator|gen|job|tx|act|mp|pay|jimu|aj|rpt|mes-core|pms|tooling|anomaly) { + proxy_pass http://mom-gateway:9999; + proxy_connect_timeout 15s; + proxy_send_timeout 15s; + proxy_read_timeout 15s; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + } +} diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..adc4845 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "paths": { + "@/*": ["src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/nlv-ui.iml b/nlv-ui.iml new file mode 100644 index 0000000..8021953 --- /dev/null +++ b/nlv-ui.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/nodestatic.json b/nodestatic.json new file mode 100644 index 0000000..8f6f842 --- /dev/null +++ b/nodestatic.json @@ -0,0 +1,3 @@ +{ + "path": "dist" +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f93fd4a --- /dev/null +++ b/package.json @@ -0,0 +1,108 @@ +{ + "name": "nlv-ui", + "version": "4.5.0", + "private": true, + "scripts": { + "dev": "vue-cli-service serve", + "build": "vue-cli-service build", + "build:docker": "vue-cli-service build --dest=./docker/dist/", + "lint": "vue-cli-service lint", + "analyze": "vue-cli-service build --report", + "build:rainbond": "vue-cli-service build --mode test --dest=./rainbond/dist/ && cd rainbond && (if exist .git rd /s /q .git) && copy web.conf dist && git init && git add . && git commit -m \"@deploy\" && git push -f https://gitee.com/forever_win/mom-ui-html-3peak.git master", + "macbuild:rainbond": "vue-cli-service build --mode test --dest=./rainbond/dist/ && cd rainbond && rm -rf .git && cp web.conf dist && git init && git add . && git commit -m \"@deploy\" && git push -f https://gitee.com/forever_win/mom-ui-html-3peak.git master", + "build:prd": "vue-cli-service build --mode production --dest=./rainbond/dist/ && cd rainbond && (if exist .git rd /s /q .git) && copy web.conf dist && git init && git add . && git commit -m \"@deploy\" && git push -f https://gitee.com/forever_win/mom-ui-html-prd-3peak.git master", + "macbuild:prd": "vue-cli-service build --mode production --dest=./rainbond/dist/ && cd rainbond && rm -rf .git && cp web.conf dist && git init && git add . && git commit -m \"@deploy\" && git push -f https://gitee.com/forever_win/mom-ui-html-prd-3peak.git master" + }, + "dependencies": { + "@chenfengyuan/vue-qrcode": "^1.0.1", + "@riophae/vue-treeselect": "0.4.0", + "@tinymce/tinymce-vue": "^3.2.0", + "@types/webpack-env": "^1.18.4", + "@xkeshi/image-compressor": "^0.5.3", + "avue-plugin-ueditor": "^0.1.4", + "axios": "^0.18.0", + "babel-polyfill": "^6.26.0", + "bin-code-editor": "^0.9.0", + "bpmn-js-create-append-anything": "^0.4.0", + "bpmn-js-token-simulation": "0.10.0", + "classlist-polyfill": "^1.2.0", + "clipboard": "^2.0.4", + "codemirror": "^5.53.2", + "cropperjs": "^1.6.2", + "crypto-js": "^3.1.9-1", + "e-icon-picker": "^1.1.7", + "echarts": "^4.9.0", + "el-table-draggable": "^1.4.12", + "element-ui": "2.15.8", + "encryptlong": "^3.1.4", + "exceljs": "^4.3.0", + "file-saver": "^2.0.5", + "highlight.js": "10.5.0", + "js-beautify": "1.13.0", + "js-cookie": "^2.2.0", + "jsencrypt": "^3.3.2", + "json-server": "^1.0.0-alpha.23", + "jsplumb": "^2.9.2", + "less": "^4.1.1", + "less-loader": "^6.0.0", + "lodash": "4.17.15", + "moment": "^2.29.4", + "nprogress": "^0.2.0", + "pig-avue-form-design": "^1.5.15", + "script-loader": "^0.7.2", + "sockjs-client": "1.0.0", + "stomp-websocket": "2.3.4-next", + "svg-sprite-loader": "^5.1.1", + "vue": "2.6.14", + "vue-awesome": "^4.5.0", + "vue-axios": "^2.1.2", + "vue-clipboard2": "^0.3.0", + "vue-cnname-avatar": "^1.0.6", + "vue-codemirror": "^4.0.6", + "vue-cron": "^1.0.9", + "vue-echarts": "^4.1.0", + "vue-i18n": "^8.28.2", + "vue-json-editor": "^1.2.3", + "vue-json-tree-view": "^2.1.4", + "vue-quill-editor": "3.0.6", + "vue-router": "^3.0.2", + "vue-upload-component": "^2.8.23", + "vuedraggable": "^2.24.3", + "vuex": "^3.0.1", + "webpack": "4.47.0", + "xlsx": "^0.18.5", + "xml-js": "^1.6.11" + }, + "devDependencies": { + "@babel/plugin-proposal-optional-chaining": "^7.21.0", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@vue/cli-plugin-babel": "^3.12.0", + "@vue/cli-service": "^3.12.0", + "benz-amr-recorder": "^1.0.14", + "bpmn-js": "^14.2.0", + "cache-loader": "^4.1.0", + "chai": "^4.1.2", + "compression-webpack-plugin": "^3.1.0", + "filemanager-webpack-plugin": "^5.0.0", + "sass": "1.32.13", + "sass-loader": "10.1.1", + "ts-loader": "^8.2.0", + "typescript": "^5.3.3", + "vue-class-component": "^7.2.6", + "vue-pdf": "^4.3.0", + "vue-property-decorator": "^9.1.2", + "vue-template-compiler": "2.6.14", + "vue-video-player": "^5.0.2", + "webpack-war-plugin": "^1.0.0-beta.3" + }, + "lint-staged": { + "*.js": [ + "vue-cli-service lint", + "git add" + ], + "*.vue": [ + "vue-cli-service lint", + "git add" + ] + } +} diff --git a/public/cdn/animate/3.5.2/animate.css b/public/cdn/animate/3.5.2/animate.css new file mode 100644 index 0000000..b6f6129 --- /dev/null +++ b/public/cdn/animate/3.5.2/animate.css @@ -0,0 +1,11 @@ +@charset "UTF-8"; + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.5.1 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2016 Daniel Eden + */ + +.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file diff --git a/public/cdn/avue/avue.css b/public/cdn/avue/avue.css new file mode 100644 index 0000000..98d6ff5 --- /dev/null +++ b/public/cdn/avue/avue.css @@ -0,0 +1,59 @@ +html, +body, +#app { + height: 100%; + margin: 0; + padding: 0; +} + +.avue-home { + background-color: #303133; + height: 100%; + display: flex; + flex-direction: column; +} + +.avue-home__main { + user-select: none; + width: 100%; + flex-grow: 1; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; +} + +.avue-home__footer { + width: 100%; + flex-grow: 0; + text-align: center; + padding: 1em 0; +} + +.avue-home__footer > a { + font-size: 12px; + color: #ABABAB; + text-decoration: none; +} + +.avue-home__loading { + height: 32px; + width: 32px; + margin-bottom: 20px; +} + +.avue-home__title { + color: #FFF; + font-size: 14px; + margin-bottom: 10px; +} + +.avue-home__sub-title { + color: #ABABAB; + font-size: 12px; +} + +.avue-tree__content { + padding: 5px 0 0 5px !important; + height: calc(100% - 32px); +} diff --git a/public/cdn/avue/index.css b/public/cdn/avue/index.css new file mode 100644 index 0000000..0778d97 --- /dev/null +++ b/public/cdn/avue/index.css @@ -0,0 +1,4491 @@ +@charset "UTF-8"; + +.avue-article__body, +.avue-comment__body { + font-family: Segoe UI, Lucida Grande, Helvetica, Arial, Microsoft YaHei, FreeSans, Arimo, Droid Sans, + wenquanyi micro hei, Hiragino Sans GB, Hiragino Sans GB W3, FontAwesome, sans-serif; +} + +.avue-avatar, +.avue-card__item, +.avue-comment__avatar { + -webkit-box-sizing: border-box; +} + +.avue-affix { + position: fixed; + z-index: 10; +} + +.avue-sign { + padding: 5px; +} + +.avue-sign__canvas { + border: 1px solid #ccc; +} + +.avue-carousel--fullscreen { + height: 100%; +} + +.avue-carousel--fullscreen .el-carousel, +.avue-carousel--fullscreen .el-carousel__container { + height: 90%; +} + +.avue-carousel__item { + position: relative; + width: 100%; + height: 100%; +} + +.avue-carousel__item a { + width: 100%; + height: 100%; + display: block; +} + +.avue-carousel__img { + height: 100%; + background-size: cover; + background-position: center center; +} + +.avue-carousel__title { + z-index: 1024; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 50px; + line-height: 50px; + font-size: 16px; + text-align: center; + color: #fff; + background-color: rgba(0, 0, 0, 0.6); +} + +.avue-article__title { + margin-bottom: 15px; + font-size: 32px; + line-height: 32px; + font-weight: 400; +} + +.avue-article__meta { + display: block; + margin-bottom: 20px; + font-size: 12px; + color: #999; +} + +.avue-article__lead { + color: #666; + font-size: 14px; + line-height: 22px; + border: 1px solid #dedede; + border-radius: 2px; + background: #f9f9f9; + padding: 10px; +} + +.avue-article__body { + padding-top: 10px; + background: #fff; + color: #333; + font-size: 14px; +} + +.avue-article blockquote { + margin: 0; + font-family: Georgia, Times New Roman, Times, Kai, Kaiti SC, KaiTi, BiauKai, FontAwesome, serif; + padding: 1px 0 1px 15px; + border-left: 4px solid #ddd; +} + +.avue-avatar { + font-size: 14px; + font-variant: tabular-nums; + box-sizing: border-box; + margin: 0; + padding: 0; + list-style: none; + display: inline-block; + text-align: center; + background: #ccc; + color: #fff; + white-space: nowrap; + position: relative; + overflow: hidden; + vertical-align: middle; + width: 32px; + height: 32px; + line-height: 32px; + border-radius: 50%; +} + +.avue-avatar__images { + width: 100%; + height: 100%; +} + +.avue-avatar__icon { + font-size: 18px; +} + +.avue-avatar__string { + position: absolute; + left: 50%; + -webkit-transform-origin: 0 center; + transform-origin: 0 center; +} + +.avue-avatar--lg { + width: 40px; + height: 40px; + line-height: 40px; + border-radius: 50%; + font-size: 24px; +} + +.avue-avatar--sm { + width: 24px; + height: 24px; + line-height: 24px; + border-radius: 50%; + font-size: 14px; +} + +.avue-avatar--square { + border-radius: 4px; +} + +.avue-skeleton__avatar { + width: 40px; + height: 40px; + line-height: 40px; + display: inline-block; + border-radius: 50%; + background: #f2f2f2; +} + +.avue-skeleton__header { + display: table-cell; + vertical-align: top; + padding-right: 16px; +} + +.avue-skeleton__content { + display: table-cell; + vertical-align: top; + width: 100%; +} + +.avue-skeleton__title { + margin-top: 16px; + height: 16px; + width: 40%; + background: #f2f2f2; +} + +.avue-skeleton__item { + padding-top: 16px; + padding-bottom: 16px; + border-bottom: 1px solid #e8e8e8; +} + +.avue-crud--card .el-card__body, +.is-always-shadow + .avue-crud__pagination { + padding: 0; +} + +.avue-skeleton__item:last-child { + border-bottom: none; +} + +.avue-skeleton__li { + margin-bottom: 10px; + height: 16px; + background: #f2f2f2; + list-style: none; + width: 100%; +} + +.avue-skeleton__li:last-child { + width: 50%; +} + +.avue-skeleton__loading { + background: -webkit-gradient( + linear, + left top, + right top, + color-stop(25%, #f2f2f2), + color-stop(37%, #e6e6e6), + color-stop(63%, #f2f2f2) + ); + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + -webkit-animation: avue-skeleton-loading 1.4s ease infinite; + animation: avue-skeleton-loading 1.4s ease infinite; + background-size: 400% 100%; +} + +@-webkit-keyframes avue-skeleton-loading { + 0% { + background-position: 100% 50%; + } + + 100% { + background-position: 0 50%; + } +} + +@keyframes avue-skeleton-loading { + 0% { + background-position: 100% 50%; + } + + 100% { + background-position: 0 50%; + } +} + +.avue-crud { + margin: 0 auto; + width: 100%; +} + +.avue-crud .el-card + .el-card { + margin-top: 8px; +} + +.avue-crud--card .el-card { + border: none; +} + +.avue-crud--card .el-card + .el-card { + margin-top: 0; +} + +.avue-crud .el-table .el-form-item { + margin-bottom: 0; + display: inline-block; + width: 100%; +} + +.avue-crud .el-table .el-form-item__label { + position: absolute; + left: 2px; +} + +.avue-crud .el-table .el-form-item__content { + line-height: inherit; + font-size: inherit; +} + +.avue-crud .el-table .el-form-item__error { + width: 100%; + text-align: left; + position: relative; +} + +.avue-crud .el-dropdown + .el-button { + margin-left: 10px; +} + +.avue-crud .el-checkbox:last-of-type { + margin-right: 0; +} + +.avue-crud .el-range-editor--mini { + height: 28px; +} + +.avue-crud__img { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.avue-crud__img img, +.avue-crud__img video { + height: 40px; + margin-left: 5px; + -o-object-fit: contain; + object-fit: contain; +} + +.avue-crud__column .el-checkbox { + margin-bottom: 10px; + cursor: move; +} + +.avue-crud__menu { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + position: relative; + width: 100%; + min-height: 40px; + height: auto; + overflow: hidden; + margin-bottom: 5px; + background-color: #fff; +} + +.avue-crud__search .el-form-item--medium.el-form-item { + margin-bottom: 22px; +} + +.avue-crud__search .el-form-item--mini.el-form-item, +.avue-crud__search .el-form-item--small.el-form-item { + margin-bottom: 14px; +} + +.avue-crud .el-table--mini .avue-crud__color { + width: 20px; + height: 20px; +} + +.avue-crud .el-table--mini .avue-crud__icon { + font-size: 20px; +} + +.avue-crud .el-table--small .avue-crud__color { + width: 30px; + height: 30px; +} + +.avue-crud .el-table--small .avue-crud__icon { + font-size: 30px; +} + +.avue-crud th { + word-break: break-word; + color: rgba(0, 0, 0, 0.85); + background-color: #fafafa; +} + +.avue-crud table td { + line-height: 26px; +} + +.avue-crud--indeterminate .is-indeterminate .el-checkbox__inner { + background-color: #fff; + border-color: #dcdfe6; +} + +.avue-crud .el-table th { + word-break: break-word; + color: rgba(0, 0, 0, 0.85); + background-color: #fafafa; +} + +.avue-crud__color { + margin: 0 auto; + width: 40px; + height: 40px; + border-radius: 5px; + display: block; +} + +.avue-crud__icon { + font-size: 45px; +} + +.avue-crud__icon--small { + font-size: 20px; + width: 20px; + height: 20px; +} + +.avue-crud__ghost { + cursor: move; + opacity: 0.4; +} + +.avue-crud__pagination { + position: relative; + padding: 25px 0 20px 20px; + text-align: right; +} + +.avue-crud__pagination .el-pagination { + display: inline-block; +} + +.avue-crud__tip, +.avue-crud__title { + display: -webkit-box; + display: -ms-flexbox; +} + +.avue-crud__form { + padding: 0 8px; +} + +.avue-crud__empty { + padding: 20px 0; +} + +.avue-crud__empty .el-empty__description { + margin-top: 0; +} + +.avue-crud__header { + margin-bottom: 10px; +} + +.avue-crud__header > .el-button { + padding: 12px 25px; +} + +.avue-crud__title { + font-weight: 700; + margin-bottom: 20px; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + font-size: 22px; +} + +.avue-crud__tip { + margin: 0 0 8px; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + font-size: 12px; +} + +.avue-crud__dialog__header, +.avue-crud__filter-item { + display: -ms-flexbox; + -webkit-box-align: center; + display: -webkit-box; +} + +.avue-crud__tip-name { + margin-right: 10px; +} + +.avue-crud__tip-count { + font-size: 16px; + font-weight: 600; +} + +.avue-crud__tip .el-button { + margin-bottom: 0; +} + +.avue-crud__filter-item { + margin-bottom: 12px; + display: flex; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.avue-crud__filter-menu { + padding: 0 5px; + margin-bottom: 20px; +} + +.avue-crud__filter-label { + margin: 0 5px; + width: 120px !important; +} + +.avue-crud__filter-symbol { + margin: 0 5px; + width: 80px !important; +} + +.avue-crud__filter-value { + margin: 0 5px; + width: 150px !important; +} + +.avue-crud__filter-value .el-date-editor.el-input, +.avue-crud__filter-value .el-date-editor.el-input__inner { + width: 100%; +} + +.avue-crud__filter-icon { + margin-left: 10px; +} + +.avue-crud__dialog__header { + display: flex; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.avue-crud__dialog__menu { + padding-right: 20px; +} + +.avue-crud__dialog__menu i { + color: #909399; + font-size: 15px; +} + +.avue-crud__dialog__menu i:hover { + color: #409eff; +} + +.avue-crud__dialog .el-dialog__body { + padding: 20px 20px 5px 10px; +} + +.avue-crud__dialog .el-scrollbar__wrap { + overflow-x: hidden; +} + +.avue-crud__dialog .avue-form__menu { + padding-top: 15px; +} + +.avue-card__item { + margin-bottom: 16px; + border: 1px solid #e8e8e8; + background-color: #fff; + box-sizing: border-box; + color: rgba(0, 0, 0, 0.65); + font-size: 14px; + font-variant: tabular-nums; + line-height: 1.5; + list-style: none; + -webkit-font-feature-settings: 'tnum'; + font-feature-settings: 'tnum'; + cursor: pointer; + height: 200px; +} + +.avue-card__item:hover { + border-color: rgba(0, 0, 0, 0.09); + -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); +} + +.avue-card__item--add { + border: 1px dashed #d9d9d9; + width: 100%; + color: rgba(0, 0, 0, 0.45); + background-color: #fff; + border-radius: 2px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + font-size: 16px; +} + +.avue-card__item--add i { + margin-right: 10px; +} + +.avue-card__item--add:hover { + color: #40a9ff; + background-color: #fff; + border-color: #40a9ff; +} + +.avue-card__body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding: 24px; +} + +.avue-card__detail { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; +} + +.avue-card__avatar { + width: 48px; + height: 48px; + border-radius: 48px; + overflow: hidden; + margin-right: 12px; +} + +.avue-card__avatar img { + width: 100%; + height: 100%; +} + +.avue-card__title { + color: rgba(0, 0, 0, 0.85); + margin-bottom: 12px; + font-size: 16px; +} + +.avue-card__title:hover { + color: #1890ff; +} + +.avue-card__info, +.avue-card__menu { + display: -webkit-box; + color: rgba(0, 0, 0, 0.45); +} + +.avue-card__info { + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow: hidden; + height: 64px; +} + +.avue-card__menu { + display: -ms-flexbox; + display: flex; + -ms-flex-pack: distribute; + justify-content: space-around; + height: 50px; + background: #f7f9fa; + text-align: center; + line-height: 50px; +} + +.avue-card__menu:hover { + color: #1890ff; +} + +.avue-comment { + margin-bottom: 30px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} + +.avue-comment--reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; +} + +.avue-comment--reverse .avue-comment__main:after, +.avue-comment--reverse .avue-comment__main:before { + left: auto; + right: -8px; + border-width: 8px 0 8px 8px; +} + +.avue-comment--reverse .avue-comment__main:before { + border-left-color: #dedede; +} + +.avue-comment--reverse .avue-comment__main:after { + border-left-color: #f8f8f8; + margin-right: 1px; + margin-left: auto; +} + +.avue-comment__avatar { + width: 48px; + height: 48px; + border-radius: 50%; + border: 1px solid transparent; + box-sizing: border-box; + vertical-align: middle; +} + +.avue-comment__header { + padding: 5px 15px; + background: #f8f8f8; + border-bottom: 1px solid #eee; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.avue-comment__author { + font-weight: 700; + font-size: 14px; + color: #999; +} + +.avue-comment__main { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + margin: 0 20px; + position: relative; + border: 1px solid #dedede; + border-radius: 2px; +} + +.avue-comment__main:after, +.avue-comment__main:before { + position: absolute; + top: 10px; + left: -8px; + right: 100%; + width: 0; + height: 0; + display: block; + content: ' '; + border-color: transparent; + border-style: solid solid outset; + border-width: 8px 8px 8px 0; + pointer-events: none; +} + +.avue-comment__main:before { + border-right-color: #dedede; + z-index: 1; +} + +.avue-comment__main:after { + border-right-color: #f8f8f8; + margin-left: 1px; + z-index: 2; +} + +.avue-comment__body { + padding: 15px; + overflow: hidden; + background: #fff; + color: #333; + font-size: 14px; +} + +.avue-comment blockquote { + margin: 0; + font-family: Georgia, Times New Roman, Times, Kai, Kaiti SC, KaiTi, BiauKai, FontAwesome, serif; + padding: 1px 0 1px 15px; + border-left: 4px solid #ddd; +} + +.avue-chat { + -webkit-box-shadow: 1px 2px 10px #eee; + box-shadow: 1px 2px 10px #eee; + position: relative; + background-color: #fcfcfc; +} + +.avue-chat li, +.avue-chat ul { + padding: 0; + margin: 0; +} + +.avue-chat li { + list-style: none; + cursor: pointer; +} + +.avue-chat .web__content { + height: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.avue-chat .web__main { + height: calc(100% - 200px); + padding: 15px 15px 20px; + overflow-x: hidden; + overflow-y: auto; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-chat .web__logo { + background-color: #409eff; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding: 15px 12px; + margin: 0 auto; + vertical-align: middle; +} + +.avue-chat .web__logo-img { + margin-top: 3px; + width: 35px; + height: 35px; + border-radius: 100%; + -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1); +} + +.avue-chat .web__logo-info { + margin-left: 10px; +} + +.avue-chat .web__logo-name { + position: relative; + margin-top: 5px; + font-size: 13px; +} + +.avue-chat .web__logo-dept { + margin-top: 1px; + font-size: 12px; +} + +.avue-chat .web__logo-dept, +.avue-chat .web__logo-name { + color: #fff; + margin: 0; + padding: 0; + width: 175px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +.avue-chat .web__main-item { + position: relative; + font-size: 0; + margin-bottom: 10px; + padding-left: 60px; + min-height: 68px; +} + +.avue-chat .web__main-text, +.avue-chat .web__main-user { + display: inline-block; + vertical-align: top; + font-size: 14px; +} + +.avue-chat .web__main-user { + position: absolute; + left: 3px; +} + +.avue-chat .web__main-user img { + width: 40px; + height: 40px; + border-radius: 100%; +} + +.avue-chat .web__main-user cite { + position: absolute; + left: 60px; + top: -2px; + width: 500px; + line-height: 24px; + font-size: 12px; + white-space: nowrap; + color: #999; + text-align: left; + font-style: normal; +} + +.avue-chat .web__main-user cite i { + padding-left: 15px; + font-style: normal; +} + +.avue-chat .web__main-text { + position: relative; + line-height: 22px; + margin-top: 25px; + padding: 8px 15px; + background-color: #f3f3f3; + border-radius: 3px; + border: 1px solid #f0f0f0; + color: #000; + word-break: break-all; +} + +.avue-chat .web__main-arrow { + top: 6px; + left: -8px; + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent #ebeef5 transparent transparent; + border-style: solid; + border-width: 8px 8px 8px 0; +} + +.avue-chat .web__main-arrow::after { + content: ' '; + top: -7px; + left: 1px; + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent #fff transparent transparent; + border-style: solid; + border-width: 7px 7px 7px 0; +} + +.avue-chat .web__main-item--mine .web__main-text .web__main-arrow { + left: auto; + right: -5px; + border-color: transparent transparent transparent #409eff; + border-style: solid; + border-width: 8px 0 8px 8px; +} + +.avue-chat .web__main-item--mine .web__main-text .web__main-arrow::after { + left: auto; + right: -2px; + border-color: transparent transparent transparent #409eff; + border-style: solid; + border-width: 7px 0 7px 7px; +} + +.avue-chat .web__main-list { + margin: 10px 0; +} + +.avue-chat .web__main-list li { + height: 30px; + color: #409eff; + line-height: 30px; +} + +.avue-chat .web__main-item--mine { + text-align: right; + padding-left: 0; + padding-right: 60px; +} + +.avue-chat .web__main-item--mine .web__main-user { + left: auto; + right: 3px; +} + +.avue-chat .web__main-item--mine .web__main-user cite { + left: auto; + right: 60px; + text-align: right; +} + +.avue-chat .web__main-item--mine .web__main-user cite i { + padding-left: 0; + padding-right: 15px; +} + +.avue-chat .web__main-item--mine .web__main-text { + margin-left: 0; + text-align: left; + background-color: #409eff; + color: #fff; +} + +.avue-chat .web__footer { + -webkit-box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.04), 0 -2px 0 0 rgba(0, 0, 0, 0.01); + box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.04), 0 -2px 0 0 rgba(0, 0, 0, 0.01); + position: absolute; + left: 0; + bottom: 0; + width: 100%; + background-color: #fff; +} + +.avue-chat .web__msg { + padding: 10px; + height: auto; + overflow: hidden; +} + +.avue-chat .web__msg--file, +.avue-chat .web__msg--img, +.avue-chat .web__msg--video { + position: relative; + max-width: 250px; + min-width: 200px; + width: 100%; + margin: 10px 0; + border: 1px solid #eee; + overflow: hidden; + border-radius: 5px; + cursor: pointer; + display: block; +} + +.avue-chat .web__msg--file { + height: 140px; + background-color: #fff; +} + +.avue-chat .web__msg--file span { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 3px 5px; + color: #333; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + height: calc(100% - 80px); + overflow: hidden; + font-size: 13px; + text-align: center; +} + +.avue-chat .web__msg--file h2 { + margin: 0; + width: 100%; + text-align: center; + line-height: 80px; + background-color: #409eff; + color: #fff; +} + +.avue-chat .web__msg--map { + height: 160px; +} + +.avue-chat .web__msg-input { + display: block; + width: 100%; + height: 60px; + overflow-x: hidden; + overflow-y: auto; + -webkit-box-sizing: border-box; + box-sizing: border-box; + resize: none; + outline: 0; + background-color: #fff; + border: 0; + word-break: break-all; + font-size: 13px; + line-height: 17px; + -webkit-appearance: none; +} + +.avue-chat .web__tools, +.avue-form, +.avue-form__menu { + -webkit-box-sizing: border-box; +} + +.avue-chat .web__msg-submit { + float: right; + display: block; + outline: 0; + cursor: pointer; + text-align: center; +} + +.avue-chat .web__tools { + padding: 8px 10px 0; + box-sizing: border-box; +} + +.avue-chat .web__tools i { + margin-right: 12px; + font-size: 20px; + color: #888a91; +} + +.avue-chat .web__tools i:hover { + color: #76b1f9; +} + +.avue-draggable { + padding: 10px; + position: absolute; + cursor: move; + -webkit-tap-highlight-color: transparent; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.avue-draggable__focus { + opacity: 0; + position: absolute !important; + top: 0; + left: 0; + z-index: -1024; +} + +.avue-draggable__mask { + width: 100%; + height: 100%; + border: 0; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; +} + +.avue-draggable--active { + cursor: move; + border: 1px dashed #09f; + background-color: rgba(115, 170, 229, 0.5); +} + +.avue-draggable--move { + opacity: 0.6; + background-color: rgba(115, 170, 229, 0.5); +} + +.avue-draggable--click { + cursor: pointer; +} + +.avue-draggable__line--left { + position: absolute; + border-top: 1px dashed #09f; + width: 10000px; + height: 0; + top: 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.avue-draggable__line--top { + position: absolute; + border-left: 1px dashed #09f; + width: 0; + height: 10000px; + left: 0; + -webkit-transform: translateY(-100%); + transform: translateY(-100%); +} + +.avue-draggable__line--label { + top: -5px; + left: -8px; + position: absolute; + padding: 5px; + -webkit-transform: translate(-100%, -100%); + transform: translate(-100%, -100%); + color: #09f; + font-size: 18px; + white-space: nowrap; + cursor: move; +} + +.avue-draggable__menu, +.avue-image-preview .el-image-viewer__close i, +.avue-image-preview__file a { + color: #fff; +} + +.avue-draggable__menu { + position: absolute; + top: 0; + left: 0; + background-color: #409eff; + font-size: 25px; + z-index: 9999; + cursor: pointer; +} + +.avue-draggable__range { + position: absolute; + width: 10px; + height: 10px; + border-radius: 100%; + z-index: 9999; + background-color: #09f; +} + +.avue-draggable__range--left, +.avue-draggable__range--right { + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} + +.avue-draggable__range--left:hover, +.avue-draggable__range--right:hover { + cursor: ew-resize; +} + +.avue-draggable__range--left { + left: -6px; +} + +.avue-draggable__range--right { + right: -6px; +} + +.avue-draggable__range--bottom, +.avue-draggable__range--top { + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} + +.avue-draggable__range--bottom:hover, +.avue-draggable__range--top:hover { + cursor: ns-resize; +} + +.avue-draggable__range--top { + top: -6px; +} + +.avue-draggable__range--bottom { + bottom: -6px; +} + +.avue-draggable__range--bottom-right:hover, +.avue-draggable__range--top-left:hover { + cursor: nwse-resize; +} + +.avue-draggable__range--bottom-left:hover, +.avue-draggable__range--top-right:hover { + cursor: nesw-resize; +} + +.avue-draggable__range--top-right { + top: -6px; + right: -6px; +} + +.avue-draggable__range--top-left { + top: -6px; + left: -6px; +} + +.avue-draggable__range--bottom-right { + bottom: -6px; + right: -6px; +} + +.avue-draggable__range--bottom-left { + bottom: -6px; + left: -6px; +} + +.avue-img--center { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.avue-img--fullscreen .el-dialog__body { + height: 100%; +} + +.avue-image-preview { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + -webkit-transition: all 0.5s; + transition: all 0.5s; + z-index: 9998; +} + +.avue-image-preview .el-image-viewer__btn { + z-index: 1024; +} + +.avue-image-preview img { + -webkit-transition: all 0.5s; + transition: all 0.5s; + cursor: pointer; +} + +.avue-image-preview__file { + text-align: center; +} + +.avue-image-preview__file i { + font-size: 80px; +} + +.avue-image-preview__mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.5); +} + +.avue-image-preview__box { + width: 100%; + height: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.avue-image-preview__box .el-carousel { + width: 90%; + height: 100%; +} + +.avue-image-preview__box .el-carousel__container { + height: 100%; +} + +.avue-image-preview__box .el-carousel__item { + width: 100%; + height: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.avue-cropper .cropper-content { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.avue-cropper .cropper-content .cropper-box { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + width: 100%; +} + +.avue-cropper .cropper-content .cropper-box .cropper { + width: auto; + height: 300px; +} + +.avue-cropper .cropper-content .show-preview { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.avue-cropper .cropper-content .show-preview .preview { + overflow: hidden; + border: 1px solid #67c23a; + background: #ccc; +} + +.avue-cropper .cropper-content .footer-btn { + margin-top: 30px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + padding-right: 10px; +} + +.avue-input-tree .el-tag__close { + display: none !important; +} + +.avue-input-tree__desc { + float: right; + color: #8492a6; + font-size: 13px; +} + +.avue-input-table__crud .avue-crud__pagination { + padding: 10px 0 2px 10px; + margin: 0; +} + +.amap-icon img, +.amap-marker-content img { + width: 25px; + height: 34px; +} + +.avue-input-map__marker { + position: absolute; + top: -20px; + right: -118px; + color: #fff; + padding: 4px 10px; + -webkit-box-shadow: 1px 1px 1px rgba(10, 10, 10, 0.2); + box-shadow: 1px 1px 1px rgba(10, 10, 10, 0.2); + white-space: nowrap; + font-size: 12px; + font-family: ''; + background-color: #25a5f7; + border-radius: 3px; +} + +.avue-input-map__content-input { + margin-bottom: 10px; +} + +.avue-input-map__content-box { + position: relative; +} + +.avue-input-map__content-container { + width: 100%; + height: 450px; +} + +.avue-input-map__content-result { + display: block !important; + position: absolute; + top: 0; + right: -8px; + width: 250px; + height: 450px; + overflow-y: auto; +} + +.avue-input-icon { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: distribute; + justify-content: space-around; +} + +.avue-input-icon__item { + text-align: center; + width: 60px; + padding: 10px 20px 0; + -webkit-transition: all 0.2s; + transition: all 0.2s; +} + +.avue-input-icon__item p { + font-size: 12px; + margin-top: 5px; +} + +.avue-input-icon__item:hover { + -webkit-transform: scale(1.4); + transform: scale(1.4); +} + +.avue-input-icon__item--active { + -webkit-transform: scale(1.4); + transform: scale(1.4); + color: #409eff; +} + +.avue-input-icon__list { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +.avue-upload--upload .el-upload, +.avue-upload--upload .el-upload__tip { + display: none; +} + +.avue-upload--upload .el-upload--picture-img { + display: inline-block; +} + +.avue-upload--upload .el-upload-list { + margin-top: -6px; +} + +.avue-upload--list .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + overflow: hidden; +} + +.avue-upload--list .el-upload:hover { + border-color: #409eff; +} + +.avue-upload__dialog .el-dialog__header { + display: none; +} + +.avue-upload__dialog .el-dialog__body { + padding: 10px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.avue-upload__menu { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + z-index: 1024; +} + +.avue-form, +.avue-form__group .el-col { + position: relative; +} + +.avue-upload__menu i { + color: #fff; + margin: 0 8px; + font-size: 20px; +} + +.avue-upload__icon { + font-size: 28px; + color: #8c939d; + width: 178px; + height: 178px; + line-height: 178px; + text-align: center; +} + +.avue-upload__avatar { + width: 178px; + height: 178px; + display: block; +} + +.avue-form { + margin: 0 auto; + box-sizing: border-box; +} + +.avue-form__item--top { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.avue-form__item--top .el-form-item__label { + width: 100% !important; + text-align: left !important; +} + +.avue-form__item--top .el-form-item__content { + margin-left: 0 !important; +} + +.avue-form__item--left .el-form-item__label { + text-align: left !important; +} + +.avue-form__menu { + padding: 5px 10px 0; + box-sizing: border-box; +} + +.avue-form__menu--center { + text-align: center; +} + +.avue-form__menu--center .el-button { + margin: 0 5px; +} + +.avue-form__menu--left { + text-align: left; +} + +.avue-form__menu--right { + text-align: right; +} + +.avue-form__tabs { + padding: 0 10px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-form__group { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + height: auto; +} + +.avue-form__group--flex { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.avue-form__line { + display: inline-block; + height: 100%; +} + +.avue-form__row--block { + width: 100%; + display: block; +} + +.avue-flow__node, +.avue-flow__node-body { + display: -webkit-box; + display: -ms-flexbox; +} + +.avue-form__row--cursor { + cursor: pointer; +} + +.avue-form__option { + position: absolute; + right: 0; + top: -10px; + z-index: 999; +} + +.avue-flow, +.avue-flow__node, +.avue-tree { + position: relative; +} + +.avue-form__option i { + color: #666; +} + +.avue-form__option i + i { + margin-left: 10px; +} + +.el-drawer .avue-form { + padding: 0 20px; +} + +.avue-flow .avue-draggable { + padding: 0; +} + +.avue-flow__node { + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + width: 200px; + height: 80px; + border-radius: 5px; + -webkit-box-shadow: '#66a6e0 0px 0px 12px 0px'; + box-shadow: '#66a6e0 0px 0px 12px 0px'; + border: 1px solid #eee; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; +} + +.avue-flow__node--active { + border-width: 2px; + border-color: #f56c6c; +} + +.avue-flow__node-drag { + margin: 0 5px; + display: inline-block; +} + +.avue-checkbox .el-checkbox + .el-checkbox, +.avue-crud .avue-crud__left .el-button + .el-button, +.avue-crud .avue-crud__right .el-button + .el-button, +.avue-form .avue-crud__left .el-button + .el-button, +.avue-form .avue-crud__right .el-button + .el-button, +.avue-radio .el-radio + .el-radio { + margin-left: 0; +} + +.avue-checkbox .el-checkbox, +.avue-radio .el-radio { + margin-right: 10px; +} + +.avue-flow__node-header { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + background-color: #66a6e0; +} + +.avue-flow__node-body { + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-flex: 1.5; + -ms-flex: 1.5; + flex: 1.5; + text-align: center; + background: #fff; +} + +.avue-date__group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.avue-date__radio .el-radio-button:last-child .el-radio-button__inner { + border-radius: 0; + border-right: 0; +} + +.avue-date__date { + width: 300px; +} + +.avue-date__date .el-date-editor { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.avue-select .sortable-ghost { + opacity: 0.8; + color: #fff !important; + background: #409eff !important; +} + +.avue-select .el-tag { + cursor: pointer; +} + +.avue-select__desc { + float: right; + color: #8492a6; + font-size: 13px; +} + +.el-select-dropdown .avue-select__check { + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: right; + width: 100%; + padding: 3px 20px 3px 0; +} + +.avue-group { + width: 100%; +} + +.avue-group .el-collapse, +.avue-group .el-collapse-item__wrap { + border-color: #fff; +} + +.avue-group .el-collapse-item__header { + height: inherit; + border: none; + border-bottom: 1px solid #eee; + margin-bottom: 20px; +} + +.avue-group .el-collapse-item__content, +.avue-group .van-collapse-item__content { + padding-bottom: 0; +} + +.avue-group .van-collapse-item__content { + padding: 0 2px; +} + +.avue-group .van-hairline--top-bottom::after, +.avue-group .van-hairline-unset--top-bottom::after, +.avue-group--arrow .el-collapse-item__arrow, +.avue-group--arrow .van-icon-arrow { + display: none; +} + +.avue-group .van-collapse-item__title { + padding: 0 10px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.avue-group .van-collapse-item__title::after { + left: 0 !important; +} + +.avue-group--none { + margin: 0 !important; + border: none !important; +} + +.avue-group--header .el-collapse-item__header, +.avue-group--header .van-collapse-item__title { + display: none; +} + +.avue-group--collapse .el-collapse-item__arrow, +.avue-group--collapse .el-collapse-item__header { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; +} + +.avue-group__header, +.avue-tree__filter { + display: -webkit-box; + display: -ms-flexbox; +} + +.avue-group__item { + margin-bottom: 10px; + background-color: #fff; + border-bottom: 1px solid #eee; + border-radius: 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-group__item:last-child { + border-bottom: none; +} + +.avue-group__header { + width: 100%; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 50px; + line-height: 50px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-group__icon { + margin-right: 8px; + font-size: 20px; + color: rgba(0, 0, 0, 0.85); +} + +.avue-group__title { + font-size: 16px; + font-weight: 500; + color: rgba(0, 0, 0, 0.85); +} + +.avue-tree__menu { + width: 200px; + position: fixed; + z-index: 1024; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + background-color: #fff; +} + +.avue-tree__item, +.avue-video { + position: relative; + overflow: hidden; +} + +.avue-tree__dialog .el-dialog__body { + padding: 30px 20px 0; +} + +.avue-tree__item { + height: 34px; + line-height: 34px; + outline: 0; + padding: 0 10px; + white-space: nowrap; + text-overflow: ellipsis; + width: 100%; + color: #666; +} + +.avue-tree__item:hover { + cursor: pointer; + color: #409eff; +} + +.avue-tree__filter { + margin-bottom: 5px; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.avue-tree__content { + padding: 5px 0; + height: calc(100% - 32px); +} + +.avue-title p { + font-weight: 700; + font-size: 18px; + margin: 5px 10px; +} + +.avue-search { + padding: 0 20px; +} + +.avue-search__item { + padding: 20px 0 10px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + border-bottom: 1px dashed #e8e8e8; +} + +.avue-search__item:last-child { + border-bottom: none; +} + +.avue-search__tags { + padding: 0 12px; + margin-right: 24px; + margin-bottom: 12px; + font-size: 14px; + color: rgba(0, 0, 0, 0.65); + cursor: pointer; + white-space: nowrap; + display: inline-block; +} + +.avue-search__tags:hover { + color: #1890ff; +} + +.avue-search__tags--active { + color: #fff; + background-color: #1890ff; + border-radius: 5px; +} + +.avue-search__tags--active:hover { + opacity: 0.85; + color: #fff; +} + +.avue-search__title { + margin: 0; + padding: 0 20px; + width: 120px; + font-size: 14px; + text-align: right; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-search__content { + width: calc(100% - 190px); + display: inline-block; +} + +.avue-search__content .el-tag { + margin-right: 10px; + margin-bottom: 10px; +} + +.avue-video { + width: 500px; +} + +.avue-video__border span { + position: absolute; + width: 30px; + height: 30px; + border-width: 4px; + color: #0073eb; + border-style: solid; +} + +.avue-video__border span:nth-child(1) { + left: 15px; + top: 15px; + border-right: 0; + border-bottom: 0; +} + +.avue-video__border span:nth-child(2) { + right: 15px; + top: 15px; + border-left: 0; + border-bottom: 0; +} + +.avue-video__border span:nth-child(3) { + bottom: 15px; + left: 15px; + border-right: 0; + border-top: 0; +} + +.avue-video__border span:nth-child(4) { + bottom: 15px; + right: 15px; + border-left: 0; + border-top: 0; +} + +.avue-video__img { + width: 100px; + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +.avue-video__main { + width: 100%; +} + +.avue-dynamic__item { + margin-bottom: 10px; + width: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.avue-dynamic__header { + padding-left: 40px; +} + +.avue-dynamic__row { + position: relative; + border-top: 1px dashed #eee; + padding-top: 13px; +} + +.avue-dynamic__row:first-child { + border-top: 0; +} + +.avue-dynamic__menu { + position: absolute; + right: 0; + z-index: 1024; +} + +.avue-dynamic__input { + margin-right: 8px; + width: 100%; +} + +.avue-dynamic__button { + margin-bottom: 0 !important; +} + +.avue-verify__item { + padding: 5px 10px; + display: inline-block; + margin: 0 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: 1px solid #e1e1e1; + font-size: 64px; + text-align: center; +} + +.avue-text-ellipsis__more { + padding: 0 2px; +} + +.avue-login .el-form-item { + margin-bottom: 18px; +} + +.avue-login .el-input-group__append { + padding: 0; + overflow: hidden; +} + +.avue-login__send { + min-width: 150px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-login__send:hover { + color: #c0c4cc !important; + border-color: #ebeef5 !important; + background-color: #f5f7fa !important; +} + +.avue-login__submit { + width: 100%; +} + +.avue-keyboard--default .akeyboard-keyboard { + height: 100%; + width: 100%; + background: #f0f0f0; + border-radius: 5px; + padding: 9px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--default .akeyboard-keyboard-innerKeys { + text-align: center; +} + +.avue-keyboard--default .akeyboard-keyboard-keys { + height: 40px; + min-width: 40px; + padding: 0 10px; + border-radius: 5px; + background: #fff; + display: inline-block; + line-height: 40px; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 4px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.avue-keyboard--default .akeyboard-keyboard-keys:hover, +.avue-keyboard--default .keyboard-keyboard-keys-focus { + background: #1e9fff; + color: #fff; +} + +.avue-keyboard--default .akeyboard-keyboard-keys-Delete, +.avue-keyboard--default .akeyboard-keyboard-keys-Tab { + width: 80px; +} + +.avue-keyboard--default .akeyboard-keyboard-keys-Caps { + width: 77px; +} + +.avue-keyboard--default .akeyboard-keyboard-keys-Enter { + width: 90px; +} + +.avue-keyboard--default .akeyboard-keyboard-keys-Shift { + width: 106px; +} + +.avue-keyboard--default .akeyboard-keyboard-keys-Space { + width: 350px; +} + +.avue-keyboard--default .akeyboard-keyboard-fixedBottomCenter { + width: 100% !important; + height: auto !important; + position: fixed; + bottom: 0; + left: 0; + border-radius: 0 !important; +} + +.avue-keyboard--default .akeyboard-numberKeyboard { + height: 100%; + width: 100%; + background: #f0f0f0; + border-radius: 5px; + padding: 10px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--default .akeyboard-numberKeyboard-keys-Enter { + height: 40px; + width: 100px; +} + +.avue-keyboard--default .akeyboard-mobileKeyboard { + height: 100%; + width: 100%; + background: #f0f0f0; + border-radius: 5px; + padding: 11px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--default .akeyboard-mobileKeyboard-keys { + height: 25px; + min-width: 25px; + padding: 0 10px; + border-radius: 3px; + background: #fff; + display: inline-block; + line-height: 25px; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 3px 2px 2px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 10px; +} + +.avue-keyboard--default .akeyboard-mobileKeyboard-keys:hover { + background: #1e9fff !important; + color: #fff; +} + +.avue-keyboard--default .akeyboard-mobileKeyboard-keys-⇦, +.avue-keyboard--default .akeyboard-mobileKeyboard-keys-⇧ { + width: 25px; + background-color: #999faf; +} + +.avue-keyboard--default .akeyboard-mobileKeyboard-keys-Space { + height: 28px; + width: 100px; + line-height: 28px; + margin-left: 55px; +} + +.avue-keyboard--default .akeyboard-mobileKeyboard-keys-Enter { + height: 28px; + width: 55px; + line-height: 28px; + background: #1e9fff !important; + color: #fff; +} + +.avue-keyboard--default .akeyboard-mobileKeyboard-keys-focus { + background: #1e9fff !important; + color: #fff; +} + +.avue-keyboard--green .akeyboard-keyboard { + height: 100%; + width: 100%; + background: #030; + border-radius: 5px; + padding: 9px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--green .akeyboard-keyboard-innerKeys { + text-align: center; +} + +.avue-keyboard--green .akeyboard-keyboard-keys { + height: 40px; + min-width: 40px; + padding: 0 10px; + border-radius: 5px; + background: #cc9; + display: inline-block; + line-height: 40px; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 4px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.avue-keyboard--green .akeyboard-keyboard-keys:hover, +.avue-keyboard--green .keyboard-keyboard-keys-focus { + background: #693; + color: #fff; +} + +.avue-keyboard--green .akeyboard-keyboard-keys-Delete, +.avue-keyboard--green .akeyboard-keyboard-keys-Tab { + width: 80px; +} + +.avue-keyboard--green .akeyboard-keyboard-keys-Caps { + width: 77px; +} + +.avue-keyboard--green .akeyboard-keyboard-keys-Enter { + width: 90px; +} + +.avue-keyboard--green .akeyboard-keyboard-keys-Shift { + width: 106px; +} + +.avue-keyboard--green .akeyboard-keyboard-keys-Space { + width: 350px; +} + +.avue-keyboard--green .akeyboard-keyboard-fixedBottomCenter { + width: 100% !important; + height: auto !important; + position: fixed; + bottom: 0; + left: 0; + border-radius: 0 !important; +} + +.avue-keyboard--green .akeyboard-numberKeyboard { + height: 100%; + width: 100%; + background: #030; + border-radius: 5px; + padding: 10px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--green .akeyboard-numberKeyboard-keys-Enter { + height: 40px; + width: 100px; +} + +.avue-keyboard--green .akeyboard-mobileKeyboard { + height: 100%; + width: 100%; + background: #030; + border-radius: 5px; + padding: 11px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--dark .akeyboard-keyboard-keys, +.avue-keyboard--green .akeyboard-mobileKeyboard-keys { + padding: 0 10px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + display: inline-block; +} + +.avue-keyboard--green .akeyboard-mobileKeyboard-keys { + height: 25px; + min-width: 25px; + border-radius: 3px; + background: #cc9; + line-height: 25px; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 3px 2px 2px; + cursor: pointer; + user-select: none; + font-size: 10px; +} + +.avue-keyboard--green .akeyboard-mobileKeyboard-keys:hover { + background: #693 !important; + color: #fff; +} + +.avue-keyboard--green .akeyboard-mobileKeyboard-keys-⇦, +.avue-keyboard--green .akeyboard-mobileKeyboard-keys-⇧ { + width: 25px; + background-color: #999faf; +} + +.avue-keyboard--green .akeyboard-mobileKeyboard-keys-Space { + height: 28px; + width: 100px; + line-height: 28px; + margin-left: 55px; +} + +.avue-keyboard--green .akeyboard-mobileKeyboard-keys-Enter { + height: 28px; + width: 55px; + line-height: 28px; + background: #693 !important; + color: #fff; +} + +.avue-keyboard--green .akeyboard-mobileKeyboard-keys-focus { + background: #693 !important; + color: #fff; +} + +.avue-keyboard--dark .akeyboard-keyboard { + height: 100%; + width: 100%; + background: #000; + color: #fff; + border-radius: 5px; + padding: 9px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--dark .akeyboard-keyboard-innerKeys { + text-align: center; +} + +.avue-keyboard--dark .akeyboard-keyboard-keys { + height: 40px; + min-width: 40px; + border-radius: 5px; + background: #393d49; + color: #fff; + line-height: 40px; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 4px; + cursor: pointer; + user-select: none; +} + +.avue-keyboard--dark .akeyboard-keyboard-keys:hover, +.avue-keyboard--dark .keyboard-keyboard-keys-focus { + background: #1e9fff; +} + +.avue-keyboard--dark .akeyboard-keyboard-keys-Delete, +.avue-keyboard--dark .akeyboard-keyboard-keys-Tab { + width: 80px; +} + +.avue-keyboard--dark .akeyboard-keyboard-keys-Caps { + width: 77px; +} + +.avue-keyboard--dark .akeyboard-keyboard-keys-Enter { + width: 90px; +} + +.avue-keyboard--dark .akeyboard-keyboard-keys-Shift { + width: 106px; +} + +.avue-keyboard--dark .akeyboard-keyboard-keys-Space { + width: 350px; +} + +.avue-keyboard--dark .akeyboard-keyboard-fixedBottomCenter { + width: 100% !important; + height: auto !important; + position: fixed; + bottom: 0; + left: 0; + border-radius: 0 !important; +} + +.avue-keyboard--dark .akeyboard-numberKeyboard { + height: 100%; + width: 100%; + background: #000; + border-radius: 5px; + padding: 10px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--dark .akeyboard-numberKeyboard-keys-Enter { + height: 40px; + width: 100px; +} + +.avue-keyboard--dark .akeyboard-mobileKeyboard { + height: 100%; + width: 100%; + background: #000; + border-radius: 5px; + padding: 11px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--dark .akeyboard-mobileKeyboard-keys { + height: 25px; + min-width: 25px; + padding: 0 10px; + border-radius: 3px; + background: #393d49; + color: #fff; + display: inline-block; + line-height: 25px; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 3px 2px 2px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 10px; +} + +.avue-keyboard--dark .akeyboard-mobileKeyboard-keys:hover { + background: #1e9fff !important; + color: #fff; +} + +.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-⇦, +.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-⇧ { + width: 25px; + background-color: #999faf; +} + +.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-Space { + height: 28px; + width: 100px; + line-height: 28px; + margin-left: 55px; +} + +.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-Enter { + height: 28px; + width: 55px; + line-height: 28px; + background: #1e9fff !important; + color: #fff; +} + +.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-focus { + background: #1e9fff !important; + color: #fff; +} + +.avue-keyboard--classic .akeyboard-keyboard { + height: 100%; + width: 100%; + background: #2f4056; + border-radius: 5px; + padding: 9px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--classic .akeyboard-keyboard-innerKeys { + text-align: center; +} + +.avue-keyboard--classic .akeyboard-keyboard-keys { + height: 40px; + min-width: 40px; + padding: 0 10px; + border-radius: 5px; + background: #fff; + display: inline-block; + line-height: 40px; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 4px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.avue-keyboard--classic .akeyboard-keyboard-keys:hover, +.avue-keyboard--classic .keyboard-keyboard-keys-focus { + background: #c2c2c2; + color: #fff; +} + +.avue-keyboard--classic .akeyboard-keyboard-keys-Delete, +.avue-keyboard--classic .akeyboard-keyboard-keys-Tab { + width: 80px; +} + +.avue-keyboard--classic .akeyboard-keyboard-keys-Caps { + width: 77px; +} + +.avue-keyboard--classic .akeyboard-keyboard-keys-Enter { + width: 90px; +} + +.avue-keyboard--classic .akeyboard-keyboard-keys-Shift { + width: 106px; +} + +.avue-keyboard--classic .akeyboard-keyboard-keys-Space { + width: 350px; +} + +.avue-keyboard--classic .akeyboard-keyboard-fixedBottomCenter { + width: 100% !important; + height: auto !important; + position: fixed; + bottom: 0; + left: 0; + border-radius: 0 !important; +} + +.avue-keyboard--classic .akeyboard-numberKeyboard { + height: 100%; + width: 100%; + background: #2f4056; + border-radius: 5px; + padding: 10px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--classic .akeyboard-numberKeyboard-keys-Enter { + height: 40px; + width: 100px; +} + +.avue-keyboard--classic .akeyboard-mobileKeyboard { + height: 100%; + width: 100%; + background: #2f4056; + border-radius: 5px; + padding: 11px 5px 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue-keyboard--classic .akeyboard-mobileKeyboard-keys { + height: 25px; + min-width: 25px; + padding: 0 10px; + border-radius: 3px; + background: #fff; + display: inline-block; + line-height: 25px; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 3px 2px 2px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 10px; +} + +.avue-array__input, +.avue-notice__item { + display: -webkit-box; + display: -ms-flexbox; +} + +.avue-keyboard--classic .akeyboard-mobileKeyboard-keys:hover { + background: #c2c2c2 !important; + color: #fff; +} + +.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-⇦, +.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-⇧ { + width: 25px; + background-color: #999faf; +} + +.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-Space { + height: 28px; + width: 100px; + line-height: 28px; + margin-left: 55px; +} + +.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-Enter { + height: 28px; + width: 55px; + line-height: 28px; + background: #c2c2c2 !important; + color: #fff; +} + +.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-focus { + background: #c2c2c2 !important; + color: #fff; +} + +.avue-notice__item { + padding: 12px 24px; + border-bottom: 1px solid #e8eaec; + cursor: pointer; + -webkit-transition: background-color 0.2s ease-in-out; + transition: background-color 0.2s ease-in-out; + text-align: left; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} + +.avue-notice__content { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; +} + +.avue-notice__img { + width: 38px; + height: 38px; + border-radius: 100%; + margin-top: 5px; + margin-right: 10px; + overflow: hidden; +} + +.avue-notice__img img { + width: 100%; + height: 100%; +} + +.avue-notice__name { + line-height: 25px; +} + +.avue-notice__title { + font-size: 14px; + font-weight: 400; + line-height: 22px; + color: #515a6e; + margin-bottom: 4px; +} + +.avue-notice__tag { + float: right; + margin-top: 2px; +} + +.avue-notice__subtitle { + font-size: 12px; + color: #808695; +} + +.avue-notice__more { + cursor: pointer; + color: #2d8cf0; + text-align: center; + padding: 10px 0; +} + +.avue-array__item { + margin-bottom: 5px; +} + +.avue-array__input { + display: flex; +} + +.avue-array__input .el-input { + -webkit-box-flex: 1; + -ms-flex: auto; + flex: auto; +} + +.avue-array__input .el-button { + margin-left: 5px; +} + +.avue-data-tabs .item { + position: relative; + margin: 15px; + padding: 12px; + height: 160px; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + color: #fff; +} + +.avue-data-tabs .item a { + color: #fff; +} + +.avue-data-tabs .item-header { + position: relative; +} + +.avue-data-tabs .item-header > p { + color: #fff; + margin: 0; + font-size: 14px; +} + +.avue-data-tabs .item-header > span { + position: absolute; + right: 0; + top: 0; + padding: 2px 8px; + border-radius: 4px; + font-size: 12px; + background: rgba(255, 255, 255, 0.3); +} + +.avue-data-tabs .item-body .h2 { + color: #fff; + margin: 0; + font-size: 32px; + line-height: 60px; + font-weight: 700; +} + +.avue-data-tabs .item-footer { + padding-top: 8px; + line-height: 20px; +} + +.avue-data-tabs .item-footer > span { + font-size: 10px; +} + +.avue-data-tabs .item-footer > p { + color: #fff; + margin: 0; + font-size: 12px; +} + +.avue-data-tabs .item-tip { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + position: absolute; + width: 80px; + height: 80px; + bottom: 10px; + right: 10px; + border: 2px solid #fff; + border-radius: 100%; + font-size: 48px; + -webkit-transform: rotate(-40deg); + transform: rotate(-40deg); + opacity: 0.1; +} + +.avue-data-cardText .item { + padding: 20px 25px; + margin: 10px 20px; + background: #f8f8f8; + border-radius: 6px; + -webkit-box-shadow: 2px 2px 20px #ccc; + box-shadow: 2px 2px 20px #ccc; +} + +.avue-data-cardText .item-header { + position: relative; +} + +.avue-data-cardText .item-header i { + font-size: 26px; + color: #009688; +} + +.avue-data-cardText .item-header a { + font-size: 16px; + margin-left: 6px; + position: absolute; + bottom: 4px; +} + +.avue-data-cardText .item-content { + margin-top: 8px; + font-size: 14px; + line-height: 22px; + color: #333; +} + +.avue-data-cardText .item-footer { + position: relative; +} + +.avue-data-cardText .item-footer span:nth-child(1) { + color: #777; + font-size: 12px; + text-overflow: ellipsis; + word-break: break-all; +} + +.avue-data-cardText .item-footer span:nth-child(2) { + color: #ccc; + font-size: 12px; + line-height: 24px; + position: absolute; + right: 0; +} + +.data-box .item { + position: relative; + margin: 0 auto 10px; + width: 96%; + height: 100px; + overflow: hidden; + border-radius: 5px; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.data-box .item:hover .item-text { + top: 0; +} + +.data-box .item a { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.data-box .item-icon { + width: 100px; + height: 100px; + color: #fff; + text-align: center; + line-height: 100px; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.data-box .item-icon i { + font-size: 48px !important; +} + +.data-box .item-info { + border-radius: 0 5px 5px 0; + border: 1px solid #eee; + border-left: none; + background-color: #fff; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.data-box .item-info .title { + font-size: 30px; + line-height: 40px; + text-align: center; +} + +.data-box .item-info .info { + color: #999; + font-size: 14px; + text-align: center; +} + +.data-progress .item { + margin: 10px; +} + +.data-progress .item-header { + margin-bottom: 10px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.data-progress .item-count { + line-height: 26px; + font-size: 26px; + color: #666; +} + +.data-progress .item-title { + color: #999; + font-size: 14px; +} + +.data-icons .item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: 90%; + margin: 10px 15px; +} + +.data-icons .item-icon { + margin-top: 3px; + margin-right: 0 !important; + text-align: center; +} + +.data-icons .item-icon > i { + font-size: 46px !important; +} + +.data-icons .item-info { + text-align: center; + padding: 10px 0; +} + +.data-icons .item-info > span { + display: block; + padding: 5px 0; + color: #999; + font-size: 12px; +} + +.data-icons .item-info .count { + font-size: 20px; + line-height: 25px; +} + +.data-icons .item--easy { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.data-icons .item--easy > .item-icon { + margin: 0; +} + +.data-icons .item--easy > .item-info { + margin-top: -15px; +} + +.data-icons .item--easy > .item-info > span { + font-size: 14px; +} + +.data-card .item { + position: relative; + margin: 0 auto 50px; + width: 230px; + height: 340px; + overflow: hidden; + border-radius: 5px; + border-color: #fff; + border-width: 1px; + border-style: solid; +} + +.data-card .item:hover .item-text { + top: 0; +} + +.data-card .item-img { + width: 100%; + border-radius: 5px 5px 0 0; +} + +.data-card .item-text { + position: absolute; + top: 150px; + padding: 20px 15px; + width: 100%; + height: 340px; + overflow: auto; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-radius: 0 0 5px 5px; + opacity: 0.9; + -webkit-transition: top 0.4s; + transition: top 0.4s; +} + +.data-card .item-text > p { + font-size: 12px; + line-height: 25px; + text-indent: 2em; +} + +.avue-data-display .item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + margin: 5px 0; + text-align: center; +} + +.avue-data-display .count { + display: block; + margin: 8px 0 15px; + font-weight: 700; + font-size: 32px; + color: #15a0ff; +} + +.avue-data-display .title { + line-height: 32px; + color: #999; +} + +.avue-data-display .splitLine { + display: block; + margin: 0 auto; + width: 24px; + height: 1px; + background: #9b9b9b; +} + +.avue-data-imgtext .item { + position: relative; + height: 340px; + width: 240px; + margin: 10px auto 50px; + border-radius: 5px; + -webkit-box-shadow: 2px 2px 20px #ccc; + box-shadow: 2px 2px 20px #ccc; +} + +.avue-data-imgtext .item-header img { + width: 100%; + height: 170px; + background: red; + border-radius: 5px 5px 0 0; +} + +.avue-data-imgtext .item-content { + padding: 10px 15px; + color: #333 !important; +} + +.avue-data-imgtext .item-content span { + font-size: 20px; +} + +.avue-data-imgtext .item-content:hover span { + color: #1890ff; +} + +.avue-data-imgtext .item-content p { + font-size: 14px; + height: 60px; + margin: 6px 0; + overflow: hidden; +} + +.avue-data-imgtext .item-footer { + padding: 10px 15px; + position: relative; +} + +.avue-data-imgtext .item-footer img { + height: 20px; + width: 20px; + border-radius: 50%; +} + +.avue-data-imgtext .item-footer div { + display: inline-block; +} + +.avue-data-imgtext .item-footer div li, +.avue-data-imgtext .item-footer div ul { + padding: 0; + margin: 0 0 0 -8px; + list-style: none; + display: inline-block; + border: 2px solid #fff; + border-radius: 50%; +} + +.avue-data-imgtext .item-footer div:nth-child(1) { + font-size: 14px; + color: #ccc !important; +} + +.avue-data-imgtext .item-footer div:nth-child(2) { + position: absolute; + right: 15px; +} + +.avue-data-operatext .item { + margin: 5px 10px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + position: relative; + border-radius: 3px; + background: #fff; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); +} + +.avue-data-operatext .item a { + color: #333; +} + +.avue-data-operatext .item-header { + padding: 20px 20px 60px; + border-top-right-radius: 3px; + border-top-left-radius: 3px; + color: #fff; + background-position: center center; +} + +.avue-data-operatext .item-title { + margin-top: 0; + margin-bottom: 5px; + font-size: 25px; + font-weight: 300; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + display: block; +} + +.avue-data-operatext .item-subtitle { + font-size: 14px; + font-weight: 400; +} + +.avue-data-operatext .item-content { + border-top: 1px solid #f4f4f4; + padding: 10px 10px 20px; + background-color: #fff; + border-radius: 0 0 3px 3px; +} + +.avue-data-operatext .item-img { + margin: -60px auto 5px; + width: 90px; + height: 90px; + border-radius: 100%; + overflow: hidden; + border: 4px solid #fff; +} + +.avue-data-operatext .item-img img { + width: 100%; + height: 100%; +} + +.avue-data-operatext .item-list { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +.avue-data-operatext .item-row { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 33.33%; + text-align: center; +} + +.avue-data-operatext .item-label { + margin-bottom: 5px; + display: block; + font-weight: 600; + font-size: 16px; +} + +.avue-data-operatext .item-value { + display: block; + font-weight: 300; + text-transform: uppercase; +} + +.avue-data-rotate .item { + margin: 5px 10px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + position: relative; + color: #fff; + border-radius: 3px; +} + +.avue-data-rotate .item-box { + padding: 10px 20px; +} + +.avue-data-rotate .item-count { + margin-bottom: 5px; + font-size: 38px; + white-space: nowrap; + font-weight: 300; + display: block; +} + +.avue-data-rotate .item-title { + font-size: 15px; +} + +.avue-data-rotate .item-icon { + -webkit-transition: all 0.3s linear; + transition: all 0.3s linear; + position: absolute; + top: 20px; + right: 20px; + font-size: 65px; + color: rgba(0, 0, 0, 0.15); +} + +.avue-data-rotate .item-icon:hover { + font-size: 70px; +} + +.avue-data-rotate .item-more { + position: relative; + text-align: center; + padding: 3px 0; + color: #fff; + color: rgba(255, 255, 255, 0.8); + display: block; + z-index: 10; + font-size: 14px; + letter-spacing: 2px; + background: rgba(0, 0, 0, 0.1); + text-decoration: none; +} + +.avue-data-pay .item { + margin: 0 auto; + padding-bottom: 16px; + width: 80%; + position: relative; + border-radius: 4px; + background-color: #fff; + min-height: 670px; + -webkit-box-shadow: 1px 2px 10px #eee; + box-shadow: 1px 2px 10px #eee; +} + +.avue-data-pay .top { + width: 100%; + height: 6px; + position: absolute; + top: 0; + left: 0; + border-radius: 4px 4px 0 0; +} + +.avue-data-pay .header { + margin-bottom: 40px; + text-align: center; +} + +.avue-data-pay .title { + text-align: center; + padding: 20px 0 10px; + font-size: 20px; + font-weight: 200; +} + +.avue-data-pay .money span { + margin-right: 5px; + font-size: 14px; +} + +.avue-data-pay .money .b { + margin-right: 2px; + font-size: 20px; + font-weight: 700; +} + +.avue-data-pay .money s { + margin-right: 3px; + font-size: 12px; +} + +.avue-data-pay .money em { + font-size: 14px; + font-style: normal; +} + +.avue-data-pay .img { + width: 50px; +} + +.avue-data-pay .line { + width: 60%; + height: 1px; + background: hsla(0deg, 0%, 59%, 0.1); + margin: 20px auto; +} + +.avue-data-pay .btn { + display: block; + width: 120px; + height: 32px; + line-height: 32px; + margin: 0 auto; + text-align: center; + border-radius: 32px; + color: #fff; + cursor: pointer; + -webkit-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; +} + +.avue-data-pay .list-item { + list-style: none; + padding-left: 20px; + margin-bottom: 12px; + color: #666; + font-size: 14px; +} + +.avue-data-pay .list-item a { + color: #666; +} + +.avue-data-pay .list-item-icon { + color: #515a6e; + margin-right: 8px; +} + +.avue-data-pay .list-item--link { + font-size: 12px; + color: #2d8cf0; +} + +.avue-data-pay .list-item--no, +.avue-data-pay .list-item--no + span { + color: #c5c8ce; +} + +.data-price .item { + margin: 0 20px; + text-align: center; + -webkit-box-shadow: 2px 3px 15px #eee; + box-shadow: 2px 3px 15px #eee; +} + +.data-price .item:hover { + border: 1px solid #00a680; +} + +.data-price .item:hover .body { + color: #fff; + background-color: #00a680; +} + +.data-price .item:hover .body::after { + border-top-color: #00a680; +} + +.data-price .item:hover .list { + color: #00a680; +} + +.data-price .item:hover .price { + color: #fff; +} + +.data-price .item .title { + height: 80px; + line-height: 80px; + font-size: 18px; + color: #333; +} + +.data-price .item .body, +.data-price .item .price { + margin: 0 0 50px; + line-height: 120px; + height: 120px; + color: #6b6b6b; +} + +.data-price .item .price { + padding: 0 8px; + font-size: 42px; +} + +.data-price .item .append { + font-size: 16px; +} + +.data-price .item .body { + position: relative; + padding: 0; + background-color: #f4f4f4; + font-size: 42px; +} + +.data-price .item .body::before { + content: '¥'; + font-size: 16px; + font-weight: 400; +} + +.data-price .item .body::after { + content: ''; + position: absolute; + display: block; + width: 0; + height: 0; + bottom: -15px; + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + border-color: #f4f4f4 transparent transparent; + border-style: solid; + border-width: 20px 30px 0; +} + +.data-price .item .list { + padding-bottom: 30px; + color: #666; + font-size: 14px; +} + +.avue-data-panel .item { + padding: 0 30px; + margin: 0 20px; + cursor: pointer; + height: 108px; + font-size: 12px; + position: relative; + overflow: hidden; + color: #666; + background: #fff; + -webkit-box-shadow: 4px 4px 40px rgba(0, 0, 0, 0.05); + box-shadow: 4px 4px 40px rgba(0, 0, 0, 0.05); + border-color: rgba(0, 0, 0, 0.05); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.avue-grid, +.avue-mask { + height: 100%; + top: 0; + left: 0; +} + +.avue--detail .avue-checkbox__all, +.avue--detail .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label:before, +.avue--detail .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before, +.avue--detail .el-input-number__decrease, +.avue--detail .el-input-number__increase, +.avue--detail .el-input__prefix, +.avue--detail .el-input__suffix, +.avue-canvas { + display: none; +} + +.avue-data-panel .item-icon { + font-size: 52px; +} + +.avue-data-panel .item-info { + text-align: center; +} + +.avue-data-panel .item-title { + line-height: 18px; + color: rgba(0, 0, 0, 0.45); + font-size: 16px; + margin-bottom: 12px; +} + +.avue-data-panel .item-count { + font-size: 20px; +} + +[class^='avue-data-'] a, +[class^='data-'] a { + text-decoration: none; +} + +body { + font-family: Chinese Quote, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, + Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, + Segoe UI Symbol; +} + +* { + outline: 0; +} + +.avue-ghost { + opacity: 0.5; + background: #c8ebfb; +} + +.avue--disabled { + color: #ccc; +} + +.avue--detail .hover-row td { + background-color: #fff !important; +} + +.avue--detail .avue-group__header { + border-bottom: 1px solid #eee; + padding-left: 10px; +} + +.avue--detail .el-collapse-item__header { + margin-bottom: 0; +} + +.avue--detail .el-input.is-disabled .el-input__inner, +.avue--detail .el-range-editor.is-disabled, +.avue--detail .el-range-editor.is-disabled input, +.avue--detail .el-textarea.is-disabled .el-textarea__inner { + color: #606266; + background-color: #fff; + padding-left: 0; +} + +.avue--detail .el-input-group__append, +.avue--detail .el-input-group__prepend { + background-color: transparent; + border: none; +} + +.avue--detail .el-input__inner, +.avue--detail .el-textarea__inner { + border: none; +} + +.avue--detail .el-input__inner::-webkit-input-placeholder, +.avue--detail .el-textarea__inner::-webkit-input-placeholder { + color: transparent !important; +} + +.avue--detail .el-input__inner::-moz-placeholder, +.avue--detail .el-textarea__inner::-moz-placeholder { + color: transparent !important; +} + +.avue--detail .el-input__inner::-ms-input-placeholder, +.avue--detail .el-textarea__inner::-ms-input-placeholder { + color: transparent !important; +} + +.avue--detail .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: #409eff; + border-color: #409eff; +} + +.avue--detail .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #fff; +} + +.avue--detail .el-radio__input.is-disabled.is-checked .el-radio__inner { + background-color: #409eff; + border-color: #409eff; +} + +.avue--detail .el-radio__input.is-disabled.is-checked .el-radio__inner::after { + background-color: #fff; +} + +.avue--detail .el-checkbox__input.is-disabled + span.el-checkbox__label, +.avue--detail .el-radio__input.is-disabled + span.el-radio__label { + color: #606266; +} + +.avue--detail .el-row { + border-top: 1px solid #ebeef5; + border-left: 1px solid #ebeef5; +} + +.avue--detail .el-col { + margin: 0 !important; + padding: 0 !important; + border-bottom: 1px solid #ebeef5; + border-right: 1px solid #ebeef5; +} + +.avue--detail .el-form-item--medium.el-form-item, +.avue--detail .el-form-item--mini.el-form-item, +.avue--detail .el-form-item--small.el-form-item { + margin: 0; + background: #fafafa; +} + +.avue--detail .el-form-item__content, +.avue--detail .el-form-item__label { + padding: 2px 0; +} + +.avue--detail .el-form-item__label { + padding-right: 20px; + color: #909399; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.avue--detail .el-tag { + margin-left: 0 !important; + margin-right: 6px !important; +} + +.avue--detail .avue-crud .el-form-item__content { + border: none; +} + +.avue--detail .el-form-item__content { + border-left: 1px solid #ebeef5; + padding-left: 20px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + background-color: #fff; +} + +.avue--detail__column .el-form-item { + background-color: #fff; +} + +.avue--detail__column .el-form-item__label { + padding-right: 12px; +} + +.avue--detail__column .el-form-item__content { + padding-left: 0; + border-left: none; +} + +.avue-grid { + position: absolute; + width: 100%; + background-size: 20px 20px, 20px 20px; + background-image: linear-gradient(rgba(0, 0, 0, 0.1) 1px, transparent 0), + linear-gradient(90deg, rgba(0, 0, 0, 0.1) 1px, transparent 0); +} + +.avue-mask { + position: fixed; + bottom: 0; + right: 0; + background-color: rgba(55, 55, 55, 0.6); + z-index: 1000; +} + +.avue--card { + -webkit-box-shadow: 2px 1px 8px rgba(0, 0, 0, 0.15); + box-shadow: 2px 1px 8px rgba(0, 0, 0, 0.15); + border-radius: 5px; +} + +.avue-icon i, +.avue-icon svg { + width: 32px; + height: 32px; + font-size: 32px; +} + +.avue-icon--small i, +.avue-icon--small svg { + font-size: 20px; + width: 20px; + height: 20px; +} + +.avue-dialog { + overflow: visible; +} + +.avue-dialog .el-dialog { + min-height: 180px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + position: absolute; + top: 0; + left: 50%; + -webkit-transform: translate(-50%, 0); + transform: translate(-50%, 0); + border-radius: 2px; + max-height: calc(100% - 200px); + max-width: calc(100% - 100px); +} + +.avue-dialog .el-dialog__header { + padding: 16px 24px; + min-height: 20px; + border-bottom: 1px solid #f0f0f0; +} + +.avue-dialog .el-dialog__title, +.avue-dialog .el-drawer__header { + color: rgba(0, 0, 0, 0.85); + font-weight: 500; + word-wrap: break-word; +} + +.avue-dialog .el-dialog__body { + padding: 30px 20px 20px; + margin-bottom: 50px; +} + +.avue-dialog .el-dialog .el-dialog__body { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + overflow: hidden; + overflow-y: auto; +} + +.avue-dialog .el-drawer { + position: absolute; + right: 0; + top: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.avue-dialog .el-drawer__header { + margin: 0; + min-height: 20px; + padding: 16px 10px 16px 24px; + border-bottom: 1px solid #f0f0f0; +} + +.avue-dialog .el-drawer, +.avue-dialog .el-drawer__body { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + overflow: auto; +} + +.avue-dialog .el-drawer__body { + padding: 30px 10px 60px 30px; +} + +.avue-dialog__footer { + display: block; + padding: 10px 16px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-top: 1px solid #f0f0f0; + width: 100%; + position: absolute; + left: 0; + bottom: 0; + background-color: #fff; + text-align: right; +} + +.avue-dialog__footer--left { + text-align: left; +} + +.avue-dialog__footer--center { + text-align: center; +} + +.avue-dialog--fullscreen .el-dialog { + left: 0; + top: 0; + -webkit-transform: translate(0, 0); + transform: translate(0, 0); + width: 100% !important; + height: 100%; + max-width: 100%; + max-height: 100%; +} + +.avue-crud .el-tooltip__popper, +.avue-form .el-tooltip__popper, +.el-tooltip__popper { + max-width: 60%; +} + +.avue-dialog--top .el-dialog { + top: 15%; +} + +.avue-dialog--none .el-dialog__body { + margin-bottom: 0; +} + +.avue-queue--block { + display: inline-block; +} + +.avue-opacity { + opacity: 0; +} + +.avue-opacity--active { + opacity: 1; +} + +.fade-enter-active, +.fade-leave-active { + -webkit-transition: opacity 0.3s; + transition: opacity 0.3s; +} + +.fade-enter, +.fade-leave-to { + opacity: 0; +} + +.avue-crud .avue-input-number, +.avue-crud .el-cascader, +.avue-crud .el-date-editor.el-input, +.avue-crud .el-date-editor.el-input__inner, +.avue-crud .el-select, +.avue-form .avue-input-number, +.avue-form .el-cascader, +.avue-form .el-date-editor.el-input, +.avue-form .el-date-editor.el-input__inner, +.avue-form .el-select { + width: 100% !important; +} + +.avue-crud .el-input-number .el-input__inner, +.avue-form .el-input-number .el-input__inner { + text-align: left; +} + +.avue-crud .avue-crud__left .el-button, +.avue-crud .avue-crud__right .el-button, +.avue-form .avue-crud__left .el-button, +.avue-form .avue-crud__right .el-button { + margin-right: 5px; + margin-bottom: 0; +} + +.avue-crud .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content, +.avue-form .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { + color: #409eff; +} + +.avue-crud .el-tree-node__label, +.avue-form .el-tree-node__label { + margin-left: 8px; +} + +.avue-crud .el-input__inner, +.avue-form .el-input__inner { + height: 38px; + line-height: 38px; +} + +.avue-crud .el-range-editor--small, +.avue-form .el-range-editor--small { + height: 32px; + line-height: 32px; +} + +.avue-crud .el-range-editor--mini, +.avue-form .el-range-editor--mini { + height: 28px; + line-height: 28px; +} + +.avue-crud .el-input--small input, +.avue-form .el-input--small input { + height: 32px; + line-height: 32px; + color: #191919; +} + +.avue-crud .el-input--mini input, +.avue-form .el-input--mini input { + height: 28px; + line-height: 28px; +} + +.avue-crud .el-table--medium td, +.avue-form .el-table--medium td { + padding: 7px 0 !important; +} + +.avue-crud .el-dropdown-menu__item, +.avue-form .el-dropdown-menu__item { + line-height: 25px; +} + +.avue-crud .el-table-filter__list, +.avue-form .el-table-filter__list { + width: 100%; + height: 300px; + overflow-y: auto; +} + +.el-form-item--mini .el-color-picker--mini, +.el-form-item--mini .el-color-picker--mini .el-color-picker__trigger { + width: 23px; + height: 23px; +} + +.el-dropdown-menu .el-button--text { + width: 100% !important; +} + +.el-pagination__editor.el-input .el-input__inner { + line-height: 28px; +} + +.el-drawer__body { + height: 100%; +} + +.el-checkbox:last-of-type { + margin-right: 8px; +} + +.el-table colgroup.gutter, +.el-table th.gutter { + display: table-cell !important; +} + +.el-input-number .el-input__suffix { + display: none; +} + +.el-input-number__decrease, +.el-input-number__increase { + background-color: transparent; +} + +.el-tree-node.is-current > .el-tree-node__content { + color: #409eff; + background-color: #f5f7fa; +} + +.el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item { + height: auto; + padding: 0; +} + +.el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item > span { + padding: 0 20px; +} + +.el-select-dropdown .el-tree-node__label, +.el-select-dropdown__item.selected { + font-weight: 400; +} + +.el-form-item.is-error .avue-dynamic { + border: 1px solid #f56c6c; + border-radius: 3px; +} + +.el-dropdown-menu__item { + padding-top: 3px !important; + padding-bottom: 3px !important; +} + +.el-upload--picture-card .el-upload-dragger, +.el-upload--picture-img .el-upload-dragger { + width: inherit; + height: inherit; + background-color: inherit; +} + +.avue-theme--dark body { + background: #000; +} + +.avue-theme--dark .el-pagination.is-background .btn-next, +.avue-theme--dark .el-pagination.is-background .btn-prev, +.avue-theme--dark .el-pagination.is-background .el-pager li { + background-color: #151518; + color: #525256; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: 1px solid #313135; +} + +.avue-theme--dark .el-pagination.is-background .el-pager li:not(.disabled).active { + background-color: #151518; + border-color: #409eff; +} + +.avue-theme--dark .el-cascader-menu { + border-right: solid 1px #313135; +} + +.avue-theme--dark .el-select-dropdown.is-multiple .el-select-dropdown__item.selected, +.avue-theme--dark .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { + background-color: #151518; +} + +.avue-theme--dark .el-cascader__dropdown, +.avue-theme--dark .el-input__inner, +.avue-theme--dark .el-range-input, +.avue-theme--dark .el-select-dropdown { + background-color: #151518; + color: #999; + border: 1px solid #313135; +} + +.avue-theme--dark .el-cascader__dropdown:hover, +.avue-theme--dark .el-input__inner:hover, +.avue-theme--dark .el-range-input:hover, +.avue-theme--dark .el-select-dropdown:hover { + border-color: #409eff; +} + +.avue-theme--dark .el-cascader__dropdown::-webkit-input-placeholder, +.avue-theme--dark .el-input__inner::-webkit-input-placeholder, +.avue-theme--dark .el-range-input::-webkit-input-placeholder, +.avue-theme--dark .el-select-dropdown::-webkit-input-placeholder { + color: #525256; +} + +.avue-theme--dark .el-cascader__dropdown::-moz-placeholder, +.avue-theme--dark .el-input__inner::-moz-placeholder, +.avue-theme--dark .el-range-input::-moz-placeholder, +.avue-theme--dark .el-select-dropdown::-moz-placeholder { + color: #525256; +} + +.avue-theme--dark .el-cascader__dropdown:-moz-placeholder, +.avue-theme--dark .el-input__inner:-moz-placeholder, +.avue-theme--dark .el-range-input:-moz-placeholder, +.avue-theme--dark .el-select-dropdown:-moz-placeholder { + color: #525256; +} + +.avue-theme--dark .el-cascader__dropdown:-ms-input-placeholder, +.avue-theme--dark .el-input__inner:-ms-input-placeholder, +.avue-theme--dark .el-range-input:-ms-input-placeholder, +.avue-theme--dark .el-select-dropdown:-ms-input-placeholder { + color: #525256; +} + +.avue-theme--dark .el-form-item__label { + color: #9a9a9f; +} + +.avue-theme--dark .el-switch__core { + background: #151518; + border-color: #151518; +} + +.avue-theme--dark .avue-group__item { + background-color: #000; +} + +.avue-theme--dark .el-table--border, +.avue-theme--dark .el-table--group { + border-color: #313135; +} + +.avue-theme--dark .el-table__body tr.current-row > td, +.avue-theme--dark .el-table__body tr.hover-row > td { + background-color: #151518; +} + +.avue-theme--dark .el-table--border td, +.avue-theme--dark .el-table--border th, +.avue-theme--dark .el-table__body-wrapper .el-table--border.is-scrolling-left ~ .el-table__fixed { + border-color: #999; +} + +.avue-theme--dark .avue-crud .el-table th, +.avue-theme--dark .el-table, +.avue-theme--dark .el-table th, +.avue-theme--dark .el-table tr, +.avue-theme--dark .el-table__fixed-footer-wrapper tbody td, +.avue-theme--dark .el-table__footer-wrapper tbody td, +.avue-theme--dark .el-table__header-wrapper tbody td { + background-color: #151518; + color: #999; + border-color: #999; +} + +@media screen and (max-width: 992px) { + .el-dialog__footer { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + } + + .el-button + .el-button { + margin-left: 0; + } + + .avue-upload__avatar, + .avue-upload__icon, + .el-upload--picture-card, + .el-upload-list--picture-card .el-upload-list__item { + width: 100px; + height: 100px; + line-height: 100px; + } + + .avue-crud .el-form-item, + .avue-crud__title .avue-date__radio, + .avue-crud__title .avue-date__radio .el-radio-group .el-radio-button__inner, + .avue-crud__title .avue-date__radio .el-radio-group label { + width: 100%; + } + + .avue-tip { + display: none; + } + + .avue-crud__menu, + .avue-crud__title { + display: block !important; + } + + .avue-crud .el-form-item__label { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .avue-crud .el-form-item__content { + -webkit-box-flex: 5; + -ms-flex: 5; + flex: 5; + } + + .avue-crud__searchMenu { + text-align: center; + } + + .avue-crud__title p { + margin-bottom: 20px; + } + + .avue-crud__title .avue-date__group { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + } + + .avue-crud__title .avue-date__date { + display: none; + } + + .avue-crud__title .avue-date__radio .el-radio-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + } + + .avue-crud__title .avue-date__radio .el-radio-button:last-child .el-radio-button__inner { + border-radius: 0 4px 4px 0; + border-right: 1px solid #dcdfe6; + } +} + +#nprogress { + pointer-events: none; +} + +#nprogress .bar { + background: #29d; + position: fixed; + z-index: 1031; + top: 0; + left: 0; + width: 100%; + height: 2px; +} + +#nprogress .peg { + display: block; + position: absolute; + right: 0; + width: 100px; + height: 100%; + -webkit-box-shadow: 0 0 10px #29d, 0 0 5px #29d; + box-shadow: 0 0 10px #29d, 0 0 5px #29d; + opacity: 1; + -webkit-transform: rotate(3deg) translate(0, -4px); + transform: rotate(3deg) translate(0, -4px); +} + +#nprogress .spinner { + display: block; + position: fixed; + z-index: 1031; + top: 15px; + right: 15px; +} + +#nprogress .spinner-icon { + width: 18px; + height: 18px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: 2px solid transparent; + border-top-color: #29d; + border-left-color: #29d; + border-radius: 50%; + -webkit-animation: nprogress-spinner 0.4s linear infinite; + animation: nprogress-spinner 0.4s linear infinite; +} + +.nprogress-custom-parent { + overflow: hidden; + position: relative; +} + +.nprogress-custom-parent #nprogress .bar, +.nprogress-custom-parent #nprogress .spinner { + position: absolute; +} + +@-webkit-keyframes nprogress-spinner { + 0% { + -webkit-transform: rotate(0); + } + + 100% { + -webkit-transform: rotate(360deg); + } +} + +@keyframes nprogress-spinner { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} diff --git a/public/cdn/avue/index.js b/public/cdn/avue/index.js new file mode 100644 index 0000000..582e641 --- /dev/null +++ b/public/cdn/avue/index.js @@ -0,0 +1,9 @@ +/*! + * Avue.js v2.9.15 + * (c) 2017-2022 Smallwei + * Released under the MIT License. + * + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("vue"),require("axios")):"function"==typeof define&&define.amd?define("AVUE",["vue","axios"],e):"object"==typeof exports?exports.AVUE=e(require("vue"),require("axios")):t.AVUE=e(t.Vue,t.axios)}(this,(function(__WEBPACK_EXTERNAL_MODULE__12__,__WEBPACK_EXTERNAL_MODULE__20__){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=24)}([function(t,e,n){"use strict";function i(t,e,n,i,o,a,r,s){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):o&&(l=s?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,"a",(function(){return i}))},function(t,e,n){"use strict";var i=function(t,e,n){return e?t+n+e:t},o=function t(e,n){if("string"==typeof n)return i(e,n,"--");if(Array.isArray(n))return n.map((function(n){return t(e,n)}));var o={};return Object.keys(n||{}).forEach((function(t){o[e+"--"+t]=n[t]})),o},a={methods:{b:function(t,e){var n=this.$options.name;return t&&"string"!=typeof t&&(e=t,t=""),t=i(n,t,"__"),e?[t,o(t,e)]:t}}},r=n(3);e.a=function(t){return t.name=r.i+(t.name||""),t.mixins=t.mixins||[],t.mixins.push(a),t}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"n",(function(){return getFixed})),__webpack_require__.d(__webpack_exports__,"m",(function(){return getAsVal})),__webpack_require__.d(__webpack_exports__,"t",(function(){return setAsVal})),__webpack_require__.d(__webpack_exports__,"r",(function(){return loadScript})),__webpack_require__.d(__webpack_exports__,"h",(function(){return downFile})),__webpack_require__.d(__webpack_exports__,"w",(function(){return strCorNum})),__webpack_require__.d(__webpack_exports__,"c",(function(){return createObj})),__webpack_require__.d(__webpack_exports__,"d",(function(){return dataURLtoFile})),__webpack_require__.d(__webpack_exports__,"l",(function(){return findObject})),__webpack_require__.d(__webpack_exports__,"s",(function(){return randomId})),__webpack_require__.d(__webpack_exports__,"q",(function(){return isJson})),__webpack_require__.d(__webpack_exports__,"e",(function(){return deepClone})),__webpack_require__.d(__webpack_exports__,"v",(function(){return sortArrys})),__webpack_require__.d(__webpack_exports__,"u",(function(){return setPx})),__webpack_require__.d(__webpack_exports__,"f",(function(){return detailDataType})),__webpack_require__.d(__webpack_exports__,"g",(function(){return detailDic})),__webpack_require__.d(__webpack_exports__,"k",(function(){return findByValue})),__webpack_require__.d(__webpack_exports__,"i",(function(){return filterParams})),__webpack_require__.d(__webpack_exports__,"o",(function(){return getObjValue})),__webpack_require__.d(__webpack_exports__,"j",(function(){return findArray})),__webpack_require__.d(__webpack_exports__,"p",(function(){return getPasswordChar})),__webpack_require__.d(__webpack_exports__,"a",(function(){return arraySort})),__webpack_require__.d(__webpack_exports__,"b",(function(){return clearVal})),__webpack_require__.d(__webpack_exports__,"x",(function(){return vaildData}));var _validate__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5),global_variable__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var uuid=function(){for(var t=[],e=0;e<36;e++)t[e]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);t[14]="4",t[19]="0123456789abcdef".substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-";var n=t.join("");return n};function getFixed(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number(t.toFixed(e))}function getAsVal(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=deepClone(t);return Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(e)||e.split(".").forEach((function(t){n=Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(n[t])?"":n[t]})),n}function setAsVal(obj){var bind=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",value=arguments.length>2?arguments[2]:void 0,result,type=getObjType(value);return result=Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(value)?"array"===type?"obj.".concat(bind,"=[]"):"object"===type?"obj.".concat(bind,"={}"):["number","boolean"].includes(type)?"obj.".concat(bind,"=undefined"):"obj.".concat(bind,"=''"):"string"==type?"obj.".concat(bind,"='").concat(value,"'"):"obj.".concat(bind,"=").concat(value),eval(result),obj}var loadScript=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"js",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"body",i=!1;return new Promise((function(o){for(var a,r="head"==n?document.getElementsByTagName("head")[0]:document.body,s=0;s=2){var a="";n.forEach((function(t){a="".concat(a).concat("{",'"').concat(t,'":')})),a="".concat(a,'""');for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:"prop",i=-1,o=function(){var e;return t.forEach((function(t){t.column?e="group":t.children&&(e="tree")})),e}();return"group"===o?t.forEach((function(t){var o=findArray(t.column,e,n,!0);-1!==o&&(i=o)})):i="tree"===o?findLabelNode(t,e,{value:n},!0):findArray(t,e,n,!0),i}function randomId(){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",e=t.length,n="",i=0;i<16;i++)n+=t.charAt(Math.floor(Math.random()*e));return n}var getObjType=function(t){var e=Object.prototype.toString;return t instanceof Element?"element":{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Object]":"object"}[e.call(t)]},isJson=function(t){return Array.isArray(t)?t[0]instanceof Object:t instanceof Object},deepClone=function t(e){var n,i=getObjType(e);if("array"===i)n=[];else{if("object"!==i)return e;n={}}if("array"===i)for(var o=0,a=e.length;on[e]?-1:t[e]1&&void 0!==arguments[1]?arguments[1]:"";return Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(t)&&(t=e),Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(t)?"":(-1===(t+="").indexOf("%")&&(t+="px"),t)},detailDataType=function(t,e){return Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(t)?t:"number"===e?Number(t):"string"===e?t+"":t},getUrlParams=function(t){var e={url:"",params:{}},n=t.split("?");e.url=n[0];var i=n[1];i&&i.split("&").forEach((function(t){var n=t.split("="),i=n[0],o=n[1];e.params[i]=o}));return e},detailDic=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0,o=n.value||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.value,a=n.children||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.children;return e.forEach((function(e){e[o]=detailDataType(e[o],i),e[a]&&t(e[a],n,i)})),e},findByValue=function(t,e,n){if(Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(t))return e;var i="",o=e instanceof Array,a=o?e:[e];n=n||global_variable__WEBPACK_IMPORTED_MODULE_1__.e,i=[];for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:["","$"],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=n?deepClone(t):t;for(var o in i)e.includes("")&&Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(i[o])&&delete i[o],e.includes("$")&&-1!==o.indexOf("$")&&delete i[o];return i},detailDicGroup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=deepClone(t),i=e[global_variable__WEBPACK_IMPORTED_MODULE_1__.e.groups]||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.groups;return t.forEach((function(t){t[i]&&(n=n.concat(t[i]))})),n},findLabelNode=function(t,e,n,i){var o;i||(t=detailDicGroup(t,n));return function t(a){for(var r=n.label||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.label,s=n.value||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.value,l=n.children||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.children,c=0;c1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=e.split("."),o=t;return""===i[0]&&"object"!==n?getDeepData(t):(""!==i[0]&&i.forEach((function(t){o=o[t]})),o)},findArray=function(t,e,n,i){n=n||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.value;for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0,n=t.toString().length;t="";for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return t.filter((function(t){return!Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(t[e])})).sort((function(t,e){return n(t,e)})).concat(t.filter((function(t){return Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(t[e])})))},clearVal=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t?(Object.keys(t).forEach((function(n){if(!e.includes(n))if(n.includes("$"))delete t[n];else if(!Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(t[n])){var i=getObjType(t[n]);"array"===i?t[n]=[]:"object"===i?t[n]={}:["number","boolean"].includes(i)?t[n]=void 0:t[n]=""}})),t):{}},vaildData=function(t,e){return"boolean"==typeof t?t:Object(_validate__WEBPACK_IMPORTED_MODULE_0__.a)(t)?e:t}},function(t,e,n){"use strict";n.d(e,"i",(function(){return i})),n.d(e,"e",(function(){return o})),n.d(e,"d",(function(){return a})),n.d(e,"c",(function(){return r})),n.d(e,"h",(function(){return s})),n.d(e,"a",(function(){return l})),n.d(e,"j",(function(){return c})),n.d(e,"k",(function(){return u})),n.d(e,"b",(function(){return d})),n.d(e,"l",(function(){return p})),n.d(e,"f",(function(){return h})),n.d(e,"g",(function(){return f})),n.d(e,"m",(function(){return m}));var i="avue-",o={rowKey:"id",rowParentKey:"parentId",nodeKey:"id",label:"label",value:"value",desc:"desc",groups:"groups",title:"title",leaf:"leaf",children:"children",hasChildren:"hasChildren",labelText:"名称",disabled:"disabled"},a={name:"name",url:"url",fileName:"file",res:""},r=["dates","date","datetime","datetimerange","daterange","time","timerange","week","month","monthrange","year"],s=["tree","number","icon","color","table","map"],l=["img","array","url"],c=["cascader","tree","select"],u=["slider"],d=l.concat(["upload","dynamic","map","checkbox","cascader","dynamic","timerange","monthrange","daterange","datetimerange","dates"]),p=r.concat(["select","checkbox","radio","cascader","tree","color","icon","table","map"]),h=" | ",f=",",m={img:/\.(gif|jpg|jpeg|png|webp|GIF|JPG|PNG)/,video:/\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|ogg|mp4)/}},function(t,e,n){"use strict";var i=n(10);e.a={methods:{t:function(){for(var t=arguments.length,e=new Array(t),n=0;n0&&void 0!==arguments[0]?arguments[0]:[];return t.forEach((function(e){var n=e.cascader;if(!Object(i.a)(n)){var o=e.prop;n.forEach((function(e){var n=Object(a.l)(t,e);-1!==n&&(n.parentProp=o)}))}})),t},l=0,c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];n&&(l=0);var i=24;return(l=l+(t.span||e)+(t.offset||0))===i?l=0:l>i?l=0+(t.span||e)+(t.offset||0):t.row&&l!==i&&(t.count=i-l,l=0),t},u=function(t,e){var n=e.type,r=e.multiple,s=e.dataType,l=e.separator,c=void 0===l?o.g:l,u=e.alone,d=e.emitPath,p=e.range,h=t;return o.j.includes(n)&&1==r||o.b.includes(n)&&!1!==d||o.k.includes(n)&&1==p?(Array.isArray(h)||(h=Object(i.a)(h)?[]:(h+"").split(c)||[]),h.forEach((function(t,e){h[e]=Object(a.f)(t,s)})),o.a.includes(n)&&Object(i.a)(h)&&u&&(h=[""])):h=Object(a.f)(h,s),h},d=function(t){var e=t.type,n=t.searchRange,i=e;if(t.searchType)return t.searchType;if(["radio","checkbox","switch"].includes(e))i="select";else if(o.c.includes(e)){i=n?e.includes("range")?e:e+"range":e.replace("range","")}else["textarea"].includes(e)&&(i="input");return i},p=function(t,e){var n=t||"input";return Object(i.a)(e)?(o.a.includes(t)?n="array":["time","timerange"].includes(t)?n="time":o.c.includes(t)?n="date":["password","textarea","search"].includes(t)?n="input":o.h.includes(t)&&(n="input-"+t),o.i+n):e},h=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e={};return t.forEach((function(t){o.b.includes(t.type)&&!1!==t.emitPath||o.j.includes(t.type)&&t.multiple||"array"===t.dataType?e[t.prop]=[]:o.k.includes(t.type)&&1==t.range?e[t.prop]=[0,0]:["rate","slider","number"].includes(t.type)||"number"===t.dataType?e[t.prop]=void 0:e[t.prop]="",t.bind&&(e=Object(a.c)(e,t.bind)),Object(i.a)(t.value)||(e[t.prop]=t.value)})),{tableForm:e}},f=function(t){var e=t.placeholder,n=t.label;return Object(i.a)(e)?o.l.includes(t.type)?"".concat(Object(r.b)("tip.select")," ").concat(n):"".concat(Object(r.b)("tip.input")," ").concat(n):e}},function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return s})),n.d(e,"d",(function(){return l}));var i=n(5),o=n(2),a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return new Promise((function(n,o){var a=[],r=[],s={};t.forEach((function(t){t.parentProp&&a.push(t)})),e.forEach((function(t,e){a.forEach((function(n){!0!==n.hide&&!1!==n.dicFlag&&r.push(new Promise((function(o){Object(i.a)(t[n.parentProp])?o({prop:n.prop,data:[],index:e}):n.dicUrl&&l({url:"".concat(n.dicUrl.replace("{{key}}",t[n.parentProp])),props:n.props,method:n.dicMethod,headers:n.dicHeaders,formatter:n.dicFormatter,query:n.dicQuery,form:t}).then((function(t){o({prop:n.prop,data:t,index:e})}))})))}))})),Promise.all(r).then((function(t){t.forEach((function(t){Object(i.a)(s[t.index])&&(s[t.index]={}),s[t.index][t.prop]=t.data})),n(s)}))}))},r=function(t){var e=[];return new Promise((function(n,i){var a,r,s,c=function(t){var e=t.column||[],n=[],i={},o=[];return e.forEach((function(t){var a=t.dicData,r=t.dicUrl,s=t.prop,l=t.parentProp;o=o.concat(t.cascader||[]),Array.isArray(a)&&(i[s]=a),!1===t.dicFlag||!0===t.lazy||o.includes(s)||r&&!l&&n.push({url:r,name:s,method:t.dicMethod,headers:e.dicHeaders,formatter:t.dicFormatter,props:t.props,dataType:t.dataType,resKey:(t.props||{}).res,query:t.dicQuery||{}})})),{ajaxdic:n,locationdic:i}}(t);e=c.ajaxdic,(a=e,r={},s=[],new Promise((function(t){a.forEach((function(t){s.push(new Promise((function(e){l(Object.assign(t,{url:"".concat(t.url.replace("{{key}}",""))})).then((function(n){n=Object(o.g)(n,t.props,t.dataType),e(n)})).catch((function(){e([])}))})))})),Promise.all(s).then((function(e){a.forEach((function(t,n){r[t.name]=e[n]})),t(r)}))}))).then((function(t){n(t)})).catch((function(t){i(t)}))}))},s=function(t){var e={},n=t.dicData||{};return t.column.forEach((function(t){t.dicData&&(e[t.prop]=Object(o.g)(t.dicData,t.props,t.dataType))})),Object.assign(n,e)};var l=function(t){var e=t.url,n=t.query,i=t.method,a=t.resKey,r=t.props,s=t.formatter,l=t.headers,c=void 0===l?{}:l,u=t.value,d=void 0===u?"":u,p=t.column,h=t.form,f=void 0===h?{}:h;p&&(e=p.dicUrl,i=p.dicMethod,c=p.headers||{},n=p.dicQuery||{},s=p.dicFormatter,r=p.props);var m={};return((e=e||"").match(/[^\{\}]+(?=\})/g)||[]).forEach((function(t){var n="{{".concat(t,"}}"),i=f[t];e="key"===t?e.replace(n,d):e.replace(n,i)})),"post"===i&&Object.keys(n).forEach((function(t){var e=n[t];if("string"==typeof e)if(e.match(/\{{|}}/g)){var i=f[e.replace(/\{{|}}/g,"")];m[t]=i}else m[t]=e;else m[t]=e})),r&&(a=(r||{}).res||a),new Promise((function(t){var r=function(e){var n=[];n="function"==typeof s?s(e.data):Object(o.o)(e.data,a),t(n)};"post"===i?window.axios.post(e,m,{headers:c}).then((function(t){r(t)})).catch((function(){return[t([])]})):window.axios.get(e,{params:n,headers:c}).then((function(t){r(t)})).catch((function(){return[t([])]}))}))}},function(t,e,n){t.exports=function(){"use strict";var t=6e4,e=36e5,n="millisecond",i="second",o="minute",a="hour",r="day",s="week",l="month",c="quarter",u="year",d="date",p="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},v=function(t,e,n){var i=String(t);return!i||i.length>=e?t:""+Array(e+1-i.length).join(n)+t},b={s:v,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),i=Math.floor(n/60),o=n%60;return(e<=0?"+":"-")+v(i,2,"0")+":"+v(o,2,"0")},m:function t(e,n){if(e.date()1)return t(r[0])}else{var s=e.name;y[s]=e,o=s}return!i&&o&&(g=o),o||!i&&g},w=function(t,e){if(_(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new C(n)},O=b;O.l=x,O.i=_,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var C=function(){function m(t){this.$L=x(t.locale,null,!0),this.parse(t)}var v=m.prototype;return v.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(h);if(i){var o=i[2]-1||0,a=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)):new Date(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},v.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},v.$utils=function(){return O},v.isValid=function(){return!(this.$d.toString()===p)},v.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},v.isAfter=function(t,e){return w(t)0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length,n=new Array(e>1?e-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"D",n=arguments.length>2?arguments[2]:void 0,i={F:"Form",H:"Header",E:"Error",L:"Label",S:"Search",T:"Type",D:""},o=t.prop+i[e];return n?n[o]:o},getSlotList:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return n=n.map((function(t){return t.prop})),Object.keys(e).filter((function(e){var i=!1;return n.includes(e)||t.forEach((function(t){e.includes(t)&&(i=!0)})),i}))}}}},function(t,e){t.exports=__WEBPACK_EXTERNAL_MODULE__12__},function(t,e,n){"use strict";var i=n(8),o=n(3),a=n(11);e.a=function(){return{mixins:[a.a],props:{defaults:{type:Object,default:function(){return{}}},option:{type:Object,required:!0,default:function(){return{}}}},watch:{defaults:{handler:function(t){this.objectOption=t},deep:!0},objectOption:{handler:function(t){this.$emit("update:defaults",t)},deep:!0},propOption:{handler:function(t){var e=this;this.objectOption={},t.forEach((function(t){e.$set(e.objectOption,t.prop,t)}))},deep:!0},option:{handler:function(){this.init(!1)},deep:!0}},data:function(){return{DIC:{},cascaderDIC:{},tableOption:{},isMobile:"",objectOption:{}}},created:function(){this.init()},computed:{resultOption:function(){return Object.assign(this.deepClone(this.tableOption),{column:this.propOption})},rowKey:function(){return this.tableOption.rowKey||o.e.rowKey},formRules:function(){var t={};return this.propOption.forEach((function(e){e.rules&&!1!==e.display&&(t[e.prop]=e.rules)})),t},isMediumSize:function(){return this.controlSize},controlSize:function(){return this.tableOption.size||this.$AVUE.size}},methods:{init:function(t){this.tableOption=this.option,this.getIsMobile(),this.handleLocalDic(),!1!==t&&this.handleLoadDic()},dicInit:function(t){"cascader"===t?this.handleLoadCascaderDic():this.handleLoadDic()},getIsMobile:function(){this.isMobile=window.document.body.clientWidth<=768},updateDic:function(t,e){var n=this,o=this.findObject(this.propOption,t);this.validatenull(e)&&this.validatenull(t)?this.handleLoadDic():this.validatenull(e)&&!this.validatenull(o.dicUrl)?Object(i.d)({column:o}).then((function(e){n.$set(n.DIC,t,e)})):this.$set(this.DIC,t,e)},handleSetDic:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object.keys(n).forEach((function(i){e.$set(t,i,n[i])}))},handleLocalDic:function(){this.handleSetDic(this.DIC,Object(i.c)(this.resultOption))},handleLoadDic:function(){var t=this;Object(i.b)(this.resultOption).then((function(e){return t.handleSetDic(t.DIC,e)}))},handleLoadCascaderDic:function(){var t=this;Object(i.a)(this.propOption,this.data).then((function(e){return t.handleSetDic(t.cascaderDIC,e)}))}}}}},function(t,e,n){"use strict";function i(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:"default",e="";switch(t){case"default":e="#35495E";break;case"primary":e="#3488ff";break;case"success":e="#43B883";break;case"warning":e="#e6a23c";break;case"danger":e="#f56c6c"}return e}a.capsule=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"primary";console.log("%c ".concat(t," %c ").concat(e," %c"),"background:#35495E; padding: 1px; border-radius: 3px 0 0 3px; color: #fff;","background:".concat(r(n),"; padding: 1px; border-radius: 0 3px 3px 0; color: #fff;"),"background:transparent")},a.colorful=function(t){var e;(e=console).log.apply(e,["%c".concat(t.map((function(t){return t.text||""})).join("%c"))].concat(i(t.map((function(t){return"color: ".concat(r(t.type),";")})))))},a.default=function(t){a.colorful([{text:t}])},a.primary=function(t){a.colorful([{text:t,type:"primary"}])},a.success=function(t){a.colorful([{text:t,type:"success"}])},a.warning=function(t){a.colorful([{text:t,type:"warning"}])},a.danger=function(t){a.colorful([{text:t,type:"danger"}])},window.$Log=a,e.a=a},function(module,__webpack_exports__,__webpack_require__){"use strict";var core_detail__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(16),core_create__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),common_common_init__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(13),common_components_form_index__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(17),global_variable__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(3),core_dataformat__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),core_dic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(8),utils_util__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2),utils_mock__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(19),_menu__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(23);__webpack_exports__.a=Object(core_create__WEBPACK_IMPORTED_MODULE_1__.a)({name:"form",mixins:[Object(common_common_init__WEBPACK_IMPORTED_MODULE_2__.a)()],components:{formTemp:common_components_form_index__WEBPACK_IMPORTED_MODULE_3__.a,formMenu:_menu__WEBPACK_IMPORTED_MODULE_9__.a},data:function(){return{activeName:"",labelWidth:90,allDisabled:!1,optionIndex:[],optionBox:!1,tableOption:{},itemSpanDefault:12,form:{},formList:[],formBind:{},formCreate:!1,formDefault:{},formVal:{}}},provide:function(){return{formSafe:this}},watch:{tabsActive:{handler:function(t){this.activeName=this.tabsActive},immediate:!0},form:{handler:function(t){this.formCreate&&this.setVal()},deep:!0},DIC:{handler:function(){this.forEachLabel()},deep:!0,immediate:!0},allDisabled:{handler:function(t){this.$emit("update:status",t)},deep:!0,immediate:!0},value:{handler:function(t){this.formCreate?this.setForm(t):this.formVal=Object.assign(this.formVal,t||{})},deep:!0,immediate:!0}},computed:{columnSlot:function(){var t=this;return Object.keys(this.$scopedSlots).filter((function(e){return!t.propOption.map((function(t){return t.prop})).includes(e)}))},labelSuffix:function(){return this.parentOption.labelSuffix||":"},isMenu:function(){return 1!=this.columnOption.length},isDetail:function(){return!0===this.detail},isTabs:function(){return!0===this.parentOption.tabs},isAdd:function(){return"add"===this.boxType},isEdit:function(){return"edit"===this.boxType},isView:function(){return"view"===this.boxType},gutter:function(){return this.setPx((this.parentOption.gutter||10)/2)},detail:function(){return this.parentOption.detail},disabled:function(){return this.parentOption.disabled},readonly:function(){return this.parentOption.readonly},tabsType:function(){return this.parentOption.tabsType},columnLen:function(){return this.columnOption.length},dynamicOption:function(){var t=this,e=[];return this.propOption.forEach((function(n){"dynamic"==n.type&&t.vaildDisplay(n)&&e.push(n)})),e},propOption:function(){var t=[];return this.columnOption.forEach((function(e){!1!==e.display&&e.column.forEach((function(e){t.push(e)}))})),t},parentOption:function(){return this.tableOption||{}},columnOption:function(){var t=this,e=this.tableOption.column||[],n=this.deepClone(this.tableOption.group)||[],i=this.tableOption.footer||[];return n.unshift({header:!1,column:e}),0!==i.length&&n.push({header:!1,column:i}),n.forEach((function(e,n){e.column=e.column||[],e.column.forEach((function(e,n){!1===e.display||t.isMobile||(e=Object(core_dataformat__WEBPACK_IMPORTED_MODULE_5__.b)(e,t.itemSpanDefault,0===n))})),e.column=Object(core_dataformat__WEBPACK_IMPORTED_MODULE_5__.a)(e.column),e.column=e.column.sort((function(t,e){return(e.order||0)-(t.order||0)}))})),n},menuPosition:function(){return this.parentOption.menuPosition?this.parentOption.menuPosition:"center"},boxType:function(){return this.parentOption.boxType},isPrint:function(){return this.vaildData(this.parentOption.printBtn,!1)},tabsActive:function(){return this.vaildData(this.tableOption.tabsActive+"","1")},isMock:function(){return this.vaildData(this.parentOption.mockBtn,!1)}},props:{uploadBefore:Function,uploadAfter:Function,uploadDelete:Function,uploadPreview:Function,uploadError:Function,uploadExceed:Function,status:{type:Boolean,default:!1},isCrud:{type:Boolean,default:!1},value:{type:Object,required:!0,default:function(){return{}}}},created:function(){var t=this;this.$nextTick((function(){t.dataFormat(),t.setVal(),t.formCreate=!0,t.setControl()}))},mounted:function(){var t=this;setTimeout((function(){t.clearValidate()}))},methods:{getComponent:core_dataformat__WEBPACK_IMPORTED_MODULE_5__.d,getPlaceholder:core_dataformat__WEBPACK_IMPORTED_MODULE_5__.e,getDisabled:function(t){return this.vaildDetail(t)||this.isDetail||this.vaildDisabled(t)||this.allDisabled},getSpan:function(t){return t.span||this.parentOption.span||this.itemSpanDefault},isGroupShow:function(t,e){return!this.isTabs||(e==this.activeName||0==e)},forEachLabel:function(){var t=this;1!=this.tableOption.filterDic?this.propOption.forEach((function(e){var n,i=t.DIC[e.prop];t.validatenull(i)||(n=Object(core_detail__WEBPACK_IMPORTED_MODULE_0__.a)(t.form,e,t.tableOption,i),t.$set(t.form,["$"+e.prop],n))})):this.form=Object(utils_util__WEBPACK_IMPORTED_MODULE_7__.i)(this.form,["$"],!1)},handleGroupClick:function(t){this.$emit("tab-click",t)},handleTabClick:function(t,e){this.$emit("tab-click",t,e)},getLabelWidth:function(t,e){var n;return n=this.validatenull(t.labelWidth)?this.validatenull(e.labelWidth)?this.parentOption.labelWidth:e.labelWidth:t.labelWidth,this.setPx(n,this.labelWidth)},validateField:function(t){return this.$refs.form.validateField(t)},validTip:function(t){return!t.tip||"upload"===t.type},getPropRef:function(t){return this.$refs[t][0]},dataFormat:function(){this.formDefault=Object(core_dataformat__WEBPACK_IMPORTED_MODULE_5__.c)(this.propOption);var t=this.deepClone(this.formDefault.tableForm);this.setForm(this.deepClone(Object.assign(t,this.formVal)))},setVal:function(){this.$emit("input",this.form),this.$emit("change",this.form)},setControl:function setControl(){var _this7=this;this.propOption.forEach((function(column){var prop=column.prop,bind=column.bind,control=column.control,value=_this7.form;if(!_this7.formBind[prop]){if(bind&&(_this7.$watch("form."+prop,(function(t,e){t!=e&&Object(utils_util__WEBPACK_IMPORTED_MODULE_7__.t)(_this7.form,bind,t)})),_this7.$watch("form."+bind,(function(t,e){t!=e&&_this7.$set(_this7.form,prop,t)})),_this7.$set(_this7.form,prop,eval("value."+bind))),control){var callback=function(){var t=control(_this7.form[column.prop],_this7.form)||{};Object.keys(t).forEach((function(e){var n=Object.assign(_this7.objectOption[e]||{},t[e]);_this7.$set(_this7.objectOption,e,n),t[e].dicData&&(_this7.DIC[e]=t[e].dicData)}))};_this7.$watch("form."+prop,(function(t,e){callback()})),callback()}_this7.formBind[prop]=!0}}))},setForm:function(t){var e=this;Object.keys(t).forEach((function(n){e.$set(e.form,n,t[n])})),this.forEachLabel(),!0===this.tableOption.filterNull&&(this.form=Object(utils_util__WEBPACK_IMPORTED_MODULE_7__.i)(this.form,[""],!1))},handleChange:function(t,e){var n=this;this.$nextTick((function(){var i=e.cascader,o=i.join(",");i.forEach((function(a){var r=a,s=n.form[e.prop],l=n.findObject(t,r);n.validatenull(l)||(n.formList.includes(o)&&i.forEach((function(t){n.form[t]="",n.$set(n.DIC,t,[])})),n.validatenull(i)||n.validatenull(s)||n.validatenull(l)||Object(core_dic__WEBPACK_IMPORTED_MODULE_6__.d)({column:l,value:s,form:n.form}).then((function(t){n.formList.includes(o)||n.formList.push(o);var e=t||[];n.$set(n.DIC,r,e),n.validatenull(e)||n.validatenull(e)||n.validatenull(l.cascaderIndex)||!n.validatenull(n.form[r])||(n.form[r]=e[l.cascaderIndex][(l.props||{}).value||global_variable__WEBPACK_IMPORTED_MODULE_4__.e.value])})))}))}))},handlePrint:function(){this.$Print(this.$el)},propChange:function(t,e){e.cascader&&this.handleChange(t,e)},handleMock:function(){var t=this;this.isMock&&(this.columnOption.forEach((function(e){var n=Object(utils_mock__WEBPACK_IMPORTED_MODULE_8__.a)(e.column,t.DIC,t.form,t.isMock);t.validatenull(n)||Object.keys(n).forEach((function(e){t.form[e]=n[e]}))})),this.$nextTick((function(){t.clearValidate(),t.$emit("mock-change",t.form)})))},vaildDetail:function(t){var e;if(this.detail)return!1;if(this.validatenull(t.detail)){if(this.isAdd)e="addDetail";else if(this.isEdit)e="editDetail";else if(this.isView)return!1}else e="detail";return!!e&&this.vaildData(t[e],!1)},vaildDisabled:function(t){var e;if(this.disabled)return!0;if(this.validatenull(t.disabled)){if(this.isAdd)e="addDisabled";else if(this.isEdit)e="editDisabled";else if(this.isView)return!0}else e="disabled";return!!e&&this.vaildData(t[e],!1)},vaildDisplay:function(t){var e;return this.validatenull(t.display)?this.isAdd?e="addDisplay":this.isEdit?e="editDisplay":this.isView&&(e="viewDisplay"):e="display",!e||this.vaildData(t[e],!0)},clearValidate:function(t){this.$refs.form.clearValidate(t)},validateCellForm:function(){var t=this;return new Promise((function(e){t.$refs.form.validate((function(t,n){e(n)}))}))},validate:function(t){var e=this;this.$refs.form.validate((function(n,i){var o=[],a=[],r={};e.dynamicOption.forEach((function(t){var n="form"===t.children.type;a.push(t.prop),n?e.validatenull(e.$refs[t.prop][0].$refs.temp.$refs.main)||e.$refs[t.prop][0].$refs.temp.$refs.main.forEach((function(t){o.push(t.validateCellForm())})):o.push(e.$refs[t.prop][0].$refs.temp.$refs.main.validateCellForm())})),Promise.all(o).then((function(n){n.forEach((function(t,n){e.validatenull(t)||(r[a[n]]=t)}));var o=Object.assign(r,i);e.validatenull(o)?(e.show(),t(!0,e.hide)):t(!1,e.hide,o)}))}))},resetForm:function(){var t=this;this.form=Object(utils_util__WEBPACK_IMPORTED_MODULE_7__.b)(this.form,(this.tableOption.filterParams||[]).concat([this.rowKey])),this.$nextTick((function(){t.clearValidate(),t.$emit("reset-change")}))},resetFields:function(){this.$refs.form.resetFields()},show:function(){this.allDisabled=!0},hide:function(){this.allDisabled=!1},submit:function(){var t=this;this.validate((function(e,n){e?t.$emit("submit",Object(utils_util__WEBPACK_IMPORTED_MODULE_7__.i)(t.form),t.hide):t.$emit("error",n)}))}}})},function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var i=n(5),o=n(2),a=n(3),r=n(9),s=n.n(r),l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],l=t[e.prop],c=e.type,u=e.separator;if(e.bind&&(l=Object(o.m)(t,e.bind)),Object(i.a)(l))l="";else{var d=a.j.includes(e.type)&&e.multiple,p=a.b.includes(e.type);if((["string","number"].includes(e.dataType)||d||p)&&!Array.isArray(l)&&(l=(l+"").split(u||a.g),"number"===e.dataType&&(l=Object(o.w)(l))),a.a.includes(c))l=Array.isArray(l)?l.join(u||a.f):l.split(u||a.g).join(u||a.f);else if("password"===c)l=Object(o.p)(l,"*");else if(a.c.includes(c)&&e.format){var h=e.format.replace("dd","DD").replace("yyyy","YYYY"),f=s()().format("YYYY-MM-DD");if(-1!==c.indexOf("range")){var m=l[0]||"",v=l[1]||"";"timerange"===c&&m.length<=8&&v.length<8&&(m="".concat(f," ").concat(m),v="".concat(f," ").concat(v)),l=[s()(m).format(h),s()(v).format(h)].join(e.separator||"~")}else"time"===c&&l.length<=8&&(l="".concat(f," ").concat(l)),l=s()(l).format(h)}l=Object(o.k)(r,l,e.props||n.props)}return e.formatter&&"function"==typeof e.formatter&&(l=e.formatter(t,t[e.prop],l,e)),l}},function(t,e,n){"use strict";var i=n(7),o={name:"form-temp",mixins:[n(11).a],props:{value:{},uploadBefore:Function,uploadDelete:Function,uploadAfter:Function,uploadPreview:Function,uploadError:Function,uploadExceed:Function,columnSlot:{type:Array,default:function(){return[]}},tableData:{type:Object,default:function(){return{}}},clearable:{type:Boolean},enter:{type:Boolean,default:!1},type:{type:String},propsHttp:{type:Object,default:function(){return{}}},props:{type:Object},dic:{type:Array},placeholder:{type:String},size:{type:String},disabled:{type:Boolean},readonly:{type:Boolean},column:{type:Object,default:function(){return{}}}},data:function(){return{first:!1,text:void 0}},computed:{params:function(){return this.column.params||{}},event:function(){return this.column.event||{}}},watch:{text:{handler:function(t){this.first||!this.validatenull(t)?(this.first=!0,this.$emit("input",t),this.$emit("change",t)):this.first=!0}},value:{handler:function(t){this.text=t},immediate:!0}},methods:{getComponent:i.d,getPlaceholder:i.e,enterChange:function(){"function"==typeof this.column.enter?this.column.enter({value:this.text,column:this.column}):this.enter&&this.$emit("enter")}}},a=n(0),r=Object(a.a)(o,(function(){var t=this,e=t._self._c;return e(t.getComponent(t.column.type,t.column.component),t._g(t._b({ref:"temp",tag:"component",attrs:{column:Object.assign(t.column,t.params),dic:t.dic,disabled:t.column.disabled||t.disabled,readonly:t.column.readonly||t.readonly,placeholder:t.getPlaceholder(t.column),props:t.column.props||t.props,propsHttp:t.column.propsHttp||t.propsHttp,size:t.column.size||t.size,"table-data":t.tableData,type:t.type||t.column.type,"column-slot":t.columnSlot},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.enterChange.apply(null,arguments)}},scopedSlots:t._u([t._l(t.getSlotName(t.column,"T",t.$scopedSlots)?[t.column]:[],(function(e){return{key:"default",fn:function(n){return[t._t(t.getSlotName(e,"T"),null,null,n)]}}})),t._l(t.columnSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0),model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},"component",Object.assign(t.column,t.$uploadFun(t.column)),!1),t.event),[t.params.html?e("span",{domProps:{innerHTML:t._s(t.params.html)}}):t._e()])}),[],!1,null,null,null);e.a=r.exports},function(t,e,n){var i,o;void 0===(o="function"==typeof(i=function(t,e,n){return function(t,e,n,i,o,a){function r(t){return"number"==typeof t&&!isNaN(t)}var s=this;if(s.version=function(){return"1.9.3"},s.options={useEasing:!0,useGrouping:!0,separator:",",decimal:".",easingFn:function(t,e,n,i){return n*(1-Math.pow(2,-10*t/i))*1024/1023+e},formattingFn:function(t){var e,n,i,o,a,r,l=t<0;if(t=Math.abs(t).toFixed(s.decimals),n=(e=(t+="").split("."))[0],i=e.length>1?s.options.decimal+e[1]:"",s.options.useGrouping){for(o="",a=0,r=n.length;as.endVal,s.frameVal=s.startVal,s.initialized=!0,0):(s.error="[CountUp] startVal ("+e+") or endVal ("+n+") is not a number",1)):(s.error="[CountUp] target is null or undefined",1)))},s.printValue=function(t){var e=s.options.formattingFn(t);"INPUT"===s.d.tagName?this.d.value=e:"text"===s.d.tagName||"tspan"===s.d.tagName?this.d.textContent=e:this.d.innerHTML=e},s.count=function(t){s.startTime||(s.startTime=t),s.timestamp=t;var e=t-s.startTime;s.remaining=s.duration-e,s.options.useEasing?s.countDown?s.frameVal=s.startVal-s.options.easingFn(e,0,s.startVal-s.endVal,s.duration):s.frameVal=s.options.easingFn(e,s.startVal,s.endVal-s.startVal,s.duration):s.countDown?s.frameVal=s.startVal-(s.startVal-s.endVal)*(e/s.duration):s.frameVal=s.startVal+(s.endVal-s.startVal)*(e/s.duration),s.countDown?s.frameVal=s.frameVals.endVal?s.endVal:s.frameVal,s.frameVal=Math.round(s.frameVal*s.dec)/s.dec,s.printValue(s.frameVal),es.endVal,s.rAF=requestAnimationFrame(s.count))}},s.initialize()&&s.printValue(s.startVal)}})?i.call(e,n,e,t):i)||(t.exports=o)},function(t,e,n){"use strict";var i=n(6);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}e.a=function(t,e,n,a){if(a){if(window.Mock){var r=(window.Mock||{}).Random,s={};return Object.keys(t).forEach((function(i){var a,c,u,d,p,h=t[i];if(h.mock&&"object"===o(h.mock)){var f=h.mock;switch(f.dic="string"==typeof h.dicData?e[h.dicData]:h.dicData||[],f.props=h.props||{},f.columnType=h.type,f.multiple=h.multiple,f.type){case"name":s[h.prop]=f.en?r.name(!0):r.cname();break;case"number":s[h.prop]=l(f);break;case"datetime":s[h.prop]=(p=(d=f).format,d.now?r.now(p):r.datetime(p));break;case"word":s[h.prop]=(c=(a=f).min,u=a.max,r.csentence(c,u));break;case"url":s[h.prop]=function(t){var e=t.header,n=(t.footer,r.url()),i=n.indexOf("://");return n=!1===e?n.substring(i+3):"http://"+n.substring(i+3)}(f);break;case"county":s[h.prop]=r.county(!0);break;case"dic":s[h.prop]=function(t){var e=t.dic,n=t.props,i=t.columnType,o=t.multiple,a=n.value||"value",r=e.length;if(["checkbox"].includes(i)||o){for(var s=l({min:1,max:r}),c=[],u=0;u
'};function o(t,e,n){return tn?n:t}function a(t){return 100*(-1+t)}n.configure=function(t){var e,n;for(e in t)void 0!==(n=t[e])&&t.hasOwnProperty(e)&&(i[e]=n);return this},n.status=null,n.set=function(t){var e=n.isStarted();t=o(t,i.minimum,1),n.status=1===t?null:t;var l=n.render(!e),c=l.querySelector(i.barSelector),u=i.speed,d=i.easing;return l.offsetWidth,r((function(e){""===i.positionUsing&&(i.positionUsing=n.getPositioningCSS()),s(c,function(t,e,n){var o;return(o="translate3d"===i.positionUsing?{transform:"translate3d("+a(t)+"%,0,0)"}:"translate"===i.positionUsing?{transform:"translate("+a(t)+"%,0)"}:{"margin-left":a(t)+"%"}).transition="all "+e+"ms "+n,o}(t,u,d)),1===t?(s(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout((function(){s(l,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),e()}),u)}),u)):setTimeout(e,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var t=function(){setTimeout((function(){n.status&&(n.trickle(),t())}),i.trickleSpeed)};return i.trickle&&t(),this},n.done=function(t){return t||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(t){var e=n.status;return e?("number"!=typeof t&&(t=(1-e)*o(Math.random()*e,.1,.95)),e=o(e+t,0,.994),n.set(e)):n.start()},n.trickle=function(){return n.inc(Math.random()*i.trickleRate)},t=0,e=0,n.promise=function(i){return i&&"resolved"!==i.state()?(0===e&&n.start(),t++,e++,i.always((function(){0==--e?(t=0,n.done()):n.set((t-e)/t)})),this):this},n.render=function(t){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=i.template;var o,r=e.querySelector(i.barSelector),l=t?"-100":a(n.status||0),u=document.querySelector(i.parent);return s(r,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),i.showSpinner||(o=e.querySelector(i.spinnerSelector))&&p(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(e),e},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(i.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&p(t)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var r=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()})),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var i,o=t.length,a=e.charAt(0).toUpperCase()+e.slice(1);o--;)if((i=t[o]+a)in n)return i;return e}(n))}function i(t,e,i){e=n(e),t.style[e]=i}return function(t,e){var n,o,a=arguments;if(2==a.length)for(n in e)void 0!==(o=e[n])&&e.hasOwnProperty(n)&&i(t,n,o);else i(t,a[1],a[2])}}();function l(t,e){return("string"==typeof t?t:d(t)).indexOf(" "+e+" ")>=0}function c(t,e){var n=d(t),i=n+e;l(n,e)||(t.className=i.substring(1))}function u(t,e){var n,i=d(t);l(t,e)&&(n=i.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function d(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function p(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return n})?i.call(e,n,e,t):i)||(t.exports=o)},function(t,e,n){window,t.exports=function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=6)}([function(t,e,n){var i=n(2);"string"==typeof i&&(i=[[t.i,i,""]]),n(4)(i,{hmr:!0,transform:void 0,insertInto:void 0}),i.locals&&(t.exports=i.locals)},function(t,e,n){"use strict";var i=n(0);n.n(i).a},function(t,e,n){(t.exports=n(3)(!1)).push([t.i,'\n.vue-cropper[data-v-6dae58fd] {\n position: relative;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n direction: ltr;\n touch-action: none;\n text-align: left;\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");\n}\n.cropper-box[data-v-6dae58fd],\n.cropper-box-canvas[data-v-6dae58fd],\n.cropper-drag-box[data-v-6dae58fd],\n.cropper-crop-box[data-v-6dae58fd],\n.cropper-face[data-v-6dae58fd] {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n user-select: none;\n}\n.cropper-box-canvas img[data-v-6dae58fd] {\n position: relative;\n text-align: left;\n user-select: none;\n transform: none;\n max-width: none;\n max-height: none;\n}\n.cropper-box[data-v-6dae58fd] {\n overflow: hidden;\n}\n.cropper-move[data-v-6dae58fd] {\n cursor: move;\n}\n.cropper-crop[data-v-6dae58fd] {\n cursor: crosshair;\n}\n.cropper-modal[data-v-6dae58fd] {\n background: rgba(0, 0, 0, 0.5);\n}\n.cropper-crop-box[data-v-6dae58fd] {\n /*border: 2px solid #39f;*/\n}\n.cropper-view-box[data-v-6dae58fd] {\n display: block;\n overflow: hidden;\n width: 100%;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 0.75);\n user-select: none;\n}\n.cropper-view-box img[data-v-6dae58fd] {\n user-select: none;\n text-align: left;\n max-width: none;\n max-height: none;\n}\n.cropper-face[data-v-6dae58fd] {\n top: 0;\n left: 0;\n background-color: #fff;\n opacity: 0.1;\n}\n.crop-info[data-v-6dae58fd] {\n position: absolute;\n left: 0px;\n min-width: 65px;\n text-align: center;\n color: white;\n line-height: 20px;\n background-color: rgba(0, 0, 0, 0.8);\n font-size: 12px;\n}\n.crop-line[data-v-6dae58fd] {\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n opacity: 0.1;\n}\n.line-w[data-v-6dae58fd] {\n top: -3px;\n left: 0;\n height: 5px;\n cursor: n-resize;\n}\n.line-a[data-v-6dae58fd] {\n top: 0;\n left: -3px;\n width: 5px;\n cursor: w-resize;\n}\n.line-s[data-v-6dae58fd] {\n bottom: -3px;\n left: 0;\n height: 5px;\n cursor: s-resize;\n}\n.line-d[data-v-6dae58fd] {\n top: 0;\n right: -3px;\n width: 5px;\n cursor: e-resize;\n}\n.crop-point[data-v-6dae58fd] {\n position: absolute;\n width: 8px;\n height: 8px;\n opacity: 0.75;\n background-color: #39f;\n border-radius: 100%;\n}\n.point1[data-v-6dae58fd] {\n top: -4px;\n left: -4px;\n cursor: nw-resize;\n}\n.point2[data-v-6dae58fd] {\n top: -5px;\n left: 50%;\n margin-left: -3px;\n cursor: n-resize;\n}\n.point3[data-v-6dae58fd] {\n top: -4px;\n right: -4px;\n cursor: ne-resize;\n}\n.point4[data-v-6dae58fd] {\n top: 50%;\n left: -4px;\n margin-top: -3px;\n cursor: w-resize;\n}\n.point5[data-v-6dae58fd] {\n top: 50%;\n right: -4px;\n margin-top: -3px;\n cursor: e-resize;\n}\n.point6[data-v-6dae58fd] {\n bottom: -5px;\n left: -4px;\n cursor: sw-resize;\n}\n.point7[data-v-6dae58fd] {\n bottom: -5px;\n left: 50%;\n margin-left: -3px;\n cursor: s-resize;\n}\n.point8[data-v-6dae58fd] {\n bottom: -5px;\n right: -4px;\n cursor: se-resize;\n}\n@media screen and (max-width: 500px) {\n.crop-point[data-v-6dae58fd] {\n position: absolute;\n width: 20px;\n height: 20px;\n opacity: 0.45;\n background-color: #39f;\n border-radius: 100%;\n}\n.point1[data-v-6dae58fd] {\n top: -10px;\n left: -10px;\n}\n.point2[data-v-6dae58fd],\n .point4[data-v-6dae58fd],\n .point5[data-v-6dae58fd],\n .point7[data-v-6dae58fd] {\n display: none;\n}\n.point3[data-v-6dae58fd] {\n top: -10px;\n right: -10px;\n}\n.point4[data-v-6dae58fd] {\n top: 0;\n left: 0;\n}\n.point6[data-v-6dae58fd] {\n bottom: -10px;\n left: -10px;\n}\n.point8[data-v-6dae58fd] {\n bottom: -10px;\n right: -10px;\n}\n}\n',""])},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"==typeof btoa){var o=function(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}(i),a=i.sources.map((function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n})).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var i={},o=0;o=0&&l.splice(e,1)}function f(t){var e=document.createElement("style");if(void 0===t.attrs.type&&(t.attrs.type="text/css"),void 0===t.attrs.nonce){var i=n.nc;i&&(t.attrs.nonce=i)}return m(e,t.attrs),p(t,e),e}function m(t,e){Object.keys(e).forEach((function(n){t.setAttribute(n,e[n])}))}function v(t,e){var n,i,o,a;if(e.transform&&t.css){if(!(a="function"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=a}if(e.singleton){var l=s++;n=r||(r=f(e)),i=g.bind(null,n,l,!1),o=g.bind(null,n,l,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(t){var e=document.createElement("link");return void 0===t.attrs.type&&(t.attrs.type="text/css"),t.attrs.rel="stylesheet",m(e,t.attrs),p(t,e),e}(e),i=function(t,e,n){var i=n.css,o=n.sourceMap,a=void 0===e.convertToAbsoluteUrls&&o;(e.convertToAbsoluteUrls||a)&&(i=c(i)),o&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var r=new Blob([i],{type:"text/css"}),s=t.href;t.href=URL.createObjectURL(r),s&&URL.revokeObjectURL(s)}.bind(null,n,e),o=function(){h(n),n.href&&URL.revokeObjectURL(n.href)}):(n=f(e),i=function(t,e){var n=e.css,i=e.media;if(i&&t.setAttribute("media",i),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){h(n)});return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else o()}}t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(e=e||{}).attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||"boolean"==typeof e.singleton||(e.singleton=o()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=d(t,e);return u(n,e),function(t){for(var o=[],a=0;a=8&&(s=n+i)),s)for(d=u.getUint16(s,o),c=0;c21?"-21px":"0px",t.width=this.cropW>0?this.cropW:0,t.height=this.cropH>0?this.cropH:0,this.infoTrue){var e=1;this.high&&!this.full&&(e=window.devicePixelRatio),1!==this.enlarge&!this.full&&(e=Math.abs(Number(this.enlarge))),t.width=t.width*e,t.height=t.height*e,this.full&&(t.width=t.width/this.scale,t.height=t.height/this.scale)}return t.width=t.width.toFixed(0),t.height=t.height.toFixed(0),t},isIE:function(){return navigator.userAgent,!!window.ActiveXObject||"ActiveXObject"in window},passive:function(){return this.isIE?null:{passive:!1}}},watch:{img:function(){this.checkedImg()},imgs:function(t){""!==t&&this.reload()},cropW:function(){this.showPreview()},cropH:function(){this.showPreview()},cropOffsertX:function(){this.showPreview()},cropOffsertY:function(){this.showPreview()},scale:function(t,e){this.showPreview()},x:function(){this.showPreview()},y:function(){this.showPreview()},autoCrop:function(t){t&&this.goAutoCrop()},autoCropWidth:function(){this.autoCrop&&this.goAutoCrop()},autoCropHeight:function(){this.autoCrop&&this.goAutoCrop()},mode:function(){this.checkedImg()},rotate:function(){this.showPreview(),(this.autoCrop||this.cropW>0||this.cropH>0)&&this.goAutoCrop(this.cropW,this.cropH)}},methods:{getVersion:function(t){for(var e=navigator.userAgent.split(" "),n="",i=new RegExp(t,"i"),o=0;o=81)e=-1;else if(this.getVersion("safari")[0]>=605){var a=this.getVersion("version");a[0]>13&&a[1]>1&&(e=-1)}else{var r=navigator.userAgent.toLowerCase().match(/cpu iphone os (.*?) like mac os/);if(r){var s=r[1];((s=s.split("_"))[0]>13||s[0]>=13&&s[1]>=4)&&(e=-1)}}var l=document.createElement("canvas"),c=l.getContext("2d");switch(c.save(),e){case 2:l.width=n,l.height=i,c.translate(n,0),c.scale(-1,1);break;case 3:l.width=n,l.height=i,c.translate(n/2,i/2),c.rotate(180*Math.PI/180),c.translate(-n/2,-i/2);break;case 4:l.width=n,l.height=i,c.translate(0,i),c.scale(1,-1);break;case 5:l.height=n,l.width=i,c.rotate(.5*Math.PI),c.scale(1,-1);break;case 6:l.width=i,l.height=n,c.translate(i/2,n/2),c.rotate(90*Math.PI/180),c.translate(-n/2,-i/2);break;case 7:l.height=n,l.width=i,c.rotate(.5*Math.PI),c.translate(n,-i),c.scale(-1,1);break;case 8:l.height=n,l.width=i,c.translate(i/2,n/2),c.rotate(-90*Math.PI/180),c.translate(-n/2,-i/2);break;default:l.width=n,l.height=i}c.drawImage(t,0,0,n,i),c.restore(),l.toBlob((function(t){var e=URL.createObjectURL(t);URL.revokeObjectURL(o.imgs),o.imgs=e}),"image/"+this.outputType,1)},checkedImg:function(){var t=this;if(null===this.img||""===this.img)return this.imgs="",void this.clearCrop();this.loading=!0,this.scale=1,this.rotate=0,this.clearCrop();var e=new Image;if(e.onload=function(){if(""===t.img)return t.$emit("imgLoad","error"),t.$emit("img-load","error"),!1;var n=e.width,i=e.height;a.getData(e).then((function(o){t.orientation=o.orientation||1;var a=Number(t.maxImgSize);!t.orientation&&na&&(i=i/n*a,n=a),i>a&&(n=n/i*a,i=a),t.checkOrientationImage(e,t.orientation,n,i))}))},e.onerror=function(){t.$emit("imgLoad","error"),t.$emit("img-load","error")},"data"!==this.img.substr(0,4)&&(e.crossOrigin=""),this.isIE){var n=new XMLHttpRequest;n.onload=function(){var t=URL.createObjectURL(this.response);e.src=t},n.open("GET",this.img,!0),n.responseType="blob",n.send()}else e.src=this.img},startMove:function(t){if(t.preventDefault(),this.move&&!this.crop){if(!this.canMove)return!1;this.moveX=("clientX"in t?t.clientX:t.touches[0].clientX)-this.x,this.moveY=("clientY"in t?t.clientY:t.touches[0].clientY)-this.y,t.touches?(window.addEventListener("touchmove",this.moveImg),window.addEventListener("touchend",this.leaveImg),2==t.touches.length&&(this.touches=t.touches,window.addEventListener("touchmove",this.touchScale),window.addEventListener("touchend",this.cancelTouchScale))):(window.addEventListener("mousemove",this.moveImg),window.addEventListener("mouseup",this.leaveImg)),this.$emit("imgMoving",{moving:!0,axis:this.getImgAxis()}),this.$emit("img-moving",{moving:!0,axis:this.getImgAxis()})}else this.cropping=!0,window.addEventListener("mousemove",this.createCrop),window.addEventListener("mouseup",this.endCrop),window.addEventListener("touchmove",this.createCrop),window.addEventListener("touchend",this.endCrop),this.cropOffsertX=t.offsetX?t.offsetX:t.touches[0].pageX-this.$refs.cropper.offsetLeft,this.cropOffsertY=t.offsetY?t.offsetY:t.touches[0].pageY-this.$refs.cropper.offsetTop,this.cropX="clientX"in t?t.clientX:t.touches[0].clientX,this.cropY="clientY"in t?t.clientY:t.touches[0].clientY,this.cropChangeX=this.cropOffsertX,this.cropChangeY=this.cropOffsertY,this.cropW=0,this.cropH=0},touchScale:function(t){var e=this;t.preventDefault();var n=this.scale,i=this.touches[0].clientX,o=this.touches[0].clientY,a=t.touches[0].clientX,r=t.touches[0].clientY,s=this.touches[1].clientX,l=this.touches[1].clientY,c=t.touches[1].clientX,u=t.touches[1].clientY,d=Math.sqrt(Math.pow(i-s,2)+Math.pow(o-l,2)),p=Math.sqrt(Math.pow(a-c,2)+Math.pow(r-u,2))-d,h=1,f=(h=(h=h/this.trueWidth>h/this.trueHeight?h/this.trueHeight:h/this.trueWidth)>.1?.1:h)*p;if(!this.touchNow){if(this.touchNow=!0,p>0?n+=Math.abs(f):p<0&&n>Math.abs(f)&&(n-=Math.abs(f)),this.touches=t.touches,setTimeout((function(){e.touchNow=!1}),8),!this.checkoutImgAxis(this.x,this.y,n))return!1;this.scale=n}},cancelTouchScale:function(t){window.removeEventListener("touchmove",this.touchScale)},moveImg:function(t){var e=this;if(t.preventDefault(),t.touches&&2===t.touches.length)return this.touches=t.touches,window.addEventListener("touchmove",this.touchScale),window.addEventListener("touchend",this.cancelTouchScale),window.removeEventListener("touchmove",this.moveImg),!1;var n,i,o="clientX"in t?t.clientX:t.touches[0].clientX,a="clientY"in t?t.clientY:t.touches[0].clientY;n=o-this.moveX,i=a-this.moveY,this.$nextTick((function(){if(e.centerBox){var t,o,a,r,s=e.getImgAxis(n,i,e.scale),l=e.getCropAxis(),c=e.trueHeight*e.scale,u=e.trueWidth*e.scale;switch(e.rotate){case 1:case-1:case 3:case-3:t=e.cropOffsertX-e.trueWidth*(1-e.scale)/2+(c-u)/2,o=e.cropOffsertY-e.trueHeight*(1-e.scale)/2+(u-c)/2,a=t-c+e.cropW,r=o-u+e.cropH;break;default:t=e.cropOffsertX-e.trueWidth*(1-e.scale)/2,o=e.cropOffsertY-e.trueHeight*(1-e.scale)/2,a=t-u+e.cropW,r=o-c+e.cropH}s.x1>=l.x1&&(n=t),s.y1>=l.y1&&(i=o),s.x2<=l.x2&&(n=a),s.y2<=l.y2&&(i=r)}e.x=n,e.y=i,e.$emit("imgMoving",{moving:!0,axis:e.getImgAxis()}),e.$emit("img-moving",{moving:!0,axis:e.getImgAxis()})}))},leaveImg:function(t){window.removeEventListener("mousemove",this.moveImg),window.removeEventListener("touchmove",this.moveImg),window.removeEventListener("mouseup",this.leaveImg),window.removeEventListener("touchend",this.leaveImg),this.$emit("imgMoving",{moving:!1,axis:this.getImgAxis()}),this.$emit("img-moving",{moving:!1,axis:this.getImgAxis()})},scaleImg:function(){this.canScale&&window.addEventListener(this.support,this.changeSize,this.passive)},cancelScale:function(){this.canScale&&window.removeEventListener(this.support,this.changeSize)},changeSize:function(t){var e=this;t.preventDefault();var n=this.scale,i=t.deltaY||t.wheelDelta;i=navigator.userAgent.indexOf("Firefox")>0?30*i:i,this.isIE&&(i=-i);var o=this.coe,a=(o=o/this.trueWidth>o/this.trueHeight?o/this.trueHeight:o/this.trueWidth)*i;a<0?n+=Math.abs(a):n>Math.abs(a)&&(n-=Math.abs(a));var r=a<0?"add":"reduce";if(r!==this.coeStatus&&(this.coeStatus=r,this.coe=.2),this.scaling||(this.scalingSet=setTimeout((function(){e.scaling=!1,e.coe=e.coe+=.01}),50)),this.scaling=!0,!this.checkoutImgAxis(this.x,this.y,n))return!1;this.scale=n},changeScale:function(t){var e=this.scale;t=t||1;var n=20;if((t*=n=n/this.trueWidth>n/this.trueHeight?n/this.trueHeight:n/this.trueWidth)>0?e+=Math.abs(t):e>Math.abs(t)&&(e-=Math.abs(t)),!this.checkoutImgAxis(this.x,this.y,e))return!1;this.scale=e},createCrop:function(t){var e=this;t.preventDefault();var n="clientX"in t?t.clientX:t.touches?t.touches[0].clientX:0,i="clientY"in t?t.clientY:t.touches?t.touches[0].clientY:0;this.$nextTick((function(){var t=n-e.cropX,o=i-e.cropY;if(t>0?(e.cropW=t+e.cropChangeX>e.w?e.w-e.cropChangeX:t,e.cropOffsertX=e.cropChangeX):(e.cropW=e.w-e.cropChangeX+Math.abs(t)>e.w?e.cropChangeX:Math.abs(t),e.cropOffsertX=e.cropChangeX+t>0?e.cropChangeX+t:0),e.fixed){var a=e.cropW/e.fixedNumber[0]*e.fixedNumber[1];a+e.cropOffsertY>e.h?(e.cropH=e.h-e.cropOffsertY,e.cropW=e.cropH/e.fixedNumber[1]*e.fixedNumber[0],e.cropOffsertX=t>0?e.cropChangeX:e.cropChangeX-e.cropW):e.cropH=a,e.cropOffsertY=e.cropOffsertY}else o>0?(e.cropH=o+e.cropChangeY>e.h?e.h-e.cropChangeY:o,e.cropOffsertY=e.cropChangeY):(e.cropH=e.h-e.cropChangeY+Math.abs(o)>e.h?e.cropChangeY:Math.abs(o),e.cropOffsertY=e.cropChangeY+o>0?e.cropChangeY+o:0)}))},changeCropSize:function(t,e,n,i,o){t.preventDefault(),window.addEventListener("mousemove",this.changeCropNow),window.addEventListener("mouseup",this.changeCropEnd),window.addEventListener("touchmove",this.changeCropNow),window.addEventListener("touchend",this.changeCropEnd),this.canChangeX=e,this.canChangeY=n,this.changeCropTypeX=i,this.changeCropTypeY=o,this.cropX="clientX"in t?t.clientX:t.touches[0].clientX,this.cropY="clientY"in t?t.clientY:t.touches[0].clientY,this.cropOldW=this.cropW,this.cropOldH=this.cropH,this.cropChangeX=this.cropOffsertX,this.cropChangeY=this.cropOffsertY,this.fixed&&this.canChangeX&&this.canChangeY&&(this.canChangeY=0),this.$emit("change-crop-size",{width:this.cropW,height:this.cropH})},changeCropNow:function(t){var e=this;t.preventDefault();var n="clientX"in t?t.clientX:t.touches?t.touches[0].clientX:0,i="clientY"in t?t.clientY:t.touches?t.touches[0].clientY:0,o=this.w,a=this.h,r=0,s=0;if(this.centerBox){var l=this.getImgAxis(),c=l.x2,u=l.y2;r=l.x1>0?l.x1:0,s=l.y1>0?l.y1:0,o>c&&(o=c),a>u&&(a=u)}this.$nextTick((function(){var t=n-e.cropX,l=i-e.cropY;if(e.canChangeX&&(1===e.changeCropTypeX?e.cropOldW-t>0?(e.cropW=o-e.cropChangeX-t<=o-r?e.cropOldW-t:e.cropOldW+e.cropChangeX-r,e.cropOffsertX=o-e.cropChangeX-t<=o-r?e.cropChangeX+t:r):(e.cropW=Math.abs(t)+e.cropChangeX<=o?Math.abs(t)-e.cropOldW:o-e.cropOldW-e.cropChangeX,e.cropOffsertX=e.cropChangeX+e.cropOldW):2===e.changeCropTypeX&&(e.cropOldW+t>0?(e.cropW=e.cropOldW+t+e.cropOffsertX<=o?e.cropOldW+t:o-e.cropOffsertX,e.cropOffsertX=e.cropChangeX):(e.cropW=o-e.cropChangeX+Math.abs(t+e.cropOldW)<=o-r?Math.abs(t+e.cropOldW):e.cropChangeX-r,e.cropOffsertX=o-e.cropChangeX+Math.abs(t+e.cropOldW)<=o-r?e.cropChangeX-Math.abs(t+e.cropOldW):r))),e.canChangeY&&(1===e.changeCropTypeY?e.cropOldH-l>0?(e.cropH=a-e.cropChangeY-l<=a-s?e.cropOldH-l:e.cropOldH+e.cropChangeY-s,e.cropOffsertY=a-e.cropChangeY-l<=a-s?e.cropChangeY+l:s):(e.cropH=Math.abs(l)+e.cropChangeY<=a?Math.abs(l)-e.cropOldH:a-e.cropOldH-e.cropChangeY,e.cropOffsertY=e.cropChangeY+e.cropOldH):2===e.changeCropTypeY&&(e.cropOldH+l>0?(e.cropH=e.cropOldH+l+e.cropOffsertY<=a?e.cropOldH+l:a-e.cropOffsertY,e.cropOffsertY=e.cropChangeY):(e.cropH=a-e.cropChangeY+Math.abs(l+e.cropOldH)<=a-s?Math.abs(l+e.cropOldH):e.cropChangeY-s,e.cropOffsertY=a-e.cropChangeY+Math.abs(l+e.cropOldH)<=a-s?e.cropChangeY-Math.abs(l+e.cropOldH):s))),e.canChangeX&&e.fixed){var c=e.cropW/e.fixedNumber[0]*e.fixedNumber[1];c+e.cropOffsertY>a?(e.cropH=a-e.cropOffsertY,e.cropW=e.cropH/e.fixedNumber[1]*e.fixedNumber[0]):e.cropH=c}if(e.canChangeY&&e.fixed){var u=e.cropH/e.fixedNumber[1]*e.fixedNumber[0];u+e.cropOffsertX>o?(e.cropW=o-e.cropOffsertX,e.cropH=e.cropW/e.fixedNumber[0]*e.fixedNumber[1]):e.cropW=u}e.$emit("crop-sizing",{cropW:e.cropW,cropH:e.cropH})}))},checkCropLimitSize:function(){this.cropW,this.cropH;var t=this.limitMinSize,e=new Array;return e=Array.isArray[t]?t:[t,t],[parseFloat(e[0]),parseFloat(e[1])]},changeCropEnd:function(t){window.removeEventListener("mousemove",this.changeCropNow),window.removeEventListener("mouseup",this.changeCropEnd),window.removeEventListener("touchmove",this.changeCropNow),window.removeEventListener("touchend",this.changeCropEnd)},endCrop:function(){0===this.cropW&&0===this.cropH&&(this.cropping=!1),window.removeEventListener("mousemove",this.createCrop),window.removeEventListener("mouseup",this.endCrop),window.removeEventListener("touchmove",this.createCrop),window.removeEventListener("touchend",this.endCrop)},startCrop:function(){this.crop=!0},stopCrop:function(){this.crop=!1},clearCrop:function(){this.cropping=!1,this.cropW=0,this.cropH=0},cropMove:function(t){if(t.preventDefault(),!this.canMoveBox)return this.crop=!1,this.startMove(t),!1;if(t.touches&&2===t.touches.length)return this.crop=!1,this.startMove(t),this.leaveCrop(),!1;window.addEventListener("mousemove",this.moveCrop),window.addEventListener("mouseup",this.leaveCrop),window.addEventListener("touchmove",this.moveCrop),window.addEventListener("touchend",this.leaveCrop);var e,n,i="clientX"in t?t.clientX:t.touches[0].clientX,o="clientY"in t?t.clientY:t.touches[0].clientY;e=i-this.cropOffsertX,n=o-this.cropOffsertY,this.cropX=e,this.cropY=n,this.$emit("cropMoving",{moving:!0,axis:this.getCropAxis()}),this.$emit("crop-moving",{moving:!0,axis:this.getCropAxis()})},moveCrop:function(t,e){var n=this,i=0,o=0;t&&(t.preventDefault(),i="clientX"in t?t.clientX:t.touches[0].clientX,o="clientY"in t?t.clientY:t.touches[0].clientY),this.$nextTick((function(){var t,a,r=i-n.cropX,s=o-n.cropY;if(e&&(r=n.cropOffsertX,s=n.cropOffsertY),t=r<=0?0:r+n.cropW>n.w?n.w-n.cropW:r,a=s<=0?0:s+n.cropH>n.h?n.h-n.cropH:s,n.centerBox){var l=n.getImgAxis();t<=l.x1&&(t=l.x1),t+n.cropW>l.x2&&(t=l.x2-n.cropW),a<=l.y1&&(a=l.y1),a+n.cropH>l.y2&&(a=l.y2-n.cropH)}n.cropOffsertX=t,n.cropOffsertY=a,n.$emit("cropMoving",{moving:!0,axis:n.getCropAxis()}),n.$emit("crop-moving",{moving:!0,axis:n.getCropAxis()})}))},getImgAxis:function(t,e,n){t=t||this.x,e=e||this.y,n=n||this.scale;var i={x1:0,x2:0,y1:0,y2:0},o=this.trueWidth*n,a=this.trueHeight*n;switch(this.rotate){case 0:i.x1=t+this.trueWidth*(1-n)/2,i.x2=i.x1+this.trueWidth*n,i.y1=e+this.trueHeight*(1-n)/2,i.y2=i.y1+this.trueHeight*n;break;case 1:case-1:case 3:case-3:i.x1=t+this.trueWidth*(1-n)/2+(o-a)/2,i.x2=i.x1+this.trueHeight*n,i.y1=e+this.trueHeight*(1-n)/2+(a-o)/2,i.y2=i.y1+this.trueWidth*n;break;default:i.x1=t+this.trueWidth*(1-n)/2,i.x2=i.x1+this.trueWidth*n,i.y1=e+this.trueHeight*(1-n)/2,i.y2=i.y1+this.trueHeight*n}return i},getCropAxis:function(){var t={x1:0,x2:0,y1:0,y2:0};return t.x1=this.cropOffsertX,t.x2=t.x1+this.cropW,t.y1=this.cropOffsertY,t.y2=t.y1+this.cropH,t},leaveCrop:function(t){window.removeEventListener("mousemove",this.moveCrop),window.removeEventListener("mouseup",this.leaveCrop),window.removeEventListener("touchmove",this.moveCrop),window.removeEventListener("touchend",this.leaveCrop),this.$emit("cropMoving",{moving:!1,axis:this.getCropAxis()}),this.$emit("crop-moving",{moving:!1,axis:this.getCropAxis()})},getCropChecked:function(t){var e=this,n=document.createElement("canvas"),i=new Image,o=this.rotate,a=this.trueWidth,r=this.trueHeight,s=this.cropOffsertX,l=this.cropOffsertY;function c(t,e){n.width=Math.round(t),n.height=Math.round(e)}i.onload=function(){if(0!==e.cropW){var u=n.getContext("2d"),d=1;e.high&!e.full&&(d=window.devicePixelRatio),1!==e.enlarge&!e.full&&(d=Math.abs(Number(e.enlarge)));var p=e.cropW*d,h=e.cropH*d,f=a*e.scale*d,m=r*e.scale*d,v=(e.x-s+e.trueWidth*(1-e.scale)/2)*d,b=(e.y-l+e.trueHeight*(1-e.scale)/2)*d;switch(c(p,h),u.save(),o){case 0:e.full?(c(p/e.scale,h/e.scale),u.drawImage(i,v/e.scale,b/e.scale,f/e.scale,m/e.scale)):u.drawImage(i,v,b,f,m);break;case 1:case-3:e.full?(c(p/e.scale,h/e.scale),v=v/e.scale+(f/e.scale-m/e.scale)/2,b=b/e.scale+(m/e.scale-f/e.scale)/2,u.rotate(90*o*Math.PI/180),u.drawImage(i,b,-v-m/e.scale,f/e.scale,m/e.scale)):(v+=(f-m)/2,b+=(m-f)/2,u.rotate(90*o*Math.PI/180),u.drawImage(i,b,-v-m,f,m));break;case 2:case-2:e.full?(c(p/e.scale,h/e.scale),u.rotate(90*o*Math.PI/180),v/=e.scale,b/=e.scale,u.drawImage(i,-v-f/e.scale,-b-m/e.scale,f/e.scale,m/e.scale)):(u.rotate(90*o*Math.PI/180),u.drawImage(i,-v-f,-b-m,f,m));break;case 3:case-1:e.full?(c(p/e.scale,h/e.scale),v=v/e.scale+(f/e.scale-m/e.scale)/2,b=b/e.scale+(m/e.scale-f/e.scale)/2,u.rotate(90*o*Math.PI/180),u.drawImage(i,-b-f/e.scale,v,f/e.scale,m/e.scale)):(v+=(f-m)/2,b+=(m-f)/2,u.rotate(90*o*Math.PI/180),u.drawImage(i,-b-f,v,f,m));break;default:e.full?(c(p/e.scale,h/e.scale),u.drawImage(i,v/e.scale,b/e.scale,f/e.scale,m/e.scale)):u.drawImage(i,v,b,f,m)}u.restore()}else{var g=a*e.scale,y=r*e.scale,_=n.getContext("2d");switch(_.save(),o){case 0:c(g,y),_.drawImage(i,0,0,g,y);break;case 1:case-3:c(y,g),_.rotate(90*o*Math.PI/180),_.drawImage(i,0,-y,g,y);break;case 2:case-2:c(g,y),_.rotate(90*o*Math.PI/180),_.drawImage(i,-g,-y,g,y);break;case 3:case-1:c(y,g),_.rotate(90*o*Math.PI/180),_.drawImage(i,-g,0,g,y);break;default:c(g,y),_.drawImage(i,0,0,g,y)}_.restore()}t(n)},"data"!==this.img.substr(0,4)&&(i.crossOrigin="Anonymous"),i.src=this.imgs},getCropData:function(t){var e=this;this.getCropChecked((function(n){t(n.toDataURL("image/"+e.outputType,e.outputSize))}))},getCropBlob:function(t){var e=this;this.getCropChecked((function(n){n.toBlob((function(e){return t(e)}),"image/"+e.outputType,e.outputSize)}))},showPreview:function(){var t=this;if(!this.isCanShow)return!1;this.isCanShow=!1,setTimeout((function(){t.isCanShow=!0}),16);var e=this.cropW,n=this.cropH,i=this.scale,o={};o.div={width:"".concat(e,"px"),height:"".concat(n,"px")};var a=(this.x-this.cropOffsertX)/i,r=(this.y-this.cropOffsertY)/i;o.w=e,o.h=n,o.url=this.imgs,o.img={width:"".concat(this.trueWidth,"px"),height:"".concat(this.trueHeight,"px"),transform:"scale(".concat(i,")translate3d(").concat(a,"px, ").concat(r,"px, ").concat(0,"px)rotateZ(").concat(90*this.rotate,"deg)")},o.html='\n
\n
\n \n
\n
'),this.$emit("realTime",o),this.$emit("real-time",o)},reload:function(){var t=this,e=new Image;e.onload=function(){t.w=parseFloat(window.getComputedStyle(t.$refs.cropper).width),t.h=parseFloat(window.getComputedStyle(t.$refs.cropper).height),t.trueWidth=e.width,t.trueHeight=e.height,t.original?t.scale=1:t.scale=t.checkedMode(),t.$nextTick((function(){t.x=-(t.trueWidth-t.trueWidth*t.scale)/2+(t.w-t.trueWidth*t.scale)/2,t.y=-(t.trueHeight-t.trueHeight*t.scale)/2+(t.h-t.trueHeight*t.scale)/2,t.loading=!1,t.autoCrop&&t.goAutoCrop(),t.$emit("img-load","success"),t.$emit("imgLoad","success"),setTimeout((function(){t.showPreview()}),20)}))},e.onerror=function(){t.$emit("imgLoad","error"),t.$emit("img-load","error")},e.src=this.imgs},checkedMode:function(){var t=1,e=(this.trueWidth,this.trueHeight),n=this.mode.split(" ");switch(n[0]){case"contain":this.trueWidth>this.w&&(t=this.w/this.trueWidth),this.trueHeight*t>this.h&&(t=this.h/this.trueHeight);break;case"cover":(e*=t=this.w/this.trueWidth)0,a=(o?this.trueHeight:this.trueWidth)*this.scale,r=(o?this.trueWidth:this.trueHeight)*this.scale;n=an?n:s,l=l>i?i:l,this.fixed&&(l=s/this.fixedNumber[0]*this.fixedNumber[1]),l>this.h&&(s=(l=this.h)/this.fixedNumber[1]*this.fixedNumber[0]),this.changeCrop(s,l)}},changeCrop:function(t,e){var n=this;if(this.centerBox){var i=this.getImgAxis();t>i.x2-i.x1&&(e=(t=i.x2-i.x1)/this.fixedNumber[0]*this.fixedNumber[1]),e>i.y2-i.y1&&(t=(e=i.y2-i.y1)/this.fixedNumber[1]*this.fixedNumber[0])}this.cropW=t,this.cropH=e,this.checkCropLimitSize(),this.$nextTick((function(){n.cropOffsertX=(n.w-n.cropW)/2,n.cropOffsertY=(n.h-n.cropH)/2,n.centerBox&&n.moveCrop(null,!0)}))},refresh:function(){var t=this;this.img,this.imgs="",this.scale=1,this.crop=!1,this.rotate=0,this.w=0,this.h=0,this.trueWidth=0,this.trueHeight=0,this.clearCrop(),this.$nextTick((function(){t.checkedImg()}))},rotateLeft:function(){this.rotate=this.rotate<=-3?0:this.rotate-1},rotateRight:function(){this.rotate=this.rotate>=3?0:this.rotate+1},rotateClear:function(){this.rotate=0},checkoutImgAxis:function(t,e,n){t=t||this.x,e=e||this.y,n=n||this.scale;var i=!0;if(this.centerBox){var o=this.getImgAxis(t,e,n),a=this.getCropAxis();o.x1>=a.x1&&(i=!1),o.x2<=a.x2&&(i=!1),o.y1>=a.y1&&(i=!1),o.y2<=a.y2&&(i=!1)}return i}},mounted:function(){this.support="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll";var t=this,e=navigator.userAgent;this.isIOS=!!e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(e,n,i){for(var o=atob(this.toDataURL(n,i).split(",")[1]),a=o.length,r=new Uint8Array(a),s=0;s=0&&(t="bottom"),t}},mounted:function(){this.parent.addEventListener("scroll",this.handleScroll,!1),this.parent.addEventListener("resize",this.handleScroll,!1)},beforeDestroy:function(){this.parent.removeEventListener("scroll",this.handleScroll,!1),this.parent.removeEventListener("resize",this.handleScroll,!1)},methods:{getScroll:function(t,e){var n=e?"scrollTop":"scrollLeft",i=t[e?"pageYOffset":"pageXOffset"];return"number"!=typeof i&&(i=window.document.documentElement[n]),i},getOffset:function(t){var e=t.getBoundingClientRect(),n=this.getScroll(this.parent,!0),i=this.getScroll(this.parent),o=window.document.body,a=o.clientTop||0,r=o.clientLeft||0;return{top:e.top+n-a,left:e.left+i-r}},handleScroll:function(){var t=this.affix,e=this.getScroll(this.parent,!0),n=this.getOffset(this.$el),i=this.parent.innerHeight,o=this.$el.getElementsByTagName("div")[0].offsetHeight;n.top-this.offsetTope&&"top"==this.offsetType&&t&&(this.slot=!1,this.slotStyle={},this.affix=!1,this.styles=null,this.$emit("on-change",!1)),n.top+this.offsetBottom+o>e+i&&"bottom"==this.offsetType&&!t?(this.affix=!0,this.styles={bottom:"".concat(this.offsetBottom,"px"),left:"".concat(n.left,"px"),width:"".concat(this.$el.offsetWidth,"px")},this.$emit("on-change",!0)):n.top+this.offsetBottom+o table > tbody",dropColClass:".el-table__header-wrapper tr",ghostClass:"avue-crud__ghost"},k=Object(i.a)({name:"crud",inject:["crud"],props:{page:{type:Object,default:function(){return{}}}},data:function(){return{config:C,defaultPage:{total:0,pagerCount:7,currentPage:1,pageSize:10,pageSizes:[10,20,30,40,50,100],layout:"total, sizes, prev, pager, next, jumper",background:!0}}},created:function(){this.pageInit(),this.crud.$emit("on-load",this.defaultPage)},watch:{page:{handler:function(){this.pageInit()},deep:!0},pageFlag:function(){this.crud.getTableHeight()},"defaultPage.total":function(t){this.defaultPage.total===(this.defaultPage.currentPage-1)*this.defaultPage.pageSize&&0!=this.defaultPage.total&&(this.defaultPage.currentPage=this.defaultPage.currentPage-1,this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("current-change",this.defaultPage.currentPage),this.updateValue())}},computed:{pageFlag:function(){return 0!=this.defaultPage.total}},methods:{pageInit:function(){this.defaultPage=Object.assign(this.defaultPage,this.page,{total:Number(this.page.total||this.defaultPage.total),pagerCount:Number(this.page.pagerCount||this.defaultPage.pagerCount),currentPage:Number(this.page.currentPage||this.defaultPage.currentPage),pageSize:Number(this.page.pageSize||this.defaultPage.pageSize)}),this.updateValue()},updateValue:function(){this.crud.$emit("update:page",this.defaultPage)},nextClick:function(t){this.crud.$emit("next-click",t)},prevClick:function(t){this.crud.$emit("prev-click",t)},sizeChange:function(t){this.defaultPage.currentPage=1,this.defaultPage.pageSize=t,this.updateValue(),this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("size-change",t)},currentChange:function(t){this.updateValue(),this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("current-change",t)}}}),S=Object(s.a)(k,(function(){var t=this,e=t._self._c;t._self._setupProxy;return t.pageFlag&&t.vaildData(t.crud.tableOption.page,!0)?e("el-card",{class:t.b("pagination"),attrs:{shadow:t.crud.isCard}},[t._t("page"),t._v(" "),e("el-pagination",{attrs:{small:t.crud.isMobile,disabled:t.defaultPage.disabled,"hide-on-single-page":t.vaildData(t.crud.tableOption.simplePage,t.config.simplePage),"pager-count":t.defaultPage.pagerCount,"current-page":t.defaultPage.currentPage,background:t.vaildData(t.defaultPage.background,t.config.pageBackground),"page-size":t.defaultPage.pageSize,"page-sizes":t.defaultPage.pageSizes,layout:t.defaultPage.layout,total:t.defaultPage.total},on:{"update:currentPage":function(e){return t.$set(t.defaultPage,"currentPage",e)},"update:current-page":function(e){return t.$set(t.defaultPage,"currentPage",e)},"size-change":t.sizeChange,"prev-click":t.prevClick,"next-click":t.nextClick,"current-change":t.currentChange}})],2):t._e()}),[],!1,null,null,null).exports,j=n(11),P=n(4),E=n(7),D=n(2),T=Object(i.a)({name:"crud__search",inject:["crud"],mixins:[P.a,j.a],data:function(){return{show:!1,searchIndex:2,searchShow:!0,searchForm:{}}},props:{search:Object},watch:{"crud.propOption":{handler:function(){this.dataFormat()},deep:!0},show:function(){this.crud.getTableHeight()},searchShow:function(){this.crud.getTableHeight()},search:{handler:function(){this.searchForm=Object.assign(this.searchForm,this.search)},immediate:!0,deep:!0}},created:function(){this.initFun(),this.dataFormat()},computed:{option:function(){var t=this,e=this.crud.option;this.searchIndex=e.searchIndex||2;var n,i;return n=e,(i=t.deepClone(n)).column=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=[],o=0;return(n=n.sort((function(t,e){return(e.searchOrder||0)-(t.searchOrder||0)}))).forEach((function(n){if(n.search){var a=othis.searchIndex},searchLen:function(){var t=0;return this.crud.propOption.forEach((function(e){e.search&&t++})),t},searchFlag:function(){return!!this.crud.$scopedSlots.search||0!==this.searchLen}},methods:{initFun:function(){var t=this;["searchReset","searchChange"].forEach((function(e){return t.crud[e]=t[e]}))},getSlotName:function(t){return t.replace("Search","")},handleChange:function(){this.crud.$emit("update:search",this.searchForm)},searchChange:function(t,e){this.crud.$emit("search-change",Object(D.i)(t),e)},resetChange:function(){this.crud.$emit("search-reset",this.searchForm)},searchReset:function(){this.$refs.form.resetForm()},handleSearchShow:function(){this.searchShow=!this.searchShow},dataFormat:function(){var t=this.crud.option;this.searchShow=this.vaildData(t.searchShow,C.searchShow)}}}),$=Object(s.a)(T,(function(){var t=this,e=t._self._c;t._self._setupProxy;return t.searchFlag?e("el-card",{directives:[{name:"show",rawName:"v-show",value:t.searchShow&&t.searchFlag,expression:"searchShow && searchFlag"}],class:t.b(),attrs:{shadow:t.crud.isCard}},[t._t("search",null,{row:t.searchForm,search:t.searchForm,size:t.crud.controlSize}),t._v(" "),e("avue-form",{ref:"form",attrs:{option:t.option},on:{submit:t.searchChange,change:t.handleChange,"reset-change":t.resetChange},scopedSlots:t._u([{key:"menuForm",fn:function(n){return[t._t("searchMenu",null,null,Object.assign(n,{search:t.searchForm,row:t.searchForm})),t._v(" "),t.isSearchIcon?[!1===t.show?e("el-button",{attrs:{type:"text",icon:"el-icon-arrow-down"},on:{click:function(e){t.show=!0}}},[t._v(t._s(t.t("crud.open")))]):t._e(),t._v(" "),!0===t.show?e("el-button",{attrs:{type:"text",icon:"el-icon-arrow-up"},on:{click:function(e){t.show=!1}}},[t._v(t._s(t.t("crud.shrink")))]):t._e()]:t._e()]}},t._l(t.crud.searchSlot,(function(e){return{key:t.getSlotName(e),fn:function(n){return[t._t(e,null,null,Object.assign(n,{search:t.searchForm,row:t.searchForm}))]}}}))],null,!0),model:{value:t.searchForm,callback:function(e){t.searchForm=e},expression:"searchForm"}})],2):t._e()}),[],!1,null,null,null).exports,A=n(16),B=n(3),M=n(8),I=n(17),L={name:"icon-temp",props:{small:Boolean,text:{type:String,default:""}}},N=Object(s.a)(L,(function(){var t=this._self._c;return t("span",{staticClass:"avue-icon",class:{"avue-icon--small":this.small}},[this.text.includes("#")?t("svg",{attrs:{"aria-hidden":"true"}},[t("use",{attrs:{"xlink:href":this.text}})]):t("i",{class:this.text})])}),[],!1,null,null,null).exports;function z(t){return(z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function F(t){return function(t){if(Array.isArray(t))return H(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return H(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return H(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:B.g;return this.validatenull(t)?[]:Array.isArray(t)?t:t.split(e)},handleDetail:function(t,e){var n=t[e.prop],i=e.parentProp?(this.crud.cascaderDIC[t.$index]||{})[e.prop]:this.crud.DIC[e.prop];return n=Object(A.a)(t,e,this.crud.tableOption,i),this.validatenull(i)||!0===this.crud.tableOption.filterDic||(t["$"+e.prop]=n),n},getImgList:function(t,e){var n=(e.propsHttp||{}).home||"",i=(e.props||{}).value||B.e.value,o=this.handleDetail(t,e);if(this.validatenull(o))return[];if("picture-img"==e.listType)return[n+o];var a=this.corArray(this.deepClone(o),e.separator);return a.forEach((function(t,e){a[e]=n+("object"===z(t)?t[i]:t)})),a}}},W=Object(s.a)(R,(function(){var t=this,e=t._self._c;return t.getColumnProp(t.column,"hide")?e("el-table-column",{key:t.column.prop,attrs:{prop:t.column.prop,label:t.column.label,"column-key":t.column.prop,"filter-placement":"bottom-end",filters:t.getColumnProp(t.column,"filters"),"filter-method":t.getColumnProp(t.column,"filterMethod")?t.handleFiltersMethod:void 0,"filter-multiple":t.vaildData(t.column.filterMultiple,!0),"show-overflow-tooltip":t.column.overHidden,"min-width":t.column.minWidth,sortable:t.getColumnProp(t.column,"sortable"),"sort-method":t.column.sortMethod,"sort-orders":t.column.sortOrders,"sort-by":t.column.sortBy,"render-header":t.column.renderHeader,align:t.column.align||t.crud.tableOption.align,"header-align":t.column.headerAlign||t.crud.tableOption.headerAlign,width:t.getColumnProp(t.column,"width"),fixed:t.getColumnProp(t.column,"fixed")},scopedSlots:t._u([{key:"header",fn:function({$index:n}){return[t.crud.getSlotName(t.column,"H",t.crud.$scopedSlots)?t._t(t.crud.getSlotName(t.column,"H"),null,null,{column:t.column,$index:n}):e("span",[t._v(t._s(t.column.label))])]}},{key:"default",fn:function({row:n,$index:i}){return[n.$cellEdit&&t.column.cell?e("el-form-item",{attrs:{prop:t.crud.isTree?"":`list.${i}.${t.column.prop}`,label:t.vaildLabel(t.column,n," "),"label-width":t.vaildLabel(t.column,n,"1px"),rules:t.column.rules}},[e("el-tooltip",{attrs:{content:(t.crud.listError[`list.${i}.${t.column.prop}`]||{}).msg,disabled:!(t.crud.listError[`list.${i}.${t.column.prop}`]||{}).valid,placement:"top"}},[t.crud.getSlotName(t.column,"F",t.crud.$scopedSlots)?t._t(t.crud.getSlotName(t.column,"F"),null,null,{row:n,dic:t.crud.DIC[t.column.prop],size:t.crud.isMediumSize,index:i,disabled:t.crud.btnDisabledList[i],label:t.handleDetail(n,t.column),$cell:n.$cellEdit}):e("form-temp",t._b({attrs:{column:t.column,size:t.crud.isMediumSize,"table-data":{index:i,row:n,label:t.handleDetail(n,t.column)},dic:(t.crud.cascaderDIC[i]||{})[t.column.prop]||t.crud.DIC[t.column.prop],props:t.column.props||t.crud.tableOption.props,readonly:t.column.readonly,disabled:t.crud.disabled||t.crud.tableOption.disabled||t.column.disabled||t.crud.btnDisabledList[i],clearable:t.vaildData(t.column.clearable,!1),"column-slot":t.crud.mainSlot},on:{change:function(e){return t.columnChange(n,t.column,i)}},scopedSlots:t._u([t._l(t.crud.mainSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0),model:{value:n[t.column.prop],callback:function(e){t.$set(n,t.column.prop,e)},expression:"row[column.prop]"}},"form-temp",t.$uploadFun(t.column,t.crud),!1))],2)],1):t.crud.$scopedSlots[t.column.prop]?t._t(t.column.prop,null,{row:n,index:i,dic:t.crud.DIC[t.column.prop],size:t.crud.isMediumSize,label:t.handleDetail(n,t.column)}):[["img","upload"].includes(t.column.type)?e("span",[e("div",{staticClass:"avue-crud__img"},t._l(t.getImgList(n,t.column),(function(i,o){return e(t.getIsVideo(i),{key:o,tag:"component",attrs:{src:i},on:{click:function(e){e.stopPropagation(),t.openImg(t.getImgList(n,t.column),o)}}})})),1)]):"url"===t.column.type?e("span",t._l(t.corArray(n[t.column.prop],t.column.separator),(function(n,i){return e("el-link",{key:i,attrs:{type:"primary",href:n,target:t.column.target||"_blank"}},[t._v(t._s(n))])})),1):"rate"===t.column.type?e("span",[e("avue-rate",{attrs:{disabled:""},model:{value:n[t.column.prop],callback:function(e){t.$set(n,t.column.prop,e)},expression:"row[column.prop]"}})],1):"color"===t.column.type?e("i",{staticClass:"avue-crud__color",style:{backgroundColor:n[t.column.prop]}}):"icon"===t.column.type?e("icon-temp",{attrs:{text:n[t.column.prop]}}):t.column.html?e("span",{domProps:{innerHTML:t._s(t.handleDetail(n,t.column))}}):e("span",{domProps:{textContent:t._s(t.handleDetail(n,t.column))}})]]}}],null,!0)}):t._e()}),[],!1,null,null,null).exports,U={name:"column-dynamic",components:{columnSlot:W},inject:["dynamic","crud"],props:{columnOption:Object},created:function(){var t=this,e=["getColumnProp","handleFiltersMethod","handleFilters"];Object.keys(this.dynamic).forEach((function(n){e.includes(n)&&(t[n]=t.dynamic[n])}))}},V=Object(s.a)(U,(function(){var t=this,e=t._self._c;return t.getColumnProp(t.columnOption,"hide")?e("el-table-column",{key:t.columnOption.prop,attrs:{prop:t.columnOption.prop,label:t.columnOption.label,"filter-placement":"bottom-end",filters:t.getColumnProp(t.columnOption,"filters"),"filter-method":t.getColumnProp(t.columnOption,"filterMethod")?t.handleFiltersMethod:void 0,"filter-multiple":t.vaildData(t.columnOption.filterMultiple,!0),"show-overflow-tooltip":t.columnOption.overHidden,"min-width":t.columnOption.minWidth,sortable:t.getColumnProp(t.columnOption,"sortable"),"render-header":t.columnOption.renderHeader,align:t.columnOption.align||t.crud.tableOption.align,"header-align":t.columnOption.headerAlign||t.crud.tableOption.headerAlign,width:t.getColumnProp(t.columnOption,"width"),fixed:t.getColumnProp(t.columnOption,"fixed")}},[t._l(t.columnOption.children,(function(n){return[n.children&&n.children.length>0?e("column-dynamic",{key:n.label,attrs:{columnOption:n},scopedSlots:t._u([t._l(t.crud.mainSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)}):e("column-slot",{attrs:{column:n,"column-option":t.columnOption.children},scopedSlots:t._u([t._l(t.crud.mainSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)})]}))],2):t._e()}),[],!1,null,null,null).exports;function Y(t){return function(t){if(Array.isArray(t))return X(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return X(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n0?e("column-dynamic",{key:n.label,attrs:{columnOption:n},scopedSlots:t._u([t._l(t.crud.mainSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)}):e("column-slot",{attrs:{column:n,"column-option":t.columnOption},scopedSlots:t._u([t._l(t.crud.mainSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)})]})),t._v(" "),t._t("footer")],2)}),[],!1,null,null,null).exports,J=Object(i.a)({name:"crud",mixins:[P.a],directives:{permission:w},inject:["crud"],data:function(){return{dateCreate:!1,pickerOptions:{shortcuts:[{text:"今日",onClick:function(t){var e=new Date,n=new Date;n.setTime(n.getTime()),t.$emit("pick",[n,e])}},{text:"昨日",onClick:function(t){var e=new Date,n=new Date;n.setTime(n.getTime()-864e5),t.$emit("pick",[n,e])}},{text:"最近一周",onClick:function(t){var e=new Date,n=new Date;n.setTime(n.getTime()-6048e5),t.$emit("pick",[n,e])}},{text:"最近一个月",onClick:function(t){var e=new Date,n=new Date;n.setTime(n.getTime()-2592e6),t.$emit("pick",[n,e])}},{text:"最近三个月",onClick:function(t){var e=new Date,n=new Date;n.setTime(n.getTime()-7776e6),t.$emit("pick",[n,e])}}]},config:C}},created:function(){this.initFun()},methods:{dateChange:function(t){this.dateCreate?this.crud.$emit("date-change",t):this.dateCreate=!0},initFun:function(){this.vaildData=D.x,this.crud.rowExcel=this.rowExcel,this.crud.rowPrint=this.rowPrint},rowExcel:function(){this.crud.$refs.dialogExcel.handleShow()},rowPrint:function(){this.$Print(this.crud.$refs.table)}}}),Q=Object(s.a)(J,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b("menu")},[t.vaildData(t.crud.tableOption.menuLeft,!0)?e("div",{class:t.b("left")},[t.vaildData(t.crud.tableOption.addBtn,t.config.addBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("addBtn"),expression:"crud.getPermission('addBtn')"}],attrs:{type:"primary",icon:t.crud.getBtnIcon("addBtn"),size:t.crud.isMediumSize},on:{click:t.crud.rowAdd}},[t.crud.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("addBtn"))+"\n ")]],2):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.addRowBtn,t.config.addRowBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("addRowBtn"),expression:"crud.getPermission('addRowBtn')"}],attrs:{type:"primary",icon:t.crud.getBtnIcon("addBtn"),size:t.crud.isMediumSize},on:{click:t.crud.rowCellAdd}},[t.crud.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("addBtn"))+"\n ")]],2):t._e(),t._v(" "),t._t("menuLeft",null,{size:t.crud.isMediumSize})],2):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.menuRight,!0)?e("div",{class:t.b("right")},[t.vaildData(t.crud.tableOption.dateBtn,t.config.dateBtn)?e("avue-date",{staticStyle:{display:"inline-block","margin-right":"20px"},attrs:{type:"datetimerange","value-format":"yyyy-MM-dd HH:mm:ss",format:"yyyy-MM-dd HH:mm:ss",pickerOptions:t.pickerOptions,size:t.crud.isMediumSize},on:{change:t.dateChange}}):t._e(),t._v(" "),t._t("menuRight",null,{size:t.crud.isMediumSize}),t._v(" "),t.vaildData(t.crud.tableOption.excelBtn,t.config.excelBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("excelBtn"),expression:"crud.getPermission('excelBtn')"}],attrs:{icon:t.crud.getBtnIcon("excelBtn"),circle:"",size:t.crud.isMediumSize},on:{click:t.rowExcel}}):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.printBtn,t.config.printBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("printBtn"),expression:"crud.getPermission('printBtn')"}],attrs:{icon:t.crud.getBtnIcon("printBtn"),circle:"",size:t.crud.isMediumSize},on:{click:t.rowPrint}}):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.refreshBtn,t.config.refreshBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("refreshBtn"),expression:"crud.getPermission('refreshBtn')"}],attrs:{icon:t.crud.getBtnIcon("refreshBtn"),circle:"",size:t.crud.isMediumSize},on:{click:t.crud.refreshChange}}):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.columnBtn,t.config.columnBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("columnBtn"),expression:"crud.getPermission('columnBtn')"}],attrs:{icon:t.crud.getBtnIcon("columnBtn"),circle:"",size:t.crud.isMediumSize},on:{click:function(e){return t.crud.$refs.dialogColumn.handleShow()}}}):t._e(),t._v(" "),(t.crud.$refs.headerSearch||{}).searchFlag&&t.vaildData(t.crud.tableOption.searchShowBtn,0)?e("el-button",{attrs:{icon:t.crud.getBtnIcon("searchBtn"),circle:"",size:t.crud.isMediumSize},on:{click:function(e){return t.crud.$refs.headerSearch.handleSearchShow()}}}):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.filterBtn,t.config.filterBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("filterBtn"),expression:"crud.getPermission('filterBtn')"}],attrs:{icon:t.crud.getBtnIcon("filterBtn"),circle:"",size:t.crud.isMediumSize},on:{click:function(e){return t.crud.$refs.dialogFilter.handleShow()}}}):t._e()],2):t._e()])}),[],!1,null,null,null).exports,Z=Object(i.a)({name:"crud",mixins:[P.a],inject:["crud"],data:function(){return{data:[],columnBox:!1}},computed:{defaultColumn:function(){return[{label:this.t("common.hide"),prop:"hide"},{label:this.t("crud.column.fixed"),prop:"fixed"},{label:this.t("crud.column.filters"),prop:"filters"},{label:this.t("crud.column.sortable"),prop:"sortable"}/*,{label:this.t("crud.column.index"),prop:"index",hide:!0},{label:this.t("crud.column.width"),prop:"width",hide:!0}*/]}},methods:{handleShow:function(){var t=this;this.data=[],this.crud.propOption.forEach((function(e){0!=e.showColumn&&t.data.push(e)})),this.columnBox=!0,this.$nextTick((function(){return t.rowDrop()}))},handleChange:function(t){["hide","filters"].includes(t)&&this.crud.refreshTable()},rowDrop:function(){var t=this,e=this.$refs.table.$el.querySelectorAll(C.dropRowClass)[0];this.crud.tableDrop("column",e,(function(e){var n=e.oldIndex,i=e.newIndex;t.crud.headerSort(n,i),t.crud.refreshTable((function(){return t.rowDrop()}))}))}}}),tt=Object(s.a)(Z,(function(){var t=this,e=t._self._c;t._self._setupProxy;return t.columnBox?e("div",[e("el-drawer",{staticClass:"avue-dialog",class:[t.b("dialog"),t.b("column")],attrs:{"lock-scroll":"","append-to-body":"",title:t.t("crud.showTitle"),size:t.crud.isMobile?"100%":"40%",visible:t.columnBox},on:{"update:visible":function(e){t.columnBox=e}}},[e("el-table",{ref:"table",attrs:{data:t.data,height:"100%",size:"small",border:""}},[e("el-table-column",{key:"label",attrs:{align:"center",width:"100","header-align":"center",prop:"label",label:t.t("crud.column.name")}}),t._v(" "),t._l(t.defaultColumn,(function(n,i){return[e("el-table-column",{key:i,attrs:{label:n.label,prop:n.prop,align:"center","header-align":"center"},scopedSlots:t._u([{key:"default",fn:function({row:i}){return[e("el-checkbox",{on:{change:function(e){return t.handleChange(n.prop)}},model:{value:t.crud.objectOption[i.prop][n.prop],callback:function(e){t.$set(t.crud.objectOption[i.prop],n.prop,e)},expression:"crud.objectOption[row.prop][item.prop]"}})]}}],null,!0)})]}))],2)],1)],1):t._e()}),[],!1,null,null,null).exports,et=Object(i.a)({name:"crud",mixins:[P.a],inject:["crud"],data:function(){return{box:!1,columnObj:{},symbolDic:[{label:"=",value:"="},{label:"≠",value:"≠"},{label:"like",value:"like"},{label:">",value:">"},{label:"≥",value:"≥"},{label:"<",value:"<"},{label:"≤",value:"≤"},{label:"∈",value:"∈"}],list:[],columnOption:{}}},methods:{handleShow:function(){this.getColumnOption(),this.box=!0},getColumnOption:function(){var t=[];this.deepClone(this.crud.propOption).forEach((function(e){!1!==e.showColumn&&t.push(Object.assign(e,{value:e.prop}))})),this.columnOption=t,this.columnObj=this.columnOption[0]},handleDelete:function(t){this.list.splice(t,1)},handleClear:function(){this.list=[]},handleValueClear:function(){this.list.forEach((function(t,e){return t.value=""}))},handleSubmit:function(){var t=[];this.list.forEach((function(e){t.push([e.text,e.symbol,e.value])})),this.crud.$emit("filter",t),this.box=!1},handleChange:function(t){this.list[t].value=""},handleAdd:function(){var t=this.columnObj.prop;this.list.push({text:t,value:"",symbol:this.symbolDic[0].value})}}}),nt=Object(s.a)(et,(function(){var t=this,e=t._self._c;t._self._setupProxy;return t.box?e("div",[e("el-drawer",{staticClass:"avue-dialog",class:[t.b("dialog"),t.b("filter")],attrs:{"lock-scroll":"","append-to-body":"",title:t.t("crud.filterTitle"),size:t.crud.isMobile?"100%":"60%",visible:t.box},on:{"update:visible":function(e){t.box=e}}},[e("el-row",{attrs:{span:24}},[e("div",{class:t.b("filter-menu")},[e("el-button-group",[e("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleAdd}},[t._v(t._s(t.t("crud.filter.addBtn")))]),t._v(" "),e("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleClear}},[t._v(t._s(t.t("crud.filter.resetBtn")))]),t._v(" "),e("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleValueClear}},[t._v(t._s(t.t("crud.filter.clearBtn")))])],1)],1),t._v(" "),t._l(t.list,(function(n,i){return e("el-col",{key:i,class:t.b("filter-item"),attrs:{md:12,xs:24,sm:12}},[e("avue-select",{class:t.b("filter-label"),attrs:{dic:t.columnOption,clearable:!1,size:t.crud.isMediumSize},on:{change:function(e){return t.handleChange(i)}},model:{value:n.text,callback:function(e){t.$set(n,"text",e)},expression:"column.text"}}),t._v(" "),e("avue-select",{class:t.b("filter-symbol"),attrs:{dic:t.symbolDic,clearable:!1,size:t.crud.isMediumSize},model:{value:n.symbol,callback:function(e){t.$set(n,"symbol",e)},expression:"column.symbol"}}),t._v(" "),e("avue-input",{class:t.b("filter-value"),attrs:{size:t.crud.isMediumSize},model:{value:n.value,callback:function(e){t.$set(n,"value",e)},expression:"column.value"}}),t._v(" "),e("el-button",{class:t.b("filter-icon"),attrs:{type:"danger",size:"mini",circle:"",icon:"el-icon-minus"},on:{click:function(e){return t.handleDelete(i)}}})],1)})),t._v(" "),e("el-col",{staticClass:"avue-form__menu avue-form__menu--right",attrs:{span:24}},[e("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleSubmit}},[t._v(t._s(t.t("crud.filter.submitBtn")))]),t._v(" "),e("el-button",{attrs:{size:t.crud.isMediumSize},on:{click:function(e){t.box=!1}}},[t._v(t._s(t.t("crud.filter.cancelBtn")))])],1)],2)],1)],1):t._e()}),[],!1,null,null,null).exports,it=Object(i.a)({name:"crud",mixins:[P.a],inject:["crud"],data:function(){return{disabled:!1,config:C,boxType:"",fullscreen:!1,size:null,boxVisible:!1}},props:{value:{type:Object,default:function(){return{}}}},computed:{option:function(){var t=this,e=this.deepClone(this.crud.tableOption);return e.boxType=this.boxType,e.column=this.deepClone(this.crud.propOption),e.menuBtn=!1,this.isAdd?(e.submitBtn=e.saveBtn,e.submitText=this.crud.menuIcon("saveBtn"),e.submitIcon=this.crud.getBtnIcon("saveBtn")):this.isEdit?(e.submitBtn=e.updateBtn,e.submitText=this.crud.menuIcon("updateBtn"),e.submitIcon=this.crud.getBtnIcon("updateBtn")):this.isView&&(e.detail=!0),e.emptyBtn=e.cancelBtn,e.emptyText=this.crud.menuIcon("cancelBtn"),e.emptyIcon=this.crud.getBtnIcon("cancelBtn"),this.crud.isGroup||(e.dicFlag=!1,e.dicData=this.crud.DIC),this.validatenull(e.dicFlag)||e.column.forEach((function(n){n.boxType=t.boxType,n.dicFlag=n.dicFlag||e.dicFlag})),e},isView:function(){return"view"===this.boxType},isAdd:function(){return"add"===this.boxType},isEdit:function(){return"edit"===this.boxType},direction:function(){return this.crud.tableOption.dialogDirection},width:function(){return this.vaildData(this.crud.tableOption.dialogWidth+"",this.crud.isMobile?"100%":C.dialogWidth+"")},dialogType:function(){return this.isDrawer?"elDrawer":"elDialog"},dialogTop:function(){return this.isDrawer||this.fullscreen?"0":this.crud.tableOption.dialogTop},isDrawer:function(){return"drawer"===this.crud.tableOption.dialogType},params:function(){return this.isDrawer?{size:this.fullscreen?"100%":this.width,direction:this.crud.tableOption.dialogDirection}:{width:this.width,fullscreen:this.fullscreen}},dialogTitle:function(){var t="".concat(this.boxType);if(!this.validatenull(this.boxType))return this.crud.tableOption[t+"Title"]||this.t("crud.".concat(t,"Title"))},dialogMenuPosition:function(){return this.crud.option.dialogMenuPosition||"right"}},methods:{submit:function(){this.$refs.tableForm.submit()},reset:function(){this.$refs.tableForm.resetForm()},getSlotName:function(t){return t.replace("Form","")},handleOpened:function(){var t=this;this.$nextTick((function(){["clearValidate","validate","resetForm"].forEach((function(e){t.crud[e]=t.$refs.tableForm[e]}))}))},handleChange:function(){this.crud.$emit("input",this.crud.tableForm),this.crud.$emit("change",this.crud.tableForm)},handleTabClick:function(t,e){this.crud.$emit("tab-click",t,e)},handleFullScreen:function(){this.isDrawer&&(this.validatenull(this.size)?this.size="100%":this.size=""),this.fullscreen?this.fullscreen=!1:this.fullscreen=!0},handleError:function(t){this.crud.$emit("error",t)},handleSubmit:function(t,e){this.isAdd?this.rowSave(e):this.isEdit&&this.rowUpdate(e)},rowSave:function(t){this.crud.$emit("row-save",Object(D.i)(this.crud.tableForm),this.closeDialog,t)},rowUpdate:function(t){this.crud.$emit("row-update",Object(D.i)(this.crud.tableForm),this.crud.tableIndex,this.closeDialog,t)},closeDialog:function(t){var e=this;(t=this.deepClone(t))&&function(){if(e.isEdit){var n=e.crud.findData(t[e.crud.rowKey]),i=n.parentList,o=n.index;i&&i.splice(o,1,t)}else if(e.isAdd){var a=e.crud.findData(t[e.crud.rowParentKey]).item;a?(a[e.crud.childrenKey]||e.$set(a,e.crud.childrenKey,[]),e.crud.tableOption.lazy&&e.$set(a,e.crud.hasChildrenKey,!0),a[e.crud.childrenKey].push(t)):e.crud.list.push(t)}}(),this.hide()},hide:function(t){var e=this,n=function(){t&&t(),e.crud.tableIndex=-1,e.boxVisible=!1,Object.keys(e.crud.tableForm).forEach((function(t){e.$delete(e.crud.tableForm,t)}))};"function"==typeof this.crud.beforeClose?this.crud.beforeClose(n,this.boxType):n()},show:function(t){var e=this;this.boxType=t;var n=function(){e.fullscreen=e.crud.tableOption.dialogFullscreen,e.boxVisible=!0};"function"==typeof this.crud.beforeOpen?this.crud.beforeOpen(n,this.boxType):n()}}}),ot=Object(s.a)(it,(function(){var t=this,e=t._self._c;t._self._setupProxy;return t.boxVisible?e("div",[e(t.dialogType,t._b({directives:[{name:"dialogDrag",rawName:"v-dialogDrag",value:t.vaildData(t.crud.tableOption.dialogDrag,t.config.dialogDrag),expression:"vaildData(crud.tableOption.dialogDrag,config.dialogDrag)"}],tag:"component",class:["avue-dialog",t.b("dialog"),{"avue-dialog--fullscreen":t.fullscreen}],attrs:{"lock-scroll":"","destroy-on-close":t.crud.tableOption.dialogDestroy,wrapperClosable:t.crud.tableOption.dialogClickModal,direction:t.direction,"custom-class":t.crud.tableOption.dialogCustomClass,"append-to-body":"",top:t.dialogTop,title:t.dialogTitle,"close-on-press-escape":t.crud.tableOption.dialogEscape,"close-on-click-modal":t.vaildData(t.crud.tableOption.dialogClickModal,!1),modal:t.crud.tableOption.dialogModal,"show-close":t.crud.tableOption.dialogCloseBtn,visible:t.boxVisible,"before-close":t.hide},on:{"update:visible":function(e){t.boxVisible=e},opened:t.handleOpened}},"component",t.params,!1),[e("div",{class:t.b("dialog__header"),attrs:{slot:"title"},slot:"title"},[e("span",{staticClass:"el-dialog__title"},[t._v(t._s(t.dialogTitle))]),t._v(" "),e("div",{class:t.b("dialog__menu")},[e("i",{staticClass:"el-dialog__close",class:t.fullscreen?"el-icon-news":"el-icon-full-screen",on:{click:t.handleFullScreen}})])]),t._v(" "),e("avue-form",t._b({ref:"tableForm",attrs:{status:t.disabled,option:t.option},on:{"update:status":function(e){t.disabled=e},change:t.handleChange,submit:t.handleSubmit,"reset-change":t.hide,"tab-click":t.handleTabClick,error:t.handleError},scopedSlots:t._u([t._l(t.crud.formSlot,(function(e){return{key:t.getSlotName(e),fn:function(n){return[t._t(e,null,null,Object.assign(n,{type:t.boxType}))]}}}))],null,!0),model:{value:t.crud.tableForm,callback:function(e){t.$set(t.crud,"tableForm",e)},expression:"crud.tableForm"}},"avue-form",t.$uploadFun({},t.crud),!1)),t._v(" "),e("span",{staticClass:"avue-dialog__footer",class:"avue-dialog__footer--"+t.dialogMenuPosition},[t.vaildData(t.option.submitBtn,!0)&&!t.isView?e("el-button",{attrs:{disabled:t.disabled,size:t.crud.controlSize,icon:t.option.submitIcon,type:"primary"},on:{click:t.submit}},[t._v(t._s(t.option.submitText))]):t._e(),t._v(" "),t.vaildData(t.option.emptyBtn,!0)&&!t.isView?e("el-button",{attrs:{disabled:t.disabled,size:t.crud.controlSize,icon:t.option.emptyIcon},on:{click:t.reset}},[t._v(t._s(t.option.emptyText))]):t._e(),t._v(" "),t._t("menuForm",null,{disabled:t.disabled,size:t.crud.controlSize,type:t.boxType})],2)],1)],1):t._e()}),[],!1,null,null,null).exports,at={name:"crud",mixins:[P.a],inject:["crud"],data:function(){return{option:{},columnOption:{},box:!1,form:{name:this.crud.tableOption.title}}},methods:{handleShow:function(){this.getColumnOption(),this.getOption(),this.box=!0},handleSubmit:function(){this.$Export.excel({title:this.form.name,columns:this.getColumn(),data:this.handleSum()}),this.box=!1},handleSum:function(){var t=this,e=this.crud.tableOption,n=this.crud.propOption,i=this.form.type?this.crud.list:this.crud.tableSelect,o=[];return this.form.params.includes("data")&&i.forEach((function(e){var i=t.deepClone(e);n.forEach((function(e){e.bind&&(i[e.prop]=Object(D.m)(i,e.bind)),t.validatenull(i["$"+e.prop])||(i[e.prop]=i["$"+e.prop])})),o.push(i)})),this.form.params.includes("sum")&&e.showSummary&&o.push(this.crud.sumsList),o},getOption:function(){var t,e=this;this.option={submitBtn:!1,emptyBtn:!1,column:[{label:"文件名",prop:"name",span:24},{label:"选择数据",prop:"type",span:24,type:"select",dicData:[{label:"当前数据(当前页全部的数据)",value:!0},{label:"选中的数据(当前页选中的数据)",value:!1}]},{label:"选择字段",prop:"prop",type:"tree",multiple:!0,checkStrictly:!0,span:24,props:{value:"prop"},dicData:this.columnOption},{label:"参数设置",prop:"params",type:"checkbox",span:24,value:["header","data"].concat((t=[],e.crud.isHeader&&t.push("headers"),e.crud.isShowSummary&&t.push("sum"),t)),dicData:[{label:"表头",disabled:!0,value:"header"},{label:"数据源",value:"data"}].concat(function(){var t=[];return t.push({label:"复杂表头",value:"headers",disabled:!e.crud.isHeader}),t.push({label:"合计统计",value:"sum",disabled:!e.crud.isShowSummary}),t}())}]},this.form.type=0==this.crud.selectLen},getColumnOption:function(){var t=[];this.deepClone(this.crud.columnOption).forEach((function(e){var n=e.children;n&&!Array.isArray(n)&&delete e.children,!1!==e.showColumn&&t.push(e)})),this.columnOption=t,this.form.prop=this.columnOption.map((function(t){return t.prop}))},getColumn:function(){var t=this,e=this.deepClone(this.columnOption);if(!this.form.params)return[];if(this.form.params.includes("headers")){return function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];n.forEach((function(i,o){i.children?e(i.children):t.form.prop.includes(i.prop)||n.splice(o,1)}))}(e),e}var n=[];return function e(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];i.forEach((function(i,o){i.children?e(i.children):t.form.prop.includes(i.prop)&&n.push(i)}))}(e),n}}},rt=Object(s.a)(at,(function(){var t=this,e=t._self._c;return t.box?e("div",[e("el-dialog",{staticClass:"avue-dialog",attrs:{title:t.t("crud.excelBtn"),"lock-scroll":"","append-to-body":"",visible:t.box,width:t.crud.isMobile?"100%":"30%"},on:{"update:visible":function(e){t.box=e}}},[e("avue-form",{attrs:{option:t.option},model:{value:t.form,callback:function(e){t.form=e},expression:"form"}}),t._v(" "),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleSubmit}},[t._v(t._s(t.t("crud.filter.submitBtn")))]),t._v(" "),e("el-button",{attrs:{size:t.crud.isMediumSize},on:{click:function(e){t.box=!1}}},[t._v(t._s(t.t("crud.filter.cancelBtn")))])],1)],1)],1):t._e()}),[],!1,null,null,null).exports,st=Object(i.a)({name:"crud",data:function(){return{config:C}},mixins:[P.a],inject:["crud"],directives:{permission:w},computed:{menuType:function(){return this.crud.tableOption.menuType||this.$AVUE.menuType||"button"},isIconMenu:function(){return"icon"===this.menuType},isTextMenu:function(){return"text"===this.menuType},isMenu:function(){return"menu"===this.menuType}},methods:{menuText:function(t){return["text","menu"].includes(this.menuType)?"text":t}}}),lt=Object(s.a)(st,(function(){var t=this,e=t._self._c;t._self._setupProxy;return t.vaildData(t.crud.tableOption.menu,t.config.menu)&&t.crud.getPermission("menu")?e("el-table-column",{key:"menu",class:t.b("btn"),attrs:{prop:"menu",fixed:t.vaildData(t.crud.tableOption.menuFixed,t.config.menuFixed),label:t.crud.tableOption.menuTitle||t.t("crud.menu"),align:t.crud.tableOption.menuAlign||t.config.menuAlign,"header-align":t.crud.tableOption.menuHeaderAlign||t.config.menuHeaderAlign,width:t.crud.isMobile?t.crud.tableOption.menuXsWidth||t.config.menuXsWidth:t.crud.tableOption.menuWidth||t.config.menuWidth},scopedSlots:t._u([{key:"default",fn:function({row:n,$index:i}){return[t.isMenu?e("el-dropdown",{attrs:{size:t.crud.isMediumSize}},[e("el-button",{attrs:{type:"text",size:t.crud.isMediumSize}},[t._v("\n "+t._s(t.crud.tableOption.menuBtnTitle||t.t("crud.menuBtn"))+"\n "),e("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),e("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t.vaildData(t.crud.tableOption.viewBtn,t.config.viewBtn)?e("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("viewBtn",n,i),expression:"crud.getPermission('viewBtn',row,$index)"}],attrs:{icon:t.crud.getBtnIcon("viewBtn")},nativeOn:{click:function(e){return t.crud.rowView(n,i)}}},[t._v(t._s(t.crud.menuIcon("viewBtn")))]):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.editBtn,t.config.editBtn)?e("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("editBtn",n,i),expression:"crud.getPermission('editBtn',row,$index)"}],attrs:{icon:t.crud.getBtnIcon("editBtn")},nativeOn:{click:function(e){return t.crud.rowEdit(n,i)}}},[t._v(t._s(t.crud.menuIcon("editBtn")))]):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.copyBtn,t.config.copyBtn)?e("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("copyBtn",n,i),expression:"crud.getPermission('copyBtn',row,$index)"}],attrs:{icon:t.crud.getBtnIcon("copyBtn")},nativeOn:{click:function(e){return t.crud.rowCopy(n)}}},[t._v(t._s(t.crud.menuIcon("copyBtn")))]):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.delBtn,t.config.delBtn)?e("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("delBtn",n,i),expression:"crud.getPermission('delBtn',row,$index)"}],attrs:{icon:t.crud.getBtnIcon("delBtn")},nativeOn:{click:function(e){return t.crud.rowDel(n,i)}}},[t._v(t._s(t.crud.menuIcon("delBtn")))]):t._e(),t._v(" "),t._t("menuBtn",null,{row:n,type:t.menuText("primary"),disabled:t.crud.btnDisabled,size:t.crud.isMediumSize,index:i})],2)],1):["button","text","icon"].includes(t.menuType)?[t.vaildData(t.crud.tableOption.cellBtn,t.config.cellBtn)?[t.vaildData(t.crud.tableOption.editBtn,t.config.editBtn)&&!n.$cellEdit?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("editBtn",n,i),expression:"crud.getPermission('editBtn',row,$index)"}],attrs:{type:t.menuText("primary"),icon:t.crud.getBtnIcon("editBtn"),size:t.crud.isMediumSize,disabled:t.crud.btnDisabledList[i]},on:{click:function(e){return e.stopPropagation(),t.crud.rowCell(n,i)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("editBtn"))+"\n ")]],2):t.vaildData(t.crud.tableOption.saveBtn,t.config.saveBtn)&&n.$cellEdit?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("saveBtn",n,i),expression:"crud.getPermission('saveBtn',row,$index)"}],attrs:{type:t.menuText("primary"),icon:t.crud.getBtnIcon("saveBtn"),size:t.crud.isMediumSize,disabled:t.crud.btnDisabledList[i]},on:{click:function(e){return e.stopPropagation(),t.crud.rowCell(n,i)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("saveBtn"))+"\n ")]],2):t._e(),t._v(" "),n.$cellEdit?e("el-button",{attrs:{type:t.menuText("danger"),icon:t.crud.getBtnIcon("cancelBtn"),size:t.crud.isMediumSize,disabled:t.crud.btnDisabledList[i]},on:{click:function(e){return e.stopPropagation(),t.crud.rowCancel(n,i)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("cancelBtn"))+"\n ")]],2):t._e()]:t._e(),t._v(" "),t.vaildData(t.crud.tableOption.viewBtn,t.config.viewBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("viewBtn",n,i),expression:"crud.getPermission('viewBtn',row,$index)"}],attrs:{type:t.menuText("success"),icon:t.crud.getBtnIcon("viewBtn"),size:t.crud.isMediumSize,disabled:t.btnDisabled},on:{click:function(e){return e.stopPropagation(),t.crud.rowView(n,i)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("viewBtn"))+"\n ")]],2):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.editBtn,t.config.editBtn)&&!t.crud.tableOption.cellBtn?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("editBtn",n,i),expression:"crud.getPermission('editBtn',row,$index)"}],attrs:{type:t.menuText("primary"),icon:t.crud.getBtnIcon("editBtn"),size:t.crud.isMediumSize,disabled:t.btnDisabled},on:{click:function(e){return e.stopPropagation(),t.crud.rowEdit(n,i)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("editBtn"))+"\n ")]],2):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.copyBtn,t.config.copyBtn)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("copyBtn",n,i),expression:"crud.getPermission('copyBtn',row,$index)"}],attrs:{type:t.menuText("primary"),icon:t.crud.getBtnIcon("copyBtn"),size:t.crud.isMediumSize,disabled:t.btnDisabled},on:{click:function(e){return e.stopPropagation(),t.crud.rowCopy(n)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("copyBtn"))+"\n ")]],2):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.delBtn,t.config.delBtn)&&!n.$cellEdit?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("delBtn",n,i),expression:"crud.getPermission('delBtn',row,$index)"}],attrs:{type:t.menuText("danger"),icon:t.crud.getBtnIcon("delBtn"),size:t.crud.isMediumSize,disabled:t.btnDisabled},on:{click:function(e){return e.stopPropagation(),t.crud.rowDel(n,i)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("delBtn"))+"\n ")]],2):t._e()]:t._e(),t._v(" "),t._t("menu",null,{row:n,type:t.menuText("primary"),disabled:t.crud.btnDisabled,size:t.crud.isMediumSize,index:i})]}}],null,!0)}):t._e()}),[],!1,null,null,null).exports,ct=Object(i.a)({name:"crud",data:function(){return{config:C}},mixins:[P.a],inject:["crud"],mounted:function(){this.setSort()},methods:{indexMethod:function(t){return t+1+((this.crud.page.currentPage||1)-1)*(this.crud.page.pageSize||10)},setSort:function(){this.rowDrop(),this.columnDrop()},rowDrop:function(){var t=this,e=this.crud.$refs.table.$el.querySelectorAll(this.config.dropRowClass)[0];this.crud.tableDrop("row",e,(function(e){var n=e.oldIndex,i=e.newIndex,o=t.crud.list.splice(n,1)[0];t.crud.list.splice(i,0,o),t.crud.$emit("sortable-change",n,i),t.crud.refreshTable((function(){return t.rowDrop()}))}))},columnDrop:function(){var t=this,e=this.crud.$refs.table.$el.querySelector(this.config.dropColClass),n=0;["selection","index","expand"].forEach((function(e){t.crud.tableOption[e]&&(n+=1)})),this.crud.tableDrop("column",e,(function(e){t.crud.headerSort(e.oldIndex-n,e.newIndex-n),t.columnDrop()}))}}}),ut=Object(s.a)(ct,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",[e("el-table-column",{attrs:{width:"1px"}}),t._v(" "),t.crud.tableOption.expand?e("el-table-column",{key:"expand",attrs:{type:"expand",width:t.crud.tableOption.expandWidth||t.config.expandWidth,fixed:t.vaildData(t.crud.tableOption.expandFixed,t.config.expandFixed),align:"center"},scopedSlots:t._u([{key:"default",fn:function({row:e}){return[t._t("expand",null,{row:e,index:e.$index})]}}],null,!0)}):t._e(),t._v(" "),t.crud.tableOption.selection?e("el-table-column",{key:"selection",attrs:{fixed:t.vaildData(t.crud.tableOption.selectionFixed,t.config.selectionFixed),type:"selection",selectable:t.crud.tableOption.selectable,"reserve-selection":t.vaildData(t.crud.tableOption.reserveSelection),width:t.crud.tableOption.selectionWidth||t.config.selectionWidth,align:"center"}}):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.index)?e("el-table-column",{key:"index",attrs:{fixed:t.vaildData(t.crud.tableOption.indexFixed,t.config.indexFixed),label:t.crud.tableOption.indexLabel||t.config.indexLabel,type:"index",width:t.crud.tableOption.indexWidth||t.config.indexWidth,index:t.indexMethod,align:"center"}}):t._e()],1)}),[],!1,null,null,null).exports;function dt(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return pt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return pt(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,r=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,a=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function pt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:[];Array.isArray(n)&&n.forEach((function(n){t.push(n),n.children&&e(n.children)}))}(this.columnOption),t=Object(E.a)(t)},isShowSummary:function(){return this.option.showSummary},isHeader:function(){var t=!1;return this.columnOption.forEach((function(e){e.children&&(t=!0)})),t},isTree:function(){var t=!1;return this.data.forEach((function(e){e.children&&(t=!0)})),t},isCard:function(){return this.option.card?"always":"never"},expandLevel:function(){return this.parentOption.expandLevel||0},expandAll:function(){return this.parentOption.expandAll||!1},parentOption:function(){return this.tableOption||{}},columnOption:function(){return this.tableOption.column||[]},sumColumnList:function(){return this.tableOption.sumColumnList||[]},selectLen:function(){return this.tableSelect?this.tableSelect.length:0}},watch:{value:{handler:function(){this.tableForm=this.value},immediate:!0,deep:!0},list:{handler:function(){this.cellForm.list=this.list},deep:!0},data:{handler:function(){this.dataInit()},deep:!0}},props:{spanMethod:Function,summaryMethod:Function,rowStyle:Function,cellStyle:Function,beforeClose:Function,beforeOpen:Function,rowClassName:Function,cellClassName:Function,headerCellClassName:Function,uploadBefore:Function,uploadAfter:Function,uploadDelete:Function,uploadPreview:Function,uploadError:Function,uploadExceed:Function,permission:{type:[Function,Object],default:function(){return{}}},value:{type:Object,default:function(){return{}}},search:{type:Object,default:function(){return{}}},page:{type:Object,default:function(){return{}}},tableLoading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},data:{type:Array,required:!0,default:function(){return[]}}},methods:{handleValidate:function(t,e,n){this.listError[t]||this.$set(this.listError,t,{valid:!1,msg:""}),this.listError[t].valid=!e,this.listError[t].msg=n},getPermission:function(t,e,n){return"function"==typeof this.permission?this.permission(t,e,n):!!this.validatenull(this.permission[t])||this.permission[t]},getTableHeight:function(){var t=this;this.isAutoHeight?this.$nextTick((function(){var e=t.$refs.table,n=t.$refs.tablePage;if(e){var i=e.$el,o=n.$el.offsetHeight||20;t.tableHeight=document.documentElement.clientHeight-i.offsetTop-o-t.calcHeight}})):this.tableHeight=this.tableOption.height,this.refreshTable()},doLayout:function(){this.$refs.table.doLayout()},refreshTable:function(t){this.reload=Math.random(),this.tableSelect=[],this.$nextTick((function(){t&&t()}))},treeLoad:function(t,e,n){this.$emit("tree-load",t,e,(function(e){t.children=e,n(e)}))},menuIcon:function(t){return this.vaildData(this.tableOption[t+"Text"],this.t("crud."+t))},getBtnIcon:function(t){var e=t+"Icon";return this.tableOption[e]||C[e]},validateField:function(t){return this.$refs.dialogForm.$refs.tableForm.validateField(t)},handleGetRowKeys:function(t){return t[this.rowKey]},selectClear:function(){this.$emit("selection-clear",this.deepClone(this.tableSelect)),this.$refs.table.clearSelection()},toggleRowSelection:function(t,e){this.$refs.table.toggleRowSelection(t,e)},toggleRowExpansion:function(t,e){this.$refs.table.toggleRowExpansion(t,e)},setCurrentRow:function(t){this.$refs.table.setCurrentRow(t)},dataInit:function(){var t=this;this.list=this.data,this.list.forEach((function(e,n){e.$cellEdit&&!t.formCascaderList[n]&&(t.formCascaderList[n]=t.deepClone(e)),t.$set(e,"$cellEdit",e.$cellEdit||!1),t.$set(e,"$index",n)}))},headerDragend:function(t,e,n,i){this.objectOption[n.property].width=t,this.$emit("header-dragend",t,e,n,i)},headerSort:function(t,e){var n=this.columnOption,i=n.splice(t,1)[0];n.splice(e,0,i),this.refreshTable()},clearFilter:function(t){this.$refs.table.clearFilter(t)},expandChange:function(t,e){this.$emit("expand-change",t,e)},currentRowChange:function(t,e){this.$emit("current-row-change",t,e)},refreshChange:function(){this.$emit("refresh-change")},toggleSelection:function(t){var e=this;t?t.forEach((function(t){e.$refs.table.toggleRowSelection(t)})):this.$refs.table.clearSelection()},selectionChange:function(t){this.tableSelect=t,this.$emit("selection-change",this.tableSelect)},select:function(t,e){this.$emit("select",t,e)},selectAll:function(t){this.$emit("select-all",t)},filterChange:function(t){this.$emit("filter-change",t)},sortChange:function(t){this.$emit("sort-change",t)},rowDblclick:function(t,e){this.$emit("row-dblclick",t,e)},rowClick:function(t,e,n){this.$emit("row-click",t,e,n)},clearSort:function(){this.$refs.table.clearSort()},cellMouseEnter:function(t,e,n,i){this.$emit("cell-mouse-enter",t,e,n,i)},cellMouseLeave:function(t,e,n,i){this.$emit("cell-mouse-leave",t,e,n,i)},cellClick:function(t,e,n,i){this.$emit("cell-click",t,e,n,i)},headerClick:function(t,e){this.$emit("header-click",t,e)},rowContextmenu:function(t,e,n){this.$emit("row-contextmenu",t,e,n)},headerContextmenu:function(t,e){this.$emit("header-contextmenu",t,e)},cellDblclick:function(t,e,n,i){this.$emit("cell-dblclick",t,e,n,i)},rowCell:function(t,e){t.$cellEdit?this.rowCellUpdate(t,e):this.rowCellEdit(t,e)},rowCellAdd:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.list.length,n=Object(E.c)(this.propOption).tableForm;t=this.deepClone(Object.assign({$cellEdit:!0,$index:e},n,t)),this.list.push(t),this.formIndexList.push(e)},rowCancel:function(t,e){this.validatenull(t[this.rowKey])?this.list.splice(e,1):(this.formCascaderList[e].$cellEdit=!1,this.$set(this.list,e,this.formCascaderList[e]),delete this.formCascaderList[e],this.$set(this.cascaderDIC,e,this.cascaderDicList[e]),this.formIndexList.splice(this.formIndexList.indexOf(e),1))},rowCellEdit:function(t,e){var n=this;t.$cellEdit=!0,this.$set(this.list,e,t),this.formCascaderList[e]=this.deepClone(t),this.cascaderDicList[e]=this.deepClone(this.cascaderDIC[e]),setTimeout((function(){n.formIndexList.push(e)}),1e3)},validateCellForm:function(t){var e=this;return new Promise((function(t){e.$refs.cellForm.validate((function(e,n){t(n)}))}))},validateCellField:function(t){var e,n=!0,i=dt(this.$refs.cellForm.fields);try{for(i.s();!(e=i.n()).done;){var o=e.value;if(o.prop.split(".")[1]==t&&this.$refs.cellForm.validateField(o.prop,(function(t){t&&(n=!1)})),!n)break}}catch(t){i.e(t)}finally{i.f()}return n},rowCellUpdate:function(t,e){var n=this;t=this.deepClone(t);var i=function(){n.btnDisabledList[e]=!1,n.btnDisabled=!1,t.$cellEdit=!1,n.$set(n.list,e,t),delete n.formCascaderList[e]},o=function(){n.btnDisabledList[e]=!1,n.btnDisabled=!1};this.validateCellField(e)&&(this.btnDisabledList[e]=!0,this.btnDisabled=!0,this.validatenull(t[this.rowKey])?this.$emit("row-save",t,i,o):this.$emit("row-update",t,e,i,o))},rowAdd:function(){this.$refs.dialogForm.show("add")},rowSave:function(){return this.$refs.dialogForm.$refs.tableForm.submit()},rowUpdate:function(){return this.$refs.dialogForm.$refs.tableForm.submit()},closeDialog:function(){return this.$refs.dialogForm.closeDialog()},getPropRef:function(t){return this.$refs.dialogForm.$refs.tableForm.getPropRef(t)},rowEdit:function(t,e){this.tableForm=this.deepClone(t),this.tableIndex=e,this.$emit("input",this.tableForm),this.$refs.dialogForm.show("edit")},rowCopy:function(t){this.tableForm=this.deepClone(t),delete this.tableForm[this.rowKey],this.tableIndex=-1,this.$emit("input",this.tableForm),this.$refs.dialogForm.show("add")},rowView:function(t,e){this.tableForm=this.deepClone(t),this.tableIndex=e,this.$emit("input",this.tableForm),this.$refs.dialogForm.show("view")},rowDel:function(t,e){var n=this;this.$emit("row-del",t,e,(function(){var e=n.findData(t[n.rowKey]),i=e.parentList,o=e.index;i&&i.splice(o,1)}))},tableSpanMethod:function(t){if("function"==typeof this.spanMethod)return this.spanMethod(t)},tableSummaryMethod:function(t){var e=this,n={};if("function"==typeof this.summaryMethod)return this.summaryMethod(t);var i=t.columns,o=t.data,a=[];return i.length>0&&i.forEach((function(t,i){var r=e.sumColumnList.find((function(e){return e.name===t.property}));if(r){var s=r.decimals||2,l=r.label||"";switch(r.type){case"count":a[i]=l+o.length;break;case"avg":var c=o.map((function(e){return Number(e[t.property])})),u=1;a[i]=c.reduce((function(t,e){var n=Number(e);return isNaN(n)?t:(t*(u-1)+e)/u++}),0),a[i]=l+a[i].toFixed(s);break;case"sum":var d=o.map((function(e){return Number(e[t.property])}));a[i]=d.reduce((function(t,e){var n=Number(e);return isNaN(n)?t:t+e}),0),a[i]=l+a[i].toFixed(s)}n[t.property]=a[i]}else a[i]=""})),this.sumsList=n,a},tableDrop:function(t,e,n){if(!0!==this.isSortable){if("row"==t&&!this.isRowSort)return;if("column"==t&&!this.isColumnSort)return}window.Sortable?window.Sortable.create(e,{ghostClass:C.ghostClass,chosenClass:C.ghostClass,animation:500,delay:0,onEnd:function(t){return n(t)}}):x.a.logs("Sortable")},findData:function(t){var e=this,n={};return function i(o,a){o.forEach((function(r,s){r[e.rowKey]==t&&(n={item:r,index:s,parentList:o,parent:a}),r[e.childrenKey]&&i(r[e.childrenKey],r)}))}(this.list),n}}}),ft=Object(s.a)(ht,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b({card:!t.option.card})},[t.tableOption.title?e(t.tableOption.titleSize||"h2",{tag:"component",style:t.tableOption.titleStyle},[t._v(t._s(t.tableOption.title))]):t._e(),t._v(" "),e("header-search",{ref:"headerSearch",attrs:{search:t.search},scopedSlots:t._u([{key:"search",fn:function(e){return[t._t("search",null,null,e)]}},{key:"searchMenu",fn:function(e){return[t._t("searchMenu",null,null,e)]}},t._l(t.searchSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)}),t._v(" "),e("el-card",{attrs:{shadow:t.isCard}},[t.vaildData(t.tableOption.header,!0)?e("header-menu",{ref:"headerMenu",scopedSlots:t._u([{key:"menuLeft",fn:function(e){return[t._t("menuLeft",null,null,e)]}},{key:"menuRight",fn:function(e){return[t._t("menuRight",null,null,e)]}}],null,!0)}):t._e(),t._v(" "),t.vaildData(t.tableOption.tip,t.config.tip)&&t.tableOption.selection?e("el-tag",{staticClass:"avue-crud__tip"},[e("span",{staticClass:"avue-crud__tip-name"},[t._v("\n "+t._s(t.t("crud.tipStartTitle"))+"\n "),e("span",{staticClass:"avue-crud__tip-count"},[t._v(t._s(t.selectLen))]),t._v("\n "+t._s(t.t("crud.tipEndTitle"))+"\n ")]),t._v(" "),t.vaildData(t.tableOption.selectClearBtn,t.config.selectClearBtn)&&t.tableOption.selection?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("selectClearBtn"),expression:"getPermission('selectClearBtn')"}],attrs:{type:"text",size:"small"},on:{click:t.selectClear}},[t._v(t._s(t.t("crud.emptyBtn")))]):t._e(),t._v(" "),t._t("tip")],2):t._e(),t._v(" "),t._t("header"),t._v(" "),e("el-form",{ref:"cellForm",attrs:{model:t.cellForm,"show-message":!1},on:{validate:t.handleValidate}},[e("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.tableLoading,expression:"tableLoading"}],key:t.reload,ref:"table",class:{"avue-crud--indeterminate":t.vaildData(t.tableOption.indeterminate,!1)},attrs:{data:t.cellForm.list,"row-key":t.handleGetRowKeys,size:t.$AVUE.tableSize||t.controlSize,lazy:t.vaildData(t.tableOption.lazy,!1),load:t.treeLoad,"tree-props":t.treeProps,"expand-row-keys":t.tableOption.expandRowKeys,"default-expand-all":t.tableOption.defaultExpandAll,"highlight-current-row":t.tableOption.highlightCurrentRow,"show-summary":t.tableOption.showSummary,"summary-method":t.tableSummaryMethod,"span-method":t.tableSpanMethod,stripe:t.tableOption.stripe,"show-header":t.tableOption.showHeader,"default-sort":t.tableOption.defaultSort,"row-class-name":t.rowClassName,"cell-class-name":t.cellClassName,"row-style":t.rowStyle,"cell-style":t.cellStyle,fit:t.tableOption.fit,"header-cell-class-name":t.headerCellClassName,"max-height":t.isAutoHeight?t.tableHeight:t.tableOption.maxHeight,height:t.tableHeight,width:t.setPx(t.tableOption.width,t.config.width),border:t.tableOption.border},on:{"current-change":t.currentRowChange,"expand-change":t.expandChange,"header-dragend":t.headerDragend,"row-click":t.rowClick,"row-dblclick":t.rowDblclick,"cell-mouse-enter":t.cellMouseEnter,"cell-mouse-leave":t.cellMouseLeave,"cell-click":t.cellClick,"header-click":t.headerClick,"row-contextmenu":t.rowContextmenu,"header-contextmenu":t.headerContextmenu,"cell-dblclick":t.cellDblclick,"filter-change":t.filterChange,"selection-change":t.selectionChange,select:t.select,"select-all":t.selectAll,"sort-change":t.sortChange}},[e("template",{slot:"empty"},[e("div",{class:t.b("empty")},[t.$slots.empty?t._t("empty"):e("el-empty",{attrs:{"image-size":100,description:t.tableOption.emptyText}})],2)]),t._v(" "),e("column",{attrs:{columnOption:t.columnOption},scopedSlots:t._u([t._l(t.mainSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)},[e("column-default",{ref:"columnDefault",attrs:{slot:"header"},slot:"header",scopedSlots:t._u([{key:"expand",fn:function({row:e,index:n}){return[t._t("expand",null,{row:e,index:n})]}}],null,!0)}),t._v(" "),t._v(" "),e("column-menu",{attrs:{slot:"footer"},slot:"footer",scopedSlots:t._u([{key:"menu",fn:function(e){return[t._t("menu",null,null,e)]}},{key:"menuBtn",fn:function(e){return[t._t("menuBtn",null,null,e)]}}],null,!0)})],1)],2)],1),t._v(" "),t._t("footer")],2),t._v(" "),e("table-page",{ref:"tablePage",attrs:{page:t.page}},[e("template",{slot:"page"},[t._t("page")],2)],2),t._v(" "),e("dialog-form",{ref:"dialogForm",scopedSlots:t._u([t._l(t.formSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}})),{key:"menuForm",fn:function(e){return[t._t("menuForm",null,null,e)]}}],null,!0)}),t._v(" "),e("dialog-column",{ref:"dialogColumn"}),t._v(" "),e("dialog-excel",{ref:"dialogExcel"}),t._v(" "),e("dialog-filter",{ref:"dialogFilter"})],1)}),[],!1,null,null,null).exports,mt={img:"img",title:"title",info:"info"},vt=Object(i.a)({name:"card",props:{props:{type:Object,default:function(){return mt}},option:{type:Object,default:function(){return{}}},data:{type:Array,default:function(){return[]}}},data:function(){return{propsDefault:mt}},computed:{imgKey:function(){return this.option.props.img||this.propsDefault.img},titleKey:function(){return this.option.props.title||this.propsDefault.title},infoKey:function(){return this.option.props.info||this.propsDefault.info},span:function(){return this.option.span||8},gutter:function(){return this.option.gutter||20}},methods:{rowAdd:function(){this.$emit("row-add")},rowClick:function(t,e){this.$emit("row-click",t,e)}}}),bt=Object(s.a)(vt,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-row",{attrs:{span:24,gutter:t.gutter}},[t.vaildData(t.option.addBtn,!0)?e("el-col",{attrs:{span:t.span}},[e("div",{class:t.b("item",{add:!0}),on:{click:function(e){return t.rowAdd()}}},[e("i",{staticClass:"el-icon-plus"}),t._v(" "),e("span",[t._v("添加")])])]):t._e(),t._v(" "),t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{span:t.span}},[e("div",{class:t.b("item"),on:{click:function(e){return t.rowClick(n,i)}}},[e("div",{class:t.b("body")},[e("div",{class:t.b("avatar")},[e("img",{attrs:{src:n[t.imgKey],alt:""}})]),t._v(" "),e("div",{class:t.b("detail")},[e("div",{class:t.b("title")},[t._v(t._s(n[t.titleKey]))]),t._v(" "),e("div",{class:t.b("info")},[t._v(t._s(n[t.infoKey]))])])]),t._v(" "),e("div",{class:t.b("menu")},[t._t("menu",null,{index:i,row:n})],2)])])}))],2)],1)}),[],!1,null,null,null).exports,gt=Object(i.a)({name:"code",props:{height:{type:Number,default:200},syntax:{type:String,default:"javascript"}},computed:{styleName:function(){return{height:this.setPx(this.height)}}},mounted:function(){window.hljs?window.hljs&&"function"==typeof window.hljs.highlightBlock&&window.hljs.highlightBlock(this.$refs.container):x.a.logs("hljs")}}),yt=Object(s.a)(gt,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-scrollbar",{style:t.styleName},[e("pre",[t._v(" "),e("code",{ref:"container",class:t.syntax},[t._v("\n "),t._t("default"),t._v("\n ")],2),t._v("\n ")])])],1)}),[],!1,null,null,null).exports,_t=n(9),xt=n.n(_t);function wt(t){return(wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Ot,Ct=Object(i.a)({name:"chat",data:function(){return{upload:{box:!1,src:"",type:"",title:""},visible:!1,imgSrc:"",videoSrc:"",audioSrc:"",keys:"",show:!1,msg:""}},props:{beforeOpen:Function,tools:{type:Object,default:function(){return{img:!0,video:!0,file:!0}}},placeholder:{type:String,default:"请输入..."},width:{type:[String,Number],default:320},height:{type:[String,Number],default:520},value:{type:String},notice:{type:Boolean,default:!0},audio:{type:Array,default:function(){return["https://www.helloweba.net/demo/notifysound/notify.ogg","https://www.helloweba.net/demo/notifysound/notify.mp3","https://www.helloweba.net/demo/notifysound/notify.wav"]}},config:{type:Object,default:function(){return{}}},keylist:{type:Array,default:function(){return[]}},list:{type:Array,default:function(){return[]}}},watch:{"upload.box":function(t){var e=this;t&&this.$nextTick((function(){e.$refs.form.clearValidate()}))},value:{handler:function(){this.msg=this.value},immediate:!0},msg:{handler:function(){this.$emit("input",this.msg)},immediate:!0}},computed:{heightStyleName:function(){return{height:this.setPx(this.height)}},widthStyleName:function(){return{width:this.setPx(this.width)}},msgActive:function(){return!this.validatenull(this.msg.replace(/[\r\n]/g,""))}},methods:{uploadSubmit:function(){var t=this;this.$refs.form.validate((function(e){e&&(t.upload.box=!1,t.$emit("submit",t.getDetail(t.upload)))}))},handleUpload:function(t){this.upload.type=t,this.upload.src="","img"===t?this.upload.title="图片上传":"video"===t?this.upload.title="视频上传":"file"===t&&(this.upload.title="文件上传"),this.upload.box=!0},handleClose:function(t){this.imgSrc=void 0,this.videoSrc=void 0,this.audioSrc=void 0,t()},addKey:function(){""!==this.keys&&(this.$emit("keyadd",this.keys),this.keys=""),this.visible=!1},sendKey:function(t){this.$emit("keysend",t)},getAudio:function(){this.$refs.chatAudio.play()},getNotification:function(t){var e=this,n=Notification||window.Notification;if(n){var i=function(){var n=new Notification(e.config.name,{body:t,icon:e.config.img});n.onshow=function(){e.getAudio(),setTimeout((function(){n.close()}),2500)},n.onclick=function(t){n.close()}},o=n.permission;"granted"===o?i():"denied"===o?console.log("用户拒绝了你!!!"):n.requestPermission((function(t){"granted"===t?i():console.log("用户无情残忍的拒绝了你!!!")}))}},pushMsg:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=!0===e.mine,i=e.text||{},o=e.date,a={date:o||xt()().format("YYYY-MM-DD HH:mm:ss"),text:"object"!=wt(i)?{text:i}:i,mine:n,img:n?this.config.myImg:this.config.img,name:n?this.config.myName:this.config.name};this.list.push(a),setTimeout((function(){t.setScroll()}),50)},setScroll:function(t){var e=this;this.$nextTick((function(){e.$refs.main.scrollTop=t||e.$refs.main.scrollHeight}))},handleSend:function(){this.msgActive&&this.$emit("submit")},handleItemMsg:function(t){this.$emit("submit",t.ask)},handleDetail:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=e;return setTimeout((function(){t.$refs.content.forEach((function(e){for(var n=function(n){var i=e.children[n];0!=i.getAttribute("data-flag")&&(i.setAttribute("data-flag",0),i.onclick=function(){t.handleEvent(i.dataset)},"IMG"===i.tagName?(i.className="web__msg--img",i.src=i.getAttribute("data-src")):"VIDEO"===i.tagName?(i.className="web__msg--video",i.src=i.getAttribute("data-src")):"AUDIO"===i.tagName?(i.className="web__msg--audio",i.controls="controls",i.src=i.getAttribute("data-src")):"FILE"===i.tagName?(i.className="web__msg--file",i.innerHTML="

File

".concat(i.getAttribute("data-name"),"")):"MAP"===i.tagName&&(i.className="web__msg--file web__msg--map",i.innerHTML="

Map

".concat(i.getAttribute("data-longitude")," , ").concat(i.getAttribute("data-latitude"),"
").concat(i.getAttribute("data-address"),"
")),t.setScroll())},i=0;i0&&void 0!==arguments[0]?arguments[0]:{},e=t.type,n=t.src,i=t.name,o=t.longitude,a=t.latitude,r=t.address;return"img"===e?''):"video"===e?''):"audio"===e?''):"file"===e?''):"map"===e?''):void 0},handleEvent:function(t){var e=this,n=function(){"IMG"===t.type?(e.imgSrc=t.src,e.show=!0):"VIDEO"===t.type?(e.videoSrc=t.src,e.show=!0):"AUDIO"===t.type?(e.audioSrc=t.src,e.show=!0):"FILE"===t.type&&window.open(t.src)};"function"==typeof this.beforeOpen?this.beforeOpen(t,n):n()},rootSendMsg:function(t){this.pushMsg({text:t}),this.notice&&this.getNotification(t.text||t)}}}),kt=Object(s.a)(Ct,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b(),style:t.heightStyleName,on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleSend.apply(null,arguments)}}},[e("audio",{ref:"chatAudio"},[e("source",{attrs:{src:t.audio[0],type:"audio/ogg"}}),t._v(" "),e("source",{attrs:{src:t.audio[1],type:"audio/mpeg"}}),t._v(" "),e("source",{attrs:{src:t.audio[2],type:"audio/wav"}})]),t._v(" "),e("div",{staticClass:"web__logo"},[e("img",{staticClass:"web__logo-img",attrs:{src:t.config.img,alt:""}}),t._v(" "),e("div",{staticClass:"web__logo-info"},[e("p",{staticClass:"web__logo-name"},[t._v(t._s(t.config.name))]),t._v(" "),e("p",{staticClass:"web__logo-dept"},[t._v(t._s(t.config.dept))])]),t._v(" "),t._t("header")],2),t._v(" "),e("div",{staticClass:"web__content"},[e("div",{style:t.widthStyleName},[e("div",{ref:"main",staticClass:"web__main"},t._l(t.list,(function(n,i){return e("div",{key:i,staticClass:"web__main-item",class:{"web__main-item--mine":n.mine}},[e("div",{staticClass:"web__main-user"},[e("img",{attrs:{src:n.img}}),t._v(" "),e("cite",[t._v("\n "+t._s(n.name)+"\n "),e("i",[t._v(t._s(n.date))])])]),t._v(" "),e("div",{staticClass:"web__main-text"},[e("div",{staticClass:"web__main-arrow"}),t._v(" "),e("span",{ref:"content",refInFor:!0,domProps:{innerHTML:t._s(t.handleDetail(n.text.text))}}),t._v(" "),t.validatenull(n.text.list)?t._e():e("ul",{staticClass:"web__main-list"},t._l(n.text.list,(function(n,i){return e("li",{key:i,on:{click:function(e){return t.handleItemMsg(n)}}},[t._v(t._s(n.text))])})),0)])])})),0),t._v(" "),e("div",{staticClass:"web__footer",style:t.widthStyleName},[e("div",{staticClass:"web__tools"},[t.tools.img?e("i",{staticClass:"el-icon-picture-outline",on:{click:function(e){return t.handleUpload("img")}}}):t._e(),t._v(" "),t.tools.video?e("i",{staticClass:"el-icon-video-camera",on:{click:function(e){return t.handleUpload("video")}}}):t._e(),t._v(" "),t.tools.file?e("i",{staticClass:"el-icon-folder-opened",on:{click:function(e){return t.handleUpload("file")}}}):t._e()]),t._v(" "),e("div",{staticClass:"web__msg"},[e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.msg,expression:"msg"}],staticClass:"web__msg-input",attrs:{rows:"2",placeholder:t.placeholder},domProps:{value:t.msg},on:{input:function(e){e.target.composing||(t.msg=e.target.value)}}}),t._v(" "),e("div",{staticClass:"web__msg-menu"},[e("el-dropdown",{staticClass:"web__msg-submit",attrs:{"split-button":"",type:"primary",size:"mini",trigger:"click"},on:{click:t.handleSend}},[t._v("\n 发送\n "),e("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[e("el-dropdown-item",[e("el-popover",{attrs:{placement:"top",width:"160"},model:{value:t.visible,callback:function(e){t.visible=e},expression:"visible"}},[e("el-input",{staticStyle:{"margin-bottom":"10px"},attrs:{size:"mini",rows:3,"show-word-limit":"",maxlength:"100",placeholder:"请输入快捷回复语",type:"textarea"},model:{value:t.keys,callback:function(e){t.keys=e},expression:"keys"}}),t._v(" "),e("div",{staticStyle:{"text-align":"right",margin:"0"}},[e("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(e){t.visible=!1}}},[t._v("取消")]),t._v(" "),e("el-button",{attrs:{type:"primary",size:"mini"},on:{click:t.addKey}},[t._v("确定")])],1),t._v(" "),e("el-button",{attrs:{slot:"reference",type:"text",icon:"el-icon-plus"},slot:"reference"})],1)],1),t._v(" "),e("el-scrollbar",{staticStyle:{height:"100px"}},t._l(t.keylist,(function(n,i){return e("el-dropdown-item",{key:i,nativeOn:{click:function(e){return t.sendKey(n)}}},[e("el-tooltip",{attrs:{effect:"dark",content:n,placement:"top"}},[e("span",[t._v(" "+t._s(n.substr(0,10))+t._s(n.length>10?"...":""))])])],1)})),1)],1)],1)],1)])])]),t._v(" "),t._t("default")],2),t._v(" "),t.upload.box?e("div",[e("el-dialog",{attrs:{title:t.upload.title,"append-to-body":"",visible:t.upload.box,width:"30%"},on:{"update:visible":function(e){return t.$set(t.upload,"box",e)}}},[e("el-form",{ref:"form",attrs:{model:t.upload}},[e("el-form-item",{attrs:{prop:"src",rules:[{required:!0,message:"地址不能为空"}]}},[e("el-input",{staticStyle:{"margin-bottom":"10px"},attrs:{size:"mini",rows:4,"show-word-limit":"",maxlength:"100",placeholder:"请输入地址",type:"textarea"},model:{value:t.upload.src,callback:function(e){t.$set(t.upload,"src",e)},expression:"upload.src"}})],1)],1),t._v(" "),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e("el-button",{attrs:{size:"small"},on:{click:function(e){t.upload.box=!1}}},[t._v("取 消")]),t._v(" "),e("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.uploadSubmit}},[t._v("确 定")])],1)],1)],1):t._e(),t._v(" "),t.show?e("div",[e("el-dialog",{staticClass:"web__dialog",attrs:{visible:t.show,width:"40%","append-to-body":"","before-close":t.handleClose},on:{"update:visible":function(e){t.show=e}}},[t.imgSrc?e("img",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.imgSrc}}):t._e(),t._v(" "),t.videoSrc?e("video",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.videoSrc,controls:"controls"}}):t._e(),t._v(" "),t.audioSrc?e("audio",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.audioSrc,controls:"controls"}}):t._e()])],1):t._e()])}),[],!1,null,null,null).exports,St={avatar:"avatar",author:"author",body:"body"},jt=Object(i.a)({name:"comment",props:{reverse:{type:Boolean,default:!1},data:{type:Object,default:function(){return{}}},props:{type:Object,default:function(){return St}},option:{type:Object,default:function(){return{}}}},computed:{avatarKey:function(){return this.props.avatar||St.avatar},authorKey:function(){return this.props.author||St.author},bodyKey:function(){return this.props.body||St.body},avatar:function(){return this.data[this.avatarKey]},author:function(){return this.data[this.authorKey]},body:function(){return this.data[this.bodyKey]}},mounted:function(){}}),Pt=Object(s.a)(jt,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b({reverse:t.reverse})},[e("img",{class:t.b("avatar"),attrs:{src:t.avatar,alt:""}}),t._v(" "),e("div",{class:t.b("main")},[e("div",{class:t.b("header")},[t.author?e("div",{class:t.b("author"),domProps:{textContent:t._s(t.author)}}):t._e(),t._v(" "),t._t("default")],2),t._v(" "),t.body?e("div",{class:t.b("body"),domProps:{innerHTML:t._s(t.body)}}):t._e()])])}),[],!1,null,null,null).exports,Et=n(15).a,Dt=Object(s.a)(Et,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:[t.b(),{"avue--detail":t.isDetail}],style:{width:t.setPx(t.parentOption.formWidth,"100%")}},[e("el-form",{ref:"form",attrs:{"status-icon":t.parentOption.statusIcon,model:t.form,"label-suffix":t.labelSuffix,size:t.$AVUE.formSize||t.controlSize,"label-position":t.parentOption.labelPosition,"label-width":t.setPx(t.parentOption.labelWidth,t.labelWidth)},nativeOn:{submit:function(t){t.preventDefault()}}},[e("el-row",{class:{"avue-form__tabs":t.isTabs},attrs:{span:24}},[t._l(t.columnOption,(function(n,i){return e("avue-group",{key:n.prop,attrs:{tabs:t.isTabs,arrow:n.arrow,collapse:n.collapse,display:t.vaildDisplay(n),icon:n.icon,index:i,header:!t.isTabs,active:t.activeName,label:n.label},on:{change:t.handleGroupClick}},[t.isTabs&&1==i?e("el-tabs",{class:t.b("tabs"),attrs:{slot:"tabs",type:t.tabsType},on:{"tab-click":t.handleTabClick},slot:"tabs",model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[t._l(t.columnOption,(function(n,i){return[t.vaildDisplay(n)&&0!=i?e("el-tab-pane",{key:i,attrs:{name:i+""}},[e("span",{attrs:{slot:"label"},slot:"label"},[t.getSlotName(n,"H",t.$scopedSlots)?t._t(t.getSlotName(n,"H"),null,{column:t.column}):[e("i",{class:n.icon},[t._v(" ")]),t._v("\n "+t._s(n.label)+"\n ")]],2)]):t._e()]}))],2):t._e(),t._v(" "),t.getSlotName(n,"H",t.$scopedSlots)?e("template",{slot:"header"},[t._t(t.getSlotName(n,"H"),null,{column:n})],2):t._e(),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isGroupShow(n,i),expression:"isGroupShow(item,index)"}],class:t.b("group",{flex:t.vaildData(n.flex,!0)})},[t._l(n.column,(function(i,o){return[t.vaildDisplay(i)?e("el-col",{key:o,class:[t.b("row"),{"avue--detail avue--detail__column":t.vaildDetail(i)},i.className],style:{paddingLeft:t.gutter,paddingRight:t.gutter},attrs:{span:t.getSpan(i),md:t.getSpan(i),sm:i.smSpan||n.smSpan||12,xs:i.xsSpan||n.xmSpan||24,offset:i.offset||n.offset,push:i.push||n.push,pull:i.pull||n.pull}},[e("el-form-item",{class:t.b("item--"+(i.labelPosition||n.labelPosition||"")),attrs:{prop:i.prop,label:i.label,rules:i.rules,"label-position":i.labelPosition||n.labelPosition||t.parentOption.labelPosition,"label-width":t.getLabelWidth(i,n)},scopedSlots:t._u([{key:"error",fn:function(e){return t.getSlotName(i,"E",t.$scopedSlots)?[t._t(t.getSlotName(i,"E"),null,null,Object.assign(e,{column:i,value:t.form[i.prop],readonly:t.readonly||i.readonly,disabled:t.getDisabled(i),size:i.size||t.controlSize,dic:t.DIC[i.prop]}))]:void 0}}],null,!0)},[t.getSlotName(i,"L",t.$scopedSlots)?e("template",{slot:"label"},[t._t(t.getSlotName(i,"L"),null,{column:i,value:t.form[i.prop],readonly:i.readonly||t.readonly,disabled:t.getDisabled(i),size:i.size||t.controlSize,dic:t.DIC[i.prop]})],2):i.labelTip?e("template",{slot:"label"},[e("el-tooltip",{staticClass:"item",attrs:{effect:"dark",placement:i.labelTipPlacement||"top-start"}},[e("div",{attrs:{slot:"content"},domProps:{innerHTML:t._s(i.labelTip)},slot:"content"}),t._v(" "),e("i",{staticClass:"el-icon-info"})]),t._v(" "),e("span",[t._v(" "+t._s(i.label)+t._s(t.labelSuffix))])],1):t._e(),t._v(" "),t._v(" "),e(t.validTip(i)?"div":"elTooltip",{tag:"component",attrs:{disabled:t.validTip(i),content:t.vaildData(i.tip,t.getPlaceholder(i)),placement:i.tipPlacement}},[t.$scopedSlots[i.prop]?t._t(i.prop,null,{value:t.form[i.prop],column:i,label:t.form["$"+i.prop],size:i.size||t.controlSize,readonly:t.readonly||i.readonly,disabled:t.getDisabled(i),dic:t.DIC[i.prop]}):e("form-temp",t._b({ref:i.prop,refInFor:!0,attrs:{column:i,dic:t.DIC[i.prop],props:t.parentOption.props,propsHttp:t.parentOption.propsHttp,disabled:t.getDisabled(i),readonly:i.readonly||t.readonly,enter:t.parentOption.enter,size:t.parentOption.size,"column-slot":t.columnSlot},on:{enter:t.submit,change:function(e){return t.propChange(n.column,i)}},scopedSlots:t._u([t._l(t.getSlotName(i,"T",t.$scopedSlots)?[i]:[],(function(e){return{key:t.getSlotName(i,"T"),fn:function(n){return[t._t(t.getSlotName(e,"T"),null,null,n)]}}})),t._l(t.columnSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0),model:{value:t.form[i.prop],callback:function(e){t.$set(t.form,i.prop,e)},expression:"form[column.prop]"}},"form-temp",t.$uploadFun(i),!1))],2)],2)],1):t._e(),t._v(" "),t.vaildDisplay(i)&&i.row&&24!==i.span&&i.count?e("div",{key:"line"+o,class:t.b("line"),style:{width:i.count/24*100+"%"}}):t._e()]})),t._v(" "),t.isDetail||t.isMenu?t._e():e("form-menu",{scopedSlots:t._u([{key:"menuForm",fn:function(e){return[t._t("menuForm",null,null,e)]}}],null,!0)})],2)],2)})),t._v(" "),!t.isDetail&&t.isMenu?e("form-menu",{scopedSlots:t._u([{key:"menuForm",fn:function(e){return[t._t("menuForm",null,null,e)]}}],null,!0)}):t._e()],2)],1)],1)}),[],!1,null,null,null).exports,Tt=function(){return{mixins:[j.a],data:function(){return{stringMode:!1,name:"",text:void 0,propsHttpDefault:B.d,propsDefault:B.e}},props:{blur:Function,focus:Function,change:Function,click:Function,typeformat:Function,control:Function,separator:{type:String,default:B.g},params:{type:Object,default:function(){return{}}},listType:{type:String},tableData:{type:Object},value:{},column:{type:Object,default:function(){return{}}},label:{type:String,default:""},readonly:{type:Boolean,default:!1},size:{type:String,default:""},tip:{type:String,default:""},disabled:{type:Boolean,default:!1},dataType:{type:String},clearable:{type:Boolean,default:!0},type:{type:String,default:""},dicUrl:{type:String,default:""},dicMethod:{type:String,default:""},dicFormatter:Function,dicQuery:{type:Object,default:function(){return{}}},dic:{type:Array,default:function(){return[]}},placeholder:{type:String,default:""},rules:{type:Array},min:{type:Number},max:{type:Number},multiple:{type:Boolean,default:!1},button:{type:Boolean,default:!1},group:{type:Boolean,default:!1},row:{type:Boolean,default:!1},prop:{type:String,default:""},border:{type:Boolean,default:!1},popperClass:{type:String},propsHttp:{type:Object,default:function(){return B.d}},props:{type:Object,default:function(){return B.e}}},watch:{text:{handler:function(t){this.handleChange(t)}},value:{handler:function(){this.initVal()}}},computed:{clearableVal:function(){return!this.disabled&&this.clearable},componentName:function(){return"".concat("el","-").concat(this.name).concat(this.button?"-button":"")},required:function(){return!this.validatenull(this.rules)},isArray:function(){return"array"===this.dataType},isString:function(){return"string"===this.dataType},isNumber:function(){return"number"===this.dataType},nameKey:function(){return this.propsHttp.name||this.propsHttpDefault.name},urlKey:function(){return this.propsHttp.url||this.propsHttpDefault.url},resKey:function(){return this.propsHttp.res||this.propsHttpDefault.res},groupsKey:function(){return this.props.groups||this.propsDefault.groups},valueKey:function(){return this.props.value||this.propsDefault.value},descKey:function(){return this.props.desc||this.propsDefault.desc},leafKey:function(){return this.props.leaf||this.propsDefault.leaf},labelKey:function(){return this.props.label||this.propsDefault.label},childrenKey:function(){return this.props.children||this.propsDefault.children},disabledKey:function(){return this.props.disabled||this.propsDefault.disabled},idKey:function(){return this.props.id||this.propsDefault.id}},created:function(){this.initVal()}}},$t=function(){return{methods:{bindEvent:function(t,e){e=Object.assign(e,{column:this.column},this.tableData),"function"==typeof this[t]&&("change"==t?1!=this.column.cell&&this[t](e):this[t](e)),this.$emit(t,e)},initVal:function(){this.stringMode="string"==typeof this.value,this.text=Object(E.g)(this.value,this.column)},getLabelText:function(t){return this.validatenull(t)?"":"function"==typeof this.typeformat?this.typeformat(t,this.labelKey,this.valueKey):t[this.labelKey]},handleFocus:function(t){this.bindEvent("focus",{value:this.value,event:t})},handleBlur:function(t){this.bindEvent("blur",{value:this.value,event:t})},handleClick:function(t){this.bindEvent("click",{value:this.value,event:t})},handleChange:function(t){var e=t;(this.isString||this.isNumber||this.stringMode||"picture-img"===this.listType)&&Array.isArray(t)&&(e=t.join(this.separator||B.g)),this.bindEvent("change",{value:e}),this.$emit("input",e)}}}},At=Object(i.a)({name:"checkbox",props:{all:{type:Boolean,default:!1}},mixins:[Tt(),$t()],data:function(){return{checkAll:!1,isIndeterminate:!1,name:"checkbox"}},watch:{dic:function(){this.handleCheckChange(this.text)},text:{handler:function(t){this.handleChange(t),this.handleCheckChange(t)},immediate:!0}},created:function(){},mounted:function(){},methods:{handleCheckAll:function(t){var e=this;this.all&&(this.text=t?this.dic.map((function(t){return t[e.valueKey]})):[],this.isIndeterminate=!1)},handleCheckChange:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(this.all){var e=t.length,n=this.dic.length;this.checkAll=e===n,this.isIndeterminate=e>0&&e0&&void 0!==arguments[0]?arguments[0]:0;return 0==t?"info":1==t?"":2==t?"warning":3==t?"danger":4==t?"success":void 0}}}),Yt=Object(s.a)(Vt,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[t._l(t.data,(function(n,i){return e("div",{key:i,class:t.b("item"),on:{click:function(e){return t.click(n)}}},[n[t.imgKey]?e("div",{class:t.b("img")},[e("img",{attrs:{src:n[t.imgKey],alt:""}})]):t._e(),t._v(" "),e("div",{class:t.b("content")},[e("div",{class:t.b("title")},[e("span",{class:t.b("name")},[t._v(t._s(n[t.titleKey]))]),t._v(" "),n[t.tagKey]?e("span",{class:t.b("tag")},[e("el-tag",{attrs:{size:"small",type:t.getType(n[t.statusKey])}},[t._v(t._s(n[t.tagKey]))])],1):t._e()]),t._v(" "),e("div",{class:t.b("subtitle")},[t._v(t._s(n[t.subtitleKey]))])])])})),t._v(" "),t.finish?t._e():e("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],class:t.b("more"),on:{click:t.handleClick}},[t._v("\n 加载更多\n ")])],2)}),[],!1,null,null,null).exports,Xt=Object(i.a)({name:"license",props:{id:{type:String,default:""},option:{type:Object,default:function(){return{}}}},watch:{option:{handler:function(){this.init()},deep:!0}},data:function(){return{base64:"",draw:!1,canvas:"",context:""}},computed:{img:function(){return this.option.img},list:function(){return this.option.list||[]}},mounted:function(){this.canvas=document.getElementById("canvas"+this.id),this.context=this.canvas.getContext("2d"),this.init()},methods:{init:function(){var t=this;this.draw=!1;var e=new Image;e.src=this.img,e.onload=function(){var n=t.option.width||e.width,i=t.option.width?e.height/e.width*t.option.width:e.height;t.$refs.canvas.width=n,t.$refs.canvas.height=i,t.context.clearRect(0,0,n,i),t.context.drawImage(e,0,0,n,i),t.list.forEach((function(e,n){var i=function(){n==t.list.length-1&&setTimeout((function(){t.draw=!0}),0)};if(e.img){var o=new Image;o.src=e.img,o.onload=function(){var n=e.width||o.width,a=e.width?o.height/o.width*e.width:o.height;t.context.drawImage(o,e.left,e.top,n,a),i()}}else e.bold?t.context.font="bold ".concat(e.size,"px ").concat(e.style):t.context.font="".concat(e.size,"px ").concat(e.style),t.context.fillStyle=e.color,t.context.fillText(e.text,e.left,e.top),t.context.stroke(),i()}))}},getFile:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(new Date).getTime();return new Promise((function(n){var i=setInterval((function(){if(t.draw){var o=t.canvas.toDataURL("image/jpeg",1),a=t.dataURLtoFile(o,e);clearInterval(i),n(a)}}),1e3)}))},downFile:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(new Date).getTime();Object(D.h)(this.base64,t)},getBase64:function(){var t=this;return new Promise((function(e){var n=setInterval((function(){if(t.draw){var i=t.canvas.toDataURL("image/jpeg",1);t.base64=i,clearInterval(n),e(i)}}),100)}))},getPdf:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(new Date).getTime(),e=this.canvas.width,n=this.canvas.height,i=e/592.28*841.89,o=n,a=0,r=595.28,s=592.28/e*n,l=this.canvas.toDataURL("image/jpeg",1),c=new window.jsPDF("","pt","a4");if(o0;)c.addImage(l,"JPEG",0,a,r,s),a-=841.89,(o-=i)>0&&c.addPage();c.save("".concat(t,".pdf"))}}}),qt=Object(s.a)(Xt,(function(){var t=this._self._c;this._self._setupProxy;return t("div",{class:this.b(),staticStyle:{position:"relative"}},[t("canvas",{ref:"canvas",attrs:{id:"canvas"+this.id}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null).exports,Gt=Object(i.a)({name:"progress",props:{showText:{type:Boolean},width:{type:[Number,String]},strokeWidth:{type:[Number,String]},type:{type:String},color:{type:String},percentage:{type:[Number]}}}),Jt=Object(s.a)(Gt,(function(){var t=this._self._c;this._self._setupProxy;return t("div",{class:this.b()},[t("el-progress",{attrs:{type:this.type,color:this.color,width:this.width,"text-inside":"","show-text":this.showText,"stroke-width":this.strokeWidth,percentage:this.percentage}})],1)}),[],!1,null,null,null).exports,Qt=Object(i.a)({name:"time",mixins:[Tt(),$t(),P.a],data:function(){return{}},props:{editable:Boolean,startPlaceholder:String,endPlaceholder:String,rangeSeparator:String,value:{},defaultValue:[String,Array],pickerOptions:Object,valueFormat:String,arrowControl:Boolean,type:String,format:String},watch:{text:function(){Array.isArray(this.text)&&this.validatenull(this.text)&&(this.text=this.text.join(","))}},created:function(){},mounted:function(){},computed:{componentName:function(){var t=this.pickerOptions||{};return t.start||t.end||t.step?"elTimeSelect":"elTimePicker"},isRange:function(){return"timerange"===this.type}},methods:{}}),Zt=Object(s.a)(Qt,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e(t.componentName,{tag:"component",attrs:{"popper-class":t.popperClass,"is-range":t.isRange,size:t.size,editable:t.editable,"default-value":t.defaultValue,"range-separator":t.rangeSeparator,"arrow-control":t.arrowControl,"start-placeholder":t.startPlaceholder||t.t("time.start"),"end-placeholder":t.endPlaceholder||t.t("time.end"),format:t.format,readonly:t.readonly,clearable:t.clearableVal,"picker-options":t.pickerOptions,"value-format":t.valueFormat,placeholder:t.placeholder,disabled:t.disabled},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})],1)}),[],!1,null,null,null).exports,te=n(5);function ee(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var ne=Object(i.a)({name:"input",mixins:[Tt(),$t()],data:function(){return{}},props:(Ot={value:{},maxlength:"",minlength:"",showPassword:{type:Boolean,default:!0},showWordLimit:{type:Boolean,default:!1},target:{type:String,default:" _blank"},prefixIcon:{type:String},suffixIcon:{type:String},prependClick:{type:Function,default:function(){}},prepend:{type:String},appendClick:{type:Function,default:function(){}},append:{type:String}},ee(Ot,"minlength",{type:Number}),ee(Ot,"maxlength",{type:Number}),ee(Ot,"minRows",{type:Number,default:5}),ee(Ot,"maxRows",{type:Number,default:10}),ee(Ot,"autocomplete",{type:String}),Ot),computed:{isSearch:function(){return"search"==this.type},typeParam:function(){return"textarea"===this.type?"textarea":"password"===this.type?"password":"text"}}}),ie=Object(s.a)(ne,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("el-input",{class:t.b(),attrs:{size:t.size,clearable:t.clearableVal,type:t.typeParam,maxlength:t.maxlength,minlength:t.minlength,"show-password":"password"==t.typeParam&&t.showPassword,autosize:{minRows:t.minRows,maxRows:t.maxRows},"prefix-icon":t.prefixIcon,"suffix-icon":t.suffixIcon,readonly:t.readonly,placeholder:t.placeholder,"show-word-limit":t.showWordLimit,disabled:t.disabled,autocomplete:t.autocomplete},on:{keyup:function(e){if(!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter"))return null;t.isSearch&&t.appendClick()},focus:t.handleFocus,blur:t.handleBlur},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},[t.prepend?e("template",{slot:"prepend"},[e("span",{on:{click:function(e){return t.prependClick()}}},[t._v(t._s(t.prepend))])]):t._e(),t._v(" "),t.append?e("template",{slot:"append"},[e("span",{on:{click:function(e){return t.appendClick()}}},[t._v(t._s(t.append))])]):t.isSearch?e("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:function(e){return t.appendClick()}},slot:"append"}):t._e()],2)}),[],!1,null,null,null).exports,oe=Object(i.a)({name:"radio",mixins:[Tt(),$t()],data:function(){return{name:"radio"}},props:{value:{}},watch:{},created:function(){},mounted:function(){},methods:{}}),ae=Object(s.a)(oe,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-radio-group",{attrs:{size:t.size,disabled:t.disabled},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},t._l(t.dic,(function(n,i){return e(t.componentName,{key:i,tag:"component",attrs:{label:n[t.valueKey],border:t.border,readonly:t.readonly,disabled:n[t.disabledKey]}},[t._v(t._s(n[t.labelKey]))])})),1)],1)}),[],!1,null,null,null).exports,re=Object(i.a)({name:"select",mixins:[Tt(),$t()],data:function(){return{checkAll:!1,created:!1,netDic:[],loading:!1}},props:{value:{},loadingText:{type:String},noMatchText:{type:String},noDataText:{type:String},drag:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},tags:{type:Boolean,default:!1},limit:{type:Number,default:0},filterable:{type:Boolean,default:!1},allowCreate:{type:Boolean,default:!1},defaultFirstOption:{type:Boolean,default:!1},all:{type:Boolean,default:!1},popperAppendToBody:{type:Boolean,default:!0}},watch:{value:function(t){this.validatenull(t)||this.remote&&!this.created&&(this.created=!0,this.handleRemoteMethod(this.multiple?this.text.join(B.g):this.text))},dic:{handler:function(t){this.netDic=t},immediate:!0}},mounted:function(){this.drag&&this.setSort()},methods:{setSort:function(){var t=this;if(window.Sortable){var e=this.$refs.main.$el.querySelectorAll(".el-select__tags > span")[0];window.Sortable.create(e,{animation:100,onEnd:function(e){var n=t.value.splice(e.oldIndex,1)[0];t.value.splice(e.newIndex,0,n)}})}else x.a.logs("Sortable")},handleRemoteMethod:function(t){var e=this;this.loading=!0,Object(M.d)({column:this.column,value:t}).then((function(t){e.loading=!1,e.netDic=t}))},selectAll:function(){var t=this;this.text=[],this.checkAll?this.netDic.map((function(e){t.text.push(e[t.valueKey])})):this.text=[]},changeSelect:function(t){this.checkAll=t.length===this.netDic.length}}}),se=Object(s.a)(re,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("el-select",{ref:"main",class:t.b(),attrs:{size:t.size,loading:t.loading,"loading-text":t.loadingText,multiple:t.multiple,filterable:!!t.remote||t.filterable,remote:t.remote,readonly:t.readonly,"no-match-text":t.noMatchText,"no-data-text":t.noDataText,"remote-method":t.handleRemoteMethod,"popper-class":t.popperClass,"popper-append-to-body":t.popperAppendToBody,"collapse-tags":t.tags,clearable:t.clearableVal,placeholder:t.placeholder,"multiple-limit":t.limit,"allow-create":t.allowCreate,"default-first-option":t.defaultFirstOption,disabled:t.disabled},on:{focus:t.handleFocus,blur:t.handleBlur,change:t.changeSelect},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},[t.group?t._l(t.netDic,(function(n,i){return e("el-option-group",{key:i,attrs:{label:t.getLabelText(n)}},t._l(n[t.groupsKey],(function(n,i){return e("el-option",{key:i,attrs:{disabled:n[t.disabledKey],label:t.getLabelText(n),value:n[t.valueKey]}},[t.$scopedSlots.default?t._t("default",null,{label:t.labelKey,value:t.valueKey,item:n}):[e("span",[t._v(t._s(t.getLabelText(n)))]),t._v(" "),n[t.descKey]?e("span",{class:t.b("desc")},[t._v(t._s(n[t.descKey]))]):t._e()]],2)})),1)})):[t.all&&t.multiple?e("el-checkbox",{class:t.b("check"),on:{change:t.selectAll},model:{value:t.checkAll,callback:function(e){t.checkAll=e},expression:"checkAll"}},[t._v("全选")]):t._e(),t._v(" "),t._l(t.netDic,(function(n,i){return e("el-option",{key:i,attrs:{disabled:n[t.disabledKey],label:t.getLabelText(n),value:n[t.valueKey]}},[t.$scopedSlots.default?t._t("default",null,{label:t.labelKey,value:t.valueKey,item:n}):[e("span",[t._v(t._s(t.getLabelText(n)))]),t._v(" "),n[t.descKey]?e("span",{class:t.b("desc")},[t._v(t._s(n[t.descKey]))]):t._e()]],2)}))]],2)}),[],!1,null,null,null).exports,le=Object(i.a)({name:"cascader",mixins:[Tt(),$t()],props:{checkStrictly:{type:Boolean,default:!1},emitPath:{type:Boolean,default:!0},tags:{type:Boolean,default:!1},expandTrigger:{type:String,default:"hover"},showAllLevels:{type:Boolean,default:!0},lazy:{type:Boolean,default:!1},lazyLoad:Function,filterable:{type:Boolean,default:!1},separator:{type:String}},data:function(){return{}},watch:{},computed:{allProps:function(){var t=this;return{label:this.labelKey,value:this.valueKey,children:this.childrenKey,checkStrictly:this.checkStrictly,multiple:this.multiple,emitPath:this.emitPath,lazy:this.lazy,lazyLoad:function(e,n){t.lazyLoad&&t.lazyLoad(e,(function(i){!function e(n,i,o){n.forEach((function(n){n[t.valueKey]==i?n[t.childrenKey]=o:n[t.childrenKey]&&e(n[t.childrenKey])}))}(t.dic,e[t.valueKey],i),n(i)}))},expandTrigger:this.expandTrigger}}},created:function(){},mounted:function(){},methods:{}}),ce=Object(s.a)(le,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("el-cascader",{attrs:{options:t.dic,placeholder:t.placeholder,props:t.allProps,size:t.size,clearable:t.clearableVal,"show-all-levels":t.showAllLevels,filterable:t.filterable,"popper-class":t.popperClass,separator:t.separator,disabled:t.disabled,"collapse-tags":t.tags},on:{focus:t.handleFocus,blur:t.handleBlur},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},scopedSlots:t._u([{key:"default",fn:function({data:n,node:i}){return[t.$scopedSlots.default?t._t("default",null,{data:n,node:i}):e("span",[t._v(t._s(n[t.labelKey]))])]}}],null,!0),model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})}),[],!1,null,null,null).exports,ue=Object(i.a)({name:"input-color",mixins:[Tt(),$t()],props:{colorFormat:String,predefine:{type:Array,default:["#ff4500","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","rgba(255, 69, 0, 0.68)","rgb(255, 120, 0)","hsv(51, 100, 98)","hsva(120, 40, 94, 0.5)","hsl(181, 100%, 37%)","hsla(209, 100%, 56%, 0.73)"]},showAlpha:{type:Boolean,default:!0}}}),de=Object(s.a)(ue,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-input",{ref:"main",attrs:{placeholder:t.placeholder,size:t.size,readonly:t.readonly,clearable:t.clearableVal,disabled:t.disabled},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},[e("template",{slot:"append"},[e("el-color-picker",{attrs:{size:"mini","popper-class":t.popperClass,"color-format":t.colorFormat,disabled:t.disabled,"show-alpha":t.showAlpha,predefine:t.predefine},on:{change:t.handleChange},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})],1)],2)],1)}),[],!1,null,null,null).exports,pe=Object(i.a)({name:"input-number",mixins:[Tt(),$t()],data:function(){return{}},props:{controls:{type:Boolean,default:!0},step:{type:Number,default:1},controlsPosition:{type:String,default:"right"},precision:{type:Number},min:{type:Number,default:-1/0},max:{type:Number,default:1/0}},created:function(){},mounted:function(){},methods:{}}),he=Object(s.a)(pe,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("el-input-number",{class:t.b(),attrs:{precision:t.precision,placeholder:t.placeholder,size:t.size,min:t.min,max:t.max,step:t.step,clearable:t.clearableVal,readonly:t.readonly,"controls-position":t.controlsPosition,controls:t.controls,label:t.placeholder,disabled:t.disabled},on:{focus:t.handleFocus,blur:t.handleBlur},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=t._n(e)},expression:"text"}})}),[],!1,null,null,null).exports,fe=Object(i.a)({name:"input-tree",mixins:[Tt(),$t()],data:function(){return{node:[],filterValue:"",box:!1,created:!1,netDic:[],loading:!1}},props:{nodeClick:Function,treeLoad:Function,checked:Function,value:{},loadingText:{type:String},lazy:{type:Boolean,default:!1},leafOnly:{type:Boolean,default:!1},tags:{type:Boolean,default:!1},limit:{type:Number,default:0},expandOnClickNode:{type:Boolean,default:!0},filter:{type:Boolean,default:!0},filterText:{type:String,default:"输入关键字进行过滤"},checkStrictly:{type:Boolean,default:!1},accordion:{type:Boolean,default:!1},parent:{type:Boolean,default:!0},iconClass:{type:String},defaultExpandAll:{type:Boolean,default:!1},popperAppendToBody:{type:Boolean,default:!0}},watch:{text:{handler:function(t){this.validatenull(t)&&this.clearHandle(),this.init()}},value:function(t){this.validatenull(t)||this.lazy&&!this.created&&(this.created=!0,this.handleRemoteMethod(this.multiple?this.text.join(","):this.text))},dic:{handler:function(t){this.netDic=t},immediate:!0},netDic:{handler:function(){this.init()},immediate:!0},filterValue:function(t){this.$refs.tree.filter(t)}},computed:{treeProps:function(){return Object.assign(this.props,{isLeaf:this.leafKey})},dicList:function(){var t=this.netDic;return function t(e,n){e.forEach((function(e){var i=e.children;i&&t(i,e),n&&(e.$parent=n)}))}(t),t},keysList:function(){var t=this;if(this.validatenull(this.text))return[];return Array.isArray(this.text)?this.text:(this.text+"").split(this.separator).map((function(e){return Object(D.f)(e,t.dataType)}))},labelShow:function(){var t=this,e=[],n=this.deepClone(this.node);return e=this.typeformat?n.map((function(e){return t.getLabelText(e)})):n.map((function(e){return e[t.labelKey]})),this.multiple?e:e.join("")}},methods:{handleClear:function(){this.multiple?this.text=[]:this.text="",this.node=[]},handleTreeLoad:function(t,e){var n=this;this.treeLoad&&this.treeLoad(t,(function(i){!function t(e,i,o){e.forEach((function(e){e[n.valueKey]==i?e[n.childrenKey]=o:e[n.childrenKey]&&t(e[n.childrenKey])}))}(n.netDic,t.key,i),e(i)}))},initScroll:function(t){var e=this;setTimeout((function(){e.$nextTick((function(){document.querySelectorAll(".el-scrollbar .el-select-dropdown__wrap").forEach((function(t){t.scrollTop=0}))}))}),0),this.handleClick(t)},filterNode:function(t,e){return!t||-1!==e[this.labelKey].toLowerCase().indexOf(t.toLowerCase())},checkChange:function(t,e,n,i){var o=this;this.text=[],this.$refs.tree.getCheckedNodes(this.leafOnly,!1).forEach((function(t){return o.text.push(t[o.valueKey])})),"function"==typeof this.checked&&this.checked(t,e,n,i)},getHalfList:function(){var t=this,e=this.$refs.tree.getCheckedNodes(!1,!0);return e=e.map((function(e){return e[t.valueKey]}))},init:function(){var t=this;this.$nextTick((function(){if(t.node=[],t.multiple){t.$refs.tree.getCheckedNodes(t.leafOnly,!1).forEach((function(e){t.node.push(e)}))}else{var e=t.$refs.tree.getNode(t.vaildData(t.text,""));if(e){var n=e.data;t.$refs.tree.setCurrentKey(n[t.valueKey]),t.node.push(n)}}})),this.disabledParentNode(this.dic,this.parent)},disabledParentNode:function(t,e){var n=this;t.forEach((function(t){var i=t[n.childrenKey];n.validatenull(i)||(e||(t.disabled=!0),n.disabledParentNode(i,e))}))},clearHandle:function(){this.filterValue="",this.$refs.tree.setCurrentKey(null),this.$refs.tree.setCheckedKeys([])},handleNodeClick:function(t,e,n){t.disabled||("function"==typeof this.nodeClick&&this.nodeClick(t,e,n),this.multiple||(this.validatenull(t[this.childrenKey])&&!this.multiple||this.parent)&&(this.text=t[this.valueKey],this.$refs.main.blur()))},handleRemoteMethod:function(t){var e=this;this.loading=!0,Object(M.d)({column:this.column,value:t}).then((function(t){e.loading=!1,e.netDic=t}))}}}),me=Object(s.a)(fe,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("el-select",{ref:"main",class:t.b(),attrs:{size:t.size,loading:t.loading,"loading-text":t.loadingText,multiple:t.multiple,"multiple-limit":t.limit,"collapse-tags":t.tags,value:t.labelShow,clearable:t.clearableVal,placeholder:t.placeholder,"popper-class":t.popperClass,"popper-append-to-body":t.popperAppendToBody,disabled:t.disabled},on:{focus:t.handleFocus,blur:t.handleBlur,clear:t.handleClear},nativeOn:{click:function(e){return t.initScroll.apply(null,arguments)}}},[t.filter?e("div",{staticStyle:{padding:"0 10px",margin:"5px 0 0 0"}},[e("el-input",{attrs:{size:"mini",placeholder:t.filterText},model:{value:t.filterValue,callback:function(e){t.filterValue=e},expression:"filterValue"}})],1):t._e(),t._v(" "),e("el-option",{attrs:{value:t.text}},[e("el-tree",{ref:"tree",staticClass:"tree-option",staticStyle:{padding:"10px 0"},attrs:{data:t.dicList,lazy:t.lazy,load:t.handleTreeLoad,"node-key":t.valueKey,accordion:t.accordion,"icon-class":t.iconClass,"show-checkbox":t.multiple,"expand-on-click-node":t.expandOnClickNode,props:t.treeProps,"check-strictly":t.checkStrictly,"highlight-current":!t.multiple,"current-node-key":t.multiple?"":t.text,"filter-node-method":t.filterNode,"default-checked-keys":t.keysList,"default-expand-all":t.defaultExpandAll},on:{check:t.checkChange,"node-click":function(e){return e.target!==e.currentTarget?null:t.handleNodeClick.apply(null,arguments)}},scopedSlots:t._u([{key:"default",fn:function({data:n}){return e("div",{staticStyle:{width:"100%","padding-right":"10px"}},[t.$scopedSlots.default?t._t("default",null,{label:t.labelKey,value:t.valueKey,item:n}):[e("span",{class:{"avue--disabled":n[t.disabledKey]}},[t._v(t._s(n[t.labelKey]))]),t._v(" "),n[t.descKey]?e("span",{class:t.b("desc")},[t._v(t._s(n[t.descKey]))]):t._e()]],2)}}],null,!0)})],1)],1)}),[],!1,null,null,null).exports,ve=Object(i.a)({name:"input-map",mixins:[Tt(),$t()],props:{dialogWidth:{type:String,default:"80%"}},data:function(){return{formattedAddress:"",address:"",poi:{},marker:null,map:null,box:!1}},watch:{poi:function(t){this.formattedAddress=t.formattedAddress},value:function(t){this.validatenull(t)&&(this.poi={},this.address="")},text:function(t){this.validatenull(t)||(this.poi={longitude:t[0],latitude:t[1],formattedAddress:t[2]},this.address=t[2])},box:{handler:function(){var t=this;this.box&&this.$nextTick((function(){return t.init((function(){t.longitude&&t.latitude&&(t.addMarker(t.longitude,t.latitude),t.getAddress(t.longitude,t.latitude))}))}))},immediate:!0}},computed:{longitude:function(){return this.text[0]},latitude:function(){return this.text[1]},title:function(){return this.disabled||this.readonly?"查看":"选择"}},methods:{clear:function(){this.poi={},this.clearMarker()},handleSubmit:function(){this.setVal(),this.box=!1},handleClear:function(){this.text=[],this.poi={},this.handleChange(this.text)},setVal:function(){this.text=[this.poi.longitude,this.poi.latitude,this.poi.formattedAddress],this.handleChange(this.text)},handleShow:function(){this.$refs.main.blur(),this.box=!0},addMarker:function(t,e){this.clearMarker(),this.marker=new window.AMap.Marker({position:[t,e]}),this.marker.setMap(this.map)},clearMarker:function(){this.marker&&(this.marker.setMap(null),this.marker=null)},getAddress:function(t,e){var n=this;new window.AMap.service("AMap.Geocoder",(function(){new window.AMap.Geocoder({}).getAddress([t,e],(function(i,o){if("complete"===i&&"OK"===o.info){var a=o.regeocode;n.poi=Object.assign(a,{longitude:t,latitude:e});var r=document.createElement("div"),s=document.createElement("img");s.src="//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",r.appendChild(s);var l=document.createElement("span");l.className="avue-input-map__marker",l.innerHTML=n.poi.formattedAddress,r.appendChild(l),n.marker.setContent(r)}}))}))},handleClose:function(){window.poiPicker.clearSearchResults()},addClick:function(){var t=this;this.map.on("click",(function(e){if(!t.disabled&&!t.readonly){var n=e.lnglat,i=n.P||n.Q,o=n.R;t.addMarker(o,i),t.getAddress(o,i)}}))},init:function(t){var e=this;window.AMap?(this.map=new window.AMap.Map("map__container",Object.assign({zoom:13,center:function(){if(e.longitude&&e.latitude)return[e.longitude,e.latitude]}()},this.params)),this.initPoip(),this.addClick(),t()):x.a.logs("Map")},initPoip:function(){var t=this;window.AMapUI?window.AMapUI.loadUI(["misc/PoiPicker"],(function(e){var n=new e({input:"map__input",placeSearchOptions:{map:t.map,pageSize:10},searchResultsContainer:"map__result"});t.poiPickerReady(n)})):x.a.logs("MapUi")},poiPickerReady:function(t){var e=this;window.poiPicker=t,t.on("poiPicked",(function(n){e.clearMarker();var i=n.source,o=n.item;e.poi=Object.assign(o,{formattedAddress:o.name,longitude:o.location.R,latitude:o.location.P||o.location.Q}),"search"!==i&&t.searchByKeyword(o.name)}))}}}),be=Object(s.a)(ve,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-input",{ref:"main",attrs:{size:t.size,clearable:t.clearableVal,disabled:t.disabled,placeholder:t.placeholder},on:{clear:t.handleClear,focus:t.handleShow},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.address,callback:function(e){t.address=e},expression:"address"}}),t._v(" "),t.box?e("div",[e("el-dialog",{staticClass:"avue-dialog avue-dialog--none",attrs:{width:t.dialogWidth,"append-to-body":"",title:t.placeholder,visible:t.box},on:{close:t.handleClose,"update:visible":function(e){t.box=e}}},[t.box?e("div",{class:t.b("content")},[e("el-input",{class:t.b("content-input"),attrs:{id:"map__input",size:t.size,readonly:t.disabled,clearable:"",placeholder:"输入关键字选取地点"},on:{clear:t.clear},model:{value:t.formattedAddress,callback:function(e){t.formattedAddress=e},expression:"formattedAddress"}}),t._v(" "),e("div",{class:t.b("content-box")},[e("div",{class:t.b("content-container"),attrs:{id:"map__container",tabindex:"0"}}),t._v(" "),e("div",{class:t.b("content-result"),attrs:{id:"map__result"}})])],1):t._e(),t._v(" "),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t.disabled||t.readonly?t._e():e("el-button",{attrs:{type:"primary",size:t.size,icon:"el-icon-check"},on:{click:t.handleSubmit}},[t._v("确 定")])],1)])],1):t._e()],1)}),[],!1,null,null,null).exports,ge=Object(i.a)({name:"input-icon",components:{iconTemp:N},mixins:[Tt(),$t()],props:{dialogWidth:{type:String,default:"80%"},iconList:{type:Array,default:function(){return[]}}},data:function(){return{box:!1,tabs:{}}},computed:{list:function(){var t=(this.tabs.list||[]).map((function(t){return t.value?t:{value:t}}));return t},option:function(){return{column:this.iconList}}},created:function(){this.tabs=this.iconList[0]||{}},methods:{handleTabs:function(t){this.tabs=t},handleSubmit:function(t){this.box=!1,this.text=t,this.handleChange(t)},handleShow:function(){this.$refs.main.blur(),this.disabled||this.readonly||(this.box=!0)}}}),ye=Object(s.a)(ge,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-input",{ref:"main",attrs:{placeholder:t.placeholder,size:t.size,clearable:t.clearableVal,disabled:t.disabled},on:{change:t.handleChange,focus:t.handleShow},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},[e("icon-temp",{attrs:{slot:"append",text:t.text,size:28,small:""},on:{click:t.handleShow},slot:"append"})],1),t._v(" "),t.box?e("div",[e("el-dialog",{staticClass:"avue-dialog avue-dialog--none",attrs:{title:t.placeholder,"append-to-body":"",visible:t.box,width:t.dialogWidth},on:{"update:visible":function(e){t.box=e}}},[e("avue-tabs",{attrs:{option:t.option},on:{change:t.handleTabs}}),t._v(" "),e("div",{class:t.b("list")},t._l(t.list,(function(n,i){return e("div",{key:i,class:t.b("item",{active:t.text===n}),on:{click:function(e){return t.handleSubmit(n.value)}}},[e("icon-temp",{attrs:{text:n.value}}),t._v(" "),e("p",[t._v(t._s(n.label||n.value))])],1)})),0)],1)],1):t._e()],1)}),[],!1,null,null,null).exports,_e=Object(i.a)({name:"input-table",mixins:[Tt(),$t()],data:function(){return{object:{},active:{},page:{},loading:!1,box:!1,created:!1,data:[]}},props:{formatter:Function,onLoad:Function,dialogWidth:{type:String,default:"80%"}},watch:{value:function(t){this.validatenull(t)&&(this.active={},this.object={})},text:function(t){var e=this;this.created||this.validatenull(t)||"function"==typeof this.onLoad&&this.onLoad({value:this.text},(function(t){e.active=t,e.object=t,e.created=!0}))}},computed:{title:function(){return this.disabled||this.readonly?"查看":"选择"},labelShow:function(){return"function"==typeof this.formatter?this.formatter(this.object):this.object[this.labelKey]||""},option:function(){return Object.assign({menu:!1,header:!1,size:"mini",headerAlign:"center",align:"center",highlightCurrentRow:!0},this.column.children)}},methods:{handleClear:function(){this.active={},this.setVal()},handleShow:function(){this.$refs.main.blur(),this.disabled||this.readonly||(this.page={currentPage:1,total:0},this.data=[],this.box=!0)},setVal:function(){this.object=this.active,this.text=this.active[this.valueKey]||"",this.handleChange(this.text),this.box=!1},handleCurrentRowChange:function(t){this.active=t},handleSearchChange:function(t,e){var n=this;this.onLoad({page:this.page,data:t},(function(t){n.page.total=t.total,n.data=t.data})),e&&e()},onList:function(t){var e=this;this.loading=!0,"function"==typeof this.onLoad&&this.onLoad({page:this.page},(function(t){e.page.total=t.total,e.data=t.data,e.loading=!1;var n=e.data.find((function(t){return t[e.valueKey]==e.object[e.valueKey]}));setTimeout((function(){return e.$refs.crud.setCurrentRow(n)}))}))}}}),xe=Object(s.a)(_e,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-input",{ref:"main",attrs:{size:t.size,value:t.labelShow,clearable:t.clearableVal,placeholder:t.placeholder,disabled:t.disabled},on:{clear:t.handleClear,focus:t.handleShow},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}}}),t._v(" "),t.box?e("div",[e("el-dialog",{staticClass:"avue-dialog avue-dialog--none",attrs:{width:t.dialogWidth,"append-to-body":"",title:t.placeholder,visible:t.box},on:{"update:visible":function(e){t.box=e}}},[t.box?e("avue-crud",{ref:"crud",class:t.b("crud"),attrs:{option:t.option,data:t.data,"table-loading":t.loading,page:t.page},on:{"on-load":t.onList,"search-change":t.handleSearchChange,"search-reset":t.handleSearchChange,"current-row-change":t.handleCurrentRowChange,"update:page":function(e){t.page=e}}}):t._e(),t._v(" "),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e("el-button",{attrs:{type:"primary",size:t.size,icon:"el-icon-check"},on:{click:t.setVal}},[t._v("确 定")])],1)],1)],1):t._e()],1)}),[],!1,null,null,null).exports,we=Object(i.a)({name:"verify",props:{size:{type:[Number,String],default:50},value:[Number,String],len:{type:[Number,String],default:6}},computed:{styleName:function(){return{padding:"".concat(this.setPx(this.size/7)," ").concat(this.setPx(this.size/4)),fontSize:this.setPx(this.size)}},list:function(){return this.data.split("")}},watch:{value:{handler:function(t){this.validatenull(t)?this.randomn():this.data=t+""},immediate:!0},data:{handler:function(t){this.$emit("input",t)},immediate:!0}},data:function(){return{data:0}},methods:{randomn:function(){var t=this.len;if(t>21)return null;var e=new RegExp("(\\d{"+t+"})(\\.|$)"),n=(Array(t-1).join(0)+Math.pow(10,t)*Math.random()).match(e)[1];this.data=n}}}),Oe=Object(s.a)(we,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},t._l(t.list,(function(n,i){return e("span",{key:i,class:t.b("item"),style:t.styleName},[t._v("\n "+t._s(n)+"\n ")])})),0)}),[],!1,null,null,null).exports,Ce=Object(i.a)({name:"switch",mixins:[Tt(),$t()],props:{value:{},activeIconClass:String,inactiveIconClass:String,activeColor:String,inactiveColor:String,len:Number},data:function(){return{}},watch:{},created:function(){},mounted:function(){},computed:{active:function(){return this.dic[1]||{}},inactive:function(){return this.dic[0]||{}}},methods:{}}),ke=Object(s.a)(Ce,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("el-switch",{attrs:{"active-text":t.active[t.labelKey],"active-value":t.active[t.valueKey],"inactive-value":t.inactive[t.valueKey],"inactive-text":t.inactive[t.labelKey],"active-icon-class":t.activeIconClass,"inactive-icon-class":t.inactiveIconClass,"active-color":t.activeColor,"inactive-color":t.inactiveColor,width:t.len,disabled:t.disabled,readonly:t.readonly,size:t.size},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})}),[],!1,null,null,null).exports,Se=Object(i.a)({name:"rate",mixins:[Tt(),$t()],props:{allowHalf:Boolean,lowThreshold:Number,highThreshold:Number,disabledVoidColor:String,disabledVoidIconClass:String,value:{type:Number,default:0},colors:{type:Array},max:{type:Number,default:5},iconClasses:{type:Array},texts:{type:Array},scoreTemplate:String,showScore:{type:Boolean,default:!1},showText:{type:Boolean,default:!1},voidIconClass:{type:String}},data:function(){return{}},watch:{},created:function(){},mounted:function(){},methods:{}}),je=Object(s.a)(Se,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("el-rate",{staticStyle:{"margin-top":"10px"},attrs:{max:t.max,"low-threshold":t.lowThreshold,"high-threshold":t.highThreshold,"disabled-void-color":t.disabledVoidColor,"disabled-void-icon-class":t.disabledVoidIconClass,"allow-half":t.allowHalf,readonly:t.readonly,texts:t.texts,"show-score":t.showScore,"score-template":t.scoreTemplate,"show-text":t.showText,"icon-classes":t.iconClasses,"void-icon-class":t.voidIconClass,disabled:t.disabled,colors:t.colors},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})}),[],!1,null,null,null).exports;function Pe(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Ee(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};Pe(this,t),this.CONTAINERID=Object(D.s)(),this.drawCanvas=this.drawCanvas.bind(this),this.parentObserver=this.parentObserver.bind(this),this.Repaint=this.Repaint.bind(this),this.isOberserve=!1,this.init(e),this.drawCanvas(),this.parentObserver()}var e,n,i;return e=t,(n=[{key:"init",value:function(t){this.option=Object.assign({width:400,height:200,text:"avueJS",fontSize:"30px",fontStyle:"黑体",textAlign:"center",color:"rgba(100,100,100,0.15)",degree:-20},t)}},{key:"drawCanvas",value:function(){this.isOberserve=!0;var t=document.createElement("div"),e=document.createElement("canvas"),n=e.getContext("2d");t.id=this.CONTAINERID,e.width=this.option.width,e.height=this.option.height,n.font="".concat(this.option.fontSize," ").concat(this.option.fontStyle),n.textAlign=this.option.textAlign,n.fillStyle=this.option.color,n.translate(e.width/2,e.height/2),n.rotate(this.option.degree*Math.PI/180),n.fillText(this.option.text,0,0);var i,o=e.toDataURL("image/png"),a=this.option.id;a&&(i=document.getElementById(a)),this.styleStr="\n position:".concat(a?"absolute":"fixed",";\n top:0;\n left:0;\n width:").concat(a?i.offsetWidth+"px":"100%",";\n height:").concat(a?i.offsetHeight+"px":"100%",";\n z-index:9999;\n pointer-events:none;\n background-repeat:repeat;\n background-image:url('").concat(o,"')"),t.setAttribute("style",this.styleStr),a?document.getElementById(a).appendChild(t):document.body.appendChild(t),this.wmObserver(t),this.isOberserve=!1}},{key:"wmObserver",value:function(t){var e=this,n=new MutationObserver((function(t){if(!e.isOberserve){var i=t[0].target;i.setAttribute("style",e.styleStr),i.setAttribute("id",e.CONTAINERID),n.takeRecords()}}));n.observe(t,{attributes:!0,childList:!0,characterData:!0})}},{key:"parentObserver",value:function(){var t=this;new MutationObserver((function(){if(!t.isOberserve){var e=document.querySelector("#".concat(t.CONTAINERID));e?e.getAttribute("style")!==t.styleStr&&e.setAttribute("style",t.styleStr):t.drawCanvas()}})).observe(document.querySelector("#".concat(this.CONTAINERID)).parentNode,{childList:!0})}},{key:"Repaint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.remove(),this.init(t),this.drawCanvas()}},{key:"remove",value:function(){this.isOberserve=!0;var t=document.querySelector("#".concat(this.CONTAINERID));t.parentNode.removeChild(t)}}])&&Ee(e.prototype,n),i&&Ee(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}(),Ae=200,Be=200,Me={text:"avueJS",fontFamily:"microsoft yahei",color:"#999",fontSize:16,opacity:100,bottom:10,right:10,ratio:1};function Ie(t,e){var n=new FileReader;n.readAsDataURL(t),n.onload=function(t){e(t.target.result)}}var Le=function(t,e,n){var i=function(t){var e,n,i,o,a,r;i=t.length,n=0,e="";for(;n>2),e+=Ne.charAt((3&o)<<4),e+="==";break}if(a=t.charCodeAt(n++),n==i){e+=Ne.charAt(o>>2),e+=Ne.charAt((3&o)<<4|(240&a)>>4),e+=Ne.charAt((15&a)<<2),e+="=";break}r=t.charCodeAt(n++),e+=Ne.charAt(o>>2),e+=Ne.charAt((3&o)<<4|(240&a)>>4),e+=Ne.charAt((15&a)<<2|(192&r)>>6),e+=Ne.charAt(63&r)}return e}(function(t){var e,n,i,o;for(e="",i=t.length,n=0;n=1&&o<=127?e+=t.charAt(n):o>2047?(e+=String.fromCharCode(224|o>>12&15),e+=String.fromCharCode(128|o>>6&63),e+=String.fromCharCode(128|o>>0&63)):(e+=String.fromCharCode(192|o>>6&31),e+=String.fromCharCode(128|o>>0&63));return e}(JSON.stringify(n))),o=CryptoJS.HmacSHA1(i,e).toString(CryptoJS.enc.Base64);return t+":"+ze(o)+":"+i};var Ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);var ze=function(t){return t=(t=t.replace(/\+/g,"-")).replace(/\//g,"_")};function Fe(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e.match(/(^http:\/\/|^https:\/\/|^\/\/|data:image\/)/)?e:t+e}var He=Object(i.a)({name:"upload",mixins:[Tt(),$t(),P.a],data:function(){return{res:"",loading:!1,text:[],file:{},menu:!1,reload:Math.random()}},props:{data:{type:Object,default:function(){return{}}},showFileList:{type:Boolean,default:!0},fileType:{type:String},oss:{type:String},limit:{type:Number,default:10},headers:{type:Object,default:function(){return{}}},accept:{type:[String,Array],default:""},canvasOption:{type:Object,default:function(){return{}}},cropperOption:{type:Object,default:function(){return{}}},fileSize:{type:Number},dragFile:{type:Boolean,default:!1},drag:{type:Boolean,default:!1},loadText:{type:String,default:"Loading..."},action:{type:String,default:""},uploadBefore:Function,uploadAfter:Function,uploadDelete:Function,uploadPreview:Function,uploadError:Function,uploadExceed:Function,httpRequest:Function},computed:{isMultiple:function(){return this.isArray||this.isString||this.stringMode},acceptList:function(){return Array.isArray(this.accept)?this.accept.join(","):this.accept},homeUrl:function(){return this.propsHttp.home||""},fileName:function(){return this.propsHttp.fileName||"file"},isAliOss:function(){return"ali"===this.oss},isQiniuOss:function(){return"qiniu"===this.oss},isPictureImg:function(){return"picture-img"===this.listType},imgUrl:function(){if(!this.validatenull(this.text))return Fe(this.homeUrl,this.text[0])},fileList:function(){var t=this,e=[];return(this.text||[]).forEach((function(n,i){if(n){var o;if(t.isMultiple){var a=n.lastIndexOf("/");o=n.substring(a+1)}var r=Fe(t.homeUrl,t.isMultiple?n:n[t.valueKey]);e.push({uid:i+"",status:"done",type:t.getIsVideo(r),name:t.isMultiple?o:n[t.labelKey],url:r})}})),e}},mounted:function(){this.drag&&this.setSort()},methods:{getIsVideo:function(t){return B.m.video.test(t)||"video"==this.fileType?"video":B.m.img.test(t)||"img"==this.fileType||this.listType?"img":""},setSort:function(){var t=this;if(window.Sortable){var e=this.$el.querySelectorAll(".avue-upload > ul")[0];window.Sortable.create(e,{animation:100,onEnd:function(e){var n=t.text.splice(e.oldIndex,1)[0];t.text.splice(e.newIndex,0,n),t.reload=Math.random(),t.$nextTick((function(){return t.setSort()}))}})}else x.a.logs("Sortable")},handleSuccess:function(t){if(this.isPictureImg)this.text.splice(0,1,t[this.urlKey]);else if(this.isMultiple)this.text.push(t[this.urlKey]);else{var e={};e[this.labelKey]=t[this.nameKey],e[this.valueKey]=t[this.urlKey],this.text.push(e)}},handleRemove:function(t,e){var n=this;this.beforeRemove(t).then((function(){n.delete(t)}))},handleError:function(t){this.uploadError&&this.uploadError(t,this.column)},delete:function(t){var e=this;(this.text||[]).forEach((function(n,i){(e.isMultiple?n:n[e.valueKey])===t.url.replace(e.homeUrl,"")&&e.text.splice(i,1)}))},show:function(t){this.loading=!1,this.handleSuccess(t||this.res)},hide:function(t){this.loading=!1,this.handleError(t)},handleFileChange:function(t,e){e.splice(e.length-1,1)},httpUpload:function(t){var e=this;if("function"!=typeof this.httpRequest){this.loading=!0;var n=t.file,i=n.size/1024;if(this.file=t.file,!this.validatenull(i)&&i>this.fileSize)this.hide("文件太大不符合");else{var o=Object.assign(this.headers,{"Content-Type":"multipart/form-data"}),a={},r={},s=new FormData,l=function(){var t=function(t){var i=e.action;for(var l in e.data)s.append(l,e.data[l]);var c=t||n;if(s.append(e.fileName,c),e.isQiniuOss){if(!window.CryptoJS)return x.a.logs("CryptoJS"),void e.hide();a=e.$AVUE.qiniu;var u=Le(a.AK,a.SK,{scope:a.scope,deadline:(new Date).getTime()+3600*a.deadline});s.append("token",u),i=a.bucket}else if(e.isAliOss){if(!window.OSS)return x.a.logs("AliOSS"),void e.hide();a=e.$AVUE.ali,r=new OSS(a)}(e.isAliOss?r.put(c.name,c,{headers:e.headers}):e.$axios.post(i,s,{headers:o})).then((function(t){e.res={},e.isQiniuOss&&(t.data.key=a.url+t.data.key),e.isAliOss?e.res=Object(D.m)(t,e.resKey):e.res=Object(D.m)(t.data,e.resKey),"function"==typeof e.uploadAfter?e.uploadAfter(e.res,e.show,(function(){e.loading=!1}),e.column):e.show(e.res)})).catch((function(t){"function"==typeof e.uploadAfter?e.uploadAfter(t,e.hide,(function(){e.loading=!1}),e.column):e.hide(t)}))};"function"==typeof e.uploadBefore?e.uploadBefore(e.file,t,(function(){e.loading=!1}),e.column):t()};this.validatenull(this.cropperOption)?this.validatenull(this.canvasOption)?l():function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,i=e.text,o=e.fontFamily,a=e.color,r=e.fontSize,s=e.opacity,l=e.bottom,c=e.right,u=e.ratio;function d(){Me.text=i||Me.text,Me.fontFamily=o||Me.fontFamily,Me.color=a||Me.color,Me.fontSize=r||Me.fontSize,Me.opacity=s||Me.opacity,Me.bottom=l||Me.bottom,Me.right=c||Me.right,Me.ratio=u||Me.ratio}function p(e){var i=new Image;i.src=e,i.onload=function(){var e=i.width,o=i.height;h(e,o),Te.drawImage(i,0,0,e,o),f(e,o),n&&n(Object(D.d)(document.getElementById("canvas").toDataURL(t.type,Me.ratio),t.name))}}function h(t,e){null===(De=document.getElementById("canvas"))&&((De=document.createElement("canvas")).id="canvas",De.className="avue-canvas",document.body.appendChild(De)),Te=De.getContext("2d"),De.width=t,De.height=e}function f(t,e){var n=Me.text,i=m(n,t,e);Te.font=i.fontSize+"px "+Me.fontFamily,Te.fillStyle=Me.color,Te.globalAlpha=Me.opacity/100,Te.fillText(n,i.x,i.y)}function m(t,e,n){var i,o,a=Me.fontSize/Ae*e;return o=Me.bottom?Be-Me.bottom:Me.top,i=Me.right?Ae-Me.right:Me.left,Te.font=Me.fontSize+"px "+Me.fontFamily,{x:i=(i-=Number(Te.measureText(t).width))/Ae*e,y:o=o/Be*n,fontSize:a}}d(),Ie(t,p)}(n,this.canvasOption,(function(t){n=t,l()})):Ie(this.file,(function(t){var i=Object.assign(e.cropperOption,{img:t,type:"file",callback:function(t){n=t,l()},cancel:function(){e.loading=!1}});e.$ImageCropper(i)}))}}else this.httpRequest(t)},handleExceed:function(t,e){this.uploadExceed&&this.uploadExceed(this.limit,t,e,this.column)},handlePreview:function(t){var e=this,n=function(){var n=e.fileList.findIndex((function(e){return e.url===t.url}));e.$ImagePreview(e.fileList,n)};"function"==typeof this.uploadPreview?this.uploadPreview(t,this.column,n):n()},handleDelete:function(t){var e=this;this.beforeRemove(t).then((function(){e.text=[],e.menu=!1}))},beforeRemove:function(t){return"function"==typeof this.uploadDelete?this.uploadDelete(t,this.column):Promise.resolve()}}}),Ke=Object(s.a)(He,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{directives:[{name:"loading",rawName:"v-loading.lock",value:t.loading,expression:"loading",modifiers:{lock:!0}}],class:t.b(),attrs:{"element-loading-text":t.loadText}},[e("el-upload",{key:t.reload,class:t.b({list:"picture-img"==t.listType,upload:t.disabled}),attrs:{action:t.action,"on-remove":t.handleRemove,accept:t.acceptList,"before-remove":t.beforeRemove,multiple:t.multiple,"on-preview":t.handlePreview,limit:t.limit,"http-request":t.httpUpload,readonly:t.readonly,drag:t.dragFile,"show-file-list":!t.isPictureImg&&t.showFileList,"list-type":t.listType,"on-change":t.handleFileChange,"on-exceed":t.handleExceed,disabled:t.disabled,"file-list":t.fileList},nativeOn:{click:function(e){return t.handleClick.apply(null,arguments)}},scopedSlots:t._u([{key:"file",fn:function({file:n}){return[t.$scopedSlots.default?t._t("default",null,{file:n}):"picture-card"===t.listType?e("span",[e(n.type,{tag:"component",staticClass:"el-upload-list__item-thumbnail",attrs:{src:n.url}}),t._v(" "),e("span",{staticClass:"el-upload-list__item-actions"},[e("span",{staticClass:"el-upload-list__item-preview"},[e("i",{staticClass:"el-icon-zoom-in",on:{click:function(e){return e.stopPropagation(),t.handlePreview(n)}}})]),t._v(" "),e("span",{staticClass:"el-upload-list__item-delete"},[t.disabled?t._e():e("i",{staticClass:"el-icon-delete",on:{click:function(e){return e.stopPropagation(),t.handleRemove(n)}}})])])],1):"picture"===t.listType?e("span",{on:{click:function(e){return e.stopPropagation(),t.handlePreview(n)}}},[e(n.type,{tag:"component",staticClass:"el-upload-list__item-thumbnail",attrs:{src:n.url}}),t._v(" "),e("a",{staticClass:"el-upload-list__item-name"},[e("i",{staticClass:"el-icon-document"}),t._v("\n "+t._s(n.name)+"\n ")]),t._v(" "),e("i",{staticClass:"el-icon-close",on:{click:function(e){return e.stopPropagation(),t.handleRemove(n)}}})],1):e("span",{on:{click:function(e){return e.stopPropagation(),t.handlePreview(n)}}},[e("a",{staticClass:"el-upload-list__item-name"},[e("i",{staticClass:"el-icon-document"}),t._v("\n "+t._s(n.name)+"\n ")]),t._v(" "),t.disabled?t._e():e("i",{staticClass:"el-icon-close",on:{click:function(e){return e.stopPropagation(),t.handleRemove(n)}}})])]}}],null,!0)},["picture-card"==t.listType?[e("i",{staticClass:"el-icon-plus"})]:"picture-img"==t.listType?[t.$scopedSlots.default?t._t("default",null,{file:{url:t.imgUrl}}):[t.imgUrl?e(t.getIsVideo(t.imgUrl),{tag:"component",class:t.b("avatar"),attrs:{src:t.imgUrl},on:{mouseover:function(e){t.menu=!0}}}):e("i",{staticClass:"el-icon-plus",class:t.b("icon")}),t._v(" "),t.menu?e("div",{staticClass:"el-upload-list__item-actions",class:t.b("menu"),on:{mouseover:function(e){t.menu=!0},mouseout:function(e){t.menu=!1},click:function(t){return t.stopPropagation(),(()=>!1).apply(null,arguments)}}},[e("i",{staticClass:"el-icon-zoom-in",on:{click:function(e){return e.stopPropagation(),t.handlePreview({url:t.imgUrl})}}}),t._v(" "),t.disabled?t._e():e("i",{staticClass:"el-icon-delete",on:{click:function(e){return e.stopPropagation(),t.handleDelete(t.imgUrl)}}})]):t._e()]]:t.dragFile?[e("i",{staticClass:"el-icon-upload"}),t._v(" "),e("div",{staticClass:"el-upload__text"},[t._v("\n "+t._s(t.t("upload.tip"))+"\n "),e("em",[t._v(t._s(t.t("upload.upload")))])])]:[e("el-button",{attrs:{size:"small",type:"primary"}},[t._v(t._s(t.t("upload.upload")))])],t._v(" "),e("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},domProps:{innerHTML:t._s(t.tip)},slot:"tip"})],2)],1)}),[],!1,null,null,null).exports;var Re=Object(i.a)({name:"sign",props:{width:{type:Number,default:600},height:{type:Number,default:400}},data:function(){return{disabled:!1,linex:[],liney:[],linen:[],canvas:{},context:{}}},computed:{styleName:function(){return{width:this.setPx(this.width),height:this.setPx(this.height)}}},mounted:function(){this.init()},methods:{getStar:function(t,e,n){var i=this.canvas,o=this.context,a=i.width/2,r=i.height/2;o.lineWidth=7,o.strokeStyle="#f00",o.beginPath(),o.arc(a,r,110,0,2*Math.PI),o.stroke(),function(t,e,n,i,o,a){t.save(),t.fillStyle=o,t.translate(e,n),t.rotate(Math.PI+a),t.beginPath();for(var r=Math.sin(0),s=Math.cos(0),l=Math.PI/5*4,c=0;c<5;c++){r=Math.sin(c*l),s=Math.cos(c*l);t.lineTo(r*i,s*i)}t.closePath(),t.stroke(),t.fill(),t.restore()}(o,a,r,20,"#f00",0),o.font="18px 黑体",o.textBaseline="middle",o.textAlign="center",o.lineWidth=1,o.strokeStyle="#f00",o.strokeText(t,a,r+50),o.font="14px 黑体",o.textBaseline="middle",o.textAlign="center",o.lineWidth=1,o.strokeStyle="#f00",o.strokeText(n,a,r+80),o.translate(a,r),o.font="22px 黑体";for(var s,l=e.length,c=4*Math.PI/(3*(l-1)),u=e.split(""),d=0;d',r=[],s=1;s<10;s++)r.push(s.toString());r.push("0");for(var l,c=e.keys||[["`"].concat(r).concat(["-","=","Delete"]),["Tab","q","w","e","r","t","y","u","i","o","p","[","]","\\"],["Caps","a","s","d","f","g","h","j","k","l",";","'","Enter"],["Shift","z","x","c","v","b","n","m",",",".","/","Shift"],["Space"]],u=[],d=[],p=0;p");continue;case"/":u[p].push("?");continue}u[p].push(l[h].toUpperCase())}}for(var f=0;f';for(var m=0;m'+l[m]+"";a+=""}a+="",n.innerHTML=a;var v=!1;if(c.forEach((function(t){t.includes("Shift")&&(v=!0)})),v)document.querySelectorAll(e.el+" .akeyboard-keyboard-keys-Shift").forEach((function(t){t.onclick=function(){if(this.isShift){t.isShift=!1,t.innerHTML="Shift",this.classList.remove("keyboard-keyboard-keys-focus");for(var n,i=document.querySelectorAll(e.el+" .akeyboard-keyboard-innerKeys"),o=0;o')}var e,n,i;return e=t,(n=[{key:"inputOn",value:function(t,e,n,i){if("string"==typeof t)if("string"==typeof e)for(var o=document.querySelector(t),a=document.querySelectorAll(this.obj.el+" .akeyboard-keyboard-keys"),r=0;r0&&i[a[r].innerHTML]?a[r].onclick=i[a[r].innerHTML]:a[r].onclick=function(){o[e]+=this.innerText,n(this.innerText,o[e])}:a[r].onclick=function(){o[e]+=" ",n("Space",o[e])}:a[r].onclick=function(){o[e]+="\n",n("Enter",o[e])}:a[r].onclick=function(){o[e]+=" ",n("Tab",o[e])}:a[r].onclick=function(){o[e]=o[e].substr(0,o[e].length-1),n("Delete",o[e])});else console.error('aKeyboard: The type parameter needs to be a string ');else console.error('aKeyboard: The inputEle parameter needs to be a string ')}},{key:"onclick",value:function(t,e){if("string"==typeof t)if("function"==typeof e){var n=document.querySelector(this.obj.el+" .akeyboard-keyboard-keys-"+t);n?n.onclick=e:console.error("Can not find key: "+t)}else console.error('aKeyboard: The fn parameter needs to be a function ');else console.error('aKeyboard: The btn parameter needs to be a string ')}}])&&Xe(e.prototype,n),i&&Xe(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Ge(t){return(Ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Je(t,e){for(var n=0;n';a+='
';for(var r=1;r<10;r++)a+='
'+r+"
",r%3==0&&(a+='
');a+='
0
Delete
Enter
',a+="",n.innerHTML=a}else console.error('aKeyboard: The obj parameter needs to be an object ')}var e,n,i;return e=t,(n=[{key:"inputOn",value:function(t,e,n,i){if("string"==typeof t)if("string"==typeof e)for(var o=document.querySelector(t),a=document.querySelectorAll(this.obj.el+" .akeyboard-keyboard-keys"),r=0;r0&&i[a[r].innerHTML]?a[r].onclick=i[a[r].innerHTML]:a[r].onclick=function(){o[e]+=this.innerText,n(this.innerText,o[e])}:a[r].onclick=function(){o[e]+="\n",n("Enter",o[e])}:a[r].onclick=function(){o[e]=o[e].substr(0,o[e].length-1),n("Delete",o[e])};else console.error('aKeyboard: The type parameter needs to be a string ');else console.error('aKeyboard: The inputEle parameter needs to be a string ')}},{key:"onclick",value:function(t,e){if("string"==typeof t)if("function"==typeof e){var n=document.querySelector(this.obj.el+" .akeyboard-keyboard-keys-"+t);n?n.onclick=e:console.error("Can not find key: "+t)}else console.error('aKeyboard: The fn parameter needs to be a function ');else console.error('aKeyboard: The btn parameter needs to be a string ')}}])&&Je(e.prototype,n),i&&Je(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}();var Ze=Object(i.a)({name:"keyboard",props:{ele:{type:String,required:!0},keys:Array,theme:{type:String,default:"default",validator:function(t){return["default","dark","green","classic"].includes(t)}},type:{type:String,default:"default",validator:function(t){return["default","number","mobile"].includes(t)}},fixedBottomCenter:{type:Boolean,default:!1},rebind:{type:Boolean,default:!0}},watch:{ele:function(){this.init()}},data:function(){return{customClick:{}}},computed:{className:function(){return"avue-keyboard--".concat(this.theme)}},mounted:function(){this.init()},methods:{init:function(){var t=this;if(this.ele){var e,n={el:"#keyboard",style:{},keys:this.keys,fixedBottomCenter:this.fixedBottomCenter};"default"==this.type?e=new qe(n):"number"==this.type?e=new Qe(n):"mobile"==this.type&&(e=new MobileKeyBoard(n));var i=0==this.ele.indexOf("#")?this.ele.substring(1):this.ele;e.inputOn("#".concat(i),"value",(function(e,n){t.$emit("click",e,n)}),this.rebind?this.customClick:null),this.keyboard=e}},bindClick:function(t,e){this.keyboard.onclick(t,e),this.customClick[t]=e}}}),tn=Object(s.a)(Ze,(function(){var t=this._self._c;this._self._setupProxy;return t("div",{class:[this.b(),this.className]},[t("div",{attrs:{id:"keyboard"}})])}),[],!1,null,null,null).exports,en=Object(i.a)({name:"tree",mixins:[P.a],directives:{permission:w},props:{indent:Number,filterNodeMethod:Function,checkOnClickNode:Boolean,permission:{type:[Function,Object],default:function(){return{}}},iconClass:{type:String},loading:{type:Boolean,default:!1},expandOnClickNode:{type:Boolean,default:!1},option:{type:Object,default:function(){return{}}},data:{type:Array,default:function(){return[]}},value:{type:Object,default:function(){return{}}}},data:function(){return{filterValue:"",client:{x:0,y:0,show:!1},box:!1,type:"",node:{},obj:{},form:{}}},computed:{styleName:function(){return{top:this.setPx(this.client.y-10),left:this.setPx(this.client.x-10)}},treeProps:function(){return Object.assign(this.props,{isLeaf:this.leafKey})},menu:function(){return this.vaildData(this.option.menu,!0)},title:function(){return this.option.title},treeLoad:function(){return this.option.treeLoad},checkStrictly:function(){return this.option.checkStrictly},accordion:function(){return this.option.accordion},multiple:function(){return this.option.multiple},lazy:function(){return this.option.lazy},addText:function(){return this.addFlag?this.menuIcon("addBtn"):this.menuIcon("updateBtn")},addFlag:function(){return["add","parentAdd"].includes(this.type)},size:function(){return this.option.size||"small"},props:function(){return this.option.props||{}},leafKey:function(){return this.props.leaf||B.e.leaf},valueKey:function(){return this.props.value||B.e.value},labelKey:function(){return this.props.label||B.e.label},childrenKey:function(){return this.props.children||B.e.children},nodeKey:function(){return this.option.nodeKey||B.e.nodeKey},defaultExpandAll:function(){return this.option.defaultExpandAll},defaultExpandedKeys:function(){return this.option.defaultExpandedKeys},formOption:function(){return Object.assign(this.option.formOption||{},{submitText:this.addText})}},mounted:function(){var t=this;document.addEventListener("click",(function(e){t.$el.contains(e.target)||(t.client.show=!1)})),this.initFun()},watch:{filterValue:function(t){this.$refs.tree.filter(t)},value:function(t){this.form=t},form:function(t){this.$emit("input",t)}},methods:{menuIcon:function(t){return this.vaildData(this.option[t+"Text"],this.t("crud."+t))},getPermission:function(t){return"function"==typeof this.permission?this.permission(t,this.node):!!this.validatenull(this.permission[t])||this.permission[t]},initFun:function(){var t=this;["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"].forEach((function(e){t[e]=t.$refs.tree[e]}))},nodeContextmenu:function(t,e){this.node=this.deepClone(e),this.client.x=t.clientX,this.client.y=t.clientY,this.client.show=!0},handleCheckChange:function(t,e,n){this.$emit("check-change",t,e,n)},handleSubmit:function(t,e){this.addFlag?this.save(t,e):this.update(t,e)},nodeClick:function(t,e,n){this.client.show=!1,this.$emit("node-click",t,e,n)},filterNode:function(t,e){return"function"==typeof this.filterNodeMethod?this.filterNodeMethod(t,e):!t||-1!==e[this.labelKey].indexOf(t)},hide:function(){this.box=!1,this.node={},this.$refs.form.resetForm(),this.$refs.form.clearValidate()},save:function(t,e){var n=this;this.$emit("save",this.node,t,(function(){var t=n.deepClone(n.form);"add"===n.type?n.$refs.tree.append(t,n.node[n.valueKey]):"parentAdd"===n.type&&n.$refs.tree.append(t),n.hide(),e()}),e)},update:function(t,e){var n=this;this.$emit("update",this.node,t,(function(){(n.$refs.tree.getNode(n.node[n.valueKey])||{}).data=n.deepClone(n.form),n.hide(),e()}),e)},rowEdit:function(t){this.type="edit",this.form=this.node,this.show()},parentAdd:function(){this.type="parentAdd",this.show()},rowAdd:function(){this.type="add",this.show()},show:function(){this.client.show=!1,this.box=!0},rowRemove:function(){var t=this;this.client.show=!1;this.$emit("del",this.node,(function(){t.$refs.tree.remove(t.node[t.valueKey])}))}}}),nn=Object(s.a)(en,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[t.vaildData(t.option.filter,!0)?e("div",{class:t.b("filter")},[e("el-input",{attrs:{placeholder:t.vaildData(t.option.filterText,"输入关键字进行过滤"),size:t.size},model:{value:t.filterValue,callback:function(e){t.filterValue=e},expression:"filterValue"}},[t.vaildData(t.option.addBtn,!0)?e("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("addBtn"),expression:"getPermission('addBtn')"}],attrs:{slot:"append",size:t.size,icon:"el-icon-plus"},on:{click:t.parentAdd},slot:"append"}):t._t("addBtn",null,{slot:"append"})],2)],1):t._e(),t._v(" "),e("el-scrollbar",{class:t.b("content")},[e("el-tree",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"tree",attrs:{data:t.data,lazy:t.lazy,load:t.treeLoad,props:t.treeProps,"icon-class":t.iconClass,indent:t.indent,"highlight-current":!t.multiple,"show-checkbox":t.multiple,accordion:t.accordion,"node-key":t.valueKey,"check-strictly":t.checkStrictly,"check-on-click-node":t.checkOnClickNode,"filter-node-method":t.filterNode,"expand-on-click-node":t.expandOnClickNode,"default-expand-all":t.defaultExpandAll,"default-expanded-keys":t.defaultExpandedKeys},on:{"check-change":t.handleCheckChange,"node-click":t.nodeClick,"node-contextmenu":t.nodeContextmenu},scopedSlots:t._u([{key:"default",fn:function({node:n,data:i}){return t.$scopedSlots.default?t._t("default",null,{node:n,data:i}):e("span",{staticClass:"el-tree-node__label"},[e("span",[t._v(t._s(n.label))])])}}],null,!0)})],1),t._v(" "),t.client.show&&t.menu?e("div",{staticClass:"el-cascader-panel is-bordered",class:t.b("menu"),style:t.styleName,on:{click:function(e){t.client.show=!1}}},[t.vaildData(t.option.addBtn,!0)?e("div",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("addBtn"),expression:"getPermission('addBtn')"}],class:t.b("item"),on:{click:t.rowAdd}},[t._v(t._s(t.menuIcon("addBtn")))]):t._e(),t._v(" "),t.vaildData(t.option.editBtn,!0)?e("div",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("editBtn"),expression:"getPermission('editBtn')"}],class:t.b("item"),on:{click:t.rowEdit}},[t._v(t._s(t.menuIcon("editBtn")))]):t._e(),t._v(" "),t.vaildData(t.option.delBtn,!0)?e("div",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("delBtn"),expression:"getPermission('delBtn')"}],class:t.b("item"),on:{click:t.rowRemove}},[t._v(t._s(t.menuIcon("delBtn")))]):t._e(),t._v(" "),t._t("menu",null,{node:t.node})],2):t._e(),t._v(" "),t.box?e("div",[e("el-dialog",{staticClass:"avue-dialog",class:t.b("dialog"),attrs:{title:t.node[t.labelKey]||t.title,visible:t.box,"modal-append-to-body":"","append-to-body":"",width:t.vaildData(t.option.dialogWidth,"50%")},on:{"update:visible":function(e){t.box=e},close:t.hide}},[e("avue-form",{ref:"form",attrs:{option:t.formOption},on:{submit:t.handleSubmit},model:{value:t.form,callback:function(e){t.form=e},expression:"form"}})],1)],1):t._e()],1)}),[],!1,null,null,null).exports,on=Object(i.a)({name:"title",mixins:[Tt(),$t()],props:{styles:{type:Object,default:function(){return{}}}},mounted:function(){},methods:{}}),an=Object(s.a)(on,(function(){var t=this._self._c;this._self._setupProxy;return t("div",{class:this.b()},[t("p",{style:this.styles},[this._v(this._s(this.text))])])}),[],!1,null,null,null).exports,rn=Object(i.a)({name:"search",mixins:[Object(O.a)()],props:{value:{}},computed:{isCard:function(){return this.parentOption.card},parentOption:function(){return this.tableOption},propOption:function(){return this.columnOption},columnOption:function(){return this.parentOption.column}},data:function(){return{form:{}}},watch:{value:{handler:function(){this.setVal()},deep:!0}},created:function(){this.dataformat(),this.setVal()},methods:{setVal:function(){var t=this;Object.keys(this.value).forEach((function(e){t.$set(t.form,e,t.value[e])}))},getKey:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return t[e[n]||(this.parentOption.props||{})[n]||n]},dataformat:function(){var t=this;this.columnOption.forEach((function(e){var n=e.prop;t.validatenull(t.form[n])&&(!1===e.multiple?t.$set(t.form,n,""):t.$set(t.form,n,[]))}))},getActive:function(t,e){var n=this.getKey(t,e.props,"value");return!1===e.multiple?this.form[e.prop]===n:this.form[e.prop].includes(n)},handleClick:function(t,e){var n=this.getKey(e,t.props,"value");if(!1===t.multiple)this.form[t.prop]=n;else{var i=this.form[t.prop].indexOf(n);-1===i?this.form[t.prop].push(n):this.form[t.prop].splice(i,1)}this.$emit("change",this.form),this.$emit("input",this.form)}}}),sn=Object(s.a)(rn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("el-row",{class:[t.b(),{"avue--card":t.isCard}],attrs:{span:24}},t._l(t.columnOption,(function(n,i){return e("el-col",{key:n.prop,class:t.b("item"),attrs:{span:n.span||24}},[e("p",{class:t.b("title")},[t._v(t._s(n.label)+":")]),t._v(" "),e("div",{class:t.b("content")},[n.slot?t._t(n.prop,null,{dic:t.DIC[n.prop]}):t._l(t.DIC[n.prop],(function(i){return e("span",{key:t.getKey(i,n.props,"value"),class:[t.b("tags"),{"avue-search__tags--active":t.getActive(i,n)}],on:{click:function(e){return t.handleClick(n,i)}}},[t._v(t._s(t.getKey(i,n.props,"label")))])}))],2)])})),1)}),[],!1,null,null,null).exports;var ln=Object(i.a)({name:"skeleton",props:{loading:{type:Boolean,default:!0},avatar:Boolean,active:{type:Boolean,default:!0},block:Boolean,number:{type:Number,default:1},rows:{type:Number,default:3}},computed:{styleName:function(){return this.block?{width:"100%"}:{}},className:function(){var t,e,n,i=this.active;return t={},e="".concat("avue-skeleton","__loading"),n=i,e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}}}),cn=Object(s.a)(ln,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},t._l(t.number,(function(n,i){return t.loading?e("div",{key:i,class:t.b("item")},[e("div",{class:t.b("header")},[t.avatar?e("span",{class:[t.b("avatar"),t.className]}):t._e()]),t._v(" "),e("div",{class:t.b("content")},[e("h3",{class:[t.b("title"),t.className]}),t._v(" "),e("div",{class:t.b("list")},t._l(t.rows,(function(n,i){return e("li",{key:i,class:[t.b("li"),t.className],style:t.styleName})})),0)])]):e("div",[t._t("default")],2)})),0)}),[],!1,null,null,null).exports,un=Object(i.a)({name:"tabs",props:{option:{type:Object,required:!0,default:function(){return{}}}},data:function(){return{active:"0"}},watch:{active:function(){this.$emit("change",this.tabsObj)}},computed:{tabsObj:function(){return this.columnOption[this.active]},parentOption:function(){return this.option},columnOption:function(){return this.parentOption.column||[]}},methods:{changeTabs:function(t){this.active=t+""}}}),dn=Object(s.a)(un,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-tabs",{attrs:{"tab-position":t.parentOption.position,type:t.parentOption.type},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}},t._l(t.columnOption,(function(n,i){return e("el-tab-pane",{key:i,attrs:{name:i+"",disabled:n.disabled}},[e("span",{attrs:{slot:"label"},slot:"label"},[e("i",{class:n.icon}),t._v(" \n "+t._s(n.label)+"\n ")])])})),1)],1)}),[],!1,null,null,null).exports,pn=Object(i.a)({name:"dynamic",mixins:[Tt(),$t()],data:function(){return{reload:Math.random(),hoverList:[]}},props:{max:Number,columnSlot:{type:Array,default:function(){return[]}},children:{type:Object,default:function(){return{}}}},computed:{maxFlag:function(){return!this.max||!(this.text.length==this.max)},showIndex:function(){return this.vaildData(this.children.index,!0)},showType:function(){return this.children.type||"crud"},isForm:function(){return"form"===this.showType},isCrud:function(){return"crud"===this.showType},selectionChange:function(){return this.children.selectionChange},sortableChange:function(){return this.children.sortableChange},rowAdd:function(){return this.children.rowAdd},rowDel:function(){return this.children.rowDel},viewBtn:function(){return!1===this.children.viewBtn},addBtn:function(){return!1===this.children.addBtn},delBtn:function(){return!1===this.children.delBtn},valueOption:function(){var t={};return this.columnOption.forEach((function(e){e.value&&(t[e.prop]=e.value)})),t},rulesOption:function(){var t={};return this.columnOption.forEach((function(e){e.rules&&(t[e.prop]=e.rules)})),t},columnOption:function(){return this.children.column||[]},option:function(){var t,e=this;return Object.assign({border:!0,header:!1,menu:!1,size:this.size,disabled:this.disabled,readonly:this.readonly,emptyBtn:!1,submitBtn:!1},function(){var t=e.deepClone(e.children);return delete t.column,t}(),(t=[{label:e.children.indexLabel||"#",prop:"_index",display:e.showIndex,hide:!e.showIndex,fixed:!0,align:"center",headerAlign:"center",span:24,width:50}],e.columnOption.forEach((function(n){t.push(Object.assign(n,{cell:e.vaildData(n.cell,!0)}))})),{column:t}))}},mounted:function(){this.initData()},watch:{textLen:function(){return this.text.length},text:function(){this.initData()}},methods:{handleSelectionChange:function(t){this.selectionChange&&this.selectionChange(t)},handleSortableChange:function(t,e,n,i){this.sortableChange&&this.sortableChange(t,e,n,i)},cellMouseenter:function(t){var e=t.$index;this.mouseoverRow(e)},cellMouseLeave:function(t,e,n,i){var o=t.$index;this.mouseoutRow(o)},initData:function(){this.text.forEach((function(t,e){t=Object.assign(t,{$cellEdit:!0,$index:e})}))},mouseoverRow:function(t){this.delBtn||(this.flagList(),this.$set(this.hoverList,t,!0))},mouseoutRow:function(t){this.delBtn||(this.flagList(),this.$set(this.hoverList,t,!1))},flagList:function(){this.hoverList.forEach((function(t,e){!1}))},delRow:function(t){var e=this,n=function(){var n=e.deepClone(e.text);n.splice(t,1),e.text=n,e.reload=Math.random()};"function"==typeof this.rowDel?this.rowDel(this.text[t],n):n()},addRow:function(){var t=this,e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e=Object.assign(t.valueOption,e,{$index:t.textLen}),t.isCrud?t.$refs.main.rowCellAdd(e):t.isForm&&t.text.push(e)};"function"==typeof this.rowAdd?this.rowAdd(e):e()}}}),hn=Object(s.a)(pn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{key:t.reload,class:t.b()},[t.isForm?[e("div",{class:t.b("header")},[t.readonly||t.disabled||t.addBtn?t._e():e("el-button",{attrs:{size:"mini",circle:"",disabled:t.disabled,type:"primary",icon:"el-icon-plus"},on:{click:t.addRow}})],1),t._v(" "),e("div",t._l(t.text,(function(n,i){return e("div",{key:i,class:t.b("row"),on:{mouseenter:function(e){return t.cellMouseenter({$index:i})},mouseleave:function(e){return t.cellMouseLeave({$index:i})}}},[t.readonly||t.disabled||t.delBtn||!t.hoverList[i]?t._e():e("el-button",{class:t.b("menu"),attrs:{type:"danger",size:"mini",disabled:t.disabled,icon:"el-icon-delete",circle:""},on:{click:function(e){return t.delRow(n.$index)}}}),t._v(" "),e("avue-form",{key:i,ref:"main",refInFor:!0,attrs:{option:t.deepClone(t.option)},scopedSlots:t._u([{key:"_index",fn:function({}){return e("div",{},[e("span",[t._v(t._s(n.$index+1))])])}},t._l(t.columnSlot,(function(e){return{key:e,fn:function(n){return[t._t(e,null,null,Object.assign(n,{row:t.text[i]}))]}}}))],null,!0),model:{value:t.text[i],callback:function(e){t.$set(t.text,i,e)},expression:"text[index]"}})],1)})),0)]:t.isCrud?e("avue-crud",{ref:"main",attrs:{option:t.option,disabled:t.disabled,data:t.text},on:{"cell-mouse-enter":t.cellMouseenter,"cell-mouse-leave":t.cellMouseLeave,"selection-change":t.handleSelectionChange,"sortable-change":t.handleSortableChange},scopedSlots:t._u([{key:"_indexHeader",fn:function(n){return[t.addBtn||t.readonly||!t.maxFlag?t._e():e("el-button",{attrs:{type:"primary",size:"mini",disabled:t.disabled,icon:"el-icon-plus",circle:""},on:{click:function(e){return t.addRow()}}})]}},{key:"_index",fn:function(n){return[t.readonly||t.disabled||t.delBtn||!t.hoverList[n.row.$index]?e("div",[t._v(t._s(n.row.$index+1))]):e("el-button",{attrs:{type:"danger",size:"mini",disabled:t.disabled,icon:"el-icon-delete",circle:""},on:{click:function(e){return t.delRow(n.row.$index)}}})]}},t._l(t.columnSlot,(function(e){return{key:t.getSlotName({prop:e},"F"),fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)}):t._e()],2)}),[],!1,null,null,null).exports,fn=Object(i.a)({name:"queue",props:{enter:{type:String,default:"fadeInLeft"},leave:{type:String,default:"fadeOutRight"},block:{type:Boolean,default:!1},delay:{type:Number,default:0}},data:function(){return{isFixed:0,animate:[]}},mounted:function(){var t=this;this.$nextTick((function(){addEventListener("scroll",t.handleAnimate),t.handleAnimate()}))},methods:{handleAnimate:function(){var t=this;(pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)+document.documentElement.clientHeight>this.$refs.queue.offsetTop?setTimeout((function(){t.animate=[t.enter,"avue-opacity--active"]}),this.delay):this.animate=["avue-opacity"]}},destroyed:function(){removeEventListener("scroll",this.handleAnimate)}}),mn=Object(s.a)(fn,(function(){var t=this._self._c;this._self._setupProxy;return t("div",{class:[this.b(),{"avue-queue--block":this.block}]},[t("div",{ref:"queue",staticClass:"animated",class:this.animate},[this._t("default")],2)])}),[],!1,null,null,null).exports;function vn(t,e){for(var n=0;n=this.limit},textLen:function(){return(this.text||[]).length},isImg:function(){return"img"===this.type},isUrl:function(){return"url"===this.type}},props:{alone:Boolean,type:String,size:String,placeholder:String,readonly:Boolean,disabled:Boolean,value:[Array,String],limit:Number},methods:{add:function(t){this.text.splice(t+1,0,"")},remove:function(t){this.text.splice(t,1)},openImg:function(t){var e=this.text.map((function(t){return{thumbUrl:t,url:t}}));this.$ImagePreview(e,t)}}}),On=Object(s.a)(wn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[t.validatenull(t.text)?e("el-button",{attrs:{type:"primary",icon:"el-icon-plus",circle:"",size:t.size,disabled:t.disabled},on:{click:function(e){return t.add()}}}):t._e(),t._v(" "),t._l(t.text,(function(n,i){return e("div",{key:i,class:t.b("item")},[e("div",{class:t.b("input")},[e("el-tooltip",{attrs:{placement:"bottom",disabled:!t.isImg&&!t.isUrl||t.validatenull(n)}},[e("div",{attrs:{slot:"content"},slot:"content"},[t.isImg?e("el-image",{staticStyle:{width:"150px"},attrs:{src:n,fit:"cover"},on:{click:function(e){return t.openImg(i)}}}):t.isUrl?e("el-link",{attrs:{type:"primary",href:n,target:t.target}},[t._v(t._s(n))]):t._e()],1),t._v(" "),e("el-input",{attrs:{size:t.size,placeholder:t.placeholder,disabled:t.disabled},model:{value:t.text[i],callback:function(e){t.$set(t.text,i,e)},expression:"text[index]"}})],1),t._v(" "),t.disabled||t.readonly||t.alone?t._e():[t.isLimit?t._e():e("el-button",{attrs:{type:"primary",icon:"el-icon-plus",circle:"",size:t.size,disabled:t.disabled},on:{click:function(e){return t.add(i)}}}),t._v(" "),e("el-button",{attrs:{type:"danger",icon:"el-icon-minus",circle:"",size:t.size,disabled:t.disabled},on:{click:function(e){return t.remove(i)}}})]],2)])}))],2)}),[],!1,null,null,null).exports,Cn=Object(i.a)({name:"text-ellipsis",props:{text:String,height:Number,width:Number,isLimitHeight:{type:Boolean,default:!0},useTooltip:{type:Boolean,default:!1},placement:String},data:function(){return{keyIndex:0,oversize:!1,isHide:!1}},watch:{isLimitHeight:function(){this.init()},text:function(){this.init()},height:function(){this.init()}},mounted:function(){this.init()},methods:{init:function(){this.oversize=!1,this.keyIndex+=1,this.$refs.more.style.display="none",this.isLimitHeight&&this.limitShow()},limitShow:function(){var t=this;this.$nextTick((function(){var e=t.$refs.text,n=t.$el,i=t.$refs.more,o=1e3;if(e)if(n.offsetHeight>t.height){i.style.display="inline-block";for(var a=t.text;n.offsetHeight>t.height&&o>0;)n.offsetHeight>3*t.height?e.innerText=a=a.substring(0,Math.floor(a.length/2)):e.innerText=a=a.substring(0,a.length-1),o--;t.$emit("hide"),t.isHide=!0}else t.$emit("show"),t.isHide=!1}))}}}),kn=[On,l,m,g,_,ft,yt,bt,kt,Pt,Dt,Bt,It,p,Nt,Kt,Wt,Yt,qt,Jt,Zt,ie,ae,se,ce,de,he,me,ye,be,xe,ke,je,Ke,Ve,tn,nn,an,sn,dn,mn,hn,yn,Oe,Object(s.a)(Cn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b(),style:{width:t.setPx(t.width,"100%")}},[t._t("before"),t._v(" "),e("el-tooltip",{attrs:{content:t.text,disabled:!(t.useTooltip&&t.isHide),placement:t.placement}},[e("span",[e("span",{key:t.keyIndex,ref:"text",class:t.b("text")},[t._v(t._s(t.text))])])]),t._v(" "),e("span",{ref:"more",class:t.b("more")},[t._t("more")],2),t._v(" "),t._t("after")],2)}),[],!1,null,null,null).exports,cn,We,xn],Sn=Object(i.a)({name:"data-tabs",data:function(){return{}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}}}),jn=Object(s.a)(Sn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"avue-data-tabs"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item",style:{background:n.color}},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"item-header"},[e("p",[t._v(t._s(n.title))]),t._v(" "),e("span",[t._v(t._s(n.subtitle))])]),t._v(" "),e("div",{staticClass:"item-body"},[e("avue-count-up",{staticClass:"h2",attrs:{decimals:n.decimals||t.decimals,animation:n.animation||t.animation,end:n.count}})],1),t._v(" "),e("div",{staticClass:"item-footer"},[e("span",[t._v(t._s(n.allcount))]),t._v(" "),e("p",[t._v(t._s(n.text))])]),t._v(" "),e("p",{staticClass:"item-tip"},[t._v(t._s(n.key))])])])])})),1)],1)}),[],!1,null,null,null).exports,Pn=Object(i.a)({name:"data-cardtext",data:function(){return{}},computed:{icon:function(){return this.option.icon},color:function(){return this.option.color||"#333"},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}}}),En=Object(s.a)(Pn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"avue-data-cardText"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item"},[e("a",{attrs:{href:n.href||"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"item-header"},[e("i",{class:n.icon||"el-icon-bell",style:{color:n.color||"red"}}),t._v(" "),e("a",{},[t._v(t._s(n.title))])]),t._v(" "),e("div",{staticClass:"item-content"},[t._v(t._s(n.content))]),t._v(" "),e("div",{staticClass:"item-footer"},[e("span",[t._v(t._s(n.name))]),t._v(" "),e("span",[t._v(t._s(n.date))])])])])])})),1)],1)}),[],!1,null,null,null).exports,Dn=Object(i.a)({name:"data-box",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}}),Tn=Object(s.a)(Dn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"data-box"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item"},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"item-icon",style:{backgroundColor:n.color}},[e("i",{class:n.icon})]),t._v(" "),e("div",{staticClass:"item-info"},[e("avue-count-up",{staticClass:"title",style:{color:n.color},attrs:{animation:n.animation||t.animation,decimals:n.decimals||t.decimals,end:n.count}}),t._v(" "),e("div",{staticClass:"info"},[t._v(t._s(n.title))])],1)])])])})),1)],1)}),[],!1,null,null,null).exports,$n=Object(i.a)({name:"data-progress",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}}),An=Object(s.a)($n,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"data-progress"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item"},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"item-header"},[e("avue-count-up",{staticClass:"item-count",attrs:{animation:n.animation||t.animation,decimals:n.decimals||t.decimals,end:n.count}}),t._v(" "),e("div",{staticClass:"item-title",domProps:{textContent:t._s(n.title)}})],1),t._v(" "),e("el-progress",{attrs:{"stroke-width":15,percentage:n.count,color:n.color,"show-text":!1}})],1)])])})),1)],1)}),[],!1,null,null,null).exports,Bn=Object(i.a)({name:"data-icons",data:function(){return{}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||4},data:function(){return this.option.data},color:function(){return this.option.color||"rgb(63, 161, 255)"},discount:function(){return this.option.discount||!1}},props:{option:{type:Object,default:function(){}}}}),Mn=Object(s.a)(Bn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"data-icons"},[e("el-row",{attrs:{span:24}},[t._l(t.data,(function(n,i){return[e("el-col",{key:i,attrs:{xs:12,sm:6,md:t.span}},[e("div",{staticClass:"item",class:[{"item--easy":t.discount}]},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"item-icon",style:{color:t.color}},[e("i",{class:n.icon})]),t._v(" "),e("div",{staticClass:"item-info"},[e("span",[t._v(t._s(n.title))]),t._v(" "),e("avue-count-up",{staticClass:"count",style:{color:t.color},attrs:{animation:n.animation||t.animation,decimals:n.decimals||t.decimals,end:n.count}})],1)])])])]}))],2)],1)}),[],!1,null,null,null).exports,In=Object(i.a)({name:"data-card",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]},colorText:function(){return this.option.colorText||"#fff"},bgText:function(){return this.option.bgText||"#2e323f"},borderColor:function(){return this.option.borderColor||"#2e323f"}},created:function(){},mounted:function(){},watch:{},methods:{}}),Ln=Object(s.a)(In,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"data-card"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item"},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("img",{staticClass:"item-img",attrs:{src:n.src}}),t._v(" "),e("div",{staticClass:"item-text",style:{backgroundColor:t.bgText}},[e("h3",{style:{color:t.colorText}},[t._v(t._s(n.name))]),t._v(" "),e("p",{style:{color:t.colorText}},[t._v(t._s(n.text))])])])])])})),1)],1)}),[],!1,null,null,null).exports,Nn=Object(i.a)({name:"data-display",data:function(){return{}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||6},data:function(){return this.option.data||[]},color:function(){return this.option.color||"rgb(63, 161, 255)"}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}}),zn=Object(s.a)(Nn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"avue-data-display"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:12,sm:12}},[e("div",{staticClass:"item",style:{color:t.color}},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("avue-count-up",{staticClass:"count",attrs:{animation:n.animation||t.animation,decimals:n.decimals||t.decimals,end:n.count}}),t._v(" "),e("span",{staticClass:"splitLine"}),t._v(" "),e("div",{staticClass:"title"},[t._v(t._s(n.title))])],1)])])})),1)],1)}),[],!1,null,null,null).exports,Fn=Object(i.a)({name:"data-imgtext",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]},color:function(){return this.option.color||"rgb(63, 161, 255)"}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}}),Hn=Object(s.a)(Fn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"avue-data-imgtext"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item",style:{color:t.color}},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"item-header"},[e("img",{attrs:{src:n.imgsrc,alt:""}})]),t._v(" "),e("div",{staticClass:"item-content"},[e("span",[t._v(t._s(n.title))]),t._v(" "),e("p",[t._v(t._s(n.content))])]),t._v(" "),e("div",{staticClass:"item-footer"},[e("div",{staticClass:"time"},[e("span",[t._v(t._s(n.time))])]),t._v(" "),e("div",{staticClass:"imgs"},[e("ul",t._l(n.headimg,(function(t,n){return e("li",{key:n},[e("el-tooltip",{attrs:{effect:"dark",content:t.name,placement:"top-start"}},[e("img",{attrs:{src:t.src,alt:""}})])],1)})),0)])])])])])})),1)],1)}),[],!1,null,null,null).exports,Kn=Object(i.a)({name:"data-operatext",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}}),Rn=Object(s.a)(Kn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"avue-data-operatext"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item"},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);"},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"item-header",style:{backgroundColor:n.color,backgroundImage:`url(${n.colorImg})`}},[e("span",{staticClass:"item-title"},[t._v(t._s(n.title))]),t._v(" "),e("span",{staticClass:"item-subtitle"},[t._v(t._s(n.subtitle))])]),t._v(" "),e("div",{staticClass:"item-content"},[e("div",{staticClass:"item-img"},[e("img",{attrs:{src:n.img,alt:""}})]),t._v(" "),e("div",{staticClass:"item-list"},t._l(n.list,(function(n,i){return e("div",{key:i,staticClass:"item-row"},[e("span",{staticClass:"item-label"},[t._v(t._s(n.label))]),t._v(" "),e("span",{staticClass:"item-value"},[t._v(t._s(n.value))])])})),0)])])])])})),1)],1)}),[],!1,null,null,null).exports,Wn=Object(i.a)({name:"data-rotate",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}}),Un=Object(s.a)(Wn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"avue-data-rotate"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item",style:{backgroundColor:n.color}},[e("div",{staticClass:"item-box"},[e("avue-count-up",{staticClass:"item-count",attrs:{decimals:n.decimals||t.decimals,animation:n.animation||t.animation,end:n.count}}),t._v(" "),e("span",{staticClass:"item-title"},[t._v(t._s(n.title))]),t._v(" "),e("i",{staticClass:"item-icon",class:n.icon})],1),t._v(" "),e("a",{attrs:{href:n.href?n.href:"javascript:void(0);"},on:{click:function(t){n.click&&n.click(n)}}},[e("p",{staticClass:"item-more"},[t._v("更多"),e("i",{staticClass:"el-icon-arrow-right"})])])])])})),1)],1)}),[],!1,null,null,null).exports,Vn=Object(i.a)({name:"data-pay",props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||6},data:function(){return this.option.data||[]}}}),Yn=Object(s.a)(Vn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{class:t.b()},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("div",{staticClass:"item"},[e("div",{staticClass:"top",style:{backgroundColor:n.color}}),t._v(" "),e("div",{staticClass:"header"},[e("p",{staticClass:"title"},[t._v(t._s(n.title))]),t._v(" "),e("img",{staticClass:"img",attrs:{src:n.src,alt:""}}),t._v(" "),n.subtitle?[e("p",{staticClass:"subtitle",style:{color:n.color}},[t._v(t._s(n.subtitle))])]:t._e(),t._v(" "),n.money||n.dismoney?[e("p",{staticClass:"money",style:{color:n.color}},[e("span",[t._v("¥")]),t._v(" "),e("avue-count-up",{staticClass:"b",attrs:{decimals:n.decimals||t.decimals,animation:n.animation||t.animation,end:n.dismoney}}),t._v(" "),e("s",[t._v(t._s(n.money))]),t._v(" "),e("em",[t._v(t._s(n.tip))])],1)]:t._e(),t._v(" "),e("div",{staticClass:"line"}),t._v(" "),e("a",{staticClass:"btn",style:{backgroundColor:n.color},attrs:{href:n.href?n.href:"javascript:void(0);"},on:{click:function(t){n.click&&n.click(n)}}},[t._v(t._s(n.subtext))])],2),t._v(" "),e("div",{staticClass:"list"},t._l(n.list,(function(i,o){return e("div",{staticClass:"list-item"},[i.check?e("i",{staticClass:"list-item-icon list-item--check",style:{color:n.color}},[t._v("√")]):e("i",{staticClass:"list-item-icon list-item--no"},[t._v("x")]),t._v(" "),e("a",{attrs:{href:i.href?i.href:"javascript:void(0);"}},[e("el-tooltip",{attrs:{effect:"dark",disabled:!i.tip,placement:"top"}},[e("div",{attrs:{slot:"content"},domProps:{innerHTML:t._s(i.tip)},slot:"content"}),t._v(" "),e("span",{class:{"list-item--link":i.href}},[t._v(t._s(i.title))])])],1)])})),0)])])})),1)],1)}),[],!1,null,null,null).exports,Xn=Object(i.a)({name:"data-price",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data}},props:{option:{type:Object,default:function(){}}}}),qn=Object(s.a)(Xn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"data-price"},[e("el-row",{attrs:{span:24}},[t._l(t.data,(function(n,i){return[e("el-col",{key:i,attrs:{xs:12,sm:6,md:t.span}},[e("div",{staticClass:"item item--active"},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);",target:n.target},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"title"},[t._v("\n "+t._s(n.title)+"\n ")]),t._v(" "),e("div",{staticClass:"body"},[e("span",{staticClass:"price"},[t._v(t._s(n.price))]),t._v(" "),e("span",{staticClass:"append"},[t._v(t._s(n.append))])]),t._v(" "),e("div",{staticClass:"list"},t._l(n.list,(function(n,i){return e("p",{key:i},[t._v("\n "+t._s(n)+"\n ")])})),0)])])])]}))],2)],1)}),[],!1,null,null,null).exports,Gn=Object(i.a)({name:"data-panel",data:function(){return{}},computed:{decimals:function(){return this.option.decimals||0},animation:function(){return this.option.animation},span:function(){return this.option.span||6},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}}),Jn=[jn,En,Tn,An,Mn,Ln,zn,Hn,Rn,Un,Yn,qn,Object(s.a)(Gn,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"avue-data-panel"},[e("el-row",{attrs:{span:24}},t._l(t.data,(function(n,i){return e("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[e("a",{attrs:{href:n.href?n.href:"javascript:void(0);"},on:{click:function(t){n.click&&n.click(n)}}},[e("div",{staticClass:"item"},[e("div",{staticClass:"item-icon"},[e("i",{class:n.icon,style:{color:n.color}})]),t._v(" "),e("div",{staticClass:"item-info"},[e("div",{staticClass:"item-title"},[t._v(t._s(n.title))]),t._v(" "),e("avue-count-up",{staticClass:"item-count",attrs:{animation:n.animation||t.animation,decimals:n.decimals||t.decimals,end:n.count}})],1)])])])})),1)],1)}),[],!1,null,null,null).exports];function Qn(t){return function(t){if(Array.isArray(t))return Zn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Zn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zn(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Zn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n0){var l=this.getHeader(s.children,e,n+1,a.length-1);this.pushColSpanPlaceHolder(a,l-1),o+=l}else o++}return o},pushRowSpanPlaceHolder:function(t,e){for(var n=0;n0&&r>a?(n.push({s:{r:i,c:r-a-1},e:{r:i,c:r-1}}),a=0):a=0;for(var s=t[0].length,l=0;l0&&u>c?(n.push({s:{r:u-c-1,c:l},e:{r:u-1,c:l}}),c=0):c=0;return n},aoa_to_sheet:function(t,e){for(var n={},i={s:{c:1e7,r:1e7},e:{c:0,r:0}},o=0;o!==t.length;++o)for(var a=0;a!==t[o].length;++a){i.s.r>o&&(i.s.r=o),i.s.c>a&&(i.s.c=a),i.e.r"},getHtml:function(){for(var t=document.querySelectorAll("input"),e=document.querySelectorAll("textarea"),n=document.querySelectorAll("select"),i=0;i2&&void 0!==arguments[2]&&arguments[2];"function"==typeof this.ops.click?this.ops.click(t,e):n&&window.open(t.url)},close:function(){this.isShow=!1,"function"==typeof this.ops.beforeClose&&this.ops.beforeClose(this.datas,this.index),this.$destroy(),this.$el.remove()}}}),vi=Object(s.a)(mi,(function(){var t=this,e=t._self._c;t._self._setupProxy;return t.isShow?e("div",{class:t.b()},[t.ops.modal?e("div",{class:t.b("mask"),on:{click:t.close}}):t._e(),t._v(" "),e("span",{staticClass:"el-image-viewer__btn el-image-viewer__close",on:{click:t.close}},[e("i",{staticClass:"el-icon-circle-close"})]),t._v(" "),t.isRrrow?e("span",{staticClass:"el-image-viewer__btn el-image-viewer__prev",on:{click:function(e){return t.handlePrev()}}},[e("i",{staticClass:"el-icon-arrow-left"})]):t._e(),t._v(" "),t.isRrrow?e("span",{staticClass:"el-image-viewer__btn el-image-viewer__next",on:{click:function(e){return t.handleNext()}}},[e("i",{staticClass:"el-icon-arrow-right"})]):t._e(),t._v(" "),e("div",{ref:"box",class:t.b("box")},[e("el-carousel",{ref:"carousel",attrs:{"show-indicators":!1,"initial-index":t.index,"initial-swipe":t.index,interval:0,arrow:"never","indicator-position":"none",height:t.height},on:{change:t.handleChange}},t._l(t.datas,(function(n,i){return e("el-carousel-item",{key:i,nativeOn:{click:function(e){if(e.target!==e.currentTarget)return null;t.ops.closeOnClickModal&&t.close()}}},[t.getIsVideo(n)?e(t.getIsVideo(n),{ref:"item",refInFor:!0,tag:"component",style:[t.styleName,t.styleBoxName],attrs:{id:"avue-image-preview__"+i,src:n.url,controls:"controls",ondragstart:"return false"},on:{click:function(e){return t.handleClick(n,i)},mousedown:t.move}}):e("div",{class:t.b("file"),attrs:{id:"avue-image-preview__"+i},on:{click:function(e){return t.handleClick(n,i,!0)}}},[e("span",[e("i",{staticClass:"el-icon-document"}),t._v(" "),e("p",[t._v(t._s(n.name))])])])],1)})),1)],1),t._v(" "),e("div",{staticClass:"el-image-viewer__btn el-image-viewer__actions"},[e("div",{staticClass:"el-image-viewer__actions__inner"},[e("i",{staticClass:"el-icon-zoom-out",on:{click:t.subScale}}),t._v(" "),e("i",{staticClass:"el-icon-zoom-in",on:{click:t.addScale}}),t._v(" "),e("i",{staticClass:"el-image-viewer__actions__divider"}),t._v(" "),e("i",{staticClass:"el-icon-printer",on:{click:t.handlePrint}}),t._v(" "),e("i",{staticClass:"el-image-viewer__actions__divider"}),t._v(" "),e("i",{staticClass:"el-icon-refresh-left",on:{click:function(e){t.rotate=t.rotate-90}}}),t._v(" "),e("i",{staticClass:"el-icon-refresh-right",on:{click:function(e){t.rotate=t.rotate+90}}})])])]):t._e()}),[],!1,null,null,null).exports,bi={name:"CropperImage",components:{VueCropper:n(22).VueCropper},data:function(){return{visible:!1,previews:{},option:{}}},methods:{show:function(){this.visible=!0},changeScale:function(t){t=t||1,this.$refs.cropper.changeScale(t)},rotateLeft:function(){this.$refs.cropper.rotateLeft()},rotateRight:function(){this.$refs.cropper.rotateRight()},realTime:function(t){this.previews=t},submit:function(){var t=this;this.visible=!1,this.$refs.cropper.getCropData((function(e){var n=e;"file"===t.option.type&&(n=Object(D.d)(e,"".concat((new Date).getTime(),".").concat(t.option.outputType))),t.option.callback&&t.option.callback(n)}))},cancel:function(t){t&&t(),this.visible=!1,this.option.cancel&&this.option.cancel(),"function"==typeof this.option.beforeClose&&this.option.beforeClose(),this.$destroy(),this.$el.remove()}}},gi=Object(s.a)(bi,(function(){var t=this,e=t._self._c;return e("el-dialog",{staticClass:"avue-dialog avue-cropper",attrs:{visible:t.visible,"before-close":t.cancel,"close-on-press-escape":!1,"close-on-click-modal":!1,"append-to-body":"",width:"1000px"},on:{"update:visible":function(e){t.visible=e}}},[e("div",{staticClass:"cropper-content"},[e("div",{staticClass:"cropper-box"},[e("div",{staticClass:"cropper"},[e("vue-cropper",{ref:"cropper",attrs:{img:t.option.img,outputSize:t.option.outputSize,outputType:t.option.outputType,info:t.option.info,canScale:t.option.canScale,autoCrop:t.option.autoCrop,autoCropWidth:t.option.autoCropWidth,autoCropHeight:t.option.autoCropHeight,fixed:t.option.fixed,fixedNumber:t.option.fixedNumber,full:t.option.full,fixedBox:t.option.fixedBox,canMove:t.option.canMove,canMoveBox:t.option.canMoveBox,original:t.option.original,centerBox:t.option.centerBox,height:t.option.height,infoTrue:t.option.infoTrue,maxImgSize:t.option.maxImgSize,enlarge:t.option.enlarge,mode:t.option.mode},on:{realTime:t.realTime}})],1),t._v(" "),e("div",{staticClass:"footer-btn"},[e("el-button",{attrs:{size:"mini",type:"danger",icon:"el-icon-zoom-in"},on:{click:function(e){return t.changeScale(1)}}}),t._v(" "),e("el-button",{attrs:{size:"mini",type:"danger",icon:"el-icon-zoom-out"},on:{click:function(e){return t.changeScale(-1)}}}),t._v(" "),e("el-button",{attrs:{size:"mini",icon:"el-icon-back",type:"danger"},on:{click:t.rotateLeft}}),t._v(" "),e("el-button",{attrs:{size:"mini",type:"danger",icon:"el-icon-right"},on:{click:t.rotateRight}})],1)]),t._v(" "),e("div",{staticClass:"show-preview"},[e("div",{staticClass:"preview",style:t.previews.div},[e("img",{style:t.previews.img,attrs:{src:t.previews.url}})])])]),t._v(" "),e("span",{staticClass:"avue-dialog__footer"},[e("el-button",{attrs:{size:"small",type:"primary"},on:{click:t.submit}},[t._v("确 定")]),t._v(" "),e("el-button",{attrs:{size:"small"},on:{click:function(e){return t.cancel()}}},[t._v("取 消")])],1)])}),[],!1,null,null,null).exports,yi={data:function(){return{opt:{},callback:null,visible:!1,dialog:{closeOnClickModal:!1},option:{submitText:"提交",emptyText:"关闭",submitIcon:"el-icon-check",emptyIcon:"el-icon-close",column:[]},data:{}}},computed:{menuPosition:function(){return this.opt.menuPosition||"center"}},methods:{submit:function(){this.$refs.form.submit()},reset:function(){this.$refs.form.resetForm()},beforeClose:function(t){t(),this.close()},show:function(t){this.opt=t,this.callback=t.callback;var e=this.deepClone(t);["callback","option","data"].forEach((function(t){return delete e[t]})),this.dialog=Object.assign(this.dialog,e),this.option=Object.assign(this.option,t.option),this.data=t.data,this.visible=!0},close:function(){var t=this,e=function(){t.visible=!1,t.$destroy(),t.$el.remove()};"function"==typeof this.dialog.beforeClose?this.dialog.beforeClose(e):e()},handleSubmit:function(t,e){this.callback&&this.callback({data:t,close:this.close,done:e})}}},_i=Object(s.a)(yi,(function(){var t=this,e=t._self._c;return e("el-dialog",t._b({staticClass:"avue-dialog",attrs:{visible:t.visible,"destroy-on-close":"",beforeClose:t.beforeClose},on:{"update:visible":function(e){t.visible=e}}},"el-dialog",t.dialog,!1),[e("avue-form",{ref:"form",attrs:{option:{...t.deepClone(t.option),menuBtn:!1}},on:{submit:t.handleSubmit,"reset-change":t.close},model:{value:t.data,callback:function(e){t.data=e},expression:"data"}}),t._v(" "),t.vaildData(t.option.menuBtn,!0)?e("span",{staticClass:"avue-dialog__footer",class:"avue-dialog__footer--"+t.menuPosition},[t.vaildData(t.option.submitBtn,!0)?e("el-button",{attrs:{size:t.$AVUE.size,icon:t.option.submitIcon,type:"primary"},on:{click:t.submit}},[t._v(t._s(t.option.submitText))]):t._e(),t._v(" "),t.vaildData(t.option.emptyBtn,!0)?e("el-button",{attrs:{size:t.$AVUE.size,icon:t.option.emptyIcon},on:{click:t.reset}},[t._v(t._s(t.option.emptyText))]):t._e()],1):t._e()],1)}),[],!1,null,null,null).exports,xi=function(){this.$root={}};xi.prototype.initMounted=function(){var t;this.$root=((t=new(window.Vue.extend(_i))).vm=t.$mount(),document.body.appendChild(t.vm.$el),t.dom=t.vm.$el,t.vm)},xi.prototype.show=function(t){this.initMounted(),this.$root.show(t)};var wi={$ImagePreview:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=window.Vue.extend(vi),o={datas:t,index:e,ops:Object.assign({closeOnClickModal:!1,beforeClose:null,click:null,modal:!0},n)},a=new i({data:o});return a.vm=a.$mount(),document.body.appendChild(a.vm.$el),a.vm.isShow=!0,a.dom=a.vm.$el,a.vm},$ImageCropper:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=window.Vue.extend(gi),n=Object.assign({outputSize:1,outputType:"jpeg",info:!0,canScale:!0,autoCrop:!0,fixed:!1,full:!1,fixedBox:!1,canMove:!0,canMoveBox:!0,original:!1,centerBox:!1,height:!0,infoTrue:!1,enlarge:1},t),i=new e({data:{option:n}});return i.vm=i.$mount(),document.body.appendChild(i.vm.$el),i.vm.show(),i.dom=i.vm.$el,i.vm},$DialogForm:new xi,$Export:si,$Print:pi,$Clipboard:function(t){var e=t.text;return new Promise((function(t,n){var i=document.body,o="rtl"==document.documentElement.getAttribute("dir"),a=document.createElement("textarea");a.style.fontSize="12pt",a.style.border="0",a.style.padding="0",a.style.margin="0",a.style.position="absolute",a.style[o?"right":"left"]="-9999px";var r=window.pageYOffset||document.documentElement.scrollTop;a.style.top="".concat(r,"px"),a.setAttribute("readonly",""),a.value=e,i.appendChild(a),function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var i=window.getSelection(),o=document.createRange();o.selectNodeContents(t),i.removeAllRanges(),i.addRange(o),e=i.toString()}}(a);try{document.execCommand("copy"),t()}catch(t){!1,n()}}))},$Log:li.a,$NProgress:fi,$Screenshot:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(window.html2canvas)return window.html2canvas(t,e);x.a.logs("Screenshot")},deepClone:D.e,dataURLtoFile:D.d,isJson:D.q,setPx:D.u,vaildData:D.x,sortArrys:D.v,findArray:D.j,validatenull:te.a,downFile:D.h,loadScript:D.r,watermark:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new $e(t)},findObject:D.l,randomId:D.s},Oi={dialogDrag:ii,contextmenu:oi},Ci=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"dark"===e.theme&&(document.documentElement.className="avue-theme--dark");var n={size:e.size||"small",calcHeight:e.calcHeight||0,menuType:e.menuType||"text",canvas:Object.assign({text:"avuejs.com",fontFamily:"microsoft yahei",color:"#999",fontSize:16,opacity:100,bottom:10,right:10,ratio:1},e.canvas),qiniu:Object.assign({AK:"",SK:"",scope:"",url:"",bucket:"https://upload.qiniup.com",deadline:1},e.qiniu||{}),ali:Object.assign({region:"",endpoint:"",stsToken:"",accessKeyId:"",accessKeySecret:"",bucket:""},e.ali||{})};t.prototype.$AVUE=Object.assign(e,n),ti.forEach((function(e){t.component(e.name,e)})),Object.keys(wi).forEach((function(e){t.prototype[e]=wi[e]})),Object.keys(Oi).forEach((function(e){t.directive(e,Oi[e])})),ci.a.use(e.locale),ci.a.i18n(e.i18n),t.prototype.$axios=e.axios||window.axios||ni.a,window.axios=t.prototype.$axios,window.Vue=t,t.prototype.$uploadFun=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;e=e||this;var n=["uploadPreview","uploadBefore","uploadAfter","uploadDelete","uploadError","uploadExceed"],i={};return"upload"===t.type?n.forEach((function(n){t[n]||(i[n]=e[n])})):n.forEach((function(t){i[t]=e[t]})),i}};"undefined"!=typeof window&&window.Vue&&Ci(window.Vue);e.default={version:"2.9.15",locale:ci.a,install:Ci}}]).default})); diff --git a/public/cdn/store/1.3.20/store.js b/public/cdn/store/1.3.20/store.js new file mode 100644 index 0000000..fa1209d --- /dev/null +++ b/public/cdn/store/1.3.20/store.js @@ -0,0 +1,193 @@ +'use strict' +// Module export pattern from +// https://github.com/umdjs/umd/blob/master/returnExports.js +;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define([], factory) + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory() + } else { + // Browser globals (root is window) + root.store = factory() + } +}(this, function () { + // Store.js + var store = {} + + var win = (typeof window !== 'undefined' ? window : global) + + var doc = win.document + + var localStorageName = 'localStorage' + + var scriptTag = 'script' + + var storage + + store.disabled = false + store.version = '1.3.20' + store.set = function (key, value) {} + store.get = function (key, defaultVal) {} + store.has = function (key) { return store.get(key) !== undefined } + store.remove = function (key) {} + store.clear = function () {} + store.transact = function (key, defaultVal, transactionFn) { + if (transactionFn == null) { + transactionFn = defaultVal + defaultVal = null + } + if (defaultVal == null) { + defaultVal = {} + } + var val = store.get(key, defaultVal) + transactionFn(val) + store.set(key, val) + } + store.getAll = function () {} + store.forEach = function () {} + + store.serialize = function (value) { + return JSON.stringify(value) + } + store.deserialize = function (value) { + if (typeof value !== 'string') { return undefined } + try { return JSON.parse(value) } catch (e) { return value || undefined } + } + + // Functions to encapsulate questionable FireFox 3.6.13 behavior + // when about.config::dom.storage.enabled === false + // See https://github.com/marcuswestin/store.js/issues#issue/13 + function isLocalStorageNameSupported () { + try { return (localStorageName in win && win[localStorageName]) } catch (err) { return false } + } + + if (isLocalStorageNameSupported()) { + storage = win[localStorageName] + store.set = function (key, val) { + if (val === undefined) { return store.remove(key) } + storage.setItem(key, store.serialize(val)) + return val + } + store.get = function (key, defaultVal) { + var val = store.deserialize(storage.getItem(key)) + return (val === undefined ? defaultVal : val) + } + store.remove = function (key) { storage.removeItem(key) } + store.clear = function () { storage.clear() } + store.getAll = function () { + var ret = {} + store.forEach(function (key, val) { + ret[key] = val + }) + return ret + } + store.forEach = function (callback) { + for (var i = 0; i < storage.length; i++) { + var key = storage.key(i) + callback(key, store.get(key)) + } + } + } else if (doc && doc.documentElement.addBehavior) { + var storageOwner, + storageContainer + // Since #userData storage applies only to specific paths, we need to + // somehow link our data to a specific path. We choose /favicon.ico + // as a pretty safe option, since all browsers already make a request to + // this URL anyway and being a 404 will not hurt us here. We wrap an + // iframe pointing to the favicon in an ActiveXObject(htmlfile) object + // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx) + // since the iframe access rules appear to allow direct access and + // manipulation of the document element, even for a 404 page. This + // document can be used instead of the current document (which would + // have been limited to the current path) to perform #userData storage. + try { + storageContainer = new ActiveXObject('htmlfile') + storageContainer.open() + storageContainer.write('<' + scriptTag + '>document.w=window') + storageContainer.close() + storageOwner = storageContainer.w.frames[0].document + storage = storageOwner.createElement('div') + } catch (e) { + // somehow ActiveXObject instantiation failed (perhaps some special + // security settings or otherwse), fall back to per-path storage + storage = doc.createElement('div') + storageOwner = doc.body + } + var withIEStorage = function (storeFunction) { + return function () { + var args = Array.prototype.slice.call(arguments, 0) + args.unshift(storage) + // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx + // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx + storageOwner.appendChild(storage) + storage.addBehavior('#default#userData') + storage.load(localStorageName) + var result = storeFunction.apply(store, args) + storageOwner.removeChild(storage) + return result + } + } + + // In IE7, keys cannot start with a digit or contain certain chars. + // See https://github.com/marcuswestin/store.js/issues/40 + // See https://github.com/marcuswestin/store.js/issues/83 + var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", 'g') + var ieKeyFix = function (key) { + return key.replace(/^d/, '___$&').replace(forbiddenCharsRegex, '___') + } + store.set = withIEStorage(function (storage, key, val) { + key = ieKeyFix(key) + if (val === undefined) { return store.remove(key) } + storage.setAttribute(key, store.serialize(val)) + storage.save(localStorageName) + return val + }) + store.get = withIEStorage(function (storage, key, defaultVal) { + key = ieKeyFix(key) + var val = store.deserialize(storage.getAttribute(key)) + return (val === undefined ? defaultVal : val) + }) + store.remove = withIEStorage(function (storage, key) { + key = ieKeyFix(key) + storage.removeAttribute(key) + storage.save(localStorageName) + }) + store.clear = withIEStorage(function (storage) { + var attributes = storage.XMLDocument.documentElement.attributes + storage.load(localStorageName) + for (var i = attributes.length - 1; i >= 0; i--) { + storage.removeAttribute(attributes[i].name) + } + storage.save(localStorageName) + }) + store.getAll = function (storage) { + var ret = {} + store.forEach(function (key, val) { + ret[key] = val + }) + return ret + } + store.forEach = withIEStorage(function (storage, callback) { + var attributes = storage.XMLDocument.documentElement.attributes + for (var i = 0, attr; attr = attributes[i]; ++i) { + callback(attr.name, store.deserialize(storage.getAttribute(attr.name))) + } + }) + } + + try { + var testKey = '__storejs__' + store.set(testKey, testKey) + if (store.get(testKey) != testKey) { store.disabled = true } + store.remove(testKey) + } catch (e) { + store.disabled = true + } + store.enabled = !store.disabled + + return store +})) diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..2c8c32c Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/images/banner_control23b288.png b/public/images/banner_control23b288.png new file mode 100644 index 0000000..257112f Binary files /dev/null and b/public/images/banner_control23b288.png differ diff --git a/public/images/base.css.bak b/public/images/base.css.bak new file mode 100644 index 0000000..5e933f9 --- /dev/null +++ b/public/images/base.css.bak @@ -0,0 +1 @@ +html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;line-height:1.6}input,textarea,button,a{outline:0}body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,fieldset,textarea{margin:0}fieldset,legend,textarea,input{padding:0}ul,ol{padding-left:0;list-style-type:none}a img,fieldset{border:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}svg:not(:root){overflow:hidden}figure{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-appearance:textfield;-webkit-box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:none}input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{box-shadow:inset 0 0 0 1000px #fff;-moz-box-shadow:inset 0 0 0 1000px #fff;-webkit-box-shadow:inset 0 0 0 1000px #fff}select{border-radius:0;-webkit-border-radius:0}body{line-height:1.6;font-family:"Helvetica Neue","Hiragino Sans GB","Microsoft YaHei","\9ED1\4F53",Arial,sans-serif;color:#222;font-size:14px}textarea,input{color:#222}textarea::-webkit-input-placeholder,input::-webkit-input-placeholder{color:#a3a3a3}textarea:-moz-placeholder,input:-moz-placeholder{color:#a3a3a3}textarea::-moz-placeholder,input::-moz-placeholder{color:#a3a3a3}textarea:-ms-input-placeholder,input:-ms-input-placeholder{color:#a3a3a3}textarea.placeholder,input.placeholder{color:#a3a3a3}textarea{resize:none;overflow-y:auto}a{color:#459ae9;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{*font-family:"Helvetica Neue","Hiragino Sans GB","Microsoft YaHei","\9ED1\4F53",Arial,sans-serif}.page_pay_qrcode .main_bd{padding:50px 80px}.page_appmsg_edit .main_bd{padding:50px 30px 0}.page_tpl_edit .main_bd{padding:50px}.page_media_list .main_bd{padding:20px 0 40px 0}.page_mass_list .main_bd{padding-bottom:40px}.screen_small .dialog_bd{max-height:485px;overflow-y:auto}.global_text{font-size:14px;font-weight:400}.mini_tips a{color:#222}.container_box{min-height:700px}.container_box.cell_layout{*overflow:hidden}.container_box.cell_layout .col_side,.container_box.cell_layout .col_main{display:table-cell;vertical-align:top;word-wrap:break-word;word-break:break-all}.container_box.cell_layout .col_side{width:17.5%;max-width:208px}.container_box.cell_layout .col_main{width:2000px;height:700px}.container_box.cell_layout .col_side{*float:left;*width:208px;*padding-bottom:9999em;*margin-bottom:-9999em}.container_box.cell_layout .col_main{*zoom:1;*width:auto;*height:auto}.container_hd,.main_hd{line-height:40px}.container_hd .info,.main_hd .info{margin-top:-40px;text-align:right}.container_hd h2,.main_hd h2{font-weight:400;font-style:normal}.container_hd .extra_info,.main_hd .extra_info{margin-top:-40px;text-align:right}.ft.links{font-size:12px}.ft .links_item{border-left-color:#f1f1f1;*line-height:15px}.ft .links_item a{color:#f1f1f1}.foot{padding:24px 0;color:#f1f1f1;text-align:center;background-color:#b8b9b9}.copyright{display:inline}body.scaled{padding-top:56px}.page{width:100%;margin-left:auto;margin-right:auto}.body{width:1200px;margin-left:auto;margin-right:auto;padding:36px 0 88px}.container_box{border:1px solid #d9dadc;background-color:#fff}.container_box.simple{overflow:hidden;background-color:#fff}.container_hd h2,.main_hd h2{font-size:16px;padding:0 30px;line-height:75px}.container_hd .extra_info,.main_hd .extra_info{line-height:43px;margin-top:-43px;padding-right:30px}.container_hd .extra_info.align_title,.main_hd .extra_info.align_title{margin-top:-75px;line-height:75px}.container_hd .extra_info.align_nav,.main_hd .extra_info.align_nav{margin-top:-80px;line-height:80px}.container_hd .title_tab,.main_hd .title_tab{margin-top:-14px}.container_hd.border,.main_hd.border{border-bottom:1px solid #e7e7eb;margin-bottom:40px}.container_hd.border_primary h2,.main_hd.border_primary h2{border:1px solid #e7e7eb}.page_news .container_hd h2,.page_simple .container_hd h2,.page_news .main_hd h2,.page_simple .main_hd h2{line-height:52px;background-color:#f4f5f9}.page_news .container_hd .extra_info.align_title,.page_simple .container_hd .extra_info.align_title,.page_news .main_hd .extra_info.align_title,.page_simple .main_hd .extra_info.align_title{margin-top:-52px;line-height:52px}.container_bd,.main_bd{padding-bottom:30px}.col_side{min-height:1px;background-color:#fff}.inner_side{*padding-bottom:9999em;*margin-bottom:-9999em;min-height:1px}.side_l .col_side{border-right:1px solid #e7e7eb}.side_l.inner_container_box .inner_side{border-right:1px solid #e7e7eb}.side_r .col_side{border-left:1px solid #e7e7eb}.side_r.inner_container_box .inner_side{border-left:1px solid #e7e7eb}.inner_container_box{*zoom:1;*overflow:hidden;background-color:#fff;border:1px solid #e7e7eb}.inner_container_box:after{content:"\200B";display:block;height:0;clear:both}.inner_container_box .bd{min-height:530px}.inner_container_box.cell_layout{*overflow:hidden}.inner_container_box.cell_layout .inner_side,.inner_container_box.cell_layout .inner_main{display:table-cell;vertical-align:top;word-wrap:break-word;word-break:break-all}.inner_container_box.cell_layout .inner_side{width:27%;max-width:240px}.inner_container_box.cell_layout .inner_main{width:2000px}.inner_container_box.cell_layout .inner_side{*float:left;*width:240px}.inner_container_box.cell_layout .inner_main{*zoom:1;*width:auto}.inner_container_box.cell_layout.side_r{*padding-right:241px}.inner_container_box.cell_layout.side_r .inner_main{*float:left;*width:100%}.grid_line{*zoom:1}.grid_line:after{content:"\200B";display:block;height:0;clear:both}.grid_line.with_1 .grid_item{width:100%}.grid_line.with_2 .grid_item{width:50%}.grid_line.with_3 .grid_item{width:33.33%}.grid_line.with_4 .grid_item{width:25%}.grid_line.with_5 .grid_item{width:20%}.grid_line.with_6 .grid_item{width:16.66%}.grid_line.with_7 .grid_item{width:14.28%}.grid_line.with_8 .grid_item{width:12.5%}.grid_line .no_extra.grid_item{float:none;width:auto;overflow:hidden;*zoom:1;*overflow:visible}.grid_item{float:left}.grid_item.no_extra{float:none;width:auto;overflow:hidden;*zoom:1;*overflow:visible}.grid_item.no_extra_flex{display:table-cell;vertical-align:top;float:none;width:auto;*display:block;*zoom:1}.grid_item.no_extra_flex:after{content:" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";visibility:hidden;clear:both;height:0!important;display:block;line-height:0}.size1of1{width:100%}.size1of2{width:50%}.size1of3{width:33.33%}.size1of4{width:25%}.size1of5{width:20%}.size1of6{width:16.66%}.size1of7{width:14.28%}.size1of8{width:12.5%}.icon_radio{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 0 no-repeat;width:16px;height:16px;vertical-align:middle;display:inline-block;margin-top:-0.2em;*margin-top:0}.icon_radio.selected,.selected .icon_radio{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -20px no-repeat}.icon_radio.selected.disabled,.selected.disabled .icon_radio{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -40px no-repeat}.icon_checkbox{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -60px no-repeat;width:16px;height:16px;vertical-align:middle;display:inline-block;margin-top:-0.2em;*margin-top:0}.icon_checkbox.selected,.selected .icon_checkbox{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -80px no-repeat}.icon_checkbox.disabled,.disabled .icon_checkbox{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -100px no-repeat}.icon_checkbox.selected.disabled,.selected.disabled .icon_checkbox{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -120px no-repeat}.frm_tab{overflow:hidden;*zoom:1}.frm_tab_navs{*zoom:1}.frm_tab_navs:after{content:"\200B";display:block;height:0;clear:both}.frm_tab_nav{float:left;background-color:#fff;background-image:-moz-linear-gradient(top,#fff 0,#fff 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#fff));background-image:-webkit-linear-gradient(top,#fff 0,#fff 100%);background-image:-o-linear-gradient(top,#fff 0,#fff 100%);background-image:linear-gradient(to bottom,#fff 0,#fff 100%);border-color:#e7e7eb;color:#222;height:30px;line-height:30px;*line-height:28px;width:auto;padding-left:36px;padding-right:36px;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;margin-right:-1px}.frm_tab_nav button{color:#222}.frm_tab_nav:hover{background-color:#e7e7eb;background-image:-moz-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e7e7eb),to(#e7e7eb));background-image:-webkit-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-o-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:linear-gradient(to bottom,#e7e7eb 0,#e7e7eb 100%);border-color:#dadbe0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#222}.frm_tab_nav:hover button{color:#222}.frm_tab_nav:hover{box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.frm_tab_nav.selected{background:0;background-color:#888;border-color:#e7e7eb;box-shadow:inset 0 3px 8px #555;-moz-box-shadow:inset 0 3px 8px #555;-webkit-box-shadow:inset 0 3px 8px #555;color:#fff}.frm_tab_panel{padding:10px 0}.frm_tab_split{position:relative;margin-top:20px;border-bottom:1px solid #e7e7eb;box-shadow:0 1px 0 0 #fff;-moz-box-shadow:0 1px 0 0 #fff;-webkit-box-shadow:0 1px 0 0 #fff}.frm_tab_split .arrow_stop{position:relative}.frm_tab_split .arrow{position:absolute;left:0;display:inline-block;width:0;height:0;border-width:12px;border-style:dashed;border-color:transparent;border-top-width:0;border-bottom-color:#e7e7eb;border-bottom-style:solid}.frm_tab_split .arrow_out{top:-12px;border-bottom-color:#e7e7eb}.frm_tab_split .arrow_in{top:-10px;border-bottom-color:#fff}.frm_tab_split .arrow_extra{top:-11px;border-bottom-color:#fff}.frm_tab_tips{padding-top:4px;color:#8d8d8d}.form_wrp.simple{text-align:center}.form_wrp.simple .form{display:inline-block;*display:inline;*zoom:1;text-align:left}.form.tips_inline .frm_tips{width:auto;display:inline-block}.frm_vertical_lh{line-height:32px}.frm_vertical_pt{padding-top:.3em}.frm_fieldset{padding-top:25px;padding-top:0\9}.frm_fieldset.no_legend{padding-top:25px}.frm_legend{display:block;width:100%;*margin-left:-0.35em;margin-bottom:25px \9;padding-bottom:5px}.frm_legend .tips{color:#8d8d8d;margin-left:14px}.frm_desc{color:#222}.frm_tips{color:#8d8d8d}.frm_tips.gap_bottom{padding-bottom:5px}.frm_tips,.frm_msg{padding-top:4px;width:300px}.frm_msg{display:none;overflow:hidden;*zoom:1}.frm_msg i{float:left;font-weight:400;font-style:normal;margin-right:3px}.frm_msg.success{color:#7fba4f}.frm_msg.fail{color:#e15f63}.frm_control_group{*zoom:1;padding-bottom:25px}.frm_control_group:after{content:"\200B";display:block;height:0;clear:both}.frm_control_group.show_value{padding-bottom:15px}.frm_control_group.show_value .frm_input_box{height:auto;word-wrap:break-word;word-break:break-all;padding:0;border-width:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;background:0;line-height:1.6;vertical-align:top;margin-top:.3em}.frm_control_group.frm_label_block .frm_label{display:block;width:auto;float:none;font-size:14px;margin-bottom:.5em}.frm_control_group.frm_control_block .frm_textarea_box,.frm_control_group.frm_control_block .frm_input_box,.frm_control_group.frm_control_block .frm_msg,.frm_control_group.frm_control_block .frm_tips{display:block;width:auto}.frm_label{float:left;width:5em;margin-top:.3em;margin-right:1em;font-size:14px}.frm_label_tips{display:block;color:#8d8d8d}.frm_controls{display:table-cell;vertical-align:top;float:none;width:auto;*display:block;*zoom:1}.frm_controls:after{content:" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";visibility:hidden;clear:both;height:0!important;display:block;line-height:0}.frm_input,.frm_textarea{width:100%;background-color:transparent;border:0;outline:0}.frm_input{height:22px;*line-height:22px;margin:4px 0}.frm_textarea{height:100px}.frm_input_box{display:inline-block;position:relative;height:30px;line-height:30px;vertical-align:middle;width:278px;font-size:14px;padding:0 10px;border:1px solid #e7e7eb;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;background-color:#fff}.frm_input_box .frm_input_append{*height:30px;font-size:0}.frm_input_box.search{border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.frm_input_box.append{padding-right:30px}.frm_input_box.append .frm_input_append{position:absolute;top:0;right:.8em}.frm_input_box.prepend{padding-left:30px}.frm_input_box.prepend .frm_input_append{position:absolute;top:0;left:.8em}.frm_input_box.tips_inline{padding-right:10px}.frm_input_box.tips_inline .frm_input_append{font-size:14px}.frm_input_box.with_counter .frm_counter{width:50px;color:#8d8d8d;font-size:14px;font-weight:400;font-style:normal}.frm_input_box.with_counter.warn .frm_counter{color:#e15f63}.frm_input_box.counter_in{padding-right:70px}.frm_input_box.counter_in .frm_counter{right:0;text-align:right;padding-right:10px}.frm_input_box.counter_out{padding-right:10px}.frm_input_box.counter_out .frm_counter{right:-60px;padding-left:10px}.frm_input_box.vcode{width:157px}.frm_input_box.zone{width:72px;margin-right:5px}.frm_input_box.phone{width:175px}.frm_msg.align_counter,.frm_tips.align_counter,.align_counter .frm_msg,.align_counter .frm_tips{margin-top:-27px}.frm_textarea_box{display:inline-block;width:288px;padding:4px 0 4px 10px;font-size:14px;border:1px solid #e7e7eb;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;background-color:#fff}.frm_textarea_box.with_counter{position:relative;margin-bottom:27px}.frm_textarea_box.with_counter .frm_counter{color:#8d8d8d;font-size:14px;font-weight:400;font-style:normal}.frm_textarea_box.with_counter.warn .frm_counter{color:#e15f63}.frm_textarea_box.counter_out .frm_counter{position:absolute;bottom:-27px;right:0}.disabled.frm_input_box,.disabled.frm_textarea_box{background-color:#eee}.disabled .frm_input_box,.disabled .frm_textarea_box{background-color:#eee}.focus.frm_input_box,.focus.frm_textarea_box,.focus.frm_select_box{border-color:#6bbe6e}.focus.frm_select_box{*border-color:transparent}.frm_radio,.frm_checkbox{position:absolute;left:-999em}.frm_radio_label,.frm_checkbox_label{display:inline-block;text-align:left;cursor:pointer;margin-right:1em}.frm_radio_label.no_extra,.frm_checkbox_label.no_extra{margin-right:0}.frm_radio_label.disabled,.frm_checkbox_label.disabled{color:#999;cursor:default}.icon_radio{margin-right:4px}.icon_checkbox{margin-right:4px}.frm_select_box{display:inline-block;*display:inline;*zoom:1;position:relative;background-color:#fff;background-image:-moz-linear-gradient(top,#fff 0,#fff 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#fff));background-image:-webkit-linear-gradient(top,#fff 0,#fff 100%);background-image:-o-linear-gradient(top,#fff 0,#fff 100%);background-image:linear-gradient(to bottom,#fff 0,#fff 100%);border-color:#e7e7eb;color:#222;vertical-align:middle;font-size:14px;*top:.6em;*margin-right:5px;padding:4px 0;border:1px solid #e7e7eb;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;*background-color:transparent;*border-color:transparent;*padding-top:0;*padding-bottom:0}.frm_select_box button{color:#222}.frm_select_box:hover{background-color:#e7e7eb;background-image:-moz-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e7e7eb),to(#e7e7eb));background-image:-webkit-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-o-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:linear-gradient(to bottom,#e7e7eb 0,#e7e7eb 100%);border-color:#dadbe0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#222}.frm_select_box:hover button{color:#222}.frm_select_label{*margin-top:-0.2em}.frm_select{position:relative;z-index:1;height:22px;padding:0 30px 0 10px;line-height:22px;background-color:transparent;border:0;outline:0}@media screen and (-webkit-min-device-pixel-ratio:0){.frm_select_box{padding:0}.frm_select_box:after{content:" ";position:absolute;right:15px;top:50%;margin-top:-2px;display:inline-block;width:0;height:0;border-width:4px;border-style:dashed;border-color:transparent;border-bottom-width:0;border-top-color:#777;border-top-style:solid}.frm_select{-webkit-appearance:none;height:32px}}.clear_dib_gap{font-size:0}.dropdown_wrp.frm_input_in_box{height:32px;margin-right:-1px}.frm_search_type{float:left;line-height:30px;border:1px solid #e7e7eb;border-right-width:0;color:#222;min-width:50px;padding:0 10px;background-color:#fff}.frm_input_box.search.with_del{padding-right:60px}.frm_input_box.search .frm_input_append{border-left:1px solid #e7e7eb;right:0;width:30px;text-align:center}.frm_input_box.search .search_gray{vertical-align:-webkit-baseline-middle;margin-top:-0.2em}.frm_input_box.search .del_btn{right:30px}.frm_input_box .del_btn{position:absolute;right:0;width:30px;height:30px;text-align:center;font-size:0}.frm_input_box .del_btn i{vertical-align:-webkit-baseline-middle;margin-top:-0.2em}.frm_input_box .del_btn:hover{text-decoration:none}.frm_input_box.disabled .frm_input,.frm_input_box .frm_input[disabled]{color:#8d8d8d}.frm_input_box.counter_in{width:228px;padding-right:60px}.frm_control{margin-bottom:25px}.frm_control_group.drop_gap{padding-bottom:0}.icon_radio,.icon_checkbox{margin-right:3px;margin-top:-2px;*margin-top:0}.icon_radio{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -140px no-repeat;width:16px;height:16px;vertical-align:middle;display:inline-block}.icon_radio.selected,.selected .icon_radio{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -160px no-repeat}.icon_radio.disabled,.disabled .icon_radio{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -180px no-repeat}.icon_radio.selected.disabled,.selected.disabled .icon_radio{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -200px no-repeat}.icon_checkbox{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -220px no-repeat;width:16px;height:16px;vertical-align:middle;display:inline-block}.icon_checkbox.selected,.selected .icon_checkbox{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -240px no-repeat}.icon_checkbox.disabled,.disabled .icon_checkbox{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -260px no-repeat}.icon_checkbox.selected.disabled,.selected.disabled .icon_checkbox{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -280px no-repeat}.icon_search_del{cursor:pointer;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -300px no-repeat;width:14px;height:14px;vertical-align:middle;display:inline-block}.icon_search_del:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -318px no-repeat}.frm_legend.default{margin-bottom:20px;border-bottom:1px solid #e7e7eb}.form_mod_title{margin-bottom:10px;padding-bottom:5px;margin-top:40px;font-size:14px;font-weight:400;border-bottom:1px solid #e7e7eb}.frm_msg i{float:none;margin-right:0}.tab_navs{*zoom:1;text-align:center;line-height:30px;border-bottom:1px solid #e7e7eb;box-shadow:inset 0 1px 0 0 rgba(255,255,255,0.5);-moz-box-shadow:inset 0 1px 0 0 rgba(255,255,255,0.5);-webkit-box-shadow:inset 0 1px 0 0 rgba(255,255,255,0.5)}.tab_navs:after{content:"\200B";display:block;height:0;clear:both}.tab_nav{float:left;font-size:14px}.tab_nav a{display:block;*height:1%;text-decoration:none;color:#222;outline:0;padding:0 20px}.tab_nav.selected{background-color:#d4d5d5}.mt .tab_nav a{border-right:1px solid #e7e7eb}.mt .tab_nav.selected{border-top:3px solid #757474;position:relative;top:-1px}.mt .tab_nav.selected a{position:relative;background-color:#d4d5d5;line-height:29px;margin-bottom:-2px}.mt .tab_nav.no_extra a{border-right-width:0}.title_tab .tab_navs{line-height:40px;border-bottom-color:#e7e7eb;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.title_tab .tab_nav{margin-bottom:-1px}.title_tab .tab_nav a{padding:0 18px}.title_tab .tab_nav.first a,.title_tab .tab_nav:first-child a{padding-left:30px}.title_tab .tab_nav:hover{border-bottom:3px solid #a0a3ab}.title_tab .tab_nav.selected{background:0;border-bottom:3px solid #44b549}.tips_box{padding:6px 15px;background-color:#e0eaf6;border:0;color:#222;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.tips_box .em{color:#e15f63}.tips_box_primary{padding:6px 15px;background-color:#f1f1f1;border:1px solid #d1d1d1;color:#666;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tips_box_primary .em{color:#e15f63}.disabled_box{padding:.4em .8em;font-size:14px;border:1px solid #e7e7eb;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;background-color:#f4f5f9}.notices_box{line-height:40px;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;background-color:#fff;border:1px solid #e7e7eb}.msg_box{line-height:36px;text-align:center}.msg_box .inner{background-color:#c8e7fc}.msg_box a{display:block;color:#6d7f8b}.global_link_opr{margin-left:1em}.global_link_opr:first-child{margin-left:0}.empty_tips{padding:100px 0;text-align:center;font-size:14px;color:#8d8d8d}.mini_tips i{font-weight:400;font-style:normal;margin-top:-3px;margin-right:3px;*margin-top:0}.mini_tips .icon_mini_tips{*margin-top:2px}.mini_tips.weak_text{color:#8d8d8d}.mini_tips.warn{color:#e15f63}.mini_tips.success{color:#7fba4f}.mini_tips.icon_after i{margin-right:0;margin-left:3px}.article_box.inset{border:1px solid #e7e7eb;background-color:#f4f5f9;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;height:500px;overflow-y:auto}.article_box.inset .inner{padding-left:50px;padding-right:50px}.article_box .inner{padding:90px 75px}.article_box h3{text-align:center;font-size:22px;padding-bottom:14px}.article_box h4{padding-bottom:14px;font-weight:700;font-size:16px}.article_box h5{padding-bottom:14px;font-weight:700;font-size:16px}.article_box h6{padding-bottom:14px;font-weight:700;font-size:14px}.article_box ul.disc{padding-left:20px;list-style-type:disc}.article_box dl,.article_box li,.article_box p{padding-bottom:14px;font-size:14px}.article_box pre{white-space:pre-wrap}.article_box strong{font-weight:400;font-style:normal}.article_box .media{text-align:center;padding-bottom:28px}.article_box .img_wrp{display:inline-block;max-width:750px}.article_box .img_wrp img{width:100%;*width:auto;*max-width:100%;vertical-align:top}.article_box .img_wrp .mobile_width{width:175px}.article_box .sign,.article_box .company_sign{padding-top:4em;text-align:right}.article_box .sign.strong,.article_box .company_sign.strong{font-weight:700;font-size:16px}.article_box .no_extra{padding-bottom:0}.text_box h4{font-size:16px;font-weight:400;font-style:normal;margin-bottom:10px}.text_box .spacing{margin-top:10px}.mod_hd,.mod_ft{*zoom:1}.mod_hd:after,.mod_ft:after{content:"\200B";display:block;height:0;clear:both}.mod_info{float:left}.mod_opr{text-align:right}.mod_opr .btn{margin-top:-0.2em}.global_mod .global_extra{text-align:right}.global_mod.mt_layout{line-height:40px}.global_mod.mt_layout .global_extra{margin-top:-40px}.global_mod.float_layout{*zoom:1}.global_mod.float_layout:after{content:"\200B";display:block;height:0;clear:both}.global_mod.float_layout .global_info{float:left}.global_mod.gap_top .gap_top_item{margin-top:5px}.global_mod.with_default_gap{padding:9px 20px}.global_mod.with_border{border-bottom:1px solid #e7e7eb}.vm_box{display:inline-block;height:100%;vertical-align:middle}.mod_default_box{background-color:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(150,150,150,0.3);padding:20px 30px 30px}.mod_default_box .mod_default_hd{position:relative;margin-bottom:30px}.mod_default_box .mod_default_hd h4{font-weight:400;font-size:20px;margin-bottom:15px;display:inline-block;margin-right:20px;margin-bottom:0;padding:0}.mod_default_box .mod_default_hd .mod_hd_extra{position:absolute;top:0;right:0;line-height:32px}.mod_default_box .mod_default_hd .mod_hd_desc{display:inline-block}.mod_default_box .mod_default_hd .desc{display:inline-block;color:#8d8d8d}.gap_veritcal_global{margin-bottom:20px}.mini_tip i{margin-right:5px}.msg_box{display:none}.tips_box_tl{padding:6px 15px;background-color:#e0eaf6;text-align:left}.article_box h3{padding-bottom:1em;font-size:18px;font-weight:400;font-style:normal}.article_box h4,.article_box h5,.article_box h6{font-weight:400;font-style:normal;font-size:14px}.news_box.inset{border:1px solid #e7e7eb;word-wrap:break-word;word-break:break-all;height:500px;overflow-y:auto}.news_box.inset .inner{padding-left:50px;padding-right:50px}.news_box.inset.in_dialog{height:300px}.news_box.inset.in_dialog .inner{padding:30px 40px}.news_box.inset.in_dialog p{padding-bottom:.5em}.news_box .inner{padding:90px 75px}.news_box pre{white-space:pre-wrap}.news_box h3{padding-bottom:1em;text-align:center;font-size:18px;font-weight:400;font-style:normal}.news_box h4,.news_box h5,.news_box h6{padding-bottom:1em;font-weight:400;font-style:normal;font-size:14px}.news_box p,.news_box .table_wrp{padding-bottom:1em;font-size:14px}.news_box ol,.news_box ul{padding-bottom:14px}.news_box li p{padding-bottom:0}.news_box strong{font-weight:400;font-style:normal}.news_box .em_text{font-weight:700}.news_box .warn_text{color:#e15f63}.news_box img{max-width:100%}.news_box .media{text-align:center;padding-bottom:2em}.news_box .img_wrp{display:inline-block;max-width:750px}.news_box .img_wrp img{width:100%;*width:auto;*max-width:100%;vertical-align:top}.news_box .img_wrp .mobile_width{width:175px}.news_box .sign,.news_box .company_sign{padding-top:4em;text-align:right}.news_box .sign.strong,.news_box .company_sign.strong{font-weight:700;font-size:16px}.news_box .no_extra{padding-bottom:0}.announcement_box .announcement_inner{padding:90px 75px}.news_box .announcement_box .announcement_inner{padding:0}.announcement_box .announcement_title{padding-bottom:42px;text-align:center;font-size:18px}.announcement_box .announcement_content *{max-width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.announcement_box .announcement_sign,.announcement_box .announcement_company_sign{padding-top:28px;text-align:right}.announcement_box h1,.announcement_box h2,.announcement_box h3,.announcement_box h4,.announcement_box h5,.announcement_box h6{font-weight:400;font-size:14px}.announcement_box pre{white-space:pre-wrap}.announcement_box .gap{padding-bottom:1em}.announcement_box .no_gap{padding-bottom:0}.announcement_box strong,.announcement_box .strong{font-weight:700}.announcement_box .normal{font-weight:400}.announcement_box h3,.announcement_box h4,.announcement_box h5,.announcement_box h6,.announcement_box .table_wrp,.announcement_box ol,.announcement_box ul,.announcement_box p{padding-bottom:0}.announcement_box h3{text-align:left}.global_box{background-color:#f4f5f9;border:1px solid #e7e7eb}.default_box .default_box_inner{padding:20px;border:1px solid #e7e7eb}.default_box .default_box_arrow_wrp,.default_box .default_box_arrow{position:absolute}.default_box.with_arrow{position:relative}.default_box.to_top{padding-top:7px}.default_box.to_top .default_box_arrow_wrp{top:0;left:20px}.default_box.to_top .default_box_arrow{display:inline-block;width:0;height:0;border-width:7px;border-style:dashed;border-color:transparent;border-top-width:0;border-bottom-color:#e7e7eb;border-bottom-style:solid}.default_box.to_top .default_box_arrow_out{top:0}.default_box.to_top .default_box_arrow_in{top:1px;border-bottom-color:#fff}.split_tips_global{margin-left:.5em;border-left:1px solid #8d8d8d;padding-left:.5em;display:inline-block;line-height:1em}.radius_tag{display:inline-block;vertical-align:middle;padding:1px .7em;font-size:14px;line-height:1.3;color:#8d8d8d;border:1px solid #9e9e9e;background-color:#fff;overflow:hidden;border-top-left-radius:10px 50%;-moz-border-radius-topleft:10px 50%;-webkit-border-top-left-radius:10px 50%;border-top-right-radius:10px 50%;-moz-border-radius-topright:10px 50%;-webkit-border-top-right-radius:10px 50%;border-bottom-left-radius:10px 50%;-moz-border-radius-bottomleft:10px 50%;-webkit-border-bottom-left-radius:10px 50%;border-bottom-right-radius:10px 50%;-moz-border-radius-bottomright:10px 50%;-webkit-border-bottom-right-radius:10px 50%}.highlight_box{position:relative;padding:9px 30px;background-color:#f4f5f9;margin-bottom:20px;line-height:1.6;*zoom:1}.highlight_box .opr{float:right;padding:7px 0 0 2em}.highlight_box .opr.opr_desc{padding-top:0;color:#8d8d8d}.highlight_box .links{margin-left:-14px;font-size:0;padding:3px 0}.highlight_box .links .links_item{vertical-align:middle;margin-top:-0.2em;font-size:14px;border-left-color:#d9dadc}.highlight_box .links .links_item:hover a{color:#222}.highlight_box .links .selected a{color:#222}.highlight_box .title{font-weight:400;font-style:normal}.highlight_box .title .icon_common.new{height:14px;margin-top:0}.highlight_box .desc{color:#8d8d8d;overflow:hidden}.highlight_box.border{border-top:1px solid #e7e7eb}.highlight_box.icon_wrap{padding-top:14px;padding-bottom:14px;overflow:hidden;*zoom:1}.highlight_box.icon_wrap .icon{float:left;margin-right:15px}.highlight_box.icon_wrap .icon.lock{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -336px no-repeat;width:48px;height:48px;vertical-align:middle;display:inline-block}.highlight_box.icon_wrap .icon.unlock{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -388px no-repeat;width:48px;height:48px;vertical-align:middle;display:inline-block}.highlight_box.icon_wrap .icon_profile{width:48px;height:48px}.highlight_box.icon_wrap .icon_msg_small{margin-top:5px}.highlight_box.icon_wrap .title,.highlight_box.icon_wrap .desc{overflow:hidden;*zoom:1}.highlight_box.icon_small .icon{margin-left:-10px;margin-right:0}.highlight_box.single_line .title,.highlight_box.single_line .desc{padding-top:14px}.highlight_box.page_global_tips{margin:-12px 30px 20px}.highlight_box.global{margin:0 30px 40px;border-top-width:0}.tool_bar{*zoom:1;margin-top:40px;padding-top:20px}.tool_bar:after{content:"\200B";display:block;height:0;clear:both}.tool_bar .btn{margin-right:1em}.tool_bar.with_form{margin-top:15px}.tool_bar.border{border-top:1px solid #e7e7eb;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.tool_bar.tc .btn{margin-left:.5em;margin-right:.5em}.tool_bar.tr .btn{margin-left:1em;margin-right:0}.tool_area{*zoom:1}.tool_area:after{content:"\200B";display:block;height:0;clear:both}.title_bar{*zoom:1}.title_bar:after{content:"\200B";display:block;height:0;clear:both}.title_bar .info{float:left}.title_bar .opr{float:right}.parent_title_bar{*zoom:1;line-height:35px;border-bottom:2px solid #e7e7eb}.parent_title_bar:after{content:"\200B";display:block;height:0;clear:both}.parent_title_bar h3{font-size:16px;font-weight:400;font-style:normal}.sub_title_bar{*zoom:1;line-height:38px;padding:0 20px}.sub_title_bar:after{content:"\200B";display:block;height:0;clear:both}.sub_title_bar .info{float:left}.sub_title_bar .opr{float:right}.sub_title_bar h3{font-weight:400;font-style:normal;font-size:14px}.sub_title_bar h4{float:left;font-weight:400;font-style:normal;font-size:14px}.tool_bar{padding-bottom:50px;padding-top:20px}.tool_bar.simple_gap{margin-left:20px;margin-bottom:20px}.title_bar{padding:0 20px;background-color:#f4f5f9;border-bottom:1px solid #e7e7eb;line-height:40px}.title_bar h3{font-size:14px;font-weight:400;font-style:normal}.global_title_bar{*zoom:1;background-color:#f4f5f9;font-size:16px;border-bottom:1px solid #e7e7eb}.global_title_bar:after{content:"\200B";display:block;height:0;clear:both}.global_title_bar .info{float:left}.global_title_bar .opr{float:right}.parent_title_bar{border-width:1px}.sub_title_bar{padding:0 30px;line-height:55px}.sub_title_bar.default{background-color:#f4f5f9;border-bottom:1px solid #e7e7eb}.sub_title_bar.light{background-color:#f4f5f9;border-bottom:1px solid #e7e7eb}.sub_title_bar.in_dialog{background-color:#fff;padding:0 20px;border-bottom:1px solid #e7e7eb}.sub_title_bar.dark{background-color:#dfdfdf;background-image:-moz-linear-gradient(top,#dfdfdf 0,#dfdfdf 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#dfdfdf),to(#dfdfdf));background-image:-webkit-linear-gradient(top,#dfdfdf 0,#dfdfdf 100%);background-image:-o-linear-gradient(top,#dfdfdf 0,#dfdfdf 100%);background-image:linear-gradient(to bottom,#dfdfdf 0,#dfdfdf 100%);border-bottom:1px solid #bebebe;box-shadow:inset 0 1px 0 0 #ebebeb,0 1px 2px #ddd;-moz-box-shadow:inset 0 1px 0 0 #ebebeb,0 1px 2px #ddd;-webkit-box-shadow:inset 0 1px 0 0 #ebebeb,0 1px 2px #ddd}.sub_title_bar.global{padding:0;font-size:16px}.sub_title_bar.no_extra{background:0;border-bottom-width:0;line-height:normal;padding:0}.tool_area{padding:0 30px}button.btn{height:32px;line-height:28px}.btn button{display:block;height:100%;background-color:transparent;border:0;outline:0;overflow:visible;padding:0 22px}.btn.btn_input{padding:0}.btn.btn_input.btn_vcode{margin-left:5px}.btn.btn_input.btn_vcode button{width:110px;padding:0}.btn.btn_vcode{padding:0;width:110px;margin-left:5px}.btn{display:inline-block;overflow:visible;padding:0 22px;height:30px;line-height:30px;*line-height:28px;vertical-align:middle;text-align:center;text-decoration:none;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;font-size:14px;border-width:1px;border-style:solid;cursor:pointer}.btn:hover{text-decoration:none}.btn.btn_mini{height:21px;line-height:21px;*line-height:19px;padding:0 10px}.btn.btn_small{height:25px;line-height:25px;*line-height:23px;padding:0 12px}.btn.btn_large{height:38px;line-height:38px;*line-height:36px;padding:0 70px}.btn.btn_p20{padding:0 20px}.btn.btn_p30{padding:0 30px}.btn.btn_w125{width:125px;padding:0}.btn.btn_w150{width:150px;padding:0}.btn.btn_w220{width:220px;padding:0}.btn_default{background-color:#fff;background-image:-moz-linear-gradient(top,#fff 0,#fff 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#fff));background-image:-webkit-linear-gradient(top,#fff 0,#fff 100%);background-image:-o-linear-gradient(top,#fff 0,#fff 100%);background-image:linear-gradient(to bottom,#fff 0,#fff 100%);border-color:#e7e7eb;color:#222}.btn_default button{color:#222}.btn_default:hover{background-color:#e7e7eb;background-image:-moz-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e7e7eb),to(#e7e7eb));background-image:-webkit-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-o-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:linear-gradient(to bottom,#e7e7eb 0,#e7e7eb 100%);border-color:#dadbe0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#222}.btn_default:hover button{color:#222}.btn_warn{background-color:#f24d4d;background-image:-moz-linear-gradient(top,#f24d4d 0,#f24d4d 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f24d4d),to(#f24d4d));background-image:-webkit-linear-gradient(top,#f24d4d 0,#f24d4d 100%);background-image:-o-linear-gradient(top,#f24d4d 0,#f24d4d 100%);background-image:linear-gradient(to bottom,#f24d4d 0,#f24d4d 100%);border-color:#f24d4d;color:#fff}.btn_warn button{color:#fff}.btn_warn:hover{background-color:#d43d3d;background-image:-moz-linear-gradient(top,#d43d3d 0,#d43d3d 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#d43d3d),to(#d43d3d));background-image:-webkit-linear-gradient(top,#d43d3d 0,#d43d3d 100%);background-image:-o-linear-gradient(top,#d43d3d 0,#d43d3d 100%);background-image:linear-gradient(to bottom,#d43d3d 0,#d43d3d 100%);border-color:#d43d3d;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#fff}.btn_warn:hover button{color:#fff}.btn_primary{background-color:#44b549;background-image:-moz-linear-gradient(top,#44b549 0,#44b549 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#44b549),to(#44b549));background-image:-webkit-linear-gradient(top,#44b549 0,#44b549 100%);background-image:-o-linear-gradient(top,#44b549 0,#44b549 100%);background-image:linear-gradient(to bottom,#44b549 0,#44b549 100%);border-color:#44b549;color:#fff}.btn_primary button{color:#fff}.btn_primary:hover{background-color:#2f9833;background-image:-moz-linear-gradient(top,#2f9833 0,#2f9833 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#2f9833),to(#2f9833));background-image:-webkit-linear-gradient(top,#2f9833 0,#2f9833 100%);background-image:-o-linear-gradient(top,#2f9833 0,#2f9833 100%);background-image:linear-gradient(to bottom,#2f9833 0,#2f9833 100%);border-color:#2f9833;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#fff}.btn_primary:hover button{color:#fff}.btn_disabled{background-color:#e7e7eb;background-image:-moz-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e7e7eb),to(#e7e7eb));background-image:-webkit-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-o-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:linear-gradient(to bottom,#e7e7eb 0,#e7e7eb 100%);border-color:#dadbe0;color:#a5a6aa;cursor:default}.btn_disabled button{color:#a5a6aa;cursor:default}.btn_disabled:hover{background-color:#e7e7eb;background-image:-moz-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e7e7eb),to(#e7e7eb));background-image:-webkit-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-o-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:linear-gradient(to bottom,#e7e7eb 0,#e7e7eb 100%);box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;border-color:#dadbe0;color:#a5a6aa}.btn_disabled:hover button{color:#a5a6aa;cursor:default}.btn_loading{background-color:#e7e7eb;background-image:-moz-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e7e7eb),to(#e7e7eb));background-image:-webkit-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-o-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:linear-gradient(to bottom,#e7e7eb 0,#e7e7eb 100%);border-color:#dadbe0;color:#a5a6aa;cursor:default;position:relative}.btn_loading button{color:#a5a6aa;cursor:default}.btn_loading:hover{background-color:#e7e7eb;background-image:-moz-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e7e7eb),to(#e7e7eb));background-image:-webkit-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-o-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:linear-gradient(to bottom,#e7e7eb 0,#e7e7eb 100%);box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;border-color:#dadbe0;color:#a5a6aa}.btn_loading:hover button{color:#a5a6aa;cursor:default}.btn_loading button{position:relative}.btn_loading i{position:absolute;top:50%;left:4px;margin-top:-8px;background:transparent url(/mpres/htmledition/common/images/icon/common/icon16_loading_light218877.gif) no-repeat 0 0;width:16px;height:16px;vertical-align:middle;display:inline-block}.btn{min-width:60px}.btn.btn_input{min-width:104px}.btn.btn_input button{width:100%}.btn.btn_add i{margin-right:5px;margin-top:-2px;*margin-top:2px}.btn.btn_add .add_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -440px no-repeat}.btn.btn_disabled .add_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -458px no-repeat}.btn.btn_small{min-width:0}.btn_loading i{width:18px;height:18px}.btn_loading.btn_primary{background-color:#2f9833;background-image:-moz-linear-gradient(top,#2f9833 0,#2f9833 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#2f9833),to(#2f9833));background-image:-webkit-linear-gradient(top,#2f9833 0,#2f9833 100%);background-image:-o-linear-gradient(top,#2f9833 0,#2f9833 100%);background-image:linear-gradient(to bottom,#2f9833 0,#2f9833 100%);border-color:#2f9833;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#fff}.btn_loading.btn_primary button{color:#fff}.btn_loading.btn_primary i{background-image:url(/mpres/htmledition/images/icon/loading/icon18_loading_primary218877.gif);filter:alpha(opacity = 70);-moz-opacity:.7;-khtml-opacity:.7;opacity:.7}.btn_loading.btn_default{background-color:#e7e7eb;background-image:-moz-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e7e7eb),to(#e7e7eb));background-image:-webkit-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:-o-linear-gradient(top,#e7e7eb 0,#e7e7eb 100%);background-image:linear-gradient(to bottom,#e7e7eb 0,#e7e7eb 100%);border-color:#dadbe0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#222}.btn_loading.btn_default button{color:#222}.btn_loading.btn_default i{background-image:url(/mpres/htmledition/images/icon/loading/icon18_loading_default218877.gif)}.icon_msg{width:56px;height:56px;vertical-align:middle;display:inline-block}.icon_msg.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -476px no-repeat}.icon_msg.warn{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -536px no-repeat}.icon_msg.error{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -596px no-repeat}.icon_msg.mail{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -656px no-repeat}.icon_msg.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -716px no-repeat}.icon_msg.ask{background:transparent url(/mpres/htmledition/common/images/icon/msg/icon_msg_ask.png?__sprite) no-repeat 0 0}.icon_msg.info{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -776px no-repeat}.icon_msg_mini{width:16px;height:16px;vertical-align:middle;display:inline-block}.icon_msg_mini.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -836px no-repeat}.icon_msg_mini.warn{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -856px no-repeat}.icon_msg_mini.info{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -876px no-repeat}.icon_msg_mini.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -896px no-repeat}.icon_msg_mini.ask{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -916px no-repeat}.icon_msg_small{width:32px;height:32px;vertical-align:middle;display:inline-block}.icon_msg_small.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -936px no-repeat}.icon_msg_small.warn{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -972px no-repeat}.icon_msg_small.info{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1008px no-repeat}.icon_msg_small.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1044px no-repeat}.icon_msg_small.ask{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1080px no-repeat}.icon37_msg{width:37px;height:37px;vertical-align:middle;display:inline-block}.icon37_msg.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1116px no-repeat}.icon37_msg.warn{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1157px no-repeat}.icon37_msg.info{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1198px no-repeat}.icon37_msg.error{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1239px no-repeat}.icon37_msg.mail{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1280px no-repeat}.icon37_msg.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1321px no-repeat}.icon20_msg{width:20px;height:20px;vertical-align:middle;display:inline-block}.icon20_msg.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1362px no-repeat}.icon20_msg.warn{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1386px no-repeat}.icon20_msg.error{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1410px no-repeat}.icon20_msg.info{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1434px no-repeat}.icon18_msg{width:18px;height:18px;vertical-align:middle;display:inline-block}.icon18_msg.ask{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1458px no-repeat}.icon18_msg.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1480px no-repeat}.icon18_msg.warn{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1502px no-repeat}.icon18_msg.error{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1524px no-repeat}.icon18_msg.info{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1546px no-repeat}.icon18_msg.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1568px no-repeat}.page_msg .inner{position:relative;*zoom:1;background-color:#e0eaf6}.page_msg .inner:after{content:"\200B";display:block;height:0;clear:both}.page_msg .msg_icon_wrp,.page_msg .msg_icon_wrapper{float:left;margin-right:10px;font-size:0}.page_msg .msg_content{overflow:hidden;*zoom:1;padding-top:5px}.page_msg .msg_opr{display:none;position:absolute;right:10px;top:50%;margin-top:-10px}.page_msg h4{font-size:16px;font-weight:700}.page_msg p{font-size:14px;color:#8d8d8d}.page_msg .spacing{padding:.5em 0 2em}.page_msg .line_break_before{padding-top:1em}.page_msg.large .inner{padding:12px 70px}.page_msg.small .inner{padding:20px 40px 20px 20px}.page_msg.mini .inner{padding:9px 20px}.page_msg.mini .msg_icon_wrp{margin-top:3px;margin-right:6px}.page_msg.mini .msg_content{padding-top:0}.page_msg.single_line .msg_content{padding-top:15px}.page_msg.default .inner{background-color:transparent;border:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.page_msg.simple{text-align:center}.page_msg.simple .inner{display:inline-block;*display:inline;*zoom:1;text-align:left;min-width:55%}.icon_msg{width:46px;height:46px;vertical-align:middle;display:inline-block}.icon_msg.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1590px no-repeat}.icon_msg.warn{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1640px no-repeat}.icon_msg.warn_primary{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1690px no-repeat}.icon_msg.error{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1740px no-repeat}.icon_msg.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1790px no-repeat}.icon_msg.info{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1840px no-repeat}.icon_msg.mail{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1890px no-repeat}.icon_msg_primary{width:46px;height:46px;vertical-align:middle;display:inline-block}.icon_msg_primary.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1940px no-repeat}.icon_msg_primary.warn{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -1990px no-repeat}.icon_msg_primary.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2040px no-repeat}.icon_msg_primary.info{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2090px no-repeat}.icon_msg_primary.mail{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2140px no-repeat}.page_msg.mini p{color:#222}.page_msg.single_line .msg_content{padding-top:10px}.page_msg.with_closed{position:relative}.page_msg h4{font-size:14px;font-weight:400;font-style:normal}.page_msg .msg_content{padding-top:0}.page_msg .msg_closed{position:absolute;right:10px;cursor:pointer;top:50%;margin-top:-5px;line-height:300px;overflow:hidden;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2190px no-repeat;width:10px;height:10px;vertical-align:middle;display:inline-block}.popover_close{display:none;position:absolute;right:10px;top:22px;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2204px no-repeat}.popover_close:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2224px no-repeat}.popover{width:257px;position:absolute;margin-top:12px;z-index:999}.popover .popover_inner{border:1px solid #d9dadc;word-wrap:break-word;word-break:break-all;padding:30px;background-color:#fff;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.popover .popover_arrow{position:absolute;left:50%;margin-left:-8px;margin-top:-8px;display:inline-block;width:0;height:0;border-width:8px;border-style:dashed;border-color:transparent;border-top-width:0;border-bottom-color:#d9dadc;border-bottom-style:solid}.popover .popover_arrow_out{top:0}.popover .popover_arrow_in{border-bottom-color:#fff;top:1px}.popover .popover_title{font-size:14px;font-weight:700}.popover .popover_tips{color:#8d8d8d}.popover .popover_bar{text-align:center;margin-top:20px}.popover .popover_bar .btn{margin:0 .3em}.popover.simple .popover_bar{text-align:left}.popover.simple .btn{margin-left:0;margin-right:.6em}.popover.pos_left .popover_arrow{left:42px}.popover.pos_right .popover_arrow{left:auto;right:28px}.popover.normal_flow{position:relative;width:auto;z-index:0}.popover.normal_flow .popover_inner{padding:14px 20px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;border-color:#e7e7eb}.popover.normal_flow .popover_content{width:auto}.popover.normal_flow .popover_arrow_out{border-bottom-color:#e7e7eb}.popover.arrow_left{margin-left:8px;margin-top:0}.popover.arrow_left .popover_arrow{top:25px;left:0;display:inline-block;width:0;height:0;border-width:8px;border-style:dashed;border-color:transparent;border-left-width:0;border-right-color:#d9dadc;border-right-style:solid}.popover.arrow_left .popover_arrow_in{left:1px;border-right-color:#fff}.popover.z_top{z-index:10000}.popover{width:290px;z-index:99999;text-align:left;color:#222;line-height:1.6}.popover .popover_title{font-weight:400;font-style:normal;padding-bottom:5px}.popover .frm_input_box{display:block;width:auto}.popover .popover_bar{text-align:justify;text-justify:distribute-all-lines;font-size:0}.popover .popover_bar:after{display:inline-block;width:100%;height:0;font-size:0;margin:0;padding:0;overflow:hidden;content:"."}.popover .popover_bar .tj_item{font-size:14px;text-align:left;text-justify:auto}.popover .popover_bar .btn{margin:0}.copylink_wrp{display:inline-block;*display:inline;*zoom:1}.copylink{display:inline-block}.icon_goback{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2244px no-repeat;width:26px;height:26px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon_goback:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2274px no-repeat}.page_nav{margin:26px 30px 40px}.page_nav .icon_goback{margin-right:5px}.page_nav .gap{margin:0 .35em}.page_nav a,.page_nav .gap{color:#8d8d8d}.page_nav a:hover{color:#459ae9}.page_nav.title_bottom{margin-top:0}.gototop{position:fixed;bottom:100px;left:0;right:0}.gototop_inner{width:1200px;margin-left:auto;margin-right:auto;text-align:right}.gototop_tips{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2304px no-repeat;width:47px;height:47px;vertical-align:middle;display:inline-block;cursor:pointer;line-height:200px;overflow:hidden;margin-right:-80px}.page_tips{position:fixed;top:0;left:0;text-align:center;width:100%;z-index:10000}.page_tips .inner{display:inline-block;*display:inline;*zoom:1;min-width:280px;padding:5px 30px;color:#fff}.page_tips.success .inner{background-color:#44b549}.page_tips.error .inner{background-color:#eaa000}.mask{position:fixed;top:0;left:0;width:100%;height:100%;filter:alpha(opacity = 75);-moz-opacity:.75;-khtml-opacity:.75;opacity:.75;background-color:#000;z-index:9998}.card_mask_global{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7)!important;filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#b3000000',endcolorstr = '#b3000000');cursor:pointer}.icon_card_selected_global{position:absolute;top:50%;left:50%;margin-top:-23px;margin-left:-23px;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2355px no-repeat;width:46px;height:46px;vertical-align:middle;display:inline-block}.table_wrp.list{padding:20px}.table_wrp.list .table{border-top-width:0}.table_wrp.list .table_cell{vertical-align:top;padding-left:20px;padding-right:20px}.table_wrp.list .tbody .table_cell{padding-top:15px;padding-bottom:15px}.table_wrp.outside_border{border:1px solid #e7e7eb;border-bottom-width:0}.table_wrp.with_border .table{border:1px solid #e7e7eb}.table{width:100%;font-size:14px;background-color:#fff;text-align:center;border-top:1px solid #e7e7eb;border-bottom:1px solid #e7e7eb;border-spacing:0}.table_cell{padding:0;font-weight:400;font-style:normal}.thead{background-color:#f4f5f9}.thead .table_cell{line-height:32px;border-left:1px solid #e7e7eb;border-bottom:1px solid #e7e7eb}.thead .table_cell:first-child{border-left-width:0}.tbody tr:hover,.tbody tr.even{background-color:transparent}.tbody tr.empty_item:hover{background:0}.tbody tr:first-child .table_cell{border-top-width:0}.tbody .table_cell{padding-top:6px;padding-bottom:6px;border-top:1px solid #e7e7eb}.thead .table_cell{border-left-width:0;line-height:40px;vertical-align:middle}.tbody .table_cell.hd_dropdown_area{padding-left:30px}.tbody .table_cell{padding-top:9px;padding-bottom:9px}.table_cell{padding-left:20px;padding-right:20px}.table_cell:first-child{text-align:left}.table_cell.last_child{text-align:right}.tbody .table_cell.rank_area{padding-right:34px}.table_wrp.inside_table .thead .table_cell{line-height:32px}.table_wrp.with_opr_border{border:1px solid #e7e7eb}.table_wrp.with_opr_border .table{border-width:0}.table_wrp.default_head_skin .thead{background-color:transparent}.table_wrp.gray_head_skin .table_opr{background-color:#f4f5f9}.table_wrp.with_table_list .table{border:1px solid #e7e7eb}.table_wrp.with_table_list .table_cell{vertical-align:top}.table_opr.with_btn_line{padding:10px 20px}.table_opr_meta_btn{margin-right:12px}.links_item{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding:0 1em;line-height:1em;*line-height:18px;border-left:1px solid #d9dadc}.links_item.no_extra{border-left-width:0}.links_item:first-child{border-left-width:0}.links_item a{display:block;color:#797979}.links.tab_links{margin-left:-1em}.links.tab_links .links_item{border-left-color:#d9dadc}.links.tab_links .links_item:hover a{color:#222}.links.tab_links .selected a{color:#222}.faq{width:178px;margin-top:-42px;position:relative;top:-18px;padding-left:20px;font-size:0}.faq .links{text-align:left}.faq .links_item{padding:0 .5em;font-size:12px;*line-height:15px}.faq .links_item a{color:#8d8d8d}.faq .links_item a:hover{color:#459ae9}.faq .links_item.no_extra{padding-left:0}.faq .tail{color:#8d8d8d;font-size:12px;line-height:30px}.pop_closed{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2405px no-repeat}.pop_closed:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2425px no-repeat}.dialog_wrp{position:fixed;top:50%;left:50%;width:726px;z-index:3}.dialog_wrp.label_block .frm_label{display:block;width:auto;float:none;font-size:14px;margin-bottom:.5em}.dialog_wrp.cascade_input .frm_control_group{display:inline-block;*display:inline;*zoom:1}.dialog_wrp.cascade_input .frm_input_box,.dialog_wrp.cascade_input .frm_tips,.dialog_wrp.cascade_input .frm_msg{width:auto}.dialog_wrp.cascade_input .frm_input_box{display:block}.dialog_wrp.cascade_input .frm_controls{padding-left:0}.dialog_wrp.align_edge .dialog_bd{padding:0}.dialog_wrp.simple .dialog_bd{text-align:center}.dialog{overflow:hidden;border:1px solid transparent;background-color:#fff;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.dialog_hd{position:relative;padding:0 20px;line-height:38px;height:38px;background-color:#f4f5f9;background-image:-moz-linear-gradient(top,#f4f5f9 0,#f4f5f9 100%);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f4f5f9),to(#f4f5f9));background-image:-webkit-linear-gradient(top,#f4f5f9 0,#f4f5f9 100%);background-image:-o-linear-gradient(top,#f4f5f9 0,#f4f5f9 100%);background-image:linear-gradient(to bottom,#f4f5f9 0,#f4f5f9 100%);border-bottom:1px solid #e7e7eb}.dialog_hd h3{color:#222}.pop_closed{position:absolute;top:50%;margin-top:-8px;right:20px;width:16px;height:16px;line-height:999em;overflow:hidden}.dialog_bd{padding:66px 45px 108px}.dialog_ft{margin:0;padding:25px 0;text-align:center;border-top:1px solid transparent;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.dialog_ft .btn{margin-left:.3em;margin-right:.3em}.dialog_content_list{height:420px;padding:0 120px;overflow-y:scroll;position:relative}.simple_dialog_content{display:inline-block;*display:inline;*zoom:1;text-align:left;width:420px}.simple_dialog_content .frm_input_box,.simple_dialog_content .frm_textarea_box{display:block}.simple_dialog_content .frm_input_box,.simple_dialog_content .frm_textarea_box,.simple_dialog_content .frm_tips,.simple_dialog_content .frm_msg{width:auto}.dialog_with_tool_context .dialog_bd{position:relative}.dialog_tool_context{position:absolute;bottom:0;left:0;right:0;text-align:center}.dialog_wrp{z-index:9999}.dialog{border-width:0;overflow:visible}.dialog_ft{padding:0;line-height:65px;background-color:#f4f5f9}.dialog_hd{line-height:52px;height:52px;border-bottom-width:0}.dialog_hd h3{font-weight:400;font-style:normal}.has_ft_desc .dialog_bd{position:relative}.has_ft_desc .dialog_ft_desc{position:absolute;bottom:-40px;left:20px}.pop_closed{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2445px no-repeat}.pop_closed:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2465px no-repeat}.dialog_with_tool_area .dialog_bd{position:relative}.dialog_tool_area{position:absolute;left:0;right:0;bottom:20px;text-align:center}.dialog_tool_context{bottom:20px}.ml1e{margin-left:1em}.dialog_process .form{padding-left:45px;padding-right:45px}.dialog_process .dialog_bd{padding:0 0 55px}.dialog_process .processor_bar{margin-bottom:45px}.safe_check .form .inner{width:425px;margin:0 auto}.safe_check .form .frm_hd{margin-bottom:1.5em}.safe_check .form .frm_hd .frm_title{margin-bottom:0;font-weight:400;font-style:normal;font-size:14px}.safe_check .form .frm_hd .frm_desc{color:#8d8d8d}.safe_check .form .frm_label{float:left;width:5em;margin-bottom:0;font-size:14px}.safe_check .form .frm_radio_block_desc{padding-left:23px}.safe_check .form .page_msg{margin-left:-14em}.safe_check .form_width_auto .inner{width:auto;max-width:500px;margin:0 auto}.safe_check .form_owner_info .frm_label{width:8em}.safe_check .form_owner_info .inner{width:500px}.safe_check .tool_bar{padding-bottom:0}.safe_check .tool_bar.tc{padding-left:0;text-align:center}.safe_check h4{font-weight:400}.page_msg .extra_msg h4{font-weight:400}.qrcode_scan .js_status,.qrcode_scan .status_wrp{width:280px}.qrcode_scan .qrcode_wrp{width:280px;height:280px}.bubble_tips{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;position:relative;color:#8d8d8d}.bubble_tips.warn{color:#8d8d8d}.bubble_tips.success{color:#7fba4f}.bubble_tips.gap_left{margin-left:10px}.bubble_tips.gap_right{margin-right:10px}.bubble_left{margin-left:6px}.bubble_left .bubble_tips_arrow.in{left:-5px}.bubble_left .bubble_tips_arrow.out{border-right-color:#e7e7eb;left:-6px}.bubble_right{margin-right:6px}.bubble_right .bubble_tips_arrow{border-left-width:6px;border-right-color:transparent;border-right-style:dashed;border-right-width:0;border-left-color:#fff;border-left-style:solid}.bubble_right .bubble_tips_arrow.in{right:-5px}.bubble_right .bubble_tips_arrow.out{border-left-color:#e7e7eb;right:-6px}.bubble_top{margin-top:6px}.bubble_top .bubble_tips_arrow{border-left-width:6px;border-right-color:transparent;border-right-style:dashed;border-top-width:0;border-bottom-color:#fff;border-bottom-style:solid;left:50%;margin-left:-6px}.bubble_top .bubble_tips_arrow.in{top:1px}.bubble_top .bubble_tips_arrow.out{border-bottom-color:#e7e7eb;top:0}.bubble_bottom{margin-bottom:6px}.bubble_bottom .bubble_tips_arrow{border-left-width:6px;border-right-color:transparent;border-right-style:dashed;border-bottom-width:0;border-top-color:#fff;border-top-style:solid;top:auto;margin-top:0;margin-bottom:-6px;left:50%;margin-left:-6px}.bubble_bottom .bubble_tips_arrow.in{bottom:1px}.bubble_bottom .bubble_tips_arrow.out{border-top-color:#e7e7eb;bottom:0}.bubble_tips_inner{padding:4.5px 10px;border:1px solid #e7e7eb;line-height:21px;background-color:#fff;word-wrap:break-word;word-break:break-all}.bubble_tips_arrow{position:absolute;top:50%;margin-top:-6px;display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;border-left-width:0;border-right-color:#fff;border-right-style:solid}.icon_dropdown_switch,.icon_rank{display:inline-block;vertical-align:middle;margin-top:-3px;position:relative;width:10px;height:12px}.icon_dropdown_switch .arrow,.icon_rank .arrow{display:inline-block;width:0;height:0;border-width:5px;border-style:dashed;border-color:transparent;border-top-width:0;border-bottom-color:#c6c6c6;border-bottom-style:solid;vertical-align:top}.icon_dropdown_switch .arrow_down,.icon_rank .arrow_down{position:absolute;left:0;bottom:0;border-bottom-color:transparent;border-bottom-style:dashed;border-top-width:5px;border-top-color:#c6c6c6;border-top-style:solid;border-bottom-width:0}.dropdown_switch_area:hover,.rank_area:hover{cursor:pointer}.dropdown_switch_area:hover .arrow_down,.rank_area:hover .arrow_down{border-top-color:#a0a0a0}.dropdown_switch_area:hover .arrow_up,.rank_area:hover .arrow_up{border-bottom-color:#a0a0a0}.tbody .rank_area:hover,.s_tbody .rank_area:hover{cursor:text}.dropdown_closed .arrow_up,.rank_down .arrow_up{display:none}.dropdown_closed .arrow_down,.rank_down .arrow_down{bottom:3px}.dropdown_opened .arrow_down,.rank_up .arrow_down{display:none}.dropdown_opened .arrow_up,.rank_up .arrow_up{margin-top:3px}.icon20_common{width:20px;height:20px;vertical-align:middle;display:inline-block}.icon20_common.add_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2485px no-repeat}.icon35_common{width:35px;height:35px;vertical-align:middle;display:inline-block}.icon35_common.add_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2509px no-repeat}.icon36_common{width:36px;height:36px;vertical-align:middle;display:inline-block}.icon36_common.add_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2548px no-repeat}.create_access{display:block;border:2px dotted #d9dadc;line-height:80px;text-align:center;margin-bottom:20px}.create_access i{cursor:pointer;line-height:300px;overflow:hidden}.create_access a{display:none;vertical-align:middle;margin-left:10px;margin-right:10px;color:#8d8d8d;font-size:14px;line-height:normal}.create_access a strong{display:block;padding-top:3px;font-weight:400;font-style:normal}.create_access:hover{border-color:#b3b3b3}.create_access:hover .add_gray{display:none}.create_access:hover a{display:inline-block}.create_access_square_wrp{display:inline-block;width:100px;height:100px}.create_access_square_wrp .create_access_primary{line-height:96px}.create_access_primary{display:block;border:2px dotted #d9dadc;line-height:60px;font-size:0;text-align:center;margin-bottom:20px}.create_access_primary i{cursor:pointer;line-height:300px;overflow:hidden}.create_access_primary:hover{border-color:#b3b3b3}.create_access_primary:hover .icon20_common{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2588px no-repeat}.create_access_primary:hover .icon35_common{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2612px no-repeat}.create_access_primary:hover .icon36_common{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2651px no-repeat}.create_access_primary:hover .icon42_common{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2691px no-repeat}.scale_tips{position:fixed;top:0;left:0;right:0;background-color:#fcf6e6;line-height:56px;*height:52px;white-space:nowrap;color:#8d8d8d;text-align:center;z-index:3}.icon_scale_tips{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2737px no-repeat;width:20px;height:20px;vertical-align:middle;display:inline-block;margin-top:-0.2em;*margin-top:0;margin-right:.5em}.scale_tips_content{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.faqscene{position:fixed;z-index:3;bottom:320px;left:0;right:0;height:0}.faqscene .faqscene_inner{width:1200px;height:0;margin:0 auto;position:relative}.faqscene .faqscene_name{float:right;text-align:center;width:20px;padding:15px 6px;margin-right:-33px;line-height:20px;background-color:#fff;border:1px solid #b3b3b4;cursor:default}.faqscene .faqscene_panel{position:absolute;right:0;bottom:-112px;padding:15px 20px;min-width:300px;max-width:380px;word-wrap:break-word;word-break:break-all;background-color:#fff;border:1px solid #b3b3b4;box-shadow:0 2px #d5d5d5;-moz-box-shadow:0 2px #d5d5d5;-webkit-box-shadow:0 2px #d5d5d5}.faqscene .faqscene_hd{font-size:16px}.faqscene .faqscene_tabs a{color:#222}.faqscene .faqscene_tabs .faqscene_tab_hd{padding:10px 0 4px;border-bottom:1px solid #e7e7eb}.faqscene .faqscene_tabs .faqscene_tab_hd li{display:inline-block;*display:inline;*zoom:1;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;margin-left:10px}.faqscene .faqscene_tabs .faqscene_tab_hd li:first-child{margin-left:0}.faqscene .faqscene_tabs .faqscene_tab_hd li a{color:#888;text-decoration:none}.faqscene .faqscene_tabs .faqscene_tab_hd li a:hover,.faqscene .faqscene_tabs .faqscene_tab_hd li a.active{color:#222}.faqscene .faqscene_tabs .faqscene_tab_hd ul{width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.faqscene .faqscene_tabs .faqscene_tab_bd{padding-top:5px}.faqscene .faqscene_tabs .faqscene_tab_bd ul{padding:4px 0;min-height:100px}.faqscene .faqscene_tabs .faqscene_tab_bd li{line-height:30px;position:relative;padding-left:10px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.faqscene .faqscene_tabs .faqscene_tab_bd li:before{content:' ';font-size:0;width:4px;height:4px;background-color:#c7c7c7;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;position:absolute;top:50%;left:0;margin-top:-2px}.faqscene .faqscene_tabs .faqscene_tab_bd a:hover{color:#459ae9}.faqscene .faqscene_ft{padding-left:10px}.faqscene .faqscene_close{position:absolute;top:17px;right:16px;display:inline-block;*display:inline;*zoom:1;width:18px;height:18px;text-align:center;line-height:999px;overflow:hidden;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAElBMVEUAAACen6Gen6Gen6Gen6Gen6HHskWrAAAABXRSTlMAowNbXKRhl0MAAAA2SURBVAjXYyAeGCowMAmDWaJCDIqBIAaQUgJyQIBJVDBQgQEiGAoUgrMQsggdCFPgJosQ7xAAAoEFuCOFwmEAAAAASUVORK5CYII=')}.faqscene .faqscene_close:hover{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAElBMVEUAAACHhoaHhoaHhoaHhoaHhoYqfBoTAAAABXRSTlMAowNbXKRhl0MAAAA2SURBVAjXYyAeGCowMAmDWaJCDIqBIAaQUgJyQIBJVDBQgQEiGAoUgrMQsggdCFPgJosQ7xAAAoEFuCOFwmEAAAAASUVORK5CYII=')}.faqscene_qrcode_panel{position:absolute;right:0;text-align:center;padding:10px 20px 15px;border:1px solid #b3b3b4;background-color:#fff}.faqscene_qrcode_panel strong{font-weight:400}.faqscene_qrcode_panel img{display:block;margin:0 auto;width:110px;height:110px}.profile_link_msg_global.send{margin:-15px 0 20px}.profile_link_msg_global.send_msg{margin-top:-9px}.profile_link_msg_global.reply{margin:-15px 0 20px}.profile_link_msg_global.keywords{margin:0 30px 20px}.profile_link_msg_global.menu_send{margin-top:4px}.profile_link_msg_global.menu_url{margin:4px 0 -10px}.profile_link_msg_global.source_url{margin-left:1.7em}.icon_menu{width:18px;height:18px;vertical-align:middle;display:inline-block}.icon_menu.manage{background:transparent url(/mpres/htmledition/images/icon/menu/icon_memu_manage.png?__sprite) no-repeat 0 0}.icon_menu.function{background:transparent url(/mpres/htmledition/images/icon/menu/icon_memu_function.png?__sprite) no-repeat 0 0}.icon_menu.statistics{background:transparent url(/mpres/htmledition/images/icon/menu/icon_memu_statistics.png?__sprite) no-repeat 0 0}.icon_menu.service{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2761px no-repeat}.icon_menu.setting{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_setting.png?__sprite) no-repeat 0 0}.icon_menu.store{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_store.png?__sprite) no-repeat 0 0}.icon_menu.adclient{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_adclient.png?__sprite) no-repeat 0 0}.icon_menu.adhost{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_host.png?__sprite) no-repeat 0 0}.icon_menu.advert{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_advert.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.manage{background:transparent url(/mpres/htmledition/images/icon/menu/icon_memu_manage_selected.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.function{background:transparent url(/mpres/htmledition/images/icon/menu/icon_memu_function_selected.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.statistics{background:transparent url(/mpres/htmledition/images/icon/menu/icon_memu_statistics_selected.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.service{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_service_selected.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.setting{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_setting_selected.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.store{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_store_selected.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.adclient{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_adclient_selected.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.adhost{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_host_selected.png?__sprite) no-repeat 0 0}.closed.selected .icon_menu.advert{background:transparent url(/mpres/htmledition/images/icon/menu/icon_menu_advert_selected.png?__sprite) no-repeat 0 0}.icon_menu_switch{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2783px no-repeat;width:16px;height:16px;vertical-align:middle;display:inline-block}.closed .icon_menu_switch{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2803px no-repeat}.closed.selected .icon_menu_switch{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2823px no-repeat}.menu_box{margin-bottom:150px}.menu{padding-top:6px;*font-size:0}.menu.closed .menu_item{display:none}.menu_title{position:relative;padding:0 30px 0;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;line-height:34px;*font-size:14px;color:#8d8d8d}.menu_title .new{margin-left:3px}.menu_title a{display:block;padding:0 30px 0;color:#222;text-decoration:none}.menu_title a:hover{text-decoration:none}.menu_title.clickable{padding:0}.menu_title.clickable i{cursor:pointer}.menu_title.clickable:hover{background-color:#f4f5f9}.menu_title.selected{background-color:#44b549;color:#fff}.menu_title.selected:hover{background-color:#44b549}.menu_title.selected a{color:#fff}.menu_item{line-height:34px;*font-size:14px}.menu_item a{display:block;padding:0 0 0 58px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;color:#222}.menu_item a:hover{text-decoration:none}.icon_menu{margin-right:10px;margin-top:-0.2em;*margin-top:0}.icon_menu_switch{position:absolute;right:16px;top:50%;margin-top:-9px}.menu{padding-bottom:6px;border-top:1px solid #e7e7eb}.menu.no_extra{border-top-width:0;margin-top:13px}.menu.extra{border-bottom:1px solid #e7e7eb}.menu_title{margin-bottom:0}.menu_item:hover{background-color:#f4f5f9}.menu_item.selected{background-color:#44b549;color:#fff}.menu_item.selected a{color:#fff}.menu_plugins{padding:10px 0;*font-size:14px}.menu_plugins .btn_plugins_add{display:block;line-height:34px;color:#8d8d8d;padding-left:41px;width:121px;margin:0 auto;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2843px no-repeat;cursor:pointer}.menu_plugins .btn_plugins_add:hover{text-decoration:none;color:#222;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2881px no-repeat}.menu_plugins .btn_plugins_add i{margin-right:5px}.ad_menu{margin-bottom:150px}.ad_menu .ad_menu_list{width:100%;padding:10px 0}.ad_menu .ad_menu_list .ad_menu_item{width:100%}.ad_menu .ad_menu_list .ad_menu_item .menu_link{display:block;padding:10px 15px;color:#222}.ad_menu .ad_menu_list .ad_menu_item .menu_link .business_logo{width:36px;height:36px;display:inline-block;vertical-align:top}.ad_menu .ad_menu_list .ad_menu_item .menu_link .business_name{vertical-align:top;width:100px;margin-left:6px;max-height:40px;display:inline-block;margin-top:-6px}.ad_menu .ad_menu_list .ad_menu_item .menu_link:hover,.ad_menu .ad_menu_list .ad_menu_item .menu_link:visited{background-color:#f0f1f3;text-decoration:none}.ad_menu .ad_menu_list .ad_menu_item.selected{background-color:#f0f1f3}.menu_primary_box{width:208px}.menu_primary_item{line-height:32px}.menu_primary_item:hover{background-color:#f4f5f9}.menu_primary_item.selected{background-color:#44b549}.menu_primary_item.selected .menu_primary_link{color:#fff}.menu_primary_item.sub .menu_primary_link strong{margin-left:28px}.menu_primary_link{display:block;color:#222}.menu_primary_link:hover{text-decoration:none}.menu_primary_link strong{display:block;cursor:pointer;margin:0 14px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;font-weight:400;font-style:normal}.inner_menu_box.sorting .inner_menu_item{background-color:#fff}.inner_menu_box.sorting .menu_opr{display:block}.inner_menu_box.gray .inner_menu.dragging dt.inner_menu_item{background-color:#f4f5f9}.inner_menu_box.gray .inner_menu_item:hover,.inner_menu_box.gray .inner_menu_item.selected{background-color:#f4f5f9}.inner_menu_box.gray.sorting .inner_menu_item{background-color:#fff}.inner_menu_box.gray.sorting .inner_menu_item.dragging{background-color:#f4f5f9}.inner_menu_box.with_switch .icon_dot{position:absolute;top:50%;left:25px;margin-top:-14px;-webkit-transform:scale(0.8);font-size:10px}.inner_menu_box.with_switch dt .inner_menu_link{padding-left:20px}.inner_menu_box.with_switch dd .inner_menu_link{padding-left:36px}.inner_menu{border-top:1px solid #e7e7eb}.inner_menu:first-child{border-top-width:0}.inner_menu .menu_opr{display:none;position:absolute;top:0;right:1em}.inner_menu .menu_opr a{display:inline-block;margin-left:.5em;margin-top:-0.2em}.inner_menu .menu_opr a.no_extra{margin-left:0}.inner_menu.no_extra{border-top-width:0}.inner_menu_item{position:relative;line-height:32px}.inner_menu_item:hover,.inner_menu_item.selected{background-color:#f4f5f9}.inner_menu_item:hover .menu_opr,.inner_menu_item.selected .menu_opr{display:block}.inner_menu_item:hover a,.inner_menu_item.selected a{text-decoration:none}.inner_menu_link{display:block;color:#222;padding-left:1em;text-decoration:none}.inner_menu_link strong{display:inline-block;margin-top:-2px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;max-width:80px;font-weight:400;font-style:normal;vertical-align:middle;cursor:pointer}.icon_dot{display:inline-block;font-weight:400;font-style:normal;vertical-align:middle;margin-top:-0.2em;margin-right:5px;font-size:14px;color:#d5d5d5}.icon_arrow_default{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2919px no-repeat;width:16px;height:15px;vertical-align:middle;display:inline-block;line-height:300px;overflow:hidden}.icon_common.new{margin-left:6px;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2938px no-repeat;width:18px;height:12px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon_common.beta{margin-top:-5px;margin-left:3px;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2951px no-repeat;width:25px;height:12px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon13_common{width:13px;height:13px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon13_common.arrow_right_gray{background:transparent url(/mpres/htmledition/common/images/icon/common/icon13_arrow_right_gray218877.png) no-repeat 0 0}.icon14_common{width:14px;height:14px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon14_common.rank_gray{cursor:pointer;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2968px no-repeat}.icon14_common.rank_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -2986px no-repeat}.single_up .icon14_common.rank_gray,.icon14_common.rank_gray.single_up{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3004px no-repeat}.single_up .icon14_common.rank_gray:hover,.icon14_common.rank_gray.single_up:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3022px no-repeat}.single_down .icon14_common.rank_gray,.icon14_common.rank_gray.single_down{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3040px no-repeat}.single_down .icon14_common.rank_gray:hover,.icon14_common.rank_gray.single_down:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3058px no-repeat}.icon14_common.add_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3076px no-repeat}.icon14_common.add_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3094px no-repeat}.icon14_common.add_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3112px no-repeat}.icon14_common.edit_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3130px no-repeat}.icon14_common.edit_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3148px no-repeat}.icon14_common.del_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3166px no-repeat}.icon14_common.del_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3184px no-repeat}.icon14_common.sort_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3202px no-repeat}.icon14_common.sort_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3220px no-repeat}.icon14_common.add_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3238px no-repeat}.icon14_common.switch_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3256px no-repeat}.icon14_common.switch_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3274px no-repeat}a:hover .icon14_common.switch_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3292px no-repeat}.icon16_common{width:16px;height:16px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon16_common.waiting_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3310px no-repeat}.icon16_common.close{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3330px no-repeat}.icon16_common.close:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3350px no-repeat}.icon16_common.close_flat{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3370px no-repeat}.icon16_common.close_flat:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3390px no-repeat}.icon16_common.edit_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3410px no-repeat}.icon16_common.del_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3430px no-repeat}.icon16_common.enter_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3450px no-repeat}.icon16_common.enter_gray.frm_input_append{margin-top:-8px}.icon16_common.star_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3470px no-repeat}.icon16_common.star_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3489px no-repeat}.icon16_common.star_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3509px no-repeat}.icon16_common.star_orange{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3529px no-repeat}.icon16_common.star_orange:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3551px no-repeat}.icon16_common.woman_orange{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3571px no-repeat}.icon16_common.man_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3591px no-repeat}.icon16_common.reply_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3611px no-repeat}.icon16_common.reply_blue:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3631px no-repeat}.icon16_common.del_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3651px no-repeat}.icon16_common.del_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3671px no-repeat}.icon16_common.reply_gray{background:transparent url(/mpres/htmledition/images/icon/common/icon16_reply_gray.png?__sprite) no-repeat 0 0}.icon16_common.reply_gray:hover{background:transparent url(/mpres/htmledition/images/icon/common/icon16_reply_gray_hl.png?__sprite) no-repeat 0 0}.icon16_common.search_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3691px no-repeat}.icon16_common.sort_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3711px no-repeat}.icon16_common.sort_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3731px no-repeat}.icon16_common.add_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3751px no-repeat}.icon16_common.add_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3771px no-repeat}.icon16_common.save_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3791px no-repeat}.icon16_common.save_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3811px no-repeat}.icon18_common{width:18px;height:18px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon18_common.woman_orange{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3831px no-repeat}.icon18_common.man_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3853px no-repeat}.icon18_common.error{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3875px no-repeat}.icon18_common.add_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3897px no-repeat}.selected .icon18_common.add_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3919px no-repeat}.icon18_common.add_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3941px no-repeat}.icon18_common.del_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3963px no-repeat}.icon18_common.del_blue:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -3985px no-repeat}.icon18_common.del_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4007px no-repeat}a:hover .icon18_common.del_gray,.icon18_common.del_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4029px no-repeat}.icon18_common.link_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4051px no-repeat}.icon18_common.link_gray:hover,.hover .icon18_common.link_gray,a:hover .icon18_common.link_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4073px no-repeat}.icon18_common.download_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4095px no-repeat}.icon18_common.download_blue:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4117px no-repeat}.icon18_common.upload_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4139px no-repeat}.icon18_common.upload_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4161px no-repeat}.icon18_common.download_simple_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4183px no-repeat}.icon18_common.download_simple_gray:hover,a:hover .icon18_common.download_simple_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4205px no-repeat}.icon18_common.download_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4227px no-repeat}.icon18_common.download_gray:hover,a:hover .icon18_common.download_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4249px no-repeat}.icon18_common.move_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4271px no-repeat}.icon18_common.move_gray:hover,a:hover .icon18_common.move_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4293px no-repeat}.icon18_common.reply_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4315px no-repeat}.icon18_common.reply_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4337px no-repeat}.icon18_common.star_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4359px no-repeat}.icon18_common.star_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4381px no-repeat}.icon18_common.save_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4403px no-repeat}.icon18_common.save_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4425px no-repeat}.icon18_common.edit_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4447px no-repeat}.icon18_common.edit_blue:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4469px no-repeat}.selected .icon18_common.edit_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4491px no-repeat}.icon18_common.zoomout_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4513px no-repeat}.icon18_common.zoomout_gray:hover,a:hover .icon18_common.zoomout_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4535px no-repeat}.icon18_common.edit_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4557px no-repeat}.icon18_common.edit_gray:hover,a:hover .icon18_common.edit_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4579px no-repeat}.icon18_common.star_orange{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4601px no-repeat}.icon18_common.save_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4623px no-repeat}.icon18_common.save_blue:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4645px no-repeat}.icon18_common.qrcode_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4667px no-repeat}.icon18_common.qrcode_gray:hover,a:hover .icon18_common.qrcode_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4689px no-repeat}.icon20_common{width:20px;height:20px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon20_common.reply_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4711px no-repeat}.icon20_common.reply_gray:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4735px no-repeat}.icon20_common.speaker{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4759px no-repeat}.icon20_common.sort_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4779px no-repeat}.icon20_common.sort_up_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4804px no-repeat}.icon20_common.sort_down_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4828px no-repeat}.icon20_common.del_media_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4852px no-repeat}.icon21_common{width:21px;height:21px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon21_common.error{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4876px no-repeat}.icon21_common.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4901px no-repeat}.icon21_common.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4926px no-repeat}.icon22_common{width:22px;height:22px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon22_common.checked{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4951px no-repeat}.icon22_common.error{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -4977px no-repeat}.icon22_common.success{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5003px no-repeat}.icon22_common.fail{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5029px no-repeat}.icon24_common{width:24px;height:24px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon24_common.add_gray{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5055px no-repeat}.icon24_common.sort_up_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5083px no-repeat}.icon24_common.sort_down_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5111px no-repeat}.icon24_common.del_media_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5139px no-repeat}.icon28_common{width:28px;height:28px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon28_common.upload_blue{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5167px no-repeat}.icon_dot{font-family:"Microsoft YaHei",sans-serif}.icon12_del{display:inline-block;text-decoration:none;vertical-align:middle;font-weight:400;font-style:normal;cursor:pointer;font-size:12px;color:#b3b3b3}.icon12_del:hover{color:#545454}.icon_loading_small{width:40px;height:40px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon_loading_small.white{background:transparent url(/mpres/htmledition/images/icon/loading/icon40_loading_white218877.gif) no-repeat 0 0}.icon_loading_small.gray{background:transparent url(/mpres/htmledition/images/icon/loading/icon40_loading_gray218877.gif) no-repeat 0 0}.icon32_loading{width:32px;height:32px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon32_loading.dark{background:transparent url(/mpres/htmledition/images/icon/common/icon32_loading_dark218877.gif) no-repeat 0 0}.icon32_loading.light{background:transparent url(/mpres/htmledition/images/icon/common/icon32_loading_light218877.gif) no-repeat 0 0}.icon_mini_tips{width:16px;height:16px;vertical-align:middle;display:inline-block;line-height:100px;overflow:hidden}.icon_mini_tips.document_link{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5199px no-repeat}.icon_mini_tips.ask_white{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5219px no-repeat}.icon_verify{width:82px;height:30px;vertical-align:middle;display:inline-block}.icon_verify.waiting{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5239px no-repeat}.icon_verify.fail{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5273px no-repeat}.icon_verify_checked{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5307px no-repeat;width:16px;height:16px;vertical-align:middle;display:inline-block}.icon_wxverify_status{display:inline-block;vertical-align:middle}.icon_wxverify_status.name_waiting{width:86px;height:24px;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5327px no-repeat}.icon_wxverify_status.file_success{width:96px;height:24px;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5355px no-repeat}.icon_card_selected{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5383px no-repeat;width:46px;height:46px;vertical-align:middle;display:inline-block}.icon_noie6{background:transparent url(/mpres/htmledition/images/icon/common/icon_noie6218877.png) no-repeat 0 0;width:369px;height:390px;vertical-align:middle;display:inline-block}.icon_tag_default{line-height:100px;overflow:hidden;width:38px;height:20px;vertical-align:middle;display:inline-block;margin-top:-0.2em}.icon_tag_default.original{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5433px no-repeat}.icon_tag_default.republish{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5457px no-repeat}.icon_tag_global{display:inline-block;vertical-align:middle;padding:1px .7em;font-size:14px;line-height:1.3;color:#8d8d8d;border:1px solid #9e9e9e;background-color:#fff;overflow:hidden;border-top-left-radius:10px 50%;-moz-border-radius-topleft:10px 50%;-webkit-border-top-left-radius:10px 50%;border-top-right-radius:10px 50%;-moz-border-radius-topright:10px 50%;-webkit-border-top-right-radius:10px 50%;border-bottom-left-radius:10px 50%;-moz-border-radius-bottomleft:10px 50%;-webkit-border-bottom-left-radius:10px 50%;border-bottom-right-radius:10px 50%;-moz-border-radius-bottomright:10px 50%;-webkit-border-bottom-right-radius:10px 50%}.icon_tag_global_del{margin-left:5px;margin-top:-0.2em;line-height:999px;overflow:hidden;background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5481px no-repeat;width:14px;height:14px;vertical-align:middle;display:inline-block;vertical-align:-3px;cursor:pointer}.icon_tag_global_del:hover{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/base/base_z36574a.png) 0 -5499px no-repeat}body{min-width:1200px;background:#e7e8eb} \ No newline at end of file diff --git a/public/images/base_z36574a.png b/public/images/base_z36574a.png new file mode 100644 index 0000000..10b4cef Binary files /dev/null and b/public/images/base_z36574a.png differ diff --git a/public/images/bg_mobile21d289.png b/public/images/bg_mobile21d289.png new file mode 100644 index 0000000..447cb58 Binary files /dev/null and b/public/images/bg_mobile21d289.png differ diff --git a/public/images/bg_mobile_foot_default2968da.png b/public/images/bg_mobile_foot_default2968da.png new file mode 100644 index 0000000..4a89d4b Binary files /dev/null and b/public/images/bg_mobile_foot_default2968da.png differ diff --git a/public/images/bg_mobile_head_default2968da.png b/public/images/bg_mobile_head_default2968da.png new file mode 100644 index 0000000..248cfb7 Binary files /dev/null and b/public/images/bg_mobile_head_default2968da.png differ diff --git a/public/images/card_tpl_deco.png b/public/images/card_tpl_deco.png new file mode 100644 index 0000000..27f9798 Binary files /dev/null and b/public/images/card_tpl_deco.png differ diff --git a/public/images/emoji218877.png b/public/images/emoji218877.png new file mode 100644 index 0000000..e2a0152 Binary files /dev/null and b/public/images/emoji218877.png differ diff --git a/public/images/emotion_editor_z3518e7.png b/public/images/emotion_editor_z3518e7.png new file mode 100644 index 0000000..4963048 Binary files /dev/null and b/public/images/emotion_editor_z3518e7.png differ diff --git a/public/images/file_doc_32.png b/public/images/file_doc_32.png new file mode 100644 index 0000000..e6465aa Binary files /dev/null and b/public/images/file_doc_32.png differ diff --git a/public/images/file_image_32.png b/public/images/file_image_32.png new file mode 100644 index 0000000..a8c2e19 Binary files /dev/null and b/public/images/file_image_32.png differ diff --git a/public/images/file_pdf_32.png b/public/images/file_pdf_32.png new file mode 100644 index 0000000..fef879b Binary files /dev/null and b/public/images/file_pdf_32.png differ diff --git a/public/images/file_ppt_32.png b/public/images/file_ppt_32.png new file mode 100644 index 0000000..4fb77d3 Binary files /dev/null and b/public/images/file_ppt_32.png differ diff --git a/public/images/file_txt_32.png b/public/images/file_txt_32.png new file mode 100644 index 0000000..081de1f Binary files /dev/null and b/public/images/file_txt_32.png differ diff --git a/public/images/file_unknown_32.png b/public/images/file_unknown_32.png new file mode 100644 index 0000000..b783bd0 Binary files /dev/null and b/public/images/file_unknown_32.png differ diff --git a/public/images/file_xls_32.png b/public/images/file_xls_32.png new file mode 100644 index 0000000..1c82b57 Binary files /dev/null and b/public/images/file_xls_32.png differ diff --git a/public/images/gantt/collapse.png b/public/images/gantt/collapse.png new file mode 100644 index 0000000..8cd4647 Binary files /dev/null and b/public/images/gantt/collapse.png differ diff --git a/public/images/gantt/dispatch-insert.png b/public/images/gantt/dispatch-insert.png new file mode 100644 index 0000000..776237e Binary files /dev/null and b/public/images/gantt/dispatch-insert.png differ diff --git a/public/images/gantt/expand.png b/public/images/gantt/expand.png new file mode 100644 index 0000000..0fbb719 Binary files /dev/null and b/public/images/gantt/expand.png differ diff --git a/public/images/gantt/green.ico b/public/images/gantt/green.ico new file mode 100644 index 0000000..b7a9f31 Binary files /dev/null and b/public/images/gantt/green.ico differ diff --git a/public/images/gantt/lock.png b/public/images/gantt/lock.png new file mode 100644 index 0000000..7a29734 Binary files /dev/null and b/public/images/gantt/lock.png differ diff --git a/public/images/gantt/red.ico b/public/images/gantt/red.ico new file mode 100644 index 0000000..d15a3f5 Binary files /dev/null and b/public/images/gantt/red.ico differ diff --git a/public/images/gantt/unlock.png b/public/images/gantt/unlock.png new file mode 100644 index 0000000..cab4225 Binary files /dev/null and b/public/images/gantt/unlock.png differ diff --git a/public/images/gantt/updown-arrow.png b/public/images/gantt/updown-arrow.png new file mode 100644 index 0000000..1b07114 Binary files /dev/null and b/public/images/gantt/updown-arrow.png differ diff --git a/public/images/gantt/user.png b/public/images/gantt/user.png new file mode 100644 index 0000000..f3b4359 Binary files /dev/null and b/public/images/gantt/user.png differ diff --git a/public/images/gantt/zoom-in.png b/public/images/gantt/zoom-in.png new file mode 100644 index 0000000..9be1b37 Binary files /dev/null and b/public/images/gantt/zoom-in.png differ diff --git a/public/images/gantt/zoom-out.png b/public/images/gantt/zoom-out.png new file mode 100644 index 0000000..0ca523d Binary files /dev/null and b/public/images/gantt/zoom-out.png differ diff --git a/public/images/history_msg35065c.png b/public/images/history_msg35065c.png new file mode 100644 index 0000000..7a94688 Binary files /dev/null and b/public/images/history_msg35065c.png differ diff --git a/public/images/icon13_arrow_right_gray218877.png b/public/images/icon13_arrow_right_gray218877.png new file mode 100644 index 0000000..6e29bd1 Binary files /dev/null and b/public/images/icon13_arrow_right_gray218877.png differ diff --git a/public/images/icon16_loading_light218877.gif b/public/images/icon16_loading_light218877.gif new file mode 100644 index 0000000..0f16de7 Binary files /dev/null and b/public/images/icon16_loading_light218877.gif differ diff --git a/public/images/icon18_loading_default218877.gif b/public/images/icon18_loading_default218877.gif new file mode 100644 index 0000000..82d4641 Binary files /dev/null and b/public/images/icon18_loading_default218877.gif differ diff --git a/public/images/icon18_loading_primary218877.gif b/public/images/icon18_loading_primary218877.gif new file mode 100644 index 0000000..5df936b Binary files /dev/null and b/public/images/icon18_loading_primary218877.gif differ diff --git a/public/images/icon32_loading_dark218877.gif b/public/images/icon32_loading_dark218877.gif new file mode 100644 index 0000000..13f0f64 Binary files /dev/null and b/public/images/icon32_loading_dark218877.gif differ diff --git a/public/images/icon32_loading_light218877.gif b/public/images/icon32_loading_light218877.gif new file mode 100644 index 0000000..3288d10 Binary files /dev/null and b/public/images/icon32_loading_light218877.gif differ diff --git a/public/images/icon40_loading_gray218877.gif b/public/images/icon40_loading_gray218877.gif new file mode 100644 index 0000000..124df6d Binary files /dev/null and b/public/images/icon40_loading_gray218877.gif differ diff --git a/public/images/icon40_loading_white218877.gif b/public/images/icon40_loading_white218877.gif new file mode 100644 index 0000000..57fa8e0 Binary files /dev/null and b/public/images/icon40_loading_white218877.gif differ diff --git a/public/images/icon_memu_function.png b/public/images/icon_memu_function.png new file mode 100644 index 0000000..1c1d759 Binary files /dev/null and b/public/images/icon_memu_function.png differ diff --git a/public/images/icon_memu_function_selected.png b/public/images/icon_memu_function_selected.png new file mode 100644 index 0000000..98840b1 Binary files /dev/null and b/public/images/icon_memu_function_selected.png differ diff --git a/public/images/icon_memu_manage.png b/public/images/icon_memu_manage.png new file mode 100644 index 0000000..5c53f13 Binary files /dev/null and b/public/images/icon_memu_manage.png differ diff --git a/public/images/icon_memu_manage_selected.png b/public/images/icon_memu_manage_selected.png new file mode 100644 index 0000000..37ea999 Binary files /dev/null and b/public/images/icon_memu_manage_selected.png differ diff --git a/public/images/icon_memu_statistics.png b/public/images/icon_memu_statistics.png new file mode 100644 index 0000000..6743167 Binary files /dev/null and b/public/images/icon_memu_statistics.png differ diff --git a/public/images/icon_memu_statistics_selected.png b/public/images/icon_memu_statistics_selected.png new file mode 100644 index 0000000..a96ae3b Binary files /dev/null and b/public/images/icon_memu_statistics_selected.png differ diff --git a/public/images/icon_menu_adclient.png b/public/images/icon_menu_adclient.png new file mode 100644 index 0000000..1d89952 Binary files /dev/null and b/public/images/icon_menu_adclient.png differ diff --git a/public/images/icon_menu_advert.png b/public/images/icon_menu_advert.png new file mode 100644 index 0000000..1d89952 Binary files /dev/null and b/public/images/icon_menu_advert.png differ diff --git a/public/images/icon_menu_advert_selected.png b/public/images/icon_menu_advert_selected.png new file mode 100644 index 0000000..2985e01 Binary files /dev/null and b/public/images/icon_menu_advert_selected.png differ diff --git a/public/images/icon_menu_host.png b/public/images/icon_menu_host.png new file mode 100644 index 0000000..326fdfc Binary files /dev/null and b/public/images/icon_menu_host.png differ diff --git a/public/images/icon_menu_host_selected.png b/public/images/icon_menu_host_selected.png new file mode 100644 index 0000000..68dc61e Binary files /dev/null and b/public/images/icon_menu_host_selected.png differ diff --git a/public/images/icon_menu_nav_next2968da.png b/public/images/icon_menu_nav_next2968da.png new file mode 100644 index 0000000..fe7a395 Binary files /dev/null and b/public/images/icon_menu_nav_next2968da.png differ diff --git a/public/images/icon_menu_nav_prev2968da.png b/public/images/icon_menu_nav_prev2968da.png new file mode 100644 index 0000000..2984b8d Binary files /dev/null and b/public/images/icon_menu_nav_prev2968da.png differ diff --git a/public/images/icon_menu_service_selected.png b/public/images/icon_menu_service_selected.png new file mode 100644 index 0000000..11976d2 Binary files /dev/null and b/public/images/icon_menu_service_selected.png differ diff --git a/public/images/icon_menu_setting.png b/public/images/icon_menu_setting.png new file mode 100644 index 0000000..102130c Binary files /dev/null and b/public/images/icon_menu_setting.png differ diff --git a/public/images/icon_menu_setting_selected.png b/public/images/icon_menu_setting_selected.png new file mode 100644 index 0000000..12e4c2e Binary files /dev/null and b/public/images/icon_menu_setting_selected.png differ diff --git a/public/images/icon_menu_store.png b/public/images/icon_menu_store.png new file mode 100644 index 0000000..bcb9575 Binary files /dev/null and b/public/images/icon_menu_store.png differ diff --git a/public/images/icon_menu_store_selected.png b/public/images/icon_menu_store_selected.png new file mode 100644 index 0000000..7c5de9c Binary files /dev/null and b/public/images/icon_menu_store_selected.png differ diff --git a/public/images/icon_noie6218877.png b/public/images/icon_noie6218877.png new file mode 100644 index 0000000..4d0875a Binary files /dev/null and b/public/images/icon_noie6218877.png differ diff --git a/public/images/index.css.bak b/public/images/index.css.bak new file mode 100644 index 0000000..e21967b --- /dev/null +++ b/public/images/index.css.bak @@ -0,0 +1 @@ +.msg_card_inner{overflow:hidden;border:1px solid #e7e7eb}.msg_card_bd{padding:14px;background-color:#fff}.msg_card_ft{background-color:#f4f5f9;border-top:1px solid #e7e7eb}.msg_card_title{overflow:hidden;font-weight:400;font-style:normal;font-size:16px;line-height:1.2;max-height:2.4;word-wrap:normal;white-space:pre-wrap}.msg_card_title a{display:block;color:#222}.msg_card_info{font-size:13px;line-height:20px;margin-bottom:12px;color:#8d8d8d}.msg_card_info_meta{font-weight:400;font-style:normal}.msg_card_extra_info{margin:14px 0 5px}.msg_card_desc{word-wrap:normal;white-space:pre-wrap}.msg_card_opr_list{font-size:0}.msg_card_opr_item{text-align:center}.msg_card_opr_item a{display:block}.msg_card_opr_item:first-child .msg_card_opr_item_inner{border-left-width:0}.msg_card_opr_item_inner{display:inline-block;vertical-align:top;width:98.5%;margin:13px 0;line-height:18px;height:18px;cursor:pointer;border-left:1px solid #e7e7eb}.mini .msg_card_opr_list{line-height:30px}.mini .msg_card_opr_item_inner{margin:5px 0}.no_opr_border .msg_card_opr_item_inner{border-left:none}.no_title .msg_card_extra_info{margin-top:0}.portable_editor{position:relative}.portable_editor .editor_inner{padding:0 20px 5px;background-color:#f4f5f9;border:1px solid #e7e7eb;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.portable_editor .editor_arrow_wrp,.portable_editor .editor_arrow{position:absolute}.portable_editor .frm_label .title{font-weight:400;font-style:normal}.portable_editor .frm_label .tips{color:#8d8d8d}.portable_editor .frm_control_group{margin-top:30px;margin-bottom:30px;padding-bottom:0}.portable_editor .edit_item{margin-top:25px;margin-bottom:25px}.portable_editor .edit_item .frm_label{*zoom:1;display:block;float:none;width:auto;margin-bottom:6px}.portable_editor .edit_item .frm_label:after{content:"\200B";display:block;height:0;clear:both}.portable_editor .edit_item .frm_input_box,.portable_editor .edit_item .frm_textarea_box{display:block;width:auto;border-color:#e7e7eb}.portable_editor .edit_item .frm_input_box{height:auto;min-height:30px}.portable_editor .edit_item.dropdown_item{*zoom:1}.portable_editor .edit_item.dropdown_item:after{content:"\200B";display:block;height:0;clear:both}.portable_editor .edit_item.dropdown_item .frm_label{float:left;margin-top:0;line-height:32px}.portable_editor.to_left{padding-left:12px}.portable_editor.to_left .editor_arrow_wrp{left:0;top:20px}.portable_editor.to_left .editor_arrow{display:inline-block;width:0;height:0;border-width:12px;border-style:dashed;border-color:transparent;border-left-width:0;border-right-color:#e7e7eb;border-right-style:solid}.portable_editor.to_left .editor_arrow_out{left:0}.portable_editor.to_left .editor_arrow_in{left:1px;border-right-color:#f4f5f9}.portable_editor.to_right{padding-right:12px}.portable_editor.to_right .editor_arrow_wrp{right:0;top:20px}.portable_editor.to_right .editor_arrow{display:inline-block;width:0;height:0;border-width:12px;border-style:dashed;border-color:transparent;border-right-width:0;border-left-color:#e7e7eb;border-left-style:solid}.portable_editor.to_right .editor_arrow_out{right:0}.portable_editor.to_right .editor_arrow_in{right:1px;border-left-color:#f4f5f9}.portable_editor.to_top{padding-top:12px}.portable_editor.to_top .editor_arrow_wrp{top:0;left:20px}.portable_editor.to_top .editor_arrow{display:inline-block;width:0;height:0;border-width:12px;border-style:dashed;border-color:transparent;border-top-width:0;border-bottom-color:#e7e7eb;border-bottom-style:solid}.portable_editor.to_top .editor_arrow_out{top:0}.portable_editor.to_top .editor_arrow_in{top:1px;border-bottom-color:#f4f5f9}.portable_editor.to_bottom{padding-bottom:12px}.portable_editor.to_bottom .editor_arrow_wrp{bottom:0;left:20px}.portable_editor.to_bottom .editor_arrow{display:inline-block;width:0;height:0;border-width:12px;border-style:dashed;border-color:transparent;border-bottom-width:0;border-top-color:#e7e7eb;border-top-style:solid}.portable_editor.to_bottom .editor_arrow_out{bottom:0}.portable_editor.to_bottom .editor_arrow_in{bottom:1px;border-top-color:#f4f5f9}.simulator{width:318px;margin:0 auto;border:1px solid #e7e7eb}.simulator_hd{position:relative;height:65px;background:transparent url(/mpres/htmledition/images/homepage/banner_control23b288.png) no-repeat 0 0}.simulator_hd .title{position:absolute;bottom:10px;font-weight:normal;color:#fff;text-align:center;left:60px;right:50px;height:1.6em;overflow:hidden}.simulator_bd{min-height:450px}.plugin_content{position:relative}.plugin_mask{position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;background-color:rgba(229,229,229,0.85);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#d9e5e5e5',endcolorstr='#d9e5e5e5')}.plugin_mask a{position:absolute;top:50%;margin-top:-11px;left:50%;margin-left:-11px}.plugin_mask.transparent{display:none!important;background-color:transparent;cursor:default}.plugin_mask.transparent a{display:none}.main_bd{padding-bottom:0 0 50px}.menu_setting_tips{padding-bottom:20px}.menu_initial_box{text-align:center;background:transparent url(/mpres/htmledition/images/pic/menu/pic_menu_preview2968da.png) no-repeat 0 0;background-position:150px 100px;padding:280px 0 0 220px;min-height:300px}.menu_initial_box .tips_global{padding-bottom:5px}.menu_setting_box .tool_bar{padding-top:0}.menu_setting_msg{margin-bottom:40px}.menu_setting_area{*zoom:1;margin:14px 30px 0}.menu_setting_area:after{content:"\200B";display:block;height:0;clear:both}.menu_preview_area{float:left;margin-right:12px;position:relative}.menu_preview_area .sort_btn_wrp{position:absolute;left:0;right:0;bottom:-72px;text-align:center}.menu_preview_area .icon14_menu_add{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/page/menu/index_z354723.png) 0 0 no-repeat;width:14px;height:14px;vertical-align:middle;display:inline-block;margin-top:-2px}.menu_preview_area .pre_menu_list{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #e7e7eb;background:transparent url(/mpres/htmledition/images/bg/bg_mobile_foot_default2968da.png) no-repeat 0 0;background-position:0 0;background-repeat:no-repeat;padding-left:43px}.menu_preview_area .pre_menu_list .sort_gray{display:none}.menu_preview_area .pre_menu_list.no_menu .pre_menu_item .pre_menu_link{border:1px solid #44b549;color:#44b549}.menu_preview_area .pre_menu_list.no_menu .icon14_menu_add{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/page/menu/index_z354723.png) 0 -18px no-repeat}.menu_preview_area .pre_menu_list.sorting .sort_gray{display:inline-block}.menu_preview_area .pre_menu_list.sorting .icon_menu_dot{display:none}.menu_preview_area .pre_menu_list.sorting .pre_menu_item.current .pre_menu_link{border:0;border-left:1px solid #e7e7eb;background-color:transparent;line-height:50px;color:#616161}.menu_preview_area .pre_menu_list.sorting .sub_pre_menu_list li.current{background-color:transparent;border-color:transparent}.menu_preview_area .pre_menu_list.sorting .sub_pre_menu_list li.current a{color:#616161}.menu_preview_area .pre_menu_list.sorting .sub_pre_menu_list li.current .sub_pre_menu_inner{border-top-width:1px}.menu_preview_area .pre_menu_list .sort_gray{margin-top:-4px}.menu_preview_area .pre_menu_item{line-height:50px}.menu_preview_area .pre_menu_item:first-child .pre_menu_link{border-left-width:0}.menu_preview_area .pre_menu_item.current .pre_menu_link{border:1px solid #44b549;line-height:48px;background-color:#fff;color:#44b549}.menu_preview_area .pre_menu_item.dragging{border:1px solid #e7e7eb;background-color:#fafafa}.menu_preview_area .pre_menu_link .add_gray{margin-top:-3px}.menu_preview_area .sub_pre_menu_box{bottom:60px;background-color:#fafafa;border-top-width:0}.menu_preview_area .sub_pre_menu_inner{display:block;border-top:1px solid #e7e7eb;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;cursor:pointer}.menu_preview_area .sub_pre_menu_list li{line-height:44px;border:1px solid transparent;margin:0 -1px -1px}.menu_preview_area .sub_pre_menu_list li:first-child{border-top:1px solid #d0d0d0}.menu_preview_area .sub_pre_menu_list li:first-child .sub_pre_menu_inner{border-top-width:0}.menu_preview_area .sub_pre_menu_list li:hover{background-color:#eee;border:1px solid #d0d0d0;line-height:45px;cursor:pointer}.menu_preview_area .sub_pre_menu_list li:hover .sub_pre_menu_inner{border-top-width:0}.menu_preview_area .sub_pre_menu_list li:hover:first-child{line-height:44px}.menu_preview_area .sub_pre_menu_list li.current{background-color:#fff;border:1px solid #44b549;position:relative;z-index:1;line-height:45px;*zoom:1}.menu_preview_area .sub_pre_menu_list li.current .sub_pre_menu_inner{border-top-width:0}.menu_preview_area .sub_pre_menu_list li.current a{color:#44b549}.menu_preview_area .menu_drag_placeholder{float:left;width:80px;height:42px;margin:3px;border:1px solid #e7e7eb;background-color:#fff}.menu_preview_area li.menu_sub_drag_placeholder{margin:3px;height:45px;border:1px solid #e7e7eb;background-color:#fff}.mobile_menu_preview{position:relative;width:317px;height:580px;background:transparent url(/mpres/htmledition/images/bg/bg_mobile_head_default2968da.png) no-repeat 0 0;background-position:0 0;border:1px solid #e7e7eb}.mobile_menu_preview .mobile_hd{color:#fff;text-align:center;padding-top:30px;font-size:15px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;margin:0 30px}.menu_form_area{display:table-cell;vertical-align:top;float:none;width:auto;*display:block;*zoom:1}.menu_form_area:after{content:" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";visibility:hidden;clear:both;height:0!important;display:block;line-height:0}.menu_form_area .editor_inner{min-height:560px;padding-bottom:20px}.menu_form_area .portable_editor.to_left .editor_arrow_wrp{top:545px}.menu_form_area .msg_wrp{padding:4px 10px;border:1px solid #e7e7eb;word-wrap:break-word;word-break:break-all}.menu_form_area .msg_wrp .richvideo,.menu_form_area .msg_wrp .appmsg,.menu_form_area .msg_wrp .richvideo_msg_box{margin-bottom:0;width:320px}.menu_form_area .msg_wrp img{vertical-align:middle}.menu_form_area .msg_wrp .wxmImg{margin-bottom:-4px}.menu_form_area .frm_label{width:5em;*width:5.5em}.menu_form_area .frm_tips,.menu_form_area .frm_msg{width:auto}.menu_form_area .msg_sender_msg{padding-top:10px}.menu_form_area .msg_sender_tips{padding-top:10px}.menu_form_area .msg_sender .tab_navs_wrp{width:420px}.menu_form_area .msg_sender .tab_navs_switch_wrp.switch_next{display:block}.menu_form_area .msg_sender .tab_cont_cover{padding:20px}.menu_form_area .msg_sender .tab_cont_cover .media_cover,.menu_form_area .msg_sender .tab_cont_cover .appmsg_cover{width:47%;margin-right:0;margin-left:5.5%}.menu_form_area .msg_sender .tab_cont_cover .media_cover:first-child,.menu_form_area .msg_sender .tab_cont_cover .appmsg_cover:first-child{margin-left:0}.menu_form_area .msg_sender .tab_cont_cover .create_access{padding:42px 0}.menu_form_area .msg_sender.error{border-color:#e15f63}.menu_form_area .msg_sender .emotion_editor .edit_area{height:151px}.menu_form_area .msg_sender .editor_toolbar{border-bottom:0;padding-bottom:0}.menu_form_area .msg_sender .upload_file_box{text-align:left}.menu_form_area .msg_sender .progress_bar{display:block;margin-top:10px;width:auto}.menu_form_hd{padding:9px 0;border-bottom:1px solid #e7e7eb}.menu_form_hd h4{font-weight:400}.menu_initial_tips{text-align:center;padding-top:200px}.menu_content_edit_access{float:right}.msg_tab{background-color:#fff}.menu_content{padding:16px 20px;border:1px solid #e7e7eb;background-color:#fff}.menu_content .frm_control_group{margin-top:0}.menu_content.send{border:0;padding:0}.menu_content_tips{padding-bottom:10px}.portable_editor .frm_control_group{margin-bottom:10px}.pre_menu_item{position:relative;float:left;line-height:38px;text-align:center}.pre_menu_item .icon_menu_dot{background:url(/mpres/zh_CN/htmledition/comm_htmledition/style/page/menu/index_z354723.png) 0 -36px no-repeat;width:7px;height:7px;vertical-align:middle;display:inline-block;margin-right:2px;margin-top:-2px;*margin-top:0}.pre_menu_item a{display:block;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;color:#616161;text-decoration:none}.pre_menu_link{border-left:1px solid #e7e7eb}.pre_menu_link:hover{color:#222}.sub_pre_menu_box{position:absolute;bottom:50px;left:0;width:100%;border:1px solid #d0d0d0;background-color:#fff}.sub_pre_menu_box .arrow{position:absolute;left:50%;margin-left:-6px}.sub_pre_menu_box .arrow_out{bottom:-6px;display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;border-bottom-width:0;border-top-color:#d0d0d0;border-top-style:solid}.sub_pre_menu_box .arrow_in{bottom:-5px;display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;border-bottom-width:0;border-top-color:#fafafa;border-top-style:solid}.sub_pre_menu_list li{line-height:30px}.sub_pre_menu_list li a{padding:0 .5em}.mobile_preview{position:fixed;display:none;top:50%;left:50%;width:327px;margin-top:-425px;margin-left:-161px;z-index:9999;background:transparent url(/mpres/htmledition/images/bg/mobile-preview/bg_mobile21d289.png) no-repeat 0 0}.mobile_preview .richvideo_content .video_wrp{min-height:0}.mobile_preview .richvideo_content .video_player,.mobile_preview .richvideo_content .video_shot{height:80px}.mobile_preview .vjs-default-skin .vjs-time-controls{width:3em}.mobile_preview .vjs-default-skin .vjs-control-bar{overflow:hidden}.mobile_preview .vjs-default-skin .vjs-big-play-button{width:80px;height:60px;background-position:-305px 8px;margin-top:-30px;margin-left:-40px}.mobile_preview .pre_menu_list{*zoom:1;margin-left:65px;margin-right:36px}.mobile_preview .pre_menu_list:after{content:"\200B";display:block;height:0;clear:both}.mobile_preview_hd{height:150px;text-align:center}.mobile_preview_hd .nickname{display:inline-block;font-weight:400;padding-top:120px;width:122px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;font-size:14px;color:#fff}.mobile_preview_bd{position:relative;height:393px;margin-left:40px;margin-right:28px;overflow-y:scroll}.show_list{padding-right:1em}.show_item{*zoom:1;padding-top:1.5em}.show_item:after{content:"\200B";display:block;height:0;clear:both}.show_item .avatar{float:left;width:48px;margin-right:5px}.show_content{overflow:hidden;*zoom:1}.show_content .richvideo,.show_content .richvideo_msg_box{width:auto}.mobile_preview_ft{height:152px}.mobile_preview_closed{position:absolute;left:112px}.btn_appmsg_wrap{margin-top:-10px;padding-left:85px}.select_list_container{padding:20px 30px}.select_list_container .frm_input_box{width:278px}.select_list_container .loading_area{position:relative}.select_list_container .icon_loading_small{margin-left:-20px;top:185px}.select_list_container .select_list_hd{margin-bottom:15px}.select_list_container .select_list_bd{height:343px;overflow-y:auto;border:1px solid #e7e7eb}.select_list_container .select_list_ft .pagination_wrp{margin-top:20px}.select_list_container .loading_area{height:240px;text-align:center}.select_list_container .select_list{border-bottom:0}.select_list_container .no_appmsg{text-align:center;line-height:340px;color:#8d8d8d}.select_list_container .list_item_date{float:right;color:#8d8d8d}.select_list_container .select_list_item{display:block;margin-right:0;padding:10px 15px;border-bottom:1px solid #e7e7eb}.select_list_container .select_list_item:hover{background-color:#f4f5f9}.select_list_container .select_list_item:last-child{border-bottom:0}.menu_create_box{text-align:center;padding-top:2em}.menu_create_box .tips_global{margin-bottom:.5em}.menu_mask{position:absolute;left:0;right:0;top:0;bottom:0;filter:alpha(opacity = 75);-moz-opacity:.75;-khtml-opacity:.75;opacity:.75;background-color:#000}.menu_tab_content{padding:40px;height:430px}.menu_tab_content .link_insertion{margin:100px auto;width:470px}.menu_tab_content .link_insertion .frm_label{float:none;display:block;width:auto}.menu_tab_content .media_lib .loading{display:none;text-align:center;padding:150px 0}.menu_tab_content .media_lib .table_wrp{margin-top:20px;max-height:300px;overflow:auto;border:1px solid #e7e7eb}.menu_tab_content .media_lib .table{border:0;margin-bottom:0}.menu_tab_content .media_lib tr{cursor:pointer}.menu_tab_content .media_lib .table_cell.date{width:120px;color:#8d8d8d}.menu_tab_content .history_msg{display:none;overflow:hidden;margin-top:20px}.menu_tab_content .history_msg .preview_area{width:240px;height:348px;float:left;margin-right:50px;background:transparent url(/mpres/htmledition/images/advanced/history_msg35065c.png) no-repeat 0 0;position:relative;margin-left:80px;border:1px solid #e7e7eb}.menu_tab_content .history_msg .preview_area .desc{position:absolute;top:100%;margin-top:10px;width:100%;text-align:center}.menu_tab_content .history_msg .form_area{overflow:hidden;padding:180px 0;text-align:center}.menu_tab_content .homepage{max-height:440px;overflow:auto;margin-right:-20px}.menu_tab_content .homepage .loading{padding:120px 260px;color:#8d8d8d}.menu_tab_content .homepage .no_homepage{padding:120px 230px}.menu_tab_content .homepage .col_tpl{display:inline-block;*display:inline;*zoom:1;vertical-align:top;width:295px;margin-right:20px;margin-bottom:15px;position:relative}.menu_tab_content .homepage .col_tpl .msg_card{border:0}.menu_tab_content .homepage .col_tpl .homepage_mask{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;filter:alpha(opacity = 60);-moz-opacity:.6;-khtml-opacity:.6;opacity:.6;z-index:1}.menu_tab_content .homepage .col_tpl .icon_card_selected{position:absolute;display:none;top:50%;left:50%;margin-top:-23px;margin-left:-23px;line-height:999em;overflow:hidden;z-index:1}.menu_tab_content .homepage .col_tpl.selected .homepage_mask{display:block}.menu_tab_content .homepage .col_tpl.selected .icon_card_selected{display:block}.menu_tab_content .homepage .col_tpl .simulator .simulator_bd .article_list{*height:420px}.menu_tab_content .homepage .col_tpl .simulator .simulator_bd .tab .article_list{*height:220px}.menu_tab_content .homepage .msg_card_extra_info{height:440px;overflow:hidden}.menu_tab_content .homepage .msg_card_extra_info .simulator{width:265px;border:0}.menu_tab_content .homepage .msg_card_extra_info .simulator_hd{background:#333;height:40px;font-size:14px}.menu_tab_content .homepage .msg_card_extra_info .simulator_bd{height:395px;overflow:hidden;border-top:0}.menu_tab_content .homepage .msg_card_extra_info .simulator_bd .article_list{height:auto;overflow:hidden}.menu_tab_content .homepage .msg_card_opr_item{*margin-right:-5px}.weapplinks_box{padding:0 100px 20px}.weapplinks_box .weapplink_list{overflow:hidden;margin-right:-20px}.weapplinks_box .weapplink_item{float:left;width:50%}.weapplinks_box .weapplink_item .weapplink_item_inner{border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;margin:0 20px 20px 0;padding:15px 20px;border:1px solid #e7e7eb;position:relative}.weapplinks_box .weapplink_item .weapplink_opr{float:right;margin-left:1em;text-align:right;position:relative;z-index:1}.weapplinks_box .weapplink_item .weapplink_info{padding:10px 0;padding-left:66px;min-height:50px;position:relative}.weapplinks_box .weapplink_item strong,.weapplinks_box .weapplink_item em{font-weight:400;font-style:normal;display:block;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.weapplinks_box .weapplink_item .weapplink_name{line-height:50px}.weapplinks_box .weapplink_item .weapplink_avatar{width:50px;height:50px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;position:absolute;top:10px;left:0}.link_weapp_desc{padding:20px 100px}.link_weapp_wrp{height:320px;overflow-y:auto}.weapp_select_dialog .dialog_bd{padding:0}.weapplink_select_mask{display:none;position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.6);text-align:center;font-size:0}.weapplink_select_mask .icon_card_selected{position:absolute;top:50%;left:50%;margin-top:-23px;margin-left:-23px}.weapplink_item_inner{cursor:pointer}.weapplink_item_inner:hover .weapplink_select_mask{display:block}.selected .weapplink_select_mask{display:block}.link_weapp_loading{text-align:center;padding:82px}.link_weapp_empty_desc{display:block;text-align:center;padding-top:140px}.weapp_empty_box{text-align:center;padding:70px 0}.weapp_empty_box .desc{margin-bottom:10px}.processor_step_content .step_content_bd{height:430px;box-sizing:border-box}.processor_step_content .step_content_bd .link_weapp_wrp{height:368px}.processor_step_content .step_content_ft{height:65px;line-height:65px;background-color:#f4f5f9;text-align:center}.processor_step_content .step_content_ft .btn_input{margin:0 5px}.processor_step_content .cover_preview{width:180px;height:140px}.processor_step_content .cover_preview_wrp{*zoom:1}.processor_step_content .cover_preview_wrp:after{content:"\200B";display:block;height:0;clear:both}.processor_step_content .cover_preview{float:left;position:relative;text-align:center;color:#fff;margin-top:10px;overflow:hidden;background-repeat:no-repeat;background-position:center center;background-size:cover}.processor_step_content .cover_preview.first_appmsg_cover{width:188px}.processor_step_content .cover_preview .del_media_white{position:absolute;bottom:12px;left:50%;margin-left:-10px}.processor_step_content .cover_preview .card_mask_global{display:none}.processor_step_content .cover_preview .hover_mask{top:auto;height:140px}.processor_step_content .cover_preview .cover_error_msg{padding:38px}.processor_step_content .cover_preview .error_mask{display:block;padding:32px 8px 50px;overflow:auto;word-wrap:break-word;word-break:break-all}.processor_step_content .cover_preview:hover .hover_mask{display:block}.processor_step_content.step2 .step_content_bd{padding:20px 140px}.processor_step_content.step2 .weapp_type_select_area{margin-top:10px;margin-right:-40px}.processor_step_content.step2 .weapp_type_box{display:inline-block;width:240px}.processor_step_content.step2 .type_preview{display:inline-block;width:219px;height:380px;background-size:cover;background-repeat:no-repeat}.processor_step_content.step3 .step_content_bd{padding:45px 160px}.processor_step_content.step3 100px{padding:0 0 20px}.processor_step_content.step4 .step_content_bd{overflow-y:auto}.processor_step_content.step4 .step_content_bd_inner{padding:45px 160px 15px}.processor_step_content.step4 .link_weapp_desc{padding:0 0 20px}.processor_step_content.step4 .frm_tips,.processor_step_content.step4 .frm_msg{width:auto}.screen_small .weapp_select_dialog .dialog_bd{max-height:540px}.moblie_preview_weapp{position:absolute;top:95px;left:28px;width:271px;height:486px;background-color:#efeff4;text-align:center}.moblie_preview_weapp .weapp_hd{width:100%;height:50px;background:transparent url(/mpres/htmledition/images/bg/bg_mobile_head_weapp.png) no-repeat 0 0;background-size:contain}.moblie_preview_weapp .weapp_hd .icon_back_weapp{display:inline-block;width:40px;height:40px;cursor:pointer;position:absolute;top:10px;left:0;font-size:0}.moblie_preview_weapp .weapp_hd .icon_back_weapp:before{content:'';display:inline-block;width:10px;height:18px;background:transparent url(/mpres/htmledition/images/icon/advanced/icon_weapp_back.png) no-repeat 0 0;background-size:contain;margin-top:12px}.moblie_preview_weapp .weapp_logo{margin-top:60px}.moblie_preview_weapp .weapp_logo img{width:80px;height:80px;border-radius:50%}.moblie_preview_weapp .weapp_title{padding-top:20px;font-size:14px;width:12em;margin:0 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.moblie_preview_weapp .preview_extra{padding-top:190px;width:100%;color:#8d8d8d} \ No newline at end of file diff --git a/public/images/index_z354723.png b/public/images/index_z354723.png new file mode 100644 index 0000000..8d8f8c4 Binary files /dev/null and b/public/images/index_z354723.png differ diff --git a/public/images/media_dialog&emotion_editor&msg_tab&emoji&msg_sender&tooltip.css.bak b/public/images/media_dialog&emotion_editor&msg_tab&emoji&msg_sender&tooltip.css.bak new file mode 100644 index 0000000..035c931 --- /dev/null +++ b/public/images/media_dialog&emotion_editor&msg_tab&emoji&msg_sender&tooltip.css.bak @@ -0,0 +1,2 @@ +/*https://res.wx.qq.com/c/=/mpres/htmledition/style/widget/media/media_dialog.css,/mpres/htmledition/style/widget/emotion_editor.css,/mpres/htmledition/style/widget/msg_tab.css,/mpres/htmledition/style/widget/emoji.css,/mpres/htmledition/style/widget/msg_sender.css,/mpres/htmledition/style/widget/tooltip.css*/ +.icon_appmsg_create{background:url(media_dialog_z27dcd8.png) 0 0 no-repeat;width:38px;height:38px;vertical-align:middle;display:inline-block}a:hover .icon_appmsg_create{background:url(media_dialog_z27dcd8.png) 0 -48px no-repeat}.icon_appmsg_create.multi{background:url(media_dialog_z27dcd8.png) 0 -96px no-repeat}a:hover .icon_appmsg_create.multi{background:url(media_dialog_z27dcd8.png) 0 -144px no-repeat}.icon_shopmsg_create{background:url(media_dialog_z27dcd8.png) 0 -192px no-repeat;width:38px;height:38px;vertical-align:middle;display:inline-block}a:hover .icon_shopmsg_create{background:url(media_dialog_z27dcd8.png) 0 -240px no-repeat}.icon_shopmsg_create.multi{background:url(media_dialog_z27dcd8.png) 0 -288px no-repeat}a:hover .icon_shopmsg_create.multi{background:url(media_dialog_z27dcd8.png) 0 -336px no-repeat}.icon_appmsg_small{background:url(media_dialog_z27dcd8.png) 0 -384px no-repeat;width:18px;height:18px;vertical-align:middle;display:inline-block}a:hover .icon_appmsg_small{background:url(media_dialog_z27dcd8.png) 0 -412px no-repeat}.icon_appmsg_small.multi{background:url(media_dialog_z27dcd8.png) 0 -440px no-repeat}a:hover .icon_appmsg_small.multi{background:url(media_dialog_z27dcd8.png) 0 -468px no-repeat}.icon_shopmsg_small{background:url(media_dialog_z27dcd8.png) 0 -496px no-repeat;width:18px;height:18px;vertical-align:middle;display:inline-block}a:hover .icon_shopmsg_small{background:url(media_dialog_z27dcd8.png) 0 -524px no-repeat}.icon_shopmsg_small.multi{background:url(media_dialog_z27dcd8.png) 0 -552px no-repeat}a:hover .icon_shopmsg_small.multi{background:url(media_dialog_z27dcd8.png) 0 -580px no-repeat}.dialog_media_container{position:relative;height:498px}.dialog_media_container .icon_loading_small{position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px}.dialog_media_container.no_media{text-align:center}.dialog_media_container .search_bar{float:left;line-height:1.6;margin-top:13px;*margin-top:12px}.dialog_media_container .sub_title_bar .upload_box{float:left;margin-top:13px;*margin-top:12px}.dialog_media_container .icon_loading_small{position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px}.richvideo_create{zoom:1}.richvideo_create a{margin-left:8px}.richvideo_create i{cursor:pointer}.appmsg_create{*padding-top:10px;*padding-bottom:10px}.appmsg_create a{margin-left:8px}.no_media_wrp{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;text-align:center;width:99%}.no_media_wrp .tips{margin-bottom:40px;color:#8d8d8d}.no_media_wrp .btn.btn_upload{height:30px;line-height:30px;*line-height:28px;padding-left:36px;padding-right:36px}.no_media_wrp .upload_tips{display:block;margin-top:5px;color:#8d8d8d}.dialog_media_list{height:420px;overflow-y:scroll;position:relative}.dialog_media_list.img .media_item{min-height:72px}.dialog_media_list.img .media_info{margin-left:140px}.dialog_media_list.img .media_info .frm_radio_label{position:absolute;top:0;left:-140px}.dialog_media_list.img .media_content{position:absolute;top:20px;left:30px;padding-top:0;margin-left:0}.dialog_media_list.img .media_name{display:block}.dialog_media_list.img .media_time{position:absolute;top:0;right:0}.dialog_media_list.img .media_size{float:none}.dialog_media_list .media_item{position:relative;padding:20px;border-bottom:1px solid #e7e7eb;color:#8d8d8d}.dialog_media_list .media_info{position:relative;min-height:22px}.dialog_media_list .media_content{padding-top:8px;margin-left:24px}.dialog_media_list .media_name{display:inline-block;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;max-width:400px;font-weight:400;font-style:normal}.dialog_media_list .media_size{position:absolute;right:140px;top:0}.dialog_media_list .media_time{position:absolute;width:130px;right:0;top:0;text-align:right}.dialog_media_list .media_img img{max-width:100px;max-height:70px}.pagination_wrp{background-color:#fff;padding:25px 20px 0}.appmsg_media_dialog{height:auto}.appmsg_media_dialog .dialog_media_inner{height:453px;position:relative}.icon_emotion.emotion_switch{background:url(emotion_editor_z3518e7.png) 0 0 no-repeat;width:20px;height:20px;vertical-align:middle;display:inline-block}.icon_emotion.emotion_switch:hover{background:url(emotion_editor_z3518e7.png) 0 -24px no-repeat}.disabled .icon_emotion.emotion_switch:hover{background:url(emotion_editor_z3518e7.png) 0 -48px no-repeat}.emotion_editor{position:relative;z-index:1;border:1px solid #e7e7eb;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.test .emotion_editor{margin:20px}.emotion_editor .edit_area{padding:14px 20px;outline:0;word-wrap:break-word;word-break:break-all;border-top-left-radius:0;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-right-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;background-color:#fff;height:188px}.emotion_editor .edit_area img{vertical-align:middle}.editor_toolbar{*zoom:1;padding:0 20px;line-height:36px;background-color:#fff;border-top:1px solid #e7e7eb}.editor_toolbar:after{content:"\200B";display:block;height:0;clear:both}.editor_tip{float:right;color:#8d8d8d}.editor_tip em{font-weight:400;font-style:normal;margin-left:3px;margin-right:3px}.editor_tip .warn{color:#e15f63}.emotion_switch{float:left;margin-top:8px;height:28px;line-height:999em;overflow:hidden}.emotion_wrp{display:none;position:absolute;width:401px;top:100%;left:-1px}.emotions{-moz-user-select:none;overflow:hidden;*zoom:1;border-top:1px solid #c0bfc5;border-right:1px solid #c0bfc5;background-color:#e7e7eb}.emotions_item{float:left;width:24px;height:24px;line-height:24px;font-size:0;text-align:center;border-bottom:1px solid #c0bfc5;border-left:1px solid #c0bfc5;background-color:#fff}.emotions_item:hover{background:rgba(255,255,255,0.75)!important;filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#bfffffff',endcolorstr = '#bfffffff')}.emotions_preview{position:absolute;top:0;right:-81px;display:block;width:80px;height:80px;line-height:80px;font-size:0;text-align:center;border:1px solid #c0bfc5;background-color:#fff;display:none}.emotions_preview img{position:absolute;top:50%;left:50%;margin-left:-12px;margin-top:-12px}.hook{position:absolute;left:21px;top:0}.hook .hook_dec{position:absolute;left:0;width:0;height:0;border-style:solid;border-width:8px}.hook .hook_top{top:-16px;border-color:transparent transparent #c0bfc5}.hook .hook_btm{top:-15px;border-color:transparent transparent #f6f6f6}.icon_msg_sender{margin-right:3px;margin-top:-2px;*margin-top:2px;width:20px;height:20px;vertical-align:middle;display:inline-block}.tab_text .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 0 no-repeat}.tab_text.selected .icon_msg_sender,.tab_text:hover .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -30px no-repeat}.tab_img .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -60px no-repeat}.tab_img.selected .icon_msg_sender,.tab_img:hover .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -90px no-repeat}.tab_video .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -120px no-repeat}.tab_video.selected .icon_msg_sender,.tab_video:hover .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -150px no-repeat}.tab_audio .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -180px no-repeat}.tab_audio.selected .icon_msg_sender,.tab_audio:hover .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -210px no-repeat}.tab_appmsg .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -240px no-repeat}.tab_appmsg.selected .icon_msg_sender,.tab_appmsg:hover .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -270px no-repeat}.tab_commondity_appmsg .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -300px no-repeat}.tab_commondity_appmsg.selected .icon_msg_sender,.tab_commondity_appmsg:hover .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -330px no-repeat}.tab_card .icon_msg_sender{background:transparent url(icon_msg_sender_card.png) no-repeat 0 0}.tab_card.selected .icon_msg_sender,.tab_card:hover .icon_msg_sender{background:transparent url(icon_msg_sender_card_selected.png) no-repeat 0 0}.tab_cardmsg .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -360px no-repeat}.tab_cardmsg.selected .icon_msg_sender,.tab_cardmsg:hover .icon_msg_sender{background:url(msg_tab_z25df2d.png) 0 -390px no-repeat}.msg_sender .tab_navs{background-color:#fff;line-height:38px;height:38px}.msg_sender .tab_nav.selected{background-color:#fff}.msg_sender .tab_nav.selected .msg_tab_title{color:#222}.msg_sender .tab_nav .msg_tab_title{color:#8d8d8d}.tab_panel{background-color:#fff;min-height:216px}.tab_content{padding:35px 30px 0}.tab_content .inner{border:1px solid #c6c6c6;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;padding:14px 20px}.tab_content .inner.no_extra{padding:0;border-width:0}.emoji{background:transparent url(emoji218877.png) no-repeat 0 0;width:20px;height:20px;display:-moz-inline-stack;display:inline-block;vertical-align:middle;margin-top:-0.2em;zoom:1;*display:inline}.emoji2600{background-position:0 -260px}.emoji2601{background-position:0 -20px}.emoji2614{background-position:0 -40px}.emoji26c4{background-position:0 -60px}.emoji26a1{background-position:0 -80px}.emoji1f300{background-position:0 -100px}.emoji1f301{background-position:0 -9200px}.emoji1f302{background-position:0 -120px}.emoji1f303{background-position:0 -920px}.emoji1f304{background-position:0 -160px}.emoji1f305{background-position:0 -180px}.emoji1f306{background-position:0 -200px}.emoji1f307{background-position:0 -220px}.emoji1f308{background-position:0 -240px}.emoji2744{background-position:0 -9200px}.emoji26c5{background-position:0 -260px}.emoji1f309{background-position:0 -920px}.emoji1f30a{background-position:0 -900px}.emoji1f30b{background-position:0 -9200px}.emoji1f30c{background-position:0 -920px}.emoji1f30f{background-position:0 -9200px}.emoji1f311{background-position:0 -9200px}.emoji1f314{background-position:0 -360px}.emoji1f313{background-position:0 -360px}.emoji1f319{background-position:0 -360px}.emoji1f315{background-position:0 -9200px}.emoji1f31b{background-position:0 -360px}.emoji1f31f{background-position:0 -10740px}.emoji1f320{background-position:0 -9200px}.emoji1f550{background-position:0 -380px}.emoji1f551{background-position:0 -400px}.emoji1f552{background-position:0 -420px}.emoji1f553{background-position:0 -440px}.emoji1f554{background-position:0 -460px}.emoji1f555{background-position:0 -480px}.emoji1f556{background-position:0 -500px}.emoji1f557{background-position:0 -520px}.emoji1f558{background-position:0 -540px}.emoji1f559{background-position:0 -620px}.emoji1f55a{background-position:0 -580px}.emoji1f55b{background-position:0 -600px}.emoji231a{background-position:0 -9200px}.emoji231b{background-position:0 -9200px}.emoji23f0{background-position:0 -620px}.emoji23f3{background-position:0 -9200px}.emoji2648{background-position:0 -640px}.emoji2649{background-position:0 -660px}.emoji264a{background-position:0 -680px}.emoji264b{background-position:0 -700px}.emoji264c{background-position:0 -720px}.emoji264d{background-position:0 -740px}.emoji264e{background-position:0 -760px}.emoji264f{background-position:0 -780px}.emoji2650{background-position:0 -800px}.emoji2651{background-position:0 -820px}.emoji2652{background-position:0 -840px}.emoji2653{background-position:0 -860px}.emoji26ce{background-position:0 -880px}.emoji1f340{background-position:0 -1220px}.emoji1f337{background-position:0 -960px}.emoji1f331{background-position:0 -1220px}.emoji1f341{background-position:0 -1000px}.emoji1f338{background-position:0 -1020px}.emoji1f339{background-position:0 -1040px}.emoji1f342{background-position:0 -1060px}.emoji1f343{background-position:0 -1080px}.emoji1f33a{background-position:0 -1100px}.emoji1f33b{background-position:0 -1200px}.emoji1f334{background-position:0 -1140px}.emoji1f335{background-position:0 -1160px}.emoji1f33e{background-position:0 -1180px}.emoji1f33d{background-position:0 -9200px}.emoji1f344{background-position:0 -9200px}.emoji1f330{background-position:0 -9200px}.emoji1f33c{background-position:0 -1200px}.emoji1f33f{background-position:0 -1220px}.emoji1f352{background-position:0 -9200px}.emoji1f34c{background-position:0 -9200px}.emoji1f34e{background-position:0 -1360px}.emoji1f34a{background-position:0 -1260px}.emoji1f353{background-position:0 -1280px}.emoji1f349{background-position:0 -1300px}.emoji1f345{background-position:0 -1320px}.emoji1f346{background-position:0 -1340px}.emoji1f348{background-position:0 -9200px}.emoji1f34d{background-position:0 -9200px}.emoji1f347{background-position:0 -9200px}.emoji1f351{background-position:0 -9200px}.emoji1f34f{background-position:0 -1360px}.emoji1f440{background-position:0 -1380px}.emoji1f442{background-position:0 -1400px}.emoji1f443{background-position:0 -1420px}.emoji1f444{background-position:0 -1440px}.emoji1f445{background-position:0 -3000px}.emoji1f484{background-position:0 -1480px}.emoji1f485{background-position:0 -1500px}.emoji1f486{background-position:0 -1520px}.emoji1f487{background-position:0 -1540px}.emoji1f488{background-position:0 -1560px}.emoji1f464{background-position:0 -9200px}.emoji1f466{background-position:0 -1580px}.emoji1f467{background-position:0 -1600px}.emoji1f468{background-position:0 -1620px}.emoji1f469{background-position:0 -1640px}.emoji1f46a{background-position:0 -9200px}.emoji1f46b{background-position:0 -1660px}.emoji1f46e{background-position:0 -1680px}.emoji1f46f{background-position:0 -1700px}.emoji1f470{background-position:0 -9200px}.emoji1f471{background-position:0 -1720px}.emoji1f472{background-position:0 -1740px}.emoji1f473{background-position:0 -1760px}.emoji1f474{background-position:0 -1780px}.emoji1f475{background-position:0 -1800px}.emoji1f476{background-position:0 -1820px}.emoji1f477{background-position:0 -1840px}.emoji1f478{background-position:0 -1860px}.emoji1f479{background-position:0 -9200px}.emoji1f47a{background-position:0 -9200px}.emoji1f47b{background-position:0 -1880px}.emoji1f47c{background-position:0 -1900px}.emoji1f47d{background-position:0 -1920px}.emoji1f47e{background-position:0 -1940px}.emoji1f47f{background-position:0 -1960px}.emoji1f480{background-position:0 -1980px}.emoji1f481{background-position:0 -2000px}.emoji1f482{background-position:0 -2020px}.emoji1f483{background-position:0 -2040px}.emoji1f40c{background-position:0 -9200px}.emoji1f40d{background-position:0 -2620px}.emoji1f40e{background-position:0 -6680px}.emoji1f414{background-position:0 -2640px}.emoji1f417{background-position:0 -2660px}.emoji1f42b{background-position:0 -2680px}.emoji1f418{background-position:0 -2480px}.emoji1f428{background-position:0 -2500px}.emoji1f412{background-position:0 -2520px}.emoji1f411{background-position:0 -2540px}.emoji1f419{background-position:0 -2340px}.emoji1f41a{background-position:0 -2360px}.emoji1f41b{background-position:0 -2460px}.emoji1f41c{background-position:0 -9200px}.emoji1f41d{background-position:0 -9200px}.emoji1f41e{background-position:0 -9200px}.emoji1f420{background-position:0 -2420px}.emoji1f421{background-position:0 -7360px}.emoji1f422{background-position:0 -9200px}.emoji1f424{background-position:0 -2140px}.emoji1f425{background-position:0 -2140px}.emoji1f426{background-position:0 -2400px}.emoji1f423{background-position:0 -2140px}.emoji1f427{background-position:0 -2160px}.emoji1f429{background-position:0 -2720px}.emoji1f41f{background-position:0 -7360px}.emoji1f42c{background-position:0 -2380px}.emoji1f42d{background-position:0 -2280px}.emoji1f42f{background-position:0 -2240px}.emoji1f431{background-position:0 -2080px}.emoji1f433{background-position:0 -2300px}.emoji1f434{background-position:0 -2200px}.emoji1f435{background-position:0 -2320px}.emoji1f436{background-position:0 -2720px}.emoji1f437{background-position:0 -2780px}.emoji1f43b{background-position:0 -2260px}.emoji1f439{background-position:0 -2440px}.emoji1f43a{background-position:0 -2560px}.emoji1f42e{background-position:0 -2580px}.emoji1f430{background-position:0 -2600px}.emoji1f438{background-position:0 -2700px}.emoji1f43e{background-position:0 -6460px}.emoji1f432{background-position:0 -9200px}.emoji1f43c{background-position:0 -9200px}.emoji1f43d{background-position:0 -2780px}.emoji1f620{background-position:0 -2800px}.emoji1f629{background-position:0 -3860px}.emoji1f632{background-position:0 -2840px}.emoji1f61e{background-position:0 -2860px}.emoji1f635{background-position:0 -3540px}.emoji1f630{background-position:0 -2900px}.emoji1f612{background-position:0 -2920px}.emoji1f60d{background-position:0 -3660px}.emoji1f624{background-position:0 -3720px}.emoji1f61c{background-position:0 -2980px}.emoji1f61d{background-position:0 -3000px}.emoji1f60b{background-position:0 -3220px}.emoji1f618{background-position:0 -3640px}.emoji1f61a{background-position:0 -3060px}.emoji1f637{background-position:0 -3080px}.emoji1f633{background-position:0 -3100px}.emoji1f603{background-position:0 -3580px}.emoji1f605{background-position:0 -3260px}.emoji1f606{background-position:0 -3380px}.emoji1f601{background-position:0 -3720px}.emoji1f602{background-position:0 -3620px}.emoji1f60a{background-position:0 -3220px}.emoji263a{background-position:0 -3240px}.emoji1f604{background-position:0 -3260px}.emoji1f622{background-position:0 -3680px}.emoji1f62d{background-position:0 -3300px}.emoji1f628{background-position:0 -3320px}.emoji1f623{background-position:0 -3540px}.emoji1f621{background-position:0 -3880px}.emoji1f60c{background-position:0 -3380px}.emoji1f616{background-position:0 -10520px}.emoji1f614{background-position:0 -3860px}.emoji1f631{background-position:0 -3440px}.emoji1f62a{background-position:0 -3460px}.emoji1f60f{background-position:0 -3480px}.emoji1f613{background-position:0 -3500px}.emoji1f625{background-position:0 -3520px}.emoji1f62b{background-position:0 -3540px}.emoji1f609{background-position:0 -3560px}.emoji1f63a{background-position:0 -3580px}.emoji1f638{background-position:0 -3720px}.emoji1f639{background-position:0 -3620px}.emoji1f63d{background-position:0 -3640px}.emoji1f63b{background-position:0 -3660px}.emoji1f63f{background-position:0 -3680px}.emoji1f63e{background-position:0 -3880px}.emoji1f63c{background-position:0 -3720px}.emoji1f640{background-position:0 -3860px}.emoji1f645{background-position:0 -3760px}.emoji1f646{background-position:0 -3780px}.emoji1f647{background-position:0 -3800px}.emoji1f648{background-position:0 -9200px}.emoji1f64a{background-position:0 -9200px}.emoji1f649{background-position:0 -9200px}.emoji1f64b{background-position:0 -11240px}.emoji1f64c{background-position:0 -3840px}.emoji1f64d{background-position:0 -3860px}.emoji1f64e{background-position:0 -3880px}.emoji1f64f{background-position:0 -3900px}.emoji1f3e0{background-position:0 -3940px}.emoji1f3e1{background-position:0 -3940px}.emoji1f3e2{background-position:0 -3960px}.emoji1f3e3{background-position:0 -3980px}.emoji1f3e5{background-position:0 -4000px}.emoji1f3e6{background-position:0 -4020px}.emoji1f3e7{background-position:0 -4040px}.emoji1f3e8{background-position:0 -4060px}.emoji1f3e9{background-position:0 -4080px}.emoji1f3ea{background-position:0 -4100px}.emoji1f3eb{background-position:0 -4120px}.emoji26ea{background-position:0 -4140px}.emoji26f2{background-position:0 -4160px}.emoji1f3ec{background-position:0 -4180px}.emoji1f3ef{background-position:0 -4200px}.emoji1f3f0{background-position:0 -4220px}.emoji1f3ed{background-position:0 -4240px}.emoji2693{background-position:0 -6920px}.emoji1f3ee{background-position:0 -8800px}.emoji1f5fb{background-position:0 -4300px}.emoji1f5fc{background-position:0 -4320px}.emoji1f5fd{background-position:0 -4340px}.emoji1f5fe{background-position:0 -9200px}.emoji1f5ff{background-position:0 -9200px}.emoji1f45e{background-position:0 -4400px}.emoji1f45f{background-position:0 -4400px}.emoji1f460{background-position:0 -4420px}.emoji1f461{background-position:0 -4440px}.emoji1f462{background-position:0 -4460px}.emoji1f463{background-position:0 -6460px}.emoji1f453{background-position:0 -9200px}.emoji1f455{background-position:0 -4620px}.emoji1f456{background-position:0 -9200px}.emoji1f451{background-position:0 -4500px}.emoji1f454{background-position:0 -4520px}.emoji1f452{background-position:0 -4540px}.emoji1f457{background-position:0 -4560px}.emoji1f458{background-position:0 -4580px}.emoji1f459{background-position:0 -4600px}.emoji1f45a{background-position:0 -4620px}.emoji1f45b{background-position:0 -9200px}.emoji1f45c{background-position:0 -4960px}.emoji1f45d{background-position:0 -9200px}.emoji1f4b0{background-position:0 -4720px}.emoji1f4b1{background-position:0 -4660px}.emoji1f4b9{background-position:0 -6380px}.emoji1f4b2{background-position:0 -4720px}.emoji1f4b3{background-position:0 -9200px}.emoji1f4b4{background-position:0 -9200px}.emoji1f4b5{background-position:0 -4720px}.emoji1f4b8{background-position:0 -9200px}.emoji1f1e81f1f3{background-position:0 -4740px}.emoji1f1e91f1ea{background-position:0 -4760px}.emoji1f1ea1f1f8{background-position:0 -4780px}.emoji1f1eb1f1f7{background-position:0 -4800px}.emoji1f1ec1f1e7{background-position:0 -4820px}.emoji1f1ee1f1f9{background-position:0 -4840px}.emoji1f1ef1f1f5{background-position:0 -4860px}.emoji1f1f01f1f7{background-position:0 -4880px}.emoji1f1f71f1fa{background-position:0 -4900px}.emoji1f1fa1f1f8{background-position:0 -4920px}.emoji1f525{background-position:0 -5040px}.emoji1f526{background-position:0 -9200px}.emoji1f527{background-position:0 -9200px}.emoji1f528{background-position:0 -4360px}.emoji1f529{background-position:0 -9200px}.emoji1f52a{background-position:0 -9200px}.emoji1f52b{background-position:0 -5020px}.emoji1f52e{background-position:0 -5080px}.emoji1f52f{background-position:0 -5080px}.emoji1f530{background-position:0 -9660px}.emoji1f531{background-position:0 -9680px}.emoji1f489{background-position:0 -5300px}.emoji1f48a{background-position:0 -5320px}.emoji1f170{background-position:0 -5340px}.emoji1f171{background-position:0 -5360px}.emoji1f18e{background-position:0 -5380px}.emoji1f17e{background-position:0 -5400px}.emoji1f380{background-position:0 -5420px}.emoji1f381{background-position:0 -6080px}.emoji1f382{background-position:0 -5460px}.emoji1f384{background-position:0 -5480px}.emoji1f385{background-position:0 -5500px}.emoji1f38c{background-position:0 -5520px}.emoji1f386{background-position:0 -5540px}.emoji1f388{background-position:0 -5560px}.emoji1f389{background-position:0 -5580px}.emoji1f38d{background-position:0 -5600px}.emoji1f38e{background-position:0 -5620px}.emoji1f393{background-position:0 -5640px}.emoji1f392{background-position:0 -5660px}.emoji1f38f{background-position:0 -5680px}.emoji1f387{background-position:0 -5700px}.emoji1f390{background-position:0 -5720px}.emoji1f383{background-position:0 -5740px}.emoji1f38a{background-position:0 -9200px}.emoji1f38b{background-position:0 -9200px}.emoji1f391{background-position:0 -5760px}.emoji1f4df{background-position:0 -9200px}.emoji260e{background-position:0 -5800px}.emoji1f4de{background-position:0 -5800px}.emoji1f4f1{background-position:0 -5820px}.emoji1f4f2{background-position:0 -5840px}.emoji1f4dd{background-position:0 -6440px}.emoji1f4e0{background-position:0 -5880px}.emoji2709{background-position:0 -11200px}.emoji1f4e8{background-position:0 -11200px}.emoji1f4e9{background-position:0 -11200px}.emoji1f4ea{background-position:0 -5980px}.emoji1f4eb{background-position:0 -5980px}.emoji1f4ee{background-position:0 -6000px}.emoji1f4f0{background-position:0 -9200px}.emoji1f4e2{background-position:0 -6020px}.emoji1f4e3{background-position:0 -6040px}.emoji1f4e1{background-position:0 -6060px}.emoji1f4e4{background-position:0 -9200px}.emoji1f4e5{background-position:0 -9200px}.emoji1f4e6{background-position:0 -6080px}.emoji1f4e7{background-position:0 -11200px}.emoji1f520{background-position:0 -9200px}.emoji1f521{background-position:0 -9200px}.emoji1f522{background-position:0 -9200px}.emoji1f523{background-position:0 -9200px}.emoji1f524{background-position:0 -9200px}.emoji2712{background-position:0 -9200px}.emoji1f4ba{background-position:0 -6100px}.emoji1f4bb{background-position:0 -6120px}.emoji270f{background-position:0 -6440px}.emoji1f4ce{background-position:0 -9200px}.emoji1f4bc{background-position:0 -6160px}.emoji1f4bd{background-position:0 -6200px}.emoji1f4be{background-position:0 -6200px}.emoji1f4bf{background-position:0 -7800px}.emoji1f4c0{background-position:0 -7820px}.emoji2702{background-position:0 -6220px}.emoji1f4cd{background-position:0 -9200px}.emoji1f4c3{background-position:0 -6440px}.emoji1f4c4{background-position:0 -6440px}.emoji1f4c5{background-position:0 -9200px}.emoji1f4c1{background-position:0 -9200px}.emoji1f4c2{background-position:0 -9200px}.emoji1f4d3{background-position:0 -6420px}.emoji1f4d6{background-position:0 -6420px}.emoji1f4d4{background-position:0 -6420px}.emoji1f4d5{background-position:0 -6420px}.emoji1f4d7{background-position:0 -6420px}.emoji1f4d8{background-position:0 -6420px}.emoji1f4d9{background-position:0 -6420px}.emoji1f4da{background-position:0 -6420px}.emoji1f4db{background-position:0 -9200px}.emoji1f4dc{background-position:0 -9200px}.emoji1f4cb{background-position:0 -6440px}.emoji1f4c6{background-position:0 -9200px}.emoji1f4ca{background-position:0 -6380px}.emoji1f4c8{background-position:0 -6380px}.emoji1f4c9{background-position:0 -9200px}.emoji1f4c7{background-position:0 -6420px}.emoji1f4cc{background-position:0 -9200px}.emoji1f4d2{background-position:0 -6420px}.emoji1f4cf{background-position:0 -9200px}.emoji1f4d0{background-position:0 -9200px}.emoji1f4d1{background-position:0 -6440px}.emoji1f3bd{background-position:0 -9200px}.emoji26be{background-position:0 -6480px}.emoji26f3{background-position:0 -6500px}.emoji1f3be{background-position:0 -6520px}.emoji26bd{background-position:0 -6540px}.emoji1f3bf{background-position:0 -6560px}.emoji1f3c0{background-position:0 -6580px}.emoji1f3c1{background-position:0 -6600px}.emoji1f3c2{background-position:0 -9200px}.emoji1f3c3{background-position:0 -6620px}.emoji1f3c4{background-position:0 -6640px}.emoji1f3c6{background-position:0 -6660px}.emoji1f3c8{background-position:0 -6700px}.emoji1f3ca{background-position:0 -6720px}.emoji1f683{background-position:0 -6740px}.emoji1f687{background-position:0 -6780px}.emoji24c2{background-position:0 -6780px}.emoji1f684{background-position:0 -6800px}.emoji1f685{background-position:0 -6820px}.emoji1f697{background-position:0 -6840px}.emoji1f699{background-position:0 -6860px}.emoji1f68c{background-position:0 -6880px}.emoji1f68f{background-position:0 -6900px}.emoji1f6a2{background-position:0 -6920px}.emoji2708{background-position:0 -6940px}.emoji26f5{background-position:0 -6960px}.emoji1f689{background-position:0 -7000px}.emoji1f680{background-position:0 -7020px}.emoji1f6a4{background-position:0 -7040px}.emoji1f695{background-position:0 -7060px}.emoji1f69a{background-position:0 -7100px}.emoji1f692{background-position:0 -7120px}.emoji1f691{background-position:0 -7140px}.emoji1f693{background-position:0 -7260px}.emoji26fd{background-position:0 -7180px}.emoji1f17f{background-position:0 -7200px}.emoji1f6a5{background-position:0 -7220px}.emoji1f6a7{background-position:0 -9720px}.emoji1f6a8{background-position:0 -7260px}.emoji2668{background-position:0 -7280px}.emoji26fa{background-position:0 -7300px}.emoji1f3a0{background-position:0 -9200px}.emoji1f3a1{background-position:0 -7320px}.emoji1f3a2{background-position:0 -7340px}.emoji1f3a3{background-position:0 -7360px}.emoji1f3a4{background-position:0 -7380px}.emoji1f3a5{background-position:0 -7400px}.emoji1f3a6{background-position:0 -7420px}.emoji1f3a7{background-position:0 -7440px}.emoji1f3a8{background-position:0 -7460px}.emoji1f3a9{background-position:0 -7540px}.emoji1f3aa{background-position:0 -9200px}.emoji1f3ab{background-position:0 -7500px}.emoji1f3ac{background-position:0 -7520px}.emoji1f3ad{background-position:0 -7540px}.emoji1f3ae{background-position:0 -9200px}.emoji1f004{background-position:0 -7560px}.emoji1f3af{background-position:0 -7580px}.emoji1f3b0{background-position:0 -7600px}.emoji1f3b1{background-position:0 -7620px}.emoji1f3b2{background-position:0 -9200px}.emoji1f3b3{background-position:0 -9200px}.emoji1f3b4{background-position:0 -9200px}.emoji1f0cf{background-position:0 -9200px}.emoji1f3b5{background-position:0 -7640px}.emoji1f3b6{background-position:0 -7740px}.emoji1f3b7{background-position:0 -7680px}.emoji1f3b8{background-position:0 -7700px}.emoji1f3b9{background-position:0 -9200px}.emoji1f3ba{background-position:0 -7720px}.emoji1f3bb{background-position:0 -9200px}.emoji1f3bc{background-position:0 -7740px}.emoji303d{background-position:0 -7760px}.emoji1f4f7{background-position:0 -4940px}.emoji1f4f9{background-position:0 -7400px}.emoji1f4fa{background-position:0 -7780px}.emoji1f4fb{background-position:0 -7840px}.emoji1f4fc{background-position:0 -7860px}.emoji1f48b{background-position:0 -7900px}.emoji1f48c{background-position:0 -11200px}.emoji1f48d{background-position:0 -7940px}.emoji1f48e{background-position:0 -7960px}.emoji1f48f{background-position:0 -7980px}.emoji1f490{background-position:0 -8000px}.emoji1f491{background-position:0 -8020px}.emoji1f492{background-position:0 -8040px}.emoji1f51e{background-position:0 -9860px}.emojia9{background-position:0 -9900px}.emojiae{background-position:0 -9920px}.emoji2122{background-position:0 -9940px}.emoji2139{background-position:0 -9200px}.emoji2320e3{background-position:0 -8060px}.emoji3120e3{background-position:0 -8080px}.emoji3220e3{background-position:0 -8100px}.emoji3320e3{background-position:0 -8120px}.emoji3420e3{background-position:0 -8140px}.emoji3520e3{background-position:0 -8160px}.emoji3620e3{background-position:0 -8180px}.emoji3720e3{background-position:0 -8200px}.emoji3820e3{background-position:0 -8220px}.emoji3920e3{background-position:0 -8240px}.emoji3020e3{background-position:0 -8260px}.emoji1f51f{background-position:0 -9200px}.emoji1f4f6{background-position:0 -8280px}.emoji1f4f3{background-position:0 -8300px}.emoji1f4f4{background-position:0 -8320px}.emoji1f354{background-position:0 -8340px}.emoji1f359{background-position:0 -8360px}.emoji1f370{background-position:0 -8380px}.emoji1f35c{background-position:0 -8400px}.emoji1f35e{background-position:0 -8420px}.emoji1f373{background-position:0 -8440px}.emoji1f366{background-position:0 -8460px}.emoji1f35f{background-position:0 -8480px}.emoji1f361{background-position:0 -8500px}.emoji1f358{background-position:0 -8520px}.emoji1f35a{background-position:0 -8540px}.emoji1f35d{background-position:0 -8560px}.emoji1f35b{background-position:0 -8580px}.emoji1f362{background-position:0 -8600px}.emoji1f363{background-position:0 -8620px}.emoji1f371{background-position:0 -8640px}.emoji1f372{background-position:0 -8660px}.emoji1f367{background-position:0 -8680px}.emoji1f356{background-position:0 -9200px}.emoji1f365{background-position:0 -9200px}.emoji1f360{background-position:0 -9200px}.emoji1f355{background-position:0 -9200px}.emoji1f357{background-position:0 -9200px}.emoji1f368{background-position:0 -9200px}.emoji1f369{background-position:0 -9200px}.emoji1f36a{background-position:0 -9200px}.emoji1f36b{background-position:0 -9200px}.emoji1f36c{background-position:0 -9200px}.emoji1f36d{background-position:0 -9200px}.emoji1f36e{background-position:0 -9200px}.emoji1f36f{background-position:0 -9200px}.emoji1f364{background-position:0 -9200px}.emoji1f374{background-position:0 -8700px}.emoji2615{background-position:0 -8720px}.emoji1f378{background-position:0 -8860px}.emoji1f37a{background-position:0 -8760px}.emoji1f375{background-position:0 -8780px}.emoji1f376{background-position:0 -8800px}.emoji1f377{background-position:0 -8860px}.emoji1f37b{background-position:0 -8840px}.emoji1f379{background-position:0 -8860px}.emoji2197{background-position:0 -8960px}.emoji2198{background-position:0 -8980px}.emoji2196{background-position:0 -8920px}.emoji2199{background-position:0 -8940px}.emoji2934{background-position:0 -8960px}.emoji2935{background-position:0 -8980px}.emoji2194{background-position:0 -9200px}.emoji2195{background-position:0 -9200px}.emoji2b06{background-position:0 -9000px}.emoji2b07{background-position:0 -9020px}.emoji27a1{background-position:0 -9040px}.emoji2b05{background-position:0 -11180px}.emoji25b6{background-position:0 -9080px}.emoji25c0{background-position:0 -9100px}.emoji23e9{background-position:0 -9120px}.emoji23ea{background-position:0 -9140px}.emoji23eb{background-position:0 -9200px}.emoji23ec{background-position:0 -9200px}.emoji1f53a{background-position:0 -9200px}.emoji1f53b{background-position:0 -9200px}.emoji1f53c{background-position:0 -9200px}.emoji1f53d{background-position:0 -9200px}.emoji2b55{background-position:0 -9800px}.emoji274c{background-position:0 -10340px}.emoji274e{background-position:0 -10340px}.emoji2757{background-position:0 -9160px}.emoji2049{background-position:0 -9200px}.emoji203c{background-position:0 -9200px}.emoji2753{background-position:0 -9180px}.emoji2754{background-position:0 -9200px}.emoji2755{background-position:0 -9220px}.emoji3030{background-position:0 -9200px}.emoji27b0{background-position:0 -9200px}.emoji27bf{background-position:0 -9200px}.emoji2764{background-position:0 -9240px}.emoji1f493{background-position:0 -9480px}.emoji1f494{background-position:0 -9280px}.emoji1f495{background-position:0 -9480px}.emoji1f496{background-position:0 -9480px}.emoji1f497{background-position:0 -9340px}.emoji1f498{background-position:0 -9360px}.emoji1f499{background-position:0 -9380px}.emoji1f49a{background-position:0 -9400px}.emoji1f49b{background-position:0 -9420px}.emoji1f49c{background-position:0 -9440px}.emoji1f49d{background-position:0 -9460px}.emoji1f49e{background-position:0 -9480px}.emoji1f49f{background-position:0 -9500px}.emoji2665{background-position:0 -9520px}.emoji2660{background-position:0 -9540px}.emoji2666{background-position:0 -9560px}.emoji2663{background-position:0 -9580px}.emoji1f6ac{background-position:0 -9600px}.emoji1f6ad{background-position:0 -9620px}.emoji267f{background-position:0 -9640px}.emoji1f6a9{background-position:0 -9200px}.emoji26a0{background-position:0 -9700px}.emoji26d4{background-position:0 -9720px}.emoji267b{background-position:0 -9200px}.emoji1f6b2{background-position:0 -6980px}.emoji1f6b6{background-position:0 -7080px}.emoji1f6b9{background-position:0 -9740px}.emoji1f6ba{background-position:0 -9760px}.emoji1f6c0{background-position:0 -5220px}.emoji1f6bb{background-position:0 -5240px}.emoji1f6bd{background-position:0 -5260px}.emoji1f6be{background-position:0 -5280px}.emoji1f6bc{background-position:0 -9780px}.emoji1f6aa{background-position:0 -9200px}.emoji1f6ab{background-position:0 -9200px}.emoji2714{background-position:0 -9200px}.emoji1f191{background-position:0 -9200px}.emoji1f192{background-position:0 -10020px}.emoji1f193{background-position:0 -9200px}.emoji1f194{background-position:0 -11020px}.emoji1f195{background-position:0 -9980px}.emoji1f196{background-position:0 -9200px}.emoji1f197{background-position:0 -9880px}.emoji1f198{background-position:0 -9200px}.emoji1f199{background-position:0 -10000px}.emoji1f19a{background-position:0 -9960px}.emoji1f201{background-position:0 -10060px}.emoji1f202{background-position:0 -10080px}.emoji1f232{background-position:0 -9200px}.emoji1f233{background-position:0 -10100px}.emoji1f234{background-position:0 -9200px}.emoji1f235{background-position:0 -10120px}.emoji1f236{background-position:0 -10140px}.emoji1f21a{background-position:0 -10160px}.emoji1f237{background-position:0 -10180px}.emoji1f238{background-position:0 -10200px}.emoji1f239{background-position:0 -10220px}.emoji1f22f{background-position:0 -10240px}.emoji1f23a{background-position:0 -10260px}.emoji3299{background-position:0 -10280px}.emoji3297{background-position:0 -10300px}.emoji1f250{background-position:0 -10320px}.emoji1f251{background-position:0 -9200px}.emoji2795{background-position:0 -9200px}.emoji2796{background-position:0 -9200px}.emoji2716{background-position:0 -10340px}.emoji2797{background-position:0 -9200px}.emoji1f4a0{background-position:0 -9200px}.emoji1f4a1{background-position:0 -10360px}.emoji1f4a2{background-position:0 -10380px}.emoji1f4a3{background-position:0 -10400px}.emoji1f4a4{background-position:0 -10420px}.emoji1f4a5{background-position:0 -9200px}.emoji1f4a6{background-position:0 -10460px}.emoji1f4a7{background-position:0 -10460px}.emoji1f4a8{background-position:0 -10480px}.emoji1f4a9{background-position:0 -5000px}.emoji1f4aa{background-position:0 -10500px}.emoji1f4ab{background-position:0 -10520px}.emoji1f4ac{background-position:0 -9200px}.emoji2728{background-position:0 -11000px}.emoji2734{background-position:0 -10560px}.emoji2733{background-position:0 -10580px}.emoji26aa{background-position:0 -10640px}.emoji26ab{background-position:0 -10640px}.emoji1f534{background-position:0 -10640px}.emoji1f535{background-position:0 -10900px}.emoji1f532{background-position:0 -10900px}.emoji1f533{background-position:0 -10980px}.emoji2b50{background-position:0 -10720px}.emoji2b1c{background-position:0 -10980px}.emoji2b1b{background-position:0 -10900px}.emoji25ab{background-position:0 -10980px}.emoji25aa{background-position:0 -10900px}.emoji25fd{background-position:0 -10980px}.emoji25fe{background-position:0 -10900px}.emoji25fb{background-position:0 -10980px}.emoji25fc{background-position:0 -10900px}.emoji1f536{background-position:0 -10980px}.emoji1f537{background-position:0 -10980px}.emoji1f538{background-position:0 -10980px}.emoji1f539{background-position:0 -10980px}.emoji2747{background-position:0 -11000px}.emoji1f4ae{background-position:0 -9200px}.emoji1f4af{background-position:0 -9200px}.emoji21a9{background-position:0 -9200px}.emoji21aa{background-position:0 -9200px}.emoji1f503{background-position:0 -9200px}.emoji1f50a{background-position:0 -7880px}.emoji1f50b{background-position:0 -9200px}.emoji1f50c{background-position:0 -9200px}.emoji1f50d{background-position:0 -11060px}.emoji1f50e{background-position:0 -11060px}.emoji1f512{background-position:0 -11140px}.emoji1f513{background-position:0 -11100px}.emoji1f50f{background-position:0 -11140px}.emoji1f510{background-position:0 -11140px}.emoji1f511{background-position:0 -11160px}.emoji1f514{background-position:0 -4980px}.emoji2611{background-position:0 -9200px}.emoji1f518{background-position:0 -9200px}.emoji1f516{background-position:0 -9200px}.emoji1f517{background-position:0 -9200px}.emoji1f519{background-position:0 -11180px}.emoji1f51a{background-position:0 -9200px}.emoji1f51b{background-position:0 -9200px}.emoji1f51c{background-position:0 -9200px}.emoji1f51d{background-position:0 -10040px}.emoji2003{background-position:0 -9200px}.emoji2002{background-position:0 -9200px}.emoji2005{background-position:0 -9200px}.emoji2705{background-position:0 -9200px}.emoji270a{background-position:0 -11220px}.emoji270b{background-position:0 -11240px}.emoji270c{background-position:0 -11260px}.emoji1f44a{background-position:0 -11280px}.emoji1f44d{background-position:0 -11300px}.emoji261d{background-position:0 -11320px}.emoji1f446{background-position:0 -11340px}.emoji1f447{background-position:0 -11360px}.emoji1f448{background-position:0 -11380px}.emoji1f449{background-position:0 -11400px}.emoji1f44b{background-position:0 -11420px}.emoji1f44f{background-position:0 -11440px}.emoji1f44c{background-position:0 -11460px}.emoji1f44e{background-position:0 -11480px}.emoji1f450{background-position:0 -11500px}.msg_card{width:297px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;border:1px solid #e7e7eb}.msg_card .card_content{position:relative;padding:21px 13px 21px 84px;height:60px;line-height:57px;background-color:#3274bb;font-size:18px;border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;color:#fff;font-weight:normal}.msg_card .card_content .logo{position:absolute;top:21px;left:13px;display:block;width:60px;height:60px;border-radius:30px;-moz-border-radius:30px;-webkit-border-radius:30px;padding-top:0;margin-top:0}.msg_card .card_content h4{font-weight:normal}.msg_card .card_content .deco{position:absolute;bottom:-1px;left:-1px;width:297px;height:5px;background:url(card_tpl_deco.png) repeat-x center;border-left:1px solid #e7e7eb;border-right:1px solid #e7e7eb}.msg_card .store{border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;padding:7px 13px;color:#8d8d8d}.msg_card.small_card{width:auto;border:1px solid #dbdbdb}.msg_card.small_card .card_content{padding:10px 6px 10px 42px;height:31px;line-height:28px;font-size:14px}.msg_card.small_card .card_content .logo{width:30px;height:30px;border-radius:15px;-moz-border-radius:15px;-webkit-border-radius:15px;top:10px;left:6px}.msg_card.small_card .store{padding:3px 6px;background-color:#fff}.tab_cont_cover{overflow:hidden}.tab_cont_cover .create_access{padding:82px 0;margin-bottom:0;line-height:normal;position:relative}.tab_cont_cover .create_access strong{padding-top:2px}.tab_cont_cover .upload_file_box{bottom:0;top:auto;width:100%}.tab_cont_cover .appmsg_cover,.tab_cont_cover .media_cover{width:48%;*width:47%;margin-right:2%;float:left}.tab_cont_cover .create_access .add_gray_wrp,.tab_cont_cover .create_access_primary .add_gray_wrp{display:inline-block}.tab_cont_cover .appmsg_cover .create_access:hover .add_gray_wrp{display:none}.tab_cont_cover .media_cover .create_access:hover .add_gray{display:inline-block}.tab_cont_cover .media_cover .create_access:hover .create_new_appmsg{display:none}.tab_cont_cover .media_cover .create_access a:hover{text-decoration:none}.tab_cont_cover .media_cover .create_access a:hover .icon_appmsg_selfcreate{background:url(msg_sender_z35e455.png) 0 0 no-repeat}.tab_cont_cover .media_cover .create_access a:hover .icon_appmsg_share{background:url(msg_sender_z35e455.png) 0 -40px no-repeat}.tab_cont_cover .icon_appmsg_selfcreate{width:36px;height:36px;vertical-align:middle;display:inline-block;background:url(msg_sender_z35e455.png) 0 -80px no-repeat}.tab_cont_cover .icon_appmsg_share{width:36px;height:36px;vertical-align:middle;display:inline-block;background:url(msg_sender_z35e455.png) 0 -120px no-repeat}.msg_sender{border:1px solid #e7e7eb}.msg_sender .tab_navs{border-top-width:0}.msg_sender .tab_content{padding:0}.msg_sender .tab_content .inner{border-width:0}.msg_sender .tab_panel{border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px}.msg_sender .emotion_editor{border-width:0}.msg_sender .richvideo,.msg_sender .appmsg,.msg_sender .richvideo_msg_box{margin-bottom:0}.msg_sender .richvideo .richvideo_content .play_mask{display:none}.msg_sender.small .tab_nav a{padding-left:10px;padding-right:10px}.msg_sender .simple_img .title{display:none}.msg_sender .editor_tip.opr_tips{display:none}.msg_sender .tab_navs_panel{overflow:hidden;*zoom:1;border-bottom:1px solid #e7e7eb}.msg_sender .tab_navs_wrp{overflow:hidden;*zoom:1}.msg_sender .tab_navs{white-space:nowrap;text-align:left;font-size:0;border-bottom-width:0}.msg_sender .tab_nav{float:none;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.msg_sender .tab_navs_switch_wrp{display:none;margin-top:6px}.msg_sender .tab_navs_switch_wrp.switch_prev{float:left}.msg_sender .tab_navs_switch_wrp.switch_next{float:right}.msg_sender .tab_navs_switch{line-height:300px;overflow:hidden;cursor:pointer}.msg_sender .switch_prev .tab_navs_switch{background:transparent url(icon_menu_nav_prev2968da.png) no-repeat 0 0;width:24px;height:24px;vertical-align:middle;display:inline-block;background-position:50% 50%}.msg_sender .switch_next .tab_navs_switch{background:transparent url(icon_menu_nav_next2968da.png) no-repeat 0 0;width:24px;height:24px;vertical-align:middle;display:inline-block;background-position:50% 50%}.tooltip{position:absolute;z-index:10}.tooltip_inner{padding:0 10px;font-size:12px;line-height:20px;color:#fff;background-color:#555556;word-wrap:break-word;word-break:break-all}.tooltip_arrow{position:absolute;bottom:-5px;left:50%;margin-left:-6px;display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;border-bottom-width:0;border-top-color:#555556;border-top-style:solid} \ No newline at end of file diff --git a/public/images/media_dialog_z27dcd8.png b/public/images/media_dialog_z27dcd8.png new file mode 100644 index 0000000..c72e095 Binary files /dev/null and b/public/images/media_dialog_z27dcd8.png differ diff --git a/public/images/msg_sender_z35e455.png b/public/images/msg_sender_z35e455.png new file mode 100644 index 0000000..ccbbf41 Binary files /dev/null and b/public/images/msg_sender_z35e455.png differ diff --git a/public/images/msg_tab_z25df2d.png b/public/images/msg_tab_z25df2d.png new file mode 100644 index 0000000..6a18531 Binary files /dev/null and b/public/images/msg_tab_z25df2d.png differ diff --git a/public/images/pic_menu_preview2968da.png b/public/images/pic_menu_preview2968da.png new file mode 100644 index 0000000..0c4451e Binary files /dev/null and b/public/images/pic_menu_preview2968da.png differ diff --git a/public/img/IEP-logo.png b/public/img/IEP-logo.png new file mode 100644 index 0000000..b777568 Binary files /dev/null and b/public/img/IEP-logo.png differ diff --git a/public/img/bg/bg.png b/public/img/bg/bg.png new file mode 100644 index 0000000..975d1b5 Binary files /dev/null and b/public/img/bg/bg.png differ diff --git a/public/img/bg/cloud.jpg b/public/img/bg/cloud.jpg new file mode 100644 index 0000000..151a000 Binary files /dev/null and b/public/img/bg/cloud.jpg differ diff --git a/public/img/bg/login.png b/public/img/bg/login.png new file mode 100644 index 0000000..eb92779 Binary files /dev/null and b/public/img/bg/login.png differ diff --git a/public/img/bg/star-squashed.jpg b/public/img/bg/star-squashed.jpg new file mode 100644 index 0000000..2176e39 Binary files /dev/null and b/public/img/bg/star-squashed.jpg differ diff --git a/public/img/code/qq-code.jpg b/public/img/code/qq-code.jpg new file mode 100644 index 0000000..0f9a7d9 Binary files /dev/null and b/public/img/code/qq-code.jpg differ diff --git a/public/img/code/wechat-code.jpg b/public/img/code/wechat-code.jpg new file mode 100644 index 0000000..9217c02 Binary files /dev/null and b/public/img/code/wechat-code.jpg differ diff --git a/public/img/iep-icon.png b/public/img/iep-icon.png new file mode 100644 index 0000000..bf1dbcc Binary files /dev/null and b/public/img/iep-icon.png differ diff --git a/public/img/iep-logo-icon.png b/public/img/iep-logo-icon.png new file mode 100644 index 0000000..8a0c2cc Binary files /dev/null and b/public/img/iep-logo-icon.png differ diff --git a/public/img/login.png b/public/img/login.png new file mode 100644 index 0000000..eb92779 Binary files /dev/null and b/public/img/login.png differ diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000..1db7c37 Binary files /dev/null and b/public/img/logo.png differ diff --git a/public/img/notFound.png b/public/img/notFound.png new file mode 100644 index 0000000..b31ba6c Binary files /dev/null and b/public/img/notFound.png differ diff --git a/public/img/white-logo.png b/public/img/white-logo.png new file mode 100644 index 0000000..b35c32c Binary files /dev/null and b/public/img/white-logo.png differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..01f39db --- /dev/null +++ b/public/index.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + iMES + + + + +
+
+
+ loading +
正在加载资源
+
初次加载资源可能需要较多时间 请耐心等待
+
+ +
+
+ + + + + diff --git a/public/libs/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon.ttf b/public/libs/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon.ttf new file mode 100644 index 0000000..b546c0a Binary files /dev/null and b/public/libs/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon.ttf differ diff --git a/public/libs/monaco-editor/vs/base/worker/workerMain.js b/public/libs/monaco-editor/vs/base/worker/workerMain.js new file mode 100644 index 0000000..1a433ee --- /dev/null +++ b/public/libs/monaco-editor/vs/base/worker/workerMain.js @@ -0,0 +1,12 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/(function(){var z=["require","exports","vs/base/common/platform","vs/editor/common/core/position","vs/base/common/errors","vs/base/common/strings","vs/editor/common/core/range","vs/base/common/lifecycle","vs/base/common/stopwatch","vs/base/common/event","vs/base/common/diff/diff","vs/base/common/types","vs/base/common/uint","vs/base/common/uri","vs/base/common/arrays","vs/base/common/diff/diffChange","vs/base/common/iterator","vs/base/common/keyCodes","vs/base/common/linkedList","vs/base/common/process","vs/base/common/path","vs/base/common/cancellation","vs/base/common/hash","vs/editor/common/core/characterClassifier","vs/editor/common/core/selection","vs/editor/common/core/token","vs/editor/common/diff/diffComputer","vs/editor/common/model/wordHelper","vs/editor/common/modes/linkComputer","vs/editor/common/modes/supports/inplaceReplaceSupport","vs/editor/common/standalone/standaloneEnums","vs/editor/common/standalone/standaloneBase","vs/editor/common/viewModel/prefixSumComputer","vs/editor/common/model/mirrorTextModel","vs/base/common/worker/simpleWorker","vs/editor/common/services/editorSimpleWorker"],G=function(I){for(var t=[],p=0,P=I.length;p=0?!0:typeof process!="undefined"?process.platform==="win32":!1},p}();I.Environment=t})(X||(X={}));var X;(function(I){var t=function(){function E(u,d,l){this.type=u,this.detail=d,this.timestamp=l}return E}();I.LoaderEvent=t;var p=function(){function E(u){this._events=[new t(1,"",u)]}return E.prototype.record=function(u,d){this._events.push(new t(u,d,I.Utilities.getHighPerformanceTimestamp()))},E.prototype.getEvents=function(){return this._events},E}();I.LoaderEventRecorder=p;var P=function(){function E(){}return E.prototype.record=function(u,d){},E.prototype.getEvents=function(){return[]},E.INSTANCE=new E,E}();I.NullLoaderEventRecorder=P})(X||(X={}));var X;(function(I){var t=function(){function p(){}return p.fileUriToFilePath=function(P,E){if(E=decodeURI(E).replace(/%23/g,"#"),P){if(/^file:\/\/\//.test(E))return E.substr(8);if(/^file:\/\//.test(E))return E.substr(5)}else if(/^file:\/\//.test(E))return E.substr(7);return E},p.startsWith=function(P,E){return P.length>=E.length&&P.substr(0,E.length)===E},p.endsWith=function(P,E){return P.length>=E.length&&P.substr(P.length-E.length)===E},p.containsQueryString=function(P){return/^[^\#]*\?/gi.test(P)},p.isAbsolutePath=function(P){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(P)},p.forEachProperty=function(P,E){if(P){var u=void 0;for(u in P)P.hasOwnProperty(u)&&E(u,P[u])}},p.isEmpty=function(P){var E=!0;return p.forEachProperty(P,function(){E=!1}),E},p.recursiveClone=function(P){if(!P||typeof P!="object"||P instanceof RegExp||!Array.isArray(P)&&Object.getPrototypeOf(P)!==Object.prototype)return P;var E=Array.isArray(P)?[]:{};return p.forEachProperty(P,function(u,d){d&&typeof d=="object"?E[u]=p.recursiveClone(d):E[u]=d}),E},p.generateAnonymousModule=function(){return"===anonymous"+p.NEXT_ANONYMOUS_ID+++"==="},p.isAnonymousModule=function(P){return p.startsWith(P,"===anonymous")},p.getHighPerformanceTimestamp=function(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=I.global.performance&&typeof I.global.performance.now=="function"),this.HAS_PERFORMANCE_NOW?I.global.performance.now():Date.now()},p.NEXT_ANONYMOUS_ID=1,p.PERFORMANCE_NOW_PROBED=!1,p.HAS_PERFORMANCE_NOW=!1,p}();I.Utilities=t})(X||(X={}));var X;(function(I){function t(E){if(E instanceof Error)return E;var u=new Error(E.message||String(E)||"Unknown Error");return E.stack&&(u.stack=E.stack),u}I.ensureError=t;var p=function(){function E(){}return E.validateConfigurationOptions=function(u){function d(s){if(s.phase==="loading"){console.error('Loading "'+s.moduleId+'" failed'),console.error(s),console.error("Here are the modules that depend on it:"),console.error(s.neededBy);return}if(s.phase==="factory"){console.error('The factory method of "'+s.moduleId+'" has thrown an exception'),console.error(s);return}}if(u=u||{},typeof u.baseUrl!="string"&&(u.baseUrl=""),typeof u.isBuild!="boolean"&&(u.isBuild=!1),typeof u.paths!="object"&&(u.paths={}),typeof u.config!="object"&&(u.config={}),typeof u.catchError=="undefined"&&(u.catchError=!1),typeof u.recordStats=="undefined"&&(u.recordStats=!1),typeof u.urlArgs!="string"&&(u.urlArgs=""),typeof u.onError!="function"&&(u.onError=d),Array.isArray(u.ignoreDuplicateModules)||(u.ignoreDuplicateModules=[]),u.baseUrl.length>0&&(I.Utilities.endsWith(u.baseUrl,"/")||(u.baseUrl+="/")),typeof u.cspNonce!="string"&&(u.cspNonce=""),typeof u.preferScriptTags=="undefined"&&(u.preferScriptTags=!1),Array.isArray(u.nodeModules)||(u.nodeModules=[]),u.nodeCachedData&&typeof u.nodeCachedData=="object"&&(typeof u.nodeCachedData.seed!="string"&&(u.nodeCachedData.seed="seed"),(typeof u.nodeCachedData.writeDelay!="number"||u.nodeCachedData.writeDelay<0)&&(u.nodeCachedData.writeDelay=1e3*7),!u.nodeCachedData.path||typeof u.nodeCachedData.path!="string")){var l=t(new Error("INVALID cached data configuration, 'path' MUST be set"));l.phase="configuration",u.onError(l),u.nodeCachedData=void 0}return u},E.mergeConfigurationOptions=function(u,d){u===void 0&&(u=null),d===void 0&&(d=null);var l=I.Utilities.recursiveClone(d||{});return I.Utilities.forEachProperty(u,function(s,h){s==="ignoreDuplicateModules"&&typeof l.ignoreDuplicateModules!="undefined"?l.ignoreDuplicateModules=l.ignoreDuplicateModules.concat(h):s==="paths"&&typeof l.paths!="undefined"?I.Utilities.forEachProperty(h,function(w,a){return l.paths[w]=a}):s==="config"&&typeof l.config!="undefined"?I.Utilities.forEachProperty(h,function(w,a){return l.config[w]=a}):l[s]=I.Utilities.recursiveClone(h)}),E.validateConfigurationOptions(l)},E}();I.ConfigurationOptionsUtil=p;var P=function(){function E(u,d){if(this._env=u,this.options=p.mergeConfigurationOptions(d),this._createIgnoreDuplicateModulesMap(),this._createNodeModulesMap(),this._createSortedPathsRules(),this.options.baseUrl===""){if(this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode){var l=this.options.nodeRequire.main.filename,s=Math.max(l.lastIndexOf("/"),l.lastIndexOf("\\"));this.options.baseUrl=l.substring(0,s+1)}if(this.options.nodeMain&&this._env.isNode){var l=this.options.nodeMain,s=Math.max(l.lastIndexOf("/"),l.lastIndexOf("\\"));this.options.baseUrl=l.substring(0,s+1)}}}return E.prototype._createIgnoreDuplicateModulesMap=function(){this.ignoreDuplicateModulesMap={};for(var u=0;u=5)){if(_.length0?(C=_.slice(0,16),v=_.slice(16),w.record(60,h)):w.record(61,h),r()})}},l.prototype._verifyCachedData=function(s,h,w,a,S){var v=this;!a||s.cachedDataRejected||setTimeout(function(){var C=v._crypto.createHash("md5").update(h,"utf8").digest();a.equals(C)||(S.getConfig().onError(new Error("FAILED TO VERIFY CACHED DATA, deleting stale '"+w+"' now, but a RESTART IS REQUIRED")),v._fs.unlink(w,function(n){n&&S.getConfig().onError(n)}))},Math.ceil(5e3*(1+Math.random())))},l._BOM=65279,l._PREFIX="(function (require, define, __filename, __dirname) { ",l._SUFFIX=` +});`,l}();function u(l,s){if(s.__$__isRecorded)return s;var h=function(a){l.record(33,a);try{return s(a)}finally{l.record(34,a)}};return h.__$__isRecorded=!0,h}I.ensureRecordedNodeRequire=u;function d(l){return new t(l)}I.createScriptLoader=d})(X||(X={}));var X;(function(I){var t=function(){function l(s){var h=s.lastIndexOf("/");h!==-1?this.fromModulePath=s.substr(0,h+1):this.fromModulePath=""}return l._normalizeModuleId=function(s){var h=s,w;for(w=/\/\.\//;w.test(h);)h=h.replace(w,"/");for(h=h.replace(/^\.\//g,""),w=/\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//;w.test(h);)h=h.replace(w,"/");return h=h.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//,""),h},l.prototype.resolveModule=function(s){var h=s;return I.Utilities.isAbsolutePath(h)||(I.Utilities.startsWith(h,"./")||I.Utilities.startsWith(h,"../"))&&(h=l._normalizeModuleId(this.fromModulePath+h)),h},l.ROOT=new l(""),l}();I.ModuleIdResolver=t;var p=function(){function l(s,h,w,a,S,v){this.id=s,this.strId=h,this.dependencies=w,this._callback=a,this._errorback=S,this.moduleIdResolver=v,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}return l._safeInvokeFunction=function(s,h){try{return{returnedValue:s.apply(I.global,h),producedError:null}}catch(w){return{returnedValue:null,producedError:w}}},l._invokeFactory=function(s,h,w,a){return s.isBuild()&&!I.Utilities.isAnonymousModule(h)?{returnedValue:null,producedError:null}:s.shouldCatchError()?this._safeInvokeFunction(w,a):{returnedValue:w.apply(I.global,a),producedError:null}},l.prototype.complete=function(s,h,w){this._isComplete=!0;var a=null;if(this._callback)if(typeof this._callback=="function"){s.record(21,this.strId);var S=l._invokeFactory(h,this.strId,this._callback,w);a=S.producedError,s.record(22,this.strId),!a&&typeof S.returnedValue!="undefined"&&(!this.exportsPassedIn||I.Utilities.isEmpty(this.exports))&&(this.exports=S.returnedValue)}else this.exports=this._callback;if(a){var v=I.ensureError(a);v.phase="factory",v.moduleId=this.strId,this.error=v,h.onError(v)}this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null},l.prototype.onDependencyError=function(s){return this._isComplete=!0,this.error=s,this._errorback?(this._errorback(s),!0):!1},l.prototype.isComplete=function(){return this._isComplete},l}();I.Module=p;var P=function(){function l(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId("exports"),this.getModuleId("module"),this.getModuleId("require")}return l.prototype.getMaxModuleId=function(){return this._nextId},l.prototype.getModuleId=function(s){var h=this._strModuleIdToIntModuleId.get(s);return typeof h=="undefined"&&(h=this._nextId++,this._strModuleIdToIntModuleId.set(s,h),this._intModuleIdToStrModuleId[h]=s),h},l.prototype.getStrModuleId=function(s){return this._intModuleIdToStrModuleId[s]},l}(),E=function(){function l(s){this.id=s}return l.EXPORTS=new l(0),l.MODULE=new l(1),l.REQUIRE=new l(2),l}();I.RegularDependency=E;var u=function(){function l(s,h,w){this.id=s,this.pluginId=h,this.pluginParam=w}return l}();I.PluginDependency=u;var d=function(){function l(s,h,w,a,S){S===void 0&&(S=0),this._env=s,this._scriptLoader=h,this._loaderAvailableTimestamp=S,this._defineFunc=w,this._requireFunc=a,this._moduleIdProvider=new P,this._config=new I.Configuration(this._env),this._hasDependencyCycle=!1,this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[]}return l.prototype.reset=function(){return new l(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)},l.prototype.getGlobalAMDDefineFunc=function(){return this._defineFunc},l.prototype.getGlobalAMDRequireFunc=function(){return this._requireFunc},l._findRelevantLocationInStack=function(s,h){for(var w=function(i){return i.replace(/\\/g,"/")},a=w(s),S=h.split(/\n/),v=0;v=0){var a=h.resolveModule(s.substr(0,w)),S=h.resolveModule(s.substr(w+1)),v=this._moduleIdProvider.getModuleId(a+"!"+S),C=this._moduleIdProvider.getModuleId(a);return new u(v,C,S)}return new E(this._moduleIdProvider.getModuleId(h.resolveModule(s)))},l.prototype._normalizeDependencies=function(s,h){for(var w=[],a=0,S=0,v=s.length;S0;){var r=n.shift(),m=this._modules2[r];m&&(C=m.onDependencyError(w)||C);var _=this._inverseDependencies2[r];if(_)for(var S=0,v=_.length;S0;){var n=C.shift(),r=n.dependencies;if(r)for(var S=0,v=r.length;S=a.length)h._onLoadError(s,n);else{var r=a[v],m=h.getRecorder();if(h._config.isBuild()&&r==="empty:"){h._buildInfoPath[s]=r,h.defineModule(h._moduleIdProvider.getStrModuleId(s),[],null,null,null),h._onLoad(s);return}m.record(10,r),h._scriptLoader.load(h,r,function(){h._config.isBuild()&&(h._buildInfoPath[s]=r),m.record(11,r),h._onLoad(s)},function(_){m.record(12,r),C(_)})}};C(null)}},l.prototype._loadPluginDependency=function(s,h){var w=this;if(!(this._modules2[h.id]||this._knownModules2[h.id])){this._knownModules2[h.id]=!0;var a=function(S){w.defineModule(w._moduleIdProvider.getStrModuleId(h.id),[],S,null,null)};a.error=function(S){w._config.onError(w._createLoadError(h.id,S))},s.load(h.pluginParam,this._createRequire(t.ROOT),a,this._config.getOptionsLiteral())}},l.prototype._resolve=function(s){var h=this,w=s.dependencies;if(w)for(var a=0,S=w.length;a +`)),s.unresolvedDependenciesCount--;continue}if(this._inverseDependencies2[v.id]=this._inverseDependencies2[v.id]||[],this._inverseDependencies2[v.id].push(s.id),v instanceof u){var r=this._modules2[v.pluginId];if(r&&r.isComplete()){this._loadPluginDependency(r.exports,v);continue}var m=this._inversePluginDependencies2.get(v.pluginId);m||(m=[],this._inversePluginDependencies2.set(v.pluginId,m)),m.push(v),this._loadModule(v.pluginId);continue}this._loadModule(v.id)}s.unresolvedDependenciesCount===0&&this._onModuleComplete(s)},l.prototype._onModuleComplete=function(s){var h=this,w=this.getRecorder();if(!s.isComplete()){var a=s.dependencies,S=[];if(a)for(var v=0,C=a.length;vA===M){if(c===g)return!0;if(!c||!g||c.length!==g.length)return!1;for(let A=0,M=c.length;A0)M=R-1;else return R}return-(A+1)}t.binarySearch=u;function d(c,g){let L=0,A=c.length;if(A===0)return 0;for(;L=g.length)throw new TypeError("invalid index");let A=g[Math.floor(g.length*Math.random())],M=[],R=[],D=[];for(let T of g){const $=L(T,A);$<0?M.push(T):$>0?R.push(T):D.push(T)}return cA?c[$]=R[T++]:T>M?c[$]=R[D++]:g(R[T],R[D])<0?c[$]=R[T++]:c[$]=R[D++]}function w(c,g,L,A,M){if(!(A<=L)){const R=L+(A-L)/2|0;w(c,g,L,R,M),w(c,g,R+1,A,M),!(g(c[R],c[R+1])<=0)&&h(c,g,L,R,A,M)}}function a(c,g){const L=[];let A;for(const M of s(c.slice(0),g))!A||g(A[0],M)!==0?(A=[M],L.push(A)):A.push(M);return L}t.groupBy=a;function S(c){return c.filter(g=>!!g)}t.coalesce=S;function v(c){return!Array.isArray(c)||c.length===0}t.isFalsyOrEmpty=v;function C(c){return Array.isArray(c)&&c.length>0}t.isNonEmptyArray=C;function n(c,g){if(!g)return c.filter((A,M)=>c.indexOf(A)===M);const L=Object.create(null);return c.filter(A=>{const M=g(A);return L[M]?!1:(L[M]=!0,!0)})}t.distinct=n;function r(c){const g=new Set;return c.filter(L=>g.has(L)?!1:(g.add(L),!0))}t.distinctES6=r;function m(c,g){return c.length>0?c[0]:g}t.firstOrDefault=m;function _(c){return[].concat(...c)}t.flatten=_;function o(c,g){let L=typeof g=="number"?c:0;typeof g=="number"?L=c:(L=0,g=c);const A=[];if(L<=g)for(let M=L;Mg;M--)A.push(M);return A}t.range=o;function i(c,g,L){const A=c.slice(0,g),M=c.slice(g);return A.concat(L,M)}t.arrayInsert=i;function f(c,g){const L=c.indexOf(g);L>-1&&(c.splice(L,1),c.unshift(g))}t.pushToStart=f;function b(c,g){const L=c.indexOf(g);L>-1&&(c.splice(L,1),c.push(g))}t.pushToEnd=b;function N(c){return Array.isArray(c)?c:[c]}t.asArray=N}),V(z[15],G([0,1]),function(I,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiffChange=void 0;class p{constructor(E,u,d,l){this.originalStart=E,this.originalLength=u,this.modifiedStart=d,this.modifiedLength=l}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}t.DiffChange=p}),V(z[4],G([0,1]),function(I,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.illegalState=t.illegalArgument=t.canceled=t.isPromiseCanceledError=t.transformErrorForSerialization=t.onUnexpectedExternalError=t.onUnexpectedError=t.errorHandler=t.ErrorHandler=void 0;class p{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(S){setTimeout(()=>{throw S.stack?new Error(S.message+` + +`+S.stack):S},0)}}emit(S){this.listeners.forEach(v=>{v(S)})}onUnexpectedError(S){this.unexpectedErrorHandler(S),this.emit(S)}onUnexpectedExternalError(S){this.unexpectedErrorHandler(S)}}t.ErrorHandler=p,t.errorHandler=new p;function P(a){l(a)||t.errorHandler.onUnexpectedError(a)}t.onUnexpectedError=P;function E(a){l(a)||t.errorHandler.onUnexpectedExternalError(a)}t.onUnexpectedExternalError=E;function u(a){if(a instanceof Error){let{name:S,message:v}=a;const C=a.stacktrace||a.stack;return{$isError:!0,name:S,message:v,stack:C}}return a}t.transformErrorForSerialization=u;const d="Canceled";function l(a){return a instanceof Error&&a.name===d&&a.message===d}t.isPromiseCanceledError=l;function s(){const a=new Error(d);return a.name=a.message,a}t.canceled=s;function h(a){return a?new Error(`Illegal argument: ${a}`):new Error("Illegal argument")}t.illegalArgument=h;function w(a){return a?new Error(`Illegal state: ${a}`):new Error("Illegal state")}t.illegalState=w}),V(z[16],G([0,1]),function(I,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Iterable=void 0;var p;(function(P){function E(f){return f&&typeof f=="object"&&typeof f[Symbol.iterator]=="function"}P.is=E;const u=Object.freeze([]);function d(){return u}P.empty=d;function*l(f){yield f}P.single=l;function s(f){return f||u}P.from=s;function h(f){return!f||f[Symbol.iterator]().next().done===!0}P.isEmpty=h;function w(f){return f[Symbol.iterator]().next().value}P.first=w;function a(f,b){for(const N of f)if(b(N))return!0;return!1}P.some=a;function S(f,b){for(const N of f)if(b(N))return N}P.find=S;function*v(f,b){for(const N of f)b(N)&&(yield N)}P.filter=v;function*C(f,b){for(const N of f)yield b(N)}P.map=C;function*n(...f){for(const b of f)for(const N of b)yield N}P.concat=n;function*r(f){for(const b of f)for(const N of b)yield N}P.concatNested=r;function m(f,b,N){let c=N;for(const g of f)c=b(c,g);return c}P.reduce=m;function*_(f,b,N=f.length){for(b<0&&(b+=f.length),N<0?N+=f.length:N>f.length&&(N=f.length);bc===g){const c=f[Symbol.iterator](),g=b[Symbol.iterator]();for(;;){const L=c.next(),A=g.next();if(L.done!==A.done)return!1;if(L.done)return!0;if(!N(L.value,A.value))return!1}}P.equals=i})(p=t.Iterable||(t.Iterable={}))}),V(z[17],G([0,1,4]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResolvedKeybinding=t.ResolvedKeybindingPart=t.ChordKeybinding=t.SimpleKeybinding=t.createSimpleKeybinding=t.createKeybinding=t.KeyChord=t.KeyCodeUtils=void 0;class P{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(r,m){this._keyCodeToStr[r]=m,this._strToKeyCode[m.toLowerCase()]=r}keyCodeToStr(r){return this._keyCodeToStr[r]}strToKeyCode(r){return this._strToKeyCode[r.toLowerCase()]||0}}const E=new P,u=new P,d=new P;(function(){function n(r,m,_=m,o=_){E.define(r,m),u.define(r,_),d.define(r,o)}n(0,"unknown"),n(1,"Backspace"),n(2,"Tab"),n(3,"Enter"),n(4,"Shift"),n(5,"Ctrl"),n(6,"Alt"),n(7,"PauseBreak"),n(8,"CapsLock"),n(9,"Escape"),n(10,"Space"),n(11,"PageUp"),n(12,"PageDown"),n(13,"End"),n(14,"Home"),n(15,"LeftArrow","Left"),n(16,"UpArrow","Up"),n(17,"RightArrow","Right"),n(18,"DownArrow","Down"),n(19,"Insert"),n(20,"Delete"),n(21,"0"),n(22,"1"),n(23,"2"),n(24,"3"),n(25,"4"),n(26,"5"),n(27,"6"),n(28,"7"),n(29,"8"),n(30,"9"),n(31,"A"),n(32,"B"),n(33,"C"),n(34,"D"),n(35,"E"),n(36,"F"),n(37,"G"),n(38,"H"),n(39,"I"),n(40,"J"),n(41,"K"),n(42,"L"),n(43,"M"),n(44,"N"),n(45,"O"),n(46,"P"),n(47,"Q"),n(48,"R"),n(49,"S"),n(50,"T"),n(51,"U"),n(52,"V"),n(53,"W"),n(54,"X"),n(55,"Y"),n(56,"Z"),n(57,"Meta"),n(58,"ContextMenu"),n(59,"F1"),n(60,"F2"),n(61,"F3"),n(62,"F4"),n(63,"F5"),n(64,"F6"),n(65,"F7"),n(66,"F8"),n(67,"F9"),n(68,"F10"),n(69,"F11"),n(70,"F12"),n(71,"F13"),n(72,"F14"),n(73,"F15"),n(74,"F16"),n(75,"F17"),n(76,"F18"),n(77,"F19"),n(78,"NumLock"),n(79,"ScrollLock"),n(80,";",";","OEM_1"),n(81,"=","=","OEM_PLUS"),n(82,",",",","OEM_COMMA"),n(83,"-","-","OEM_MINUS"),n(84,".",".","OEM_PERIOD"),n(85,"/","/","OEM_2"),n(86,"`","`","OEM_3"),n(110,"ABNT_C1"),n(111,"ABNT_C2"),n(87,"[","[","OEM_4"),n(88,"\\","\\","OEM_5"),n(89,"]","]","OEM_6"),n(90,"'","'","OEM_7"),n(91,"OEM_8"),n(92,"OEM_102"),n(93,"NumPad0"),n(94,"NumPad1"),n(95,"NumPad2"),n(96,"NumPad3"),n(97,"NumPad4"),n(98,"NumPad5"),n(99,"NumPad6"),n(100,"NumPad7"),n(101,"NumPad8"),n(102,"NumPad9"),n(103,"NumPad_Multiply"),n(104,"NumPad_Add"),n(105,"NumPad_Separator"),n(106,"NumPad_Subtract"),n(107,"NumPad_Decimal"),n(108,"NumPad_Divide")})();var l;(function(n){function r(f){return E.keyCodeToStr(f)}n.toString=r;function m(f){return E.strToKeyCode(f)}n.fromString=m;function _(f){return u.keyCodeToStr(f)}n.toUserSettingsUS=_;function o(f){return d.keyCodeToStr(f)}n.toUserSettingsGeneral=o;function i(f){return u.strToKeyCode(f)||d.strToKeyCode(f)}n.fromUserSettings=i})(l=t.KeyCodeUtils||(t.KeyCodeUtils={}));function s(n,r){const m=(r&65535)<<16>>>0;return(n|m)>>>0}t.KeyChord=s;function h(n,r){if(n===0)return null;const m=(n&65535)>>>0,_=(n&4294901760)>>>16;return _!==0?new S([w(m,r),w(_,r)]):new S([w(m,r)])}t.createKeybinding=h;function w(n,r){const m=!!(n&2048),_=!!(n&256),o=r===2?_:m,i=!!(n&1024),f=!!(n&512),b=r===2?m:_,N=n&255;return new a(o,i,f,b,N)}t.createSimpleKeybinding=w;class a{constructor(r,m,_,o,i){this.ctrlKey=r,this.shiftKey=m,this.altKey=_,this.metaKey=o,this.keyCode=i}equals(r){return this.ctrlKey===r.ctrlKey&&this.shiftKey===r.shiftKey&&this.altKey===r.altKey&&this.metaKey===r.metaKey&&this.keyCode===r.keyCode}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toChord(){return new S([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}}t.SimpleKeybinding=a;class S{constructor(r){if(r.length===0)throw p.illegalArgument("parts");this.parts=r}}t.ChordKeybinding=S;class v{constructor(r,m,_,o,i,f){this.ctrlKey=r,this.shiftKey=m,this.altKey=_,this.metaKey=o,this.keyLabel=i,this.keyAriaLabel=f}}t.ResolvedKeybindingPart=v;class C{}t.ResolvedKeybinding=C}),V(z[7],G([0,1,16]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImmortalReference=t.MutableDisposable=t.Disposable=t.DisposableStore=t.toDisposable=t.combinedDisposable=t.dispose=t.isDisposable=t.MultiDisposeError=t.trackDisposable=void 0;const P=!1;let E=null;if(P){const r="__is_disposable_tracked__";E=new class{trackDisposable(m){const _=new Error("Potentially leaked disposable").stack;setTimeout(()=>{m[r]||console.log(_)},3e3)}markTracked(m){if(m&&m!==v.None)try{m[r]=!0}catch(_){}}}}function u(r){!E||E.markTracked(r)}function d(r){return E&&E.trackDisposable(r),r}t.trackDisposable=d;class l extends Error{constructor(m){super(`Encountered errors while disposing of store. Errors: [${m.join(", ")}]`);this.errors=m}}t.MultiDisposeError=l;function s(r){return typeof r.dispose=="function"&&r.dispose.length===0}t.isDisposable=s;function h(r){if(p.Iterable.is(r)){let m=[];for(const _ of r)if(_){u(_);try{_.dispose()}catch(o){m.push(o)}}if(m.length===1)throw m[0];if(m.length>1)throw new l(m);return Array.isArray(r)?[]:r}else if(r)return u(r),r.dispose(),r}t.dispose=h;function w(...r){return r.forEach(u),a(()=>h(r))}t.combinedDisposable=w;function a(r){const m=d({dispose:()=>{u(m),r()}});return m}t.toDisposable=a;class S{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(u(this),this._isDisposed=!0,this.clear())}clear(){try{h(this._toDispose.values())}finally{this._toDispose.clear()}}add(m){if(!m)return m;if(m===this)throw new Error("Cannot register a disposable on itself!");return u(m),this._isDisposed?S.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(m),m}}t.DisposableStore=S,S.DISABLE_DISPOSED_WARNING=!1;class v{constructor(){this._store=new S,d(this)}dispose(){u(this),this._store.dispose()}_register(m){if(m===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(m)}}t.Disposable=v,v.None=Object.freeze({dispose(){}});class C{constructor(){this._isDisposed=!1,d(this)}get value(){return this._isDisposed?void 0:this._value}set value(m){var _;this._isDisposed||m===this._value||((_=this._value)===null||_===void 0||_.dispose(),m&&u(m),this._value=m)}clear(){this.value=void 0}dispose(){var m;this._isDisposed=!0,u(this),(m=this._value)===null||m===void 0||m.dispose(),this._value=void 0}}t.MutableDisposable=C;class n{constructor(m){this.object=m}dispose(){}}t.ImmortalReference=n}),V(z[18],G([0,1]),function(I,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedList=void 0;class p{constructor(u){this.element=u,this.next=p.Undefined,this.prev=p.Undefined}}p.Undefined=new p(void 0);class P{constructor(){this._first=p.Undefined,this._last=p.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===p.Undefined}clear(){this._first=p.Undefined,this._last=p.Undefined,this._size=0}unshift(u){return this._insert(u,!1)}push(u){return this._insert(u,!0)}_insert(u,d){const l=new p(u);if(this._first===p.Undefined)this._first=l,this._last=l;else if(d){const h=this._last;this._last=l,l.prev=h,h.next=l}else{const h=this._first;this._first=l,l.next=h,h.prev=l}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(l))}}shift(){if(this._first!==p.Undefined){const u=this._first.element;return this._remove(this._first),u}}pop(){if(this._last!==p.Undefined){const u=this._last.element;return this._remove(this._last),u}}_remove(u){if(u.prev!==p.Undefined&&u.next!==p.Undefined){const d=u.prev;d.next=u.next,u.next.prev=d}else u.prev===p.Undefined&&u.next===p.Undefined?(this._first=p.Undefined,this._last=p.Undefined):u.next===p.Undefined?(this._last=this._last.prev,this._last.next=p.Undefined):u.prev===p.Undefined&&(this._first=this._first.next,this._first.prev=p.Undefined);this._size-=1}*[Symbol.iterator](){let u=this._first;for(;u!==p.Undefined;)yield u.element,u=u.next}}t.LinkedList=P}),V(z[2],G([0,1]),function(I,t){"use strict";var p;Object.defineProperty(t,"__esModule",{value:!0}),t.isLittleEndian=t.OS=t.setImmediate=t.globals=t.userAgent=t.isIOS=t.isWeb=t.isNative=t.isLinux=t.isMacintosh=t.isWindows=t.isPreferringBrowserCodeLoad=t.browserCodeLoadingCacheStrategy=t.isElectronSandboxed=void 0;const P="en";let E=!1,u=!1,d=!1,l=!1,s=!1,h=!1,w=!1,a,S=P,v,C;const n=typeof self=="object"?self:typeof global=="object"?global:{};let r;typeof process!="undefined"?r=process:typeof n.vscode!="undefined"&&(r=n.vscode.process);const m=typeof((p=r==null?void 0:r.versions)===null||p===void 0?void 0:p.electron)=="string"&&r.type==="renderer";if(t.isElectronSandboxed=m&&(r==null?void 0:r.sandboxed),t.browserCodeLoadingCacheStrategy=(()=>{if(t.isElectronSandboxed)return"bypassHeatCheck";const b=r==null?void 0:r.env.ENABLE_VSCODE_BROWSER_CODE_LOADING;if(typeof b=="string")return b==="none"||b==="code"||b==="bypassHeatCheck"||b==="bypassHeatCheckAndEagerCompile"?b:"bypassHeatCheck"})(),t.isPreferringBrowserCodeLoad=typeof t.browserCodeLoadingCacheStrategy=="string",typeof navigator=="object"&&!m)C=navigator.userAgent,E=C.indexOf("Windows")>=0,u=C.indexOf("Macintosh")>=0,w=(C.indexOf("Macintosh")>=0||C.indexOf("iPad")>=0||C.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,d=C.indexOf("Linux")>=0,h=!0,a=navigator.language,S=a;else if(typeof r=="object"){E=r.platform==="win32",u=r.platform==="darwin",d=r.platform==="linux",l=d&&!!r.env.SNAP&&!!r.env.SNAP_REVISION,a=P,S=P;const b=r.env.VSCODE_NLS_CONFIG;if(b)try{const N=JSON.parse(b),c=N.availableLanguages["*"];a=N.locale,S=c||P,v=N._translationsConfigFile}catch(N){}s=!0}else console.error("Unable to resolve platform.");let _=0;u?_=1:E?_=3:d&&(_=2),t.isWindows=E,t.isMacintosh=u,t.isLinux=d,t.isNative=s,t.isWeb=h,t.isIOS=w,t.userAgent=C,t.globals=n,t.setImmediate=function(){if(t.globals.setImmediate)return t.globals.setImmediate.bind(t.globals);if(typeof t.globals.postMessage=="function"&&!t.globals.importScripts){let c=[];t.globals.addEventListener("message",L=>{if(L.data&&L.data.vscodeSetImmediateId)for(let A=0,M=c.length;A{const A=++g;c.push({id:A,callback:L}),t.globals.postMessage({vscodeSetImmediateId:A},"*")}}if(r&&typeof r.nextTick=="function")return r.nextTick.bind(r);const N=Promise.resolve();return c=>N.then(c)}(),t.OS=u||w?2:E?1:3;let o=!0,i=!1;function f(){if(!i){i=!0;const b=new Uint8Array(2);b[0]=1,b[1]=2,o=new Uint16Array(b.buffer)[0]===(2<<8)+1}return o}t.isLittleEndian=f}),V(z[19],G([0,1,2]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.platform=t.env=t.cwd=void 0;let P;typeof process!="undefined"?P=process:typeof p.globals.vscode!="undefined"?P={get platform(){return p.globals.vscode.process.platform},get env(){return p.globals.vscode.process.env},nextTick(E){return p.setImmediate(E)},cwd(){return p.globals.vscode.process.env.VSCODE_CWD||p.globals.vscode.process.execPath.substr(0,p.globals.vscode.process.execPath.lastIndexOf(p.globals.vscode.process.platform==="win32"?"\\":"/"))}}:P={get platform(){return p.isWindows?"win32":p.isMacintosh?"darwin":"linux"},nextTick(E){return p.setImmediate(E)},get env(){return Object.create(null)},cwd(){return"/"}},t.cwd=P.cwd,t.env=P.env,t.platform=P.platform}),V(z[20],G([0,1,19]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sep=t.extname=t.basename=t.dirname=t.relative=t.resolve=t.normalize=t.posix=t.win32=void 0;const P=65,E=97,u=90,d=122,l=46,s=47,h=92,w=58,a=63;class S extends Error{constructor(i,f,b){let N;typeof f=="string"&&f.indexOf("not ")===0?(N="must not be",f=f.replace(/^not /,"")):N="must be";const c=i.indexOf(".")!==-1?"property":"argument";let g=`The "${i}" ${c} ${N} of type ${f}`;g+=`. Received type ${typeof b}`,super(g),this.code="ERR_INVALID_ARG_TYPE"}}function v(o,i){if(typeof o!="string")throw new S(i,"string",o)}function C(o){return o===s||o===h}function n(o){return o===s}function r(o){return o>=P&&o<=u||o>=E&&o<=d}function m(o,i,f,b){let N="",c=0,g=-1,L=0,A=0;for(let M=0;M<=o.length;++M){if(M2){const R=N.lastIndexOf(f);R===-1?(N="",c=0):(N=N.slice(0,R),c=N.length-1-N.lastIndexOf(f)),g=M,L=0;continue}else if(N.length!==0){N="",c=0,g=M,L=0;continue}}i&&(N+=N.length>0?`${f}..`:"..",c=2)}else N.length>0?N+=`${f}${o.slice(g+1,M)}`:N=o.slice(g+1,M),c=M-g-1;g=M,L=0}else A===l&&L!==-1?++L:L=-1}return N}function _(o,i){if(i===null||typeof i!="object")throw new S("pathObject","Object",i);const f=i.dir||i.root,b=i.base||`${i.name||""}${i.ext||""}`;return f?f===i.root?`${f}${b}`:`${f}${o}${b}`:b}t.win32={resolve(...o){let i="",f="",b=!1;for(let N=o.length-1;N>=-1;N--){let c;if(N>=0){if(c=o[N],v(c,"path"),c.length===0)continue}else i.length===0?c=p.cwd():(c=p.env[`=${i}`]||p.cwd(),(c===void 0||c.slice(0,2).toLowerCase()!==i.toLowerCase()&&c.charCodeAt(2)===h)&&(c=`${i}\\`));const g=c.length;let L=0,A="",M=!1;const R=c.charCodeAt(0);if(g===1)C(R)&&(L=1,M=!0);else if(C(R))if(M=!0,C(c.charCodeAt(1))){let D=2,T=D;for(;D2&&C(c.charCodeAt(2))&&(M=!0,L=3));if(A.length>0)if(i.length>0){if(A.toLowerCase()!==i.toLowerCase())continue}else i=A;if(b){if(i.length>0)break}else if(f=`${c.slice(L)}\\${f}`,b=M,M&&i.length>0)break}return f=m(f,!b,"\\",C),b?`${i}\\${f}`:`${i}${f}`||"."},normalize(o){v(o,"path");const i=o.length;if(i===0)return".";let f=0,b,N=!1;const c=o.charCodeAt(0);if(i===1)return n(c)?"\\":o;if(C(c))if(N=!0,C(o.charCodeAt(1))){let L=2,A=L;for(;L2&&C(o.charCodeAt(2))&&(N=!0,f=3));let g=f0&&C(o.charCodeAt(i-1))&&(g+="\\"),b===void 0?N?`\\${g}`:g:N?`${b}\\${g}`:`${b}${g}`},isAbsolute(o){v(o,"path");const i=o.length;if(i===0)return!1;const f=o.charCodeAt(0);return C(f)||i>2&&r(f)&&o.charCodeAt(1)===w&&C(o.charCodeAt(2))},join(...o){if(o.length===0)return".";let i,f;for(let c=0;c0&&(i===void 0?i=f=g:i+=`\\${g}`)}if(i===void 0)return".";let b=!0,N=0;if(typeof f=="string"&&C(f.charCodeAt(0))){++N;const c=f.length;c>1&&C(f.charCodeAt(1))&&(++N,c>2&&(C(f.charCodeAt(2))?++N:b=!1))}if(b){for(;N=2&&(i=`\\${i.slice(N)}`)}return t.win32.normalize(i)},relative(o,i){if(v(o,"from"),v(i,"to"),o===i)return"";const f=t.win32.resolve(o),b=t.win32.resolve(i);if(f===b||(o=f.toLowerCase(),i=b.toLowerCase(),o===i))return"";let N=0;for(;NN&&o.charCodeAt(c-1)===h;)c--;const g=c-N;let L=0;for(;LL&&i.charCodeAt(A-1)===h;)A--;const M=A-L,R=gR){if(i.charCodeAt(L+T)===h)return b.slice(L+T+1);if(T===2)return b.slice(L+T)}g>R&&(o.charCodeAt(N+T)===h?D=T:T===2&&(D=3)),D===-1&&(D=0)}let $="";for(T=N+D+1;T<=c;++T)(T===c||o.charCodeAt(T)===h)&&($+=$.length===0?"..":"\\..");return L+=D,$.length>0?`${$}${b.slice(L,A)}`:(b.charCodeAt(L)===h&&++L,b.slice(L,A))},toNamespacedPath(o){if(typeof o!="string")return o;if(o.length===0)return"";const i=t.win32.resolve(o);if(i.length<=2)return o;if(i.charCodeAt(0)===h){if(i.charCodeAt(1)===h){const f=i.charCodeAt(2);if(f!==a&&f!==l)return`\\\\?\\UNC\\${i.slice(2)}`}}else if(r(i.charCodeAt(0))&&i.charCodeAt(1)===w&&i.charCodeAt(2)===h)return`\\\\?\\${i}`;return o},dirname(o){v(o,"path");const i=o.length;if(i===0)return".";let f=-1,b=0;const N=o.charCodeAt(0);if(i===1)return C(N)?o:".";if(C(N)){if(f=b=1,C(o.charCodeAt(1))){let L=2,A=L;for(;L2&&C(o.charCodeAt(2))?3:2,b=f);let c=-1,g=!0;for(let L=i-1;L>=b;--L)if(C(o.charCodeAt(L))){if(!g){c=L;break}}else g=!1;if(c===-1){if(f===-1)return".";c=f}return o.slice(0,c)},basename(o,i){i!==void 0&&v(i,"ext"),v(o,"path");let f=0,b=-1,N=!0,c;if(o.length>=2&&r(o.charCodeAt(0))&&o.charCodeAt(1)===w&&(f=2),i!==void 0&&i.length>0&&i.length<=o.length){if(i===o)return"";let g=i.length-1,L=-1;for(c=o.length-1;c>=f;--c){const A=o.charCodeAt(c);if(C(A)){if(!N){f=c+1;break}}else L===-1&&(N=!1,L=c+1),g>=0&&(A===i.charCodeAt(g)?--g==-1&&(b=c):(g=-1,b=L))}return f===b?b=L:b===-1&&(b=o.length),o.slice(f,b)}for(c=o.length-1;c>=f;--c)if(C(o.charCodeAt(c))){if(!N){f=c+1;break}}else b===-1&&(N=!1,b=c+1);return b===-1?"":o.slice(f,b)},extname(o){v(o,"path");let i=0,f=-1,b=0,N=-1,c=!0,g=0;o.length>=2&&o.charCodeAt(1)===w&&r(o.charCodeAt(0))&&(i=b=2);for(let L=o.length-1;L>=i;--L){const A=o.charCodeAt(L);if(C(A)){if(!c){b=L+1;break}continue}N===-1&&(c=!1,N=L+1),A===l?f===-1?f=L:g!==1&&(g=1):f!==-1&&(g=-1)}return f===-1||N===-1||g===0||g===1&&f===N-1&&f===b+1?"":o.slice(f,N)},format:_.bind(null,"\\"),parse(o){v(o,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return i;const f=o.length;let b=0,N=o.charCodeAt(0);if(f===1)return C(N)?(i.root=i.dir=o,i):(i.base=i.name=o,i);if(C(N)){if(b=1,C(o.charCodeAt(1))){let D=2,T=D;for(;D0&&(i.root=o.slice(0,b));let c=-1,g=b,L=-1,A=!0,M=o.length-1,R=0;for(;M>=b;--M){if(N=o.charCodeAt(M),C(N)){if(!A){g=M+1;break}continue}L===-1&&(A=!1,L=M+1),N===l?c===-1?c=M:R!==1&&(R=1):c!==-1&&(R=-1)}return L!==-1&&(c===-1||R===0||R===1&&c===L-1&&c===g+1?i.base=i.name=o.slice(g,L):(i.name=o.slice(g,c),i.base=o.slice(g,L),i.ext=o.slice(c,L))),g>0&&g!==b?i.dir=o.slice(0,g-1):i.dir=i.root,i},sep:"\\",delimiter:";",win32:null,posix:null},t.posix={resolve(...o){let i="",f=!1;for(let b=o.length-1;b>=-1&&!f;b--){const N=b>=0?o[b]:p.cwd();v(N,"path"),N.length!==0&&(i=`${N}/${i}`,f=N.charCodeAt(0)===s)}return i=m(i,!f,"/",n),f?`/${i}`:i.length>0?i:"."},normalize(o){if(v(o,"path"),o.length===0)return".";const i=o.charCodeAt(0)===s,f=o.charCodeAt(o.length-1)===s;return o=m(o,!i,"/",n),o.length===0?i?"/":f?"./":".":(f&&(o+="/"),i?`/${o}`:o)},isAbsolute(o){return v(o,"path"),o.length>0&&o.charCodeAt(0)===s},join(...o){if(o.length===0)return".";let i;for(let f=0;f0&&(i===void 0?i=b:i+=`/${b}`)}return i===void 0?".":t.posix.normalize(i)},relative(o,i){if(v(o,"from"),v(i,"to"),o===i||(o=t.posix.resolve(o),i=t.posix.resolve(i),o===i))return"";const f=1,b=o.length,N=b-f,c=1,g=i.length-c,L=NL){if(i.charCodeAt(c+M)===s)return i.slice(c+M+1);if(M===0)return i.slice(c+M)}else N>L&&(o.charCodeAt(f+M)===s?A=M:M===0&&(A=0));let R="";for(M=f+A+1;M<=b;++M)(M===b||o.charCodeAt(M)===s)&&(R+=R.length===0?"..":"/..");return`${R}${i.slice(c+A)}`},toNamespacedPath(o){return o},dirname(o){if(v(o,"path"),o.length===0)return".";const i=o.charCodeAt(0)===s;let f=-1,b=!0;for(let N=o.length-1;N>=1;--N)if(o.charCodeAt(N)===s){if(!b){f=N;break}}else b=!1;return f===-1?i?"/":".":i&&f===1?"//":o.slice(0,f)},basename(o,i){i!==void 0&&v(i,"ext"),v(o,"path");let f=0,b=-1,N=!0,c;if(i!==void 0&&i.length>0&&i.length<=o.length){if(i===o)return"";let g=i.length-1,L=-1;for(c=o.length-1;c>=0;--c){const A=o.charCodeAt(c);if(A===s){if(!N){f=c+1;break}}else L===-1&&(N=!1,L=c+1),g>=0&&(A===i.charCodeAt(g)?--g==-1&&(b=c):(g=-1,b=L))}return f===b?b=L:b===-1&&(b=o.length),o.slice(f,b)}for(c=o.length-1;c>=0;--c)if(o.charCodeAt(c)===s){if(!N){f=c+1;break}}else b===-1&&(N=!1,b=c+1);return b===-1?"":o.slice(f,b)},extname(o){v(o,"path");let i=-1,f=0,b=-1,N=!0,c=0;for(let g=o.length-1;g>=0;--g){const L=o.charCodeAt(g);if(L===s){if(!N){f=g+1;break}continue}b===-1&&(N=!1,b=g+1),L===l?i===-1?i=g:c!==1&&(c=1):i!==-1&&(c=-1)}return i===-1||b===-1||c===0||c===1&&i===b-1&&i===f+1?"":o.slice(i,b)},format:_.bind(null,"/"),parse(o){v(o,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return i;const f=o.charCodeAt(0)===s;let b;f?(i.root="/",b=1):b=0;let N=-1,c=0,g=-1,L=!0,A=o.length-1,M=0;for(;A>=b;--A){const R=o.charCodeAt(A);if(R===s){if(!L){c=A+1;break}continue}g===-1&&(L=!1,g=A+1),R===l?N===-1?N=A:M!==1&&(M=1):N!==-1&&(M=-1)}if(g!==-1){const R=c===0&&f?1:c;N===-1||M===0||M===1&&N===g-1&&N===c+1?i.base=i.name=o.slice(R,g):(i.name=o.slice(R,N),i.base=o.slice(R,g),i.ext=o.slice(N,g))}return c>0?i.dir=o.slice(0,c-1):f&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null},t.posix.win32=t.win32.win32=t.win32,t.posix.posix=t.win32.posix=t.posix,t.normalize=p.platform==="win32"?t.win32.normalize:t.posix.normalize,t.resolve=p.platform==="win32"?t.win32.resolve:t.posix.resolve,t.relative=p.platform==="win32"?t.win32.relative:t.posix.relative,t.dirname=p.platform==="win32"?t.win32.dirname:t.posix.dirname,t.basename=p.platform==="win32"?t.win32.basename:t.posix.basename,t.extname=p.platform==="win32"?t.win32.extname:t.posix.extname,t.sep=p.platform==="win32"?t.win32.sep:t.posix.sep}),V(z[8],G([0,1,2]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StopWatch=void 0;const P=p.globals.performance&&typeof p.globals.performance.now=="function";class E{constructor(d){this._highResolution=P&&d,this._startTime=this._now(),this._stopTime=-1}static create(d=!0){return new E(d)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?p.globals.performance.now():Date.now()}}t.StopWatch=E}),V(z[9],G([0,1,4,7,18,8]),function(I,t,p,P,E,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Relay=t.EventBufferer=t.PauseableEmitter=t.Emitter=t.Event=void 0;var d;(function(C){C.None=()=>P.Disposable.None;function n(k){return(F,O=null,e)=>{let H=!1,B;return B=k(Q=>{if(!H)return B?B.dispose():H=!0,F.call(O,Q)},null,e),H&&B.dispose(),B}}C.once=n;function r(k,F){return b((O,e=null,H)=>k(B=>O.call(e,F(B)),null,H))}C.map=r;function m(k,F){return b((O,e=null,H)=>k(B=>{F(B),O.call(e,B)},null,H))}C.forEach=m;function _(k,F){return b((O,e=null,H)=>k(B=>F(B)&&O.call(e,B),null,H))}C.filter=_;function o(k){return k}C.signal=o;function i(...k){return(F,O=null,e)=>P.combinedDisposable(...k.map(H=>H(B=>F.call(O,B),null,e)))}C.any=i;function f(k,F,O){let e=O;return r(k,H=>(e=F(e,H),e))}C.reduce=f;function b(k){let F;const O=new w({onFirstListenerAdd(){F=k(O.fire,O)},onLastListenerRemove(){F.dispose()}});return O.event}C.snapshot=b;function N(k,F,O=100,e=!1,H){let B,Q,Z,ie=0;const re=new w({leakWarningThreshold:H,onFirstListenerAdd(){B=k(se=>{ie++,Q=F(Q,se),e&&!Z&&(re.fire(Q),Q=void 0),clearTimeout(Z),Z=setTimeout(()=>{const le=Q;Q=void 0,Z=void 0,(!e||ie>1)&&re.fire(le),ie=0},O)})},onLastListenerRemove(){B.dispose()}});return re.event}C.debounce=N;function c(k){const F=new Date().getTime();return r(n(k),O=>new Date().getTime()-F)}C.stopwatch=c;function g(k){let F=!0,O;return _(k,e=>{const H=F||e!==O;return F=!1,O=e,H})}C.latch=g;function L(k,F=!1,O=[]){let e=O.slice(),H=k(Z=>{e?e.push(Z):Q.fire(Z)});const B=()=>{e&&e.forEach(Z=>Q.fire(Z)),e=null},Q=new w({onFirstListenerAdd(){H||(H=k(Z=>Q.fire(Z)))},onFirstListenerDidAdd(){e&&(F?setTimeout(B):B())},onLastListenerRemove(){H&&H.dispose(),H=null}});return Q.event}C.buffer=L;class A{constructor(F){this.event=F}map(F){return new A(r(this.event,F))}forEach(F){return new A(m(this.event,F))}filter(F){return new A(_(this.event,F))}reduce(F,O){return new A(f(this.event,F,O))}latch(){return new A(g(this.event))}debounce(F,O=100,e=!1,H){return new A(N(this.event,F,O,e,H))}on(F,O,e){return this.event(F,O,e)}once(F,O,e){return n(this.event)(F,O,e)}}function M(k){return new A(k)}C.chain=M;function R(k,F,O=e=>e){const e=(...Z)=>Q.fire(O(...Z)),H=()=>k.on(F,e),B=()=>k.removeListener(F,e),Q=new w({onFirstListenerAdd:H,onLastListenerRemove:B});return Q.event}C.fromNodeEventEmitter=R;function D(k,F,O=e=>e){const e=(...Z)=>Q.fire(O(...Z)),H=()=>k.addEventListener(F,e),B=()=>k.removeEventListener(F,e),Q=new w({onFirstListenerAdd:H,onLastListenerRemove:B});return Q.event}C.fromDOMEventEmitter=D;function T(k){const F=new w;let O=!1;return k.then(void 0,()=>null).then(()=>{O?F.fire(void 0):setTimeout(()=>F.fire(void 0),0)}),O=!0,F.event}C.fromPromise=T;function $(k){return new Promise(F=>n(k)(F))}C.toPromise=$})(d=t.Event||(t.Event={}));class l{constructor(n){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${n}_${l._idPool++}`}start(n){this._stopWatch=new u.StopWatch(!0),this._listenerCount=n}stop(){if(this._stopWatch){const n=this._stopWatch.elapsed();this._elapsedOverall+=n,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${n.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}l._idPool=0;let s=-1;class h{constructor(n,r=Math.random().toString(18).slice(2,5)){this.customThreshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(n){let r=s;if(typeof this.customThreshold=="number"&&(r=this.customThreshold),!(r<=0||n{const o=this._stacks.get(m)||0;this._stacks.set(m,o-1)}}}}class w{constructor(n){var r;this._disposed=!1,this._options=n,this._leakageMon=s>0?new h(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=((r=this._options)===null||r===void 0?void 0:r._profName)?new l(this._options._profName):void 0}get event(){return this._event||(this._event=(n,r,m)=>{var _;this._listeners||(this._listeners=new E.LinkedList);const o=this._listeners.isEmpty();o&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const i=this._listeners.push(r?[n,r]:n);o&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,n,r);const f=(_=this._leakageMon)===null||_===void 0?void 0:_.check(this._listeners.size);let b;return b={dispose:()=>{f&&f(),b.dispose=w._noop,this._disposed||(i(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))}},m instanceof P.DisposableStore?m.add(b):Array.isArray(m)&&m.push(b),b}),this._event}fire(n){var r,m;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new E.LinkedList);for(let _ of this._listeners)this._deliveryQueue.push([_,n]);for((r=this._perfMon)===null||r===void 0||r.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[_,o]=this._deliveryQueue.shift();try{typeof _=="function"?_.call(void 0,o):_[0].call(_[1],o)}catch(i){p.onUnexpectedError(i)}}(m=this._perfMon)===null||m===void 0||m.stop()}}dispose(){var n,r,m;(n=this._listeners)===null||n===void 0||n.clear(),(r=this._deliveryQueue)===null||r===void 0||r.clear(),(m=this._leakageMon)===null||m===void 0||m.dispose(),this._disposed=!0}}t.Emitter=w,w._noop=function(){};class a extends w{constructor(n){super(n);this._isPaused=0,this._eventQueue=new E.LinkedList,this._mergeFn=n==null?void 0:n.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused==0)if(this._mergeFn){const n=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(n))}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(n){this._listeners&&(this._isPaused!==0?this._eventQueue.push(n):super.fire(n))}}t.PauseableEmitter=a;class S{constructor(){this.buffers=[]}wrapEvent(n){return(r,m,_)=>n(o=>{const i=this.buffers[this.buffers.length-1];i?i.push(()=>r.call(m,o)):r.call(m,o)},void 0,_)}bufferEvents(n){const r=[];this.buffers.push(r);const m=n();return this.buffers.pop(),r.forEach(_=>_()),m}}t.EventBufferer=S;class v{constructor(){this.listening=!1,this.inputEvent=d.None,this.inputEventListener=P.Disposable.None,this.emitter=new w({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(n){this.inputEvent=n,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=n(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}t.Relay=v}),V(z[21],G([0,1,9]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const P=Object.freeze(function(l,s){const h=setTimeout(l.bind(s),0);return{dispose(){clearTimeout(h)}}});var E;(function(l){function s(h){return h===l.None||h===l.Cancelled||h instanceof u?!0:!h||typeof h!="object"?!1:typeof h.isCancellationRequested=="boolean"&&typeof h.onCancellationRequested=="function"}l.isCancellationToken=s,l.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:p.Event.None}),l.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:P})})(E=t.CancellationToken||(t.CancellationToken={}));class u{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?P:(this._emitter||(this._emitter=new p.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class d{constructor(s){this._token=void 0,this._parentListener=void 0,this._parentListener=s&&s.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new u),this._token}cancel(){this._token?this._token instanceof u&&this._token.cancel():this._token=E.Cancelled}dispose(s=!1){s&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof u&&this._token.dispose():this._token=E.None}}t.CancellationTokenSource=d}),V(z[5],G([0,1]),function(I,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.breakBetweenGraphemeBreakType=t.getGraphemeBreakType=t.singleLetterHash=t.containsUppercaseCharacter=t.startsWithUTF8BOM=t.UTF8_BOM_CHARACTER=t.isEmojiImprecise=t.isFullWidthCharacter=t.containsFullWidthCharacter=t.containsUnusualLineTerminators=t.UNUSUAL_LINE_TERMINATORS=t.isBasicASCII=t.containsEmoji=t.containsRTL=t.decodeUTF8=t.prevCharLength=t.nextCharLength=t.getNextCodePoint=t.computeCodePoint=t.isLowSurrogate=t.isHighSurrogate=t.commonSuffixLength=t.commonPrefixLength=t.startsWithIgnoreCase=t.equalsIgnoreCase=t.isUpperAsciiLetter=t.isLowerAsciiLetter=t.compareSubstringIgnoreCase=t.compareIgnoreCase=t.compareSubstring=t.compare=t.lastNonWhitespaceIndex=t.getLeadingWhitespace=t.firstNonWhitespaceIndex=t.splitLines=t.regExpFlags=t.regExpLeadsToEndlessLoop=t.createRegExp=t.stripWildcards=t.convertSimple2RegExpPattern=t.rtrim=t.ltrim=t.trim=t.escapeRegExpCharacters=t.escape=t.format=t.isFalsyOrWhitespace=void 0;function p(y){return!y||typeof y!="string"?!0:y.trim().length===0}t.isFalsyOrWhitespace=p;const P=/{(\d+)}/g;function E(y,...U){return U.length===0?y:y.replace(P,function(W,q){const j=parseInt(q,10);return isNaN(j)||j<0||j>=U.length?W:U[j]})}t.format=E;function u(y){return y.replace(/[<>&]/g,function(U){switch(U){case"<":return"<";case">":return">";case"&":return"&";default:return U}})}t.escape=u;function d(y){return y.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}t.escapeRegExpCharacters=d;function l(y,U=" "){const W=s(y,U);return h(W,U)}t.trim=l;function s(y,U){if(!y||!U)return y;const W=U.length;if(W===0||y.length===0)return y;let q=0;for(;y.indexOf(U,q)===q;)q=q+W;return y.substring(q)}t.ltrim=s;function h(y,U){if(!y||!U)return y;const W=U.length,q=y.length;if(W===0||q===0)return y;let j=q,Y=-1;for(;Y=y.lastIndexOf(U,j-1),!(Y===-1||Y+W!==j);){if(Y===0)return"";j=Y}return y.substring(0,j)}t.rtrim=h;function w(y){return y.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}t.convertSimple2RegExpPattern=w;function a(y){return y.replace(/\*/g,"")}t.stripWildcards=a;function S(y,U,W={}){if(!y)throw new Error("Cannot create regex from empty string");U||(y=d(y)),W.wholeWord&&(/\B/.test(y.charAt(0))||(y="\\b"+y),/\B/.test(y.charAt(y.length-1))||(y=y+"\\b"));let q="";return W.global&&(q+="g"),W.matchCase||(q+="i"),W.multiline&&(q+="m"),W.unicode&&(q+="u"),new RegExp(y,q)}t.createRegExp=S;function v(y){return y.source==="^"||y.source==="^$"||y.source==="$"||y.source==="^\\s*$"?!1:!!(y.exec("")&&y.lastIndex===0)}t.regExpLeadsToEndlessLoop=v;function C(y){return(y.global?"g":"")+(y.ignoreCase?"i":"")+(y.multiline?"m":"")+(y.unicode?"u":"")}t.regExpFlags=C;function n(y){return y.split(/\r\n|\r|\n/)}t.splitLines=n;function r(y){for(let U=0,W=y.length;U=0;W--){const q=y.charCodeAt(W);if(q!==32&&q!==9)return W}return-1}t.lastNonWhitespaceIndex=_;function o(y,U){return yU?1:0}t.compare=o;function i(y,U,W=0,q=y.length,j=0,Y=U.length){for(;Wte)return 1}const J=q-W,x=Y-j;return Jx?1:0}t.compareSubstring=i;function f(y,U){return b(y,U,0,y.length,0,U.length)}t.compareIgnoreCase=f;function b(y,U,W=0,q=y.length,j=0,Y=U.length){for(;Wx?1:0}t.compareSubstringIgnoreCase=b;function N(y){return y>=97&&y<=122}t.isLowerAsciiLetter=N;function c(y){return y>=65&&y<=90}t.isUpperAsciiLetter=c;function g(y){return N(y)||c(y)}function L(y,U){return y.length===U.length&&A(y,U)}t.equalsIgnoreCase=L;function A(y,U,W=y.length){for(let q=0;qy.length?!1:A(y,U,W)}t.startsWithIgnoreCase=M;function R(y,U){let W,q=Math.min(y.length,U.length);for(W=0;W1){const q=y.charCodeAt(U-2);if(T(q))return k(q,W)}return W}function e(y,U){const W=ee.getInstance(),q=U,j=y.length,Y=F(y,j,U);U+=Y>=65536?2:1;let J=W.getGraphemeBreakType(Y);for(;U=65536?2:1,J=K}return U-q}t.nextCharLength=e;function H(y,U){const W=ee.getInstance(),q=U,j=O(y,U);U-=j>=65536?2:1;let Y=W.getGraphemeBreakType(j);for(;U>0;){const J=O(y,U),x=W.getGraphemeBreakType(J);if(ue(x,Y))break;U-=J>=65536?2:1,Y=x}return q-U}t.prevCharLength=H;function B(y){const U=y.byteLength,W=[];let q=0;for(;q=240&&q+3>>0|(y[q++]&63)<<12>>>0|(y[q++]&63)<<6>>>0|(y[q++]&63)<<0>>>0:j>=224&&q+2>>0|(y[q++]&63)<<6>>>0|(y[q++]&63)<<0>>>0:j>=192&&q+1>>0|(y[q++]&63)<<0>>>0:Y=y[q++],Y>=0&&Y<=55295||Y>=57344&&Y<=65535)W.push(String.fromCharCode(Y));else if(Y>=65536&&Y<=1114111){const J=Y-65536,x=55296+((J&1047552)>>>10),K=56320+((J&1023)>>>0);W.push(String.fromCharCode(x)),W.push(String.fromCharCode(K))}else W.push(String.fromCharCode(65533))}return W.join("")}t.decodeUTF8=B;const Q=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function Z(y){return Q.test(y)}t.containsRTL=Z;const ie=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDED6])/;function re(y){return ie.test(y)}t.containsEmoji=re;const se=/^[\t\n\r\x20-\x7E]*$/;function le(y){return se.test(y)}t.isBasicASCII=le,t.UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;function he(y){return t.UNUSUAL_LINE_TERMINATORS.test(y)}t.containsUnusualLineTerminators=he;function de(y){for(let U=0,W=y.length;U=11904&&y<=55215||y>=63744&&y<=64255||y>=65281&&y<=65374}t.isFullWidthCharacter=ae;function me(y){return y>=127462&&y<=127487||y===8986||y===8987||y===9200||y===9203||y>=9728&&y<=10175||y===11088||y===11093||y>=127744&&y<=128591||y>=128640&&y<=128764||y>=128992&&y<=129003||y>=129280&&y<=129535||y>=129648&&y<=129750}t.isEmojiImprecise=me,t.UTF8_BOM_CHARACTER=String.fromCharCode(65279);function ge(y){return!!(y&&y.length>0&&y.charCodeAt(0)===65279)}t.startsWithUTF8BOM=ge;function _e(y,U=!1){return y?(U&&(y=y.replace(/\\./g,"")),y.toLowerCase()!==y):!1}t.containsUppercaseCharacter=_e;function ve(y){const U=90-65+1;return y=y%(2*U),yW[3*j+1])j=2*j+1;else return W[3*j+2];return 0}}ee._INSTANCE=null;function be(){return JSON.parse("[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]")}}),V(z[22],G([0,1,5]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringSHA1=t.toHexString=t.stringHash=t.doHash=t.hash=void 0;function P(n){return E(n,0)}t.hash=P;function E(n,r){switch(typeof n){case"object":return n===null?u(349,r):Array.isArray(n)?s(n,r):h(n,r);case"string":return l(n,r);case"boolean":return d(n,r);case"number":return u(n,r);case"undefined":return u(937,r);default:return u(617,r)}}t.doHash=E;function u(n,r){return(r<<5)-r+n|0}function d(n,r){return u(n?433:863,r)}function l(n,r){r=u(149417,r);for(let m=0,_=n.length;m<_;m++)r=u(n.charCodeAt(m),r);return r}t.stringHash=l;function s(n,r){return r=u(104579,r),n.reduce((m,_)=>E(_,m),r)}function h(n,r){return r=u(181387,r),Object.keys(n).sort().reduce((m,_)=>(m=l(_,m),E(n[_],m)),r)}function w(n,r,m=32){const _=m-r,o=~((1<<_)-1);return(n<>>_)>>>0}function a(n,r=0,m=n.byteLength,_=0){for(let o=0;om.toString(16).padStart(2,"0")).join(""):S((n>>>0).toString(16),r/4)}t.toHexString=v;class C{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(64+3),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(r){const m=r.length;if(m!==0){const _=this._buff;let o=this._buffLen,i=this._leftoverHighSurrogate,f,b;for(i!==0?(f=i,b=-1,i=0):(f=r.charCodeAt(0),b=0);;){let N=f;if(p.isHighSurrogate(f))if(b+1>>6,r[m++]=128|(_&63)>>>0):_<65536?(r[m++]=224|(_&61440)>>>12,r[m++]=128|(_&4032)>>>6,r[m++]=128|(_&63)>>>0):(r[m++]=240|(_&1835008)>>>18,r[m++]=128|(_&258048)>>>12,r[m++]=128|(_&4032)>>>6,r[m++]=128|(_&63)>>>0),m>=64&&(this._step(),m-=64,this._totalLen+=64,r[0]=r[64+0],r[1]=r[64+1],r[2]=r[64+2]),m}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),v(this._h0)+v(this._h1)+v(this._h2)+v(this._h3)+v(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,a(this._buff,this._buffLen),this._buffLen>56&&(this._step(),a(this._buff));const r=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(r/4294967296),!1),this._buffDV.setUint32(60,r%4294967296,!1),this._step()}_step(){const r=C._bigBlock32,m=this._buffDV;for(let L=0;L<64;L+=4)r.setUint32(L,m.getUint32(L,!1),!1);for(let L=64;L<320;L+=4)r.setUint32(L,w(r.getUint32(L-12,!1)^r.getUint32(L-32,!1)^r.getUint32(L-56,!1)^r.getUint32(L-64,!1),1),!1);let _=this._h0,o=this._h1,i=this._h2,f=this._h3,b=this._h4,N,c,g;for(let L=0;L<80;L++)L<20?(N=o&i|~o&f,c=1518500249):L<40?(N=o^i^f,c=1859775393):L<60?(N=o&i|o&f|i&f,c=2400959708):(N=o^i^f,c=3395469782),g=w(_,5)+N+b+c+r.getUint32(L*4,!1)&4294967295,b=f,f=i,i=w(o,30),o=_,_=g;this._h0=this._h0+_&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+i&4294967295,this._h3=this._h3+f&4294967295,this._h4=this._h4+b&4294967295}}t.StringSHA1=C,C._bigBlock32=new DataView(new ArrayBuffer(320))}),V(z[10],G([0,1,15,22]),function(I,t,p,P){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LcsDiff=t.MyArray=t.Debug=t.stringDiff=t.StringDiffSequence=void 0;class E{constructor(a){this.source=a}getElements(){const a=this.source,S=new Int32Array(a.length);for(let v=0,C=a.length;v0||this.m_modifiedCount>0)&&this.m_changes.push(new p.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(a,S){this.m_originalStart=Math.min(this.m_originalStart,a),this.m_modifiedStart=Math.min(this.m_modifiedStart,S),this.m_originalCount++}AddModifiedElement(a,S){this.m_originalStart=Math.min(this.m_originalStart,a),this.m_modifiedStart=Math.min(this.m_modifiedStart,S),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class h{constructor(a,S,v=null){this.ContinueProcessingPredicate=v;const[C,n,r]=h._getElements(a),[m,_,o]=h._getElements(S);this._hasStrings=r&&o,this._originalStringElements=C,this._originalElementsOrHash=n,this._modifiedStringElements=m,this._modifiedElementsOrHash=_,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(a){return a.length>0&&typeof a[0]=="string"}static _getElements(a){const S=a.getElements();if(h._isStringArray(S)){const v=new Int32Array(S.length);for(let C=0,n=S.length;C=a&&C>=v&&this.ElementsAreEqual(S,C);)S--,C--;if(a>S||v>C){let f;return v<=C?(d.Assert(a===S+1,"originalStart should only be one more than originalEnd"),f=[new p.DiffChange(a,0,v,C-v+1)]):a<=S?(d.Assert(v===C+1,"modifiedStart should only be one more than modifiedEnd"),f=[new p.DiffChange(a,S-a+1,v,0)]):(d.Assert(a===S+1,"originalStart should only be one more than originalEnd"),d.Assert(v===C+1,"modifiedStart should only be one more than modifiedEnd"),f=[]),f}const r=[0],m=[0],_=this.ComputeRecursionPoint(a,S,v,C,r,m,n),o=r[0],i=m[0];if(_!==null)return _;if(!n[0]){const f=this.ComputeDiffRecursive(a,o,v,i,n);let b=[];return n[0]?b=[new p.DiffChange(o+1,S-(o+1)+1,i+1,C-(i+1)+1)]:b=this.ComputeDiffRecursive(o+1,S,i+1,C,n),this.ConcatenateChanges(f,b)}return[new p.DiffChange(a,S-a+1,v,C-v+1)]}WALKTRACE(a,S,v,C,n,r,m,_,o,i,f,b,N,c,g,L,A,M){let R=null,D=null,T=new s,$=S,k=v,F=N[0]-L[0]-C,O=-1073741824,e=this.m_forwardHistory.length-1;do{const H=F+a;H===$||H=0&&(o=this.m_forwardHistory[e],a=o[0],$=1,k=o.length-1)}while(--e>=-1);if(R=T.getReverseChanges(),M[0]){let H=N[0]+1,B=L[0]+1;if(R!==null&&R.length>0){const Q=R[R.length-1];H=Math.max(H,Q.getOriginalEnd()),B=Math.max(B,Q.getModifiedEnd())}D=[new p.DiffChange(H,b-H+1,B,g-B+1)]}else{T=new s,$=r,k=m,F=N[0]-L[0]-_,O=1073741824,e=A?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const H=F+n;H===$||H=i[H+1]?(f=i[H+1]-1,c=f-F-_,f>O&&T.MarkNextChange(),O=f+1,T.AddOriginalElement(f+1,c+1),F=H+1-n):(f=i[H-1],c=f-F-_,f>O&&T.MarkNextChange(),O=f,T.AddModifiedElement(f+1,c+1),F=H-1-n),e>=0&&(i=this.m_reverseHistory[e],n=i[0],$=1,k=i.length-1)}while(--e>=-1);D=T.getChanges()}return this.ConcatenateChanges(R,D)}ComputeRecursionPoint(a,S,v,C,n,r,m){let _=0,o=0,i=0,f=0,b=0,N=0;a--,v--,n[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const c=S-a+(C-v),g=c+1,L=new Int32Array(g),A=new Int32Array(g),M=C-v,R=S-a,D=a-v,T=S-C,k=(R-M)%2==0;L[M]=a,A[R]=S,m[0]=!1;for(let F=1;F<=c/2+1;F++){let O=0,e=0;i=this.ClipDiagonalBound(M-F,F,M,g),f=this.ClipDiagonalBound(M+F,F,M,g);for(let B=i;B<=f;B+=2){B===i||BO+e&&(O=_,e=o),!k&&Math.abs(B-R)<=F-1&&_>=A[B])return n[0]=_,r[0]=o,Q<=A[B]&&1447>0&&F<=1447+1?this.WALKTRACE(M,i,f,D,R,b,N,T,L,A,_,S,n,o,C,r,k,m):null}const H=(O-a+(e-v)-F)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(O,H))return m[0]=!0,n[0]=O,r[0]=e,H>0&&1447>0&&F<=1447+1?this.WALKTRACE(M,i,f,D,R,b,N,T,L,A,_,S,n,o,C,r,k,m):(a++,v++,[new p.DiffChange(a,S-a+1,v,C-v+1)]);b=this.ClipDiagonalBound(R-F,F,R,g),N=this.ClipDiagonalBound(R+F,F,R,g);for(let B=b;B<=N;B+=2){B===b||B=A[B+1]?_=A[B+1]-1:_=A[B-1],o=_-(B-R)-T;const Q=_;for(;_>a&&o>v&&this.ElementsAreEqual(_,o);)_--,o--;if(A[B]=_,k&&Math.abs(B-M)<=F&&_<=L[B])return n[0]=_,r[0]=o,Q>=L[B]&&1447>0&&F<=1447+1?this.WALKTRACE(M,i,f,D,R,b,N,T,L,A,_,S,n,o,C,r,k,m):null}if(F<=1447){let B=new Int32Array(f-i+2);B[0]=M-i+1,l.Copy2(L,i,B,1,f-i+1),this.m_forwardHistory.push(B),B=new Int32Array(N-b+2),B[0]=R-b+1,l.Copy2(A,b,B,1,N-b+1),this.m_reverseHistory.push(B)}}return this.WALKTRACE(M,i,f,D,R,b,N,T,L,A,_,S,n,o,C,r,k,m)}PrettifyChanges(a){for(let S=0;S0,m=v.modifiedLength>0;for(;v.originalStart+v.originalLength=0;S--){const v=a[S];let C=0,n=0;if(S>0){const i=a[S-1];i.originalLength>0&&(C=i.originalStart+i.originalLength),i.modifiedLength>0&&(n=i.modifiedStart+i.modifiedLength)}const r=v.originalLength>0,m=v.modifiedLength>0;let _=0,o=this._boundaryScore(v.originalStart,v.originalLength,v.modifiedStart,v.modifiedLength);for(let i=1;;i++){const f=v.originalStart-i,b=v.modifiedStart-i;if(fo&&(o=N,_=i)}v.originalStart-=_,v.modifiedStart-=_}if(this._hasStrings)for(let S=1,v=a.length;S0&&N>_&&(_=N,o=f,i=b)}return _>0?[o,i]:null}_contiguousSequenceScore(a,S,v){let C=0;for(let n=0;n=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[a])}_OriginalRegionIsBoundary(a,S){if(this._OriginalIsBoundary(a)||this._OriginalIsBoundary(a-1))return!0;if(S>0){const v=a+S;if(this._OriginalIsBoundary(v-1)||this._OriginalIsBoundary(v))return!0}return!1}_ModifiedIsBoundary(a){return a<=0||a>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[a])}_ModifiedRegionIsBoundary(a,S){if(this._ModifiedIsBoundary(a)||this._ModifiedIsBoundary(a-1))return!0;if(S>0){const v=a+S;if(this._ModifiedIsBoundary(v-1)||this._ModifiedIsBoundary(v))return!0}return!1}_boundaryScore(a,S,v,C){const n=this._OriginalRegionIsBoundary(a,S)?1:0,r=this._ModifiedRegionIsBoundary(v,C)?1:0;return n+r}ConcatenateChanges(a,S){let v=[];if(a.length===0||S.length===0)return S.length>0?S:a;if(this.ChangesOverlap(a[a.length-1],S[0],v)){const C=new Array(a.length+S.length-1);return l.Copy(a,0,C,0,a.length-1),C[a.length-1]=v[0],l.Copy(S,1,C,a.length,S.length-1),C}else{const C=new Array(a.length+S.length);return l.Copy(a,0,C,0,a.length),l.Copy(S,0,C,a.length,S.length),C}}ChangesOverlap(a,S,v){if(d.Assert(a.originalStart<=S.originalStart,"Left change is not less than or equal to right change"),d.Assert(a.modifiedStart<=S.modifiedStart,"Left change is not less than or equal to right change"),a.originalStart+a.originalLength>=S.originalStart||a.modifiedStart+a.modifiedLength>=S.modifiedStart){const C=a.originalStart;let n=a.originalLength;const r=a.modifiedStart;let m=a.modifiedLength;return a.originalStart+a.originalLength>=S.originalStart&&(n=S.originalStart+S.originalLength-a.originalStart),a.modifiedStart+a.modifiedLength>=S.modifiedStart&&(m=S.modifiedStart+S.modifiedLength-a.modifiedStart),v[0]=new p.DiffChange(C,n,r,m),!0}else return v[0]=null,!1}ClipDiagonalBound(a,S,v,C){if(a>=0&&afunction(){const N=Array.prototype.slice.call(arguments,0);return o(b,N)};let f={};for(const b of _)f[b]=i(b);return f}t.createProxyObject=r;function m(_){return _===null?void 0:_}t.withNullAsUndefined=m}),V(z[12],G([0,1]),function(I,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toUint32=t.toUint8=void 0;function p(E){return E<0?0:E>255?255:E|0}t.toUint8=p;function P(E){return E<0?0:E>4294967295?4294967295:E|0}t.toUint32=P}),V(z[13],G([0,1,2,20]),function(I,t,p,P){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uriToFsPath=t.URI=void 0;const E=/^\w[\w\d+.-]*$/,u=/^\//,d=/^\/\//;function l(c,g){if(!c.scheme&&g)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${c.authority}", path: "${c.path}", query: "${c.query}", fragment: "${c.fragment}"}`);if(c.scheme&&!E.test(c.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(c.path){if(c.authority){if(!u.test(c.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(d.test(c.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function s(c,g){return!c&&!g?"file":c}function h(c,g){switch(c){case"https":case"http":case"file":g?g[0]!==a&&(g=a+g):g=a;break}return g}const w="",a="/",S=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class v{constructor(g,L,A,M,R,D=!1){typeof g=="object"?(this.scheme=g.scheme||w,this.authority=g.authority||w,this.path=g.path||w,this.query=g.query||w,this.fragment=g.fragment||w):(this.scheme=s(g,D),this.authority=L||w,this.path=h(this.scheme,A||w),this.query=M||w,this.fragment=R||w,l(this,D))}static isUri(g){return g instanceof v?!0:g?typeof g.authority=="string"&&typeof g.fragment=="string"&&typeof g.path=="string"&&typeof g.query=="string"&&typeof g.scheme=="string"&&typeof g.fsPath=="string"&&typeof g.with=="function"&&typeof g.toString=="function":!1}get fsPath(){return o(this,!1)}with(g){if(!g)return this;let{scheme:L,authority:A,path:M,query:R,fragment:D}=g;return L===void 0?L=this.scheme:L===null&&(L=w),A===void 0?A=this.authority:A===null&&(A=w),M===void 0?M=this.path:M===null&&(M=w),R===void 0?R=this.query:R===null&&(R=w),D===void 0?D=this.fragment:D===null&&(D=w),L===this.scheme&&A===this.authority&&M===this.path&&R===this.query&&D===this.fragment?this:new n(L,A,M,R,D)}static parse(g,L=!1){const A=S.exec(g);return A?new n(A[2]||w,N(A[4]||w),N(A[5]||w),N(A[7]||w),N(A[9]||w),L):new n(w,w,w,w,w)}static file(g){let L=w;if(p.isWindows&&(g=g.replace(/\\/g,a)),g[0]===a&&g[1]===a){const A=g.indexOf(a,2);A===-1?(L=g.substring(2),g=a):(L=g.substring(2,A),g=g.substring(A)||a)}return new n("file",L,g,w,w)}static from(g){return new n(g.scheme,g.authority,g.path,g.query,g.fragment)}static joinPath(g,...L){if(!g.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let A;return p.isWindows&&g.scheme==="file"?A=v.file(P.win32.join(o(g,!0),...L)).path:A=P.posix.join(g.path,...L),g.with({path:A})}toString(g=!1){return i(this,g)}toJSON(){return this}static revive(g){if(g){if(g instanceof v)return g;{const L=new n(g);return L._formatted=g.external,L._fsPath=g._sep===C?g.fsPath:null,L}}else return g}}t.URI=v;const C=p.isWindows?1:void 0;class n extends v{constructor(){super(...arguments);this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=o(this,!1)),this._fsPath}toString(g=!1){return g?i(this,!0):(this._formatted||(this._formatted=i(this,!1)),this._formatted)}toJSON(){const g={$mid:1};return this._fsPath&&(g.fsPath=this._fsPath,g._sep=C),this._formatted&&(g.external=this._formatted),this.path&&(g.path=this.path),this.scheme&&(g.scheme=this.scheme),this.authority&&(g.authority=this.authority),this.query&&(g.query=this.query),this.fragment&&(g.fragment=this.fragment),g}}const r={[58]:"%3A",[47]:"%2F",[63]:"%3F",[35]:"%23",[91]:"%5B",[93]:"%5D",[64]:"%40",[33]:"%21",[36]:"%24",[38]:"%26",[39]:"%27",[40]:"%28",[41]:"%29",[42]:"%2A",[43]:"%2B",[44]:"%2C",[59]:"%3B",[61]:"%3D",[32]:"%20"};function m(c,g){let L,A=-1;for(let M=0;M=97&&R<=122||R>=65&&R<=90||R>=48&&R<=57||R===45||R===46||R===95||R===126||g&&R===47)A!==-1&&(L+=encodeURIComponent(c.substring(A,M)),A=-1),L!==void 0&&(L+=c.charAt(M));else{L===void 0&&(L=c.substr(0,M));const D=r[R];D!==void 0?(A!==-1&&(L+=encodeURIComponent(c.substring(A,M)),A=-1),L+=D):A===-1&&(A=M)}}return A!==-1&&(L+=encodeURIComponent(c.substring(A))),L!==void 0?L:c}function _(c){let g;for(let L=0;L1&&c.scheme==="file"?L=`//${c.authority}${c.path}`:c.path.charCodeAt(0)===47&&(c.path.charCodeAt(1)>=65&&c.path.charCodeAt(1)<=90||c.path.charCodeAt(1)>=97&&c.path.charCodeAt(1)<=122)&&c.path.charCodeAt(2)===58?g?L=c.path.substr(1):L=c.path[1].toLowerCase()+c.path.substr(2):L=c.path,p.isWindows&&(L=L.replace(/\//g,"\\")),L}t.uriToFsPath=o;function i(c,g){const L=g?_:m;let A="",{scheme:M,authority:R,path:D,query:T,fragment:$}=c;if(M&&(A+=M,A+=":"),(R||M==="file")&&(A+=a,A+=a),R){let k=R.indexOf("@");if(k!==-1){const F=R.substr(0,k);R=R.substr(k+1),k=F.indexOf(":"),k===-1?A+=L(F,!1):(A+=L(F.substr(0,k),!1),A+=":",A+=L(F.substr(k+1),!1)),A+="@"}R=R.toLowerCase(),k=R.indexOf(":"),k===-1?A+=L(R,!1):(A+=L(R.substr(0,k),!1),A+=R.substr(k))}if(D){if(D.length>=3&&D.charCodeAt(0)===47&&D.charCodeAt(2)===58){const k=D.charCodeAt(1);k>=65&&k<=90&&(D=`/${String.fromCharCode(k+32)}:${D.substr(3)}`)}else if(D.length>=2&&D.charCodeAt(1)===58){const k=D.charCodeAt(0);k>=65&&k<=90&&(D=`${String.fromCharCode(k+32)}:${D.substr(2)}`)}A+=L(D,!0)}return T&&(A+="?",A+=L(T,!1)),$&&(A+="#",A+=g?$:m($,!1)),A}function f(c){try{return decodeURIComponent(c)}catch(g){return c.length>3?c.substr(0,3)+f(c.substr(3)):c}}const b=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function N(c){return c.match(b)?c.replace(b,g=>f(g)):c}}),V(z[34],G([0,1,4,7,2,11]),function(I,t,p,P,E,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=t.SimpleWorkerServer=t.SimpleWorkerClient=t.logOnceWebWorkerWarning=void 0;const d="$initialize";let l=!1;function s(v){!E.isWeb||(l||(l=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(v.message))}t.logOnceWebWorkerWarning=s;class h{constructor(C){this._workerId=-1,this._handler=C,this._lastSentReq=0,this._pendingReplies=Object.create(null)}setWorkerId(C){this._workerId=C}sendMessage(C,n){let r=String(++this._lastSentReq);return new Promise((m,_)=>{this._pendingReplies[r]={resolve:m,reject:_},this._send({vsWorker:this._workerId,req:r,method:C,args:n})})}handleMessage(C){!C||!C.vsWorker||this._workerId!==-1&&C.vsWorker!==this._workerId||this._handleMessage(C)}_handleMessage(C){if(C.seq){let _=C;if(!this._pendingReplies[_.seq]){console.warn("Got reply to unknown seq");return}let o=this._pendingReplies[_.seq];if(delete this._pendingReplies[_.seq],_.err){let i=_.err;_.err.$isError&&(i=new Error,i.name=_.err.name,i.message=_.err.message,i.stack=_.err.stack),o.reject(i);return}o.resolve(_.res);return}let n=C,r=n.req;this._handler.handleMessage(n.method,n.args).then(_=>{this._send({vsWorker:this._workerId,seq:r,res:_,err:void 0})},_=>{_.detail instanceof Error&&(_.detail=p.transformErrorForSerialization(_.detail)),this._send({vsWorker:this._workerId,seq:r,res:void 0,err:p.transformErrorForSerialization(_)})})}_send(C){let n=[];if(C.req){const r=C;for(let m=0;m{this._protocol.handleMessage(f)},f=>{m&&m(f)})),this._protocol=new h({sendMessage:(f,b)=>{this._worker.postMessage(f,b)},handleMessage:(f,b)=>{if(typeof r[f]!="function")return Promise.reject(new Error("Missing method "+f+" on main thread host."));try{return Promise.resolve(r[f].apply(r,b))}catch(N){return Promise.reject(N)}}}),this._protocol.setWorkerId(this._worker.getId());let _=null;typeof self.require!="undefined"&&typeof self.require.getConfig=="function"?_=self.require.getConfig():typeof self.requirejs!="undefined"&&(_=self.requirejs.s.contexts._.config);const o=u.getAllMethodNames(r);this._onModuleLoaded=this._protocol.sendMessage(d,[this._worker.getId(),JSON.parse(JSON.stringify(_)),n,o]);const i=(f,b)=>this._request(f,b);this._lazyProxy=new Promise((f,b)=>{m=b,this._onModuleLoaded.then(N=>{f(u.createProxyObject(N,i))},N=>{b(N),this._onError("Worker failed to load "+n,N)})})}getProxyObject(){return this._lazyProxy}_request(C,n){return new Promise((r,m)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(C,n).then(r,m)},m)})}_onError(C,n){console.error(C),console.info(n)}}t.SimpleWorkerClient=w;class a{constructor(C,n){this._requestHandlerFactory=n,this._requestHandler=null,this._protocol=new h({sendMessage:(r,m)=>{C(r,m)},handleMessage:(r,m)=>this._handleMessage(r,m)})}onmessage(C){this._protocol.handleMessage(C)}_handleMessage(C,n){if(C===d)return this.initialize(n[0],n[1],n[2],n[3]);if(!this._requestHandler||typeof this._requestHandler[C]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+C));try{return Promise.resolve(this._requestHandler[C].apply(this._requestHandler,n))}catch(r){return Promise.reject(r)}}initialize(C,n,r,m){this._protocol.setWorkerId(C);const _=(i,f)=>this._protocol.sendMessage(i,f),o=u.createProxyObject(m,_);return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(o),Promise.resolve(u.getAllMethodNames(this._requestHandler))):(n&&(typeof n.baseUrl!="undefined"&&delete n.baseUrl,typeof n.paths!="undefined"&&typeof n.paths.vs!="undefined"&&delete n.paths.vs,typeof n.trustedTypesPolicy!==void 0&&delete n.trustedTypesPolicy,n.catchError=!0,self.require.config(n)),new Promise((i,f)=>{self.require([r],b=>{if(this._requestHandler=b.create(o),!this._requestHandler){f(new Error("No RequestHandler!"));return}i(u.getAllMethodNames(this._requestHandler))},f)}))}}t.SimpleWorkerServer=a;function S(v){return new a(v,null)}t.create=S}),V(z[23],G([0,1,12]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterSet=t.CharacterClassifier=void 0;class P{constructor(d){let l=p.toUint8(d);this._defaultValue=l,this._asciiMap=P._createAsciiMap(l),this._map=new Map}static _createAsciiMap(d){let l=new Uint8Array(256);for(let s=0;s<256;s++)l[s]=d;return l}set(d,l){let s=p.toUint8(l);d>=0&&d<256?this._asciiMap[d]=s:this._map.set(d,s)}get(d){return d>=0&&d<256?this._asciiMap[d]:this._map.get(d)||this._defaultValue}}t.CharacterClassifier=P;class E{constructor(){this._actual=new P(0)}add(d){this._actual.set(d,1)}has(d){return this._actual.get(d)===1}}t.CharacterSet=E}),V(z[3],G([0,1]),function(I,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Position=void 0;class p{constructor(E,u){this.lineNumber=E,this.column=u}with(E=this.lineNumber,u=this.column){return E===this.lineNumber&&u===this.column?this:new p(E,u)}delta(E=0,u=0){return this.with(this.lineNumber+E,this.column+u)}equals(E){return p.equals(this,E)}static equals(E,u){return!E&&!u?!0:!!E&&!!u&&E.lineNumber===u.lineNumber&&E.column===u.column}isBefore(E){return p.isBefore(this,E)}static isBefore(E,u){return E.lineNumberl||u===l&&d>s?(this.startLineNumber=l,this.startColumn=s,this.endLineNumber=u,this.endColumn=d):(this.startLineNumber=u,this.startColumn=d,this.endLineNumber=l,this.endColumn=s)}isEmpty(){return P.isEmpty(this)}static isEmpty(u){return u.startLineNumber===u.endLineNumber&&u.startColumn===u.endColumn}containsPosition(u){return P.containsPosition(this,u)}static containsPosition(u,d){return!(d.lineNumberu.endLineNumber||d.lineNumber===u.startLineNumber&&d.columnu.endColumn)}containsRange(u){return P.containsRange(this,u)}static containsRange(u,d){return!(d.startLineNumberu.endLineNumber||d.endLineNumber>u.endLineNumber||d.startLineNumber===u.startLineNumber&&d.startColumnu.endColumn)}strictContainsRange(u){return P.strictContainsRange(this,u)}static strictContainsRange(u,d){return!(d.startLineNumberu.endLineNumber||d.endLineNumber>u.endLineNumber||d.startLineNumber===u.startLineNumber&&d.startColumn<=u.startColumn||d.endLineNumber===u.endLineNumber&&d.endColumn>=u.endColumn)}plusRange(u){return P.plusRange(this,u)}static plusRange(u,d){let l,s,h,w;return d.startLineNumberu.endLineNumber?(h=d.endLineNumber,w=d.endColumn):d.endLineNumber===u.endLineNumber?(h=d.endLineNumber,w=Math.max(d.endColumn,u.endColumn)):(h=u.endLineNumber,w=u.endColumn),new P(l,s,h,w)}intersectRanges(u){return P.intersectRanges(this,u)}static intersectRanges(u,d){let l=u.startLineNumber,s=u.startColumn,h=u.endLineNumber,w=u.endColumn,a=d.startLineNumber,S=d.startColumn,v=d.endLineNumber,C=d.endColumn;return lv?(h=v,w=C):h===v&&(w=Math.min(w,C)),l>h||l===h&&s>w?null:new P(l,s,h,w)}equalsRange(u){return P.equalsRange(this,u)}static equalsRange(u,d){return!!u&&!!d&&u.startLineNumber===d.startLineNumber&&u.startColumn===d.startColumn&&u.endLineNumber===d.endLineNumber&&u.endColumn===d.endColumn}getEndPosition(){return P.getEndPosition(this)}static getEndPosition(u){return new p.Position(u.endLineNumber,u.endColumn)}getStartPosition(){return P.getStartPosition(this)}static getStartPosition(u){return new p.Position(u.startLineNumber,u.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(u,d){return new P(this.startLineNumber,this.startColumn,u,d)}setStartPosition(u,d){return new P(u,d,this.endLineNumber,this.endColumn)}collapseToStart(){return P.collapseToStart(this)}static collapseToStart(u){return new P(u.startLineNumber,u.startColumn,u.startLineNumber,u.startColumn)}static fromPositions(u,d=u){return new P(u.lineNumber,u.column,d.lineNumber,d.column)}static lift(u){return u?new P(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn):null}static isIRange(u){return u&&typeof u.startLineNumber=="number"&&typeof u.startColumn=="number"&&typeof u.endLineNumber=="number"&&typeof u.endColumn=="number"}static areIntersectingOrTouching(u,d){return!(u.endLineNumberu.startLineNumber}}t.Range=P}),V(z[24],G([0,1,3,6]),function(I,t,p,P){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Selection=void 0;class E extends P.Range{constructor(d,l,s,h){super(d,l,s,h);this.selectionStartLineNumber=d,this.selectionStartColumn=l,this.positionLineNumber=s,this.positionColumn=h}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(d){return E.selectionsEqual(this,d)}static selectionsEqual(d,l){return d.selectionStartLineNumber===l.selectionStartLineNumber&&d.selectionStartColumn===l.selectionStartColumn&&d.positionLineNumber===l.positionLineNumber&&d.positionColumn===l.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(d,l){return this.getDirection()===0?new E(this.startLineNumber,this.startColumn,d,l):new E(d,l,this.startLineNumber,this.startColumn)}getPosition(){return new p.Position(this.positionLineNumber,this.positionColumn)}setStartPosition(d,l){return this.getDirection()===0?new E(d,l,this.endLineNumber,this.endColumn):new E(this.endLineNumber,this.endColumn,d,l)}static fromPositions(d,l=d){return new E(d.lineNumber,d.column,l.lineNumber,l.column)}static liftSelection(d){return new E(d.selectionStartLineNumber,d.selectionStartColumn,d.positionLineNumber,d.positionColumn)}static selectionsArrEqual(d,l){if(d&&!l||!d&&l)return!1;if(!d&&!l)return!0;if(d.length!==l.length)return!1;for(let s=0,h=d.length;s0&&m.originalLength<20&&m.modifiedLength>0&&m.modifiedLength<20&&i()){const M=_.createCharSequence(r,m.originalStart,m.originalStart+m.originalLength-1),R=o.createCharSequence(r,m.modifiedStart,m.modifiedStart+m.modifiedLength-1);let D=u(M,R,i,!0).changes;b&&(D=h(D)),A=[];for(let T=0,$=D.length;T<$;T++)A.push(s.createFromDiffChange(D[T],M,R))}return new w(N,c,g,L,A)}}class a{constructor(r,m,_){this.shouldComputeCharChanges=_.shouldComputeCharChanges,this.shouldPostProcessCharChanges=_.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=_.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=_.shouldMakePrettyDiff,this.originalLines=r,this.modifiedLines=m,this.original=new d(r),this.modified=new d(m),this.continueLineDiff=C(_.maxComputationTime),this.continueCharDiff=C(_.maxComputationTime===0?0:Math.min(_.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};const r=u(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),m=r.changes,_=r.quitEarly;if(this.shouldIgnoreTrimWhitespace){const b=[];for(let N=0,c=m.length;N1&&D>1;){const T=A.charCodeAt(R-2),$=M.charCodeAt(D-2);if(T!==$)break;R--,D--}(R>1||D>1)&&this._pushTrimWhitespaceCharChange(o,i+1,1,R,f+1,1,D)}{let R=v(A,1),D=v(M,1);const T=A.length+1,$=M.length+1;for(;R!0;const r=Date.now();return()=>Date.now()-r/?";function p(l=""){let s="(-?\\d*\\.\\d\\w*)|([^";for(const h of t.USUAL_WORD_SEPARATORS)l.indexOf(h)>=0||(s+="\\"+h);return s+="\\s]+)",new RegExp(s,"g")}t.DEFAULT_WORD_REGEXP=p();function P(l){let s=t.DEFAULT_WORD_REGEXP;if(l&&l instanceof RegExp)if(l.global)s=l;else{let h="g";l.ignoreCase&&(h+="i"),l.multiline&&(h+="m"),l.unicode&&(h+="u"),s=new RegExp(l.source,h)}return s.lastIndex=0,s}t.ensureValidWordDefinition=P;const E={maxLen:1e3,windowSize:15,timeBudget:150};function u(l,s,h,w,a=E){if(h.length>a.maxLen){let r=l-a.maxLen/2;return r<0?r=0:w+=r,h=h.substring(r,l+a.maxLen/2),u(l,s,h,w,a)}const S=Date.now(),v=l-1-w;let C=-1,n=null;for(let r=1;!(Date.now()-S>=a.timeBudget);r++){const m=v-a.windowSize*r;s.lastIndex=Math.max(0,m);const _=d(s,h,v,C);if(!_&&n||(n=_,m<=0))break;C=m}if(n){let r={word:n[0],startColumn:w+1+n.index,endColumn:w+1+n.index+n[0].length};return s.lastIndex=0,r}return null}t.getWordAtText=u;function d(l,s,h,w){let a;for(;a=l.exec(s);){const S=a.index||0;if(S<=h&&l.lastIndex>=h)return a;if(w>0&&S>w)return null}return null}}),V(z[28],G([0,1,23]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.computeLinks=t.LinkComputer=t.StateMachine=t.Uint8Matrix=void 0;class P{constructor(S,v,C){const n=new Uint8Array(S*v);for(let r=0,m=S*v;rv&&(v=o),_>C&&(C=_),i>C&&(C=i)}v++,C++;let n=new P(C,v,0);for(let r=0,m=S.length;r=this._maxCharCode?0:this._states.get(S,v)}}t.StateMachine=E;let u=null;function d(){return u===null&&(u=new E([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),u}let l=null;function s(){if(l===null){l=new p.CharacterClassifier(0);const a=` <>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u3011\u300F\u300D\u300B\u3009\u201D\u2019\uFF40\uFF5E\u2026`;for(let v=0;vn);if(n>0){const _=v.charCodeAt(n-1),o=v.charCodeAt(m);(_===40&&o===41||_===91&&o===93||_===123&&o===125)&&m--}return{range:{startLineNumber:C,startColumn:n+1,endLineNumber:C,endColumn:m+2},url:v.substring(n,m+1)}}static computeLinks(S,v=d()){const C=s();let n=[];for(let r=1,m=S.getLineCount();r<=m;r++){const _=S.getLineContent(r),o=_.length;let i=0,f=0,b=0,N=1,c=!1,g=!1,L=!1,A=!1;for(;i=0?(l+=d?1:-1,l<0?l=E.length-1:l%=E.length,E[l]):null}}t.BasicInplaceReplace=p,p.INSTANCE=new p}),V(z[30],G([0,1]),function(I,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrappingIndent=t.TrackedRangeStickiness=t.TextEditorCursorStyle=t.TextEditorCursorBlinkingStyle=t.SymbolTag=t.SymbolKind=t.SignatureHelpTriggerKind=t.SelectionDirection=t.ScrollbarVisibility=t.ScrollType=t.RenderMinimap=t.RenderLineNumbersType=t.OverviewRulerLane=t.OverlayWidgetPositionPreference=t.MouseTargetType=t.MinimapPosition=t.MarkerTag=t.MarkerSeverity=t.KeyCode=t.InlineHintKind=t.IndentAction=t.EndOfLineSequence=t.EndOfLinePreference=t.EditorOption=t.EditorAutoIndentStrategy=t.DocumentHighlightKind=t.DefaultEndOfLine=t.CursorChangeReason=t.ContentWidgetPositionPreference=t.CompletionTriggerKind=t.CompletionItemTag=t.CompletionItemKind=t.CompletionItemInsertTextRule=t.AccessibilitySupport=void 0;var p;(function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"})(p=t.AccessibilitySupport||(t.AccessibilitySupport={}));var P;(function(e){e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"})(P=t.CompletionItemInsertTextRule||(t.CompletionItemInsertTextRule={}));var E;(function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"})(E=t.CompletionItemKind||(t.CompletionItemKind={}));var u;(function(e){e[e.Deprecated=1]="Deprecated"})(u=t.CompletionItemTag||(t.CompletionItemTag={}));var d;(function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(d=t.CompletionTriggerKind||(t.CompletionTriggerKind={}));var l;(function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"})(l=t.ContentWidgetPositionPreference||(t.ContentWidgetPositionPreference={}));var s;(function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"})(s=t.CursorChangeReason||(t.CursorChangeReason={}));var h;(function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"})(h=t.DefaultEndOfLine||(t.DefaultEndOfLine={}));var w;(function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"})(w=t.DocumentHighlightKind||(t.DocumentHighlightKind={}));var a;(function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"})(a=t.EditorAutoIndentStrategy||(t.EditorAutoIndentStrategy={}));var S;(function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.autoClosingBrackets=5]="autoClosingBrackets",e[e.autoClosingOvertype=6]="autoClosingOvertype",e[e.autoClosingQuotes=7]="autoClosingQuotes",e[e.autoIndent=8]="autoIndent",e[e.automaticLayout=9]="automaticLayout",e[e.autoSurround=10]="autoSurround",e[e.codeLens=11]="codeLens",e[e.codeLensFontFamily=12]="codeLensFontFamily",e[e.codeLensFontSize=13]="codeLensFontSize",e[e.colorDecorators=14]="colorDecorators",e[e.columnSelection=15]="columnSelection",e[e.comments=16]="comments",e[e.contextmenu=17]="contextmenu",e[e.copyWithSyntaxHighlighting=18]="copyWithSyntaxHighlighting",e[e.cursorBlinking=19]="cursorBlinking",e[e.cursorSmoothCaretAnimation=20]="cursorSmoothCaretAnimation",e[e.cursorStyle=21]="cursorStyle",e[e.cursorSurroundingLines=22]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=23]="cursorSurroundingLinesStyle",e[e.cursorWidth=24]="cursorWidth",e[e.disableLayerHinting=25]="disableLayerHinting",e[e.disableMonospaceOptimizations=26]="disableMonospaceOptimizations",e[e.dragAndDrop=27]="dragAndDrop",e[e.emptySelectionClipboard=28]="emptySelectionClipboard",e[e.extraEditorClassName=29]="extraEditorClassName",e[e.fastScrollSensitivity=30]="fastScrollSensitivity",e[e.find=31]="find",e[e.fixedOverflowWidgets=32]="fixedOverflowWidgets",e[e.folding=33]="folding",e[e.foldingStrategy=34]="foldingStrategy",e[e.foldingHighlight=35]="foldingHighlight",e[e.unfoldOnClickAfterEndOfLine=36]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=37]="fontFamily",e[e.fontInfo=38]="fontInfo",e[e.fontLigatures=39]="fontLigatures",e[e.fontSize=40]="fontSize",e[e.fontWeight=41]="fontWeight",e[e.formatOnPaste=42]="formatOnPaste",e[e.formatOnType=43]="formatOnType",e[e.glyphMargin=44]="glyphMargin",e[e.gotoLocation=45]="gotoLocation",e[e.hideCursorInOverviewRuler=46]="hideCursorInOverviewRuler",e[e.highlightActiveIndentGuide=47]="highlightActiveIndentGuide",e[e.hover=48]="hover",e[e.inDiffEditor=49]="inDiffEditor",e[e.letterSpacing=50]="letterSpacing",e[e.lightbulb=51]="lightbulb",e[e.lineDecorationsWidth=52]="lineDecorationsWidth",e[e.lineHeight=53]="lineHeight",e[e.lineNumbers=54]="lineNumbers",e[e.lineNumbersMinChars=55]="lineNumbersMinChars",e[e.linkedEditing=56]="linkedEditing",e[e.links=57]="links",e[e.matchBrackets=58]="matchBrackets",e[e.minimap=59]="minimap",e[e.mouseStyle=60]="mouseStyle",e[e.mouseWheelScrollSensitivity=61]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=62]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=63]="multiCursorMergeOverlapping",e[e.multiCursorModifier=64]="multiCursorModifier",e[e.multiCursorPaste=65]="multiCursorPaste",e[e.occurrencesHighlight=66]="occurrencesHighlight",e[e.overviewRulerBorder=67]="overviewRulerBorder",e[e.overviewRulerLanes=68]="overviewRulerLanes",e[e.padding=69]="padding",e[e.parameterHints=70]="parameterHints",e[e.peekWidgetDefaultFocus=71]="peekWidgetDefaultFocus",e[e.definitionLinkOpensInPeek=72]="definitionLinkOpensInPeek",e[e.quickSuggestions=73]="quickSuggestions",e[e.quickSuggestionsDelay=74]="quickSuggestionsDelay",e[e.readOnly=75]="readOnly",e[e.renameOnType=76]="renameOnType",e[e.renderControlCharacters=77]="renderControlCharacters",e[e.renderIndentGuides=78]="renderIndentGuides",e[e.renderFinalNewline=79]="renderFinalNewline",e[e.renderLineHighlight=80]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=81]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=82]="renderValidationDecorations",e[e.renderWhitespace=83]="renderWhitespace",e[e.revealHorizontalRightPadding=84]="revealHorizontalRightPadding",e[e.roundedSelection=85]="roundedSelection",e[e.rulers=86]="rulers",e[e.scrollbar=87]="scrollbar",e[e.scrollBeyondLastColumn=88]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=89]="scrollBeyondLastLine",e[e.scrollPredominantAxis=90]="scrollPredominantAxis",e[e.selectionClipboard=91]="selectionClipboard",e[e.selectionHighlight=92]="selectionHighlight",e[e.selectOnLineNumbers=93]="selectOnLineNumbers",e[e.showFoldingControls=94]="showFoldingControls",e[e.showUnused=95]="showUnused",e[e.snippetSuggestions=96]="snippetSuggestions",e[e.smartSelect=97]="smartSelect",e[e.smoothScrolling=98]="smoothScrolling",e[e.stickyTabStops=99]="stickyTabStops",e[e.stopRenderingLineAfter=100]="stopRenderingLineAfter",e[e.suggest=101]="suggest",e[e.suggestFontSize=102]="suggestFontSize",e[e.suggestLineHeight=103]="suggestLineHeight",e[e.suggestOnTriggerCharacters=104]="suggestOnTriggerCharacters",e[e.suggestSelection=105]="suggestSelection",e[e.tabCompletion=106]="tabCompletion",e[e.tabIndex=107]="tabIndex",e[e.unusualLineTerminators=108]="unusualLineTerminators",e[e.useTabStops=109]="useTabStops",e[e.wordSeparators=110]="wordSeparators",e[e.wordWrap=111]="wordWrap",e[e.wordWrapBreakAfterCharacters=112]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=113]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=114]="wordWrapColumn",e[e.wordWrapOverride1=115]="wordWrapOverride1",e[e.wordWrapOverride2=116]="wordWrapOverride2",e[e.wrappingIndent=117]="wrappingIndent",e[e.wrappingStrategy=118]="wrappingStrategy",e[e.showDeprecated=119]="showDeprecated",e[e.inlineHints=120]="inlineHints",e[e.editorClassName=121]="editorClassName",e[e.pixelRatio=122]="pixelRatio",e[e.tabFocusMode=123]="tabFocusMode",e[e.layoutInfo=124]="layoutInfo",e[e.wrappingInfo=125]="wrappingInfo"})(S=t.EditorOption||(t.EditorOption={}));var v;(function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"})(v=t.EndOfLinePreference||(t.EndOfLinePreference={}));var C;(function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"})(C=t.EndOfLineSequence||(t.EndOfLineSequence={}));var n;(function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"})(n=t.IndentAction||(t.IndentAction={}));var r;(function(e){e[e.Other=0]="Other",e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"})(r=t.InlineHintKind||(t.InlineHintKind={}));var m;(function(e){e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.KEY_0=21]="KEY_0",e[e.KEY_1=22]="KEY_1",e[e.KEY_2=23]="KEY_2",e[e.KEY_3=24]="KEY_3",e[e.KEY_4=25]="KEY_4",e[e.KEY_5=26]="KEY_5",e[e.KEY_6=27]="KEY_6",e[e.KEY_7=28]="KEY_7",e[e.KEY_8=29]="KEY_8",e[e.KEY_9=30]="KEY_9",e[e.KEY_A=31]="KEY_A",e[e.KEY_B=32]="KEY_B",e[e.KEY_C=33]="KEY_C",e[e.KEY_D=34]="KEY_D",e[e.KEY_E=35]="KEY_E",e[e.KEY_F=36]="KEY_F",e[e.KEY_G=37]="KEY_G",e[e.KEY_H=38]="KEY_H",e[e.KEY_I=39]="KEY_I",e[e.KEY_J=40]="KEY_J",e[e.KEY_K=41]="KEY_K",e[e.KEY_L=42]="KEY_L",e[e.KEY_M=43]="KEY_M",e[e.KEY_N=44]="KEY_N",e[e.KEY_O=45]="KEY_O",e[e.KEY_P=46]="KEY_P",e[e.KEY_Q=47]="KEY_Q",e[e.KEY_R=48]="KEY_R",e[e.KEY_S=49]="KEY_S",e[e.KEY_T=50]="KEY_T",e[e.KEY_U=51]="KEY_U",e[e.KEY_V=52]="KEY_V",e[e.KEY_W=53]="KEY_W",e[e.KEY_X=54]="KEY_X",e[e.KEY_Y=55]="KEY_Y",e[e.KEY_Z=56]="KEY_Z",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.NumLock=78]="NumLock",e[e.ScrollLock=79]="ScrollLock",e[e.US_SEMICOLON=80]="US_SEMICOLON",e[e.US_EQUAL=81]="US_EQUAL",e[e.US_COMMA=82]="US_COMMA",e[e.US_MINUS=83]="US_MINUS",e[e.US_DOT=84]="US_DOT",e[e.US_SLASH=85]="US_SLASH",e[e.US_BACKTICK=86]="US_BACKTICK",e[e.US_OPEN_SQUARE_BRACKET=87]="US_OPEN_SQUARE_BRACKET",e[e.US_BACKSLASH=88]="US_BACKSLASH",e[e.US_CLOSE_SQUARE_BRACKET=89]="US_CLOSE_SQUARE_BRACKET",e[e.US_QUOTE=90]="US_QUOTE",e[e.OEM_8=91]="OEM_8",e[e.OEM_102=92]="OEM_102",e[e.NUMPAD_0=93]="NUMPAD_0",e[e.NUMPAD_1=94]="NUMPAD_1",e[e.NUMPAD_2=95]="NUMPAD_2",e[e.NUMPAD_3=96]="NUMPAD_3",e[e.NUMPAD_4=97]="NUMPAD_4",e[e.NUMPAD_5=98]="NUMPAD_5",e[e.NUMPAD_6=99]="NUMPAD_6",e[e.NUMPAD_7=100]="NUMPAD_7",e[e.NUMPAD_8=101]="NUMPAD_8",e[e.NUMPAD_9=102]="NUMPAD_9",e[e.NUMPAD_MULTIPLY=103]="NUMPAD_MULTIPLY",e[e.NUMPAD_ADD=104]="NUMPAD_ADD",e[e.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",e[e.NUMPAD_SUBTRACT=106]="NUMPAD_SUBTRACT",e[e.NUMPAD_DECIMAL=107]="NUMPAD_DECIMAL",e[e.NUMPAD_DIVIDE=108]="NUMPAD_DIVIDE",e[e.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",e[e.ABNT_C1=110]="ABNT_C1",e[e.ABNT_C2=111]="ABNT_C2",e[e.MAX_VALUE=112]="MAX_VALUE"})(m=t.KeyCode||(t.KeyCode={}));var _;(function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"})(_=t.MarkerSeverity||(t.MarkerSeverity={}));var o;(function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"})(o=t.MarkerTag||(t.MarkerTag={}));var i;(function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"})(i=t.MinimapPosition||(t.MinimapPosition={}));var f;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(f=t.MouseTargetType||(t.MouseTargetType={}));var b;(function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"})(b=t.OverlayWidgetPositionPreference||(t.OverlayWidgetPositionPreference={}));var N;(function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"})(N=t.OverviewRulerLane||(t.OverviewRulerLane={}));var c;(function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"})(c=t.RenderLineNumbersType||(t.RenderLineNumbersType={}));var g;(function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"})(g=t.RenderMinimap||(t.RenderMinimap={}));var L;(function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"})(L=t.ScrollType||(t.ScrollType={}));var A;(function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"})(A=t.ScrollbarVisibility||(t.ScrollbarVisibility={}));var M;(function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"})(M=t.SelectionDirection||(t.SelectionDirection={}));var R;(function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"})(R=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={}));var D;(function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"})(D=t.SymbolKind||(t.SymbolKind={}));var T;(function(e){e[e.Deprecated=1]="Deprecated"})(T=t.SymbolTag||(t.SymbolTag={}));var $;(function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"})($=t.TextEditorCursorBlinkingStyle||(t.TextEditorCursorBlinkingStyle={}));var k;(function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"})(k=t.TextEditorCursorStyle||(t.TextEditorCursorStyle={}));var F;(function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(F=t.TrackedRangeStickiness||(t.TrackedRangeStickiness={}));var O;(function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"})(O=t.WrappingIndent||(t.WrappingIndent={}))}),V(z[31],G([0,1,21,9,17,13,3,6,24,25,30]),function(I,t,p,P,E,u,d,l,s,h,w){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMonacoBaseAPI=t.KeyMod=void 0;class a{static chord(C,n){return E.KeyChord(C,n)}}t.KeyMod=a,a.CtrlCmd=2048,a.Shift=1024,a.Alt=512,a.WinCtrl=256;function S(){return{editor:void 0,languages:void 0,CancellationTokenSource:p.CancellationTokenSource,Emitter:P.Emitter,KeyCode:w.KeyCode,KeyMod:a,Position:d.Position,Range:l.Range,Selection:s.Selection,SelectionDirection:w.SelectionDirection,MarkerSeverity:w.MarkerSeverity,MarkerTag:w.MarkerTag,Uri:u.URI,Token:h.Token}}t.createMonacoBaseAPI=S}),V(z[32],G([0,1,12]),function(I,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrefixSumComputer=t.PrefixSumIndexOfResult=void 0;class P{constructor(d,l){this.index=d,this.remainder=l}}t.PrefixSumIndexOfResult=P;class E{constructor(d){this.values=d,this.prefixSum=new Uint32Array(d.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(d,l){d=p.toUint32(d);const s=this.values,h=this.prefixSum,w=l.length;return w===0?!1:(this.values=new Uint32Array(s.length+w),this.values.set(s.subarray(0,d),0),this.values.set(s.subarray(d),d+w),this.values.set(l,d),d-1=0&&this.prefixSum.set(h.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}changeValue(d,l){return d=p.toUint32(d),l=p.toUint32(l),this.values[d]===l?!1:(this.values[d]=l,d-1=s.length)return!1;let w=s.length-d;return l>=w&&(l=w),l===0?!1:(this.values=new Uint32Array(s.length-l),this.values.set(s.subarray(0,d),0),this.values.set(s.subarray(d+l),d),this.prefixSum=new Uint32Array(this.values.length),d-1=0&&this.prefixSum.set(h.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalValue(){return this.values.length===0?0:this._getAccumulatedValue(this.values.length-1)}getAccumulatedValue(d){return d<0?0:(d=p.toUint32(d),this._getAccumulatedValue(d))}_getAccumulatedValue(d){if(d<=this.prefixSumValidIndex[0])return this.prefixSum[d];let l=this.prefixSumValidIndex[0]+1;l===0&&(this.prefixSum[0]=this.values[0],l++),d>=this.values.length&&(d=this.values.length-1);for(let s=l;s<=d;s++)this.prefixSum[s]=this.prefixSum[s-1]+this.values[s];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],d),this.prefixSum[d]}getIndexOf(d){d=Math.floor(d),this.getTotalValue();let l=0,s=this.values.length-1,h=0,w=0,a=0;for(;l<=s;)if(h=l+(s-l)/2|0,w=this.prefixSum[h],a=w-this.values[h],d=w)l=h+1;else break;return new P(h,d-a)}}t.PrefixSumComputer=E}),V(z[33],G([0,1,5,3,32]),function(I,t,p,P,E){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MirrorTextModel=void 0;class u{constructor(l,s,h,w){this._uri=l,this._lines=s,this._eol=h,this._versionId=w,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(l){l.eol&&l.eol!==this._eol&&(this._eol=l.eol,this._lineStarts=null);const s=l.changes;for(const h of s)this._acceptDeleteRange(h.range),this._acceptInsertText(new P.Position(h.range.startLineNumber,h.range.startColumn),h.text);this._versionId=l.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const l=this._eol.length,s=this._lines.length,h=new Uint32Array(s);for(let w=0;wthis._lines.length)f=this._lines.length,b=this._lines[f-1].length+1,N=!0;else{let c=this._lines[f-1].length+1;b<1?(b=1,N=!0):b>c&&(b=c,N=!0)}return N?{lineNumber:f,column:b}:i}}class m{constructor(i,f){this._host=i,this._models=Object.create(null),this._foreignModuleFactory=f,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(i){return this._models[i]}_getModels(){let i=[];return Object.keys(this._models).forEach(f=>i.push(this._models[f])),i}acceptNewModel(i){this._models[i.url]=new r(u.URI.parse(i.url),i.lines,i.EOL,i.versionId)}acceptModelChanged(i,f){!this._models[i]||this._models[i].onEvents(f)}acceptRemovedModel(i){!this._models[i]||delete this._models[i]}computeDiff(i,f,b,N){return ne(this,void 0,void 0,function*(){const c=this._getModel(i),g=this._getModel(f);if(!c||!g)return null;const L=c.getLinesContent(),A=g.getLinesContent(),R=new s.DiffComputer(L,A,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:b,shouldMakePrettyDiff:!0,maxComputationTime:N}).computeDiff(),D=R.changes.length>0?!1:this._modelsAreIdentical(c,g);return{quitEarly:R.quitEarly,identical:D,changes:R.changes}})}_modelsAreIdentical(i,f){const b=i.getLineCount(),N=f.getLineCount();if(b!==N)return!1;for(let c=1;c<=b;c++){const g=i.getLineContent(c),L=f.getLineContent(c);if(g!==L)return!1}return!0}computeMoreMinimalEdits(i,f){return ne(this,void 0,void 0,function*(){const b=this._getModel(i);if(!b)return f;const N=[];let c;f=p.mergeSort(f,(g,L)=>{if(g.range&&L.range)return l.Range.compareRangesUsingStarts(g.range,L.range);let A=g.range?0:1,M=L.range?0:1;return A-M});for(let{range:g,text:L,eol:A}of f)if(typeof A=="number"&&(c=A),!(l.Range.isEmpty(g)&&!L)){const M=b.getValueInRange(g);if(L=L.replace(/\r\n|\n|\r/g,b.eol),M!==L){if(Math.max(L.length,M.length)>m._diffLimit){N.push({range:g,text:L});continue}const R=P.stringDiff(M,L,!1),D=b.offsetAt(l.Range.lift(g).getStartPosition());for(const T of R){const $=b.positionAt(D+T.originalStart),k=b.positionAt(D+T.originalStart+T.originalLength),F={text:L.substr(T.modifiedStart,T.modifiedLength),range:{startLineNumber:$.lineNumber,startColumn:$.column,endLineNumber:k.lineNumber,endColumn:k.column}};b.getValueInRange(F.range)!==F.text&&N.push(F)}}}return typeof c=="number"&&N.push({eol:c,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),N})}computeLinks(i){return ne(this,void 0,void 0,function*(){let f=this._getModel(i);return f?a.computeLinks(f):null})}textualSuggest(i,f,b,N){return ne(this,void 0,void 0,function*(){const c=new n.StopWatch(!0),g=new RegExp(b,N),L=new Set;e:for(let A of i){const M=this._getModel(A);if(!!M){for(let R of M.words(g))if(!(R===f||!isNaN(Number(R)))&&(L.add(R),L.size>m._suggestionsLimit))break e}}return{words:Array.from(L),duration:c.elapsed()}})}computeWordRanges(i,f,b,N){return ne(this,void 0,void 0,function*(){let c=this._getModel(i);if(!c)return Object.create(null);const g=new RegExp(b,N),L=Object.create(null);for(let A=f.startLineNumber;Athis._host.fhr(L,A);let g={host:C.createProxyObject(b,N),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(g,f),Promise.resolve(C.getAllMethodNames(this._foreignModule))):new Promise((L,A)=>{I([i],M=>{this._foreignModule=M.create(g,f),L(C.getAllMethodNames(this._foreignModule))},A)})}fmr(i,f){if(!this._foreignModule||typeof this._foreignModule[i]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+i));try{return Promise.resolve(this._foreignModule[i].apply(this._foreignModule,f))}catch(b){return Promise.reject(b)}}}t.EditorSimpleWorker=m,m._diffLimit=1e5,m._suggestionsLimit=1e4;function _(o){return new m(o,null)}t.create=_,typeof importScripts=="function"&&(E.globals.monaco=v.createMonacoBaseAPI())});"use strict";(function(){var I,t;const p=self.MonacoEnvironment,P=p&&p.baseUrl?p.baseUrl:"../../../",E=typeof((I=self.trustedTypes)===null||I===void 0?void 0:I.createPolicy)=="function"?(t=self.trustedTypes)===null||t===void 0?void 0:t.createPolicy("amdLoader",{createScriptURL:s=>s}):void 0;if(typeof self.define!="function"||!self.define.amd){let s=P+"vs/loader.js";E&&(s=E.createScriptURL(s)),importScripts(s)}require.config({baseUrl:P,catchError:!0,trustedTypesPolicy:E});let u=function(s){require([s],function(h){setTimeout(function(){let w=h.create((a,S)=>{self.postMessage(a,S)},null);for(self.onmessage=a=>w.onmessage(a.data);l.length>0;)self.onmessage(l.shift())},0)})},d=!0,l=[];self.onmessage=s=>{if(!d){l.push(s);return}d=!1,u(s.data)}})()}).call(this); diff --git a/public/libs/monaco-editor/vs/basic-languages/abap/abap.js b/public/libs/monaco-editor/vs/basic-languages/abap/abap.js new file mode 100644 index 0000000..efe87c5 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/abap/abap.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/abap/abap",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]};n.language={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","mapping","margin","mark","mask","matchcode","max","maximum","medium","members","memory","mesh","message","message-id","messages","messaging","method","methods","min","minimum","minor-id","mm/dd/yy","mm/dd/yyyy","mmddyy","mode","modif","modifier","modify","module","move","move-corresponding","multiply","multiply-corresponding","name","nametab","native","nested","nesting","new","new-line","new-page","new-section","next","no","node","nodes","no-display","no-extension","no-gap","no-gaps","no-grouping","no-heading","non-unicode","non-unique","no-scrolling","no-sign","no-title","no-topofpage","no-zero","null","number","object","objects","obligatory","occurrence","occurrences","occurs","of","off","offset","ole","on","only","open","option","optional","options","order","other","others","out","outer","output","output-length","overflow","overlay","pack","package","pad","padding","page","pages","parameter","parameters","parameter-table","part","partially","pattern","percentage","perform","performing","person","pf1","pf10","pf11","pf12","pf13","pf14","pf15","pf2","pf3","pf4","pf5","pf6","pf7","pf8","pf9","pf-status","pink","places","pool","pos_high","pos_low","position","pragmas","precompiled","preferred","preserving","primary","print","print-control","priority","private","procedure","process","program","property","protected","provide","public","push","pushbutton","put","queue-only","quickinfo","radiobutton","raise","raising","range","ranges","read","reader","read-only","receive","received","receiver","receiving","red","redefinition","reduce","reduced","ref","reference","refresh","regex","reject","remote","renaming","replacement","replacing","report","request","requested","reserve","reset","resolution","respecting","responsible","result","results","resumable","resume","retry","return","returncode","returning","returns","right","right-justified","rightplus","rightspace","risk","rmc_communication_failure","rmc_invalid_status","rmc_system_failure","role","rollback","rows","rpad","rtrim","run","sap","sap-spool","saving","scale_preserving","scale_preserving_scientific","scan","scientific","scientific_with_leading_zero","scroll","scroll-boundary","scrolling","search","secondary","seconds","section","select","selection","selections","selection-screen","selection-set","selection-sets","selection-table","select-options","send","separate","separated","set","shared","shift","short","shortdump-id","sign_as_postfix","single","size","skip","skipping","smart","some","sort","sortable","sorted","source","specified","split","spool","spots","sql","sqlscript","stable","stamp","standard","starting","start-of-editing","start-of-selection","state","statement","statements","static","statics","statusinfo","step-loop","stop","structure","structures","style","subkey","submatches","submit","subroutine","subscreen","subtract","subtract-corresponding","suffix","sum","summary","summing","supplied","supply","suppress","switch","switchstates","symbol","syncpoints","syntax","syntax-check","syntax-trace","system-call","system-exceptions","system-exit","tab","tabbed","tables","tableview","tabstrip","target","task","tasks","test","testing","test-injection","test-seam","text","textpool","then","throw","time","times","timestamp","timezone","tims_is_valid","title","titlebar","title-lines","to","tokenization","tokens","top-lines","top-of-page","trace-file","trace-table","trailing","transaction","transfer","transformation","transporting","trmac","truncate","truncation","try","tstmp_add_seconds","tstmp_current_utctimestamp","tstmp_is_valid","tstmp_seconds_between","type","type-pool","type-pools","types","uline","unassign","under","unicode","union","unique","unit_conversion","unix","unpack","until","unwind","up","update","upper","user","user-command","using","utf-8","valid","value","value-request","values","vary","varying","verification-message","version","via","view","visible","wait","warning","when","whenever","where","while","width","window","windows","with","with-heading","without","with-title","word","work","write","writer","xml","xsd","yellow","yes","yymmdd","zero","zone","abs","acos","asin","atan","bit-set","boolc","boolx","ceil","char_off","charlen","cmax","cmin","concat_lines_of","condense","contains","contains_any_not_of","contains_any_of","cos","cosh","count","count_any_not_of","count_any_of","dbmaxlen","distance","escape","exp","find","find_any_not_of","find_any_of","find_end","floor","frac","from_mixed","insert","ipow","line_exists","line_index","lines","log","log10","match","matches","nmax","nmin","numofchar","repeat","replace","rescale","reverse","round","segment","shift_left","shift_right","sign","sin","sinh","sqrt","strlen","substring","substring_after","substring_before","substring_from","substring_to","tan","tanh","to_lower","to_mixed","to_upper","translate","trunc","utclong_add","utclong_current","utclong_diff","xsdbool","xstrlen"],typeKeywords:["b","c","d","decfloat16","decfloat34","f","i","int8","n","p","s","string","t","utclong","x","xstring","any","clike","csequence","decfloat","numeric","simple","xsequence","table","hashed","index","sorted","standard","accp","char","clnt","cuky","curr","dats","dec","df16_dec","df16_raw","df34_dec","df34_raw","fltp","int1","int2","int4","lang","lchr","lraw","numc","quan","raw","rawstring","sstring","tims","unit","df16_scl","df34_scl","prec","varc","abap_bool","space","me","syst","sy","screen"],operators:[" +"," -","/","*","**","div","mod","=","#","@","&","&&","bit-and","bit-not","bit-or","bit-xor","m","o","z","and","equiv","not","or"," < "," > ","<=",">=","<>","><","=<","=>","between","bt","byte-ca","byte-cn","byte-co","byte-cs","byte-na","byte-ns","ca","cn","co","cp","cs","eq","ge","gt","in","le","lt","na","nb","ne","np","ns"],symbols:/[=>/,"identifier"],{include:"@whitespace"},[/[:,.]/,"delimiter"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/'/,{token:"string",bracket:"@open",next:"@stringquote"}],[/`/,{token:"string",bracket:"@open",next:"@stringping"}],[/\|/,{token:"string",bracket:"@open",next:"@stringtemplate"}],[/\d+/,"number"]],stringtemplate:[[/[^\\\|]+/,"string"],[/\\\|/,"string"],[/\|/,{token:"string",bracket:"@close",next:"@pop"}]],stringping:[[/[^\\`]+/,"string"],[/`/,{token:"string",bracket:"@close",next:"@pop"}]],stringquote:[[/[^\\']+/,"string"],[/'/,{token:"string",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/^\*.*$/,"comment"],[/\".*$/,"comment"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/apex/apex.js b/public/libs/monaco-editor/vs/basic-languages/apex/apex.js new file mode 100644 index 0000000..8c75f02 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/apex/apex.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/apex/apex",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}};var s=[];["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"].forEach((function(e){s.push(e),s.push(e.toUpperCase()),s.push(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e))})),t.language={defaultToken:"",tokenPostfix:".apex",keywords:s,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/azcli/azcli.js b/public/libs/monaco-editor/vs/basic-languages/azcli/azcli.js new file mode 100644 index 0000000..2ee40f6 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/azcli/azcli.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/azcli/azcli",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"#"}},t.language={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/bat/bat.js b/public/libs/monaco-editor/vs/basic-languages/bat/bat.js new file mode 100644 index 0000000..b12e11b --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/bat/bat.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/bat/bat",["require","exports"],(function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.language=s.conf=void 0,s.conf={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=>"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}]},o.language={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","begin","Bytes","Crypto","Current","else","end","failwith","false","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","Set","set","sender","source","String","then","true","type","with"],typeKeywords:["int","unit","string","tz"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/clojure/clojure.js b/public/libs/monaco-editor/vs/basic-languages/clojure/clojure.js new file mode 100644 index 0000000..24e807d --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/clojure/clojure.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/clojure/clojure",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:";;"},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}],surroundingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}]},t.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".clj",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],constants:["true","false","nil"],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],coreSymbols:["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],tokenizer:{root:[{include:"@whitespace"},[/@numbers/,"number"],[/@characters/,"string"],{include:"@string"},[/[()\[\]{}]/,"@brackets"],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,"regexp"],[/[#'@^`~]/,"meta"],[/@qualifiedSymbols/,{cases:{"^:.+$":"constant","@specialForms":"keyword","@coreSymbols":"keyword","@constants":"constant","@default":"identifier"}}]],whitespace:[[/[\s,]+/,"white"],[/;.*$/,"comment"],[/\(comment\b/,"comment","@comment"]],comment:[[/\(/,"comment","@push"],[/\)/,"comment","@pop"],[/[^()]/,"comment"]],string:[[/"/,"string","@multiLineString"]],multiLineString:[[/"/,"string","@popall"],[/@escapes/,"string.escape"],[/./,"string"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/coffee/coffee.js b/public/libs/monaco-editor/vs/basic-languages/coffee/coffee.js new file mode 100644 index 0000000..7809426 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/coffee/coffee.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/coffee/coffee",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=>"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t"]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]],annotation:[{include:"@whitespace"},[/using|alignas/,"keyword"],[/[a-zA-Z0-9_]+/,"annotation"],[/[,:]/,"delimiter"],[/[()]/,"@brackets"],[/\]\s*\]/,{token:"annotation",next:"@pop"}]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]],[/(\s*)(")([^"]*)(")/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/csharp/csharp.js b/public/libs/monaco-editor/vs/basic-languages/csharp/csharp.js new file mode 100644 index 0000000..06b57d4 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/csharp/csharp.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/csharp/csharp",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},t.language={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/csp/csp.js b/public/libs/monaco-editor/vs/basic-languages/csp/csp.js new file mode 100644 index 0000000..05010bd --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/csp/csp.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/csp/csp",["require","exports"],(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.language=e.conf=void 0,e.conf={brackets:[],autoClosingPairs:[],surroundingPairs:[]},e.language={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=>",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/dart/dart.js b/public/libs/monaco-editor/vs/basic-languages/dart/dart.js new file mode 100644 index 0000000..6ad018a --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/dart/dart.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/dart/dart",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:"(",close:")"},{open:'"',close:'"'},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},n.language={defaultToken:"invalid",tokenPostfix:".dart",keywords:["abstract","dynamic","implements","show","as","else","import","static","assert","enum","in","super","async","export","interface","switch","await","extends","is","sync","break","external","library","this","case","factory","mixin","throw","catch","false","new","true","class","final","null","try","const","finally","on","typedef","continue","for","operator","var","covariant","Function","part","void","default","get","rethrow","while","deferred","hide","return","with","do","if","set","yield"],typeKeywords:["int","double","String","bool"],operators:["+","-","*","/","~/","%","++","--","==","!=",">","<",">=","<=","=","-=","/=","%=",">>=","^=","+=","*=","~/=","<<=","&=","!=","||","&&","&","|","^","~","<<",">>","!",">>>","??","?",":","|="],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/\/.*$/,"comment.doc"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"\$]+/,"string"],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"],[/\$\w+/,"identifier"]],string_single:[[/[^\\'\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"],[/\$\w+/,"identifier"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/dockerfile/dockerfile.js b/public/libs/monaco-editor/vs/basic-languages/dockerfile/dockerfile.js new file mode 100644 index 0000000..2dcc929 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/dockerfile/dockerfile.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/dockerfile/dockerfile",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.language=o.conf=void 0,o.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o.language={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/\\'$/,"","@popall"],[/\\'/,""],[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/ecl/ecl.js b/public/libs/monaco-editor/vs/basic-languages/ecl/ecl.js new file mode 100644 index 0000000..c97e21c --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/ecl/ecl.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/ecl/ecl",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.language=o.conf=void 0,o.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},o.language={defaultToken:"",tokenPostfix:".ecl",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],pounds:["append","break","declare","demangle","end","for","getdatatype","if","inmodule","loop","mangle","onwarning","option","set","stored","uniquename"].join("|"),keywords:["__compressed__","after","all","and","any","as","atmost","before","beginc","best","between","case","cluster","compressed","compression","const","counter","csv","default","descend","embed","encoding","encrypt","end","endc","endembed","endmacro","enum","escape","except","exclusive","expire","export","extend","fail","few","fileposition","first","flat","forward","from","full","function","functionmacro","group","grouped","heading","hole","ifblock","import","in","inner","interface","internal","joined","keep","keyed","last","left","limit","linkcounted","literal","little_endian","load","local","locale","lookup","lzw","macro","many","maxcount","maxlength","min skew","module","mofn","multiple","named","namespace","nocase","noroot","noscan","nosort","not","noxpath","of","onfail","only","opt","or","outer","overwrite","packed","partition","penalty","physicallength","pipe","prefetch","quote","record","repeat","retry","return","right","right1","right2","rows","rowset","scan","scope","self","separator","service","shared","skew","skip","smart","soapaction","sql","stable","store","terminator","thor","threshold","timelimit","timeout","token","transform","trim","type","unicodeorder","unordered","unsorted","unstable","update","use","validate","virtual","whole","width","wild","within","wnotrim","xml","xpath"],functions:["abs","acos","aggregate","allnodes","apply","ascii","asin","assert","asstring","atan","atan2","ave","build","buildindex","case","catch","choose","choosen","choosesets","clustersize","combine","correlation","cos","cosh","count","covariance","cron","dataset","dedup","define","denormalize","dictionary","distribute","distributed","distribution","ebcdic","enth","error","evaluate","event","eventextra","eventname","exists","exp","fail","failcode","failmessage","fetch","fromunicode","fromxml","getenv","getisvalid","global","graph","group","hash","hash32","hash64","hashcrc","hashmd5","having","httpcall","httpheader","if","iff","index","intformat","isvalid","iterate","join","keydiff","keypatch","keyunicode","length","library","limit","ln","loadxml","local","log","loop","map","matched","matchlength","matchposition","matchtext","matchunicode","max","merge","mergejoin","min","nofold","nolocal","nonempty","normalize","nothor","notify","output","parallel","parse","pipe","power","preload","process","project","pull","random","range","rank","ranked","realformat","recordof","regexfind","regexreplace","regroup","rejected","rollup","round","roundup","row","rowdiff","sample","sequential","set","sin","sinh","sizeof","soapcall","sort","sorted","sqrt","stepped","stored","sum","table","tan","tanh","thisnode","topn","tounicode","toxml","transfer","transform","trim","truncate","typeof","ungroup","unicodeorder","variance","wait","which","workunit","xmldecode","xmlencode","xmltext","xmlunicode"],typesint:["integer","unsigned"].join("|"),typesnum:["data","qstring","string","unicode","utf8","varstring","varunicode"],typesone:["ascii","big_endian","boolean","data","decimal","ebcdic","grouped","integer","linkcounted","pattern","qstring","real","record","rule","set of","streamed","string","token","udecimal","unicode","unsigned","utf8","varstring","varunicode"].join("|"),operators:["+","-","/",":=","<","<>","=",">","\\","and","in","not","or"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/fsharp/fsharp.js b/public/libs/monaco-editor/vs/basic-languages/fsharp/fsharp.js new file mode 100644 index 0000000..b4cdd38 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/fsharp/fsharp.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/fsharp/fsharp",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},n.language={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/go/go.js b/public/libs/monaco-editor/vs/basic-languages/go/go.js new file mode 100644 index 0000000..bedb5be --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/go/go.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/go/go",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/graphql/graphql.js b/public/libs/monaco-editor/vs/basic-languages/graphql/graphql.js new file mode 100644 index 0000000..dfcd6d0 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/graphql/graphql.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/graphql/graphql",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},n.language={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/handlebars/handlebars.js b/public/libs/monaco-editor/vs/basic-languages/handlebars/handlebars.js new file mode 100644 index 0000000..3225fb9 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/handlebars/handlebars.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/handlebars/handlebars",["require","exports","../fillers/monaco-editor-core"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0;var a=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+a.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+a.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:n.languages.IndentAction.Indent}}]},t.language={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{!--/,"comment.block.start.handlebars","@commentBlock"],[/\{\{!/,"comment.start.handlebars","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\}\}/,"comment.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentBlock:[[/--\}\}/,"comment.block.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentHtml:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/"[^"]*"/,"string.handlebars"],[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/hcl/hcl.js b/public/libs/monaco-editor/vs/basic-languages/hcl/hcl.js new file mode 100644 index 0000000..4859378 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/hcl/hcl.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/hcl/hcl",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},t.language={defaultToken:"",tokenPostfix:".hcl",keywords:["var","local","path","for_each","any","string","number","bool","true","false","null","if ","else ","endif ","for ","in","endfor"],operators:["=",">=","<=","==","!=","+","-","*","/","%","&&","||","!","<",">","?","...",":"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"/,"string","@string"],[/'/,"invalid"]],heredoc:[[/<<[-]*\s*["]?([\w\-]+)["]?/,{token:"string.heredoc.delimiter",next:"@heredocBody.$1"}]],heredocBody:[[/([\w\-]+)$/,{cases:{"$1==$S2":[{token:"string.heredoc.delimiter",next:"@popall"}],"@default":"string.heredoc"}}],[/./,"string.heredoc"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"],[/#.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/\$\{/,{token:"delimiter",next:"@stringExpression"}],[/[^\\"\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@popall"]],stringInsideExpression:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],stringExpression:[[/\}/,{token:"delimiter",next:"@pop"}],[/"/,"string","@stringInsideExpression"],{include:"@terraform"}]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/html/html.js b/public/libs/monaco-editor/vs/basic-languages/html/html.js new file mode 100644 index 0000000..32ac8c8 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/html/html.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/html/html",["require","exports","../fillers/monaco-editor-core"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0;var i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+i.join("|")+"))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+i.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:n.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},t.language={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/ini/ini.js b/public/libs/monaco-editor/vs/basic-languages/ini/ini.js new file mode 100644 index 0000000..8f19f7e --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/ini/ini.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/ini/ini",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/java/java.js b/public/libs/monaco-editor/vs/basic-languages/java/java.js new file mode 100644 index 0000000..83e516e --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/java/java.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/java/java",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},t.language={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/javascript/javascript.js b/public/libs/monaco-editor/vs/basic-languages/javascript/javascript.js new file mode 100644 index 0000000..66dc825 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/javascript/javascript.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/typescript/typescript",["require","exports","../fillers/monaco-editor-core"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:n.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:n.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:n.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:n.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},t.language={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","package","private","protected","public","readonly","require","global","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}})),define("vs/basic-languages/javascript/javascript",["require","exports","../typescript/typescript"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf=n.conf,t.language={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:n.language.operators,symbols:n.language.symbols,escapes:n.language.escapes,digits:n.language.digits,octaldigits:n.language.octaldigits,binarydigits:n.language.binarydigits,hexdigits:n.language.hexdigits,regexpctl:n.language.regexpctl,regexpesc:n.language.regexpesc,tokenizer:n.language.tokenizer}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/julia/julia.js b/public/libs/monaco-editor/vs/basic-languages/julia/julia.js new file mode 100644 index 0000000..3d27f05 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/julia/julia.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/julia/julia",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},t.language={tokenPostfix:".julia",keywords:["begin","while","if","for","try","return","break","continue","function","macro","quote","let","local","global","const","do","struct","module","baremodule","using","import","export","end","else","elseif","catch","finally","mutable","primitive","abstract","type","in","isa","where","new"],types:["LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","AbstractArray","UndefKeywordError","AbstractChannel","UndefRefError","AbstractChar","UndefVarError","AbstractDict","Union","AbstractDisplay","UnionAll","AbstractFloat","UnitRange","AbstractIrrational","Unsigned","AbstractMatrix","AbstractRange","Val","AbstractSet","Vararg","AbstractString","VecElement","AbstractUnitRange","VecOrMat","AbstractVecOrMat","Vector","AbstractVector","VersionNumber","Any","WeakKeyDict","ArgumentError","WeakRef","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError"],keywordops:["<:",">:",":","=>","...",".","->","?"],allops:/[^\w\d\s()\[\]{}"'#]+/,constants:["true","false","nothing","missing","undef","Inf","pi","NaN","π","ℯ","ans","PROGRAM_FILE","ARGS","C_NULL","VERSION","DEPOT_PATH","LOAD_PATH"],operators:["!","!=","!==","%","&","*","+","-","/","//","<","<<","<=","==","===","=>",">",">=",">>",">>>","\\","^","|","|>","~","÷","∈","∉","∋","∌","∘","√","∛","∩","∪","≈","≉","≠","≡","≢","≤","≥","⊆","⊇","⊈","⊉","⊊","⊋","⊻"],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],ident:/π|ℯ|\b(?!\d)\w+\b/,escape:/(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,escapes:/\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,tokenizer:{root:[[/(::)\s*|\b(isa)\s+/,"keyword","@typeanno"],[/\b(isa)(\s*\(@ident\s*,\s*)/,["keyword",{token:"",next:"@typeanno"}]],[/\b(type|struct)[ \t]+/,"keyword","@typeanno"],[/^\s*:@ident[!?]?/,"metatag"],[/(return)(\s*:@ident[!?]?)/,["keyword","metatag"]],[/(\(|\[|\{|@allops)(\s*:@ident[!?]?)/,["","metatag"]],[/:\(/,"metatag","@quote"],[/r"""/,"regexp.delim","@tregexp"],[/r"/,"regexp.delim","@sregexp"],[/raw"""/,"string.delim","@rtstring"],[/[bv]?"""/,"string.delim","@dtstring"],[/raw"/,"string.delim","@rsstring"],[/[bv]?"/,"string.delim","@dsstring"],[/(@ident)\{/,{cases:{"$1@types":{token:"type",next:"@gen"},"@default":{token:"type",next:"@gen"}}}],[/@ident[!?'']?(?=\.?\()/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"keyword.flow"}}],[/@ident[!?']?/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"identifier"}}],[/\$\w+/,"key"],[/\$\(/,"key","@paste"],[/@@ident/,"annotation"],{include:"@whitespace"},[/'(?:@escapes|.)'/,"string.character"],[/[()\[\]{}]/,"@brackets"],[/@allops/,{cases:{"@keywordops":"keyword","@operators":"operator"}}],[/[;,]/,"delimiter"],[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/,"number.hex"],[/0[_oO][0-7](_?[0-7])*/,"number.octal"],[/0[bB][01](_?[01])*/,"number.binary"],[/[+\-]?\d+(\.\d+)?(im?|[eE][+\-]?\d+(\.\d+)?)?/,"number"]],typeanno:[[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/,"type","@gen"],[/([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(\s*<:\s*)/,["type","keyword"]],[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/,"type","@pop"],["","","@pop"]],gen:[[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/,"type","@push"],[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/,"type"],[/<:/,"keyword"],[/(\})(\s*<:\s*)/,["type",{token:"keyword",next:"@pop"}]],[/\}/,"type","@pop"],{include:"@root"}],quote:[[/\$\(/,"key","@paste"],[/\(/,"@brackets","@paren"],[/\)/,"metatag","@pop"],{include:"@root"}],paste:[[/:\(/,"metatag","@quote"],[/\(/,"@brackets","@paren"],[/\)/,"key","@pop"],{include:"@root"}],paren:[[/\$\(/,"key","@paste"],[/:\(/,"metatag","@quote"],[/\(/,"@brackets","@push"],[/\)/,"@brackets","@pop"],{include:"@root"}],sregexp:[[/^.*/,"invalid"],[/[^\\"()\[\]{}]/,"regexp"],[/[()\[\]{}]/,"@brackets"],[/\\./,"operator.scss"],[/"[imsx]*/,"regexp.delim","@pop"]],tregexp:[[/[^\\"()\[\]{}]/,"regexp"],[/[()\[\]{}]/,"@brackets"],[/\\./,"operator.scss"],[/"(?!"")/,"string"],[/"""[imsx]*/,"regexp.delim","@pop"]],rsstring:[[/^.*/,"invalid"],[/[^\\"]/,"string"],[/\\./,"string.escape"],[/"/,"string.delim","@pop"]],rtstring:[[/[^\\"]/,"string"],[/\\./,"string.escape"],[/"(?!"")/,"string"],[/"""/,"string.delim","@pop"]],dsstring:[[/^.*/,"invalid"],[/[^\\"\$]/,"string"],[/\$/,"","@interpolated"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string.delim","@pop"]],dtstring:[[/[^\\"\$]/,"string"],[/\$/,"","@interpolated"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"(?!"")/,"string"],[/"""/,"string.delim","@pop"]],interpolated:[[/\(/,{token:"",switchTo:"@interpolated_compound"}],[/[a-zA-Z_]\w*/,"identifier"],["","","@pop"]],interpolated_compound:[[/\)/,"","@pop"],{include:"@root"}],whitespace:[[/[ \t\r\n]+/,""],[/#=/,"comment","@multi_comment"],[/#.*$/,"comment"]],multi_comment:[[/#=/,"comment","@push"],[/=#/,"comment","@pop"],[/=(?!#)|#(?!=)/,"comment"],[/[^#=]+/,"comment"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/kotlin/kotlin.js b/public/libs/monaco-editor/vs/basic-languages/kotlin/kotlin.js new file mode 100644 index 0000000..f256842 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/kotlin/kotlin.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/kotlin/kotlin",["require","exports"],(function(e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.language=i.conf=void 0,i.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},i.language={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc","@push"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/less/less.js b/public/libs/monaco-editor/vs/basic-languages/less/less.js new file mode 100644 index 0000000..edcf04d --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/less/less.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/less/less",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},t.language={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/lexon/lexon.js b/public/libs/monaco-editor/vs/basic-languages/lexon/lexon.js new file mode 100644 index 0000000..f52f8ec --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/lexon/lexon.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/lexon/lexon",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"COMMENT"},brackets:[["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:":",close:"."}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"},{open:":",close:"."}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),end:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")}}},t.language={tokenPostfix:".lexon",ignoreCase:!0,keywords:["lexon","lex","clause","terms","contracts","may","pay","pays","appoints","into","to"],typeKeywords:["amount","person","key","time","date","asset","text"],operators:["less","greater","equal","le","gt","or","and","add","added","subtract","subtracted","multiply","multiplied","times","divide","divided","is","be","certified"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d*\.\d*/,"number.semver"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"]],quoted_identifier:[[/[^\\"]+/,"identifier"],[/"/,{token:"identifier.quote",bracket:"@close",next:"@pop"}]],space_identifier_until_period:[[":","delimiter"],[" ",{token:"white",next:"@identifier_rest"}]],identifier_until_period:[{include:"@whitespace"},[":",{token:"delimiter",next:"@identifier_rest"}],[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],identifier_rest:[[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],semver:[{include:"@whitespace"},[":","delimiter"],[/\d*\.\d*\.\d*/,{token:"number.semver",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/lua/lua.js b/public/libs/monaco-editor/vs/basic-languages/lua/lua.js new file mode 100644 index 0000000..da40199 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/lua/lua.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/lua/lua",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=>"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}]},o.language={defaultToken:"",tokenPostfix:".m3",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["AND","ANY","ARRAY","AS","BEGIN","BITS","BRANDED","BY","CASE","CONST","DIV","DO","ELSE","ELSIF","END","EVAL","EXCEPT","EXCEPTION","EXIT","EXPORTS","FINALLY","FOR","FROM","GENERIC","IF","IMPORT","IN","INTERFACE","LOCK","LOOP","METHODS","MOD","MODULE","NOT","OBJECT","OF","OR","OVERRIDES","PROCEDURE","RAISE","RAISES","READONLY","RECORD","REF","REPEAT","RETURN","REVEAL","SET","THEN","TO","TRY","TYPE","TYPECASE","UNSAFE","UNTIL","UNTRACED","VALUE","VAR","WHILE","WITH"],reservedConstNames:["ABS","ADR","ADRSIZE","BITSIZE","BYTESIZE","CEILING","DEC","DISPOSE","FALSE","FIRST","FLOAT","FLOOR","INC","ISTYPE","LAST","LOOPHOLE","MAX","MIN","NARROW","NEW","NIL","NUMBER","ORD","ROUND","SUBARRAY","TRUE","TRUNC","TYPECODE","VAL"],reservedTypeNames:["ADDRESS","ANY","BOOLEAN","CARDINAL","CHAR","EXTENDED","INTEGER","LONGCARD","LONGINT","LONGREAL","MUTEX","NULL","REAL","REFANY","ROOT","TEXT"],operators:["+","-","*","/","&","^","."],relations:["=","#","<","<=",">",">=","<:",":"],delimiters:["|","..","=>",",",";",":="],symbols:/[>=<#.,:;+\-*/&^]+/,escapes:/\\(?:[\\fnrt"']|[0-7]{3})/,tokenizer:{root:[[/_\w*/,"invalid"],[/[a-zA-Z][a-zA-Z0-9_]*/,{cases:{"@keywords":{token:"keyword.$0"},"@reservedConstNames":{token:"constant.reserved.$0"},"@reservedTypeNames":{token:"type.reserved.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[0-9]+\.[0-9]+(?:[DdEeXx][\+\-]?[0-9]+)?/,"number.float"],[/[0-9]+(?:\_[0-9a-fA-F]+)?L?/,"number"],[/@symbols/,{cases:{"@operators":"operators","@relations":"operators","@delimiters":"delimiter","@default":"invalid"}}],[/'[^\\']'/,"string.char"],[/(')(@escapes)(')/,["string.char","string.escape","string.char"]],[/'/,"invalid"],[/"([^"\\]|\\.)*$/,"invalid"],[/"/,"string.text","@text"]],text:[[/[^\\"]+/,"string.text"],[/@escapes/,"string.escape"],[/\\./,"invalid"],[/"/,"string.text","@pop"]],comment:[[/\(\*/,"comment","@push"],[/\*\)/,"comment","@pop"],[/./,"comment"]],pragma:[[/<\*/,"keyword.pragma","@push"],[/\*>/,"keyword.pragma","@pop"],[/./,"keyword.pragma"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/<\*/,"keyword.pragma","@pragma"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/markdown/markdown.js b/public/libs/monaco-editor/vs/basic-languages/markdown/markdown.js new file mode 100644 index 0000000..dc020ee --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/markdown/markdown.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/markdown/markdown",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},t.language={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^\s*\|/,"@rematch","@table_header"],[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],table_header:[{include:"@table_common"},[/[^\|]+/,"keyword.table.header"]],table_body:[{include:"@table_common"},{include:"@linecontent"}],table_common:[[/\s*[\-:]+\s*/,{token:"keyword",switchTo:"table_body"}],[/^\s*\|/,"keyword.table.left"],[/^\s*[^\|]/,"@rematch","@pop"],[/^\s*$/,"@rematch","@pop"],[/\|/,{cases:{"@eos":"keyword.table.right","@default":"keyword.table.middle"}}]],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"variable.source",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)\s*>/,{token:"tag"}],[//,"comment","@pop"],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],phpInSimpleState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3"}],{include:"phpRoot"}],phpInEmbeddedState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"phpRoot"}],phpRoot:[[/[a-zA-Z_]\w*/,{cases:{"@phpKeywords":{token:"keyword.php"},"@phpCompileTimeConstants":{token:"constant.php"},"@default":"identifier.php"}}],[/[$a-zA-Z_]\w*/,{cases:{"@phpPreDefinedVariables":{token:"variable.predefined.php"},"@default":"variable.php"}}],[/[{}]/,"delimiter.bracket.php"],[/[\[\]]/,"delimiter.array.php"],[/[()]/,"delimiter.parenthesis.php"],[/[ \t\r\n]+/],[/(#|\/\/)$/,"comment.php"],[/(#|\/\/)/,"comment.php","@phpLineComment"],[/\/\*/,"comment.php","@phpComment"],[/"/,"string.php","@phpDoubleQuoteString"],[/'/,"string.php","@phpSingleQuoteString"],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/,"delimiter.php"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.php"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.php"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.php"],[/0[0-7']*[0-7]/,"number.octal.php"],[/0[bB][0-1']*[0-1]/,"number.binary.php"],[/\d[\d']*/,"number.php"],[/\d/,"number.php"]],phpComment:[[/\*\//,"comment.php","@pop"],[/[^*]+/,"comment.php"],[/./,"comment.php"]],phpLineComment:[[/\?>/,{token:"@rematch",next:"@pop"}],[/.$/,"comment.php","@pop"],[/[^?]+$/,"comment.php","@pop"],[/[^?]+/,"comment.php"],[/./,"comment.php"]],phpDoubleQuoteString:[[/[^\\"]+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/"/,"string.php","@pop"]],phpSingleQuoteString:[[/[^\\']+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/'/,"string.php","@pop"]]},phpKeywords:["abstract","and","array","as","break","callable","case","catch","cfunction","class","clone","const","continue","declare","default","do","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","false","final","for","foreach","function","global","goto","if","implements","interface","instanceof","insteadof","namespace","new","null","object","old_function","or","private","protected","public","resource","static","switch","throw","trait","try","true","use","var","while","xor","die","echo","empty","exit","eval","include","include_once","isset","list","require","require_once","return","print","unset","yield","__construct"],phpCompileTimeConstants:["__CLASS__","__DIR__","__FILE__","__LINE__","__NAMESPACE__","__METHOD__","__FUNCTION__","__TRAIT__"],phpPreDefinedVariables:["$GLOBALS","$_SERVER","$_GET","$_POST","$_FILES","$_REQUEST","$_SESSION","$_ENV","$_COOKIE","$php_errormsg","$HTTP_RAW_POST_DATA","$http_response_header","$argc","$argv"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/postiats/postiats.js b/public/libs/monaco-editor/vs/basic-languages/postiats/postiats.js new file mode 100644 index 0000000..df397c1 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/postiats/postiats.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/postiats/postiats",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},t.language={tokenPostfix:".pats",defaultToken:"invalid",keywords:["abstype","abst0ype","absprop","absview","absvtype","absviewtype","absvt0ype","absviewt0ype","as","and","assume","begin","classdec","datasort","datatype","dataprop","dataview","datavtype","dataviewtype","do","end","extern","extype","extvar","exception","fn","fnx","fun","prfn","prfun","praxi","castfn","if","then","else","ifcase","in","infix","infixl","infixr","prefix","postfix","implmnt","implement","primplmnt","primplement","import","let","local","macdef","macrodef","nonfix","symelim","symintr","overload","of","op","rec","sif","scase","sortdef","sta","stacst","stadef","static","staload","dynload","try","tkindef","typedef","propdef","viewdef","vtypedef","viewtypedef","prval","var","prvar","when","where","with","withtype","withprop","withview","withvtype","withviewtype"],keywords_dlr:["$delay","$ldelay","$arrpsz","$arrptrsize","$d2ctype","$effmask","$effmask_ntm","$effmask_exn","$effmask_ref","$effmask_wrt","$effmask_all","$extern","$extkind","$extype","$extype_struct","$extval","$extfcall","$extmcall","$literal","$myfilename","$mylocation","$myfunction","$lst","$lst_t","$lst_vt","$list","$list_t","$list_vt","$rec","$rec_t","$rec_vt","$record","$record_t","$record_vt","$tup","$tup_t","$tup_vt","$tuple","$tuple_t","$tuple_vt","$break","$continue","$raise","$showtype","$vcopyenv_v","$vcopyenv_vt","$tempenver","$solver_assert","$solver_verify"],keywords_srp:["#if","#ifdef","#ifndef","#then","#elif","#elifdef","#elifndef","#else","#endif","#error","#prerr","#print","#assert","#undef","#define","#include","#require","#pragma","#codegen2","#codegen3"],irregular_keyword_list:["val+","val-","val","case+","case-","case","addr@","addr","fold@","free@","fix@","fix","lam@","lam","llam@","llam","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","view+","view-","view@","view","type+","type-","type","vtype+","vtype-","vtype","vt@ype+","vt@ype-","vt@ype","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","prop+","prop-","prop","type+","type-","type","t@ype","t@ype+","t@ype-","abst@ype","abstype","absviewt@ype","absvt@ype","for*","for","while*","while"],keywords_types:["bool","double","byte","int","short","char","void","unit","long","float","string","strptr"],keywords_effects:["0","fun","clo","prf","funclo","cloptr","cloref","ref","ntm","1"],operators:["@","!","|","`",":","$",".","=","#","~","..","...","=>","=<>","=/=>","=>>","=/=>>","<",">","><",".<",">.",".<>.","->","-<>"],brackets:[{open:",(",close:")",token:"delimiter.parenthesis"},{open:"`(",close:")",token:"delimiter.parenthesis"},{open:"%(",close:")",token:"delimiter.parenthesis"},{open:"'(",close:")",token:"delimiter.parenthesis"},{open:"'{",close:"}",token:"delimiter.parenthesis"},{open:"@(",close:")",token:"delimiter.parenthesis"},{open:"@{",close:"}",token:"delimiter.brace"},{open:"@[",close:"]",token:"delimiter.square"},{open:"#[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=>]/,digit:/[0-9]/,digitseq0:/@digit*/,xdigit:/[0-9A-Za-z]/,xdigitseq0:/@xdigit*/,INTSP:/[lLuU]/,FLOATSP:/[fFlL]/,fexponent:/[eE][+-]?[0-9]+/,fexponent_bin:/[pP][+-]?[0-9]+/,deciexp:/\.[0-9]*@fexponent?/,hexiexp:/\.[0-9a-zA-Z]*@fexponent_bin?/,irregular_keywords:/val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,ESCHAR:/[ntvbrfa\\\?'"\(\[\{]/,start:"root",tokenizer:{root:[{regex:/[ \t\r\n]+/,action:{token:""}},{regex:/\(\*\)/,action:{token:"invalid"}},{regex:/\(\*/,action:{token:"comment",next:"lexing_COMMENT_block_ml"}},{regex:/\(/,action:"@brackets"},{regex:/\)/,action:"@brackets"},{regex:/\[/,action:"@brackets"},{regex:/\]/,action:"@brackets"},{regex:/\{/,action:"@brackets"},{regex:/\}/,action:"@brackets"},{regex:/,\(/,action:"@brackets"},{regex:/,/,action:{token:"delimiter.comma"}},{regex:/;/,action:{token:"delimiter.semicolon"}},{regex:/@\(/,action:"@brackets"},{regex:/@\[/,action:"@brackets"},{regex:/@\{/,action:"@brackets"},{regex:/:/,action:{token:"@rematch",next:"@pop"}}],lexing_EXTCODE:[{regex:/^%}/,action:{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}},{regex:/[^%]+/,action:""}],lexing_DQUOTE:[{regex:/"/,action:{token:"string.quote",next:"@pop"}},{regex:/(\{\$)(@IDENTFST@IDENTRST*)(\})/,action:[{token:"string.escape"},{token:"identifier"},{token:"string.escape"}]},{regex:/\\$/,action:{token:"string.escape"}},{regex:/\\(@ESCHAR|[xX]@xdigit+|@digit+)/,action:{token:"string.escape"}},{regex:/[^\\"]+/,action:{token:"string"}}]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/powerquery/powerquery.js b/public/libs/monaco-editor/vs/basic-languages/powerquery/powerquery.js new file mode 100644 index 0000000..eee02c5 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/powerquery/powerquery.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/powerquery/powerquery",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment","identifier"]},{open:"[",close:"]",notIn:["string","comment","identifier"]},{open:"(",close:")",notIn:["string","comment","identifier"]},{open:"{",close:"}",notIn:["string","comment","identifier"]}]},t.language={defaultToken:"",tokenPostfix:".pq",ignoreCase:!1,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],operatorKeywords:["and","not","or"],keywords:["as","each","else","error","false","if","in","is","let","meta","otherwise","section","shared","then","true","try","type"],constructors:["#binary","#date","#datetime","#datetimezone","#duration","#table","#time"],constants:["#infinity","#nan","#sections","#shared"],typeKeywords:["action","any","anynonnull","none","null","logical","number","time","date","datetime","datetimezone","duration","text","binary","list","record","table","function"],builtinFunctions:["Access.Database","Action.Return","Action.Sequence","Action.Try","ActiveDirectory.Domains","AdoDotNet.DataSource","AdoDotNet.Query","AdobeAnalytics.Cubes","AnalysisServices.Database","AnalysisServices.Databases","AzureStorage.BlobContents","AzureStorage.Blobs","AzureStorage.Tables","Binary.Buffer","Binary.Combine","Binary.Compress","Binary.Decompress","Binary.End","Binary.From","Binary.FromList","Binary.FromText","Binary.InferContentType","Binary.Length","Binary.ToList","Binary.ToText","BinaryFormat.7BitEncodedSignedInteger","BinaryFormat.7BitEncodedUnsignedInteger","BinaryFormat.Binary","BinaryFormat.Byte","BinaryFormat.ByteOrder","BinaryFormat.Choice","BinaryFormat.Decimal","BinaryFormat.Double","BinaryFormat.Group","BinaryFormat.Length","BinaryFormat.List","BinaryFormat.Null","BinaryFormat.Record","BinaryFormat.SignedInteger16","BinaryFormat.SignedInteger32","BinaryFormat.SignedInteger64","BinaryFormat.Single","BinaryFormat.Text","BinaryFormat.Transform","BinaryFormat.UnsignedInteger16","BinaryFormat.UnsignedInteger32","BinaryFormat.UnsignedInteger64","Byte.From","Character.FromNumber","Character.ToNumber","Combiner.CombineTextByDelimiter","Combiner.CombineTextByEachDelimiter","Combiner.CombineTextByLengths","Combiner.CombineTextByPositions","Combiner.CombineTextByRanges","Comparer.Equals","Comparer.FromCulture","Comparer.Ordinal","Comparer.OrdinalIgnoreCase","Csv.Document","Cube.AddAndExpandDimensionColumn","Cube.AddMeasureColumn","Cube.ApplyParameter","Cube.AttributeMemberId","Cube.AttributeMemberProperty","Cube.CollapseAndRemoveColumns","Cube.Dimensions","Cube.DisplayFolders","Cube.Measures","Cube.Parameters","Cube.Properties","Cube.PropertyKey","Cube.ReplaceDimensions","Cube.Transform","Currency.From","DB2.Database","Date.AddDays","Date.AddMonths","Date.AddQuarters","Date.AddWeeks","Date.AddYears","Date.Day","Date.DayOfWeek","Date.DayOfWeekName","Date.DayOfYear","Date.DaysInMonth","Date.EndOfDay","Date.EndOfMonth","Date.EndOfQuarter","Date.EndOfWeek","Date.EndOfYear","Date.From","Date.FromText","Date.IsInCurrentDay","Date.IsInCurrentMonth","Date.IsInCurrentQuarter","Date.IsInCurrentWeek","Date.IsInCurrentYear","Date.IsInNextDay","Date.IsInNextMonth","Date.IsInNextNDays","Date.IsInNextNMonths","Date.IsInNextNQuarters","Date.IsInNextNWeeks","Date.IsInNextNYears","Date.IsInNextQuarter","Date.IsInNextWeek","Date.IsInNextYear","Date.IsInPreviousDay","Date.IsInPreviousMonth","Date.IsInPreviousNDays","Date.IsInPreviousNMonths","Date.IsInPreviousNQuarters","Date.IsInPreviousNWeeks","Date.IsInPreviousNYears","Date.IsInPreviousQuarter","Date.IsInPreviousWeek","Date.IsInPreviousYear","Date.IsInYearToDate","Date.IsLeapYear","Date.Month","Date.MonthName","Date.QuarterOfYear","Date.StartOfDay","Date.StartOfMonth","Date.StartOfQuarter","Date.StartOfWeek","Date.StartOfYear","Date.ToRecord","Date.ToText","Date.WeekOfMonth","Date.WeekOfYear","Date.Year","DateTime.AddZone","DateTime.Date","DateTime.FixedLocalNow","DateTime.From","DateTime.FromFileTime","DateTime.FromText","DateTime.IsInCurrentHour","DateTime.IsInCurrentMinute","DateTime.IsInCurrentSecond","DateTime.IsInNextHour","DateTime.IsInNextMinute","DateTime.IsInNextNHours","DateTime.IsInNextNMinutes","DateTime.IsInNextNSeconds","DateTime.IsInNextSecond","DateTime.IsInPreviousHour","DateTime.IsInPreviousMinute","DateTime.IsInPreviousNHours","DateTime.IsInPreviousNMinutes","DateTime.IsInPreviousNSeconds","DateTime.IsInPreviousSecond","DateTime.LocalNow","DateTime.Time","DateTime.ToRecord","DateTime.ToText","DateTimeZone.FixedLocalNow","DateTimeZone.FixedUtcNow","DateTimeZone.From","DateTimeZone.FromFileTime","DateTimeZone.FromText","DateTimeZone.LocalNow","DateTimeZone.RemoveZone","DateTimeZone.SwitchZone","DateTimeZone.ToLocal","DateTimeZone.ToRecord","DateTimeZone.ToText","DateTimeZone.ToUtc","DateTimeZone.UtcNow","DateTimeZone.ZoneHours","DateTimeZone.ZoneMinutes","Decimal.From","Diagnostics.ActivityId","Diagnostics.Trace","DirectQueryCapabilities.From","Double.From","Duration.Days","Duration.From","Duration.FromText","Duration.Hours","Duration.Minutes","Duration.Seconds","Duration.ToRecord","Duration.ToText","Duration.TotalDays","Duration.TotalHours","Duration.TotalMinutes","Duration.TotalSeconds","Embedded.Value","Error.Record","Excel.CurrentWorkbook","Excel.Workbook","Exchange.Contents","Expression.Constant","Expression.Evaluate","Expression.Identifier","Facebook.Graph","File.Contents","Folder.Contents","Folder.Files","Function.From","Function.Invoke","Function.InvokeAfter","Function.IsDataSource","GoogleAnalytics.Accounts","Guid.From","HdInsight.Containers","HdInsight.Contents","HdInsight.Files","Hdfs.Contents","Hdfs.Files","Informix.Database","Int16.From","Int32.From","Int64.From","Int8.From","ItemExpression.From","Json.Document","Json.FromValue","Lines.FromBinary","Lines.FromText","Lines.ToBinary","Lines.ToText","List.Accumulate","List.AllTrue","List.Alternate","List.AnyTrue","List.Average","List.Buffer","List.Combine","List.Contains","List.ContainsAll","List.ContainsAny","List.Count","List.Covariance","List.DateTimeZones","List.DateTimes","List.Dates","List.Difference","List.Distinct","List.Durations","List.FindText","List.First","List.FirstN","List.Generate","List.InsertRange","List.Intersect","List.IsDistinct","List.IsEmpty","List.Last","List.LastN","List.MatchesAll","List.MatchesAny","List.Max","List.MaxN","List.Median","List.Min","List.MinN","List.Mode","List.Modes","List.NonNullCount","List.Numbers","List.PositionOf","List.PositionOfAny","List.Positions","List.Product","List.Random","List.Range","List.RemoveFirstN","List.RemoveItems","List.RemoveLastN","List.RemoveMatchingItems","List.RemoveNulls","List.RemoveRange","List.Repeat","List.ReplaceMatchingItems","List.ReplaceRange","List.ReplaceValue","List.Reverse","List.Select","List.Single","List.SingleOrDefault","List.Skip","List.Sort","List.StandardDeviation","List.Sum","List.Times","List.Transform","List.TransformMany","List.Union","List.Zip","Logical.From","Logical.FromText","Logical.ToText","MQ.Queue","MySQL.Database","Number.Abs","Number.Acos","Number.Asin","Number.Atan","Number.Atan2","Number.BitwiseAnd","Number.BitwiseNot","Number.BitwiseOr","Number.BitwiseShiftLeft","Number.BitwiseShiftRight","Number.BitwiseXor","Number.Combinations","Number.Cos","Number.Cosh","Number.Exp","Number.Factorial","Number.From","Number.FromText","Number.IntegerDivide","Number.IsEven","Number.IsNaN","Number.IsOdd","Number.Ln","Number.Log","Number.Log10","Number.Mod","Number.Permutations","Number.Power","Number.Random","Number.RandomBetween","Number.Round","Number.RoundAwayFromZero","Number.RoundDown","Number.RoundTowardZero","Number.RoundUp","Number.Sign","Number.Sin","Number.Sinh","Number.Sqrt","Number.Tan","Number.Tanh","Number.ToText","OData.Feed","Odbc.DataSource","Odbc.Query","OleDb.DataSource","OleDb.Query","Oracle.Database","Percentage.From","PostgreSQL.Database","RData.FromBinary","Record.AddField","Record.Combine","Record.Field","Record.FieldCount","Record.FieldNames","Record.FieldOrDefault","Record.FieldValues","Record.FromList","Record.FromTable","Record.HasFields","Record.RemoveFields","Record.RenameFields","Record.ReorderFields","Record.SelectFields","Record.ToList","Record.ToTable","Record.TransformFields","Replacer.ReplaceText","Replacer.ReplaceValue","RowExpression.Column","RowExpression.From","Salesforce.Data","Salesforce.Reports","SapBusinessWarehouse.Cubes","SapHana.Database","SharePoint.Contents","SharePoint.Files","SharePoint.Tables","Single.From","Soda.Feed","Splitter.SplitByNothing","Splitter.SplitTextByAnyDelimiter","Splitter.SplitTextByDelimiter","Splitter.SplitTextByEachDelimiter","Splitter.SplitTextByLengths","Splitter.SplitTextByPositions","Splitter.SplitTextByRanges","Splitter.SplitTextByRepeatedLengths","Splitter.SplitTextByWhitespace","Sql.Database","Sql.Databases","SqlExpression.SchemaFrom","SqlExpression.ToExpression","Sybase.Database","Table.AddColumn","Table.AddIndexColumn","Table.AddJoinColumn","Table.AddKey","Table.AggregateTableColumn","Table.AlternateRows","Table.Buffer","Table.Column","Table.ColumnCount","Table.ColumnNames","Table.ColumnsOfType","Table.Combine","Table.CombineColumns","Table.Contains","Table.ContainsAll","Table.ContainsAny","Table.DemoteHeaders","Table.Distinct","Table.DuplicateColumn","Table.ExpandListColumn","Table.ExpandRecordColumn","Table.ExpandTableColumn","Table.FillDown","Table.FillUp","Table.FilterWithDataTable","Table.FindText","Table.First","Table.FirstN","Table.FirstValue","Table.FromColumns","Table.FromList","Table.FromPartitions","Table.FromRecords","Table.FromRows","Table.FromValue","Table.Group","Table.HasColumns","Table.InsertRows","Table.IsDistinct","Table.IsEmpty","Table.Join","Table.Keys","Table.Last","Table.LastN","Table.MatchesAllRows","Table.MatchesAnyRows","Table.Max","Table.MaxN","Table.Min","Table.MinN","Table.NestedJoin","Table.Partition","Table.PartitionValues","Table.Pivot","Table.PositionOf","Table.PositionOfAny","Table.PrefixColumns","Table.Profile","Table.PromoteHeaders","Table.Range","Table.RemoveColumns","Table.RemoveFirstN","Table.RemoveLastN","Table.RemoveMatchingRows","Table.RemoveRows","Table.RemoveRowsWithErrors","Table.RenameColumns","Table.ReorderColumns","Table.Repeat","Table.ReplaceErrorValues","Table.ReplaceKeys","Table.ReplaceMatchingRows","Table.ReplaceRelationshipIdentity","Table.ReplaceRows","Table.ReplaceValue","Table.ReverseRows","Table.RowCount","Table.Schema","Table.SelectColumns","Table.SelectRows","Table.SelectRowsWithErrors","Table.SingleRow","Table.Skip","Table.Sort","Table.SplitColumn","Table.ToColumns","Table.ToList","Table.ToRecords","Table.ToRows","Table.TransformColumnNames","Table.TransformColumnTypes","Table.TransformColumns","Table.TransformRows","Table.Transpose","Table.Unpivot","Table.UnpivotOtherColumns","Table.View","Table.ViewFunction","TableAction.DeleteRows","TableAction.InsertRows","TableAction.UpdateRows","Tables.GetRelationships","Teradata.Database","Text.AfterDelimiter","Text.At","Text.BeforeDelimiter","Text.BetweenDelimiters","Text.Clean","Text.Combine","Text.Contains","Text.End","Text.EndsWith","Text.Format","Text.From","Text.FromBinary","Text.Insert","Text.Length","Text.Lower","Text.Middle","Text.NewGuid","Text.PadEnd","Text.PadStart","Text.PositionOf","Text.PositionOfAny","Text.Proper","Text.Range","Text.Remove","Text.RemoveRange","Text.Repeat","Text.Replace","Text.ReplaceRange","Text.Select","Text.Split","Text.SplitAny","Text.Start","Text.StartsWith","Text.ToBinary","Text.ToList","Text.Trim","Text.TrimEnd","Text.TrimStart","Text.Upper","Time.EndOfHour","Time.From","Time.FromText","Time.Hour","Time.Minute","Time.Second","Time.StartOfHour","Time.ToRecord","Time.ToText","Type.AddTableKey","Type.ClosedRecord","Type.Facets","Type.ForFunction","Type.ForRecord","Type.FunctionParameters","Type.FunctionRequiredParameters","Type.FunctionReturn","Type.Is","Type.IsNullable","Type.IsOpenRecord","Type.ListItem","Type.NonNullable","Type.OpenRecord","Type.RecordFields","Type.ReplaceFacets","Type.ReplaceTableKeys","Type.TableColumn","Type.TableKeys","Type.TableRow","Type.TableSchema","Type.Union","Uri.BuildQueryString","Uri.Combine","Uri.EscapeDataString","Uri.Parts","Value.Add","Value.As","Value.Compare","Value.Divide","Value.Equals","Value.Firewall","Value.FromText","Value.Is","Value.Metadata","Value.Multiply","Value.NativeQuery","Value.NullableEquals","Value.RemoveMetadata","Value.ReplaceMetadata","Value.ReplaceType","Value.Subtract","Value.Type","ValueAction.NativeStatement","ValueAction.Replace","Variable.Value","Web.Contents","Web.Page","WebAction.Request","Xml.Document","Xml.Tables"],builtinConstants:["BinaryEncoding.Base64","BinaryEncoding.Hex","BinaryOccurrence.Optional","BinaryOccurrence.Repeating","BinaryOccurrence.Required","ByteOrder.BigEndian","ByteOrder.LittleEndian","Compression.Deflate","Compression.GZip","CsvStyle.QuoteAfterDelimiter","CsvStyle.QuoteAlways","Culture.Current","Day.Friday","Day.Monday","Day.Saturday","Day.Sunday","Day.Thursday","Day.Tuesday","Day.Wednesday","ExtraValues.Error","ExtraValues.Ignore","ExtraValues.List","GroupKind.Global","GroupKind.Local","JoinAlgorithm.Dynamic","JoinAlgorithm.LeftHash","JoinAlgorithm.LeftIndex","JoinAlgorithm.PairwiseHash","JoinAlgorithm.RightHash","JoinAlgorithm.RightIndex","JoinAlgorithm.SortMerge","JoinKind.FullOuter","JoinKind.Inner","JoinKind.LeftAnti","JoinKind.LeftOuter","JoinKind.RightAnti","JoinKind.RightOuter","JoinSide.Left","JoinSide.Right","MissingField.Error","MissingField.Ignore","MissingField.UseNull","Number.E","Number.Epsilon","Number.NaN","Number.NegativeInfinity","Number.PI","Number.PositiveInfinity","Occurrence.All","Occurrence.First","Occurrence.Last","Occurrence.Optional","Occurrence.Repeating","Occurrence.Required","Order.Ascending","Order.Descending","Precision.Decimal","Precision.Double","QuoteStyle.Csv","QuoteStyle.None","RelativePosition.FromEnd","RelativePosition.FromStart","RoundingMode.AwayFromZero","RoundingMode.Down","RoundingMode.ToEven","RoundingMode.TowardZero","RoundingMode.Up","SapHanaDistribution.All","SapHanaDistribution.Connection","SapHanaDistribution.Off","SapHanaDistribution.Statement","SapHanaRangeOperator.Equals","SapHanaRangeOperator.GreaterThan","SapHanaRangeOperator.GreaterThanOrEquals","SapHanaRangeOperator.LessThan","SapHanaRangeOperator.LessThanOrEquals","SapHanaRangeOperator.NotEquals","TextEncoding.Ascii","TextEncoding.BigEndianUnicode","TextEncoding.Unicode","TextEncoding.Utf16","TextEncoding.Utf8","TextEncoding.Windows","TraceLevel.Critical","TraceLevel.Error","TraceLevel.Information","TraceLevel.Verbose","TraceLevel.Warning","WebMethod.Delete","WebMethod.Get","WebMethod.Head","WebMethod.Patch","WebMethod.Post","WebMethod.Put"],builtinTypes:["Action.Type","Any.Type","Binary.Type","BinaryEncoding.Type","BinaryOccurrence.Type","Byte.Type","ByteOrder.Type","Character.Type","Compression.Type","CsvStyle.Type","Currency.Type","Date.Type","DateTime.Type","DateTimeZone.Type","Day.Type","Decimal.Type","Double.Type","Duration.Type","ExtraValues.Type","Function.Type","GroupKind.Type","Guid.Type","Int16.Type","Int32.Type","Int64.Type","Int8.Type","JoinAlgorithm.Type","JoinKind.Type","JoinSide.Type","List.Type","Logical.Type","MissingField.Type","None.Type","Null.Type","Number.Type","Occurrence.Type","Order.Type","Password.Type","Percentage.Type","Precision.Type","QuoteStyle.Type","Record.Type","RelativePosition.Type","RoundingMode.Type","SapHanaDistribution.Type","SapHanaRangeOperator.Type","Single.Type","Table.Type","Text.Type","TextEncoding.Type","Time.Type","TraceLevel.Type","Type.Type","Uri.Type","WebMethod.Type"],tokenizer:{root:[[/#"[\w \.]+"/,"identifier.quote"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+([eE][\-+]?\d+)?/,"number"],[/(#?[a-z]+)\b/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@constants":"constant","@constructors":"constructor","@operatorKeywords":"operators","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,{cases:{"@builtinTypes":"type","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,{cases:{"@builtinFunctions":"keyword.function","@builtinConstants":"constant","@default":"identifier"}}],[/\b([a-zA-Z_][\w\.]*)\b/,"identifier"],{include:"@whitespace"},{include:"@comments"},{include:"@strings"},[/[{}()\[\]]/,"@brackets"],[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/,"operators"],[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],strings:[['"',"string","@string"]],string:[['""',"string.escape"],['"',"string","@pop"],[".","string"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/powershell/powershell.js b/public/libs/monaco-editor/vs/basic-languages/powershell/powershell.js new file mode 100644 index 0000000..7505fc9 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/powershell/powershell.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/powershell/powershell",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"#",blockComment:["<#","#>"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".ps1",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["begin","break","catch","class","continue","data","define","do","dynamicparam","else","elseif","end","exit","filter","finally","for","foreach","from","function","if","in","param","process","return","switch","throw","trap","try","until","using","var","while","workflow","parallel","sequence","inlinescript","configuration"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=>/,"comment","@pop"],[/(\.)(@helpKeywords)(?!\w)/,{token:"comment.keyword.$2"}],[/[\.#]/,"comment"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/pug/pug.js b/public/libs/monaco-editor/vs/basic-languages/pug/pug.js new file mode 100644 index 0000000..8212279 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/pug/pug.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/pug/pug",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},t.language={defaultToken:"",tokenPostfix:".pug",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/redis/redis.js b/public/libs/monaco-editor/vs/basic-languages/redis/redis.js new file mode 100644 index 0000000..64b62ae --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/redis/redis.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/redis/redis",["require","exports"],(function(E,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.language=e.conf=void 0,e.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},e.language={defaultToken:"",tokenPostfix:".redis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["APPEND","AUTH","BGREWRITEAOF","BGSAVE","BITCOUNT","BITFIELD","BITOP","BITPOS","BLPOP","BRPOP","BRPOPLPUSH","CLIENT","KILL","LIST","GETNAME","PAUSE","REPLY","SETNAME","CLUSTER","ADDSLOTS","COUNT-FAILURE-REPORTS","COUNTKEYSINSLOT","DELSLOTS","FAILOVER","FORGET","GETKEYSINSLOT","INFO","KEYSLOT","MEET","NODES","REPLICATE","RESET","SAVECONFIG","SET-CONFIG-EPOCH","SETSLOT","SLAVES","SLOTS","COMMAND","COUNT","GETKEYS","CONFIG","GET","REWRITE","SET","RESETSTAT","DBSIZE","DEBUG","OBJECT","SEGFAULT","DECR","DECRBY","DEL","DISCARD","DUMP","ECHO","EVAL","EVALSHA","EXEC","EXISTS","EXPIRE","EXPIREAT","FLUSHALL","FLUSHDB","GEOADD","GEOHASH","GEOPOS","GEODIST","GEORADIUS","GEORADIUSBYMEMBER","GETBIT","GETRANGE","GETSET","HDEL","HEXISTS","HGET","HGETALL","HINCRBY","HINCRBYFLOAT","HKEYS","HLEN","HMGET","HMSET","HSET","HSETNX","HSTRLEN","HVALS","INCR","INCRBY","INCRBYFLOAT","KEYS","LASTSAVE","LINDEX","LINSERT","LLEN","LPOP","LPUSH","LPUSHX","LRANGE","LREM","LSET","LTRIM","MGET","MIGRATE","MONITOR","MOVE","MSET","MSETNX","MULTI","PERSIST","PEXPIRE","PEXPIREAT","PFADD","PFCOUNT","PFMERGE","PING","PSETEX","PSUBSCRIBE","PUBSUB","PTTL","PUBLISH","PUNSUBSCRIBE","QUIT","RANDOMKEY","READONLY","READWRITE","RENAME","RENAMENX","RESTORE","ROLE","RPOP","RPOPLPUSH","RPUSH","RPUSHX","SADD","SAVE","SCARD","SCRIPT","FLUSH","LOAD","SDIFF","SDIFFSTORE","SELECT","SETBIT","SETEX","SETNX","SETRANGE","SHUTDOWN","SINTER","SINTERSTORE","SISMEMBER","SLAVEOF","SLOWLOG","SMEMBERS","SMOVE","SORT","SPOP","SRANDMEMBER","SREM","STRLEN","SUBSCRIBE","SUNION","SUNIONSTORE","SWAPDB","SYNC","TIME","TOUCH","TTL","TYPE","UNSUBSCRIBE","UNLINK","UNWATCH","WAIT","WATCH","ZADD","ZCARD","ZCOUNT","ZINCRBY","ZINTERSTORE","ZLEXCOUNT","ZRANGE","ZRANGEBYLEX","ZREVRANGEBYLEX","ZRANGEBYSCORE","ZRANK","ZREM","ZREMRANGEBYLEX","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZREVRANGE","ZREVRANGEBYSCORE","ZREVRANK","ZSCORE","ZUNIONSTORE","SCAN","SSCAN","HSCAN","ZSCAN"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],scopes:[]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/redshift/redshift.js b/public/libs/monaco-editor/vs/basic-languages/redshift/redshift.js new file mode 100644 index 0000000..a9829cc --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/redshift/redshift.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/redshift/redshift",["require","exports"],(function(e,_){"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.language=_.conf=void 0,_.conf={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},_.language={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BLANKSASNULL","BOTH","BY","BYTEDICT","BZIP2","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CREDENTIALS","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURRENT_USER_ID","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DELTA","DELTA32K","DESC","DISABLE","DISTINCT","DO","ELSE","EMPTYASNULL","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","END","EXCEPT","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GRANT","GROUP","GZIP","HAVING","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","LZO","LZOP","MINUS","MOSTLY13","MOSTLY32","MOSTLY8","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","OR","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RAW","READRATIO","RECOVER","REFERENCES","RESPECT","REJECTLOG","RESORT","RESTORE","RIGHT","SELECT","SESSION_USER","SIMILAR","SNAPSHOT","SOME","SYSDATE","SYSTEM","TABLE","TAG","TDES","TEXT255","TEXT32K","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","TRUNCATECOLUMNS","UNION","UNIQUE","USER","USING","VERBOSE","WALLET","WHEN","WHERE","WITH","WITHOUT"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["current_schema","current_schemas","has_database_privilege","has_schema_privilege","has_table_privilege","age","current_time","current_timestamp","localtime","isfinite","now","ascii","get_bit","get_byte","set_bit","set_byte","to_ascii","approximate percentile_disc","avg","count","listagg","max","median","min","percentile_cont","stddev_samp","stddev_pop","sum","var_samp","var_pop","bit_and","bit_or","bool_and","bool_or","cume_dist","first_value","lag","last_value","lead","nth_value","ratio_to_report","dense_rank","ntile","percent_rank","rank","row_number","case","coalesce","decode","greatest","least","nvl","nvl2","nullif","add_months","at time zone","convert_timezone","current_date","date_cmp","date_cmp_timestamp","date_cmp_timestamptz","date_part_year","dateadd","datediff","date_part","date_trunc","extract","getdate","interval_cmp","last_day","months_between","next_day","sysdate","timeofday","timestamp_cmp","timestamp_cmp_date","timestamp_cmp_timestamptz","timestamptz_cmp","timestamptz_cmp_date","timestamptz_cmp_timestamp","timezone","to_timestamp","trunc","abs","acos","asin","atan","atan2","cbrt","ceil","ceiling","checksum","cos","cot","degrees","dexp","dlog1","dlog10","exp","floor","ln","log","mod","pi","power","radians","random","round","sin","sign","sqrt","tan","to_hex","bpcharcmp","btrim","bttext_pattern_cmp","char_length","character_length","charindex","chr","concat","crc32","func_sha1","initcap","left and rights","len","length","lower","lpad and rpads","ltrim","md5","octet_length","position","quote_ident","quote_literal","regexp_count","regexp_instr","regexp_replace","regexp_substr","repeat","replace","replicate","reverse","rtrim","split_part","strpos","strtol","substring","textlen","translate","trim","upper","cast","convert","to_char","to_date","to_number","json_array_length","json_extract_array_element_text","json_extract_path_text","current_setting","pg_cancel_backend","pg_terminate_backend","set_config","current_database","current_user","current_user_id","pg_backend_pid","pg_last_copy_count","pg_last_copy_id","pg_last_query_id","pg_last_unload_count","session_user","slice_num","user","version","abbrev","acosd","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","asind","atan2d","atand","bit","bit_length","bound_box","box","brin_summarize_new_values","broadcast","cardinality","center","circle","clock_timestamp","col_description","concat_ws","convert_from","convert_to","corr","cosd","cotd","covar_pop","covar_samp","current_catalog","current_query","current_role","currval","cursor_to_xml","diameter","div","encode","enum_first","enum_last","enum_range","every","family","format","format_type","generate_series","generate_subscripts","get_current_ts_config","gin_clean_pending_list","grouping","has_any_column_privilege","has_column_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_sequence_privilege","has_server_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","isclosed","isempty","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lastval","left","line","localtimestamp","lower_inc","lower_inf","lpad","lseg","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","mode","netmask","network","nextval","npoints","num_nonnulls","num_nulls","numnode","obj_description","overlay","parse_ident","path","pclose","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backup_start_time","pg_blocking_pids","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","plainto_tsquery","point","polygon","popen","pqserverversion","query_to_xml","querytree","quote_nullable","radius","range_merge","regexp_matches","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","right","row_security_active","row_to_json","rpad","scale","set_masklen","setseed","setval","setweight","shobj_description","sind","sprintf","statement_timestamp","stddev","string_agg","string_to_array","strip","substr","table_to_xml","table_to_xml_and_xmlschema","tand","text","to_json","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_tsquery","to_tsvector","transaction_timestamp","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper_inc","upper_inf","variance","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/restructuredtext/restructuredtext.js b/public/libs/monaco-editor/vs/basic-languages/restructuredtext/restructuredtext.js new file mode 100644 index 0000000..694d9a2 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/restructuredtext/restructuredtext.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/restructuredtext/restructuredtext",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},n.language={defaultToken:"",tokenPostfix:".rst",control:/[\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],alphanumerics:/[A-Za-z0-9]/,alphanumericsplus:/[A-Za-z0-9-_+:.]/,simpleRefNameWithoutBq:/(?:@alphanumerics@alphanumericsplus*@alphanumerics)+|(?:@alphanumerics+)/,simpleRefName:/(?:`@simpleRefNameWithoutBq`|@simpleRefNameWithoutBq)/,phrase:/@simpleRefName(?:\s@simpleRefName)*/,citationName:/[A-Za-z][A-Za-z0-9-_.]*/,blockLiteralStart:/(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/,precedingChars:/(?:[ -:/'"<([{])/,followingChars:/(?:[ -.,:;!?/'")\]}>]|$)/,punctuation:/(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/,tokenizer:{root:[[/^(@punctuation{3,}$){1,1}?/,"keyword"],[/^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/,"keyword"],[/([ ]::)\s*$/,"keyword","@blankLineOfLiteralBlocks"],[/(::)\s*$/,"keyword","@blankLineOfLiteralBlocks"],{include:"@tables"},{include:"@explicitMarkupBlocks"},{include:"@inlineMarkup"}],explicitMarkupBlocks:[{include:"@citations"},{include:"@footnotes"},[/^(\.\.\s)(@simpleRefName)(::\s)(.*)$/,[{token:"",next:"subsequentLines"},"keyword","",""]],[/^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/,[{token:"",next:"hyperlinks"},"","","string.link","","","string.link"]],[/^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/,[{token:"",next:"subsequentLines"},"","","","string.link"]],[/^(__\s+)(.+)/,["","string.link"]],[/^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/,[{token:"",next:"subsequentLines"},"","string.link","","keyword",""],"@rawBlocks"],[/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/,["","string.link",""]],[/^(\.\.)([ ].*)$/,[{token:"",next:"@comments"},"comment"]]],inlineMarkup:[{include:"@citationsReference"},{include:"@footnotesReference"},[/(@simpleRefName)(_{1,2})/,["string.link",""]],[/(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/,["","string.link","","string.link","","",""]],[/\*\*([^\\*]|\*(?!\*))+\*\*/,"strong"],[/\*[^*]+\*/,"emphasis"],[/(``)((?:[^`]|\`(?!`))+)(``)/,["","keyword",""]],[/(__\s+)(.+)/,["","keyword"]],[/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/,["","keyword","","",""]],[/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/,["","","","keyword",""]],[/(`)([^`]+)(`)/,""],[/(_`)(@phrase)(`)/,["","string.link",""]]],citations:[[/^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]]],citationsReference:[[/(\[)(@citationName)(\]_)/,["","string.link",""]]],footnotes:[[/^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/,[{token:"",next:"@subsequentLines"},"string.link",""]],[/^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]],[/^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]]],footnotesReference:[[/(\[)([0-9]+)(\])(_)/,["","string.link","",""]],[/(\[)(#@simpleRefName?)(\])(_)/,["","string.link","",""]],[/(\[)(\*)(\])(_)/,["","string.link","",""]]],blankLineOfLiteralBlocks:[[/^$/,"","@subsequentLinesOfLiteralBlocks"],[/^.*$/,"","@pop"]],subsequentLinesOfLiteralBlocks:[[/(@blockLiteralStart+)(.*)/,["keyword",""]],[/^(?!blockLiteralStart)/,"","@popall"]],subsequentLines:[[/^[\s]+.*/,""],[/^(?!\s)/,"","@pop"]],hyperlinks:[[/^[\s]+.*/,"string.link"],[/^(?!\s)/,"","@pop"]],comments:[[/^[\s]+.*/,"comment"],[/^(?!\s)/,"","@pop"]],tables:[[/\+-[+-]+/,"keyword"],[/\+=[+=]+/,"keyword"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/ruby/ruby.js b/public/libs/monaco-editor/vs/basic-languages/ruby/ruby.js new file mode 100644 index 0000000..1ed764a --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/ruby/ruby.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/ruby/ruby",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"#",blockComment:["=begin","=end"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],indentationRules:{increaseIndentPattern:new RegExp("^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|(\"|'|/).*\\4)*(#.*)?$"),decreaseIndentPattern:new RegExp("^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)")}},t.language={tokenPostfix:".ruby",keywords:["__LINE__","__ENCODING__","__FILE__","BEGIN","END","alias","and","begin","break","case","class","def","defined?","do","else","elsif","end","ensure","for","false","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield"],keywordops:["::","..","...","?",":","=>"],builtins:["require","public","private","include","extend","attr_reader","protected","private_class_method","protected_class_method","new"],declarations:["module","class","def","case","do","begin","for","if","while","until","unless"],linedecls:["def","case","do","begin","for","if","while","until","unless"],operators:["^","&","|","<=>","==","===","!~","=~",">",">=","<","<=","<<",">>","+","-","*","/","%","**","~","+@","-@","[]","[]=","`","+=","-=","*=","**=","/=","^=","%=","<<=",">>=","&=","&&=","||=","|="],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],symbols:/[=>"}],[/%([qws])(@delim)/,{token:"string.$1.delim",switchTo:"@qstring.$1.$2.$2"}],[/%r\(/,{token:"regexp.delim",switchTo:"@pregexp.(.)"}],[/%r\[/,{token:"regexp.delim",switchTo:"@pregexp.[.]"}],[/%r\{/,{token:"regexp.delim",switchTo:"@pregexp.{.}"}],[/%r"}],[/%r(@delim)/,{token:"regexp.delim",switchTo:"@pregexp.$1.$1"}],[/%(x|W|Q?)\(/,{token:"string.$1.delim",switchTo:"@qqstring.$1.(.)"}],[/%(x|W|Q?)\[/,{token:"string.$1.delim",switchTo:"@qqstring.$1.[.]"}],[/%(x|W|Q?)\{/,{token:"string.$1.delim",switchTo:"@qqstring.$1.{.}"}],[/%(x|W|Q?)"}],[/%(x|W|Q?)(@delim)/,{token:"string.$1.delim",switchTo:"@qqstring.$1.$2.$2"}],[/%([rqwsxW]|Q?)./,{token:"invalid",next:"@pop"}],[/./,{token:"invalid",next:"@pop"}]],qstring:[[/\\$/,"string.$S2.escape"],[/\\./,"string.$S2.escape"],[/./,{cases:{"$#==$S4":{token:"string.$S2.delim",next:"@pop"},"$#==$S3":{token:"string.$S2.delim",next:"@push"},"@default":"string.$S2"}}]],qqstring:[[/#/,"string.$S2.escape","@interpolated"],{include:"@qstring"}],whitespace:[[/[ \t\r\n]+/,""],[/^\s*=begin\b/,"comment","@comment"],[/#.*$/,"comment"]],comment:[[/[^=]+/,"comment"],[/^\s*=begin\b/,"comment.invalid"],[/^\s*=end\b.*/,"comment","@pop"],[/[=]/,"comment"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/rust/rust.js b/public/libs/monaco-editor/vs/basic-languages/rust/rust.js new file mode 100644 index 0000000..c74e57a --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/rust/rust.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/rust/rust",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},t.language={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","async","await","box","break","const","continue","crate","dyn","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","try","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'\S'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/sb/sb.js b/public/libs/monaco-editor/vs/basic-languages/sb/sb.js new file mode 100644 index 0000000..5e2241e --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/sb/sb.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/sb/sb",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.language=o.conf=void 0,o.conf={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]},o.language={defaultToken:"",tokenPostfix:".sb",ignoreCase:!0,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/scala/scala.js b/public/libs/monaco-editor/vs/basic-languages/scala/scala.js new file mode 100644 index 0000000..b75d85f --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/scala/scala.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/scala/scala",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(unary_[@~!#%^&*()\-=+\\|:<>\/?]+)|([a-zA-Z_$][\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\w$]*)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},t.language={tokenPostfix:".scala",keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],softKeywords:["as","export","extension","end","derives","on"],constants:["true","false","null","this","super"],modifiers:["abstract","final","implicit","lazy","override","private","protected","sealed"],softModifiers:["inline","opaque","open","transparent","using"],name:/(?:[a-z_$][\w$]*|`[^`]+`)/,type:/(?:[A-Z][\w$]*)/,symbols:/[=>))/,["@brackets","white","variable"]],[/@name/,{cases:{"@keywords":"keyword","@softKeywords":"keyword","@modifiers":"keyword.modifier","@softModifiers":"keyword.modifier","@constants":{token:"constant",next:"@allowMethod"},"@default":{token:"identifier",next:"@allowMethod"}}}],[/@type/,"type","@allowMethod"],{include:"@whitespace"},[/@[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*/,"annotation"],[/[{(]/,"@brackets"],[/[})]/,"@brackets","@allowMethod"],[/\[/,"operator.square"],[/](?!\s*(?:va[rl]|def|type)\b)/,"operator.square","@allowMethod"],[/]/,"operator.square"],[/([=-]>|<-|>:|<:|:>|<%)(?=[\s\w()[\]{},\."'`])/,"keyword"],[/@symbols/,"operator"],[/[;,\.]/,"delimiter"],[/'[a-zA-Z$][\w$]*(?!')/,"attribute.name"],[/'[^\\']'/,"string","@allowMethod"],[/(')(@escapes)(')/,["string","string.escape",{token:"string",next:"@allowMethod"}]],[/'/,"string.invalid"]],import:[[/;/,"delimiter","@pop"],[/^|$/,"","@pop"],[/[ \t]+/,"white"],[/[\n\r]+/,"white","@pop"],[/\/\*/,"comment","@comment"],[/@name|@type/,"type"],[/[(){}]/,"@brackets"],[/[[\]]/,"operator.square"],[/[\.,]/,"delimiter"]],allowMethod:[[/^|$/,"","@pop"],[/[ \t]+/,"white"],[/[\n\r]+/,"white","@pop"],[/\/\*/,"comment","@comment"],[/(?==>[\s\w([{])/,"keyword","@pop"],[/(@name|@symbols)(?=[ \t]*[[({"'`]|[ \t]+(?:[+-]?\.?\d|\w))/,{cases:{"@keywords":{token:"keyword",next:"@pop"},"->|<-|>:|<:|<%":{token:"keyword",next:"@pop"},"@default":{token:"@rematch",next:"@pop"}}}],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],case:[[/\b_\*/,"key"],[/\b(_|true|false|null|this|super)\b/,"keyword","@allowMethod"],[/\bif\b|=>/,"keyword","@pop"],[/`[^`]+`/,"identifier","@allowMethod"],[/@name/,"variable","@allowMethod"],[/:::?|\||@(?![a-z_$])/,"keyword"],{include:"@root"}],vardef:[[/\b_\*/,"key"],[/\b(_|true|false|null|this|super)\b/,"keyword"],[/@name/,"variable"],[/:::?|\||@(?![a-z_$])/,"keyword"],[/=|:(?!:)/,"operator","@pop"],[/$/,"white","@pop"],{include:"@root"}],string:[[/[^\\"\n\r]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}]],stringt:[[/[^\\"\n\r]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/"/,"string"]],fstring:[[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/%%/,"string"],[/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","keyword.modifier","number","metatag"]],[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","number","metatag"]],[/(%)([\-#+ 0,(])(@fstring_conv)/,["metatag","keyword.modifier","metatag"]],[/(%)(@fstring_conv)/,["metatag","metatag"]],[/./,"string"]],fstringt:[[/@escapes/,"string.escape"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/%%/,"string"],[/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","keyword.modifier","number","metatag"]],[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","number","metatag"]],[/(%)([\-#+ 0,(])(@fstring_conv)/,["metatag","keyword.modifier","metatag"]],[/(%)(@fstring_conv)/,["metatag","metatag"]],[/./,"string"]],sstring:[[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/./,"string"]],sstringt:[[/@escapes/,"string.escape"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/./,"string"]],interp:[[/{/,"operator","@push"],[/}/,"operator","@pop"],{include:"@root"}],rawstring:[[/[^"]/,"string"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}]],rawstringt:[[/[^"]/,"string"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/"/,"string"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/scheme/scheme.js b/public/libs/monaco-editor/vs/basic-languages/scheme/scheme.js new file mode 100644 index 0000000..c93fe95 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/scheme/scheme.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/scheme/scheme",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.language=o.conf=void 0,o.conf={comments:{lineComment:";",blockComment:["#|","|#"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},o.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".scheme",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["case","do","let","loop","if","else","when","cons","car","cdr","cond","lambda","lambda*","syntax-rules","format","set!","quote","eval","append","list","list?","member?","load"],constants:["#t","#f"],operators:["eq?","eqv?","equal?","and","or","not","null?"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],{include:"@whitespace"},{include:"@strings"},[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}]],comment:[[/[^\|#]+/,"comment"],[/#\|/,"comment","@push"],[/\|#/,"comment","@pop"],[/[\|#]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#\|/,"comment","@comment"],[/;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string.escape"],[/"/,"string","@popall"],[/\\$/,"string"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/scss/scss.js b/public/libs/monaco-editor/vs/basic-languages/scss/scss.js new file mode 100644 index 0000000..b8e8a5a --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/scss/scss.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/scss/scss",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},t.language={defaultToken:"",tokenPostfix:".scss",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@variabledeclaration"},{include:"@warndebug"},["[@](include)",{token:"keyword",next:"@includedeclaration"}],["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["[@](function)",{token:"keyword",next:"@functiondeclaration"}],["[@](mixin)",{token:"keyword",next:"@mixindeclaration"}],["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@controlstatement"},{include:"@selectorname"},["[&\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.curly",next:"@selectorbody"}]],selectorbody:[["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],{include:"@selector"},["[@](extend)",{token:"keyword",next:"@extendbody"}],["[@](return)",{token:"keyword",next:"@declarationbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],selectorname:[["#{",{token:"meta",next:"@variableinterpolation"}],["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@functioninvocation"},{include:"@numbers"},{include:"@strings"},{include:"@variablereference"},["(and\\b|or\\b|not\\b)","operator"],{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","operator"],[",","delimiter"],["!default","literal"],["\\(",{token:"delimiter.parenthesis",next:"@parenthizedterm"}]],rulevalue:[{include:"@term"},["!important","literal"],[";","delimiter","@pop"],["{",{token:"delimiter.curly",switchTo:"@nestedproperty"}],["(?=})",{token:"",next:"@pop"}]],nestedproperty:[["[*_]?@identifier@ws:","attribute.name","@rulevalue"],{include:"@comments"},["}",{token:"delimiter.curly",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],variabledeclaration:[["\\$@identifier@ws:","variable.decl","@declarationbody"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"meta",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],extendbody:[{include:"@selectorname"},["!optional","literal"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],variablereference:[["\\$@identifier","variable.ref"],["\\.\\.\\.","operator"],["#{",{token:"meta",next:"@variableinterpolation"}]],variableinterpolation:[{include:"@variablereference"},["}",{token:"meta",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],name:[["@identifier","attribute.value"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","number.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","number","@pop"]],functiondeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["{",{token:"delimiter.curly",switchTo:"@functionbody"}]],mixindeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],parameterdeclaration:[["\\$@identifier@ws:","variable.decl"],["\\.\\.\\.","operator"],[",","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],includedeclaration:[{include:"@functioninvocation"},["@identifier","meta"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],keyframedeclaration:[["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.curly",next:"@selectorbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],controlstatement:[["[@](if|else|for|while|each|media)",{token:"keyword.flow",next:"@controlstatementdeclaration"}]],controlstatementdeclaration:[["(in|from|through|if|to)\\b",{token:"keyword.flow"}],{include:"@term"},["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],functionbody:[["[@](return)",{token:"keyword"}],{include:"@variabledeclaration"},{include:"@term"},{include:"@controlstatement"},[";","delimiter"],["}",{token:"delimiter.curly",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"meta",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],strings:[['~?"',{token:"string.delimiter",next:"@stringenddoublequote"}],["~?'",{token:"string.delimiter",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string.delimiter",next:"@pop"}],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string.delimiter",next:"@pop"}],[".","string"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/shell/shell.js b/public/libs/monaco-editor/vs/basic-languages/shell/shell.js new file mode 100644 index 0000000..84f7362 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/shell/shell.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/shell/shell",["require","exports"],(function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.language=r.conf=void 0,r.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},r.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".shell",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],builtins:["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"],symbols:/[=>"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},e.language={defaultToken:"",tokenPostfix:".sol",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["pragma","solidity","contract","library","using","struct","function","modifier","constructor","address","string","bool","Int","Uint","Byte","Fixed","Ufixed","int","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","uint","uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","byte","bytes","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","fixed","fixed0x8","fixed0x16","fixed0x24","fixed0x32","fixed0x40","fixed0x48","fixed0x56","fixed0x64","fixed0x72","fixed0x80","fixed0x88","fixed0x96","fixed0x104","fixed0x112","fixed0x120","fixed0x128","fixed0x136","fixed0x144","fixed0x152","fixed0x160","fixed0x168","fixed0x176","fixed0x184","fixed0x192","fixed0x200","fixed0x208","fixed0x216","fixed0x224","fixed0x232","fixed0x240","fixed0x248","fixed0x256","fixed8x8","fixed8x16","fixed8x24","fixed8x32","fixed8x40","fixed8x48","fixed8x56","fixed8x64","fixed8x72","fixed8x80","fixed8x88","fixed8x96","fixed8x104","fixed8x112","fixed8x120","fixed8x128","fixed8x136","fixed8x144","fixed8x152","fixed8x160","fixed8x168","fixed8x176","fixed8x184","fixed8x192","fixed8x200","fixed8x208","fixed8x216","fixed8x224","fixed8x232","fixed8x240","fixed8x248","fixed16x8","fixed16x16","fixed16x24","fixed16x32","fixed16x40","fixed16x48","fixed16x56","fixed16x64","fixed16x72","fixed16x80","fixed16x88","fixed16x96","fixed16x104","fixed16x112","fixed16x120","fixed16x128","fixed16x136","fixed16x144","fixed16x152","fixed16x160","fixed16x168","fixed16x176","fixed16x184","fixed16x192","fixed16x200","fixed16x208","fixed16x216","fixed16x224","fixed16x232","fixed16x240","fixed24x8","fixed24x16","fixed24x24","fixed24x32","fixed24x40","fixed24x48","fixed24x56","fixed24x64","fixed24x72","fixed24x80","fixed24x88","fixed24x96","fixed24x104","fixed24x112","fixed24x120","fixed24x128","fixed24x136","fixed24x144","fixed24x152","fixed24x160","fixed24x168","fixed24x176","fixed24x184","fixed24x192","fixed24x200","fixed24x208","fixed24x216","fixed24x224","fixed24x232","fixed32x8","fixed32x16","fixed32x24","fixed32x32","fixed32x40","fixed32x48","fixed32x56","fixed32x64","fixed32x72","fixed32x80","fixed32x88","fixed32x96","fixed32x104","fixed32x112","fixed32x120","fixed32x128","fixed32x136","fixed32x144","fixed32x152","fixed32x160","fixed32x168","fixed32x176","fixed32x184","fixed32x192","fixed32x200","fixed32x208","fixed32x216","fixed32x224","fixed40x8","fixed40x16","fixed40x24","fixed40x32","fixed40x40","fixed40x48","fixed40x56","fixed40x64","fixed40x72","fixed40x80","fixed40x88","fixed40x96","fixed40x104","fixed40x112","fixed40x120","fixed40x128","fixed40x136","fixed40x144","fixed40x152","fixed40x160","fixed40x168","fixed40x176","fixed40x184","fixed40x192","fixed40x200","fixed40x208","fixed40x216","fixed48x8","fixed48x16","fixed48x24","fixed48x32","fixed48x40","fixed48x48","fixed48x56","fixed48x64","fixed48x72","fixed48x80","fixed48x88","fixed48x96","fixed48x104","fixed48x112","fixed48x120","fixed48x128","fixed48x136","fixed48x144","fixed48x152","fixed48x160","fixed48x168","fixed48x176","fixed48x184","fixed48x192","fixed48x200","fixed48x208","fixed56x8","fixed56x16","fixed56x24","fixed56x32","fixed56x40","fixed56x48","fixed56x56","fixed56x64","fixed56x72","fixed56x80","fixed56x88","fixed56x96","fixed56x104","fixed56x112","fixed56x120","fixed56x128","fixed56x136","fixed56x144","fixed56x152","fixed56x160","fixed56x168","fixed56x176","fixed56x184","fixed56x192","fixed56x200","fixed64x8","fixed64x16","fixed64x24","fixed64x32","fixed64x40","fixed64x48","fixed64x56","fixed64x64","fixed64x72","fixed64x80","fixed64x88","fixed64x96","fixed64x104","fixed64x112","fixed64x120","fixed64x128","fixed64x136","fixed64x144","fixed64x152","fixed64x160","fixed64x168","fixed64x176","fixed64x184","fixed64x192","fixed72x8","fixed72x16","fixed72x24","fixed72x32","fixed72x40","fixed72x48","fixed72x56","fixed72x64","fixed72x72","fixed72x80","fixed72x88","fixed72x96","fixed72x104","fixed72x112","fixed72x120","fixed72x128","fixed72x136","fixed72x144","fixed72x152","fixed72x160","fixed72x168","fixed72x176","fixed72x184","fixed80x8","fixed80x16","fixed80x24","fixed80x32","fixed80x40","fixed80x48","fixed80x56","fixed80x64","fixed80x72","fixed80x80","fixed80x88","fixed80x96","fixed80x104","fixed80x112","fixed80x120","fixed80x128","fixed80x136","fixed80x144","fixed80x152","fixed80x160","fixed80x168","fixed80x176","fixed88x8","fixed88x16","fixed88x24","fixed88x32","fixed88x40","fixed88x48","fixed88x56","fixed88x64","fixed88x72","fixed88x80","fixed88x88","fixed88x96","fixed88x104","fixed88x112","fixed88x120","fixed88x128","fixed88x136","fixed88x144","fixed88x152","fixed88x160","fixed88x168","fixed96x8","fixed96x16","fixed96x24","fixed96x32","fixed96x40","fixed96x48","fixed96x56","fixed96x64","fixed96x72","fixed96x80","fixed96x88","fixed96x96","fixed96x104","fixed96x112","fixed96x120","fixed96x128","fixed96x136","fixed96x144","fixed96x152","fixed96x160","fixed104x8","fixed104x16","fixed104x24","fixed104x32","fixed104x40","fixed104x48","fixed104x56","fixed104x64","fixed104x72","fixed104x80","fixed104x88","fixed104x96","fixed104x104","fixed104x112","fixed104x120","fixed104x128","fixed104x136","fixed104x144","fixed104x152","fixed112x8","fixed112x16","fixed112x24","fixed112x32","fixed112x40","fixed112x48","fixed112x56","fixed112x64","fixed112x72","fixed112x80","fixed112x88","fixed112x96","fixed112x104","fixed112x112","fixed112x120","fixed112x128","fixed112x136","fixed112x144","fixed120x8","fixed120x16","fixed120x24","fixed120x32","fixed120x40","fixed120x48","fixed120x56","fixed120x64","fixed120x72","fixed120x80","fixed120x88","fixed120x96","fixed120x104","fixed120x112","fixed120x120","fixed120x128","fixed120x136","fixed128x8","fixed128x16","fixed128x24","fixed128x32","fixed128x40","fixed128x48","fixed128x56","fixed128x64","fixed128x72","fixed128x80","fixed128x88","fixed128x96","fixed128x104","fixed128x112","fixed128x120","fixed128x128","fixed136x8","fixed136x16","fixed136x24","fixed136x32","fixed136x40","fixed136x48","fixed136x56","fixed136x64","fixed136x72","fixed136x80","fixed136x88","fixed136x96","fixed136x104","fixed136x112","fixed136x120","fixed144x8","fixed144x16","fixed144x24","fixed144x32","fixed144x40","fixed144x48","fixed144x56","fixed144x64","fixed144x72","fixed144x80","fixed144x88","fixed144x96","fixed144x104","fixed144x112","fixed152x8","fixed152x16","fixed152x24","fixed152x32","fixed152x40","fixed152x48","fixed152x56","fixed152x64","fixed152x72","fixed152x80","fixed152x88","fixed152x96","fixed152x104","fixed160x8","fixed160x16","fixed160x24","fixed160x32","fixed160x40","fixed160x48","fixed160x56","fixed160x64","fixed160x72","fixed160x80","fixed160x88","fixed160x96","fixed168x8","fixed168x16","fixed168x24","fixed168x32","fixed168x40","fixed168x48","fixed168x56","fixed168x64","fixed168x72","fixed168x80","fixed168x88","fixed176x8","fixed176x16","fixed176x24","fixed176x32","fixed176x40","fixed176x48","fixed176x56","fixed176x64","fixed176x72","fixed176x80","fixed184x8","fixed184x16","fixed184x24","fixed184x32","fixed184x40","fixed184x48","fixed184x56","fixed184x64","fixed184x72","fixed192x8","fixed192x16","fixed192x24","fixed192x32","fixed192x40","fixed192x48","fixed192x56","fixed192x64","fixed200x8","fixed200x16","fixed200x24","fixed200x32","fixed200x40","fixed200x48","fixed200x56","fixed208x8","fixed208x16","fixed208x24","fixed208x32","fixed208x40","fixed208x48","fixed216x8","fixed216x16","fixed216x24","fixed216x32","fixed216x40","fixed224x8","fixed224x16","fixed224x24","fixed224x32","fixed232x8","fixed232x16","fixed232x24","fixed240x8","fixed240x16","fixed248x8","ufixed","ufixed0x8","ufixed0x16","ufixed0x24","ufixed0x32","ufixed0x40","ufixed0x48","ufixed0x56","ufixed0x64","ufixed0x72","ufixed0x80","ufixed0x88","ufixed0x96","ufixed0x104","ufixed0x112","ufixed0x120","ufixed0x128","ufixed0x136","ufixed0x144","ufixed0x152","ufixed0x160","ufixed0x168","ufixed0x176","ufixed0x184","ufixed0x192","ufixed0x200","ufixed0x208","ufixed0x216","ufixed0x224","ufixed0x232","ufixed0x240","ufixed0x248","ufixed0x256","ufixed8x8","ufixed8x16","ufixed8x24","ufixed8x32","ufixed8x40","ufixed8x48","ufixed8x56","ufixed8x64","ufixed8x72","ufixed8x80","ufixed8x88","ufixed8x96","ufixed8x104","ufixed8x112","ufixed8x120","ufixed8x128","ufixed8x136","ufixed8x144","ufixed8x152","ufixed8x160","ufixed8x168","ufixed8x176","ufixed8x184","ufixed8x192","ufixed8x200","ufixed8x208","ufixed8x216","ufixed8x224","ufixed8x232","ufixed8x240","ufixed8x248","ufixed16x8","ufixed16x16","ufixed16x24","ufixed16x32","ufixed16x40","ufixed16x48","ufixed16x56","ufixed16x64","ufixed16x72","ufixed16x80","ufixed16x88","ufixed16x96","ufixed16x104","ufixed16x112","ufixed16x120","ufixed16x128","ufixed16x136","ufixed16x144","ufixed16x152","ufixed16x160","ufixed16x168","ufixed16x176","ufixed16x184","ufixed16x192","ufixed16x200","ufixed16x208","ufixed16x216","ufixed16x224","ufixed16x232","ufixed16x240","ufixed24x8","ufixed24x16","ufixed24x24","ufixed24x32","ufixed24x40","ufixed24x48","ufixed24x56","ufixed24x64","ufixed24x72","ufixed24x80","ufixed24x88","ufixed24x96","ufixed24x104","ufixed24x112","ufixed24x120","ufixed24x128","ufixed24x136","ufixed24x144","ufixed24x152","ufixed24x160","ufixed24x168","ufixed24x176","ufixed24x184","ufixed24x192","ufixed24x200","ufixed24x208","ufixed24x216","ufixed24x224","ufixed24x232","ufixed32x8","ufixed32x16","ufixed32x24","ufixed32x32","ufixed32x40","ufixed32x48","ufixed32x56","ufixed32x64","ufixed32x72","ufixed32x80","ufixed32x88","ufixed32x96","ufixed32x104","ufixed32x112","ufixed32x120","ufixed32x128","ufixed32x136","ufixed32x144","ufixed32x152","ufixed32x160","ufixed32x168","ufixed32x176","ufixed32x184","ufixed32x192","ufixed32x200","ufixed32x208","ufixed32x216","ufixed32x224","ufixed40x8","ufixed40x16","ufixed40x24","ufixed40x32","ufixed40x40","ufixed40x48","ufixed40x56","ufixed40x64","ufixed40x72","ufixed40x80","ufixed40x88","ufixed40x96","ufixed40x104","ufixed40x112","ufixed40x120","ufixed40x128","ufixed40x136","ufixed40x144","ufixed40x152","ufixed40x160","ufixed40x168","ufixed40x176","ufixed40x184","ufixed40x192","ufixed40x200","ufixed40x208","ufixed40x216","ufixed48x8","ufixed48x16","ufixed48x24","ufixed48x32","ufixed48x40","ufixed48x48","ufixed48x56","ufixed48x64","ufixed48x72","ufixed48x80","ufixed48x88","ufixed48x96","ufixed48x104","ufixed48x112","ufixed48x120","ufixed48x128","ufixed48x136","ufixed48x144","ufixed48x152","ufixed48x160","ufixed48x168","ufixed48x176","ufixed48x184","ufixed48x192","ufixed48x200","ufixed48x208","ufixed56x8","ufixed56x16","ufixed56x24","ufixed56x32","ufixed56x40","ufixed56x48","ufixed56x56","ufixed56x64","ufixed56x72","ufixed56x80","ufixed56x88","ufixed56x96","ufixed56x104","ufixed56x112","ufixed56x120","ufixed56x128","ufixed56x136","ufixed56x144","ufixed56x152","ufixed56x160","ufixed56x168","ufixed56x176","ufixed56x184","ufixed56x192","ufixed56x200","ufixed64x8","ufixed64x16","ufixed64x24","ufixed64x32","ufixed64x40","ufixed64x48","ufixed64x56","ufixed64x64","ufixed64x72","ufixed64x80","ufixed64x88","ufixed64x96","ufixed64x104","ufixed64x112","ufixed64x120","ufixed64x128","ufixed64x136","ufixed64x144","ufixed64x152","ufixed64x160","ufixed64x168","ufixed64x176","ufixed64x184","ufixed64x192","ufixed72x8","ufixed72x16","ufixed72x24","ufixed72x32","ufixed72x40","ufixed72x48","ufixed72x56","ufixed72x64","ufixed72x72","ufixed72x80","ufixed72x88","ufixed72x96","ufixed72x104","ufixed72x112","ufixed72x120","ufixed72x128","ufixed72x136","ufixed72x144","ufixed72x152","ufixed72x160","ufixed72x168","ufixed72x176","ufixed72x184","ufixed80x8","ufixed80x16","ufixed80x24","ufixed80x32","ufixed80x40","ufixed80x48","ufixed80x56","ufixed80x64","ufixed80x72","ufixed80x80","ufixed80x88","ufixed80x96","ufixed80x104","ufixed80x112","ufixed80x120","ufixed80x128","ufixed80x136","ufixed80x144","ufixed80x152","ufixed80x160","ufixed80x168","ufixed80x176","ufixed88x8","ufixed88x16","ufixed88x24","ufixed88x32","ufixed88x40","ufixed88x48","ufixed88x56","ufixed88x64","ufixed88x72","ufixed88x80","ufixed88x88","ufixed88x96","ufixed88x104","ufixed88x112","ufixed88x120","ufixed88x128","ufixed88x136","ufixed88x144","ufixed88x152","ufixed88x160","ufixed88x168","ufixed96x8","ufixed96x16","ufixed96x24","ufixed96x32","ufixed96x40","ufixed96x48","ufixed96x56","ufixed96x64","ufixed96x72","ufixed96x80","ufixed96x88","ufixed96x96","ufixed96x104","ufixed96x112","ufixed96x120","ufixed96x128","ufixed96x136","ufixed96x144","ufixed96x152","ufixed96x160","ufixed104x8","ufixed104x16","ufixed104x24","ufixed104x32","ufixed104x40","ufixed104x48","ufixed104x56","ufixed104x64","ufixed104x72","ufixed104x80","ufixed104x88","ufixed104x96","ufixed104x104","ufixed104x112","ufixed104x120","ufixed104x128","ufixed104x136","ufixed104x144","ufixed104x152","ufixed112x8","ufixed112x16","ufixed112x24","ufixed112x32","ufixed112x40","ufixed112x48","ufixed112x56","ufixed112x64","ufixed112x72","ufixed112x80","ufixed112x88","ufixed112x96","ufixed112x104","ufixed112x112","ufixed112x120","ufixed112x128","ufixed112x136","ufixed112x144","ufixed120x8","ufixed120x16","ufixed120x24","ufixed120x32","ufixed120x40","ufixed120x48","ufixed120x56","ufixed120x64","ufixed120x72","ufixed120x80","ufixed120x88","ufixed120x96","ufixed120x104","ufixed120x112","ufixed120x120","ufixed120x128","ufixed120x136","ufixed128x8","ufixed128x16","ufixed128x24","ufixed128x32","ufixed128x40","ufixed128x48","ufixed128x56","ufixed128x64","ufixed128x72","ufixed128x80","ufixed128x88","ufixed128x96","ufixed128x104","ufixed128x112","ufixed128x120","ufixed128x128","ufixed136x8","ufixed136x16","ufixed136x24","ufixed136x32","ufixed136x40","ufixed136x48","ufixed136x56","ufixed136x64","ufixed136x72","ufixed136x80","ufixed136x88","ufixed136x96","ufixed136x104","ufixed136x112","ufixed136x120","ufixed144x8","ufixed144x16","ufixed144x24","ufixed144x32","ufixed144x40","ufixed144x48","ufixed144x56","ufixed144x64","ufixed144x72","ufixed144x80","ufixed144x88","ufixed144x96","ufixed144x104","ufixed144x112","ufixed152x8","ufixed152x16","ufixed152x24","ufixed152x32","ufixed152x40","ufixed152x48","ufixed152x56","ufixed152x64","ufixed152x72","ufixed152x80","ufixed152x88","ufixed152x96","ufixed152x104","ufixed160x8","ufixed160x16","ufixed160x24","ufixed160x32","ufixed160x40","ufixed160x48","ufixed160x56","ufixed160x64","ufixed160x72","ufixed160x80","ufixed160x88","ufixed160x96","ufixed168x8","ufixed168x16","ufixed168x24","ufixed168x32","ufixed168x40","ufixed168x48","ufixed168x56","ufixed168x64","ufixed168x72","ufixed168x80","ufixed168x88","ufixed176x8","ufixed176x16","ufixed176x24","ufixed176x32","ufixed176x40","ufixed176x48","ufixed176x56","ufixed176x64","ufixed176x72","ufixed176x80","ufixed184x8","ufixed184x16","ufixed184x24","ufixed184x32","ufixed184x40","ufixed184x48","ufixed184x56","ufixed184x64","ufixed184x72","ufixed192x8","ufixed192x16","ufixed192x24","ufixed192x32","ufixed192x40","ufixed192x48","ufixed192x56","ufixed192x64","ufixed200x8","ufixed200x16","ufixed200x24","ufixed200x32","ufixed200x40","ufixed200x48","ufixed200x56","ufixed208x8","ufixed208x16","ufixed208x24","ufixed208x32","ufixed208x40","ufixed208x48","ufixed216x8","ufixed216x16","ufixed216x24","ufixed216x32","ufixed216x40","ufixed224x8","ufixed224x16","ufixed224x24","ufixed224x32","ufixed232x8","ufixed232x16","ufixed232x24","ufixed240x8","ufixed240x16","ufixed248x8","event","enum","let","mapping","private","public","external","inherited","payable","true","false","var","import","constant","if","else","for","else","for","while","do","break","continue","throw","returns","return","suicide","new","is","this","super"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/sophia/sophia.js b/public/libs/monaco-editor/vs/basic-languages/sophia/sophia.js new file mode 100644 index 0000000..1518e61 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/sophia/sophia.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/sophia/sophia",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},t.language={defaultToken:"",tokenPostfix:".aes",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["contract","library","entrypoint","function","stateful","state","hash","signature","tuple","list","address","string","bool","int","record","datatype","type","option","oracle","oracle_query","Call","Bits","Bytes","Oracle","String","Crypto","Address","Auth","Chain","None","Some","bits","bytes","event","let","map","private","public","true","false","var","if","else","throw"],operators:["=",">","<","!","~","?","::",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/sql/sql.js b/public/libs/monaco-editor/vs/basic-languages/sql/sql.js new file mode 100644 index 0000000..06ccffc --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/sql/sql.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/sql/sql",["require","exports"],(function(E,T){"use strict";Object.defineProperty(T,"__esModule",{value:!0}),T.language=T.conf=void 0,T.conf={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},T.language={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT_AFTER_WAIT","ABSENT","ABSOLUTE","ACCENT_SENSITIVITY","ACTION","ACTIVATION","ACTIVE","ADD","ADDRESS","ADMIN","AES","AES_128","AES_192","AES_256","AFFINITY","AFTER","AGGREGATE","ALGORITHM","ALL_CONSTRAINTS","ALL_ERRORMSGS","ALL_INDEXES","ALL_LEVELS","ALL_SPARSE_COLUMNS","ALLOW_CONNECTIONS","ALLOW_MULTIPLE_EVENT_LOSS","ALLOW_PAGE_LOCKS","ALLOW_ROW_LOCKS","ALLOW_SINGLE_EVENT_LOSS","ALLOW_SNAPSHOT_ISOLATION","ALLOWED","ALTER","ANONYMOUS","ANSI_DEFAULTS","ANSI_NULL_DEFAULT","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_NULLS","ANSI_PADDING","ANSI_WARNINGS","APPEND","APPLICATION","APPLICATION_LOG","ARITHABORT","ARITHIGNORE","AS","ASC","ASSEMBLY","ASYMMETRIC","ASYNCHRONOUS_COMMIT","AT","ATOMIC","ATTACH","ATTACH_REBUILD_LOG","AUDIT","AUDIT_GUID","AUTHENTICATION","AUTHORIZATION","AUTO","AUTO_CLEANUP","AUTO_CLOSE","AUTO_CREATE_STATISTICS","AUTO_SHRINK","AUTO_UPDATE_STATISTICS","AUTO_UPDATE_STATISTICS_ASYNC","AUTOMATED_BACKUP_PREFERENCE","AUTOMATIC","AVAILABILITY","AVAILABILITY_MODE","BACKUP","BACKUP_PRIORITY","BASE64","BATCHSIZE","BEGIN","BEGIN_DIALOG","BIGINT","BINARY","BINDING","BIT","BLOCKERS","BLOCKSIZE","BOUNDING_BOX","BREAK","BROKER","BROKER_INSTANCE","BROWSE","BUCKET_COUNT","BUFFER","BUFFERCOUNT","BULK","BULK_LOGGED","BY","CACHE","CALL","CALLED","CALLER","CAP_CPU_PERCENT","CASCADE","CASE","CATALOG","CATCH","CELLS_PER_OBJECT","CERTIFICATE","CHANGE_RETENTION","CHANGE_TRACKING","CHANGES","CHAR","CHARACTER","CHECK","CHECK_CONSTRAINTS","CHECK_EXPIRATION","CHECK_POLICY","CHECKALLOC","CHECKCATALOG","CHECKCONSTRAINTS","CHECKDB","CHECKFILEGROUP","CHECKIDENT","CHECKPOINT","CHECKTABLE","CLASSIFIER_FUNCTION","CLEANTABLE","CLEANUP","CLEAR","CLOSE","CLUSTER","CLUSTERED","CODEPAGE","COLLATE","COLLECTION","COLUMN","COLUMN_SET","COLUMNS","COLUMNSTORE","COLUMNSTORE_ARCHIVE","COMMIT","COMMITTED","COMPATIBILITY_LEVEL","COMPRESSION","COMPUTE","CONCAT","CONCAT_NULL_YIELDS_NULL","CONFIGURATION","CONNECT","CONSTRAINT","CONTAINMENT","CONTENT","CONTEXT","CONTINUE","CONTINUE_AFTER_ERROR","CONTRACT","CONTRACT_NAME","CONTROL","CONVERSATION","COOKIE","COPY_ONLY","COUNTER","CPU","CREATE","CREATE_NEW","CREATION_DISPOSITION","CREDENTIAL","CRYPTOGRAPHIC","CUBE","CURRENT","CURRENT_DATE","CURSOR","CURSOR_CLOSE_ON_COMMIT","CURSOR_DEFAULT","CYCLE","DATA","DATA_COMPRESSION","DATA_PURITY","DATABASE","DATABASE_DEFAULT","DATABASE_MIRRORING","DATABASE_SNAPSHOT","DATAFILETYPE","DATE","DATE_CORRELATION_OPTIMIZATION","DATEFIRST","DATEFORMAT","DATETIME","DATETIME2","DATETIMEOFFSET","DAY","DAYOFYEAR","DAYS","DB_CHAINING","DBCC","DBREINDEX","DDL_DATABASE_LEVEL_EVENTS","DEADLOCK_PRIORITY","DEALLOCATE","DEC","DECIMAL","DECLARE","DECRYPTION","DEFAULT","DEFAULT_DATABASE","DEFAULT_FULLTEXT_LANGUAGE","DEFAULT_LANGUAGE","DEFAULT_SCHEMA","DEFINITION","DELAY","DELAYED_DURABILITY","DELETE","DELETED","DENSITY_VECTOR","DENY","DEPENDENTS","DES","DESC","DESCRIPTION","DESX","DHCP","DIAGNOSTICS","DIALOG","DIFFERENTIAL","DIRECTORY_NAME","DISABLE","DISABLE_BROKER","DISABLED","DISK","DISTINCT","DISTRIBUTED","DOCUMENT","DOUBLE","DROP","DROP_EXISTING","DROPCLEANBUFFERS","DUMP","DURABILITY","DYNAMIC","EDITION","ELEMENTS","ELSE","EMERGENCY","EMPTY","EMPTYFILE","ENABLE","ENABLE_BROKER","ENABLED","ENCRYPTION","END","ENDPOINT","ENDPOINT_URL","ERRLVL","ERROR","ERROR_BROKER_CONVERSATIONS","ERRORFILE","ESCAPE","ESTIMATEONLY","EVENT","EVENT_RETENTION_MODE","EXEC","EXECUTABLE","EXECUTE","EXIT","EXPAND","EXPIREDATE","EXPIRY_DATE","EXPLICIT","EXTENDED_LOGICAL_CHECKS","EXTENSION","EXTERNAL","EXTERNAL_ACCESS","FAIL_OPERATION","FAILOVER","FAILOVER_MODE","FAILURE_CONDITION_LEVEL","FALSE","FAN_IN","FAST","FAST_FORWARD","FETCH","FIELDTERMINATOR","FILE","FILEGROUP","FILEGROWTH","FILELISTONLY","FILENAME","FILEPATH","FILESTREAM","FILESTREAM_ON","FILETABLE_COLLATE_FILENAME","FILETABLE_DIRECTORY","FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME","FILETABLE_NAMESPACE","FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME","FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME","FILLFACTOR","FILTERING","FIRE_TRIGGERS","FIRST","FIRSTROW","FLOAT","FMTONLY","FOLLOWING","FOR","FORCE","FORCE_FAILOVER_ALLOW_DATA_LOSS","FORCE_SERVICE_ALLOW_DATA_LOSS","FORCED","FORCEPLAN","FORCESCAN","FORCESEEK","FOREIGN","FORMATFILE","FORMSOF","FORWARD_ONLY","FREE","FREEPROCCACHE","FREESESSIONCACHE","FREESYSTEMCACHE","FROM","FULL","FULLSCAN","FULLTEXT","FUNCTION","GB","GEOGRAPHY_AUTO_GRID","GEOGRAPHY_GRID","GEOMETRY_AUTO_GRID","GEOMETRY_GRID","GET","GLOBAL","GO","GOTO","GOVERNOR","GRANT","GRIDS","GROUP","GROUP_MAX_REQUESTS","HADR","HASH","HASHED","HAVING","HEADERONLY","HEALTH_CHECK_TIMEOUT","HELP","HIERARCHYID","HIGH","HINT","HISTOGRAM","HOLDLOCK","HONOR_BROKER_PRIORITY","HOUR","HOURS","IDENTITY","IDENTITY_INSERT","IDENTITY_VALUE","IDENTITYCOL","IF","IGNORE_CONSTRAINTS","IGNORE_DUP_KEY","IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX","IGNORE_TRIGGERS","IMAGE","IMMEDIATE","IMPERSONATE","IMPLICIT_TRANSACTIONS","IMPORTANCE","INCLUDE","INCREMENT","INCREMENTAL","INDEX","INDEXDEFRAG","INFINITE","INFLECTIONAL","INIT","INITIATOR","INPUT","INPUTBUFFER","INSENSITIVE","INSERT","INSERTED","INSTEAD","INT","INTEGER","INTO","IO","IP","ISABOUT","ISOLATION","JOB","KB","KEEP","KEEP_CDC","KEEP_NULLS","KEEP_REPLICATION","KEEPDEFAULTS","KEEPFIXED","KEEPIDENTITY","KEEPNULLS","KERBEROS","KEY","KEY_SOURCE","KEYS","KEYSET","KILL","KILOBYTES_PER_BATCH","LABELONLY","LANGUAGE","LAST","LASTROW","LEVEL","LEVEL_1","LEVEL_2","LEVEL_3","LEVEL_4","LIFETIME","LIMIT","LINENO","LIST","LISTENER","LISTENER_IP","LISTENER_PORT","LOAD","LOADHISTORY","LOB_COMPACTION","LOCAL","LOCAL_SERVICE_NAME","LOCK_ESCALATION","LOCK_TIMEOUT","LOGIN","LOGSPACE","LOOP","LOW","MANUAL","MARK","MARK_IN_USE_FOR_REMOVAL","MASTER","MAX_CPU_PERCENT","MAX_DISPATCH_LATENCY","MAX_DOP","MAX_DURATION","MAX_EVENT_SIZE","MAX_FILES","MAX_IOPS_PER_VOLUME","MAX_MEMORY","MAX_MEMORY_PERCENT","MAX_QUEUE_READERS","MAX_ROLLOVER_FILES","MAX_SIZE","MAXDOP","MAXERRORS","MAXLENGTH","MAXRECURSION","MAXSIZE","MAXTRANSFERSIZE","MAXVALUE","MB","MEDIADESCRIPTION","MEDIANAME","MEDIAPASSWORD","MEDIUM","MEMBER","MEMORY_OPTIMIZED","MEMORY_OPTIMIZED_DATA","MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT","MEMORY_PARTITION_MODE","MERGE","MESSAGE","MESSAGE_FORWARD_SIZE","MESSAGE_FORWARDING","MICROSECOND","MILLISECOND","MIN_CPU_PERCENT","MIN_IOPS_PER_VOLUME","MIN_MEMORY_PERCENT","MINUTE","MINUTES","MINVALUE","MIRROR","MIRROR_ADDRESS","MODIFY","MONEY","MONTH","MOVE","MULTI_USER","MUST_CHANGE","NAME","NANOSECOND","NATIONAL","NATIVE_COMPILATION","NCHAR","NEGOTIATE","NESTED_TRIGGERS","NEW_ACCOUNT","NEW_BROKER","NEW_PASSWORD","NEWNAME","NEXT","NO","NO_BROWSETABLE","NO_CHECKSUM","NO_COMPRESSION","NO_EVENT_LOSS","NO_INFOMSGS","NO_TRUNCATE","NO_WAIT","NOCHECK","NOCOUNT","NOEXEC","NOEXPAND","NOFORMAT","NOINDEX","NOINIT","NOLOCK","NON","NON_TRANSACTED_ACCESS","NONCLUSTERED","NONE","NORECOMPUTE","NORECOVERY","NORESEED","NORESET","NOREWIND","NORMAL","NOSKIP","NOTIFICATION","NOTRUNCATE","NOUNLOAD","NOWAIT","NTEXT","NTLM","NUMANODE","NUMERIC","NUMERIC_ROUNDABORT","NVARCHAR","OBJECT","OF","OFF","OFFLINE","OFFSET","OFFSETS","OLD_ACCOUNT","OLD_PASSWORD","ON","ON_FAILURE","ONLINE","ONLY","OPEN","OPEN_EXISTING","OPENTRAN","OPTIMISTIC","OPTIMIZE","OPTION","ORDER","OUT","OUTPUT","OUTPUTBUFFER","OVER","OVERRIDE","OWNER","OWNERSHIP","PAD_INDEX","PAGE","PAGE_VERIFY","PAGECOUNT","PAGLOCK","PARAMETERIZATION","PARSEONLY","PARTIAL","PARTITION","PARTITIONS","PARTNER","PASSWORD","PATH","PER_CPU","PER_NODE","PERCENT","PERMISSION_SET","PERSISTED","PHYSICAL_ONLY","PLAN","POISON_MESSAGE_HANDLING","POOL","POPULATION","PORT","PRECEDING","PRECISION","PRIMARY","PRIMARY_ROLE","PRINT","PRIOR","PRIORITY","PRIORITY_LEVEL","PRIVATE","PRIVILEGES","PROC","PROCCACHE","PROCEDURE","PROCEDURE_NAME","PROCESS","PROFILE","PROPERTY","PROPERTY_DESCRIPTION","PROPERTY_INT_ID","PROPERTY_SET_GUID","PROVIDER","PROVIDER_KEY_NAME","PUBLIC","PUT","QUARTER","QUERY","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUEUE_DELAY","QUOTED_IDENTIFIER","RAISERROR","RANGE","RAW","RC2","RC4","RC4_128","READ","READ_COMMITTED_SNAPSHOT","READ_ONLY","READ_ONLY_ROUTING_LIST","READ_ONLY_ROUTING_URL","READ_WRITE","READ_WRITE_FILEGROUPS","READCOMMITTED","READCOMMITTEDLOCK","READONLY","READPAST","READTEXT","READUNCOMMITTED","READWRITE","REAL","REBUILD","RECEIVE","RECOMPILE","RECONFIGURE","RECOVERY","RECURSIVE","RECURSIVE_TRIGGERS","REFERENCES","REGENERATE","RELATED_CONVERSATION","RELATED_CONVERSATION_GROUP","RELATIVE","REMOTE","REMOTE_PROC_TRANSACTIONS","REMOTE_SERVICE_NAME","REMOVE","REORGANIZE","REPAIR_ALLOW_DATA_LOSS","REPAIR_FAST","REPAIR_REBUILD","REPEATABLE","REPEATABLEREAD","REPLICA","REPLICATION","REQUEST_MAX_CPU_TIME_SEC","REQUEST_MAX_MEMORY_GRANT_PERCENT","REQUEST_MEMORY_GRANT_TIMEOUT_SEC","REQUIRED","RESAMPLE","RESEED","RESERVE_DISK_SPACE","RESET","RESOURCE","RESTART","RESTORE","RESTRICT","RESTRICTED_USER","RESULT","RESUME","RETAINDAYS","RETENTION","RETURN","RETURNS","REVERT","REVOKE","REWIND","REWINDONLY","ROBUST","ROLE","ROLLBACK","ROLLUP","ROOT","ROUTE","ROW","ROWCOUNT","ROWGUIDCOL","ROWLOCK","ROWS","ROWS_PER_BATCH","ROWTERMINATOR","ROWVERSION","RSA_1024","RSA_2048","RSA_512","RULE","SAFE","SAFETY","SAMPLE","SAVE","SCHEDULER","SCHEMA","SCHEMA_AND_DATA","SCHEMA_ONLY","SCHEMABINDING","SCHEME","SCROLL","SCROLL_LOCKS","SEARCH","SECOND","SECONDARY","SECONDARY_ONLY","SECONDARY_ROLE","SECONDS","SECRET","SECURITY_LOG","SECURITYAUDIT","SELECT","SELECTIVE","SELF","SEND","SENT","SEQUENCE","SERIALIZABLE","SERVER","SERVICE","SERVICE_BROKER","SERVICE_NAME","SESSION","SESSION_TIMEOUT","SET","SETS","SETUSER","SHOW_STATISTICS","SHOWCONTIG","SHOWPLAN","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SHRINKDATABASE","SHRINKFILE","SHUTDOWN","SID","SIGNATURE","SIMPLE","SINGLE_BLOB","SINGLE_CLOB","SINGLE_NCLOB","SINGLE_USER","SINGLETON","SIZE","SKIP","SMALLDATETIME","SMALLINT","SMALLMONEY","SNAPSHOT","SORT_IN_TEMPDB","SOURCE","SPARSE","SPATIAL","SPATIAL_WINDOW_MAX_CELLS","SPECIFICATION","SPLIT","SQL","SQL_VARIANT","SQLPERF","STANDBY","START","START_DATE","STARTED","STARTUP_STATE","STAT_HEADER","STATE","STATEMENT","STATIC","STATISTICAL_SEMANTICS","STATISTICS","STATISTICS_INCREMENTAL","STATISTICS_NORECOMPUTE","STATS","STATS_STREAM","STATUS","STATUSONLY","STOP","STOP_ON_ERROR","STOPAT","STOPATMARK","STOPBEFOREMARK","STOPLIST","STOPPED","SUBJECT","SUBSCRIPTION","SUPPORTED","SUSPEND","SWITCH","SYMMETRIC","SYNCHRONOUS_COMMIT","SYNONYM","SYSNAME","SYSTEM","TABLE","TABLERESULTS","TABLESAMPLE","TABLOCK","TABLOCKX","TAKE","TAPE","TARGET","TARGET_RECOVERY_TIME","TB","TCP","TEXT","TEXTIMAGE_ON","TEXTSIZE","THEN","THESAURUS","THROW","TIES","TIME","TIMEOUT","TIMER","TIMESTAMP","TINYINT","TO","TOP","TORN_PAGE_DETECTION","TRACEOFF","TRACEON","TRACESTATUS","TRACK_CAUSALITY","TRACK_COLUMNS_UPDATED","TRAN","TRANSACTION","TRANSFER","TRANSFORM_NOISE_WORDS","TRIGGER","TRIPLE_DES","TRIPLE_DES_3KEY","TRUE","TRUNCATE","TRUNCATEONLY","TRUSTWORTHY","TRY","TSQL","TWO_DIGIT_YEAR_CUTOFF","TYPE","TYPE_WARNING","UNBOUNDED","UNCHECKED","UNCOMMITTED","UNDEFINED","UNIQUE","UNIQUEIDENTIFIER","UNKNOWN","UNLIMITED","UNLOAD","UNSAFE","UPDATE","UPDATETEXT","UPDATEUSAGE","UPDLOCK","URL","USE","USED","USER","USEROPTIONS","USING","VALID_XML","VALIDATION","VALUE","VALUES","VARBINARY","VARCHAR","VARYING","VERIFYONLY","VERSION","VIEW","VIEW_METADATA","VIEWS","VISIBILITY","WAIT_AT_LOW_PRIORITY","WAITFOR","WEEK","WEIGHT","WELL_FORMED_XML","WHEN","WHERE","WHILE","WINDOWS","WITH","WITHIN","WITHOUT","WITNESS","WORK","WORKLOAD","WRITETEXT","XACT_ABORT","XLOCK","XMAX","XMIN","XML","XMLDATA","XMLNAMESPACES","XMLSCHEMA","XQUERY","XSINIL","YEAR","YMAX","YMIN"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/st/st.js b/public/libs/monaco-editor/vs/basic-languages/st/st.js new file mode 100644 index 0000000..ffb986f --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/st/st.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/st/st",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["var","end_var"],["var_input","end_var"],["var_output","end_var"],["var_in_out","end_var"],["var_temp","end_var"],["var_global","end_var"],["var_access","end_var"],["var_external","end_var"],["type","end_type"],["struct","end_struct"],["program","end_program"],["function","end_function"],["function_block","end_function_block"],["action","end_action"],["step","end_step"],["initial_step","end_step"],["transaction","end_transaction"],["configuration","end_configuration"],["tcp","end_tcp"],["recource","end_recource"],["channel","end_channel"],["library","end_library"],["folder","end_folder"],["binaries","end_binaries"],["includes","end_includes"],["sources","end_sources"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"/*",close:"*/"},{open:"'",close:"'",notIn:["string_sq"]},{open:'"',close:'"',notIn:["string_dq"]},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},n.language={defaultToken:"",tokenPostfix:".st",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","end_if","elsif","else","case","of","to","__try","__catch","__finally","do","with","by","while","repeat","end_while","end_repeat","end_case","for","end_for","task","retain","non_retain","constant","with","at","exit","return","interval","priority","address","port","on_channel","then","iec","file","uses","version","packagetype","displayname","copyright","summary","vendor","common_source","from","extends"],constant:["false","true","null"],defineKeywords:["var","var_input","var_output","var_in_out","var_temp","var_global","var_access","var_external","end_var","type","end_type","struct","end_struct","program","end_program","function","end_function","function_block","end_function_block","interface","end_interface","method","end_method","property","end_property","namespace","end_namespace","configuration","end_configuration","tcp","end_tcp","resource","end_resource","channel","end_channel","library","end_library","folder","end_folder","binaries","end_binaries","includes","end_includes","sources","end_sources","action","end_action","step","initial_step","end_step","transaction","end_transaction"],typeKeywords:["int","sint","dint","lint","usint","uint","udint","ulint","real","lreal","time","date","time_of_day","date_and_time","string","bool","byte","word","dword","array","pointer","lword"],operators:["=",">","<",":",":=","<=",">=","<>","&","+","-","*","**","MOD","^","or","and","not","xor","abs","acos","asin","atan","cos","exp","expt","ln","log","sin","sqrt","tan","sel","max","min","limit","mux","shl","shr","rol","ror","indexof","sizeof","adr","adrinst","bitadr","is_valid","ref","ref_to"],builtinVariables:[],builtinFunctions:["sr","rs","tp","ton","tof","eq","ge","le","lt","ne","round","trunc","ctd","сtu","ctud","r_trig","f_trig","move","concat","delete","find","insert","left","len","replace","right","rtc"],symbols:/[=>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],whitespace:[[/\s+/,"white"],[/"""/,"string.quote","@endDblDocString"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string.quote","@popall"],[/"/,"string"]],symbol:[[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/[.]/,"delimiter"],[/@operators/,"operator"],[/@symbols/,"operator"]],comment:[[/\/\/\/.*$/,"comment.doc"],[/\/\*\*/,"comment.doc","@commentdocbody"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@commentbody"]],commentdocbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment.doc","@pop"],[/\:[a-zA-Z]+\:/,"comment.doc.param"],[/./,"comment.doc"]],commentbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment","@pop"],[/./,"comment"]],attribute:[[/\@@identifier/,{cases:{"@attributes":"keyword.control","@default":""}}]],literal:[[/"/,{token:"string.quote",next:"@stringlit"}],[/0[b]([01]_?)+/,"number.binary"],[/0[o]([0-7]_?)+/,"number.octal"],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,"number.hex"],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,"number.float"],[/(\d_?)+/,"number"]],stringlit:[[/\\\(/,{token:"operator",next:"@interpolatedexpression"}],[/@escapes/,"string"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}],[/./,"string"]],interpolatedexpression:[[/\(/,{token:"operator",next:"@interpolatedexpression"}],[/\)/,{token:"operator",next:"@pop"}],{include:"@literal"},{include:"@keyword"},{include:"@symbol"}],keyword:[[/`/,{token:"operator",next:"@escapedkeyword"}],[/@identifier/,{cases:{"@keywords":"keyword","[A-Z][a-zA-Z0-9$]*":"type.identifier","@default":"identifier"}}]],escapedkeyword:[[/`/,{token:"operator",next:"@pop"}],[/./,"identifier"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:["delimeter","type.identifier"],"@default":""}}]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/systemverilog/systemverilog.js b/public/libs/monaco-editor/vs/basic-languages/systemverilog/systemverilog.js new file mode 100644 index 0000000..1e107cd --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/systemverilog/systemverilog.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/systemverilog/systemverilog",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["begin","end"],["case","endcase"],["casex","endcase"],["casez","endcase"],["checker","endchecker"],["class","endclass"],["clocking","endclocking"],["config","endconfig"],["function","endfunction"],["generate","endgenerate"],["group","endgroup"],["interface","endinterface"],["module","endmodule"],["package","endpackage"],["primitive","endprimitive"],["program","endprogram"],["property","endproperty"],["specify","endspecify"],["sequence","endsequence"],["table","endtable"],["task","endtask"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!1,markers:{start:new RegExp("^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:begin|case(x|z)?|class|clocking|config|covergroup|function|generate|interface|module|package|primitive|property|program|sequence|specify|table|task)\\b"),end:new RegExp("^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:end|endcase|endclass|endclocking|endconfig|endgroup|endfunction|endgenerate|endinterface|endmodule|endpackage|endprimitive|endproperty|endprogram|endsequence|endspecify|endtable|endtask)\\b")}}},n.language={defaultToken:"",tokenPostfix:".sv",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["accept_on","alias","always","always_comb","always_ff","always_latch","and","assert","assign","assume","automatic","before","begin","bind","bins","binsof","bit","break","buf","bufif0","bufif1","byte","case","casex","casez","cell","chandle","checker","class","clocking","cmos","config","const","constraint","context","continue","cover","covergroup","coverpoint","cross","deassign","default","defparam","design","disable","dist","do","edge","else","end","endcase","endchecker","endclass","endclocking","endconfig","endfunction","endgenerate","endgroup","endinterface","endmodule","endpackage","endprimitive","endprogram","endproperty","endspecify","endsequence","endtable","endtask","enum","event","eventually","expect","export","extends","extern","final","first_match","for","force","foreach","forever","fork","forkjoin","function","generate","genvar","global","highz0","highz1","if","iff","ifnone","ignore_bins","illegal_bins","implements","implies","import","incdir","include","initial","inout","input","inside","instance","int","integer","interconnect","interface","intersect","join","join_any","join_none","large","let","liblist","library","local","localparam","logic","longint","macromodule","matches","medium","modport","module","nand","negedge","nettype","new","nexttime","nmos","nor","noshowcancelled","not","notif0","notif1","null","or","output","package","packed","parameter","pmos","posedge","primitive","priority","program","property","protected","pull0","pull1","pulldown","pullup","pulsestyle_ondetect","pulsestyle_onevent","pure","rand","randc","randcase","randsequence","rcmos","real","realtime","ref","reg","reject_on","release","repeat","restrict","return","rnmos","rpmos","rtran","rtranif0","rtranif1","s_always","s_eventually","s_nexttime","s_until","s_until_with","scalared","sequence","shortint","shortreal","showcancelled","signed","small","soft","solve","specify","specparam","static","string","strong","strong0","strong1","struct","super","supply0","supply1","sync_accept_on","sync_reject_on","table","tagged","task","this","throughout","time","timeprecision","timeunit","tran","tranif0","tranif1","tri","tri0","tri1","triand","trior","trireg","type","typedef","union","unique","unique0","unsigned","until","until_with","untyped","use","uwire","var","vectored","virtual","void","wait","wait_order","wand","weak","weak0","weak1","while","wildcard","wire","with","within","wor","xnor","xor"],builtin_gates:["and","nand","nor","or","xor","xnor","buf","not","bufif0","bufif1","notif1","notif0","cmos","nmos","pmos","rcmos","rnmos","rpmos","tran","tranif1","tranif0","rtran","rtranif1","rtranif0"],operators:["=","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>+","<<<=",">>>=","?",":","+","-","!","~","&","~&","|","~|","^","~^","^~","+","-","*","/","%","==","!=","===","!==","==?","!=?","&&","||","**","<","<=",">",">=","&","|","^",">>","<<",">>>","<<<","++","--","->","<->","inside","dist","::","+:","-:","*>","&&&","|->","|=>","#=#"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],{include:"@numbers"},[/[;,.]/,"delimiter"],{include:"@strings"}],identifier_or_keyword:[[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}]],numbers:[[/\d+?[\d_]*(?:\.[\d_]+)?[eE][\-+]?\d+/,"number.float"],[/\d+?[\d_]*\.[\d_]+(?:\s*@timeunits)?/,"number.float"],[/(?:\d+?[\d_]*\s*)?'[sS]?[dD]\s*[0-9xXzZ?]+?[0-9xXzZ?_]*/,"number"],[/(?:\d+?[\d_]*\s*)?'[sS]?[bB]\s*[0-1xXzZ?]+?[0-1xXzZ?_]*/,"number.binary"],[/(?:\d+?[\d_]*\s*)?'[sS]?[oO]\s*[0-7xXzZ?]+?[0-7xXzZ?_]*/,"number.octal"],[/(?:\d+?[\d_]*\s*)?'[sS]?[hH]\s*[0-9a-fA-FxXzZ?]+?[0-9a-fA-FxXzZ?_]*/,"number.hex"],[/1step/,"number"],[/[\dxXzZ]+?[\dxXzZ_]*(?:\s*@timeunits)?/,"number"],[/'[01xXzZ]+/,"number"]],module_instance:[{include:"@whitespace"},[/(#?)(\()/,["",{token:"@brackets",next:"@port_connection"}]],[/@identifier\s*[;={}\[\],]/,{token:"@rematch",next:"@pop"}],[/@symbols|[;={}\[\],]/,{token:"@rematch",next:"@pop"}],[/@identifier/,"type"],[/;/,"delimiter","@pop"]],port_connection:[{include:"@identifier_or_keyword"},{include:"@whitespace"},[/@systemcall/,"variable.predefined"],{include:"@numbers"},{include:"@strings"},[/[,]/,"delimiter"],[/\(/,"@brackets","@port_connection"],[/\)/,"@brackets","@pop"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],include:[[/(\s*)(")([\w*\/*]*)(.\w*)(")/,["","string.include.identifier","string.include.identifier","string.include.identifier",{token:"string.include.identifier",next:"@pop"}]],[/(\s*)(<)([\w*\/*]*)(.\w*)(>)/,["","string.include.identifier","string.include.identifier","string.include.identifier",{token:"string.include.identifier",next:"@pop"}]]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/tcl/tcl.js b/public/libs/monaco-editor/vs/basic-languages/tcl/tcl.js new file mode 100644 index 0000000..a00f67c --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/tcl/tcl.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/tcl/tcl",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},t.language={tokenPostfix:".tcl",specialFunctions:["set","unset","rename","variable","proc","coroutine","foreach","incr","append","lappend","linsert","lreplace"],mainFunctions:["if","then","elseif","else","case","switch","while","for","break","continue","return","package","namespace","catch","exit","eval","expr","uplevel","upvar"],builtinFunctions:["file","info","concat","join","lindex","list","llength","lrange","lsearch","lsort","split","array","parray","binary","format","regexp","regsub","scan","string","subst","dict","cd","clock","exec","glob","pid","pwd","close","eof","fblocked","fconfigure","fcopy","fileevent","flush","gets","open","puts","read","seek","socket","tell","interp","after","auto_execok","auto_load","auto_mkindex","auto_reset","bgerror","error","global","history","load","source","time","trace","unknown","unset","update","vwait","winfo","wm","bind","event","pack","place","grid","font","bell","clipboard","destroy","focus","grab","lower","option","raise","selection","send","tk","tkwait","tk_bisque","tk_focusNext","tk_focusPrev","tk_focusFollowsMouse","tk_popup","tk_setPalette"],symbols:/[=>\/\s]+)/g,comments:{blockComment:["{#","#}"]},brackets:[["{#","#}"],["{%","%}"],["{{","}}"],["(",")"],["[","]"],["\x3c!--","--\x3e"],["<",">"]],autoClosingPairs:[{open:"{# ",close:" #}"},{open:"{% ",close:" %}"},{open:"{{ ",close:" }}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},e.language={defaultToken:"",tokenPostfix:"",ignoreCase:!0,keywords:["apply","autoescape","block","deprecated","do","embed","extends","flush","for","from","if","import","include","macro","sandbox","set","use","verbatim","with","endapply","endautoescape","endblock","endembed","endfor","endif","endmacro","endsandbox","endset","endwith","true","false"],tokenizer:{root:[[/\s+/],[/{#/,"comment.twig","@commentState"],[/{%[-~]?/,"delimiter.twig","@blockState"],[/{{[-~]?/,"delimiter.twig","@variableState"],[/)/,["delimiter.html","tag.html","","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/|>=|<=/,"operators.twig"],[/(starts with|ends with|matches)(\s+)/,["operators.twig",""]],[/(in)(\s+)/,["operators.twig",""]],[/(is)(\s+)/,["operators.twig",""]],[/\||~|:|\.{1,2}|\?{1,2}/,"operators.twig"],[/[^\W\d][\w]*/,{cases:{"@keywords":"keyword.twig","@default":"variable.twig"}}],[/\d+(\.\d+)?/,"number.twig"],[/\(|\)|\[|\]|{|}|,/,"delimiter.twig"],[/"([^#"\\]*(?:\\.[^#"\\]*)*)"|\'([^\'\\]*(?:\\.[^\'\\]*)*)\'/,"string.twig"],[/"/,"string.twig","@stringState"],[/=>/,"operators.twig"],[/=/,"operators.twig"]],doctype:[[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name.html","@scriptAfterType"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter.html","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value.html",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value.html",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name.html","@styleAfterType"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter.html","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value.html",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value.html",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/typescript/typescript.js b/public/libs/monaco-editor/vs/basic-languages/typescript/typescript.js new file mode 100644 index 0000000..42ccd45 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/typescript/typescript.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/typescript/typescript",["require","exports","../fillers/monaco-editor-core"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:n.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:n.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:n.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:n.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},t.language={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","package","private","protected","public","readonly","require","global","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}})); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/basic-languages/vb/vb.js b/public/libs/monaco-editor/vs/basic-languages/vb/vb.js new file mode 100644 index 0000000..e09b2f8 --- /dev/null +++ b/public/libs/monaco-editor/vs/basic-languages/vb/vb.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 2.3.0(57af10ae0184db4e0f7f9a92ff972629c39ccb53) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/vb/vb",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"'",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"],["addhandler","end addhandler"],["class","end class"],["enum","end enum"],["event","end event"],["function","end function"],["get","end get"],["if","end if"],["interface","end interface"],["module","end module"],["namespace","end namespace"],["operator","end operator"],["property","end property"],["raiseevent","end raiseevent"],["removehandler","end removehandler"],["select","end select"],["set","end set"],["structure","end structure"],["sub","end sub"],["synclock","end synclock"],["try","end try"],["while","end while"],["with","end with"],["using","end using"],["do","loop"],["for","next"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"<",close:">",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*#Region\\b"),end:new RegExp("^\\s*#End Region\\b")}}},n.language={defaultToken:"",tokenPostfix:".vb",ignoreCase:!0,brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.angle",open:"<",close:">"},{token:"keyword.tag-addhandler",open:"addhandler",close:"end addhandler"},{token:"keyword.tag-class",open:"class",close:"end class"},{token:"keyword.tag-enum",open:"enum",close:"end enum"},{token:"keyword.tag-event",open:"event",close:"end event"},{token:"keyword.tag-function",open:"function",close:"end function"},{token:"keyword.tag-get",open:"get",close:"end get"},{token:"keyword.tag-if",open:"if",close:"end if"},{token:"keyword.tag-interface",open:"interface",close:"end interface"},{token:"keyword.tag-module",open:"module",close:"end module"},{token:"keyword.tag-namespace",open:"namespace",close:"end namespace"},{token:"keyword.tag-operator",open:"operator",close:"end operator"},{token:"keyword.tag-property",open:"property",close:"end property"},{token:"keyword.tag-raiseevent",open:"raiseevent",close:"end raiseevent"},{token:"keyword.tag-removehandler",open:"removehandler",close:"end removehandler"},{token:"keyword.tag-select",open:"select",close:"end select"},{token:"keyword.tag-set",open:"set",close:"end set"},{token:"keyword.tag-structure",open:"structure",close:"end structure"},{token:"keyword.tag-sub",open:"sub",close:"end sub"},{token:"keyword.tag-synclock",open:"synclock",close:"end synclock"},{token:"keyword.tag-try",open:"try",close:"end try"},{token:"keyword.tag-while",open:"while",close:"end while"},{token:"keyword.tag-with",open:"with",close:"end with"},{token:"keyword.tag-using",open:"using",close:"end using"},{token:"keyword.tag-do",open:"do",close:"loop"},{token:"keyword.tag-for",open:"for",close:"next"}],keywords:["AddHandler","AddressOf","Alias","And","AndAlso","As","Async","Boolean","ByRef","Byte","ByVal","Call","Case","Catch","CBool","CByte","CChar","CDate","CDbl","CDec","Char","CInt","Class","CLng","CObj","Const","Continue","CSByte","CShort","CSng","CStr","CType","CUInt","CULng","CUShort","Date","Decimal","Declare","Default","Delegate","Dim","DirectCast","Do","Double","Each","Else","ElseIf","End","EndIf","Enum","Erase","Error","Event","Exit","False","Finally","For","Friend","Function","Get","GetType","GetXMLNamespace","Global","GoSub","GoTo","Handles","If","Implements","Imports","In","Inherits","Integer","Interface","Is","IsNot","Let","Lib","Like","Long","Loop","Me","Mod","Module","MustInherit","MustOverride","MyBase","MyClass","NameOf","Namespace","Narrowing","New","Next","Not","Nothing","NotInheritable","NotOverridable","Object","Of","On","Operator","Option","Optional","Or","OrElse","Out","Overloads","Overridable","Overrides","ParamArray","Partial","Private","Property","Protected","Public","RaiseEvent","ReadOnly","ReDim","RemoveHandler","Resume","Return","SByte","Select","Set","Shadows","Shared","Short","Single","Static","Step","Stop","String","Structure","Sub","SyncLock","Then","Throw","To","True","Try","TryCast","TypeOf","UInteger","ULong","UShort","Using","Variant","Wend","When","While","Widening","With","WithEvents","WriteOnly","Xor"],tagwords:["If","Sub","Select","Try","Class","Enum","Function","Get","Interface","Module","Namespace","Operator","Set","Structure","Using","While","With","Do","Loop","For","Next","Property","Continue","AddHandler","RemoveHandler","Event","RaiseEvent","SyncLock"],symbols:/[=>"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],onEnterRules:[{beforeText:new RegExp("<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:n.languages.IndentAction.Indent}}]},t.language={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[/");y>=0&&(u.comment&&u.comment(a.substring(4,y)),a=a.substring(y+3),n=!1)}function _(){if(!!n){var y,L=a.indexOf("<");L>=0?(y=a.substring(0,L),a=a.substring(L)):(y=a,a=""),u.chars&&u.chars(y)}}function f(y,L,I,k){var E={},T=M(L),O=S.voids[T]||!!k;I.replace(g,A),O||r.push(T),u.start&&u.start(T,E,O);function A(B,F,D,R,W){D===void 0&&R===void 0&&W===void 0?E[F]=void 0:E[F]=N.decode(D||R||W||"")}}function v(y,L){var I,k=0,E=M(L);if(E)for(k=r.length-1;k>=0&&r[k]!==E;k--);if(k>=0){for(I=r.length-1;I>=k;I--)u.end&&u.end(r[I]);r.length=k}}}e.exports=s},{"./attributes":1,"./elements":3,"./lowercase":5,he:9}],8:[function(q,e,b){"use strict";var N=q("he"),M=q("./lowercase"),w=q("./attributes"),S=q("./elements");function C(d,g){var p,c,o=g||{};return l(),{start:a,end:u,chars:i};function s(h){d.push(h)}function a(h,m,_){var f=M(h);if(c.ignoring){n(f);return}if((o.allowedTags||[]).indexOf(f)===-1){n(f);return}if(o.filter&&!o.filter({tag:f,attrs:m})){n(f);return}s("<"),s(f),Object.keys(m).forEach(v),s(_?"/>":">");function v(y){var L=m[y],I=(o.allowedClasses||{})[f]||[],k=(o.allowedAttributes||{})[f]||[];k=k.concat((o.allowedAttributes||{})["*"]||[]);var E,T=M(y);T==="class"&&k.indexOf(T)===-1?(L=L.split(" ").filter(O).join(" ").trim(),E=L.length):E=k.indexOf(T)!==-1&&(w.uris[T]!==!0||r(L)),E&&(s(" "),s(y),typeof L=="string"&&(s('="'),s(N.encode(L)),s('"')));function O(A){return I&&I.indexOf(A)!==-1}}}function u(h){var m=M(h),_=(o.allowedTags||[]).indexOf(m)!==-1;_&&c.ignoring===!1?(s("")):t(m)}function r(h){var m=h[0];if(m==="#"||m==="/")return!0;var _=h.indexOf(":");if(_===-1)return!0;var f=h.indexOf("?");if(f!==-1&&_>f)return!0;var v=h.indexOf("#");if(v!==-1&&_>v)return!0;return o.allowedSchemes.some(y);function y(L){return h.indexOf(L+":")===0}}function i(h){c.ignoring===!1&&s(o.transformText?o.transformText(h):h)}function n(h){S.voids[h]||(c.ignoring===!1?c={ignoring:h,depth:1}:c.ignoring===h&&c.depth++)}function t(h){c.ignoring===h&&--c.depth<=0&&l()}function l(){c={ignoring:!1,depth:0}}}e.exports=C},{"./attributes":1,"./elements":3,"./lowercase":5,he:9}],9:[function(q,e,b){"use strict";var N={"&":"&","<":"<",">":">",'"':""","'":"'"},M={"&":"&","<":"<",">":">",""":'"',"'":"'"},w=/(&|<|>|"|')/g,S=/[&<>"']/g;function C(c){return N[c]}function d(c){return M[c]}function g(c){return c==null?"":String(c).replace(S,C)}function p(c){return c==null?"":String(c).replace(w,d)}g.options=p.options={},e.exports={encode:g,escape:g,decode:p,unescape:p,version:"1.0.0-browser"}},{}],10:[function(q,e,b){"use strict";function N(w){return w.reduce(M,{})}function M(w,S){return w[S]=!0,w}e.exports=N},{}]},{},[4]),define("vs/base/common/insane/insane",function(){return{insane:kt}}),define(Q[54],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Iterable=void 0;var b;(function(N){function M(h){return h&&typeof h=="object"&&typeof h[Symbol.iterator]=="function"}N.is=M;const w=Object.freeze([]);function S(){return w}N.empty=S;function*C(h){yield h}N.single=C;function d(h){return h||w}N.from=d;function g(h){return!h||h[Symbol.iterator]().next().done===!0}N.isEmpty=g;function p(h){return h[Symbol.iterator]().next().value}N.first=p;function c(h,m){for(const _ of h)if(m(_))return!0;return!1}N.some=c;function o(h,m){for(const _ of h)if(m(_))return _}N.find=o;function*s(h,m){for(const _ of h)m(_)&&(yield _)}N.filter=s;function*a(h,m){for(const _ of h)yield m(_)}N.map=a;function*u(...h){for(const m of h)for(const _ of m)yield _}N.concat=u;function*r(h){for(const m of h)for(const _ of m)yield _}N.concatNested=r;function i(h,m,_){let f=_;for(const v of h)f=m(f,v);return f}N.reduce=i;function*n(h,m,_=h.length){for(m<0&&(m+=h.length),_<0?_+=h.length:_>h.length&&(_=h.length);m<_;m++)yield h[m]}N.slice=n;function t(h,m=Number.POSITIVE_INFINITY){const _=[];if(m===0)return[_,h];const f=h[Symbol.iterator]();for(let v=0;vf===v){const f=h[Symbol.iterator](),v=m[Symbol.iterator]();for(;;){const y=f.next(),L=v.next();if(y.done!==L.done)return!1;if(y.done)return!0;if(!_(y.value,L.value))return!1}}N.equals=l})(b=e.Iterable||(e.Iterable={}))}),define(Q[39],J([0,1,12]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResolvedKeybinding=e.ResolvedKeybindingPart=e.ChordKeybinding=e.SimpleKeybinding=e.createSimpleKeybinding=e.createKeybinding=e.KeyChord=e.KeyCodeUtils=void 0;class N{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(r,i){this._keyCodeToStr[r]=i,this._strToKeyCode[i.toLowerCase()]=r}keyCodeToStr(r){return this._keyCodeToStr[r]}strToKeyCode(r){return this._strToKeyCode[r.toLowerCase()]||0}}const M=new N,w=new N,S=new N;(function(){function u(r,i,n=i,t=n){M.define(r,i),w.define(r,n),S.define(r,t)}u(0,"unknown"),u(1,"Backspace"),u(2,"Tab"),u(3,"Enter"),u(4,"Shift"),u(5,"Ctrl"),u(6,"Alt"),u(7,"PauseBreak"),u(8,"CapsLock"),u(9,"Escape"),u(10,"Space"),u(11,"PageUp"),u(12,"PageDown"),u(13,"End"),u(14,"Home"),u(15,"LeftArrow","Left"),u(16,"UpArrow","Up"),u(17,"RightArrow","Right"),u(18,"DownArrow","Down"),u(19,"Insert"),u(20,"Delete"),u(21,"0"),u(22,"1"),u(23,"2"),u(24,"3"),u(25,"4"),u(26,"5"),u(27,"6"),u(28,"7"),u(29,"8"),u(30,"9"),u(31,"A"),u(32,"B"),u(33,"C"),u(34,"D"),u(35,"E"),u(36,"F"),u(37,"G"),u(38,"H"),u(39,"I"),u(40,"J"),u(41,"K"),u(42,"L"),u(43,"M"),u(44,"N"),u(45,"O"),u(46,"P"),u(47,"Q"),u(48,"R"),u(49,"S"),u(50,"T"),u(51,"U"),u(52,"V"),u(53,"W"),u(54,"X"),u(55,"Y"),u(56,"Z"),u(57,"Meta"),u(58,"ContextMenu"),u(59,"F1"),u(60,"F2"),u(61,"F3"),u(62,"F4"),u(63,"F5"),u(64,"F6"),u(65,"F7"),u(66,"F8"),u(67,"F9"),u(68,"F10"),u(69,"F11"),u(70,"F12"),u(71,"F13"),u(72,"F14"),u(73,"F15"),u(74,"F16"),u(75,"F17"),u(76,"F18"),u(77,"F19"),u(78,"NumLock"),u(79,"ScrollLock"),u(80,";",";","OEM_1"),u(81,"=","=","OEM_PLUS"),u(82,",",",","OEM_COMMA"),u(83,"-","-","OEM_MINUS"),u(84,".",".","OEM_PERIOD"),u(85,"/","/","OEM_2"),u(86,"`","`","OEM_3"),u(110,"ABNT_C1"),u(111,"ABNT_C2"),u(87,"[","[","OEM_4"),u(88,"\\","\\","OEM_5"),u(89,"]","]","OEM_6"),u(90,"'","'","OEM_7"),u(91,"OEM_8"),u(92,"OEM_102"),u(93,"NumPad0"),u(94,"NumPad1"),u(95,"NumPad2"),u(96,"NumPad3"),u(97,"NumPad4"),u(98,"NumPad5"),u(99,"NumPad6"),u(100,"NumPad7"),u(101,"NumPad8"),u(102,"NumPad9"),u(103,"NumPad_Multiply"),u(104,"NumPad_Add"),u(105,"NumPad_Separator"),u(106,"NumPad_Subtract"),u(107,"NumPad_Decimal"),u(108,"NumPad_Divide")})();var C;(function(u){function r(h){return M.keyCodeToStr(h)}u.toString=r;function i(h){return M.strToKeyCode(h)}u.fromString=i;function n(h){return w.keyCodeToStr(h)}u.toUserSettingsUS=n;function t(h){return S.keyCodeToStr(h)}u.toUserSettingsGeneral=t;function l(h){return w.strToKeyCode(h)||S.strToKeyCode(h)}u.fromUserSettings=l})(C=e.KeyCodeUtils||(e.KeyCodeUtils={}));function d(u,r){const i=(r&65535)<<16>>>0;return(u|i)>>>0}e.KeyChord=d;function g(u,r){if(u===0)return null;const i=(u&65535)>>>0,n=(u&4294901760)>>>16;return n!==0?new o([p(i,r),p(n,r)]):new o([p(i,r)])}e.createKeybinding=g;function p(u,r){const i=!!(u&2048),n=!!(u&256),t=r===2?n:i,l=!!(u&1024),h=!!(u&512),m=r===2?i:n,_=u&255;return new c(t,l,h,m,_)}e.createSimpleKeybinding=p;class c{constructor(r,i,n,t,l){this.ctrlKey=r,this.shiftKey=i,this.altKey=n,this.metaKey=t,this.keyCode=l}equals(r){return this.ctrlKey===r.ctrlKey&&this.shiftKey===r.shiftKey&&this.altKey===r.altKey&&this.metaKey===r.metaKey&&this.keyCode===r.keyCode}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toChord(){return new o([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}}e.SimpleKeybinding=c;class o{constructor(r){if(r.length===0)throw b.illegalArgument("parts");this.parts=r}}e.ChordKeybinding=o;class s{constructor(r,i,n,t,l,h){this.ctrlKey=r,this.shiftKey=i,this.altKey=n,this.metaKey=t,this.keyLabel=l,this.keyAriaLabel=h}}e.ResolvedKeybindingPart=s;class a{}e.ResolvedKeybinding=a}),define(Q[150],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Lazy=void 0;class b{constructor(M){this.executor=M,this._didRun=!1}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(M){this._error=M}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}e.Lazy=b}),define(Q[2],J([0,1,54]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImmortalReference=e.MutableDisposable=e.Disposable=e.DisposableStore=e.toDisposable=e.combinedDisposable=e.dispose=e.isDisposable=e.MultiDisposeError=e.trackDisposable=void 0;const N=!1;let M=null;if(N){const r="__is_disposable_tracked__";M=new class{trackDisposable(i){const n=new Error("Potentially leaked disposable").stack;setTimeout(()=>{i[r]||console.log(n)},3e3)}markTracked(i){if(i&&i!==s.None)try{i[r]=!0}catch(n){}}}}function w(r){!M||M.markTracked(r)}function S(r){return M&&M.trackDisposable(r),r}e.trackDisposable=S;class C extends Error{constructor(i){super(`Encountered errors while disposing of store. Errors: [${i.join(", ")}]`);this.errors=i}}e.MultiDisposeError=C;function d(r){return typeof r.dispose=="function"&&r.dispose.length===0}e.isDisposable=d;function g(r){if(b.Iterable.is(r)){let i=[];for(const n of r)if(n){w(n);try{n.dispose()}catch(t){i.push(t)}}if(i.length===1)throw i[0];if(i.length>1)throw new C(i);return Array.isArray(r)?[]:r}else if(r)return w(r),r.dispose(),r}e.dispose=g;function p(...r){return r.forEach(w),c(()=>g(r))}e.combinedDisposable=p;function c(r){const i=S({dispose:()=>{w(i),r()}});return i}e.toDisposable=c;class o{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(w(this),this._isDisposed=!0,this.clear())}clear(){try{g(this._toDispose.values())}finally{this._toDispose.clear()}}add(i){if(!i)return i;if(i===this)throw new Error("Cannot register a disposable on itself!");return w(i),this._isDisposed?o.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(i),i}}e.DisposableStore=o,o.DISABLE_DISPOSED_WARNING=!1;class s{constructor(){this._store=new o,S(this)}dispose(){w(this),this._store.dispose()}_register(i){if(i===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(i)}}e.Disposable=s,s.None=Object.freeze({dispose(){}});class a{constructor(){this._isDisposed=!1,S(this)}get value(){return this._isDisposed?void 0:this._value}set value(i){var n;this._isDisposed||i===this._value||((n=this._value)===null||n===void 0||n.dispose(),i&&w(i),this._value=i)}clear(){this.value=void 0}dispose(){var i;this._isDisposed=!0,w(this),(i=this._value)===null||i===void 0||i.dispose(),this._value=void 0}}e.MutableDisposable=a;class u{constructor(i){this.object=i}dispose(){}}e.ImmortalReference=u}),define(Q[71],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedList=void 0;class b{constructor(w){this.element=w,this.next=b.Undefined,this.prev=b.Undefined}}b.Undefined=new b(void 0);class N{constructor(){this._first=b.Undefined,this._last=b.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===b.Undefined}clear(){this._first=b.Undefined,this._last=b.Undefined,this._size=0}unshift(w){return this._insert(w,!1)}push(w){return this._insert(w,!0)}_insert(w,S){const C=new b(w);if(this._first===b.Undefined)this._first=C,this._last=C;else if(S){const g=this._last;this._last=C,C.prev=g,g.next=C}else{const g=this._first;this._first=C,C.next=g,g.prev=C}this._size+=1;let d=!1;return()=>{d||(d=!0,this._remove(C))}}shift(){if(this._first!==b.Undefined){const w=this._first.element;return this._remove(this._first),w}}pop(){if(this._last!==b.Undefined){const w=this._last.element;return this._remove(this._last),w}}_remove(w){if(w.prev!==b.Undefined&&w.next!==b.Undefined){const S=w.prev;S.next=w.next,w.next.prev=S}else w.prev===b.Undefined&&w.next===b.Undefined?(this._first=b.Undefined,this._last=b.Undefined):w.next===b.Undefined?(this._last=this._last.prev,this._last.next=b.Undefined):w.prev===b.Undefined&&(this._first=this._first.next,this._first.prev=b.Undefined);this._size-=1}*[Symbol.iterator](){let w=this._first;for(;w!==b.Undefined;)yield w.element,w=w.next}}e.LinkedList=N}),function(q,e){typeof exports=="object"&&typeof module!="undefined"?module.exports=e():typeof define=="function"&&define.amd?define("vs/base/common/marked/marked",e):(q=typeof globalThis!="undefined"?globalThis:q||self,q.marked=e())}(this,function(){"use strict";function q(Se,we){for(var ye=0;yeSe.length)&&(we=Se.length);for(var ye=0,fe=new Array(we);ye=Se.length?{done:!0}:{done:!1,value:Se[fe++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return ye=Se[Symbol.iterator](),ye.next.bind(ye)}function w(Se){var we={exports:{}};return Se(we,we.exports),we.exports}var S=w(function(Se){function we(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}function ye(fe){Se.exports.defaults=fe}Se.exports={defaults:we(),getDefaults:we,changeDefaults:ye}}),C=/[&<>"']/,d=/[&<>"']/g,g=/[<>"']|&(?!#?\w+;)/,p=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},o=function(we){return c[we]};function s(Se,we){if(we){if(C.test(Se))return Se.replace(d,o)}else if(g.test(Se))return Se.replace(p,o);return Se}var a=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function u(Se){return Se.replace(a,function(we,ye){return ye=ye.toLowerCase(),ye==="colon"?":":ye.charAt(0)==="#"?ye.charAt(1)==="x"?String.fromCharCode(parseInt(ye.substring(2),16)):String.fromCharCode(+ye.substring(1)):""})}var r=/(^|[^\[])\^/g;function i(Se,we){Se=Se.source||Se,we=we||"";var ye={replace:function(de,ge){return ge=ge.source||ge,ge=ge.replace(r,"$1"),Se=Se.replace(de,ge),ye},getRegex:function(){return new RegExp(Se,we)}};return ye}var n=/[^\w:]/g,t=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function l(Se,we,ye){if(Se){var fe;try{fe=decodeURIComponent(u(ye)).replace(n,"").toLowerCase()}catch(de){return null}if(fe.indexOf("javascript:")===0||fe.indexOf("vbscript:")===0||fe.indexOf("data:")===0)return null}we&&!t.test(ye)&&(ye=v(we,ye));try{ye=encodeURI(ye).replace(/%25/g,"%")}catch(de){return null}return ye}var h={},m=/^[^:]+:\/*[^/]*$/,_=/^([^:]+:)[\s\S]*$/,f=/^([^:]+:\/*[^/]*)[\s\S]*$/;function v(Se,we){h[" "+Se]||(m.test(Se)?h[" "+Se]=Se+"/":h[" "+Se]=k(Se,"/",!0)),Se=h[" "+Se];var ye=Se.indexOf(":")===-1;return we.substring(0,2)==="//"?ye?we:Se.replace(_,"$1")+we:we.charAt(0)==="/"?ye?we:Se.replace(f,"$1")+we:Se+we}var y={exec:function(){}};function L(Se){for(var we=1,ye,fe;we=0&&ve[Ne]==="\\";)ke=!ke;return ke?"|":" |"}),fe=ye.split(/ \|/),de=0;if(fe.length>we)fe.splice(we);else for(;fe.length1;)we&1&&(ye+=Se),we>>=1,Se+=Se;return ye+Se}var A={escape:s,unescape:u,edit:i,cleanUrl:l,resolveUrl:v,noopTest:y,merge:L,splitCells:I,rtrim:k,findClosingBracket:E,checkSanitizeDeprecation:T,repeatString:O},B=S.defaults,F=A.rtrim,D=A.splitCells,R=A.escape,W=A.findClosingBracket;function x(Se,we,ye){var fe=we.href,de=we.title?R(we.title):null,ge=Se[1].replace(/\\([\[\]])/g,"$1");return Se[0].charAt(0)!=="!"?{type:"link",raw:ye,href:fe,title:de,text:ge}:{type:"image",raw:ye,href:fe,title:de,text:R(ge)}}function K(Se,we){var ye=Se.match(/^(\s+)(?:```)/);if(ye===null)return we;var fe=ye[1];return we.split(` +`).map(function(de){var ge=de.match(/^\s+/);if(ge===null)return de;var pe=ge[0];return pe.length>=fe.length?de.slice(fe.length):de}).join(` +`)}var Y=function(){function Se(ye){this.options=ye||B}var we=Se.prototype;return we.space=function(fe){var de=this.rules.block.newline.exec(fe);if(de)return de[0].length>1?{type:"space",raw:de[0]}:{raw:` +`}},we.code=function(fe){var de=this.rules.block.code.exec(fe);if(de){var ge=de[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:de[0],codeBlockStyle:"indented",text:this.options.pedantic?ge:F(ge,` +`)}}},we.fences=function(fe){var de=this.rules.block.fences.exec(fe);if(de){var ge=de[0],pe=K(ge,de[3]||"");return{type:"code",raw:ge,lang:de[2]?de[2].trim():de[2],text:pe}}},we.heading=function(fe){var de=this.rules.block.heading.exec(fe);if(de){var ge=de[2].trim();if(/#$/.test(ge)){var pe=F(ge,"#");(this.options.pedantic||!pe||/ $/.test(pe))&&(ge=pe.trim())}return{type:"heading",raw:de[0],depth:de[1].length,text:ge}}},we.nptable=function(fe){var de=this.rules.block.nptable.exec(fe);if(de){var ge={type:"table",header:D(de[1].replace(/^ *| *\| *$/g,"")),align:de[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:de[3]?de[3].replace(/\n$/,"").split(` +`):[],raw:de[0]};if(ge.header.length===ge.align.length){var pe=ge.align.length,ve;for(ve=0;ve ?/gm,"");return{type:"blockquote",raw:de[0],text:ge}}},we.list=function(fe){var de=this.rules.block.list.exec(fe);if(de){var ge=de[0],pe=de[2],ve=pe.length>1,ke={type:"list",raw:ge,ordered:ve,start:ve?+pe.slice(0,-1):"",loose:!1,items:[]},Ne=de[0].match(this.rules.block.item),Te=!1,Oe,Fe,Pe,xe,We,ze,Ke,Be,He=Ne.length;Pe=this.rules.block.listItemStart.exec(Ne[0]);for(var Ve=0;VePe[1].length:xe[1].length>Pe[0].length||xe[1].length>3){Ne.splice(Ve,2,Ne[Ve]+` +`+Ne[Ve+1]),Ve--,He--;continue}else(!this.options.pedantic||this.options.smartLists?xe[2][xe[2].length-1]!==pe[pe.length-1]:ve===(xe[2].length===1))&&(We=Ne.slice(Ve+1).join(` +`),ke.raw=ke.raw.substring(0,ke.raw.length-We.length),Ve=He-1);Pe=xe}Fe=Oe.length,Oe=Oe.replace(/^ *([*+-]|\d+[.)]) ?/,""),~Oe.indexOf(` + `)&&(Fe-=Oe.length,Oe=this.options.pedantic?Oe.replace(/^ {1,4}/gm,""):Oe.replace(new RegExp("^ {1,"+Fe+"}","gm"),"")),ze=Te||/\n\n(?!\s*$)/.test(Oe),Ve!==He-1&&(Te=Oe.charAt(Oe.length-1)===` +`,ze||(ze=Te)),ze&&(ke.loose=!0),this.options.gfm&&(Ke=/^\[[ xX]\] /.test(Oe),Be=void 0,Ke&&(Be=Oe[1]!==" ",Oe=Oe.replace(/^\[[ xX]\] +/,""))),ke.items.push({type:"list_item",raw:ge,task:Ke,checked:Be,loose:ze,text:Oe})}return ke}},we.html=function(fe){var de=this.rules.block.html.exec(fe);if(de)return{type:this.options.sanitize?"paragraph":"html",raw:de[0],pre:!this.options.sanitizer&&(de[1]==="pre"||de[1]==="script"||de[1]==="style"),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(de[0]):R(de[0]):de[0]}},we.def=function(fe){var de=this.rules.block.def.exec(fe);if(de){de[3]&&(de[3]=de[3].substring(1,de[3].length-1));var ge=de[1].toLowerCase().replace(/\s+/g," ");return{tag:ge,raw:de[0],href:de[2],title:de[3]}}},we.table=function(fe){var de=this.rules.block.table.exec(fe);if(de){var ge={type:"table",header:D(de[1].replace(/^ *| *\| *$/g,"")),align:de[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:de[3]?de[3].replace(/\n$/,"").split(` +`):[]};if(ge.header.length===ge.align.length){ge.raw=de[0];var pe=ge.align.length,ve;for(ve=0;ve/i.test(pe[0])&&(de=!1),!ge&&/^<(pre|code|kbd|script)(\s|>)/i.test(pe[0])?ge=!0:ge&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(pe[0])&&(ge=!1),{type:this.options.sanitize?"text":"html",raw:pe[0],inLink:de,inRawBlock:ge,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(pe[0]):R(pe[0]):pe[0]}},we.link=function(fe){var de=this.rules.inline.link.exec(fe);if(de){var ge=de[2].trim();if(!this.options.pedantic&&/^$/.test(ge))return;var pe=F(ge.slice(0,-1),"\\");if((ge.length-pe.length)%2==0)return}else{var ve=W(de[2],"()");if(ve>-1){var ke=de[0].indexOf("!")===0?5:4,Ne=ke+de[1].length+ve;de[2]=de[2].substring(0,ve),de[0]=de[0].substring(0,Ne).trim(),de[3]=""}}var Te=de[2],Oe="";if(this.options.pedantic){var Fe=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Te);Fe&&(Te=Fe[1],Oe=Fe[3])}else Oe=de[3]?de[3].slice(1,-1):"";return Te=Te.trim(),/^$/.test(ge)?Te=Te.slice(1):Te=Te.slice(1,-1)),x(de,{href:Te&&Te.replace(this.rules.inline._escapes,"$1"),title:Oe&&Oe.replace(this.rules.inline._escapes,"$1")},de[0])}},we.reflink=function(fe,de){var ge;if((ge=this.rules.inline.reflink.exec(fe))||(ge=this.rules.inline.nolink.exec(fe))){var pe=(ge[2]||ge[1]).replace(/\s+/g," ");if(pe=de[pe.toLowerCase()],!pe||!pe.href){var ve=ge[0].charAt(0);return{type:"text",raw:ve,text:ve}}return x(ge,pe,ge[0])}},we.emStrong=function(fe,de,ge){ge===void 0&&(ge="");var pe=this.rules.inline.emStrong.lDelim.exec(fe);if(!!pe&&!(pe[3]&&ge.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\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\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\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\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\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\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\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-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\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-\uAB69\uAB70-\uABE2\uABF0-\uABF9\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\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var ve=pe[1]||pe[2]||"";if(!ve||ve&&(ge===""||this.rules.inline.punctuation.exec(ge))){var ke=pe[0].length-1,Ne,Te,Oe=ke,Fe=0,Pe=pe[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(Pe.lastIndex=0,de=de.slice(-1*fe.length+ke);(pe=Pe.exec(de))!=null;)if(Ne=pe[1]||pe[2]||pe[3]||pe[4]||pe[5]||pe[6],!!Ne){if(Te=Ne.length,pe[3]||pe[4]){Oe+=Te;continue}else if((pe[5]||pe[6])&&ke%3&&!((ke+Te)%3)){Fe+=Te;continue}if(Oe-=Te,!(Oe>0)){if(Oe+Fe-Te<=0&&!de.slice(Pe.lastIndex).match(Pe)&&(Te=Math.min(Te,Te+Oe+Fe)),Math.min(ke,Te)%2)return{type:"em",raw:fe.slice(0,ke+pe.index+Te+1),text:fe.slice(1,ke+pe.index+Te)};if(Math.min(ke,Te)%2==0)return{type:"strong",raw:fe.slice(0,ke+pe.index+Te+1),text:fe.slice(2,ke+pe.index+Te-1)}}}}}},we.codespan=function(fe){var de=this.rules.inline.code.exec(fe);if(de){var ge=de[2].replace(/\n/g," "),pe=/[^ ]/.test(ge),ve=/^ /.test(ge)&&/ $/.test(ge);return pe&&ve&&(ge=ge.substring(1,ge.length-1)),ge=R(ge,!0),{type:"codespan",raw:de[0],text:ge}}},we.br=function(fe){var de=this.rules.inline.br.exec(fe);if(de)return{type:"br",raw:de[0]}},we.del=function(fe){var de=this.rules.inline.del.exec(fe);if(de)return{type:"del",raw:de[0],text:de[2]}},we.autolink=function(fe,de){var ge=this.rules.inline.autolink.exec(fe);if(ge){var pe,ve;return ge[2]==="@"?(pe=R(this.options.mangle?de(ge[1]):ge[1]),ve="mailto:"+pe):(pe=R(ge[1]),ve=pe),{type:"link",raw:ge[0],text:pe,href:ve,tokens:[{type:"text",raw:pe,text:pe}]}}},we.url=function(fe,de){var ge;if(ge=this.rules.inline.url.exec(fe)){var pe,ve;if(ge[2]==="@")pe=R(this.options.mangle?de(ge[0]):ge[0]),ve="mailto:"+pe;else{var ke;do ke=ge[0],ge[0]=this.rules.inline._backpedal.exec(ge[0])[0];while(ke!==ge[0]);pe=R(ge[0]),ge[1]==="www."?ve="http://"+pe:ve=pe}return{type:"link",raw:ge[0],text:pe,href:ve,tokens:[{type:"text",raw:pe,text:pe}]}}},we.inlineText=function(fe,de,ge){var pe=this.rules.inline.text.exec(fe);if(pe){var ve;return de?ve=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(pe[0]):R(pe[0]):pe[0]:ve=R(this.options.smartypants?ge(pe[0]):pe[0]),{type:"text",raw:pe[0],text:ve}}},Se}(),ee=A.noopTest,se=A.edit,ne=A.merge,le={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:ee,table:ee,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/};le._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,le._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,le.def=se(le.def).replace("label",le._label).replace("title",le._title).getRegex(),le.bullet=/(?:[*+-]|\d{1,9}[.)])/,le.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,le.item=se(le.item,"gm").replace(/bull/g,le.bullet).getRegex(),le.listItemStart=se(/^( *)(bull)/).replace("bull",le.bullet).getRegex(),le.list=se(le.list).replace(/bull/g,le.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+le.def.source+")").getRegex(),le._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",le._comment=/|$)/,le.html=se(le.html,"i").replace("comment",le._comment).replace("tag",le._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),le.paragraph=se(le._paragraph).replace("hr",le.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",le._tag).getRegex(),le.blockquote=se(le.blockquote).replace("paragraph",le.paragraph).getRegex(),le.normal=ne({},le),le.gfm=ne({},le.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),le.gfm.nptable=se(le.gfm.nptable).replace("hr",le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",le._tag).getRegex(),le.gfm.table=se(le.gfm.table).replace("hr",le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",le._tag).getRegex(),le.pedantic=ne({},le.normal,{html:se(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",le._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ee,paragraph:se(le.normal._paragraph).replace("hr",le.hr).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",le.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var X={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:ee,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_]*?\*[^_]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^*]*?\_[^*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:ee,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~",X.punctuation=se(X.punctuation).replace(/punctuation/g,X._punctuation).getRegex(),X.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,X.escapedEmSt=/\\\*|\\_/g,X._comment=se(le._comment).replace("(?:-->|$)","-->").getRegex(),X.emStrong.lDelim=se(X.emStrong.lDelim).replace(/punct/g,X._punctuation).getRegex(),X.emStrong.rDelimAst=se(X.emStrong.rDelimAst,"g").replace(/punct/g,X._punctuation).getRegex(),X.emStrong.rDelimUnd=se(X.emStrong.rDelimUnd,"g").replace(/punct/g,X._punctuation).getRegex(),X._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,X._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,X._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,X.autolink=se(X.autolink).replace("scheme",X._scheme).replace("email",X._email).getRegex(),X._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,X.tag=se(X.tag).replace("comment",X._comment).replace("attribute",X._attribute).getRegex(),X._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,X._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,X._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,X.link=se(X.link).replace("label",X._label).replace("href",X._href).replace("title",X._title).getRegex(),X.reflink=se(X.reflink).replace("label",X._label).getRegex(),X.reflinkSearch=se(X.reflinkSearch,"g").replace("reflink",X.reflink).replace("nolink",X.nolink).getRegex(),X.normal=ne({},X),X.pedantic=ne({},X.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:se(/^!?\[(label)\]\((.*?)\)/).replace("label",X._label).getRegex(),reflink:se(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",X._label).getRegex()}),X.gfm=ne({},X.normal,{escape:se(X.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(fe="x"+fe.toString(16)),we+="&#"+fe+";";return we}var oe=function(){function Se(ye){this.tokens=[],this.tokens.links=Object.create(null),this.options=ye||P,this.options.tokenizer=this.options.tokenizer||new Y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var fe={block:V.normal,inline:U.normal};this.options.pedantic?(fe.block=V.pedantic,fe.inline=U.pedantic):this.options.gfm&&(fe.block=V.gfm,this.options.breaks?fe.inline=U.breaks:fe.inline=U.gfm),this.tokenizer.rules=fe}Se.lex=function(fe,de){var ge=new Se(de);return ge.lex(fe)},Se.lexInline=function(fe,de){var ge=new Se(de);return ge.inlineTokens(fe)};var we=Se.prototype;return we.lex=function(fe){return fe=fe.replace(/\r\n|\r/g,` +`).replace(/\t/g," "),this.blockTokens(fe,this.tokens,!0),this.inline(this.tokens),this.tokens},we.blockTokens=function(fe,de,ge){de===void 0&&(de=[]),ge===void 0&&(ge=!0),this.options.pedantic&&(fe=fe.replace(/^ +$/gm,""));for(var pe,ve,ke,Ne;fe;){if(pe=this.tokenizer.space(fe)){fe=fe.substring(pe.raw.length),pe.type&&de.push(pe);continue}if(pe=this.tokenizer.code(fe)){fe=fe.substring(pe.raw.length),Ne=de[de.length-1],Ne&&Ne.type==="paragraph"?(Ne.raw+=` +`+pe.raw,Ne.text+=` +`+pe.text):de.push(pe);continue}if(pe=this.tokenizer.fences(fe)){fe=fe.substring(pe.raw.length),de.push(pe);continue}if(pe=this.tokenizer.heading(fe)){fe=fe.substring(pe.raw.length),de.push(pe);continue}if(pe=this.tokenizer.nptable(fe)){fe=fe.substring(pe.raw.length),de.push(pe);continue}if(pe=this.tokenizer.hr(fe)){fe=fe.substring(pe.raw.length),de.push(pe);continue}if(pe=this.tokenizer.blockquote(fe)){fe=fe.substring(pe.raw.length),pe.tokens=this.blockTokens(pe.text,[],ge),de.push(pe);continue}if(pe=this.tokenizer.list(fe)){for(fe=fe.substring(pe.raw.length),ke=pe.items.length,ve=0;ve0)for(;(Te=this.tokenizer.rules.inline.reflinkSearch.exec(Ne))!=null;)Pe.includes(Te[0].slice(Te[0].lastIndexOf("[")+1,-1))&&(Ne=Ne.slice(0,Te.index)+"["+H("a",Te[0].length-2)+"]"+Ne.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(Te=this.tokenizer.rules.inline.blockSkip.exec(Ne))!=null;)Ne=Ne.slice(0,Te.index)+"["+H("a",Te[0].length-2)+"]"+Ne.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(Te=this.tokenizer.rules.inline.escapedEmSt.exec(Ne))!=null;)Ne=Ne.slice(0,Te.index)+"++"+Ne.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;fe;){if(Oe||(Fe=""),Oe=!1,ve=this.tokenizer.escape(fe)){fe=fe.substring(ve.raw.length),de.push(ve);continue}if(ve=this.tokenizer.tag(fe,ge,pe)){fe=fe.substring(ve.raw.length),ge=ve.inLink,pe=ve.inRawBlock;var xe=de[de.length-1];xe&&ve.type==="text"&&xe.type==="text"?(xe.raw+=ve.raw,xe.text+=ve.text):de.push(ve);continue}if(ve=this.tokenizer.link(fe)){fe=fe.substring(ve.raw.length),ve.type==="link"&&(ve.tokens=this.inlineTokens(ve.text,[],!0,pe)),de.push(ve);continue}if(ve=this.tokenizer.reflink(fe,this.tokens.links)){fe=fe.substring(ve.raw.length);var We=de[de.length-1];ve.type==="link"?(ve.tokens=this.inlineTokens(ve.text,[],!0,pe),de.push(ve)):We&&ve.type==="text"&&We.type==="text"?(We.raw+=ve.raw,We.text+=ve.text):de.push(ve);continue}if(ve=this.tokenizer.emStrong(fe,Ne,Fe)){fe=fe.substring(ve.raw.length),ve.tokens=this.inlineTokens(ve.text,[],ge,pe),de.push(ve);continue}if(ve=this.tokenizer.codespan(fe)){fe=fe.substring(ve.raw.length),de.push(ve);continue}if(ve=this.tokenizer.br(fe)){fe=fe.substring(ve.raw.length),de.push(ve);continue}if(ve=this.tokenizer.del(fe)){fe=fe.substring(ve.raw.length),ve.tokens=this.inlineTokens(ve.text,[],ge,pe),de.push(ve);continue}if(ve=this.tokenizer.autolink(fe,ie)){fe=fe.substring(ve.raw.length),de.push(ve);continue}if(!ge&&(ve=this.tokenizer.url(fe,ie))){fe=fe.substring(ve.raw.length),de.push(ve);continue}if(ve=this.tokenizer.inlineText(fe,pe,$)){fe=fe.substring(ve.raw.length),ve.raw.slice(-1)!=="_"&&(Fe=ve.raw.slice(-1)),Oe=!0,ke=de[de.length-1],ke&&ke.type==="text"?(ke.raw+=ve.raw,ke.text+=ve.text):de.push(ve);continue}if(fe){var ze="Infinite loop on byte: "+fe.charCodeAt(0);if(this.options.silent){console.error(ze);break}else throw new Error(ze)}}return de},e(Se,null,[{key:"rules",get:function(){return{block:V,inline:U}}}]),Se}(),ae=S.defaults,G=A.cleanUrl,j=A.escape,te=function(){function Se(ye){this.options=ye||ae}var we=Se.prototype;return we.code=function(fe,de,ge){var pe=(de||"").match(/\S*/)[0];if(this.options.highlight){var ve=this.options.highlight(fe,pe);ve!=null&&ve!==fe&&(ge=!0,fe=ve)}return fe=fe.replace(/\n$/,"")+` +`,pe?'
'+(ge?fe:j(fe,!0))+`
+`:"
"+(ge?fe:j(fe,!0))+`
+`},we.blockquote=function(fe){return`
+`+fe+`
+`},we.html=function(fe){return fe},we.heading=function(fe,de,ge,pe){return this.options.headerIds?"'+fe+" +`:""+fe+" +`},we.hr=function(){return this.options.xhtml?`
+`:`
+`},we.list=function(fe,de,ge){var pe=de?"ol":"ul",ve=de&&ge!==1?' start="'+ge+'"':"";return"<"+pe+ve+`> +`+fe+" +`},we.listitem=function(fe){return"
  • "+fe+`
  • +`},we.checkbox=function(fe){return" "},we.paragraph=function(fe){return"

    "+fe+`

    +`},we.table=function(fe,de){return de&&(de=""+de+""),` + +`+fe+` +`+de+`
    +`},we.tablerow=function(fe){return` +`+fe+` +`},we.tablecell=function(fe,de){var ge=de.header?"th":"td",pe=de.align?"<"+ge+' align="'+de.align+'">':"<"+ge+">";return pe+fe+" +`},we.strong=function(fe){return""+fe+""},we.em=function(fe){return""+fe+""},we.codespan=function(fe){return""+fe+""},we.br=function(){return this.options.xhtml?"
    ":"
    "},we.del=function(fe){return""+fe+""},we.link=function(fe,de,ge){if(fe=G(this.options.sanitize,this.options.baseUrl,fe),fe===null)return ge;var pe='",pe},we.image=function(fe,de,ge){if(fe=G(this.options.sanitize,this.options.baseUrl,fe),fe===null)return ge;var pe=''+ge+'":">",pe},we.text=function(fe){return fe},Se}(),Z=function(){function Se(){}var we=Se.prototype;return we.strong=function(fe){return fe},we.em=function(fe){return fe},we.codespan=function(fe){return fe},we.del=function(fe){return fe},we.html=function(fe){return fe},we.text=function(fe){return fe},we.link=function(fe,de,ge){return""+ge},we.image=function(fe,de,ge){return""+ge},we.br=function(){return""},Se}(),ue=function(){function Se(){this.seen={}}var we=Se.prototype;return we.serialize=function(fe){return fe.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},we.getNextSafeSlug=function(fe,de){var ge=fe,pe=0;if(this.seen.hasOwnProperty(ge)){pe=this.seen[fe];do pe++,ge=fe+"-"+pe;while(this.seen.hasOwnProperty(ge))}return de||(this.seen[fe]=pe,this.seen[ge]=0),ge},we.slug=function(fe,de){de===void 0&&(de={});var ge=this.serialize(fe);return this.getNextSafeSlug(ge,de.dryrun)},Se}(),he=S.defaults,re=A.unescape,ce=function(){function Se(ye){this.options=ye||he,this.options.renderer=this.options.renderer||new te,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Z,this.slugger=new ue}Se.parse=function(fe,de){var ge=new Se(de);return ge.parse(fe)},Se.parseInline=function(fe,de){var ge=new Se(de);return ge.parseInline(fe)};var we=Se.prototype;return we.parse=function(fe,de){de===void 0&&(de=!0);var ge="",pe,ve,ke,Ne,Te,Oe,Fe,Pe,xe,We,ze,Ke,Be,He,Ve,Ue,Ye,je,Xe=fe.length;for(pe=0;pe0&&Ve.tokens[0].type==="text"?(Ve.tokens[0].text=je+" "+Ve.tokens[0].text,Ve.tokens[0].tokens&&Ve.tokens[0].tokens.length>0&&Ve.tokens[0].tokens[0].type==="text"&&(Ve.tokens[0].tokens[0].text=je+" "+Ve.tokens[0].tokens[0].text)):Ve.tokens.unshift({type:"text",text:je}):He+=je),He+=this.parse(Ve.tokens,Be),xe+=this.renderer.listitem(He,Ye,Ue);ge+=this.renderer.list(xe,ze,Ke);continue}case"html":{ge+=this.renderer.html(We.text);continue}case"paragraph":{ge+=this.renderer.paragraph(this.parseInline(We.tokens));continue}case"text":{for(xe=We.tokens?this.parseInline(We.tokens):We.text;pe+1An error occurred:

    "+be(ke.message+"",!0)+"
    ";throw ke}}Ee.options=Ee.setOptions=function(Se){return me(Ee.defaults,Se),De(Ee.defaults),Ee},Ee.getDefaults=Le,Ee.defaults=Re,Ee.use=function(Se){var we=me({},Se);if(Se.renderer&&function(){var fe=Ee.defaults.renderer||new te,de=function(ve){var ke=fe[ve];fe[ve]=function(){for(var Ne=arguments.length,Te=new Array(Ne),Oe=0;OeAn error occurred:

    "+be(fe.message+"",!0)+"
    ";throw fe}},Ee.Parser=ce,Ee.parser=ce.parse,Ee.Renderer=te,Ee.TextRenderer=Z,Ee.Lexer=oe,Ee.lexer=oe.lex,Ee.Tokenizer=Y,Ee.Slugger=ue,Ee.parse=Ee;var Ae=Ee;return Ae}),define(Q[278],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ArrayNavigator=void 0;class b{constructor(M,w=0,S=M.length,C=w-1){this.items=M,this.start=w,this.end=S,this.index=C}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}e.ArrayNavigator=b}),define(Q[279],J([0,1,278]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HistoryNavigator=void 0;class N{constructor(w=[],S=10){this._initialize(w),this._limit=S,this._onChange()}add(w){this._history.delete(w),this._history.add(w),this._onChange()}next(){return this._currentPosition()!==this._elements.length-1?this._navigator.next():null}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}has(w){return this._history.has(w)}_onChange(){this._reduceToLimit();const w=this._elements;this._navigator=new b.ArrayNavigator(w,0,w.length,w.length)}_reduceToLimit(){const w=this._elements;w.length>this._limit&&this._initialize(w.slice(w.length-this._limit))}_currentPosition(){const w=this._navigator.current();return w?this._elements.indexOf(w):-1}_initialize(w){this._history=new Set;for(const S of w)this._history.add(S)}get _elements(){const w=[];return this._history.forEach(S=>w.push(S)),w}}e.HistoryNavigator=N}),define(Q[100],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MovingAverage=e.clamp=void 0;function b(M,w,S){return Math.min(Math.max(M,w),S)}e.clamp=b;class N{constructor(){this._n=1,this._val=0}update(w){return this._val=this._val+(w-this._val)/this._n,this._n+=1,this}get value(){return this._val}}e.MovingAverage=N}),define(Q[17],J([0,1]),function(q,e){"use strict";var b;Object.defineProperty(e,"__esModule",{value:!0}),e.isLittleEndian=e.OS=e.setImmediate=e.globals=e.userAgent=e.isIOS=e.isWeb=e.isNative=e.isLinux=e.isMacintosh=e.isWindows=e.isPreferringBrowserCodeLoad=e.browserCodeLoadingCacheStrategy=e.isElectronSandboxed=void 0;const N="en";let M=!1,w=!1,S=!1,C=!1,d=!1,g=!1,p=!1,c,o=N,s,a;const u=typeof self=="object"?self:typeof global=="object"?global:{};let r;typeof process!="undefined"?r=process:typeof u.vscode!="undefined"&&(r=u.vscode.process);const i=typeof((b=r==null?void 0:r.versions)===null||b===void 0?void 0:b.electron)=="string"&&r.type==="renderer";if(e.isElectronSandboxed=i&&(r==null?void 0:r.sandboxed),e.browserCodeLoadingCacheStrategy=(()=>{if(e.isElectronSandboxed)return"bypassHeatCheck";const m=r==null?void 0:r.env.ENABLE_VSCODE_BROWSER_CODE_LOADING;if(typeof m=="string")return m==="none"||m==="code"||m==="bypassHeatCheck"||m==="bypassHeatCheckAndEagerCompile"?m:"bypassHeatCheck"})(),e.isPreferringBrowserCodeLoad=typeof e.browserCodeLoadingCacheStrategy=="string",typeof navigator=="object"&&!i)a=navigator.userAgent,M=a.indexOf("Windows")>=0,w=a.indexOf("Macintosh")>=0,p=(a.indexOf("Macintosh")>=0||a.indexOf("iPad")>=0||a.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,S=a.indexOf("Linux")>=0,g=!0,c=navigator.language,o=c;else if(typeof r=="object"){M=r.platform==="win32",w=r.platform==="darwin",S=r.platform==="linux",C=S&&!!r.env.SNAP&&!!r.env.SNAP_REVISION,c=N,o=N;const m=r.env.VSCODE_NLS_CONFIG;if(m)try{const _=JSON.parse(m),f=_.availableLanguages["*"];c=_.locale,o=f||N,s=_._translationsConfigFile}catch(_){}d=!0}else console.error("Unable to resolve platform.");let n=0;w?n=1:M?n=3:S&&(n=2),e.isWindows=M,e.isMacintosh=w,e.isLinux=S,e.isNative=d,e.isWeb=g,e.isIOS=p,e.userAgent=a,e.globals=u,e.setImmediate=function(){if(e.globals.setImmediate)return e.globals.setImmediate.bind(e.globals);if(typeof e.globals.postMessage=="function"&&!e.globals.importScripts){let f=[];e.globals.addEventListener("message",y=>{if(y.data&&y.data.vscodeSetImmediateId)for(let L=0,I=f.length;L{const L=++v;f.push({id:L,callback:y}),e.globals.postMessage({vscodeSetImmediateId:L},"*")}}if(r&&typeof r.nextTick=="function")return r.nextTick.bind(r);const _=Promise.resolve();return f=>_.then(f)}(),e.OS=w||p?2:M?1:3;let t=!0,l=!1;function h(){if(!l){l=!0;const m=new Uint8Array(2);m[0]=1,m[1]=2,t=new Uint16Array(m.buffer)[0]===(2<<8)+1}return t}e.isLittleEndian=h}),define(Q[280],J([0,1,17]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.platform=e.env=e.cwd=void 0;let N;typeof process!="undefined"?N=process:typeof b.globals.vscode!="undefined"?N={get platform(){return b.globals.vscode.process.platform},get env(){return b.globals.vscode.process.env},nextTick(M){return b.setImmediate(M)},cwd(){return b.globals.vscode.process.env.VSCODE_CWD||b.globals.vscode.process.execPath.substr(0,b.globals.vscode.process.execPath.lastIndexOf(b.globals.vscode.process.platform==="win32"?"\\":"/"))}}:N={get platform(){return b.isWindows?"win32":b.isMacintosh?"darwin":"linux"},nextTick(M){return b.setImmediate(M)},get env(){return Object.create(null)},cwd(){return"/"}},e.cwd=N.cwd,e.env=N.env,e.platform=N.platform}),define(Q[72],J([0,1,280]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sep=e.extname=e.basename=e.dirname=e.relative=e.resolve=e.normalize=e.posix=e.win32=void 0;const N=65,M=97,w=90,S=122,C=46,d=47,g=92,p=58,c=63;class o extends Error{constructor(l,h,m){let _;typeof h=="string"&&h.indexOf("not ")===0?(_="must not be",h=h.replace(/^not /,"")):_="must be";const f=l.indexOf(".")!==-1?"property":"argument";let v=`The "${l}" ${f} ${_} of type ${h}`;v+=`. Received type ${typeof m}`,super(v),this.code="ERR_INVALID_ARG_TYPE"}}function s(t,l){if(typeof t!="string")throw new o(l,"string",t)}function a(t){return t===d||t===g}function u(t){return t===d}function r(t){return t>=N&&t<=w||t>=M&&t<=S}function i(t,l,h,m){let _="",f=0,v=-1,y=0,L=0;for(let I=0;I<=t.length;++I){if(I2){const k=_.lastIndexOf(h);k===-1?(_="",f=0):(_=_.slice(0,k),f=_.length-1-_.lastIndexOf(h)),v=I,y=0;continue}else if(_.length!==0){_="",f=0,v=I,y=0;continue}}l&&(_+=_.length>0?`${h}..`:"..",f=2)}else _.length>0?_+=`${h}${t.slice(v+1,I)}`:_=t.slice(v+1,I),f=I-v-1;v=I,y=0}else L===C&&y!==-1?++y:y=-1}return _}function n(t,l){if(l===null||typeof l!="object")throw new o("pathObject","Object",l);const h=l.dir||l.root,m=l.base||`${l.name||""}${l.ext||""}`;return h?h===l.root?`${h}${m}`:`${h}${t}${m}`:m}e.win32={resolve(...t){let l="",h="",m=!1;for(let _=t.length-1;_>=-1;_--){let f;if(_>=0){if(f=t[_],s(f,"path"),f.length===0)continue}else l.length===0?f=b.cwd():(f=b.env[`=${l}`]||b.cwd(),(f===void 0||f.slice(0,2).toLowerCase()!==l.toLowerCase()&&f.charCodeAt(2)===g)&&(f=`${l}\\`));const v=f.length;let y=0,L="",I=!1;const k=f.charCodeAt(0);if(v===1)a(k)&&(y=1,I=!0);else if(a(k))if(I=!0,a(f.charCodeAt(1))){let E=2,T=E;for(;E2&&a(f.charCodeAt(2))&&(I=!0,y=3));if(L.length>0)if(l.length>0){if(L.toLowerCase()!==l.toLowerCase())continue}else l=L;if(m){if(l.length>0)break}else if(h=`${f.slice(y)}\\${h}`,m=I,I&&l.length>0)break}return h=i(h,!m,"\\",a),m?`${l}\\${h}`:`${l}${h}`||"."},normalize(t){s(t,"path");const l=t.length;if(l===0)return".";let h=0,m,_=!1;const f=t.charCodeAt(0);if(l===1)return u(f)?"\\":t;if(a(f))if(_=!0,a(t.charCodeAt(1))){let y=2,L=y;for(;y2&&a(t.charCodeAt(2))&&(_=!0,h=3));let v=h0&&a(t.charCodeAt(l-1))&&(v+="\\"),m===void 0?_?`\\${v}`:v:_?`${m}\\${v}`:`${m}${v}`},isAbsolute(t){s(t,"path");const l=t.length;if(l===0)return!1;const h=t.charCodeAt(0);return a(h)||l>2&&r(h)&&t.charCodeAt(1)===p&&a(t.charCodeAt(2))},join(...t){if(t.length===0)return".";let l,h;for(let f=0;f0&&(l===void 0?l=h=v:l+=`\\${v}`)}if(l===void 0)return".";let m=!0,_=0;if(typeof h=="string"&&a(h.charCodeAt(0))){++_;const f=h.length;f>1&&a(h.charCodeAt(1))&&(++_,f>2&&(a(h.charCodeAt(2))?++_:m=!1))}if(m){for(;_=2&&(l=`\\${l.slice(_)}`)}return e.win32.normalize(l)},relative(t,l){if(s(t,"from"),s(l,"to"),t===l)return"";const h=e.win32.resolve(t),m=e.win32.resolve(l);if(h===m||(t=h.toLowerCase(),l=m.toLowerCase(),t===l))return"";let _=0;for(;__&&t.charCodeAt(f-1)===g;)f--;const v=f-_;let y=0;for(;yy&&l.charCodeAt(L-1)===g;)L--;const I=L-y,k=vk){if(l.charCodeAt(y+T)===g)return m.slice(y+T+1);if(T===2)return m.slice(y+T)}v>k&&(t.charCodeAt(_+T)===g?E=T:T===2&&(E=3)),E===-1&&(E=0)}let O="";for(T=_+E+1;T<=f;++T)(T===f||t.charCodeAt(T)===g)&&(O+=O.length===0?"..":"\\..");return y+=E,O.length>0?`${O}${m.slice(y,L)}`:(m.charCodeAt(y)===g&&++y,m.slice(y,L))},toNamespacedPath(t){if(typeof t!="string")return t;if(t.length===0)return"";const l=e.win32.resolve(t);if(l.length<=2)return t;if(l.charCodeAt(0)===g){if(l.charCodeAt(1)===g){const h=l.charCodeAt(2);if(h!==c&&h!==C)return`\\\\?\\UNC\\${l.slice(2)}`}}else if(r(l.charCodeAt(0))&&l.charCodeAt(1)===p&&l.charCodeAt(2)===g)return`\\\\?\\${l}`;return t},dirname(t){s(t,"path");const l=t.length;if(l===0)return".";let h=-1,m=0;const _=t.charCodeAt(0);if(l===1)return a(_)?t:".";if(a(_)){if(h=m=1,a(t.charCodeAt(1))){let y=2,L=y;for(;y2&&a(t.charCodeAt(2))?3:2,m=h);let f=-1,v=!0;for(let y=l-1;y>=m;--y)if(a(t.charCodeAt(y))){if(!v){f=y;break}}else v=!1;if(f===-1){if(h===-1)return".";f=h}return t.slice(0,f)},basename(t,l){l!==void 0&&s(l,"ext"),s(t,"path");let h=0,m=-1,_=!0,f;if(t.length>=2&&r(t.charCodeAt(0))&&t.charCodeAt(1)===p&&(h=2),l!==void 0&&l.length>0&&l.length<=t.length){if(l===t)return"";let v=l.length-1,y=-1;for(f=t.length-1;f>=h;--f){const L=t.charCodeAt(f);if(a(L)){if(!_){h=f+1;break}}else y===-1&&(_=!1,y=f+1),v>=0&&(L===l.charCodeAt(v)?--v==-1&&(m=f):(v=-1,m=y))}return h===m?m=y:m===-1&&(m=t.length),t.slice(h,m)}for(f=t.length-1;f>=h;--f)if(a(t.charCodeAt(f))){if(!_){h=f+1;break}}else m===-1&&(_=!1,m=f+1);return m===-1?"":t.slice(h,m)},extname(t){s(t,"path");let l=0,h=-1,m=0,_=-1,f=!0,v=0;t.length>=2&&t.charCodeAt(1)===p&&r(t.charCodeAt(0))&&(l=m=2);for(let y=t.length-1;y>=l;--y){const L=t.charCodeAt(y);if(a(L)){if(!f){m=y+1;break}continue}_===-1&&(f=!1,_=y+1),L===C?h===-1?h=y:v!==1&&(v=1):h!==-1&&(v=-1)}return h===-1||_===-1||v===0||v===1&&h===_-1&&h===m+1?"":t.slice(h,_)},format:n.bind(null,"\\"),parse(t){s(t,"path");const l={root:"",dir:"",base:"",ext:"",name:""};if(t.length===0)return l;const h=t.length;let m=0,_=t.charCodeAt(0);if(h===1)return a(_)?(l.root=l.dir=t,l):(l.base=l.name=t,l);if(a(_)){if(m=1,a(t.charCodeAt(1))){let E=2,T=E;for(;E0&&(l.root=t.slice(0,m));let f=-1,v=m,y=-1,L=!0,I=t.length-1,k=0;for(;I>=m;--I){if(_=t.charCodeAt(I),a(_)){if(!L){v=I+1;break}continue}y===-1&&(L=!1,y=I+1),_===C?f===-1?f=I:k!==1&&(k=1):f!==-1&&(k=-1)}return y!==-1&&(f===-1||k===0||k===1&&f===y-1&&f===v+1?l.base=l.name=t.slice(v,y):(l.name=t.slice(v,f),l.base=t.slice(v,y),l.ext=t.slice(f,y))),v>0&&v!==m?l.dir=t.slice(0,v-1):l.dir=l.root,l},sep:"\\",delimiter:";",win32:null,posix:null},e.posix={resolve(...t){let l="",h=!1;for(let m=t.length-1;m>=-1&&!h;m--){const _=m>=0?t[m]:b.cwd();s(_,"path"),_.length!==0&&(l=`${_}/${l}`,h=_.charCodeAt(0)===d)}return l=i(l,!h,"/",u),h?`/${l}`:l.length>0?l:"."},normalize(t){if(s(t,"path"),t.length===0)return".";const l=t.charCodeAt(0)===d,h=t.charCodeAt(t.length-1)===d;return t=i(t,!l,"/",u),t.length===0?l?"/":h?"./":".":(h&&(t+="/"),l?`/${t}`:t)},isAbsolute(t){return s(t,"path"),t.length>0&&t.charCodeAt(0)===d},join(...t){if(t.length===0)return".";let l;for(let h=0;h0&&(l===void 0?l=m:l+=`/${m}`)}return l===void 0?".":e.posix.normalize(l)},relative(t,l){if(s(t,"from"),s(l,"to"),t===l||(t=e.posix.resolve(t),l=e.posix.resolve(l),t===l))return"";const h=1,m=t.length,_=m-h,f=1,v=l.length-f,y=_y){if(l.charCodeAt(f+I)===d)return l.slice(f+I+1);if(I===0)return l.slice(f+I)}else _>y&&(t.charCodeAt(h+I)===d?L=I:I===0&&(L=0));let k="";for(I=h+L+1;I<=m;++I)(I===m||t.charCodeAt(I)===d)&&(k+=k.length===0?"..":"/..");return`${k}${l.slice(f+L)}`},toNamespacedPath(t){return t},dirname(t){if(s(t,"path"),t.length===0)return".";const l=t.charCodeAt(0)===d;let h=-1,m=!0;for(let _=t.length-1;_>=1;--_)if(t.charCodeAt(_)===d){if(!m){h=_;break}}else m=!1;return h===-1?l?"/":".":l&&h===1?"//":t.slice(0,h)},basename(t,l){l!==void 0&&s(l,"ext"),s(t,"path");let h=0,m=-1,_=!0,f;if(l!==void 0&&l.length>0&&l.length<=t.length){if(l===t)return"";let v=l.length-1,y=-1;for(f=t.length-1;f>=0;--f){const L=t.charCodeAt(f);if(L===d){if(!_){h=f+1;break}}else y===-1&&(_=!1,y=f+1),v>=0&&(L===l.charCodeAt(v)?--v==-1&&(m=f):(v=-1,m=y))}return h===m?m=y:m===-1&&(m=t.length),t.slice(h,m)}for(f=t.length-1;f>=0;--f)if(t.charCodeAt(f)===d){if(!_){h=f+1;break}}else m===-1&&(_=!1,m=f+1);return m===-1?"":t.slice(h,m)},extname(t){s(t,"path");let l=-1,h=0,m=-1,_=!0,f=0;for(let v=t.length-1;v>=0;--v){const y=t.charCodeAt(v);if(y===d){if(!_){h=v+1;break}continue}m===-1&&(_=!1,m=v+1),y===C?l===-1?l=v:f!==1&&(f=1):l!==-1&&(f=-1)}return l===-1||m===-1||f===0||f===1&&l===m-1&&l===h+1?"":t.slice(l,m)},format:n.bind(null,"/"),parse(t){s(t,"path");const l={root:"",dir:"",base:"",ext:"",name:""};if(t.length===0)return l;const h=t.charCodeAt(0)===d;let m;h?(l.root="/",m=1):m=0;let _=-1,f=0,v=-1,y=!0,L=t.length-1,I=0;for(;L>=m;--L){const k=t.charCodeAt(L);if(k===d){if(!y){f=L+1;break}continue}v===-1&&(y=!1,v=L+1),k===C?_===-1?_=L:I!==1&&(I=1):_!==-1&&(I=-1)}if(v!==-1){const k=f===0&&h?1:f;_===-1||I===0||I===1&&_===v-1&&_===f+1?l.base=l.name=t.slice(k,v):(l.name=t.slice(k,_),l.base=t.slice(k,v),l.ext=t.slice(_,v))}return f>0?l.dir=t.slice(0,f-1):h&&(l.dir="/"),l},sep:"/",delimiter:":",win32:null,posix:null},e.posix.win32=e.win32.win32=e.win32,e.posix.posix=e.win32.posix=e.posix,e.normalize=b.platform==="win32"?e.win32.normalize:e.posix.normalize,e.resolve=b.platform==="win32"?e.win32.resolve:e.posix.resolve,e.relative=b.platform==="win32"?e.win32.relative:e.posix.relative,e.dirname=b.platform==="win32"?e.win32.dirname:e.posix.dirname,e.basename=b.platform==="win32"?e.win32.basename:e.posix.basename,e.extname=b.platform==="win32"?e.win32.extname:e.posix.extname,e.sep=b.platform==="win32"?e.win32.sep:e.posix.sep}),define(Q[120],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Range=void 0;var b;(function(N){function M(d,g){if(d.start>=g.end||g.start>=d.end)return{start:0,end:0};const p=Math.max(d.start,g.start),c=Math.min(d.end,g.end);return c-p<=0?{start:0,end:0}:{start:p,end:c}}N.intersect=M;function w(d){return d.end-d.start<=0}N.isEmpty=w;function S(d,g){return!w(M(d,g))}N.intersects=S;function C(d,g){const p=[],c={start:d.start,end:Math.min(g.start,d.end)},o={start:Math.max(g.end,d.start),end:d.end};return w(c)||p.push(c),w(o)||p.push(o),p}N.relativeComplement=C})(b=e.Range||(e.Range={}))}),define(Q[281],J([0,1,120]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RangeMap=e.consolidate=e.shift=e.groupIntersect=void 0;function N(d,g){const p=[];for(let c of g)if(!(d.start>=c.range.end)){if(d.endg.concat(p),[]))}class C{constructor(){this.groups=[],this._size=0}splice(g,p,c=[]){const o=c.length-p,s=N({start:0,end:g},this.groups),a=N({start:g+p,end:Number.POSITIVE_INFINITY},this.groups).map(r=>({range:M(r.range,o),size:r.size})),u=c.map((r,i)=>({range:{start:g+i,end:g+i+1},size:r.size}));this.groups=S(s,u,a),this._size=this.groups.reduce((r,i)=>r+i.size*(i.range.end-i.range.start),0)}get count(){const g=this.groups.length;return g?this.groups[g-1].range.end:0}get size(){return this._size}indexAt(g){if(g<0)return-1;let p=0,c=0;for(let o of this.groups){const s=o.range.end-o.range.start,a=c+s*o.size;if(gN.Disposable.None;function u(A){return(B,F=null,D)=>{let R=!1,W;return W=A(x=>{if(!R)return W?W.dispose():R=!0,B.call(F,x)},null,D),R&&W.dispose(),W}}a.once=u;function r(A,B){return m((F,D=null,R)=>A(W=>F.call(D,B(W)),null,R))}a.map=r;function i(A,B){return m((F,D=null,R)=>A(W=>{B(W),F.call(D,W)},null,R))}a.forEach=i;function n(A,B){return m((F,D=null,R)=>A(W=>B(W)&&F.call(D,W),null,R))}a.filter=n;function t(A){return A}a.signal=t;function l(...A){return(B,F=null,D)=>N.combinedDisposable(...A.map(R=>R(W=>B.call(F,W),null,D)))}a.any=l;function h(A,B,F){let D=F;return r(A,R=>(D=B(D,R),D))}a.reduce=h;function m(A){let B;const F=new p({onFirstListenerAdd(){B=A(F.fire,F)},onLastListenerRemove(){B.dispose()}});return F.event}a.snapshot=m;function _(A,B,F=100,D=!1,R){let W,x,K,Y=0;const ee=new p({leakWarningThreshold:R,onFirstListenerAdd(){W=A(se=>{Y++,x=B(x,se),D&&!K&&(ee.fire(x),x=void 0),clearTimeout(K),K=setTimeout(()=>{const ne=x;x=void 0,K=void 0,(!D||Y>1)&&ee.fire(ne),Y=0},F)})},onLastListenerRemove(){W.dispose()}});return ee.event}a.debounce=_;function f(A){const B=new Date().getTime();return r(u(A),F=>new Date().getTime()-B)}a.stopwatch=f;function v(A){let B=!0,F;return n(A,D=>{const R=B||D!==F;return B=!1,F=D,R})}a.latch=v;function y(A,B=!1,F=[]){let D=F.slice(),R=A(K=>{D?D.push(K):x.fire(K)});const W=()=>{D&&D.forEach(K=>x.fire(K)),D=null},x=new p({onFirstListenerAdd(){R||(R=A(K=>x.fire(K)))},onFirstListenerDidAdd(){D&&(B?setTimeout(W):W())},onLastListenerRemove(){R&&R.dispose(),R=null}});return x.event}a.buffer=y;class L{constructor(B){this.event=B}map(B){return new L(r(this.event,B))}forEach(B){return new L(i(this.event,B))}filter(B){return new L(n(this.event,B))}reduce(B,F){return new L(h(this.event,B,F))}latch(){return new L(v(this.event))}debounce(B,F=100,D=!1,R){return new L(_(this.event,B,F,D,R))}on(B,F,D){return this.event(B,F,D)}once(B,F,D){return u(this.event)(B,F,D)}}function I(A){return new L(A)}a.chain=I;function k(A,B,F=D=>D){const D=(...K)=>x.fire(F(...K)),R=()=>A.on(B,D),W=()=>A.removeListener(B,D),x=new p({onFirstListenerAdd:R,onLastListenerRemove:W});return x.event}a.fromNodeEventEmitter=k;function E(A,B,F=D=>D){const D=(...K)=>x.fire(F(...K)),R=()=>A.addEventListener(B,D),W=()=>A.removeEventListener(B,D),x=new p({onFirstListenerAdd:R,onLastListenerRemove:W});return x.event}a.fromDOMEventEmitter=E;function T(A){const B=new p;let F=!1;return A.then(void 0,()=>null).then(()=>{F?B.fire(void 0):setTimeout(()=>B.fire(void 0),0)}),F=!0,B.event}a.fromPromise=T;function O(A){return new Promise(B=>u(A)(B))}a.toPromise=O})(S=e.Event||(e.Event={}));class C{constructor(u){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${u}_${C._idPool++}`}start(u){this._stopWatch=new w.StopWatch(!0),this._listenerCount=u}stop(){if(this._stopWatch){const u=this._stopWatch.elapsed();this._elapsedOverall+=u,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${u.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}C._idPool=0;let d=-1;class g{constructor(u,r=Math.random().toString(18).slice(2,5)){this.customThreshold=u,this.name=r,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(u){let r=d;if(typeof this.customThreshold=="number"&&(r=this.customThreshold),!(r<=0||u{const t=this._stacks.get(i)||0;this._stacks.set(i,t-1)}}}}class p{constructor(u){var r;this._disposed=!1,this._options=u,this._leakageMon=d>0?new g(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=((r=this._options)===null||r===void 0?void 0:r._profName)?new C(this._options._profName):void 0}get event(){return this._event||(this._event=(u,r,i)=>{var n;this._listeners||(this._listeners=new M.LinkedList);const t=this._listeners.isEmpty();t&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const l=this._listeners.push(r?[u,r]:u);t&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,u,r);const h=(n=this._leakageMon)===null||n===void 0?void 0:n.check(this._listeners.size);let m;return m={dispose:()=>{h&&h(),m.dispose=p._noop,this._disposed||(l(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))}},i instanceof N.DisposableStore?i.add(m):Array.isArray(i)&&i.push(m),m}),this._event}fire(u){var r,i;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new M.LinkedList);for(let n of this._listeners)this._deliveryQueue.push([n,u]);for((r=this._perfMon)===null||r===void 0||r.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[n,t]=this._deliveryQueue.shift();try{typeof n=="function"?n.call(void 0,t):n[0].call(n[1],t)}catch(l){b.onUnexpectedError(l)}}(i=this._perfMon)===null||i===void 0||i.stop()}}dispose(){var u,r,i;(u=this._listeners)===null||u===void 0||u.clear(),(r=this._deliveryQueue)===null||r===void 0||r.clear(),(i=this._leakageMon)===null||i===void 0||i.dispose(),this._disposed=!0}}e.Emitter=p,p._noop=function(){};class c extends p{constructor(u){super(u);this._isPaused=0,this._eventQueue=new M.LinkedList,this._mergeFn=u==null?void 0:u.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused==0)if(this._mergeFn){const u=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(u))}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(u){this._listeners&&(this._isPaused!==0?this._eventQueue.push(u):super.fire(u))}}e.PauseableEmitter=c;class o{constructor(){this.buffers=[]}wrapEvent(u){return(r,i,n)=>u(t=>{const l=this.buffers[this.buffers.length-1];l?l.push(()=>r.call(i,t)):r.call(i,t)},void 0,n)}bufferEvents(u){const r=[];this.buffers.push(r);const i=u();return this.buffers.pop(),r.forEach(n=>n()),i}}e.EventBufferer=o;class s{constructor(){this.listening=!1,this.inputEvent=S.None,this.inputEventListener=N.Disposable.None,this.emitter=new p({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(u){this.inputEvent=u,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=u(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}e.Relay=s}),define(Q[35],J([0,1,6]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isStandalone=e.isAndroid=e.isElectron=e.isEdgeLegacyWebView=e.isIPad=e.isWebkitWebView=e.isSafari=e.isChrome=e.isWebKit=e.isFirefox=e.getPixelRatio=e.getZoomFactor=e.onDidChangeZoomLevel=e.getTimeSinceLastZoomLevelChanged=e.getZoomLevel=void 0;class N{constructor(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new b.Emitter,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this._zoomFactor=1}getZoomLevel(){return this._zoomLevel}getTimeSinceLastZoomLevelChanged(){return Date.now()-this._lastZoomLevelChangeTime}getZoomFactor(){return this._zoomFactor}getPixelRatio(){let c=document.createElement("canvas").getContext("2d"),o=window.devicePixelRatio||1,s=c.webkitBackingStorePixelRatio||c.mozBackingStorePixelRatio||c.msBackingStorePixelRatio||c.oBackingStorePixelRatio||c.backingStorePixelRatio||1;return o/s}}N.INSTANCE=new N;function M(){return N.INSTANCE.getZoomLevel()}e.getZoomLevel=M;function w(){return N.INSTANCE.getTimeSinceLastZoomLevelChanged()}e.getTimeSinceLastZoomLevelChanged=w;function S(p){return N.INSTANCE.onDidChangeZoomLevel(p)}e.onDidChangeZoomLevel=S;function C(){return N.INSTANCE.getZoomFactor()}e.getZoomFactor=C;function d(){return N.INSTANCE.getPixelRatio()}e.getPixelRatio=d;const g=navigator.userAgent;e.isFirefox=g.indexOf("Firefox")>=0,e.isWebKit=g.indexOf("AppleWebKit")>=0,e.isChrome=g.indexOf("Chrome")>=0,e.isSafari=!e.isChrome&&g.indexOf("Safari")>=0,e.isWebkitWebView=!e.isChrome&&!e.isSafari&&e.isWebKit,e.isIPad=g.indexOf("iPad")>=0||e.isSafari&&navigator.maxTouchPoints>0,e.isEdgeLegacyWebView=g.indexOf("Edge/")>=0&&g.indexOf("WebView/")>=0,e.isElectron=g.indexOf("Electron/")>=0,e.isAndroid=g.indexOf("Android")>=0,e.isStandalone=window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches}),define(Q[151],J([0,1,35,17]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BrowserFeatures=void 0,e.BrowserFeatures={clipboard:{writeText:N.isNative||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:N.isNative||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:(()=>N.isNative||b.isStandalone?0:navigator.keyboard||b.isSafari?1:2)(),touch:"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0,pointerEvents:window.PointerEvent&&("ontouchstart"in window||window.navigator.maxTouchPoints>0||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0)}}),define(Q[55],J([0,1,6]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stop=e.stopEvent=e.domEvent=void 0;const N=(S,C,d)=>{const g=c=>p.fire(c),p=new b.Emitter({onFirstListenerAdd:()=>{S.addEventListener(C,g,d)},onLastListenerRemove:()=>{S.removeEventListener(C,g,d)}});return p.event};e.domEvent=N;function M(S){return S.preventDefault(),S.stopPropagation(),S}e.stopEvent=M;function w(S){return b.Event.map(S,M)}e.stop=w}),define(Q[56],J([0,1,35,39,17]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandardKeyboardEvent=void 0;let w=new Array(230),S=new Array(112);(function(){for(let a=0;a{l.token.onCancellationRequested(()=>{f(N.canceled())}),Promise.resolve(h).then(v=>{l.dispose(),_(v)},v=>{l.dispose(),f(v)})});return new class{cancel(){l.cancel()}then(_,f){return m.then(_,f)}catch(_){return this.then(void 0,_)}finally(_){return m.finally(_)}}}e.createCancelablePromise=S;function C(t,l,h){return Promise.race([t,new Promise(m=>l.onCancellationRequested(()=>m(h)))])}e.raceCancellation=C;class d{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(l){if(this.activePromise){if(this.queuedPromiseFactory=l,!this.queuedPromise){const h=()=>{this.queuedPromise=null;const m=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,m};this.queuedPromise=new Promise(m=>{this.activePromise.then(h,h).then(m)})}return new Promise((h,m)=>{this.queuedPromise.then(h,m)})}return this.activePromise=l(),new Promise((h,m)=>{this.activePromise.then(_=>{this.activePromise=null,h(_)},_=>{this.activePromise=null,m(_)})})}}e.Throttler=d;class g{constructor(l){this.defaultDelay=l,this.timeout=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(l,h=this.defaultDelay){return this.task=l,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((m,_)=>{this.doResolve=m,this.doReject=_}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const m=this.task;return this.task=null,m()}})),this.timeout=setTimeout(()=>{this.timeout=null,this.doResolve&&this.doResolve(null)},h),this.completionPromise}isTriggered(){return this.timeout!==null}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject&&this.doReject(N.canceled()),this.completionPromise=null)}cancelTimeout(){this.timeout!==null&&(clearTimeout(this.timeout),this.timeout=null)}dispose(){this.cancelTimeout()}}e.Delayer=g;class p{constructor(l){this.delayer=new g(l),this.throttler=new d}trigger(l,h){return this.delayer.trigger(()=>this.throttler.queue(l),h)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose()}}e.ThrottledDelayer=p;function c(t,l){return l?new Promise((h,m)=>{const _=setTimeout(h,t);l.onCancellationRequested(()=>{clearTimeout(_),m(N.canceled())})}):S(h=>c(t,h))}e.timeout=c;function o(t,l=0){const h=setTimeout(t,l);return M.toDisposable(()=>clearTimeout(h))}e.disposableTimeout=o;function s(t,l=m=>!!m,h=null){let m=0;const _=t.length,f=()=>{if(m>=_)return Promise.resolve(h);const v=t[m++];return Promise.resolve(v()).then(L=>l(L)?Promise.resolve(L):f())};return f()}e.first=s;class a{constructor(l,h){this._token=-1,typeof l=="function"&&typeof h=="number"&&this.setIfNotSet(l,h)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(l,h){this.cancel(),this._token=setTimeout(()=>{this._token=-1,l()},h)}setIfNotSet(l,h){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,l()},h))}}e.TimeoutTimer=a;class u{constructor(){this._token=-1}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearInterval(this._token),this._token=-1)}cancelAndSet(l,h){this.cancel(),this._token=setInterval(()=>{l()},h)}}e.IntervalTimer=u;class r{constructor(l,h){this.timeoutToken=-1,this.runner=l,this.timeout=h,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(l=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,l)}get delay(){return this.timeout}set delay(l){this.timeout=l}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner&&this.runner()}}e.RunOnceScheduler=r,function(){if(typeof requestIdleCallback!="function"||typeof cancelIdleCallback!="function"){const t=Object.freeze({didTimeout:!0,timeRemaining(){return 15}});e.runWhenIdle=l=>{const h=setTimeout(()=>l(t));let m=!1;return{dispose(){m||(m=!0,clearTimeout(h))}}}}else e.runWhenIdle=(t,l)=>{const h=requestIdleCallback(t,typeof l=="number"?{timeout:l}:void 0);let m=!1;return{dispose(){m||(m=!0,cancelIdleCallback(h))}}}}();class i{constructor(l){this._didRun=!1,this._executor=()=>{try{this._value=l()}catch(h){this._error=h}finally{this._didRun=!0}},this._handle=e.runWhenIdle(()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}}e.IdleValue=i;var n;(function(t){function l(f){return Ie(this,void 0,void 0,function*(){return typeof Promise.allSettled=="function"?h(f):m(f)})}t.allSettled=l;function h(f){return Ie(this,void 0,void 0,function*(){return Promise.allSettled(f)})}function m(f){return Ie(this,void 0,void 0,function*(){return Promise.all(f.map(v=>v.then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))})}function _(f){return Ie(this,void 0,void 0,function*(){let v;const y=yield Promise.all(f.map(L=>L.then(I=>I,I=>{v||(v=I)})));if(typeof v!="undefined")throw v;return y})}t.settled=_})(n=e.Promises||(e.Promises={}))}),define(Q[282],J([0,1,15,2]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollbarVisibilityController=void 0;class M extends N.Disposable{constructor(S,C,d){super();this._visibility=S,this._visibleClassName=C,this._invisibleClassName=d,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new b.TimeoutTimer)}applyVisibilitySetting(S){return this._visibility===2?!1:this._visibility===3?!0:S}setShouldBeVisible(S){const C=this.applyVisibilitySetting(S);this._shouldBeVisible!==C&&(this._shouldBeVisible=C,this.ensureVisibility())}setIsNeeded(S){this._isNeeded!==S&&(this._isNeeded=S,this.ensureVisibility())}setDomNode(S){this._domNode=S,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode&&this._domNode.setClassName(this._visibleClassName)},0))}_hide(S){this._revealTimer.cancel(),!!this._isVisible&&(this._isVisible=!1,this._domNode&&this._domNode.setClassName(this._invisibleClassName+(S?" fade":"")))}}e.ScrollbarVisibilityController=M}),define(Q[27],J([0,1,6]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CSSIcon=e.Codicon=e.registerCodicon=e.iconRegistry=void 0;class N{constructor(){this._icons=new Map,this._onDidRegister=new b.Emitter}add(g){const p=this._icons.get(g.id);p?g.description?p.description=g.description:console.error(`Duplicate registration of codicon ${g.id}`):(this._icons.set(g.id,g),this._onDidRegister.fire(g))}get(g){return this._icons.get(g)}get all(){return this._icons.values()}get onDidRegister(){return this._onDidRegister.event}}const M=new N;e.iconRegistry=M;function w(d,g){return new S(d,g)}e.registerCodicon=w;class S{constructor(g,p,c){this.id=g,this.definition=p,this.description=c,M.add(this)}get classNames(){return"codicon codicon-"+this.id}get classNamesArray(){return["codicon","codicon-"+this.id]}get cssSelector(){return".codicon.codicon-"+this.id}}e.Codicon=S;var C;(function(d){d.iconNameSegment="[A-Za-z0-9]+",d.iconNameExpression="[A-Za-z0-9\\-]+",d.iconModifierExpression="~[A-Za-z]+";const g=new RegExp(`^(${d.iconNameExpression})(${d.iconModifierExpression})?$`);function p(s){if(s instanceof S)return["codicon","codicon-"+s.id];const a=g.exec(s.id);if(!a)return p(S.error);let[,u,r]=a;const i=["codicon","codicon-"+u];return r&&i.push("codicon-modifier-"+r.substr(1)),i}d.asClassNameArray=p;function c(s){return p(s).join(" ")}d.asClassName=c;function o(s){return"."+p(s).join(".")}d.asCSSSelector=o})(C=e.CSSIcon||(e.CSSIcon={})),function(d){d.add=new d("add",{fontCharacter:"\\ea60"}),d.plus=new d("plus",{fontCharacter:"\\ea60"}),d.gistNew=new d("gist-new",{fontCharacter:"\\ea60"}),d.repoCreate=new d("repo-create",{fontCharacter:"\\ea60"}),d.lightbulb=new d("lightbulb",{fontCharacter:"\\ea61"}),d.lightBulb=new d("light-bulb",{fontCharacter:"\\ea61"}),d.repo=new d("repo",{fontCharacter:"\\ea62"}),d.repoDelete=new d("repo-delete",{fontCharacter:"\\ea62"}),d.gistFork=new d("gist-fork",{fontCharacter:"\\ea63"}),d.repoForked=new d("repo-forked",{fontCharacter:"\\ea63"}),d.gitPullRequest=new d("git-pull-request",{fontCharacter:"\\ea64"}),d.gitPullRequestAbandoned=new d("git-pull-request-abandoned",{fontCharacter:"\\ea64"}),d.recordKeys=new d("record-keys",{fontCharacter:"\\ea65"}),d.keyboard=new d("keyboard",{fontCharacter:"\\ea65"}),d.tag=new d("tag",{fontCharacter:"\\ea66"}),d.tagAdd=new d("tag-add",{fontCharacter:"\\ea66"}),d.tagRemove=new d("tag-remove",{fontCharacter:"\\ea66"}),d.person=new d("person",{fontCharacter:"\\ea67"}),d.personAdd=new d("person-add",{fontCharacter:"\\ea67"}),d.personFollow=new d("person-follow",{fontCharacter:"\\ea67"}),d.personOutline=new d("person-outline",{fontCharacter:"\\ea67"}),d.personFilled=new d("person-filled",{fontCharacter:"\\ea67"}),d.gitBranch=new d("git-branch",{fontCharacter:"\\ea68"}),d.gitBranchCreate=new d("git-branch-create",{fontCharacter:"\\ea68"}),d.gitBranchDelete=new d("git-branch-delete",{fontCharacter:"\\ea68"}),d.sourceControl=new d("source-control",{fontCharacter:"\\ea68"}),d.mirror=new d("mirror",{fontCharacter:"\\ea69"}),d.mirrorPublic=new d("mirror-public",{fontCharacter:"\\ea69"}),d.star=new d("star",{fontCharacter:"\\ea6a"}),d.starAdd=new d("star-add",{fontCharacter:"\\ea6a"}),d.starDelete=new d("star-delete",{fontCharacter:"\\ea6a"}),d.starEmpty=new d("star-empty",{fontCharacter:"\\ea6a"}),d.comment=new d("comment",{fontCharacter:"\\ea6b"}),d.commentAdd=new d("comment-add",{fontCharacter:"\\ea6b"}),d.alert=new d("alert",{fontCharacter:"\\ea6c"}),d.warning=new d("warning",{fontCharacter:"\\ea6c"}),d.search=new d("search",{fontCharacter:"\\ea6d"}),d.searchSave=new d("search-save",{fontCharacter:"\\ea6d"}),d.logOut=new d("log-out",{fontCharacter:"\\ea6e"}),d.signOut=new d("sign-out",{fontCharacter:"\\ea6e"}),d.logIn=new d("log-in",{fontCharacter:"\\ea6f"}),d.signIn=new d("sign-in",{fontCharacter:"\\ea6f"}),d.eye=new d("eye",{fontCharacter:"\\ea70"}),d.eyeUnwatch=new d("eye-unwatch",{fontCharacter:"\\ea70"}),d.eyeWatch=new d("eye-watch",{fontCharacter:"\\ea70"}),d.circleFilled=new d("circle-filled",{fontCharacter:"\\ea71"}),d.primitiveDot=new d("primitive-dot",{fontCharacter:"\\ea71"}),d.closeDirty=new d("close-dirty",{fontCharacter:"\\ea71"}),d.debugBreakpoint=new d("debug-breakpoint",{fontCharacter:"\\ea71"}),d.debugBreakpointDisabled=new d("debug-breakpoint-disabled",{fontCharacter:"\\ea71"}),d.debugHint=new d("debug-hint",{fontCharacter:"\\ea71"}),d.primitiveSquare=new d("primitive-square",{fontCharacter:"\\ea72"}),d.edit=new d("edit",{fontCharacter:"\\ea73"}),d.pencil=new d("pencil",{fontCharacter:"\\ea73"}),d.info=new d("info",{fontCharacter:"\\ea74"}),d.issueOpened=new d("issue-opened",{fontCharacter:"\\ea74"}),d.gistPrivate=new d("gist-private",{fontCharacter:"\\ea75"}),d.gitForkPrivate=new d("git-fork-private",{fontCharacter:"\\ea75"}),d.lock=new d("lock",{fontCharacter:"\\ea75"}),d.mirrorPrivate=new d("mirror-private",{fontCharacter:"\\ea75"}),d.close=new d("close",{fontCharacter:"\\ea76"}),d.removeClose=new d("remove-close",{fontCharacter:"\\ea76"}),d.x=new d("x",{fontCharacter:"\\ea76"}),d.repoSync=new d("repo-sync",{fontCharacter:"\\ea77"}),d.sync=new d("sync",{fontCharacter:"\\ea77"}),d.clone=new d("clone",{fontCharacter:"\\ea78"}),d.desktopDownload=new d("desktop-download",{fontCharacter:"\\ea78"}),d.beaker=new d("beaker",{fontCharacter:"\\ea79"}),d.microscope=new d("microscope",{fontCharacter:"\\ea79"}),d.vm=new d("vm",{fontCharacter:"\\ea7a"}),d.deviceDesktop=new d("device-desktop",{fontCharacter:"\\ea7a"}),d.file=new d("file",{fontCharacter:"\\ea7b"}),d.fileText=new d("file-text",{fontCharacter:"\\ea7b"}),d.more=new d("more",{fontCharacter:"\\ea7c"}),d.ellipsis=new d("ellipsis",{fontCharacter:"\\ea7c"}),d.kebabHorizontal=new d("kebab-horizontal",{fontCharacter:"\\ea7c"}),d.mailReply=new d("mail-reply",{fontCharacter:"\\ea7d"}),d.reply=new d("reply",{fontCharacter:"\\ea7d"}),d.organization=new d("organization",{fontCharacter:"\\ea7e"}),d.organizationFilled=new d("organization-filled",{fontCharacter:"\\ea7e"}),d.organizationOutline=new d("organization-outline",{fontCharacter:"\\ea7e"}),d.newFile=new d("new-file",{fontCharacter:"\\ea7f"}),d.fileAdd=new d("file-add",{fontCharacter:"\\ea7f"}),d.newFolder=new d("new-folder",{fontCharacter:"\\ea80"}),d.fileDirectoryCreate=new d("file-directory-create",{fontCharacter:"\\ea80"}),d.trash=new d("trash",{fontCharacter:"\\ea81"}),d.trashcan=new d("trashcan",{fontCharacter:"\\ea81"}),d.history=new d("history",{fontCharacter:"\\ea82"}),d.clock=new d("clock",{fontCharacter:"\\ea82"}),d.folder=new d("folder",{fontCharacter:"\\ea83"}),d.fileDirectory=new d("file-directory",{fontCharacter:"\\ea83"}),d.symbolFolder=new d("symbol-folder",{fontCharacter:"\\ea83"}),d.logoGithub=new d("logo-github",{fontCharacter:"\\ea84"}),d.markGithub=new d("mark-github",{fontCharacter:"\\ea84"}),d.github=new d("github",{fontCharacter:"\\ea84"}),d.terminal=new d("terminal",{fontCharacter:"\\ea85"}),d.console=new d("console",{fontCharacter:"\\ea85"}),d.repl=new d("repl",{fontCharacter:"\\ea85"}),d.zap=new d("zap",{fontCharacter:"\\ea86"}),d.symbolEvent=new d("symbol-event",{fontCharacter:"\\ea86"}),d.error=new d("error",{fontCharacter:"\\ea87"}),d.stop=new d("stop",{fontCharacter:"\\ea87"}),d.variable=new d("variable",{fontCharacter:"\\ea88"}),d.symbolVariable=new d("symbol-variable",{fontCharacter:"\\ea88"}),d.array=new d("array",{fontCharacter:"\\ea8a"}),d.symbolArray=new d("symbol-array",{fontCharacter:"\\ea8a"}),d.symbolModule=new d("symbol-module",{fontCharacter:"\\ea8b"}),d.symbolPackage=new d("symbol-package",{fontCharacter:"\\ea8b"}),d.symbolNamespace=new d("symbol-namespace",{fontCharacter:"\\ea8b"}),d.symbolObject=new d("symbol-object",{fontCharacter:"\\ea8b"}),d.symbolMethod=new d("symbol-method",{fontCharacter:"\\ea8c"}),d.symbolFunction=new d("symbol-function",{fontCharacter:"\\ea8c"}),d.symbolConstructor=new d("symbol-constructor",{fontCharacter:"\\ea8c"}),d.symbolBoolean=new d("symbol-boolean",{fontCharacter:"\\ea8f"}),d.symbolNull=new d("symbol-null",{fontCharacter:"\\ea8f"}),d.symbolNumeric=new d("symbol-numeric",{fontCharacter:"\\ea90"}),d.symbolNumber=new d("symbol-number",{fontCharacter:"\\ea90"}),d.symbolStructure=new d("symbol-structure",{fontCharacter:"\\ea91"}),d.symbolStruct=new d("symbol-struct",{fontCharacter:"\\ea91"}),d.symbolParameter=new d("symbol-parameter",{fontCharacter:"\\ea92"}),d.symbolTypeParameter=new d("symbol-type-parameter",{fontCharacter:"\\ea92"}),d.symbolKey=new d("symbol-key",{fontCharacter:"\\ea93"}),d.symbolText=new d("symbol-text",{fontCharacter:"\\ea93"}),d.symbolReference=new d("symbol-reference",{fontCharacter:"\\ea94"}),d.goToFile=new d("go-to-file",{fontCharacter:"\\ea94"}),d.symbolEnum=new d("symbol-enum",{fontCharacter:"\\ea95"}),d.symbolValue=new d("symbol-value",{fontCharacter:"\\ea95"}),d.symbolRuler=new d("symbol-ruler",{fontCharacter:"\\ea96"}),d.symbolUnit=new d("symbol-unit",{fontCharacter:"\\ea96"}),d.activateBreakpoints=new d("activate-breakpoints",{fontCharacter:"\\ea97"}),d.archive=new d("archive",{fontCharacter:"\\ea98"}),d.arrowBoth=new d("arrow-both",{fontCharacter:"\\ea99"}),d.arrowDown=new d("arrow-down",{fontCharacter:"\\ea9a"}),d.arrowLeft=new d("arrow-left",{fontCharacter:"\\ea9b"}),d.arrowRight=new d("arrow-right",{fontCharacter:"\\ea9c"}),d.arrowSmallDown=new d("arrow-small-down",{fontCharacter:"\\ea9d"}),d.arrowSmallLeft=new d("arrow-small-left",{fontCharacter:"\\ea9e"}),d.arrowSmallRight=new d("arrow-small-right",{fontCharacter:"\\ea9f"}),d.arrowSmallUp=new d("arrow-small-up",{fontCharacter:"\\eaa0"}),d.arrowUp=new d("arrow-up",{fontCharacter:"\\eaa1"}),d.bell=new d("bell",{fontCharacter:"\\eaa2"}),d.bold=new d("bold",{fontCharacter:"\\eaa3"}),d.book=new d("book",{fontCharacter:"\\eaa4"}),d.bookmark=new d("bookmark",{fontCharacter:"\\eaa5"}),d.debugBreakpointConditionalUnverified=new d("debug-breakpoint-conditional-unverified",{fontCharacter:"\\eaa6"}),d.debugBreakpointConditional=new d("debug-breakpoint-conditional",{fontCharacter:"\\eaa7"}),d.debugBreakpointConditionalDisabled=new d("debug-breakpoint-conditional-disabled",{fontCharacter:"\\eaa7"}),d.debugBreakpointDataUnverified=new d("debug-breakpoint-data-unverified",{fontCharacter:"\\eaa8"}),d.debugBreakpointData=new d("debug-breakpoint-data",{fontCharacter:"\\eaa9"}),d.debugBreakpointDataDisabled=new d("debug-breakpoint-data-disabled",{fontCharacter:"\\eaa9"}),d.debugBreakpointLogUnverified=new d("debug-breakpoint-log-unverified",{fontCharacter:"\\eaaa"}),d.debugBreakpointLog=new d("debug-breakpoint-log",{fontCharacter:"\\eaab"}),d.debugBreakpointLogDisabled=new d("debug-breakpoint-log-disabled",{fontCharacter:"\\eaab"}),d.briefcase=new d("briefcase",{fontCharacter:"\\eaac"}),d.broadcast=new d("broadcast",{fontCharacter:"\\eaad"}),d.browser=new d("browser",{fontCharacter:"\\eaae"}),d.bug=new d("bug",{fontCharacter:"\\eaaf"}),d.calendar=new d("calendar",{fontCharacter:"\\eab0"}),d.caseSensitive=new d("case-sensitive",{fontCharacter:"\\eab1"}),d.check=new d("check",{fontCharacter:"\\eab2"}),d.checklist=new d("checklist",{fontCharacter:"\\eab3"}),d.chevronDown=new d("chevron-down",{fontCharacter:"\\eab4"}),d.chevronLeft=new d("chevron-left",{fontCharacter:"\\eab5"}),d.chevronRight=new d("chevron-right",{fontCharacter:"\\eab6"}),d.chevronUp=new d("chevron-up",{fontCharacter:"\\eab7"}),d.chromeClose=new d("chrome-close",{fontCharacter:"\\eab8"}),d.chromeMaximize=new d("chrome-maximize",{fontCharacter:"\\eab9"}),d.chromeMinimize=new d("chrome-minimize",{fontCharacter:"\\eaba"}),d.chromeRestore=new d("chrome-restore",{fontCharacter:"\\eabb"}),d.circleOutline=new d("circle-outline",{fontCharacter:"\\eabc"}),d.debugBreakpointUnverified=new d("debug-breakpoint-unverified",{fontCharacter:"\\eabc"}),d.circleSlash=new d("circle-slash",{fontCharacter:"\\eabd"}),d.circuitBoard=new d("circuit-board",{fontCharacter:"\\eabe"}),d.clearAll=new d("clear-all",{fontCharacter:"\\eabf"}),d.clippy=new d("clippy",{fontCharacter:"\\eac0"}),d.closeAll=new d("close-all",{fontCharacter:"\\eac1"}),d.cloudDownload=new d("cloud-download",{fontCharacter:"\\eac2"}),d.cloudUpload=new d("cloud-upload",{fontCharacter:"\\eac3"}),d.code=new d("code",{fontCharacter:"\\eac4"}),d.collapseAll=new d("collapse-all",{fontCharacter:"\\eac5"}),d.colorMode=new d("color-mode",{fontCharacter:"\\eac6"}),d.commentDiscussion=new d("comment-discussion",{fontCharacter:"\\eac7"}),d.compareChanges=new d("compare-changes",{fontCharacter:"\\eafd"}),d.creditCard=new d("credit-card",{fontCharacter:"\\eac9"}),d.dash=new d("dash",{fontCharacter:"\\eacc"}),d.dashboard=new d("dashboard",{fontCharacter:"\\eacd"}),d.database=new d("database",{fontCharacter:"\\eace"}),d.debugContinue=new d("debug-continue",{fontCharacter:"\\eacf"}),d.debugDisconnect=new d("debug-disconnect",{fontCharacter:"\\ead0"}),d.debugPause=new d("debug-pause",{fontCharacter:"\\ead1"}),d.debugRestart=new d("debug-restart",{fontCharacter:"\\ead2"}),d.debugStart=new d("debug-start",{fontCharacter:"\\ead3"}),d.debugStepInto=new d("debug-step-into",{fontCharacter:"\\ead4"}),d.debugStepOut=new d("debug-step-out",{fontCharacter:"\\ead5"}),d.debugStepOver=new d("debug-step-over",{fontCharacter:"\\ead6"}),d.debugStop=new d("debug-stop",{fontCharacter:"\\ead7"}),d.debug=new d("debug",{fontCharacter:"\\ead8"}),d.deviceCameraVideo=new d("device-camera-video",{fontCharacter:"\\ead9"}),d.deviceCamera=new d("device-camera",{fontCharacter:"\\eada"}),d.deviceMobile=new d("device-mobile",{fontCharacter:"\\eadb"}),d.diffAdded=new d("diff-added",{fontCharacter:"\\eadc"}),d.diffIgnored=new d("diff-ignored",{fontCharacter:"\\eadd"}),d.diffModified=new d("diff-modified",{fontCharacter:"\\eade"}),d.diffRemoved=new d("diff-removed",{fontCharacter:"\\eadf"}),d.diffRenamed=new d("diff-renamed",{fontCharacter:"\\eae0"}),d.diff=new d("diff",{fontCharacter:"\\eae1"}),d.discard=new d("discard",{fontCharacter:"\\eae2"}),d.editorLayout=new d("editor-layout",{fontCharacter:"\\eae3"}),d.emptyWindow=new d("empty-window",{fontCharacter:"\\eae4"}),d.exclude=new d("exclude",{fontCharacter:"\\eae5"}),d.extensions=new d("extensions",{fontCharacter:"\\eae6"}),d.eyeClosed=new d("eye-closed",{fontCharacter:"\\eae7"}),d.fileBinary=new d("file-binary",{fontCharacter:"\\eae8"}),d.fileCode=new d("file-code",{fontCharacter:"\\eae9"}),d.fileMedia=new d("file-media",{fontCharacter:"\\eaea"}),d.filePdf=new d("file-pdf",{fontCharacter:"\\eaeb"}),d.fileSubmodule=new d("file-submodule",{fontCharacter:"\\eaec"}),d.fileSymlinkDirectory=new d("file-symlink-directory",{fontCharacter:"\\eaed"}),d.fileSymlinkFile=new d("file-symlink-file",{fontCharacter:"\\eaee"}),d.fileZip=new d("file-zip",{fontCharacter:"\\eaef"}),d.files=new d("files",{fontCharacter:"\\eaf0"}),d.filter=new d("filter",{fontCharacter:"\\eaf1"}),d.flame=new d("flame",{fontCharacter:"\\eaf2"}),d.foldDown=new d("fold-down",{fontCharacter:"\\eaf3"}),d.foldUp=new d("fold-up",{fontCharacter:"\\eaf4"}),d.fold=new d("fold",{fontCharacter:"\\eaf5"}),d.folderActive=new d("folder-active",{fontCharacter:"\\eaf6"}),d.folderOpened=new d("folder-opened",{fontCharacter:"\\eaf7"}),d.gear=new d("gear",{fontCharacter:"\\eaf8"}),d.gift=new d("gift",{fontCharacter:"\\eaf9"}),d.gistSecret=new d("gist-secret",{fontCharacter:"\\eafa"}),d.gist=new d("gist",{fontCharacter:"\\eafb"}),d.gitCommit=new d("git-commit",{fontCharacter:"\\eafc"}),d.gitCompare=new d("git-compare",{fontCharacter:"\\eafd"}),d.gitMerge=new d("git-merge",{fontCharacter:"\\eafe"}),d.githubAction=new d("github-action",{fontCharacter:"\\eaff"}),d.githubAlt=new d("github-alt",{fontCharacter:"\\eb00"}),d.globe=new d("globe",{fontCharacter:"\\eb01"}),d.grabber=new d("grabber",{fontCharacter:"\\eb02"}),d.graph=new d("graph",{fontCharacter:"\\eb03"}),d.gripper=new d("gripper",{fontCharacter:"\\eb04"}),d.heart=new d("heart",{fontCharacter:"\\eb05"}),d.home=new d("home",{fontCharacter:"\\eb06"}),d.horizontalRule=new d("horizontal-rule",{fontCharacter:"\\eb07"}),d.hubot=new d("hubot",{fontCharacter:"\\eb08"}),d.inbox=new d("inbox",{fontCharacter:"\\eb09"}),d.issueClosed=new d("issue-closed",{fontCharacter:"\\eb0a"}),d.issueReopened=new d("issue-reopened",{fontCharacter:"\\eb0b"}),d.issues=new d("issues",{fontCharacter:"\\eb0c"}),d.italic=new d("italic",{fontCharacter:"\\eb0d"}),d.jersey=new d("jersey",{fontCharacter:"\\eb0e"}),d.json=new d("json",{fontCharacter:"\\eb0f"}),d.kebabVertical=new d("kebab-vertical",{fontCharacter:"\\eb10"}),d.key=new d("key",{fontCharacter:"\\eb11"}),d.law=new d("law",{fontCharacter:"\\eb12"}),d.lightbulbAutofix=new d("lightbulb-autofix",{fontCharacter:"\\eb13"}),d.linkExternal=new d("link-external",{fontCharacter:"\\eb14"}),d.link=new d("link",{fontCharacter:"\\eb15"}),d.listOrdered=new d("list-ordered",{fontCharacter:"\\eb16"}),d.listUnordered=new d("list-unordered",{fontCharacter:"\\eb17"}),d.liveShare=new d("live-share",{fontCharacter:"\\eb18"}),d.loading=new d("loading",{fontCharacter:"\\eb19"}),d.location=new d("location",{fontCharacter:"\\eb1a"}),d.mailRead=new d("mail-read",{fontCharacter:"\\eb1b"}),d.mail=new d("mail",{fontCharacter:"\\eb1c"}),d.markdown=new d("markdown",{fontCharacter:"\\eb1d"}),d.megaphone=new d("megaphone",{fontCharacter:"\\eb1e"}),d.mention=new d("mention",{fontCharacter:"\\eb1f"}),d.milestone=new d("milestone",{fontCharacter:"\\eb20"}),d.mortarBoard=new d("mortar-board",{fontCharacter:"\\eb21"}),d.move=new d("move",{fontCharacter:"\\eb22"}),d.multipleWindows=new d("multiple-windows",{fontCharacter:"\\eb23"}),d.mute=new d("mute",{fontCharacter:"\\eb24"}),d.noNewline=new d("no-newline",{fontCharacter:"\\eb25"}),d.note=new d("note",{fontCharacter:"\\eb26"}),d.octoface=new d("octoface",{fontCharacter:"\\eb27"}),d.openPreview=new d("open-preview",{fontCharacter:"\\eb28"}),d.package_=new d("package",{fontCharacter:"\\eb29"}),d.paintcan=new d("paintcan",{fontCharacter:"\\eb2a"}),d.pin=new d("pin",{fontCharacter:"\\eb2b"}),d.play=new d("play",{fontCharacter:"\\eb2c"}),d.run=new d("run",{fontCharacter:"\\eb2c"}),d.plug=new d("plug",{fontCharacter:"\\eb2d"}),d.preserveCase=new d("preserve-case",{fontCharacter:"\\eb2e"}),d.preview=new d("preview",{fontCharacter:"\\eb2f"}),d.project=new d("project",{fontCharacter:"\\eb30"}),d.pulse=new d("pulse",{fontCharacter:"\\eb31"}),d.question=new d("question",{fontCharacter:"\\eb32"}),d.quote=new d("quote",{fontCharacter:"\\eb33"}),d.radioTower=new d("radio-tower",{fontCharacter:"\\eb34"}),d.reactions=new d("reactions",{fontCharacter:"\\eb35"}),d.references=new d("references",{fontCharacter:"\\eb36"}),d.refresh=new d("refresh",{fontCharacter:"\\eb37"}),d.regex=new d("regex",{fontCharacter:"\\eb38"}),d.remoteExplorer=new d("remote-explorer",{fontCharacter:"\\eb39"}),d.remote=new d("remote",{fontCharacter:"\\eb3a"}),d.remove=new d("remove",{fontCharacter:"\\eb3b"}),d.replaceAll=new d("replace-all",{fontCharacter:"\\eb3c"}),d.replace=new d("replace",{fontCharacter:"\\eb3d"}),d.repoClone=new d("repo-clone",{fontCharacter:"\\eb3e"}),d.repoForcePush=new d("repo-force-push",{fontCharacter:"\\eb3f"}),d.repoPull=new d("repo-pull",{fontCharacter:"\\eb40"}),d.repoPush=new d("repo-push",{fontCharacter:"\\eb41"}),d.report=new d("report",{fontCharacter:"\\eb42"}),d.requestChanges=new d("request-changes",{fontCharacter:"\\eb43"}),d.rocket=new d("rocket",{fontCharacter:"\\eb44"}),d.rootFolderOpened=new d("root-folder-opened",{fontCharacter:"\\eb45"}),d.rootFolder=new d("root-folder",{fontCharacter:"\\eb46"}),d.rss=new d("rss",{fontCharacter:"\\eb47"}),d.ruby=new d("ruby",{fontCharacter:"\\eb48"}),d.saveAll=new d("save-all",{fontCharacter:"\\eb49"}),d.saveAs=new d("save-as",{fontCharacter:"\\eb4a"}),d.save=new d("save",{fontCharacter:"\\eb4b"}),d.screenFull=new d("screen-full",{fontCharacter:"\\eb4c"}),d.screenNormal=new d("screen-normal",{fontCharacter:"\\eb4d"}),d.searchStop=new d("search-stop",{fontCharacter:"\\eb4e"}),d.server=new d("server",{fontCharacter:"\\eb50"}),d.settingsGear=new d("settings-gear",{fontCharacter:"\\eb51"}),d.settings=new d("settings",{fontCharacter:"\\eb52"}),d.shield=new d("shield",{fontCharacter:"\\eb53"}),d.smiley=new d("smiley",{fontCharacter:"\\eb54"}),d.sortPrecedence=new d("sort-precedence",{fontCharacter:"\\eb55"}),d.splitHorizontal=new d("split-horizontal",{fontCharacter:"\\eb56"}),d.splitVertical=new d("split-vertical",{fontCharacter:"\\eb57"}),d.squirrel=new d("squirrel",{fontCharacter:"\\eb58"}),d.starFull=new d("star-full",{fontCharacter:"\\eb59"}),d.starHalf=new d("star-half",{fontCharacter:"\\eb5a"}),d.symbolClass=new d("symbol-class",{fontCharacter:"\\eb5b"}),d.symbolColor=new d("symbol-color",{fontCharacter:"\\eb5c"}),d.symbolConstant=new d("symbol-constant",{fontCharacter:"\\eb5d"}),d.symbolEnumMember=new d("symbol-enum-member",{fontCharacter:"\\eb5e"}),d.symbolField=new d("symbol-field",{fontCharacter:"\\eb5f"}),d.symbolFile=new d("symbol-file",{fontCharacter:"\\eb60"}),d.symbolInterface=new d("symbol-interface",{fontCharacter:"\\eb61"}),d.symbolKeyword=new d("symbol-keyword",{fontCharacter:"\\eb62"}),d.symbolMisc=new d("symbol-misc",{fontCharacter:"\\eb63"}),d.symbolOperator=new d("symbol-operator",{fontCharacter:"\\eb64"}),d.symbolProperty=new d("symbol-property",{fontCharacter:"\\eb65"}),d.wrench=new d("wrench",{fontCharacter:"\\eb65"}),d.wrenchSubaction=new d("wrench-subaction",{fontCharacter:"\\eb65"}),d.symbolSnippet=new d("symbol-snippet",{fontCharacter:"\\eb66"}),d.tasklist=new d("tasklist",{fontCharacter:"\\eb67"}),d.telescope=new d("telescope",{fontCharacter:"\\eb68"}),d.textSize=new d("text-size",{fontCharacter:"\\eb69"}),d.threeBars=new d("three-bars",{fontCharacter:"\\eb6a"}),d.thumbsdown=new d("thumbsdown",{fontCharacter:"\\eb6b"}),d.thumbsup=new d("thumbsup",{fontCharacter:"\\eb6c"}),d.tools=new d("tools",{fontCharacter:"\\eb6d"}),d.triangleDown=new d("triangle-down",{fontCharacter:"\\eb6e"}),d.triangleLeft=new d("triangle-left",{fontCharacter:"\\eb6f"}),d.triangleRight=new d("triangle-right",{fontCharacter:"\\eb70"}),d.triangleUp=new d("triangle-up",{fontCharacter:"\\eb71"}),d.twitter=new d("twitter",{fontCharacter:"\\eb72"}),d.unfold=new d("unfold",{fontCharacter:"\\eb73"}),d.unlock=new d("unlock",{fontCharacter:"\\eb74"}),d.unmute=new d("unmute",{fontCharacter:"\\eb75"}),d.unverified=new d("unverified",{fontCharacter:"\\eb76"}),d.verified=new d("verified",{fontCharacter:"\\eb77"}),d.versions=new d("versions",{fontCharacter:"\\eb78"}),d.vmActive=new d("vm-active",{fontCharacter:"\\eb79"}),d.vmOutline=new d("vm-outline",{fontCharacter:"\\eb7a"}),d.vmRunning=new d("vm-running",{fontCharacter:"\\eb7b"}),d.watch=new d("watch",{fontCharacter:"\\eb7c"}),d.whitespace=new d("whitespace",{fontCharacter:"\\eb7d"}),d.wholeWord=new d("whole-word",{fontCharacter:"\\eb7e"}),d.window=new d("window",{fontCharacter:"\\eb7f"}),d.wordWrap=new d("word-wrap",{fontCharacter:"\\eb80"}),d.zoomIn=new d("zoom-in",{fontCharacter:"\\eb81"}),d.zoomOut=new d("zoom-out",{fontCharacter:"\\eb82"}),d.listFilter=new d("list-filter",{fontCharacter:"\\eb83"}),d.listFlat=new d("list-flat",{fontCharacter:"\\eb84"}),d.listSelection=new d("list-selection",{fontCharacter:"\\eb85"}),d.selection=new d("selection",{fontCharacter:"\\eb85"}),d.listTree=new d("list-tree",{fontCharacter:"\\eb86"}),d.debugBreakpointFunctionUnverified=new d("debug-breakpoint-function-unverified",{fontCharacter:"\\eb87"}),d.debugBreakpointFunction=new d("debug-breakpoint-function",{fontCharacter:"\\eb88"}),d.debugBreakpointFunctionDisabled=new d("debug-breakpoint-function-disabled",{fontCharacter:"\\eb88"}),d.debugStackframeActive=new d("debug-stackframe-active",{fontCharacter:"\\eb89"}),d.debugStackframeDot=new d("debug-stackframe-dot",{fontCharacter:"\\eb8a"}),d.debugStackframe=new d("debug-stackframe",{fontCharacter:"\\eb8b"}),d.debugStackframeFocused=new d("debug-stackframe-focused",{fontCharacter:"\\eb8b"}),d.debugBreakpointUnsupported=new d("debug-breakpoint-unsupported",{fontCharacter:"\\eb8c"}),d.symbolString=new d("symbol-string",{fontCharacter:"\\eb8d"}),d.debugReverseContinue=new d("debug-reverse-continue",{fontCharacter:"\\eb8e"}),d.debugStepBack=new d("debug-step-back",{fontCharacter:"\\eb8f"}),d.debugRestartFrame=new d("debug-restart-frame",{fontCharacter:"\\eb90"}),d.callIncoming=new d("call-incoming",{fontCharacter:"\\eb92"}),d.callOutgoing=new d("call-outgoing",{fontCharacter:"\\eb93"}),d.menu=new d("menu",{fontCharacter:"\\eb94"}),d.expandAll=new d("expand-all",{fontCharacter:"\\eb95"}),d.feedback=new d("feedback",{fontCharacter:"\\eb96"}),d.groupByRefType=new d("group-by-ref-type",{fontCharacter:"\\eb97"}),d.ungroupByRefType=new d("ungroup-by-ref-type",{fontCharacter:"\\eb98"}),d.account=new d("account",{fontCharacter:"\\eb99"}),d.bellDot=new d("bell-dot",{fontCharacter:"\\eb9a"}),d.debugConsole=new d("debug-console",{fontCharacter:"\\eb9b"}),d.library=new d("library",{fontCharacter:"\\eb9c"}),d.output=new d("output",{fontCharacter:"\\eb9d"}),d.runAll=new d("run-all",{fontCharacter:"\\eb9e"}),d.syncIgnored=new d("sync-ignored",{fontCharacter:"\\eb9f"}),d.pinned=new d("pinned",{fontCharacter:"\\eba0"}),d.githubInverted=new d("github-inverted",{fontCharacter:"\\eba1"}),d.debugAlt=new d("debug-alt",{fontCharacter:"\\eb91"}),d.serverProcess=new d("server-process",{fontCharacter:"\\eba2"}),d.serverEnvironment=new d("server-environment",{fontCharacter:"\\eba3"}),d.pass=new d("pass",{fontCharacter:"\\eba4"}),d.stopCircle=new d("stop-circle",{fontCharacter:"\\eba5"}),d.playCircle=new d("play-circle",{fontCharacter:"\\eba6"}),d.record=new d("record",{fontCharacter:"\\eba7"}),d.debugAltSmall=new d("debug-alt-small",{fontCharacter:"\\eba8"}),d.vmConnect=new d("vm-connect",{fontCharacter:"\\eba9"}),d.cloud=new d("cloud",{fontCharacter:"\\ebaa"}),d.merge=new d("merge",{fontCharacter:"\\ebab"}),d.exportIcon=new d("export",{fontCharacter:"\\ebac"}),d.graphLeft=new d("graph-left",{fontCharacter:"\\ebad"}),d.magnet=new d("magnet",{fontCharacter:"\\ebae"}),d.notebook=new d("notebook",{fontCharacter:"\\ebaf"}),d.redo=new d("redo",{fontCharacter:"\\ebb0"}),d.checkAll=new d("check-all",{fontCharacter:"\\ebb1"}),d.pinnedDirty=new d("pinned-dirty",{fontCharacter:"\\ebb2"}),d.passFilled=new d("pass-filled",{fontCharacter:"\\ebb3"}),d.circleLargeFilled=new d("circle-large-filled",{fontCharacter:"\\ebb4"}),d.circleLargeOutline=new d("circle-large-outline",{fontCharacter:"\\ebb5"}),d.combine=new d("combine",{fontCharacter:"\\ebb6"}),d.gather=new d("gather",{fontCharacter:"\\ebb6"}),d.table=new d("table",{fontCharacter:"\\ebb7"}),d.variableGroup=new d("variable-group",{fontCharacter:"\\ebb8"}),d.typeHierarchy=new d("type-hierarchy",{fontCharacter:"\\ebb9"}),d.typeHierarchySub=new d("type-hierarchy-sub",{fontCharacter:"\\ebba"}),d.typeHierarchySuper=new d("type-hierarchy-super",{fontCharacter:"\\ebbb"}),d.gitPullRequestCreate=new d("git-pull-request-create",{fontCharacter:"\\ebbc"}),d.runAbove=new d("run-above",{fontCharacter:"\\ebbd"}),d.runBelow=new d("run-below",{fontCharacter:"\\ebbe"}),d.notebookTemplate=new d("notebook-template",{fontCharacter:"\\ebbf"}),d.debugRerun=new d("debug-rerun",{fontCharacter:"\\ebc0"}),d.dropDownButton=new d("drop-down-button",d.chevronDown.definition)}(S=e.Codicon||(e.Codicon={}))}),define(Q[197],J([0,1,27]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.treeItemLoadingIcon=e.treeFilterClearIcon=e.treeFilterOnTypeOffIcon=e.treeFilterOnTypeOnIcon=e.treeItemExpandedIcon=void 0,e.treeItemExpandedIcon=b.registerCodicon("tree-item-expanded",b.Codicon.chevronDown),e.treeFilterOnTypeOnIcon=b.registerCodicon("tree-filter-on-type-on",b.Codicon.listFilter),e.treeFilterOnTypeOffIcon=b.registerCodicon("tree-filter-on-type-off",b.Codicon.listSelection),e.treeFilterClearIcon=b.registerCodicon("tree-filter-clear",b.Codicon.close),e.treeItemLoadingIcon=b.registerCodicon("tree-item-loading",b.Codicon.loading)}),define(Q[283],J([0,1,15]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compareByPrefix=e.compareAnything=e.compareFileNames=void 0;const N=new b.IdleValue(()=>{const C=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:C,collatorIsNumeric:C.resolvedOptions().numeric}});function M(C,d,g=!1){const p=C||"",c=d||"",o=N.value.collator.compare(p,c);return N.value.collatorIsNumeric&&o===0&&p!==c?pc.length)return 1}return 0}e.compareByPrefix=S}),define(Q[121],J([0,1,6,2]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SmoothScrollingOperation=e.SmoothScrollingUpdate=e.Scrollable=e.ScrollState=void 0;class M{constructor(s,a,u,r,i,n){s=s|0,a=a|0,u=u|0,r=r|0,i=i|0,n=n|0,this.rawScrollLeft=u,this.rawScrollTop=n,s<0&&(s=0),u+s>a&&(u=a-s),u<0&&(u=0),r<0&&(r=0),n+r>i&&(n=i-r),n<0&&(n=0),this.width=s,this.scrollWidth=a,this.scrollLeft=u,this.height=r,this.scrollHeight=i,this.scrollTop=n}equals(s){return this.rawScrollLeft===s.rawScrollLeft&&this.rawScrollTop===s.rawScrollTop&&this.width===s.width&&this.scrollWidth===s.scrollWidth&&this.scrollLeft===s.scrollLeft&&this.height===s.height&&this.scrollHeight===s.scrollHeight&&this.scrollTop===s.scrollTop}withScrollDimensions(s,a){return new M(typeof s.width!="undefined"?s.width:this.width,typeof s.scrollWidth!="undefined"?s.scrollWidth:this.scrollWidth,a?this.rawScrollLeft:this.scrollLeft,typeof s.height!="undefined"?s.height:this.height,typeof s.scrollHeight!="undefined"?s.scrollHeight:this.scrollHeight,a?this.rawScrollTop:this.scrollTop)}withScrollPosition(s){return new M(this.width,this.scrollWidth,typeof s.scrollLeft!="undefined"?s.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof s.scrollTop!="undefined"?s.scrollTop:this.rawScrollTop)}createScrollEvent(s,a){const u=this.width!==s.width,r=this.scrollWidth!==s.scrollWidth,i=this.scrollLeft!==s.scrollLeft,n=this.height!==s.height,t=this.scrollHeight!==s.scrollHeight,l=this.scrollTop!==s.scrollTop;return{inSmoothScrolling:a,oldWidth:s.width,oldScrollWidth:s.scrollWidth,oldScrollLeft:s.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:s.height,oldScrollHeight:s.scrollHeight,oldScrollTop:s.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:u,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:n,scrollHeightChanged:t,scrollTopChanged:l}}}e.ScrollState=M;class w extends N.Disposable{constructor(s,a){super();this._onScroll=this._register(new b.Emitter),this.onScroll=this._onScroll.event,this._smoothScrollDuration=s,this._scheduleAtNextAnimationFrame=a,this._state=new M(0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(s){this._smoothScrollDuration=s}validateScrollPosition(s){return this._state.withScrollPosition(s)}getScrollDimensions(){return this._state}setScrollDimensions(s,a){const u=this._state.withScrollDimensions(s,a);this._setState(u,Boolean(this._smoothScrolling)),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(s){const a=this._state.withScrollPosition(s);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(a,!1)}setScrollPositionSmooth(s,a){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(s);if(this._smoothScrolling){s={scrollLeft:typeof s.scrollLeft=="undefined"?this._smoothScrolling.to.scrollLeft:s.scrollLeft,scrollTop:typeof s.scrollTop=="undefined"?this._smoothScrolling.to.scrollTop:s.scrollTop};const u=this._state.withScrollPosition(s);if(this._smoothScrolling.to.scrollLeft===u.scrollLeft&&this._smoothScrolling.to.scrollTop===u.scrollTop)return;let r;a?r=new g(this._smoothScrolling.from,u,this._smoothScrolling.startTime,this._smoothScrolling.duration):r=this._smoothScrolling.combine(this._state,u,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{const u=this._state.withScrollPosition(s);this._smoothScrolling=g.start(this._state,u,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{!this._smoothScrolling||(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}_performSmoothScrolling(){if(!!this._smoothScrolling){const s=this._smoothScrolling.tick(),a=this._state.withScrollPosition(s);if(this._setState(a,!0),!!this._smoothScrolling){if(s.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{!this._smoothScrolling||(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}}_setState(s,a){const u=this._state;u.equals(s)||(this._state=s,this._onScroll.fire(this._state.createScrollEvent(u,a)))}}e.Scrollable=w;class S{constructor(s,a,u){this.scrollLeft=s,this.scrollTop=a,this.isDone=u}}e.SmoothScrollingUpdate=S;function C(o,s){const a=s-o;return function(u){return o+a*c(u)}}function d(o,s,a){return function(u){return u2.5*u){let i,n;return s=j.length?te:j[ue]})}e.format=M;function w(G){return G.replace(/[<>&]/g,function(j){switch(j){case"<":return"<";case">":return">";case"&":return"&";default:return j}})}e.escape=w;function S(G){return G.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}e.escapeRegExpCharacters=S;function C(G,j=" "){const te=d(G,j);return g(te,j)}e.trim=C;function d(G,j){if(!G||!j)return G;const te=j.length;if(te===0||G.length===0)return G;let Z=0;for(;G.indexOf(j,Z)===Z;)Z=Z+te;return G.substring(Z)}e.ltrim=d;function g(G,j){if(!G||!j)return G;const te=j.length,Z=G.length;if(te===0||Z===0)return G;let ue=Z,he=-1;for(;he=G.lastIndexOf(j,ue-1),!(he===-1||he+te!==ue);){if(he===0)return"";ue=he}return G.substring(0,ue)}e.rtrim=g;function p(G){return G.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}e.convertSimple2RegExpPattern=p;function c(G){return G.replace(/\*/g,"")}e.stripWildcards=c;function o(G,j,te={}){if(!G)throw new Error("Cannot create regex from empty string");j||(G=S(G)),te.wholeWord&&(/\B/.test(G.charAt(0))||(G="\\b"+G),/\B/.test(G.charAt(G.length-1))||(G=G+"\\b"));let Z="";return te.global&&(Z+="g"),te.matchCase||(Z+="i"),te.multiline&&(Z+="m"),te.unicode&&(Z+="u"),new RegExp(G,Z)}e.createRegExp=o;function s(G){return G.source==="^"||G.source==="^$"||G.source==="$"||G.source==="^\\s*$"?!1:!!(G.exec("")&&G.lastIndex===0)}e.regExpLeadsToEndlessLoop=s;function a(G){return(G.global?"g":"")+(G.ignoreCase?"i":"")+(G.multiline?"m":"")+(G.unicode?"u":"")}e.regExpFlags=a;function u(G){return G.split(/\r\n|\r|\n/)}e.splitLines=u;function r(G){for(let j=0,te=G.length;j=0;te--){const Z=G.charCodeAt(te);if(Z!==32&&Z!==9)return te}return-1}e.lastNonWhitespaceIndex=n;function t(G,j){return Gj?1:0}e.compare=t;function l(G,j,te=0,Z=G.length,ue=0,he=j.length){for(;teCe)return 1}const re=Z-te,ce=he-ue;return rece?1:0}e.compareSubstring=l;function h(G,j){return m(G,j,0,G.length,0,j.length)}e.compareIgnoreCase=h;function m(G,j,te=0,Z=G.length,ue=0,he=j.length){for(;tece?1:0}e.compareSubstringIgnoreCase=m;function _(G){return G>=97&&G<=122}e.isLowerAsciiLetter=_;function f(G){return G>=65&&G<=90}e.isUpperAsciiLetter=f;function v(G){return _(G)||f(G)}function y(G,j){return G.length===j.length&&L(G,j)}e.equalsIgnoreCase=y;function L(G,j,te=G.length){for(let Z=0;ZG.length?!1:L(G,j,te)}e.startsWithIgnoreCase=I;function k(G,j){let te,Z=Math.min(G.length,j.length);for(te=0;te1){const Z=G.charCodeAt(j-2);if(T(Z))return A(Z,te)}return te}function D(G,j){const te=oe.getInstance(),Z=j,ue=G.length,he=B(G,ue,j);j+=he>=65536?2:1;let re=te.getGraphemeBreakType(he);for(;j=65536?2:1,re=me}return j-Z}e.nextCharLength=D;function R(G,j){const te=oe.getInstance(),Z=j,ue=F(G,j);j-=ue>=65536?2:1;let he=te.getGraphemeBreakType(ue);for(;j>0;){const re=F(G,j),ce=te.getGraphemeBreakType(re);if(ie(ce,he))break;j-=re>=65536?2:1,he=ce}return Z-j}e.prevCharLength=R;function W(G){const j=G.byteLength,te=[];let Z=0;for(;Z=240&&Z+3>>0|(G[Z++]&63)<<12>>>0|(G[Z++]&63)<<6>>>0|(G[Z++]&63)<<0>>>0:ue>=224&&Z+2>>0|(G[Z++]&63)<<6>>>0|(G[Z++]&63)<<0>>>0:ue>=192&&Z+1>>0|(G[Z++]&63)<<0>>>0:he=G[Z++],he>=0&&he<=55295||he>=57344&&he<=65535)te.push(String.fromCharCode(he));else if(he>=65536&&he<=1114111){const re=he-65536,ce=55296+((re&1047552)>>>10),me=56320+((re&1023)>>>0);te.push(String.fromCharCode(ce)),te.push(String.fromCharCode(me))}else te.push(String.fromCharCode(65533))}return te.join("")}e.decodeUTF8=W;const x=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function K(G){return x.test(G)}e.containsRTL=K;const Y=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDED6])/;function ee(G){return Y.test(G)}e.containsEmoji=ee;const se=/^[\t\n\r\x20-\x7E]*$/;function ne(G){return se.test(G)}e.isBasicASCII=ne,e.UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;function le(G){return e.UNUSUAL_LINE_TERMINATORS.test(G)}e.containsUnusualLineTerminators=le;function X(G){for(let j=0,te=G.length;j=11904&&G<=55215||G>=63744&&G<=64255||G>=65281&&G<=65374}e.isFullWidthCharacter=z;function P(G){return G>=127462&&G<=127487||G===8986||G===8987||G===9200||G===9203||G>=9728&&G<=10175||G===11088||G===11093||G>=127744&&G<=128591||G>=128640&&G<=128764||G>=128992&&G<=129003||G>=129280&&G<=129535||G>=129648&&G<=129750}e.isEmojiImprecise=P,e.UTF8_BOM_CHARACTER=String.fromCharCode(65279);function V(G){return!!(G&&G.length>0&&G.charCodeAt(0)===65279)}e.startsWithUTF8BOM=V;function U(G,j=!1){return G?(j&&(G=G.replace(/\\./g,"")),G.toLowerCase()!==G):!1}e.containsUppercaseCharacter=U;function H(G){const j=90-65+1;return G=G%(2*j),Gte[3*ue+1])ue=2*ue+1;else return te[3*ue+2];return 0}}oe._INSTANCE=null;function ae(){return JSON.parse("[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]")}}),define(Q[101],J([0,1,8]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.writeUInt8=e.readUInt8=e.writeUInt32BE=e.readUInt32BE=e.writeUInt16LE=e.readUInt16LE=e.VSBuffer=void 0;const N=typeof Buffer!="undefined",M=typeof TextDecoder!="undefined";let w;class S{constructor(a){this.buffer=a,this.byteLength=this.buffer.byteLength}static wrap(a){return N&&!Buffer.isBuffer(a)&&(a=Buffer.from(a.buffer,a.byteOffset,a.byteLength)),new S(a)}toString(){return N?this.buffer.toString():M?(w||(w=new TextDecoder),w.decode(this.buffer)):b.decodeUTF8(this.buffer)}}e.VSBuffer=S;function C(s,a){return s[a+0]<<0>>>0|s[a+1]<<8>>>0}e.readUInt16LE=C;function d(s,a,u){s[u+0]=a&255,a=a>>>8,s[u+1]=a&255}e.writeUInt16LE=d;function g(s,a){return s[a]*Math.pow(2,24)+s[a+1]*Math.pow(2,16)+s[a+2]*Math.pow(2,8)+s[a+3]}e.readUInt32BE=g;function p(s,a,u){s[u+3]=a,a=a>>>8,s[u+2]=a,a=a>>>8,s[u+1]=a,a=a>>>8,s[u]=a}e.writeUInt32BE=p;function c(s,a){return s[a]}e.readUInt8=c;function o(s,a,u){s[u]=a}e.writeUInt8=o}),define(Q[152],J([0,1,17,8,72]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hasDriveLetter=e.isRootOrDriveLetter=e.isWindowsDriveLetter=e.isEqualOrParent=e.toSlashes=void 0;function w(p){return p.replace(/[\\/]/g,M.posix.sep)}e.toSlashes=w;function S(p,c,o,s=M.sep){if(p===c)return!0;if(!p||!c||c.length>p.length)return!1;if(o){if(!N.startsWithIgnoreCase(p,c))return!1;if(c.length===p.length)return!0;let u=c.length;return c.charAt(c.length-1)===s&&u--,p.charAt(u)===s}return c.charAt(c.length-1)!==s&&(c+=s),p.indexOf(c)===0}e.isEqualOrParent=S;function C(p){return p>=65&&p<=90||p>=97&&p<=122}e.isWindowsDriveLetter=C;function d(p){const c=M.normalize(p);return b.isWindows?p.length>3?!1:g(c)&&(p.length===2||c.charCodeAt(2)===92):c===M.posix.sep}e.isRootOrDriveLetter=d;function g(p){return b.isWindows?C(p.charCodeAt(0))&&p.charCodeAt(1)===58:!1}e.hasDriveLetter=g}),define(Q[89],J([0,1,8]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringSHA1=e.toHexString=e.stringHash=e.doHash=e.hash=void 0;function N(u){return M(u,0)}e.hash=N;function M(u,r){switch(typeof u){case"object":return u===null?w(349,r):Array.isArray(u)?d(u,r):g(u,r);case"string":return C(u,r);case"boolean":return S(u,r);case"number":return w(u,r);case"undefined":return w(937,r);default:return w(617,r)}}e.doHash=M;function w(u,r){return(r<<5)-r+u|0}function S(u,r){return w(u?433:863,r)}function C(u,r){r=w(149417,r);for(let i=0,n=u.length;iM(n,i),r)}function g(u,r){return r=w(181387,r),Object.keys(u).sort().reduce((i,n)=>(i=C(n,i),M(u[n],i)),r)}function p(u,r,i=32){const n=i-r,t=~((1<>>n)>>>0}function c(u,r=0,i=u.byteLength,n=0){for(let t=0;ti.toString(16).padStart(2,"0")).join(""):o((u>>>0).toString(16),r/4)}e.toHexString=s;class a{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(64+3),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(r){const i=r.length;if(i!==0){const n=this._buff;let t=this._buffLen,l=this._leftoverHighSurrogate,h,m;for(l!==0?(h=l,m=-1,l=0):(h=r.charCodeAt(0),m=0);;){let _=h;if(b.isHighSurrogate(h))if(m+1>>6,r[i++]=128|(n&63)>>>0):n<65536?(r[i++]=224|(n&61440)>>>12,r[i++]=128|(n&4032)>>>6,r[i++]=128|(n&63)>>>0):(r[i++]=240|(n&1835008)>>>18,r[i++]=128|(n&258048)>>>12,r[i++]=128|(n&4032)>>>6,r[i++]=128|(n&63)>>>0),i>=64&&(this._step(),i-=64,this._totalLen+=64,r[0]=r[64+0],r[1]=r[64+1],r[2]=r[64+2]),i}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),s(this._h0)+s(this._h1)+s(this._h2)+s(this._h3)+s(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,c(this._buff,this._buffLen),this._buffLen>56&&(this._step(),c(this._buff));const r=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(r/4294967296),!1),this._buffDV.setUint32(60,r%4294967296,!1),this._step()}_step(){const r=a._bigBlock32,i=this._buffDV;for(let y=0;y<64;y+=4)r.setUint32(y,i.getUint32(y,!1),!1);for(let y=64;y<320;y+=4)r.setUint32(y,p(r.getUint32(y-12,!1)^r.getUint32(y-32,!1)^r.getUint32(y-56,!1)^r.getUint32(y-64,!1),1),!1);let n=this._h0,t=this._h1,l=this._h2,h=this._h3,m=this._h4,_,f,v;for(let y=0;y<80;y++)y<20?(_=t&l|~t&h,f=1518500249):y<40?(_=t^l^h,f=1859775393):y<60?(_=t&l|t&h|l&h,f=2400959708):(_=t^l^h,f=3395469782),v=p(n,5)+_+m+f+r.getUint32(y*4,!1)&4294967295,m=h,h=l,l=p(t,30),t=n,n=v;this._h0=this._h0+n&4294967295,this._h1=this._h1+t&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+h&4294967295,this._h4=this._h4+m&4294967295}}e.StringSHA1=a,a._bigBlock32=new DataView(new ArrayBuffer(320))}),define(Q[153],J([0,1,277,89]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LcsDiff=e.MyArray=e.Debug=e.stringDiff=e.StringDiffSequence=void 0;class M{constructor(c){this.source=c}getElements(){const c=this.source,o=new Int32Array(c.length);for(let s=0,a=c.length;s0||this.m_modifiedCount>0)&&this.m_changes.push(new b.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(c,o){this.m_originalStart=Math.min(this.m_originalStart,c),this.m_modifiedStart=Math.min(this.m_modifiedStart,o),this.m_originalCount++}AddModifiedElement(c,o){this.m_originalStart=Math.min(this.m_originalStart,c),this.m_modifiedStart=Math.min(this.m_modifiedStart,o),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class g{constructor(c,o,s=null){this.ContinueProcessingPredicate=s;const[a,u,r]=g._getElements(c),[i,n,t]=g._getElements(o);this._hasStrings=r&&t,this._originalStringElements=a,this._originalElementsOrHash=u,this._modifiedStringElements=i,this._modifiedElementsOrHash=n,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(c){return c.length>0&&typeof c[0]=="string"}static _getElements(c){const o=c.getElements();if(g._isStringArray(o)){const s=new Int32Array(o.length);for(let a=0,u=o.length;a=c&&a>=s&&this.ElementsAreEqual(o,a);)o--,a--;if(c>o||s>a){let h;return s<=a?(S.Assert(c===o+1,"originalStart should only be one more than originalEnd"),h=[new b.DiffChange(c,0,s,a-s+1)]):c<=o?(S.Assert(s===a+1,"modifiedStart should only be one more than modifiedEnd"),h=[new b.DiffChange(c,o-c+1,s,0)]):(S.Assert(c===o+1,"originalStart should only be one more than originalEnd"),S.Assert(s===a+1,"modifiedStart should only be one more than modifiedEnd"),h=[]),h}const r=[0],i=[0],n=this.ComputeRecursionPoint(c,o,s,a,r,i,u),t=r[0],l=i[0];if(n!==null)return n;if(!u[0]){const h=this.ComputeDiffRecursive(c,t,s,l,u);let m=[];return u[0]?m=[new b.DiffChange(t+1,o-(t+1)+1,l+1,a-(l+1)+1)]:m=this.ComputeDiffRecursive(t+1,o,l+1,a,u),this.ConcatenateChanges(h,m)}return[new b.DiffChange(c,o-c+1,s,a-s+1)]}WALKTRACE(c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y,L,I){let k=null,E=null,T=new d,O=o,A=s,B=_[0]-y[0]-a,F=-1073741824,D=this.m_forwardHistory.length-1;do{const R=B+c;R===O||R=0&&(t=this.m_forwardHistory[D],c=t[0],O=1,A=t.length-1)}while(--D>=-1);if(k=T.getReverseChanges(),I[0]){let R=_[0]+1,W=y[0]+1;if(k!==null&&k.length>0){const x=k[k.length-1];R=Math.max(R,x.getOriginalEnd()),W=Math.max(W,x.getModifiedEnd())}E=[new b.DiffChange(R,m-R+1,W,v-W+1)]}else{T=new d,O=r,A=i,B=_[0]-y[0]-n,F=1073741824,D=L?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const R=B+u;R===O||R=l[R+1]?(h=l[R+1]-1,f=h-B-n,h>F&&T.MarkNextChange(),F=h+1,T.AddOriginalElement(h+1,f+1),B=R+1-u):(h=l[R-1],f=h-B-n,h>F&&T.MarkNextChange(),F=h,T.AddModifiedElement(h+1,f+1),B=R-1-u),D>=0&&(l=this.m_reverseHistory[D],u=l[0],O=1,A=l.length-1)}while(--D>=-1);E=T.getChanges()}return this.ConcatenateChanges(k,E)}ComputeRecursionPoint(c,o,s,a,u,r,i){let n=0,t=0,l=0,h=0,m=0,_=0;c--,s--,u[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=o-c+(a-s),v=f+1,y=new Int32Array(v),L=new Int32Array(v),I=a-s,k=o-c,E=c-s,T=o-a,A=(k-I)%2==0;y[I]=c,L[k]=o,i[0]=!1;for(let B=1;B<=f/2+1;B++){let F=0,D=0;l=this.ClipDiagonalBound(I-B,B,I,v),h=this.ClipDiagonalBound(I+B,B,I,v);for(let W=l;W<=h;W+=2){W===l||WF+D&&(F=n,D=t),!A&&Math.abs(W-k)<=B-1&&n>=L[W])return u[0]=n,r[0]=t,x<=L[W]&&1447>0&&B<=1447+1?this.WALKTRACE(I,l,h,E,k,m,_,T,y,L,n,o,u,t,a,r,A,i):null}const R=(F-c+(D-s)-B)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(F,R))return i[0]=!0,u[0]=F,r[0]=D,R>0&&1447>0&&B<=1447+1?this.WALKTRACE(I,l,h,E,k,m,_,T,y,L,n,o,u,t,a,r,A,i):(c++,s++,[new b.DiffChange(c,o-c+1,s,a-s+1)]);m=this.ClipDiagonalBound(k-B,B,k,v),_=this.ClipDiagonalBound(k+B,B,k,v);for(let W=m;W<=_;W+=2){W===m||W<_&&L[W-1]>=L[W+1]?n=L[W+1]-1:n=L[W-1],t=n-(W-k)-T;const x=n;for(;n>c&&t>s&&this.ElementsAreEqual(n,t);)n--,t--;if(L[W]=n,A&&Math.abs(W-I)<=B&&n<=y[W])return u[0]=n,r[0]=t,x>=y[W]&&1447>0&&B<=1447+1?this.WALKTRACE(I,l,h,E,k,m,_,T,y,L,n,o,u,t,a,r,A,i):null}if(B<=1447){let W=new Int32Array(h-l+2);W[0]=I-l+1,C.Copy2(y,l,W,1,h-l+1),this.m_forwardHistory.push(W),W=new Int32Array(_-m+2),W[0]=k-m+1,C.Copy2(L,m,W,1,_-m+1),this.m_reverseHistory.push(W)}}return this.WALKTRACE(I,l,h,E,k,m,_,T,y,L,n,o,u,t,a,r,A,i)}PrettifyChanges(c){for(let o=0;o0,i=s.modifiedLength>0;for(;s.originalStart+s.originalLength=0;o--){const s=c[o];let a=0,u=0;if(o>0){const l=c[o-1];l.originalLength>0&&(a=l.originalStart+l.originalLength),l.modifiedLength>0&&(u=l.modifiedStart+l.modifiedLength)}const r=s.originalLength>0,i=s.modifiedLength>0;let n=0,t=this._boundaryScore(s.originalStart,s.originalLength,s.modifiedStart,s.modifiedLength);for(let l=1;;l++){const h=s.originalStart-l,m=s.modifiedStart-l;if(ht&&(t=_,n=l)}s.originalStart-=n,s.modifiedStart-=n}if(this._hasStrings)for(let o=1,s=c.length;o0&&_>n&&(n=_,t=h,l=m)}return n>0?[t,l]:null}_contiguousSequenceScore(c,o,s){let a=0;for(let u=0;u=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[c])}_OriginalRegionIsBoundary(c,o){if(this._OriginalIsBoundary(c)||this._OriginalIsBoundary(c-1))return!0;if(o>0){const s=c+o;if(this._OriginalIsBoundary(s-1)||this._OriginalIsBoundary(s))return!0}return!1}_ModifiedIsBoundary(c){return c<=0||c>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[c])}_ModifiedRegionIsBoundary(c,o){if(this._ModifiedIsBoundary(c)||this._ModifiedIsBoundary(c-1))return!0;if(o>0){const s=c+o;if(this._ModifiedIsBoundary(s-1)||this._ModifiedIsBoundary(s))return!0}return!1}_boundaryScore(c,o,s,a){const u=this._OriginalRegionIsBoundary(c,o)?1:0,r=this._ModifiedRegionIsBoundary(s,a)?1:0;return u+r}ConcatenateChanges(c,o){let s=[];if(c.length===0||o.length===0)return o.length>0?o:c;if(this.ChangesOverlap(c[c.length-1],o[0],s)){const a=new Array(c.length+o.length-1);return C.Copy(c,0,a,0,c.length-1),a[c.length-1]=s[0],C.Copy(o,1,a,c.length,o.length-1),a}else{const a=new Array(c.length+o.length);return C.Copy(c,0,a,0,c.length),C.Copy(o,0,a,c.length,o.length),a}}ChangesOverlap(c,o,s){if(S.Assert(c.originalStart<=o.originalStart,"Left change is not less than or equal to right change"),S.Assert(c.modifiedStart<=o.modifiedStart,"Left change is not less than or equal to right change"),c.originalStart+c.originalLength>=o.originalStart||c.modifiedStart+c.modifiedLength>=o.modifiedStart){const a=c.originalStart;let u=c.originalLength;const r=c.modifiedStart;let i=c.modifiedLength;return c.originalStart+c.originalLength>=o.originalStart&&(u=o.originalStart+o.originalLength-c.originalStart),c.modifiedStart+c.modifiedLength>=o.modifiedStart&&(i=o.modifiedStart+o.modifiedLength-c.modifiedStart),s[0]=new b.DiffChange(a,u,r,i),!0}else return s[0]=null,!1}ClipDiagonalBound(c,o,s,a){if(c>=0&&ct.children.map(L=>o.getId(L.element).toString())},{getElements:()=>[...t.children.slice(0,h),...l,...t.children.slice(h+a)].map(L=>o.getId(L.element).toString())}).ComputeDiff(!1);if(m.quitEarly)return this.spliceSimple(s,a,l,r);const _=s.slice(0,-1),f=(L,I,k)=>{if(i>0)for(let E=0;Ek.originalStart-I.originalStart))f(v,y,v-(L.originalStart+L.originalLength)),v=L.originalStart,y=L.modifiedStart-h,this.spliceSimple([..._,v],L.originalLength,S.Iterable.slice(l,y,y+L.modifiedLength),r);f(v,y,v)}spliceSimple(o,s,a=S.Iterable.empty(),{onDidCreateNode:u,onDidDeleteNode:r}){const{parentNode:i,listIndex:n,revealed:t,visible:l}=this.getParentNodeWithListIndex(o),h=[],m=S.Iterable.map(a,A=>this.createTreeNode(A,i,i.visible?1:0,t,h,u)),_=o[o.length-1],f=i.children.length>0;let v=0;for(let A=_;A>=0&&AB+(F.visible?F.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(i,I-A),this.list.splice(n,A,h)}if(k.length>0&&r){const A=B=>{r(B),B.children.forEach(A)};k.forEach(A)}const T=i.children.length>0;f!==T&&this.setCollapsible(o.slice(0,-1),T),this._onDidSplice.fire({insertedNodes:y,deletedNodes:k});let O=i;for(;O;){if(O.visibility===2){this.refilter();break}O=O.parent}}rerender(o){if(o.length===0)throw new b.TreeError(this.user,"Invalid tree location");const{node:s,listIndex:a,revealed:u}=this.getTreeNodeWithListIndex(o);s.visible&&u&&this.list.splice(a,1,[s])}has(o){return this.hasTreeNode(o)}getListIndex(o){const{listIndex:s,visible:a,revealed:u}=this.getTreeNodeWithListIndex(o);return a&&u?s:-1}getListRenderCount(o){return this.getTreeNode(o).renderNodeCount}isCollapsible(o){return this.getTreeNode(o).collapsible}setCollapsible(o,s){const a=this.getTreeNode(o);typeof s=="undefined"&&(s=!a.collapsible);const u={collapsible:s};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(o,u))}isCollapsed(o){return this.getTreeNode(o).collapsed}setCollapsed(o,s,a){const u=this.getTreeNode(o);typeof s=="undefined"&&(s=!u.collapsed);const r={collapsed:s,recursive:a||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(o,r))}_setCollapseState(o,s){const{node:a,listIndex:u,revealed:r}=this.getTreeNodeWithListIndex(o),i=this._setListNodeCollapseState(a,u,r,s);if(a!==this.root&&this.autoExpandSingleChildren&&i&&!g(s)&&a.collapsible&&!a.collapsed&&!s.recursive){let n=-1;for(let t=0;t-1){n=-1;break}else n=t;n>-1&&this._setCollapseState([...o,n],s)}return i}_setListNodeCollapseState(o,s,a,u){const r=this._setNodeCollapseState(o,u,!1);if(!a||!o.visible||!r)return r;const i=o.renderNodeCount,n=this.updateNodeAfterCollapseChange(o),t=i-(s===-1?0:1);return this.list.splice(s+1,t,n.slice(1)),r}_setNodeCollapseState(o,s,a){let u;if(o===this.root?u=!1:(g(s)?(u=o.collapsible!==s.collapsible,o.collapsible=s.collapsible):o.collapsible?(u=o.collapsed!==s.collapsed,o.collapsed=s.collapsed):u=!1,u&&this._onDidChangeCollapseState.fire({node:o,deep:a})),!g(s)&&s.recursive)for(const r of o.children)u=this._setNodeCollapseState(r,s,!0)||u;return u}expandTo(o){this.eventBufferer.bufferEvents(()=>{let s=this.getTreeNode(o);for(;s.parent;)s=s.parent,o=o.slice(0,o.length-1),s.collapsed&&this._setCollapseState(o,{collapsed:!1,recursive:!1})})}refilter(){const o=this.root.renderNodeCount,s=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,o,s)}createTreeNode(o,s,a,u,r,i){const n={parent:s,element:o.element,children:[],depth:s.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof o.collapsible=="boolean"?o.collapsible:typeof o.collapsed!="undefined",collapsed:typeof o.collapsed=="undefined"?this.collapseByDefault:o.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},t=this._filterNode(n,a);n.visibility=t,u&&r.push(n);const l=o.children||S.Iterable.empty(),h=u&&t!==0&&!n.collapsed,m=S.Iterable.map(l,v=>this.createTreeNode(v,n,t,h,r,i));let _=0,f=1;for(const v of m)n.children.push(v),f+=v.renderNodeCount,v.visible&&(v.visibleChildIndex=_++);return n.collapsible=n.collapsible||n.children.length>0,n.visibleChildrenCount=_,n.visible=t===2?_>0:t===1,n.visible?n.collapsed||(n.renderNodeCount=f):(n.renderNodeCount=0,u&&r.pop()),i&&i(n),n}updateNodeAfterCollapseChange(o){const s=o.renderNodeCount,a=[];return this._updateNodeAfterCollapseChange(o,a),this._updateAncestorsRenderNodeCount(o.parent,a.length-s),a}_updateNodeAfterCollapseChange(o,s){if(o.visible===!1)return 0;if(s.push(o),o.renderNodeCount=1,!o.collapsed)for(const a of o.children)o.renderNodeCount+=this._updateNodeAfterCollapseChange(a,s);return this._onDidChangeRenderNodeCount.fire(o),o.renderNodeCount}updateNodeAfterFilterChange(o){const s=o.renderNodeCount,a=[];return this._updateNodeAfterFilterChange(o,o.visible?1:0,a),this._updateAncestorsRenderNodeCount(o.parent,a.length-s),a}_updateNodeAfterFilterChange(o,s,a,u=!0){let r;if(o!==this.root){if(r=this._filterNode(o,s),r===0)return o.visible=!1,o.renderNodeCount=0,!1;u&&a.push(o)}const i=a.length;o.renderNodeCount=o===this.root?0:1;let n=!1;if(!o.collapsed||r!==0){let t=0;for(const l of o.children)n=this._updateNodeAfterFilterChange(l,r,a,u&&!o.collapsed)||n,l.visible&&(l.visibleChildIndex=t++);o.visibleChildrenCount=t}else o.visibleChildrenCount=0;return o!==this.root&&(o.visible=r===2?n:r===1),o.visible?o.collapsed||(o.renderNodeCount+=a.length-i):(o.renderNodeCount=0,u&&a.pop()),this._onDidChangeRenderNodeCount.fire(o),o.visible}_updateAncestorsRenderNodeCount(o,s){if(s!==0)for(;o;)o.renderNodeCount+=s,this._onDidChangeRenderNodeCount.fire(o),o=o.parent}_filterNode(o,s){const a=this.filter?this.filter.filter(o.element,s):1;return typeof a=="boolean"?(o.filterData=void 0,a?1:0):C(a)?(o.filterData=a.data,d(a.visibility)):(o.filterData=void 0,d(a))}hasTreeNode(o,s=this.root){if(!o||o.length===0)return!0;const[a,...u]=o;return a<0||a>s.children.length?!1:this.hasTreeNode(u,s.children[a])}getTreeNode(o,s=this.root){if(!o||o.length===0)return s;const[a,...u]=o;if(a<0||a>s.children.length)throw new b.TreeError(this.user,"Invalid tree location");return this.getTreeNode(u,s.children[a])}getTreeNodeWithListIndex(o){if(o.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:s,listIndex:a,revealed:u,visible:r}=this.getParentNodeWithListIndex(o),i=o[o.length-1];if(i<0||i>s.children.length)throw new b.TreeError(this.user,"Invalid tree location");const n=s.children[i];return{node:n,listIndex:a,revealed:u,visible:r&&n.visible}}getParentNodeWithListIndex(o,s=this.root,a=0,u=!0,r=!0){const[i,...n]=o;if(i<0||i>s.children.length)throw new b.TreeError(this.user,"Invalid tree location");for(let t=0;t{var r;if(u.element!==null){const i=u;if(c.add(i.element),this.nodes.set(i.element,i),this.identityProvider){const n=this.identityProvider.getId(i.element).toString();o.add(n),this.nodesByIdentity.set(n,i)}(r=p.onDidCreateNode)===null||r===void 0||r.call(p,i)}},a=u=>{var r;if(u.element!==null){const i=u;if(c.has(i.element)||this.nodes.delete(i.element),this.identityProvider){const n=this.identityProvider.getId(i.element).toString();o.has(n)||this.nodesByIdentity.delete(n)}(r=p.onDidDeleteNode)===null||r===void 0||r.call(p,i)}};this.model.splice([...d,0],Number.MAX_VALUE,g,Object.assign(Object.assign({},p),{onDidCreateNode:s,onDidDeleteNode:a}))}preserveCollapseState(d=b.Iterable.empty()){return this.sorter&&(d=w.mergeSort([...d],this.sorter.compare.bind(this.sorter))),b.Iterable.map(d,g=>{let p=this.nodes.get(g.element);if(!p&&this.identityProvider){const s=this.identityProvider.getId(g.element).toString();p=this.nodesByIdentity.get(s)}if(!p)return Object.assign(Object.assign({},g),{children:this.preserveCollapseState(g.children)});const c=typeof g.collapsible=="boolean"?g.collapsible:p.collapsible,o=typeof g.collapsed!="undefined"?g.collapsed:p.collapsed;return Object.assign(Object.assign({},g),{collapsible:c,collapsed:o,children:this.preserveCollapseState(g.children)})})}rerender(d){const g=this.getElementLocation(d);this.model.rerender(g)}has(d){return this.nodes.has(d)}getListIndex(d){const g=this.getElementLocation(d);return this.model.getListIndex(g)}getListRenderCount(d){const g=this.getElementLocation(d);return this.model.getListRenderCount(g)}isCollapsible(d){const g=this.getElementLocation(d);return this.model.isCollapsible(g)}setCollapsible(d,g){const p=this.getElementLocation(d);return this.model.setCollapsible(p,g)}isCollapsed(d){const g=this.getElementLocation(d);return this.model.isCollapsed(g)}setCollapsed(d,g,p){const c=this.getElementLocation(d);return this.model.setCollapsed(c,g,p)}expandTo(d){const g=this.getElementLocation(d);this.model.expandTo(g)}refilter(){this.model.refilter()}getNode(d=null){if(d===null)return this.model.getNode(this.model.rootRef);const g=this.nodes.get(d);if(!g)throw new M.TreeError(this.user,`Tree element not found: ${d}`);return g}getNodeLocation(d){return d.element}getParentNodeLocation(d){if(d===null)throw new M.TreeError(this.user,"Invalid getParentNodeLocation call");const g=this.nodes.get(d);if(!g)throw new M.TreeError(this.user,`Tree element not found: ${d}`);const p=this.model.getNodeLocation(g),c=this.model.getParentNodeLocation(p);return this.model.getNode(c).element}getElementLocation(d){if(d===null)return[];const g=this.nodes.get(d);if(!g)throw new M.TreeError(this.user,`Tree element not found: ${d}`);return this.model.getNodeLocation(g)}}e.ObjectTreeModel=S}),define(Q[284],J([0,1,54,6,98,155]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleObjectTreeModel=e.DefaultElementMapper=e.CompressedObjectTreeModel=e.decompress=e.compress=void 0;function S(n){const t=[n.element],l=n.incompressible||!1;return{element:{elements:t,incompressible:l},children:b.Iterable.map(b.Iterable.from(n.children),S),collapsible:n.collapsible,collapsed:n.collapsed}}function C(n){const t=[n.element],l=n.incompressible||!1;let h,m;for(;[m,h]=b.Iterable.consume(b.Iterable.from(n.children),2),!(m.length!==1||m[0].incompressible);)n=m[0],t.push(n.element);return{element:{elements:t,incompressible:l},children:b.Iterable.map(b.Iterable.concat(m,h),C),collapsible:n.collapsible,collapsed:n.collapsed}}e.compress=C;function d(n,t=0){let l;return td(h,0)),t===0&&n.element.incompressible?{element:n.element.elements[t],children:l,incompressible:!0,collapsible:n.collapsible,collapsed:n.collapsed}:{element:n.element.elements[t],children:l,collapsible:n.collapsible,collapsed:n.collapsed}}function g(n){return d(n,0)}e.decompress=g;function p(n,t,l){return n.element===t?Object.assign(Object.assign({},n),{children:l}):Object.assign(Object.assign({},n),{children:b.Iterable.map(b.Iterable.from(n.children),h=>p(h,t,l))})}const c=n=>({getId(t){return t.elements.map(l=>n.getId(l).toString()).join("\0")}});class o{constructor(t,l,h={}){this.user=t,this.rootRef=null,this.nodes=new Map,this.model=new w.ObjectTreeModel(t,l,h),this.enabled=typeof h.compressionEnabled=="undefined"?!0:h.compressionEnabled,this.identityProvider=h.identityProvider}get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}setChildren(t,l=b.Iterable.empty(),h){const m=h.diffIdentityProvider&&c(h.diffIdentityProvider);if(t===null){const T=b.Iterable.map(l,this.enabled?C:S);this._setChildren(null,T,{diffIdentityProvider:m,diffDepth:Infinity});return}const _=this.nodes.get(t);if(!_)throw new Error("Unknown compressed tree node");const f=this.model.getNode(_),v=this.model.getParentNodeLocation(_),y=this.model.getNode(v),L=g(f),I=p(L,t,l),k=(this.enabled?C:S)(I),E=y.children.map(T=>T===f?k:T);this._setChildren(y.element,E,{diffIdentityProvider:m,diffDepth:f.depth-y.depth})}setCompressionEnabled(t){if(t!==this.enabled){this.enabled=t;const h=this.model.getNode().children,m=b.Iterable.map(h,g),_=b.Iterable.map(m,t?C:S);this._setChildren(null,_,{diffIdentityProvider:this.identityProvider,diffDepth:Infinity})}}_setChildren(t,l,h){const m=new Set,_=v=>{for(const y of v.element.elements)m.add(y),this.nodes.set(y,v.element)},f=v=>{for(const y of v.element.elements)m.has(y)||this.nodes.delete(y)};this.model.setChildren(t,l,Object.assign(Object.assign({},h),{onDidCreateNode:_,onDidDeleteNode:f}))}has(t){return this.nodes.has(t)}getListIndex(t){const l=this.getCompressedNode(t);return this.model.getListIndex(l)}getListRenderCount(t){const l=this.getCompressedNode(t);return this.model.getListRenderCount(l)}getNode(t){if(typeof t=="undefined")return this.model.getNode();const l=this.getCompressedNode(t);return this.model.getNode(l)}getNodeLocation(t){const l=this.model.getNodeLocation(t);return l===null?null:l.elements[l.elements.length-1]}getParentNodeLocation(t){const l=this.getCompressedNode(t),h=this.model.getParentNodeLocation(l);return h===null?null:h.elements[h.elements.length-1]}isCollapsible(t){const l=this.getCompressedNode(t);return this.model.isCollapsible(l)}setCollapsible(t,l){const h=this.getCompressedNode(t);return this.model.setCollapsible(h,l)}isCollapsed(t){const l=this.getCompressedNode(t);return this.model.isCollapsed(l)}setCollapsed(t,l,h){const m=this.getCompressedNode(t);return this.model.setCollapsed(m,l,h)}expandTo(t){const l=this.getCompressedNode(t);this.model.expandTo(l)}rerender(t){const l=this.getCompressedNode(t);this.model.rerender(l)}refilter(){this.model.refilter()}getCompressedNode(t){if(t===null)return null;const l=this.nodes.get(t);if(!l)throw new M.TreeError(this.user,`Tree element not found: ${t}`);return l}}e.CompressedObjectTreeModel=o;const s=n=>n[n.length-1];e.DefaultElementMapper=s;class a{constructor(t,l){this.unwrapper=t,this.node=l}get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(t=>new a(this.unwrapper,t))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}function u(n,t){return{splice(l,h,m){t.splice(l,h,m.map(_=>n.map(_)))},updateElementHeight(l,h){t.updateElementHeight(l,h)}}}function r(n,t){return Object.assign(Object.assign({},t),{identityProvider:t.identityProvider&&{getId(l){return t.identityProvider.getId(n(l))}},sorter:t.sorter&&{compare(l,h){return t.sorter.compare(l.elements[0],h.elements[0])}},filter:t.filter&&{filter(l,h){return t.filter.filter(n(l),h)}}})}class i{constructor(t,l,h={}){this.rootRef=null,this.elementMapper=h.elementMapper||e.DefaultElementMapper;const m=_=>this.elementMapper(_.elements);this.nodeMapper=new M.WeakMapper(_=>new a(m,_)),this.model=new o(t,u(this.nodeMapper,l),r(m,h))}get onDidSplice(){return N.Event.map(this.model.onDidSplice,({insertedNodes:t,deletedNodes:l})=>({insertedNodes:t.map(h=>this.nodeMapper.map(h)),deletedNodes:l.map(h=>this.nodeMapper.map(h))}))}get onDidChangeCollapseState(){return N.Event.map(this.model.onDidChangeCollapseState,({node:t,deep:l})=>({node:this.nodeMapper.map(t),deep:l}))}get onDidChangeRenderNodeCount(){return N.Event.map(this.model.onDidChangeRenderNodeCount,t=>this.nodeMapper.map(t))}setChildren(t,l=b.Iterable.empty(),h={}){this.model.setChildren(t,l,h)}setCompressionEnabled(t){this.model.setCompressionEnabled(t)}has(t){return this.model.has(t)}getListIndex(t){return this.model.getListIndex(t)}getListRenderCount(t){return this.model.getListRenderCount(t)}getNode(t){return this.nodeMapper.map(this.model.getNode(t))}getNodeLocation(t){return t.element}getParentNodeLocation(t){return this.model.getParentNodeLocation(t)}isCollapsible(t){return this.model.isCollapsible(t)}setCollapsible(t,l){return this.model.setCollapsible(t,l)}isCollapsed(t){return this.model.isCollapsed(t)}setCollapsed(t,l,h){return this.model.setCollapsed(t,l,h)}expandTo(t){return this.model.expandTo(t)}rerender(t){return this.model.rerender(t)}refilter(){return this.model.refilter()}getCompressedTreeNode(t=null){return this.model.getNode(t)}}e.CompressibleObjectTreeModel=i}),define(Q[285],J([0,1,8]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.buildReplaceStringWithCasePreserved=void 0;function N(S,C){if(S&&S[0]!==""){const d=M(S,C,"-"),g=M(S,C,"_");return d&&!g?w(S,C,"-"):!d&&g?w(S,C,"_"):S[0].toUpperCase()===S[0]?C.toUpperCase():S[0].toLowerCase()===S[0]?C.toLowerCase():b.containsUppercaseCharacter(S[0][0])&&C.length>0?C[0].toUpperCase()+C.substr(1):C}else return C}e.buildReplaceStringWithCasePreserved=N;function M(S,C,d){return S[0].indexOf(d)!==-1&&C.indexOf(d)!==-1&&S[0].split(d).length===C.split(d).length}function w(S,C,d){const g=C.split(d),p=S[0].split(d);let c="";return g.forEach((o,s)=>{c+=N([p[s]],o)+d}),c.slice(0,-1)}}),define(Q[82],J([0,1,8]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var N;(function(M){M[M.Ignore=0]="Ignore",M[M.Info=1]="Info",M[M.Warning=2]="Warning",M[M.Error=3]="Error"})(N||(N={})),function(M){const w="error",S="warning",C="warn",d="info";function g(p){return p?b.equalsIgnoreCase(w,p)?M.Error:b.equalsIgnoreCase(S,p)||b.equalsIgnoreCase(C,p)?M.Warning:b.equalsIgnoreCase(d,p)?M.Info:M.Ignore:M.Ignore}M.fromValue=g}(N||(N={})),e.default=N}),define(Q[20],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.withNullAsUndefined=e.createProxyObject=e.getAllMethodNames=e.getAllPropertyNames=e.validateConstraint=e.validateConstraints=e.isFunction=e.assertIsDefined=e.assertType=e.isUndefinedOrNull=e.isUndefined=e.isBoolean=e.isNumber=e.isObject=e.isString=e.isArray=void 0;function b(n){return Array.isArray(n)}e.isArray=b;function N(n){return typeof n=="string"}e.isString=N;function M(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}e.isObject=M;function w(n){return typeof n=="number"&&!isNaN(n)}e.isNumber=w;function S(n){return n===!0||n===!1}e.isBoolean=S;function C(n){return typeof n=="undefined"}e.isUndefined=C;function d(n){return C(n)||n===null}e.isUndefinedOrNull=d;function g(n,t){if(!n)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}e.assertType=g;function p(n){if(d(n))throw new Error("Assertion Failed: argument is undefined or null");return n}e.assertIsDefined=p;function c(n){return typeof n=="function"}e.isFunction=c;function o(n,t){const l=Math.min(n.length,t.length);for(let h=0;hfunction(){const _=Array.prototype.slice.call(arguments,0);return t(m,_)};let h={};for(const m of n)h[m]=l(m);return h}e.createProxyObject=r;function i(n){return n===null?void 0:n}e.withNullAsUndefined=i}),define(Q[40],J([0,1,20]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getOrDefault=e.equals=e.mixin=e.cloneAndChange=e.deepFreeze=e.deepClone=void 0;function N(c){if(!c||typeof c!="object"||c instanceof RegExp)return c;const o=Array.isArray(c)?[]:{};return Object.keys(c).forEach(s=>{c[s]&&typeof c[s]=="object"?o[s]=N(c[s]):o[s]=c[s]}),o}e.deepClone=N;function M(c){if(!c||typeof c!="object")return c;const o=[c];for(;o.length>0;){const s=o.shift();Object.freeze(s);for(const a in s)if(w.call(s,a)){const u=s[a];typeof u=="object"&&!Object.isFrozen(u)&&o.push(u)}}return c}e.deepFreeze=M;const w=Object.prototype.hasOwnProperty;function S(c,o){return C(c,o,new Set)}e.cloneAndChange=S;function C(c,o,s){if(b.isUndefinedOrNull(c))return c;const a=o(c);if(typeof a!="undefined")return a;if(b.isArray(c)){const u=[];for(const r of c)u.push(C(r,o,s));return u}if(b.isObject(c)){if(s.has(c))throw new Error("Cannot clone recursive data-structure");s.add(c);const u={};for(let r in c)w.call(c,r)&&(u[r]=C(c[r],o,s));return s.delete(c),u}return c}function d(c,o,s=!0){return b.isObject(c)?(b.isObject(o)&&Object.keys(o).forEach(a=>{a in c?s&&(b.isObject(c[a])&&b.isObject(o[a])?d(c[a],o[a],s):c[a]=o[a]):c[a]=o[a]}),c):o}e.mixin=d;function g(c,o){if(c===o)return!0;if(c==null||o===null||o===void 0||typeof c!=typeof o||typeof c!="object"||Array.isArray(c)!==Array.isArray(o))return!1;let s,a;if(Array.isArray(c)){if(c.length!==o.length)return!1;for(s=0;s255?255:M|0}e.toUint8=b;function N(M){return M<0?0:M>4294967295?4294967295:M|0}e.toUint32=N}),define(Q[24],J([0,1,17,72]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.uriToFsPath=e.URI=void 0;const M=/^\w[\w\d+.-]*$/,w=/^\//,S=/^\/\//;function C(f,v){if(!f.scheme&&v)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${f.authority}", path: "${f.path}", query: "${f.query}", fragment: "${f.fragment}"}`);if(f.scheme&&!M.test(f.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(f.path){if(f.authority){if(!w.test(f.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(S.test(f.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function d(f,v){return!f&&!v?"file":f}function g(f,v){switch(f){case"https":case"http":case"file":v?v[0]!==c&&(v=c+v):v=c;break}return v}const p="",c="/",o=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class s{constructor(v,y,L,I,k,E=!1){typeof v=="object"?(this.scheme=v.scheme||p,this.authority=v.authority||p,this.path=v.path||p,this.query=v.query||p,this.fragment=v.fragment||p):(this.scheme=d(v,E),this.authority=y||p,this.path=g(this.scheme,L||p),this.query=I||p,this.fragment=k||p,C(this,E))}static isUri(v){return v instanceof s?!0:v?typeof v.authority=="string"&&typeof v.fragment=="string"&&typeof v.path=="string"&&typeof v.query=="string"&&typeof v.scheme=="string"&&typeof v.fsPath=="string"&&typeof v.with=="function"&&typeof v.toString=="function":!1}get fsPath(){return t(this,!1)}with(v){if(!v)return this;let{scheme:y,authority:L,path:I,query:k,fragment:E}=v;return y===void 0?y=this.scheme:y===null&&(y=p),L===void 0?L=this.authority:L===null&&(L=p),I===void 0?I=this.path:I===null&&(I=p),k===void 0?k=this.query:k===null&&(k=p),E===void 0?E=this.fragment:E===null&&(E=p),y===this.scheme&&L===this.authority&&I===this.path&&k===this.query&&E===this.fragment?this:new u(y,L,I,k,E)}static parse(v,y=!1){const L=o.exec(v);return L?new u(L[2]||p,_(L[4]||p),_(L[5]||p),_(L[7]||p),_(L[9]||p),y):new u(p,p,p,p,p)}static file(v){let y=p;if(b.isWindows&&(v=v.replace(/\\/g,c)),v[0]===c&&v[1]===c){const L=v.indexOf(c,2);L===-1?(y=v.substring(2),v=c):(y=v.substring(2,L),v=v.substring(L)||c)}return new u("file",y,v,p,p)}static from(v){return new u(v.scheme,v.authority,v.path,v.query,v.fragment)}static joinPath(v,...y){if(!v.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let L;return b.isWindows&&v.scheme==="file"?L=s.file(N.win32.join(t(v,!0),...y)).path:L=N.posix.join(v.path,...y),v.with({path:L})}toString(v=!1){return l(this,v)}toJSON(){return this}static revive(v){if(v){if(v instanceof s)return v;{const y=new u(v);return y._formatted=v.external,y._fsPath=v._sep===a?v.fsPath:null,y}}else return v}}e.URI=s;const a=b.isWindows?1:void 0;class u extends s{constructor(){super(...arguments);this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=t(this,!1)),this._fsPath}toString(v=!1){return v?l(this,!0):(this._formatted||(this._formatted=l(this,!1)),this._formatted)}toJSON(){const v={$mid:1};return this._fsPath&&(v.fsPath=this._fsPath,v._sep=a),this._formatted&&(v.external=this._formatted),this.path&&(v.path=this.path),this.scheme&&(v.scheme=this.scheme),this.authority&&(v.authority=this.authority),this.query&&(v.query=this.query),this.fragment&&(v.fragment=this.fragment),v}}const r={[58]:"%3A",[47]:"%2F",[63]:"%3F",[35]:"%23",[91]:"%5B",[93]:"%5D",[64]:"%40",[33]:"%21",[36]:"%24",[38]:"%26",[39]:"%27",[40]:"%28",[41]:"%29",[42]:"%2A",[43]:"%2B",[44]:"%2C",[59]:"%3B",[61]:"%3D",[32]:"%20"};function i(f,v){let y,L=-1;for(let I=0;I=97&&k<=122||k>=65&&k<=90||k>=48&&k<=57||k===45||k===46||k===95||k===126||v&&k===47)L!==-1&&(y+=encodeURIComponent(f.substring(L,I)),L=-1),y!==void 0&&(y+=f.charAt(I));else{y===void 0&&(y=f.substr(0,I));const E=r[k];E!==void 0?(L!==-1&&(y+=encodeURIComponent(f.substring(L,I)),L=-1),y+=E):L===-1&&(L=I)}}return L!==-1&&(y+=encodeURIComponent(f.substring(L))),y!==void 0?y:f}function n(f){let v;for(let y=0;y1&&f.scheme==="file"?y=`//${f.authority}${f.path}`:f.path.charCodeAt(0)===47&&(f.path.charCodeAt(1)>=65&&f.path.charCodeAt(1)<=90||f.path.charCodeAt(1)>=97&&f.path.charCodeAt(1)<=122)&&f.path.charCodeAt(2)===58?v?y=f.path.substr(1):y=f.path[1].toLowerCase()+f.path.substr(2):y=f.path,b.isWindows&&(y=y.replace(/\//g,"\\")),y}e.uriToFsPath=t;function l(f,v){const y=v?n:i;let L="",{scheme:I,authority:k,path:E,query:T,fragment:O}=f;if(I&&(L+=I,L+=":"),(k||I==="file")&&(L+=c,L+=c),k){let A=k.indexOf("@");if(A!==-1){const B=k.substr(0,A);k=k.substr(A+1),A=B.indexOf(":"),A===-1?L+=y(B,!1):(L+=y(B.substr(0,A),!1),L+=":",L+=y(B.substr(A+1),!1)),L+="@"}k=k.toLowerCase(),A=k.indexOf(":"),A===-1?L+=y(k,!1):(L+=y(k.substr(0,A),!1),L+=k.substr(A))}if(E){if(E.length>=3&&E.charCodeAt(0)===47&&E.charCodeAt(2)===58){const A=E.charCodeAt(1);A>=65&&A<=90&&(E=`/${String.fromCharCode(A+32)}:${E.substr(3)}`)}else if(E.length>=2&&E.charCodeAt(1)===58){const A=E.charCodeAt(0);A>=65&&A<=90&&(E=`${String.fromCharCode(A+32)}:${E.substr(2)}`)}L+=y(E,!0)}return T&&(L+="?",L+=y(T,!1)),O&&(L+="#",L+=v?O:i(O,!1)),L}function h(f){try{return decodeURIComponent(f)}catch(v){return f.length>3?f.substr(0,3)+h(f.substr(3)):f}}const m=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function _(f){return f.match(m)?f.replace(m,v=>h(v)):f}}),define(Q[51],J([0,1,24,8]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.ResourceMap=e.TernarySearchTree=e.UriIterator=e.PathIterator=e.ConfigKeysIterator=e.StringIterator=void 0;class M{constructor(){this._value="",this._pos=0}reset(a){return this._value=a,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos!1){return new g(new C(a))}static forStrings(){return new g(new M)}static forConfigKeys(){return new g(new w)}clear(){this._root=void 0}set(a,u){const r=this._iter.reset(a);let i;for(this._root||(this._root=new d,this._root.segment=r.value()),i=this._root;;){const t=r.cmp(i.segment);if(t>0)i.left||(i.left=new d,i.left.segment=r.value()),i=i.left;else if(t<0)i.right||(i.right=new d,i.right.segment=r.value()),i=i.right;else if(r.hasNext())r.next(),i.mid||(i.mid=new d,i.mid.segment=r.value()),i=i.mid;else break}const n=i.value;return i.value=u,i.key=a,n}get(a){var u;return(u=this._getNode(a))===null||u===void 0?void 0:u.value}_getNode(a){const u=this._iter.reset(a);let r=this._root;for(;r;){const i=u.cmp(r.segment);if(i>0)r=r.left;else if(i<0)r=r.right;else if(u.hasNext())u.next(),r=r.mid;else break}return r}has(a){const u=this._getNode(a);return!((u==null?void 0:u.value)===void 0&&(u==null?void 0:u.mid)===void 0)}delete(a){return this._delete(a,!1)}deleteSuperstr(a){return this._delete(a,!0)}_delete(a,u){const r=this._iter.reset(a),i=[];let n=this._root;for(;n;){const t=r.cmp(n.segment);if(t>0)i.push([1,n]),n=n.left;else if(t<0)i.push([-1,n]),n=n.right;else if(r.hasNext())r.next(),i.push([0,n]),n=n.mid;else{for(u?(n.left=void 0,n.mid=void 0,n.right=void 0):n.value=void 0;i.length>0&&n.isEmpty();){let[l,h]=i.pop();switch(l){case 1:h.left=void 0;break;case 0:h.mid=void 0;break;case-1:h.right=void 0;break}n=h}break}}}findSubstr(a){const u=this._iter.reset(a);let r=this._root,i;for(;r;){const n=u.cmp(r.segment);if(n>0)r=r.left;else if(n<0)r=r.right;else if(u.hasNext())u.next(),i=r.value||i,r=r.mid;else break}return r&&r.value||i}findSuperstr(a){const u=this._iter.reset(a);let r=this._root;for(;r;){const i=u.cmp(r.segment);if(i>0)r=r.left;else if(i<0)r=r.right;else if(u.hasNext())u.next(),r=r.mid;else return r.mid?this._entries(r.mid):void 0}}forEach(a){for(const[u,r]of this)a(r,u)}*[Symbol.iterator](){yield*this._entries(this._root)}*_entries(a){a&&(yield*this._entries(a.left),a.value&&(yield[a.key,a.value]),yield*this._entries(a.mid),yield*this._entries(a.right))}}e.TernarySearchTree=g;class p{constructor(a,u){this[Symbol.toStringTag]="ResourceMap",a instanceof p?(this.map=new Map(a.map),this.toKey=u!=null?u:p.defaultToKey):(this.map=new Map,this.toKey=a!=null?a:p.defaultToKey)}set(a,u){return this.map.set(this.toKey(a),u),this}get(a){return this.map.get(this.toKey(a))}has(a){return this.map.has(this.toKey(a))}get size(){return this.map.size}clear(){this.map.clear()}delete(a){return this.map.delete(this.toKey(a))}forEach(a,u){typeof u!="undefined"&&(a=a.bind(u));for(let[r,i]of this.map)a(i,b.URI.parse(r),this)}values(){return this.map.values()}*keys(){for(let a of this.map.keys())yield b.URI.parse(a)}*entries(){for(let a of this.map.entries())yield[b.URI.parse(a[0]),a[1]]}*[Symbol.iterator](){for(let a of this.map)yield[b.URI.parse(a[0]),a[1]]}}e.ResourceMap=p,p.defaultToKey=s=>s.toString();class c{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var a;return(a=this._head)===null||a===void 0?void 0:a.value}get last(){var a;return(a=this._tail)===null||a===void 0?void 0:a.value}has(a){return this._map.has(a)}get(a,u=0){const r=this._map.get(a);if(!!r)return u!==0&&this.touch(r,u),r.value}set(a,u,r=0){let i=this._map.get(a);if(i)i.value=u,r!==0&&this.touch(i,r);else{switch(i={key:a,value:u,next:void 0,previous:void 0},r){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(a,i),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const u=this._map.get(a);if(!!u)return this._map.delete(a),this.removeItem(u),this._size--,u.value}shift(){if(!(!this._head&&!this._tail)){if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}}forEach(a,u){const r=this._state;let i=this._head;for(;i;){if(u?a.bind(u)(i.value,i.key,this):a(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const a=this,u=this._state;let r=this._head;const i={[Symbol.iterator](){return i},next(){if(a._state!==u)throw new Error("LinkedMap got modified during iteration.");if(r){const n={value:r.key,done:!1};return r=r.next,n}else return{value:void 0,done:!0}}};return i}values(){const a=this,u=this._state;let r=this._head;const i={[Symbol.iterator](){return i},next(){if(a._state!==u)throw new Error("LinkedMap got modified during iteration.");if(r){const n={value:r.value,done:!1};return r=r.next,n}else return{value:void 0,done:!0}}};return i}entries(){const a=this,u=this._state;let r=this._head;const i={[Symbol.iterator](){return i},next(){if(a._state!==u)throw new Error("LinkedMap got modified during iteration.");if(r){const n={value:[r.key,r.value],done:!1};return r=r.next,n}else return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(a){if(!(a>=this.size)){if(a===0){this.clear();return}let u=this._head,r=this.size;for(;u&&r>a;)this._map.delete(u.key),u=u.next,r--;this._head=u,this._size=r,u&&(u.previous=void 0),this._state++}}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const u=a.next,r=a.previous;if(!u||!r)throw new Error("Invalid list");u.previous=r,r.next=u}a.next=void 0,a.previous=void 0,this._state++}touch(a,u){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(u!==1&&u!==2)){if(u===1){if(a===this._head)return;const r=a.next,i=a.previous;a===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(u===2){if(a===this._tail)return;const r=a.next,i=a.previous;a===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((u,r)=>{a.push([r,u])}),a}fromJSON(a){this.clear();for(const[u,r]of a)this.set(u,r)}}e.LinkedMap=c;class o extends c{constructor(a,u=1){super();this._limit=a,this._ratio=Math.min(Math.max(0,u),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get(a,u=2){return super.get(a,u)}peek(a){return super.get(a,0)}set(a,u){return super.set(a,u,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}e.LRUCache=o}),define(Q[66],J([0,1,51,8]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fuzzyScoreGracefulAggressive=e.fuzzyScore=e.FuzzyScore=e.isPatternInWord=e.createMatches=e.anyScore=e.matchesFuzzy=e.matchesWords=e.matchesCamelCase=e.isUpper=e.matchesSubString=e.matchesContiguousSubString=e.matchesPrefix=e.or=void 0;function M(...G){return function(j,te){for(let Z=0,ue=G.length;Z0?[{start:0,end:j.length}]:[]:null}function S(G,j){const te=j.toLowerCase().indexOf(G.toLowerCase());return te===-1?null:[{start:te,end:te+G.length}]}e.matchesContiguousSubString=S;function C(G,j){return d(G.toLowerCase(),j.toLowerCase(),0,0)}e.matchesSubString=C;function d(G,j,te,Z){if(te===G.length)return[];if(Z===j.length)return null;if(G[te]===j[Z]){let ue=null;return(ue=d(G,j,te+1,Z+1))?i({start:Z,end:Z+1},ue):null}return d(G,j,te,Z+1)}function g(G){return 97<=G&&G<=122}function p(G){return 65<=G&&G<=90}e.isUpper=p;function c(G){return 48<=G&&G<=57}function o(G){return G===32||G===9||G===10||G===13}const s=new Set;"`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?".split("").forEach(G=>s.add(G.charCodeAt(0)));function a(G){return o(G)||s.has(G)}function u(G,j){return G===j||a(G)&&a(j)}function r(G){return g(G)||p(G)||c(G)}function i(G,j){return j.length===0?j=[G]:G.end===j[0].start?j[0].start=G.start:j.unshift(G),j}function n(G,j){for(let te=j;te0&&!r(G.charCodeAt(te-1)))return te}return G.length}function t(G,j,te,Z){if(te===G.length)return[];if(Z===j.length)return null;if(G[te]!==j[Z].toLowerCase())return null;{let ue=null,he=Z+1;for(ue=t(G,j,te+1,Z+1);!ue&&(he=n(j,he)).6}function m(G){const{upperPercent:j,lowerPercent:te,alphaPercent:Z,numericPercent:ue}=G;return te>.2&&j<.8&&Z>.6&&ue<.2}function _(G){let j=0,te=0,Z=0,ue=0;for(let he=0;he60)return null;const te=l(j);if(!m(te)){if(!h(te))return null;j=j.toLowerCase()}let Z=null,ue=0;for(G=G.toLowerCase();ue0&&a(G.charCodeAt(te-1)))return te;return G.length}const I=M(e.matchesPrefix,f,S),k=M(e.matchesPrefix,f,C),E=new b.LRUCache(1e4);function T(G,j,te=!1){if(typeof G!="string"||typeof j!="string")return null;let Z=E.get(G);Z||(Z=new RegExp(N.convertSimple2RegExpPattern(G),"i"),E.set(G,Z));const ue=Z.exec(j);return ue?[{start:ue.index,end:ue.index+ue[0].length}]:te?k(G,j):I(G,j)}e.matchesFuzzy=T;function O(G,j,te,Z,ue,he){const re=U(G,j,0,Z,ue,0,!0);if(re)return re;let ce=[],me=0,Ce=he;for(let be=0;be=0)me+=1,ce.unshift(Le),Ce=Le+1;else if(ce.length>0)break}return[me,he,...ce]}e.anyScore=O;function A(G){if(typeof G=="undefined")return[];const j=[],te=G[1];for(let Z=G.length-1;Z>1;Z--){const ue=G[Z]+te,he=j[j.length-1];he&&he.end===ue?he.end=ue+1:j.push({start:ue,end:ue+1})}return j}e.createMatches=A;const B=128;function F(){const G=[],j=[];for(let te=0;te<=B;te++)j[te]=0;for(let te=0;te<=B;te++)G.push(j.slice(0));return G}function D(G){const j=[];for(let te=0;te<=G;te++)j[te]=0;return j}const R=D(2*B),W=D(2*B),x=F(),K=F(),Y=F(),ee=!1;function se(G,j,te,Z,ue){function he(ce,me,Ce=" "){for(;ce.lengthhe(ce,3)).join("|")} +`;for(let ce=0;ce<=te;ce++)ce===0?re+=" |":re+=`${j[ce-1]}|`,re+=G[ce].slice(0,ue+1).map(me=>he(me.toString(),3)).join("|")+` +`;return re}function ne(G,j,te,Z){G=G.substr(j),te=te.substr(Z),console.log(se(K,G,G.length,te,te.length)),console.log(se(Y,G,G.length,te,te.length)),console.log(se(x,G,G.length,te,te.length))}function le(G,j){if(j<0||j>=G.length)return!1;const te=G.codePointAt(j);switch(te){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 40:case 91:return!0;case void 0:return!1;default:return!!N.isEmojiImprecise(te)}}function X(G,j){if(j<0||j>=G.length)return!1;switch(G.charCodeAt(j)){case 32:case 9:return!0;default:return!1}}function z(G,j,te){return j[G]!==te[G]}function P(G,j,te,Z,ue,he,re=!1){for(;jB?B:G.length,me=Z.length>B?B:Z.length;if(!(te>=ce||he>=me||ce-te>me-he)&&!!P(j,te,ce,ue,he,me,!0)){H(ce,me,te,he,j,ue);let Ce=1,be=1,Le=te,De=he;const Re=[!1];for(Ce=1,Le=te;Leye,Ne=ke?K[Ce][be-1]+(x[Ce][be-1]>0?-5:0):0,Te=De>ye+1&&x[Ce][be-1]>0,Oe=Te?K[Ce][be-2]+(x[Ce][be-2]>0?-5:0):0;if(Te&&(!ke||Oe>=Ne)&&(!pe||Oe>=ve))K[Ce][be]=Oe,Y[Ce][be]=3,x[Ce][be]=0;else if(ke&&(!pe||Ne>=ve))K[Ce][be]=Ne,Y[Ce][be]=2,x[Ce][be]=0;else if(pe)K[Ce][be]=ve,Y[Ce][be]=1,x[Ce][be]=x[Ce-1][be-1]+1;else throw new Error("not possible")}}if(ee&&ne(G,te,Z,he),!(!Re[0]&&!re)){Ce--,be--;const Ee=[K[Ce][be],he];let Ae=0,Se=0;for(;Ce>=1;){let ye=be;do{const fe=Y[Ce][ye];if(fe===3)ye=ye-2;else if(fe===2)ye=ye-1;else break}while(ye>=1);Ae>1&&j[te+Ce-1]===ue[he+be-1]&&!z(ye+he-1,Z,ue)&&Ae+1>x[Ce][ye]&&(ye=be),ye===be?Ae++:Ae=1,Se||(Se=ye),Ce--,be=ye-1,Ee.push(be)}me===ce&&(Ee[0]+=2);const we=Se-ce;return Ee[0]-=we,Ee}}}e.fuzzyScore=U;function H(G,j,te,Z,ue,he){let re=G-1,ce=j-1;for(;re>=te&&ce>=Z;)ue[re]===he[ce]&&(W[re]=ce,re--),ce--}function $(G,j,te,Z,ue,he,re,ce,me,Ce,be){if(j[te]!==he[re])return Number.MIN_SAFE_INTEGER;let Le=1,De=!1;return re===te-Z?Le=G[te]===ue[re]?7:5:z(re,ue,he)&&(re===0||!z(re-1,ue,he))?(Le=G[te]===ue[re]?7:5,De=!0):le(he,re)&&(re===0||!le(he,re-1))?Le=5:(le(he,re-1)||X(he,re-1))&&(Le=5,De=!0),Le>1&&te===Z&&(be[0]=!0),De||(De=z(re,ue,he)||le(he,re-1)||X(he,re-1)),te===Z?re>me&&(Le-=De?3:5):Ce?Le+=De?2:0:Le+=De?0:1,re+1===ce&&(Le-=De?3:5),Le}function ie(G,j,te,Z,ue,he,re){return oe(G,j,te,Z,ue,he,!0,re)}e.fuzzyScoreGracefulAggressive=ie;function oe(G,j,te,Z,ue,he,re,ce){let me=U(G,j,te,Z,ue,he,ce);if(me&&!re)return me;if(G.length>=3){const Ce=Math.min(7,G.length-1);for(let be=te+1;beme[0])&&(me=De))}}}return me}function ae(G,j){if(!(j+1>=G.length)){const te=G[j],Z=G[j+1];if(te!==Z)return G.slice(0,j)+Z+te+G.slice(j+2)}}}),define(Q[286],J([0,1,66,72,17,8]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.pieceToQuery=e.prepareQuery=e.scoreFuzzy2=void 0;const S=[void 0,[]];function C(r,i,n=0,t=0){const l=i;return l.values&&l.values.length>1?d(r,l.values,n,t):g(r,i,n,t)}e.scoreFuzzy2=C;function d(r,i,n,t){let l=0;const h=[];for(const m of i){const[_,f]=g(r,m,n,t);if(typeof _!="number")return S;l+=_,h.push(...f)}return[l,p(h)]}function g(r,i,n,t){const l=b.fuzzyScore(i.original,i.originalLowercase,n,r,r.toLowerCase(),t,!0);return l?[l[0],b.createMatches(l)]:S}function p(r){const i=r.sort((l,h)=>l.start-h.start),n=[];let t;for(const l of i)!t||!c(t,l)?(t=l,n.push(l)):(t.start=Math.min(t.start,l.start),t.end=Math.max(t.end,l.end));return n}function c(r,i){return!(r.end=0;let m;const _=r.split(o);if(_.length>1)for(const f of _){const{pathNormalized:v,normalized:y,normalizedLowercase:L}=a(f);y&&(m||(m=[]),m.push({original:f,originalLowercase:f.toLowerCase(),pathNormalized:v,normalized:y,normalizedLowercase:L}))}return{original:r,originalLowercase:i,pathNormalized:n,normalized:t,normalizedLowercase:l,values:m,containsPathSeparator:h}}e.prepareQuery=s;function a(r){let i;M.isWindows?i=r.replace(/\//g,N.sep):i=r.replace(/\\/g,N.sep);const n=w.stripWildcards(i).replace(/\s/g,"");return{pathNormalized:i,normalized:n,normalizedLowercase:n.toLowerCase()}}function u(r){return Array.isArray(r)?s(r.map(i=>i.original).join(o)):s(r.original)}e.pieceToQuery=u}),define(Q[198],J([0,1,8,152,72,51,15]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isRelativePattern=e.parse=e.match=e.splitGlobAware=void 0;const C="**",d="/",g="[/\\\\]",p="[^/\\\\]",c=/\//g;function o(R){switch(R){case 0:return"";case 1:return`${p}*?`;default:return`(?:${g}|${p}+${g}|${g}${p}+)*?`}}function s(R,W){if(!R)return[];const x=[];let K=!1,Y=!1,ee="";for(const se of R){switch(se){case W:if(!K&&!Y){x.push(ee),ee="";continue}break;case"{":K=!0;break;case"}":K=!1;break;case"[":Y=!0;break;case"]":Y=!1;break}ee+=se}return ee&&x.push(ee),x}e.splitGlobAware=s;function a(R){if(!R)return"";let W="";const x=s(R,d);if(x.every(K=>K===C))W=".*";else{let K=!1;x.forEach((Y,ee)=>{if(Y===C){K||(W+=o(2),K=!0);return}let se=!1,ne="",le=!1,X="";for(const z of Y){if(z!=="}"&&se){ne+=z;continue}if(le&&(z!=="]"||!X)){let P;z==="-"?P=z:(z==="^"||z==="!")&&!X?P="^":z===d?P="":P=b.escapeRegExpCharacters(z),X+=P;continue}switch(z){case"{":se=!0;continue;case"[":le=!0;continue;case"}":W+=`(?:${s(ne,",").map(U=>a(U)).join("|")})`,se=!1,ne="";break;case"]":W+="["+X+"]",le=!1,X="";break;case"?":W+=p;continue;case"*":W+=o(1);continue;default:W+=b.escapeRegExpCharacters(z)}}eef(ne,W)).filter(ne=>ne!==_),R),K=x.length;if(!K)return _;if(K===1)return x[0];const Y=function(ne,le){for(let X=0,z=x.length;X!!ne.allBasenames);ee&&(Y.allBasenames=ee.allBasenames);const se=x.reduce((ne,le)=>le.allPaths?ne.concat(le.allPaths):ne,[]);return se.length&&(Y.allPaths=se),Y}function k(R,W,x){const K=M.sep===M.posix.sep,Y=K?R:R.replace(c,M.sep),ee=M.sep+Y,se=M.posix.sep+R,ne=x?function(le,X){return typeof le=="string"&&(le===Y||le.endsWith(ee)||!K&&(le===R||le.endsWith(se)))?W:null}:function(le,X){return typeof le=="string"&&(le===Y||!K&&le===R)?W:null};return ne.allPaths=[(x?"*/":"./")+R],ne}function E(R){try{const W=new RegExp(`^${a(R)}$`);return function(x){return W.lastIndex=0,typeof x=="string"&&W.test(x)?R:null}}catch(W){return _}}function T(R,W,x){return!R||typeof W!="string"?!1:O(R)(W,void 0,x)}e.match=T;function O(R,W={}){if(!R)return m;if(typeof R=="string"||A(R)){const x=f(R,W);if(x===_)return m;const K=function(Y,ee){return!!x(Y,ee)};return x.allBasenames&&(K.allBasenames=x.allBasenames),x.allPaths&&(K.allPaths=x.allPaths),K}return B(R,W)}e.parse=O;function A(R){const W=R;return W&&typeof W.base=="string"&&typeof W.pattern=="string"}e.isRelativePattern=A;function B(R,W){const x=D(Object.getOwnPropertyNames(R).map(ne=>F(ne,R[ne],W)).filter(ne=>ne!==_)),K=x.length;if(!K)return _;if(!x.some(ne=>!!ne.requiresSiblings)){if(K===1)return x[0];const ne=function(z,P){for(let V=0,U=x.length;V!!z.allBasenames);le&&(ne.allBasenames=le.allBasenames);const X=x.reduce((z,P)=>P.allPaths?z.concat(P.allPaths):z,[]);return X.length&&(ne.allPaths=X),ne}const Y=function(ne,le,X){let z;for(let P=0,V=x.length;P!!ne.allBasenames);ee&&(Y.allBasenames=ee.allBasenames);const se=x.reduce((ne,le)=>le.allPaths?ne.concat(le.allPaths):ne,[]);return se.length&&(Y.allPaths=se),Y}function F(R,W,x){if(W===!1)return _;const K=f(R,x);if(K===_)return _;if(typeof W=="boolean")return K;if(W){const Y=W.when;if(typeof Y=="string"){const ee=(se,ne,le,X)=>{if(!X||!K(se,ne))return null;const z=Y.replace("$(basename)",le),P=X(z);return S.isThenable(P)?P.then(V=>V?R:null):P?R:null};return ee.requiresSiblings=!0,ee}}return K}function D(R,W){const x=R.filter(ne=>!!ne.basenames);if(x.length<2)return R;const K=x.reduce((ne,le)=>{const X=le.basenames;return X?ne.concat(X):ne},[]);let Y;if(W){Y=[];for(let ne=0,le=K.length;ne{const X=le.patterns;return X?ne.concat(X):ne},[]);const ee=function(ne,le){if(typeof ne!="string")return null;if(!le){let z;for(z=ne.length;z>0;z--){const P=ne.charCodeAt(z-1);if(P===47||P===92)break}le=ne.substr(z)}const X=K.indexOf(le);return X!==-1?Y[X]:null};ee.basenames=K,ee.patterns=Y,ee.allBasenames=K;const se=R.filter(ne=>!ne.basenames);return se.push(ee),se}}),define(Q[102],J([0,1,27,66,8]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.matchesFuzzyIconAware=e.parseLabelWithIcons=e.stripIcons=e.markdownEscapeEscapedIcons=e.escapeIcons=e.iconStartMarker=void 0,e.iconStartMarker="$(";const w=new RegExp(`\\$\\(${b.CSSIcon.iconNameExpression}(?:${b.CSSIcon.iconModifierExpression})?\\)`,"g"),S=new RegExp(`(\\\\)?${w.source}`,"g");function C(u){return u.replace(S,(r,i)=>i?r:`\\${r}`)}e.escapeIcons=C;const d=new RegExp(`\\\\${w.source}`,"g");function g(u){return u.replace(d,r=>`\\${r}`)}e.markdownEscapeEscapedIcons=g;const p=new RegExp(`(\\s)?(\\\\)?${w.source}(\\s)?`,"g");function c(u){return u.indexOf(e.iconStartMarker)===-1?u:u.replace(p,(r,i,n,t)=>n?r:i||t||"")}e.stripIcons=c;function o(u){const r=u.indexOf(e.iconStartMarker);return r===-1?{text:u}:s(u,r)}e.parseLabelWithIcons=o;function s(u,r){const i=[];let n="";function t(L){if(L){n+=L;for(const I of L)i.push(m)}}let l=-1,h="",m=0,_,f,v=r;const y=u.length;for(t(u.substr(0,r));v" ".repeat(i.length)).replace(/^>/gm,"\\>").replace(/\n/g,u===1?`\\ +`:` + +`),this}appendMarkdown(a){return this.value+=a,this}appendCodeblock(a,u){return this.value+="\n```",this.value+=a,this.value+=` +`,this.value+=u,this.value+="\n```\n",this}}e.MarkdownString=w;function S(s){return C(s)?!s.value:Array.isArray(s)?s.every(S):!0}e.isEmptyMarkdownString=S;function C(s){return s instanceof w?!0:s&&typeof s=="object"?typeof s.value=="string"&&(typeof s.isTrusted=="boolean"||s.isTrusted===void 0)&&(typeof s.supportThemeIcons=="boolean"||s.supportThemeIcons===void 0):!1}e.isMarkdownString=C;function d(s,a){return!s&&!a?!0:!s||!a?!1:Array.isArray(s)&&Array.isArray(a)?b.equals(s,a,g):C(s)&&C(a)?g(s,a):!1}e.markedStringsEquals=d;function g(s,a){return s===a?!0:!s||!a?!1:s.value===a.value&&s.isTrusted===a.isTrusted&&s.supportThemeIcons===a.supportThemeIcons}function p(s){return s.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}e.escapeMarkdownSyntaxTokens=p;function c(s){return s&&s.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1")}e.removeMarkdownEscapes=c;function o(s){const a=[],u=s.split("|").map(i=>i.trim());s=u[0];const r=u[1];if(r){const i=/height=(\d+)/.exec(r),n=/width=(\d+)/.exec(r),t=i?i[1]:"",l=n?n[1]:"",h=isFinite(parseInt(l)),m=isFinite(parseInt(t));h&&a.push(`width="${l}"`),m&&a.push(`height="${t}"`)}return{href:s,dimensions:a}}e.parseHrefAndDimensions=o}),define(Q[199],J([0,1,101,24]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.revive=e.parse=void 0;function M(S){let C=JSON.parse(S);return C=w(C),C}e.parse=M;function w(S,C=0){if(!S||C>200)return S;if(typeof S=="object"){switch(S.$mid){case 1:return N.URI.revive(S);case 2:return new RegExp(S.source,S.flags)}if(S instanceof b.VSBuffer||S instanceof Uint8Array)return S;if(Array.isArray(S))for(let d=0;d{let ve=pe.relatedTarget;for(;ve&&ve!==de;)ve=ve.parentNode;ve!==de&&ge(pe)})}e.addDisposableNonBubblingMouseOutListener=_;function f(de,ge){return r(de,"pointerout",pe=>{let ve=pe.relatedTarget;for(;ve&&ve!==de;)ve=ve.parentNode;ve!==de&&ge(pe)})}e.addDisposableNonBubblingPointerOutListener=f;let v=null;function y(de){if(!v){const ge=pe=>setTimeout(()=>pe(new Date().getTime()),0);v=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||ge}return v.call(self,de)}class L{constructor(ge,pe=0){this._runner=ge,this.priority=pe,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(ge){C.onUnexpectedError(ge)}}static sort(ge,pe){return pe.priority-ge.priority}}(function(){let de=[],ge=null,pe=!1,ve=!1,ke=()=>{for(pe=!1,ge=de,de=[],ve=!0;ge.length>0;)ge.sort(L.sort),ge.shift().execute();ve=!1};e.scheduleAtNextAnimationFrame=(Ne,Te=0)=>{let Oe=new L(Ne,Te);return de.push(Oe),pe||(pe=!0,y(ke)),Oe},e.runAtThisOrScheduleAtNextAnimationFrame=(Ne,Te)=>{if(ve){let Oe=new L(Ne,Te);return ge.push(Oe),Oe}else return e.scheduleAtNextAnimationFrame(Ne,Te)}})();const I=8,k=function(de,ge){return ge};class E extends g.Disposable{constructor(ge,pe,ve,ke=k,Ne=I){super();let Te=null,Oe=0,Fe=this._register(new S.TimeoutTimer),Pe=()=>{Oe=new Date().getTime(),ve(Te),Te=null};this._register(r(ge,pe,xe=>{Te=ke(Te,xe);let We=new Date().getTime()-Oe;We>=Ne?(Fe.cancel(),Pe()):Fe.setIfNotSet(Pe,Ne-We)}))}}function T(de,ge,pe,ve,ke){return new E(de,ge,pe,ve,ke)}e.addDisposableThrottledListener=T;function O(de){return document.defaultView.getComputedStyle(de,null)}e.getComputedStyle=O;function A(de){if(de!==document.body)return new F(de.clientWidth,de.clientHeight);if(p.isIOS&&window.visualViewport){const ge=window.visualViewport.width,pe=window.visualViewport.height-(b.isStandalone?20+4:0);return new F(ge,pe)}if(window.innerWidth&&window.innerHeight)return new F(window.innerWidth,window.innerHeight);if(document.body&&document.body.clientWidth&&document.body.clientHeight)return new F(document.body.clientWidth,document.body.clientHeight);if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight)return new F(document.documentElement.clientWidth,document.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}e.getClientArea=A;class B{static convertToPixels(ge,pe){return parseFloat(pe)||0}static getDimension(ge,pe,ve){let ke=O(ge),Ne="0";return ke&&(ke.getPropertyValue?Ne=ke.getPropertyValue(pe):Ne=ke.getAttribute(ve)),B.convertToPixels(ge,Ne)}static getBorderLeftWidth(ge){return B.getDimension(ge,"border-left-width","borderLeftWidth")}static getBorderRightWidth(ge){return B.getDimension(ge,"border-right-width","borderRightWidth")}static getBorderTopWidth(ge){return B.getDimension(ge,"border-top-width","borderTopWidth")}static getBorderBottomWidth(ge){return B.getDimension(ge,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(ge){return B.getDimension(ge,"padding-left","paddingLeft")}static getPaddingRight(ge){return B.getDimension(ge,"padding-right","paddingRight")}static getPaddingTop(ge){return B.getDimension(ge,"padding-top","paddingTop")}static getPaddingBottom(ge){return B.getDimension(ge,"padding-bottom","paddingBottom")}static getMarginLeft(ge){return B.getDimension(ge,"margin-left","marginLeft")}static getMarginTop(ge){return B.getDimension(ge,"margin-top","marginTop")}static getMarginRight(ge){return B.getDimension(ge,"margin-right","marginRight")}static getMarginBottom(ge){return B.getDimension(ge,"margin-bottom","marginBottom")}}class F{constructor(ge,pe){this.width=ge,this.height=pe}with(ge=this.width,pe=this.height){return ge!==this.width||pe!==this.height?new F(ge,pe):this}static is(ge){return typeof ge=="object"&&typeof ge.height=="number"&&typeof ge.width=="number"}static lift(ge){return ge instanceof F?ge:new F(ge.width,ge.height)}static equals(ge,pe){return ge===pe?!0:!ge||!pe?!1:ge.width===pe.width&&ge.height===pe.height}}e.Dimension=F;function D(de){let ge=de.offsetParent,pe=de.offsetTop,ve=de.offsetLeft;for(;(de=de.parentNode)!==null&&de!==document.body&&de!==document.documentElement;){pe-=de.scrollTop;const ke=X(de)?null:O(de);ke&&(ve-=ke.direction!=="rtl"?de.scrollLeft:-de.scrollLeft),de===ge&&(ve+=B.getBorderLeftWidth(de),pe+=B.getBorderTopWidth(de),pe+=de.offsetTop,ve+=de.offsetLeft,ge=de.offsetParent)}return{left:ve,top:pe}}e.getTopLeftOffset=D;function R(de,ge,pe){typeof ge=="number"&&(de.style.width=`${ge}px`),typeof pe=="number"&&(de.style.height=`${pe}px`)}e.size=R;function W(de){let ge=de.getBoundingClientRect();return{left:ge.left+e.StandardWindow.scrollX,top:ge.top+e.StandardWindow.scrollY,width:ge.width,height:ge.height}}e.getDomNodePagePosition=W,e.StandardWindow=new class{get scrollX(){return typeof window.scrollX=="number"?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft}get scrollY(){return typeof window.scrollY=="number"?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop}};function x(de){let ge=B.getMarginLeft(de)+B.getMarginRight(de);return de.offsetWidth+ge}e.getTotalWidth=x;function K(de){let ge=B.getBorderLeftWidth(de)+B.getBorderRightWidth(de),pe=B.getPaddingLeft(de)+B.getPaddingRight(de);return de.offsetWidth-ge-pe}e.getContentWidth=K;function Y(de){let ge=B.getBorderTopWidth(de)+B.getBorderBottomWidth(de),pe=B.getPaddingTop(de)+B.getPaddingBottom(de);return de.offsetHeight-ge-pe}e.getContentHeight=Y;function ee(de){let ge=B.getMarginTop(de)+B.getMarginBottom(de);return de.offsetHeight+ge}e.getTotalHeight=ee;function se(de,ge){for(;de;){if(de===ge)return!0;de=de.parentNode}return!1}e.isAncestor=se;function ne(de,ge,pe){for(;de&&de.nodeType===de.ELEMENT_NODE;){if(de.classList.contains(ge))return de;if(pe){if(typeof pe=="string"){if(de.classList.contains(pe))return null}else if(de===pe)return null}de=de.parentNode}return null}e.findParentWithClass=ne;function le(de,ge,pe){return!!ne(de,ge,pe)}e.hasParentWithClass=le;function X(de){return de&&!!de.host&&!!de.mode}e.isShadowRoot=X;function z(de){return!!P(de)}e.isInShadowDOM=z;function P(de){for(;de.parentNode;){if(de===document.body)return null;de=de.parentNode}return X(de)?de:null}e.getShadowRoot=P;function V(){let de=document.activeElement;for(;de==null?void 0:de.shadowRoot;)de=de.shadowRoot.activeElement;return de}e.getActiveElement=V;function U(de=document.getElementsByTagName("head")[0]){let ge=document.createElement("style");return ge.type="text/css",ge.media="screen",de.appendChild(ge),ge}e.createStyleSheet=U;let H=null;function $(){return H||(H=U()),H}function ie(de){var ge,pe;return((ge=de==null?void 0:de.sheet)===null||ge===void 0?void 0:ge.rules)?de.sheet.rules:((pe=de==null?void 0:de.sheet)===null||pe===void 0?void 0:pe.cssRules)?de.sheet.cssRules:[]}function oe(de,ge,pe=$()){!pe||!ge||pe.sheet.insertRule(de+"{"+ge+"}",0)}e.createCSSRule=oe;function ae(de,ge=$()){if(!!ge){let pe=ie(ge),ve=[];for(let ke=0;ke=0;ke--)ge.sheet.deleteRule(ve[ke])}}e.removeCSSRulesContainingSelector=ae;function G(de){return typeof HTMLElement=="object"?de instanceof HTMLElement:de&&typeof de=="object"&&de.nodeType===1&&typeof de.nodeName=="string"}e.isHTMLElement=G,e.EventType={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:b.isWebKit?"webkitAnimationStart":"animationstart",ANIMATION_END:b.isWebKit?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:b.isWebKit?"webkitAnimationIteration":"animationiteration"},e.EventHelper={stop:function(de,ge){de.preventDefault?de.preventDefault():de.returnValue=!1,ge&&(de.stopPropagation?de.stopPropagation():de.cancelBubble=!0)}};function j(de){let ge=[];for(let pe=0;de&&de.nodeType===de.ELEMENT_NODE;pe++)ge[pe]=de.scrollTop,de=de.parentNode;return ge}e.saveParentsScrollTop=j;function te(de,ge){for(let pe=0;de&&de.nodeType===de.ELEMENT_NODE;pe++)de.scrollTop!==ge[pe]&&(de.scrollTop=ge[pe]),de=de.parentNode}e.restoreParentsScrollTop=te;class Z extends g.Disposable{constructor(ge){super();this._onDidFocus=this._register(new d.Emitter),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new d.Emitter),this.onDidBlur=this._onDidBlur.event;let pe=se(document.activeElement,ge),ve=!1;const ke=()=>{ve=!1,pe||(pe=!0,this._onDidFocus.fire())},Ne=()=>{pe&&(ve=!0,window.setTimeout(()=>{ve&&(ve=!1,pe=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{se(document.activeElement,ge)!==pe&&(pe?Ne():ke())},this._register(N.domEvent(ge,e.EventType.FOCUS,!0)(ke)),this._register(N.domEvent(ge,e.EventType.BLUR,!0)(Ne))}}function ue(de){return new Z(de)}e.trackFocus=ue;function he(de,...ge){if(de.append(...ge),ge.length===1&&typeof ge[0]!="string")return ge[0]}e.append=he;function re(de,...ge){de.innerText="",he(de,...ge)}e.reset=re;const ce=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var me;(function(de){de.HTML="http://www.w3.org/1999/xhtml",de.SVG="http://www.w3.org/2000/svg"})(me=e.Namespace||(e.Namespace={}));function Ce(de,ge,pe,...ve){let ke=ce.exec(ge);if(!ke)throw new Error("Bad use of emmet");pe=Object.assign({},pe||{});let Ne=ke[1]||"div",Te;return de!==me.HTML?Te=document.createElementNS(de,Ne):Te=document.createElement(Ne),ke[3]&&(Te.id=ke[3]),ke[4]&&(Te.className=ke[4].replace(/\./g," ").trim()),Object.keys(pe).forEach(Oe=>{const Fe=pe[Oe];typeof Fe!="undefined"&&(/^on\w+$/.test(Oe)?Te[Oe]=Fe:Oe==="selected"?Fe&&Te.setAttribute(Oe,"true"):Te.setAttribute(Oe,Fe))}),Te.append(...ve),Te}function be(de,ge,...pe){return Ce(me.HTML,de,ge,...pe)}e.$=be,be.SVG=function(de,ge,...pe){return Ce(me.SVG,de,ge,...pe)};function Le(...de){for(let ge of de)ge.style.display="",ge.removeAttribute("aria-hidden")}e.show=Le;function De(...de){for(let ge of de)ge.style.display="none",ge.setAttribute("aria-hidden","true")}e.hide=De;function Re(de){return Array.prototype.slice.call(document.getElementsByTagName(de),0)}e.getElementsByTagName=Re;function Ee(de){const ge=window.devicePixelRatio*de;return Math.max(1,Math.floor(ge))/window.devicePixelRatio}e.computeScreenAwareSize=Ee;function Ae(de){if(b.isElectron||b.isEdgeLegacyWebView)window.open(de);else{let ge=window.open();ge&&(ge.opener=null,ge.location.href=de)}}e.windowOpenNoOpener=Ae;function Se(de){const ge=()=>{de(),pe=e.scheduleAtNextAnimationFrame(ge)};let pe=e.scheduleAtNextAnimationFrame(ge);return g.toDisposable(()=>pe.dispose())}e.animate=Se,c.RemoteAuthorities.setPreferredWebSchema(/^https:/.test(window.location.href)?"https":"http");function we(de){return de?`url('${c.FileAccess.asBrowserUri(de).toString(!0).replace(/'/g,"%27")}')`:"url('')"}e.asCSSUrl=we;function ye(de){return`'${de.replace(/'/g,"%27")}'`}e.asCSSPropertyValue=ye;class fe extends d.Emitter{constructor(){super();this._subscriptions=new g.DisposableStore,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(N.domEvent(window,"keydown",!0)(ge=>{const pe=new M.StandardKeyboardEvent(ge);if(!(pe.keyCode===6&&ge.repeat)){if(ge.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(ge.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(ge.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(ge.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(pe.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=ge.altKey,this._keyStatus.ctrlKey=ge.ctrlKey,this._keyStatus.metaKey=ge.metaKey,this._keyStatus.shiftKey=ge.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=ge,this.fire(this._keyStatus))}})),this._subscriptions.add(N.domEvent(window,"keyup",!0)(ge=>{!ge.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!ge.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!ge.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!ge.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=ge.altKey,this._keyStatus.ctrlKey=ge.ctrlKey,this._keyStatus.metaKey=ge.metaKey,this._keyStatus.shiftKey=ge.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=ge,this.fire(this._keyStatus))})),this._subscriptions.add(N.domEvent(document.body,"mousedown",!0)(ge=>{this._keyStatus.lastKeyPressed=void 0})),this._subscriptions.add(N.domEvent(document.body,"mouseup",!0)(ge=>{this._keyStatus.lastKeyPressed=void 0})),this._subscriptions.add(N.domEvent(document.body,"mousemove",!0)(ge=>{ge.buttons&&(this._keyStatus.lastKeyPressed=void 0)})),this._subscriptions.add(N.domEvent(window,"blur")(ge=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return fe.instance||(fe.instance=new fe),fe.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}e.ModifierKeyEmitter=fe}),define(Q[156],J([0,1,7]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createElement=e.renderFormattedText=e.renderText=void 0;function N(c,o={}){const s=w(o);return s.textContent=c,s}e.renderText=N;function M(c,o={}){const s=w(o);return C(s,d(c),o.actionHandler),s}e.renderFormattedText=M;function w(c){const o=c.inline?"span":"div",s=document.createElement(o);return c.className&&(s.className=c.className),s}e.createElement=w;class S{constructor(o){this.source=o,this.index=0}eos(){return this.index>=this.source.length}next(){const o=this.peek();return this.advance(),o}peek(){return this.source[this.index]}advance(){this.index++}}function C(c,o,s){let a;if(o.type===2)a=document.createTextNode(o.content||"");else if(o.type===3)a=document.createElement("b");else if(o.type===4)a=document.createElement("i");else if(o.type===5&&s){const u=document.createElement("a");u.href="#",s.disposeables.add(b.addStandardDisposableListener(u,"click",r=>{s.callback(String(o.index),r)})),a=u}else o.type===7?a=document.createElement("br"):o.type===1&&(a=c);a&&c!==a&&c.appendChild(a),a&&Array.isArray(o.children)&&o.children.forEach(u=>{C(a,u,s)})}function d(c){const o={type:1,children:[]};let s=0,a=o;const u=[],r=new S(c);for(;!r.eos();){let i=r.next();const n=i==="\\"&&p(r.peek())!==0;if(n&&(i=r.next()),!n&&g(i)&&i===r.peek()){r.advance(),a.type===2&&(a=u.pop());const t=p(i);if(a.type===t||a.type===5&&t===6)a=u.pop();else{const l={type:t,children:[]};t===5&&(l.index=s,s++),a.children.push(l),u.push(a),a=l}}else if(i===` +`)a.type===2&&(a=u.pop()),a.children.push({type:7});else if(a.type!==2){const t={type:2,content:i};a.children.push(t),u.push(a),a=t}else a.content+=i}return a.type===2&&(a=u.pop()),u.length,o}function g(c){return p(c)!==0}function p(c){switch(c){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}}),define(Q[90],J([0,1,7,193,50,2]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalMouseMoveMonitor=e.standardMouseMoveMerger=void 0;function S(d,g){let p=new M.StandardMouseEvent(g);return p.preventDefault(),{leftButton:p.leftButton,buttons:p.buttons,posx:p.posx,posy:p.posy}}e.standardMouseMoveMerger=S;class C{constructor(){this._hooks=new w.DisposableStore,this._mouseMoveEventMerger=null,this._mouseMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(g,p){if(!!this.isMonitoring()){this._hooks.clear(),this._mouseMoveEventMerger=null,this._mouseMoveCallback=null;const c=this._onStopCallback;this._onStopCallback=null,g&&c&&c(p)}}isMonitoring(){return!!this._mouseMoveEventMerger}startMonitoring(g,p,c,o,s){if(!this.isMonitoring()){this._mouseMoveEventMerger=c,this._mouseMoveCallback=o,this._onStopCallback=s;const a=N.IframeUtils.getSameOriginWindowChain(),u="mousemove",r="mouseup",i=a.map(t=>t.window.document),n=b.getShadowRoot(g);n&&i.unshift(n);for(const t of i)this._hooks.add(b.addDisposableThrottledListener(t,u,l=>{if(l.buttons!==p){this.stopMonitoring(!0);return}this._mouseMoveCallback(l)},(l,h)=>this._mouseMoveEventMerger(l,h))),this._hooks.add(b.addDisposableListener(t,r,l=>this.stopMonitoring(!0)));if(N.IframeUtils.hasDifferentOriginAncestor()){let t=a[a.length-1];this._hooks.add(b.addDisposableListener(t.window.document,"mouseout",l=>{new M.StandardMouseEvent(l).target.tagName.toLowerCase()==="html"&&this.stopMonitoring(!0)})),this._hooks.add(b.addDisposableListener(t.window.document,"mouseover",l=>{new M.StandardMouseEvent(l).target.tagName.toLowerCase()==="html"&&this.stopMonitoring(!0)})),this._hooks.add(b.addDisposableListener(t.window.document.body,"mouseleave",l=>{this.stopMonitoring(!0)}))}}}}e.GlobalMouseMoveMonitor=C});var Me=this&&this.__decorate||function(q,e,b,N){var M=arguments.length,w=M<3?e:N===null?N=Object.getOwnPropertyDescriptor(e,b):N,S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(q,e,b,N);else for(var C=q.length-1;C>=0;C--)(S=q[C])&&(w=(M<3?S(w):M>3?S(e,b,w):S(e,b))||w);return M>3&&w&&Object.defineProperty(e,b,w),w};define(Q[60],J([0,1,19,2,7,99]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Gesture=e.EventType=void 0;var S;(function(d){d.Tap="-monaco-gesturetap",d.Change="-monaco-gesturechange",d.Start="-monaco-gesturestart",d.End="-monaco-gesturesend",d.Contextmenu="-monaco-gesturecontextmenu"})(S=e.EventType||(e.EventType={}));class C extends N.Disposable{constructor(){super();this.dispatched=!1,this.activeTouches={},this.handle=null,this.targets=[],this.ignoreTargets=[],this._lastSetTapCountTime=0,this._register(M.addDisposableListener(document,"touchstart",g=>this.onTouchStart(g),{passive:!1})),this._register(M.addDisposableListener(document,"touchend",g=>this.onTouchEnd(g))),this._register(M.addDisposableListener(document,"touchmove",g=>this.onTouchMove(g),{passive:!1}))}static addTarget(g){return C.isTouchDevice()?(C.INSTANCE||(C.INSTANCE=new C),C.INSTANCE.targets.push(g),{dispose:()=>{C.INSTANCE.targets=C.INSTANCE.targets.filter(p=>p!==g)}}):N.Disposable.None}static ignoreTarget(g){return C.isTouchDevice()?(C.INSTANCE||(C.INSTANCE=new C),C.INSTANCE.ignoreTargets.push(g),{dispose:()=>{C.INSTANCE.ignoreTargets=C.INSTANCE.ignoreTargets.filter(p=>p!==g)}}):N.Disposable.None}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(g){let p=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let c=0,o=g.targetTouches.length;c=C.HOLD_DELAY&&Math.abs(u.initialPageX-b.tail(u.rollingPageX))<30&&Math.abs(u.initialPageY-b.tail(u.rollingPageY))<30){let i=this.newGestureEvent(S.Contextmenu,u.initialTarget);i.pageX=b.tail(u.rollingPageX),i.pageY=b.tail(u.rollingPageY),this.dispatchEvent(i)}else if(c===1){let i=b.tail(u.rollingPageX),n=b.tail(u.rollingPageY),t=b.tail(u.rollingTimestamps)-u.rollingTimestamps[0],l=i-u.rollingPageX[0],h=n-u.rollingPageY[0];const m=this.targets.filter(_=>u.initialTarget instanceof Node&&_.contains(u.initialTarget));this.inertia(m,p,Math.abs(l)/t,l>0?1:-1,i,Math.abs(h)/t,h>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(S.End,u.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(g.preventDefault(),g.stopPropagation(),this.dispatched=!1)}newGestureEvent(g,p){let c=document.createEvent("CustomEvent");return c.initEvent(g,!1,!0),c.initialTarget=p,c.tapCount=0,c}dispatchEvent(g){if(g.type===S.Tap){const p=new Date().getTime();let c=0;p-this._lastSetTapCountTime>C.CLEAR_TAP_COUNT_TIME?c=1:c=2,this._lastSetTapCountTime=p,g.tapCount=c}else(g.type===S.Change||g.type===S.Contextmenu)&&(this._lastSetTapCountTime=0);for(let p=0;p{g.initialTarget instanceof Node&&p.contains(g.initialTarget)&&(p.dispatchEvent(g),this.dispatched=!0)})}inertia(g,p,c,o,s,a,u,r){this.handle=M.scheduleAtNextAnimationFrame(()=>{let i=Date.now(),n=i-p,t=0,l=0,h=!0;c+=C.SCROLL_FRICTION*n,a+=C.SCROLL_FRICTION*n,c>0&&(h=!1,t=o*c*n),a>0&&(h=!1,l=u*a*n);let m=this.newGestureEvent(S.Change);m.translationX=t,m.translationY=l,g.forEach(_=>_.dispatchEvent(m)),h||this.inertia(g,i,c,o,s+t,a,u,r+l)})}onTouchMove(g){let p=Date.now();for(let c=0,o=g.changedTouches.length;c3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(s.pageX),a.rollingPageY.push(s.pageY),a.rollingTimestamps.push(p)}this.dispatched&&(g.preventDefault(),g.stopPropagation(),this.dispatched=!1)}}C.SCROLL_FRICTION=-.005,C.HOLD_DELAY=700,C.CLEAR_TAP_COUNT_TIME=400,Me([w.memoize],C,"isTouchDevice",null),e.Gesture=C}),define(Q[103],J([0,1,7,27]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderIcon=e.renderLabelWithIcons=void 0;const M=new RegExp(`(\\\\)?\\$\\((${N.CSSIcon.iconNameExpression}(?:${N.CSSIcon.iconModifierExpression})?)\\)`,"g");function w(C){const d=new Array;let g,p=0,c=0;for(;(g=M.exec(C))!==null;){c=g.index||0,d.push(C.substring(p,c)),p=(g.index||0)+g[0].length;const[,o,s]=g;d.push(o?`$(${s})`:S({id:s}))}return p{p=c===`\r +`?-1:0,o+=g;for(const s of d)s.end<=o||(s.start>=o&&(s.start+=p),s.end>=o&&(s.end+=p));return g+=p,"\u23CE"})}}e.HighlightedLabel=w}),define(Q[287],J([0,1,7]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RowCache=void 0;function N(w){try{w.parentElement&&w.parentElement.removeChild(w)}catch(S){}}class M{constructor(S){this.renderers=S,this.cache=new Map}alloc(S){let C=this.getTemplateCache(S).pop();if(!C){const d=b.$(".monaco-list-row"),p=this.getRenderer(S).renderTemplate(d);C={domNode:d,templateId:S,templateData:p}}return C}release(S){!S||this.releaseRow(S)}releaseRow(S){const{domNode:C,templateId:d}=S;C&&(C.classList.remove("scrolling"),N(C)),this.getTemplateCache(d).push(S)}getTemplateCache(S){let C=this.cache.get(S);return C||(C=[],this.cache.set(S,C)),C}dispose(){this.cache.forEach((S,C)=>{for(const d of S)this.getRenderer(C).disposeTemplate(d.templateData),d.templateData=null}),this.cache.clear()}getRenderer(S){const C=this.renderers.get(S);if(!C)throw new Error(`No renderer found for ${S}`);return C}}e.RowCache=M}),define(Q[52],J([0,1,7,56,50,2,60]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Widget=void 0;class C extends w.Disposable{onclick(g,p){this._register(b.addDisposableListener(g,b.EventType.CLICK,c=>p(new M.StandardMouseEvent(c))))}onmousedown(g,p){this._register(b.addDisposableListener(g,b.EventType.MOUSE_DOWN,c=>p(new M.StandardMouseEvent(c))))}onmouseover(g,p){this._register(b.addDisposableListener(g,b.EventType.MOUSE_OVER,c=>p(new M.StandardMouseEvent(c))))}onnonbubblingmouseout(g,p){this._register(b.addDisposableNonBubblingMouseOutListener(g,c=>p(new M.StandardMouseEvent(c))))}onkeydown(g,p){this._register(b.addDisposableListener(g,b.EventType.KEY_DOWN,c=>p(new N.StandardKeyboardEvent(c))))}onkeyup(g,p){this._register(b.addDisposableListener(g,b.EventType.KEY_UP,c=>p(new N.StandardKeyboardEvent(c))))}oninput(g,p){this._register(b.addDisposableListener(g,b.EventType.INPUT,p))}onblur(g,p){this._register(b.addDisposableListener(g,b.EventType.BLUR,p))}onfocus(g,p){this._register(b.addDisposableListener(g,b.EventType.FOCUS,p))}ignoreGesture(g){S.Gesture.ignoreTarget(g)}}e.Widget=C}),define(Q[158],J([0,1,90,52,15]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollbarArrow=e.ARROW_IMG_SIZE=void 0,e.ARROW_IMG_SIZE=11;class w extends N.Widget{constructor(C){super();this._onActivate=C.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=C.bgWidth+"px",this.bgDomNode.style.height=C.bgHeight+"px",typeof C.top!="undefined"&&(this.bgDomNode.style.top="0px"),typeof C.left!="undefined"&&(this.bgDomNode.style.left="0px"),typeof C.bottom!="undefined"&&(this.bgDomNode.style.bottom="0px"),typeof C.right!="undefined"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=C.className,this.domNode.classList.add(...C.icon.classNamesArray),this.domNode.style.position="absolute",this.domNode.style.width=e.ARROW_IMG_SIZE+"px",this.domNode.style.height=e.ARROW_IMG_SIZE+"px",typeof C.top!="undefined"&&(this.domNode.style.top=C.top+"px"),typeof C.left!="undefined"&&(this.domNode.style.left=C.left+"px"),typeof C.bottom!="undefined"&&(this.domNode.style.bottom=C.bottom+"px"),typeof C.right!="undefined"&&(this.domNode.style.right=C.right+"px"),this._mouseMoveMonitor=this._register(new b.GlobalMouseMoveMonitor),this.onmousedown(this.bgDomNode,d=>this._arrowMouseDown(d)),this.onmousedown(this.domNode,d=>this._arrowMouseDown(d)),this._mousedownRepeatTimer=this._register(new M.IntervalTimer),this._mousedownScheduleRepeatTimer=this._register(new M.TimeoutTimer)}_arrowMouseDown(C){const d=()=>{this._mousedownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24)};this._onActivate(),this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancelAndSet(d,200),this._mouseMoveMonitor.startMonitoring(C.target,C.buttons,b.standardMouseMoveMerger,g=>{},()=>{this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancel()}),C.preventDefault()}}e.ScrollbarArrow=w}),define(Q[200],J([0,1,7,30,90,158,282,52,17]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractScrollbar=void 0;const g=140;class p extends C.Widget{constructor(o){super();this._lazyRender=o.lazyRender,this._host=o.host,this._scrollable=o.scrollable,this._scrollByPage=o.scrollByPage,this._scrollbarState=o.scrollbarState,this._visibilityController=this._register(new S.ScrollbarVisibilityController(o.visibility,"visible scrollbar "+o.extraScrollbarClassName,"invisible scrollbar "+o.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._mouseMoveMonitor=this._register(new M.GlobalMouseMoveMonitor),this._shouldRender=!0,this.domNode=N.createFastDomNode(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this.onmousedown(this.domNode.domNode,s=>this._domNodeMouseDown(s))}_createArrow(o){const s=this._register(new w.ScrollbarArrow(o));this.domNode.domNode.appendChild(s.bgDomNode),this.domNode.domNode.appendChild(s.domNode)}_createSlider(o,s,a,u){this.slider=N.createFastDomNode(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(o),this.slider.setLeft(s),typeof a=="number"&&this.slider.setWidth(a),typeof u=="number"&&this.slider.setHeight(u),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,r=>{r.leftButton&&(r.preventDefault(),this._sliderMouseDown(r,()=>{}))}),this.onclick(this.slider.domNode,r=>{r.leftButton&&r.stopPropagation()})}_onElementSize(o){return this._scrollbarState.setVisibleSize(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(o){return this._scrollbarState.setScrollSize(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(o){return this._scrollbarState.setScrollPosition(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){!this._shouldRender||(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodeMouseDown(o){o.target===this.domNode.domNode&&this._onMouseDown(o)}delegateMouseDown(o){const s=this.domNode.domNode.getClientRects()[0].top,a=s+this._scrollbarState.getSliderPosition(),u=s+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),r=this._sliderMousePosition(o);a<=r&&r<=u?o.leftButton&&(o.preventDefault(),this._sliderMouseDown(o,()=>{})):this._onMouseDown(o)}_onMouseDown(o){let s,a;if(o.target===this.domNode.domNode&&typeof o.browserEvent.offsetX=="number"&&typeof o.browserEvent.offsetY=="number")s=o.browserEvent.offsetX,a=o.browserEvent.offsetY;else{const r=b.getDomNodePagePosition(this.domNode.domNode);s=o.posx-r.left,a=o.posy-r.top}const u=this._mouseDownRelativePosition(s,a);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(u):this._scrollbarState.getDesiredScrollPositionFromOffset(u)),o.leftButton&&(o.preventDefault(),this._sliderMouseDown(o,()=>{}))}_sliderMouseDown(o,s){const a=this._sliderMousePosition(o),u=this._sliderOrthogonalMousePosition(o),r=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(o.target,o.buttons,M.standardMouseMoveMerger,i=>{const n=this._sliderOrthogonalMousePosition(i),t=Math.abs(n-u);if(d.isWindows&&t>g){this._setDesiredScrollPositionNow(r.getScrollPosition());return}const h=this._sliderMousePosition(i)-a;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(h))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd(),s()}),this._host.onDragStart()}_setDesiredScrollPositionNow(o){const s={};this.writeScrollPosition(s,o),this._scrollable.setScrollPositionNow(s)}updateScrollbarSize(o){this._updateScrollbarSize(o),this._scrollbarState.setScrollbarSize(o),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}e.AbstractScrollbar=p}),define(Q[288],J([0,1,50,200,158,194,27]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HorizontalScrollbar=void 0;const C=S.registerCodicon("scrollbar-button-left",S.Codicon.triangleLeft),d=S.registerCodicon("scrollbar-button-right",S.Codicon.triangleRight);class g extends N.AbstractScrollbar{constructor(c,o,s){const a=c.getScrollDimensions(),u=c.getCurrentScrollPosition();super({lazyRender:o.lazyRender,host:s,scrollbarState:new w.ScrollbarState(o.horizontalHasArrows?o.arrowSize:0,o.horizontal===2?0:o.horizontalScrollbarSize,o.vertical===2?0:o.verticalScrollbarSize,a.width,a.scrollWidth,u.scrollLeft),visibility:o.horizontal,extraScrollbarClassName:"horizontal",scrollable:c,scrollByPage:o.scrollByPage});if(o.horizontalHasArrows){const r=(o.arrowSize-M.ARROW_IMG_SIZE)/2,i=(o.horizontalScrollbarSize-M.ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:C,top:i,left:r,bottom:void 0,right:void 0,bgWidth:o.arrowSize,bgHeight:o.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new b.StandardWheelEvent(null,1,0))}),this._createArrow({className:"scra",icon:d,top:i,left:void 0,bottom:void 0,right:r,bgWidth:o.arrowSize,bgHeight:o.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new b.StandardWheelEvent(null,-1,0))})}this._createSlider(Math.floor((o.horizontalScrollbarSize-o.horizontalSliderSize)/2),0,void 0,o.horizontalSliderSize)}_updateSlider(c,o){this.slider.setWidth(c),this.slider.setLeft(o)}_renderDomNode(c,o){this.domNode.setWidth(c),this.domNode.setHeight(o),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(c){return this._shouldRender=this._onElementScrollSize(c.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(c.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(c.width)||this._shouldRender,this._shouldRender}_mouseDownRelativePosition(c,o){return c}_sliderMousePosition(c){return c.posx}_sliderOrthogonalMousePosition(c){return c.posy}_updateScrollbarSize(c){this.slider.setHeight(c)}writeScrollPosition(c,o){c.scrollLeft=o}}e.HorizontalScrollbar=g}),define(Q[289],J([0,1,50,200,158,194,27]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VerticalScrollbar=void 0;const C=S.registerCodicon("scrollbar-button-up",S.Codicon.triangleUp),d=S.registerCodicon("scrollbar-button-down",S.Codicon.triangleDown);class g extends N.AbstractScrollbar{constructor(c,o,s){const a=c.getScrollDimensions(),u=c.getCurrentScrollPosition();super({lazyRender:o.lazyRender,host:s,scrollbarState:new w.ScrollbarState(o.verticalHasArrows?o.arrowSize:0,o.vertical===2?0:o.verticalScrollbarSize,0,a.height,a.scrollHeight,u.scrollTop),visibility:o.vertical,extraScrollbarClassName:"vertical",scrollable:c,scrollByPage:o.scrollByPage});if(o.verticalHasArrows){const r=(o.arrowSize-M.ARROW_IMG_SIZE)/2,i=(o.verticalScrollbarSize-M.ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:C,top:r,left:i,bottom:void 0,right:void 0,bgWidth:o.verticalScrollbarSize,bgHeight:o.arrowSize,onActivate:()=>this._host.onMouseWheel(new b.StandardWheelEvent(null,0,1))}),this._createArrow({className:"scra",icon:d,top:void 0,left:i,bottom:r,right:void 0,bgWidth:o.verticalScrollbarSize,bgHeight:o.arrowSize,onActivate:()=>this._host.onMouseWheel(new b.StandardWheelEvent(null,0,-1))})}this._createSlider(0,Math.floor((o.verticalScrollbarSize-o.verticalSliderSize)/2),o.verticalSliderSize,void 0)}_updateSlider(c,o){this.slider.setHeight(c),this.slider.setTop(o)}_renderDomNode(c,o){this.domNode.setWidth(o),this.domNode.setHeight(c),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(c){return this._shouldRender=this._onElementScrollSize(c.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(c.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(c.height)||this._shouldRender,this._shouldRender}_mouseDownRelativePosition(c,o){return o}_sliderMousePosition(c){return c.posy}_sliderOrthogonalMousePosition(c){return c.posx}_updateScrollbarSize(c){this.slider.setWidth(c)}writeScrollPosition(c,o){c.scrollTop=o}}e.VerticalScrollbar=g}),define(Q[44],J([0,1,152,72,24,8,43]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataUri=e.resolvePath=e.normalizePath=e.joinPath=e.dirname=e.basename=e.basenameOrAuthority=e.isEqual=e.extUri=e.ExtUri=e.originalFSPath=void 0;function C(p){return M.uriToFsPath(p,!0)}e.originalFSPath=C;class d{constructor(c){this._ignorePathCasing=c}compare(c,o,s=!1){return c===o?0:w.compare(this.getComparisonKey(c,s),this.getComparisonKey(o,s))}isEqual(c,o,s=!1){return c===o?!0:!c||!o?!1:this.getComparisonKey(c,s)===this.getComparisonKey(o,s)}getComparisonKey(c,o=!1){return c.with({path:this._ignorePathCasing(c)?c.path.toLowerCase():void 0,fragment:o?null:void 0}).toString()}joinPath(c,...o){return M.URI.joinPath(c,...o)}basenameOrAuthority(c){return e.basename(c)||c.authority}basename(c){return N.posix.basename(c.path)}dirname(c){if(c.path.length===0)return c;let o;return c.scheme===S.Schemas.file?o=M.URI.file(N.dirname(C(c))).path:(o=N.posix.dirname(c.path),c.authority&&o.length&&o.charCodeAt(0)!==47&&(console.error(`dirname("${c.toString})) resulted in a relative path`),o="/")),c.with({path:o})}normalizePath(c){if(!c.path.length)return c;let o;return c.scheme===S.Schemas.file?o=M.URI.file(N.normalize(C(c))).path:o=N.posix.normalize(c.path),c.with({path:o})}resolvePath(c,o){if(c.scheme===S.Schemas.file){const s=M.URI.file(N.resolve(C(c),o));return c.with({authority:s.authority,path:s.path})}return o.indexOf("/")===-1&&(o=b.toSlashes(o),/^[a-zA-Z]:(\/|$)/.test(o)&&(o="/"+o)),c.with({path:N.posix.resolve(c.path,o)})}}e.ExtUri=d,e.extUri=new d(()=>!1),e.isEqual=e.extUri.isEqual.bind(e.extUri),e.basenameOrAuthority=e.extUri.basenameOrAuthority.bind(e.extUri),e.basename=e.extUri.basename.bind(e.extUri),e.dirname=e.extUri.dirname.bind(e.extUri),e.joinPath=e.extUri.joinPath.bind(e.extUri),e.normalizePath=e.extUri.normalizePath.bind(e.extUri),e.resolvePath=e.extUri.resolvePath.bind(e.extUri);var g;(function(p){p.META_DATA_LABEL="label",p.META_DATA_DESCRIPTION="description",p.META_DATA_SIZE="size",p.META_DATA_MIME="mime";function c(o){const s=new Map;o.path.substring(o.path.indexOf(";")+1,o.path.lastIndexOf(";")).split(";").forEach(r=>{const[i,n]=r.split(":");i&&n&&s.set(i,n)});const u=o.path.substring(0,o.path.indexOf(";"));return u&&s.set(p.META_DATA_MIME,u),s}p.parseMetaData=c})(g=e.DataUri||(e.DataUri={}))}),define(Q[290],J([0,1,7,156,12,73,119,684,685,199,40,8,24,43,102,44,50,103,6,55]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t){"use strict";var l;Object.defineProperty(e,"__esModule",{value:!0}),e.renderMarkdown=void 0;const h=(l=window.trustedTypes)===null||l===void 0?void 0:l.createPolicy("insane",{createHTML(v,y){return d.insane(v,y)}});function m(v,y={},L={}){var I;const k=N.createElement(y),E=function(R){let W;try{W=g.parse(decodeURIComponent(R))}catch(x){}return W?(W=p.cloneAndChange(W,x=>{if(v.uris&&v.uris[x])return o.URI.revive(v.uris[x])}),encodeURIComponent(JSON.stringify(W))):R},T=function(R,W){const x=v.uris&&v.uris[R];if(!x)return R;let K=o.URI.revive(x);return o.URI.parse(R).toString()===K.toString()?R:W?s.FileAccess.asBrowserUri(K).toString(!0):(K.query&&(K=K.with({query:E(K.query)})),K.toString())};let O;const A=new Promise(R=>O=R),B=new C.Renderer;B.image=(R,W,x)=>{let K=[],Y=[];if(R){({href:R,dimensions:K}=w.parseHrefAndDimensions(R)),R=T(R,!0);try{const ee=o.URI.parse(R);y.baseUrl&&ee.scheme===s.Schemas.file&&(R=u.resolvePath(y.baseUrl,R).toString())}catch(ee){}Y.push(`src="${R}"`)}return x&&Y.push(`alt="${x}"`),W&&Y.push(`title="${W}"`),K.length&&(Y=Y.concat(K)),""},B.link=(R,W,x)=>(R===x&&(x=w.removeMarkdownEscapes(x)),R=T(R,!1),y.baseUrl&&(/^\w[\w\d+.-]*:/.test(R)||(R=u.resolvePath(y.baseUrl,R).toString())),W=w.removeMarkdownEscapes(W),R=w.removeMarkdownEscapes(R),!R||R.match(/^data:|javascript:/i)||R.match(/^command:/i)&&!v.isTrusted||R.match(/^command:(\/\/\/)?_workbench\.downloadResource/i)?x:(R=R.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),`
    ${x}`)),B.paragraph=R=>(v.supportThemeIcons&&(R=i.renderLabelWithIcons(R).map(x=>typeof x=="string"?x:x.outerHTML).join("")),`

    ${R}

    `),y.codeBlockRenderer&&(B.code=(R,W)=>{const x=y.codeBlockRenderer(W,R),K=S.defaultGenerator.nextId(),Y=Promise.all([x,A]).then(ee=>{const se=k.querySelector(`div[data-code="${K}"]`);se&&b.reset(se,ee[0])}).catch(ee=>{});return y.asyncRenderCallback&&Y.then(y.asyncRenderCallback),`
    ${c.escape(R)}
    `}),y.actionHandler&&y.actionHandler.disposeables.add(n.Event.any(t.domEvent(k,"click"),t.domEvent(k,"auxclick"))(R=>{const W=new r.StandardMouseEvent(R);if(!(!W.leftButton&&!W.middleButton)){let x=W.target;if(!(x.tagName!=="A"&&(x=x.parentElement,!x||x.tagName!=="A")))try{const K=x.dataset.href;K&&y.actionHandler.callback(K,W)}catch(K){M.onUnexpectedError(K)}finally{W.preventDefault()}}})),L.sanitizer=R=>(v.isTrusted?R.match(/^(]+>)|(<\/\s*span>)$/):void 0)?R:"",L.sanitize=!0,L.silent=!0,L.renderer=B;let F=(I=v.value)!==null&&I!==void 0?I:"";F.length>1e5&&(F=`${F.substr(0,1e5)}\u2026`),v.supportThemeIcons&&(F=a.markdownEscapeEscapedIcons(F));const D=C.parse(F,L);if(k.innerHTML=_(v,D),O(),y.asyncRenderCallback)for(const R of k.getElementsByTagName("img")){const W=b.addDisposableListener(R,"load",()=>{W.dispose(),y.asyncRenderCallback()})}return k}e.renderMarkdown=m;function _(v,y){var L;const I=f(v);return(L=h==null?void 0:h.createHTML(y,I))!==null&&L!==void 0?L:d.insane(y,I)}function f(v){const y=[s.Schemas.http,s.Schemas.https,s.Schemas.mailto,s.Schemas.data,s.Schemas.file,s.Schemas.vscodeRemote,s.Schemas.vscodeRemoteResource];return v.isTrusted&&y.push(s.Schemas.command),{allowedSchemes:y,allowedTags:["ul","li","p","code","blockquote","ol","h1","h2","h3","h4","h5","h6","hr","em","pre","table","thead","tbody","tr","th","td","div","del","a","strong","br","img","span"],allowedAttributes:{a:["href","name","target","data-href"],img:["src","title","alt","width","height"],div:["class","data-code"],span:["class","style"],th:["align"],td:["align"]},filter(L){return L.tag==="span"&&v.isTrusted?L.attrs.style&&Object.keys(L.attrs).length===1?!!L.attrs.style.match(/^(color\:#[0-9a-fA-F]+;)?(background-color\:#[0-9a-fA-F]+;)?$/):L.attrs.class?!!L.attrs.class.match(/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/):!1:!0}}}}),define(Q[159],J([0,1,24,43,17,44,152]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.normalizeDriveLetter=e.getBaseLabel=void 0;function C(g){if(!!g){typeof g=="string"&&(g=b.URI.file(g));const p=w.basename(g)||(g.scheme===N.Schemas.file?g.fsPath:g.path);return M.isWindows&&S.isRootOrDriveLetter(p)?d(p):p}}e.getBaseLabel=C;function d(g){return S.hasDriveLetter(g)?g.charAt(0).toUpperCase()+g.slice(1):g}e.normalizeDriveLetter=d}),define(Q[291],J([0,1,72,8,198,43,44]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.guessMimeTypes=e.registerTextMime=e.MIME_UNKNOWN=e.MIME_TEXT=void 0,e.MIME_TEXT="text/plain",e.MIME_UNKNOWN="application/unknown";let C=[],d=[],g=[];function p(u,r=!1){const i=c(u);C.push(i),i.userConfigured?g.push(i):d.push(i),r&&!i.userConfigured&&C.forEach(n=>{n.mime===i.mime||n.userConfigured||(i.extension&&n.extension===i.extension&&console.warn(`Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>`),i.filename&&n.filename===i.filename&&console.warn(`Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>`),i.filepattern&&n.filepattern===i.filepattern&&console.warn(`Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>`),i.firstline&&n.firstline===i.firstline&&console.warn(`Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>`))})}e.registerTextMime=p;function c(u){return{id:u.id,mime:u.mime,filename:u.filename,extension:u.extension,filepattern:u.filepattern,firstline:u.firstline,userConfigured:u.userConfigured,filenameLowercase:u.filename?u.filename.toLowerCase():void 0,extensionLowercase:u.extension?u.extension.toLowerCase():void 0,filepatternLowercase:u.filepattern?u.filepattern.toLowerCase():void 0,filepatternOnPath:u.filepattern?u.filepattern.indexOf(b.posix.sep)>=0:!1}}function o(u,r){let i;if(u)switch(u.scheme){case w.Schemas.file:i=u.fsPath;break;case w.Schemas.data:i=S.DataUri.parseMetaData(u).get(S.DataUri.META_DATA_LABEL);break;default:i=u.path}if(!i)return[e.MIME_UNKNOWN];i=i.toLowerCase();const n=b.basename(i),t=s(i,n,g);if(t)return[t,e.MIME_TEXT];const l=s(i,n,d);if(l)return[l,e.MIME_TEXT];if(r){const h=a(r);if(h)return[h,e.MIME_TEXT]}return[e.MIME_UNKNOWN]}e.guessMimeTypes=o;function s(u,r,i){let n=null,t=null,l=null;for(let h=i.length-1;h>=0;h--){const m=i[h];if(r===m.filenameLowercase){n=m;break}if(m.filepattern&&(!t||m.filepattern.length>t.filepattern.length)){const _=m.filepatternOnPath?u:r;M.match(m.filepatternLowercase,_)&&(t=m)}m.extension&&(!l||m.extension.length>l.extension.length)&&r.endsWith(m.extensionLowercase)&&(l=m)}return n?n.mime:t?t.mime:l?l.mime:null}function a(u){if(N.startsWithUTF8BOM(u)&&(u=u.substr(1)),u.length>0)for(let r=C.length-1;r>=0;r--){const i=C[r];if(!!i.firstline){const n=u.match(i.firstline);if(n&&n.length>0)return i.mime}}return null}}),define(Q[292],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateUuid=void 0;const b=new Uint8Array(16),N=[];for(let S=0;S<256;S++)N.push(S.toString(16).padStart(2,"0"));let M;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?M=crypto.getRandomValues.bind(crypto):M=function(S){for(let C=0;C{this._pendingReplies[r]={resolve:i,reject:n},this._send({vsWorker:this._workerId,req:r,method:a,args:u})})}handleMessage(a){!a||!a.vsWorker||this._workerId!==-1&&a.vsWorker!==this._workerId||this._handleMessage(a)}_handleMessage(a){if(a.seq){let n=a;if(!this._pendingReplies[n.seq]){console.warn("Got reply to unknown seq");return}let t=this._pendingReplies[n.seq];if(delete this._pendingReplies[n.seq],n.err){let l=n.err;n.err.$isError&&(l=new Error,l.name=n.err.name,l.message=n.err.message,l.stack=n.err.stack),t.reject(l);return}t.resolve(n.res);return}let u=a,r=u.req;this._handler.handleMessage(u.method,u.args).then(n=>{this._send({vsWorker:this._workerId,seq:r,res:n,err:void 0})},n=>{n.detail instanceof Error&&(n.detail=b.transformErrorForSerialization(n.detail)),this._send({vsWorker:this._workerId,seq:r,res:void 0,err:b.transformErrorForSerialization(n)})})}_send(a){let u=[];if(a.req){const r=a;for(let i=0;i{this._protocol.handleMessage(h)},h=>{i&&i(h)})),this._protocol=new g({sendMessage:(h,m)=>{this._worker.postMessage(h,m)},handleMessage:(h,m)=>{if(typeof r[h]!="function")return Promise.reject(new Error("Missing method "+h+" on main thread host."));try{return Promise.resolve(r[h].apply(r,m))}catch(_){return Promise.reject(_)}}}),this._protocol.setWorkerId(this._worker.getId());let n=null;typeof self.require!="undefined"&&typeof self.require.getConfig=="function"?n=self.require.getConfig():typeof self.requirejs!="undefined"&&(n=self.requirejs.s.contexts._.config);const t=w.getAllMethodNames(r);this._onModuleLoaded=this._protocol.sendMessage(S,[this._worker.getId(),JSON.parse(JSON.stringify(n)),u,t]);const l=(h,m)=>this._request(h,m);this._lazyProxy=new Promise((h,m)=>{i=m,this._onModuleLoaded.then(_=>{h(w.createProxyObject(_,l))},_=>{m(_),this._onError("Worker failed to load "+u,_)})})}getProxyObject(){return this._lazyProxy}_request(a,u){return new Promise((r,i)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(a,u).then(r,i)},i)})}_onError(a,u){console.error(a),console.info(u)}}e.SimpleWorkerClient=p;class c{constructor(a,u){this._requestHandlerFactory=u,this._requestHandler=null,this._protocol=new g({sendMessage:(r,i)=>{a(r,i)},handleMessage:(r,i)=>this._handleMessage(r,i)})}onmessage(a){this._protocol.handleMessage(a)}_handleMessage(a,u){if(a===S)return this.initialize(u[0],u[1],u[2],u[3]);if(!this._requestHandler||typeof this._requestHandler[a]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+a));try{return Promise.resolve(this._requestHandler[a].apply(this._requestHandler,u))}catch(r){return Promise.reject(r)}}initialize(a,u,r,i){this._protocol.setWorkerId(a);const n=(l,h)=>this._protocol.sendMessage(l,h),t=w.createProxyObject(i,n);return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(t),Promise.resolve(w.getAllMethodNames(this._requestHandler))):(u&&(typeof u.baseUrl!="undefined"&&delete u.baseUrl,typeof u.paths!="undefined"&&typeof u.paths.vs!="undefined"&&delete u.paths.vs,typeof u.trustedTypesPolicy!==void 0&&delete u.trustedTypesPolicy,u.catchError=!0,self.require.config(u)),new Promise((l,h)=>{self.require([r],m=>{if(this._requestHandler=m.create(t),!this._requestHandler){h(new Error("No RequestHandler!"));return}l(w.getAllMethodNames(this._requestHandler))},h)}))}}e.SimpleWorkerServer=c;function o(s){return new c(s,null)}e.create=o}),define(Q[202],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ItemActivation=e.NO_KEY_MODS=void 0,e.NO_KEY_MODS={ctrlCmd:!1,alt:!1};var b;(function(N){N[N.NONE=0]="NONE",N[N.FIRST=1]="FIRST",N[N.SECOND=2]="SECOND",N[N.LAST=3]="LAST"})(b=e.ItemActivation||(e.ItemActivation={}))}),define(Q[293],J([0,1,2,6,15,20]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryStorageDatabase=e.Storage=void 0;var S;(function(g){g[g.None=0]="None",g[g.Initialized=1]="Initialized",g[g.Closed=2]="Closed"})(S||(S={}));class C extends b.Disposable{constructor(p,c=Object.create(null)){super();this.database=p,this.options=c,this._onDidChangeStorage=this._register(new N.Emitter),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=S.None,this.cache=new Map,this.flushDelayer=new M.ThrottledDelayer(C.DEFAULT_FLUSH_DELAY),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(p=>this.onDidChangeItemsExternal(p)))}onDidChangeItemsExternal(p){var c,o;(c=p.changed)===null||c===void 0||c.forEach((s,a)=>this.accept(a,s)),(o=p.deleted)===null||o===void 0||o.forEach(s=>this.accept(s,void 0))}accept(p,c){if(this.state!==S.Closed){let o=!1;w.isUndefinedOrNull(c)?o=this.cache.delete(p):this.cache.get(p)!==c&&(this.cache.set(p,c),o=!0),o&&this._onDidChangeStorage.fire(p)}}get(p,c){const o=this.cache.get(p);return w.isUndefinedOrNull(o)?c:o}getBoolean(p,c){const o=this.get(p);return w.isUndefinedOrNull(o)?c:o==="true"}getNumber(p,c){const o=this.get(p);return w.isUndefinedOrNull(o)?c:parseInt(o,10)}set(p,c){return Ie(this,void 0,void 0,function*(){if(this.state!==S.Closed){if(w.isUndefinedOrNull(c))return this.delete(p);const o=String(c);if(this.cache.get(p)!==o)return this.cache.set(p,o),this.pendingInserts.set(p,o),this.pendingDeletes.delete(p),this._onDidChangeStorage.fire(p),this.flushDelayer.trigger(()=>this.flushPending())}})}delete(p){return Ie(this,void 0,void 0,function*(){if(this.state!==S.Closed&&!!this.cache.delete(p))return this.pendingDeletes.has(p)||this.pendingDeletes.add(p),this.pendingInserts.delete(p),this._onDidChangeStorage.fire(p),this.flushDelayer.trigger(()=>this.flushPending())})}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}flushPending(){return Ie(this,void 0,void 0,function*(){if(!!this.hasPending){const p={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(p).finally(()=>{var c;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(c=this.whenFlushedCallbacks.pop())===null||c===void 0||c()})}})}dispose(){this.flushDelayer.cancel(),this.flushDelayer.dispose(),super.dispose()}}e.Storage=C,C.DEFAULT_FLUSH_DELAY=100;class d{constructor(){this.onDidChangeItemsExternal=N.Event.None,this.items=new Map}updateItems(p){return Ie(this,void 0,void 0,function*(){p.insert&&p.insert.forEach((c,o)=>this.items.set(o,c)),p.delete&&p.delete.forEach(c=>this.items.delete(c))})}}e.InMemoryStorageDatabase=d}),define(Q[294],J([0,1,17,201]),function(q,e,b,N){"use strict";var M;Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultWorkerFactory=e.getWorkerBootstrapUrl=void 0;const w=(M=window.trustedTypes)===null||M===void 0?void 0:M.createPolicy("defaultWorkerFactory",{createScriptURL:c=>c});function S(c,o){if(b.globals.MonacoEnvironment){if(typeof b.globals.MonacoEnvironment.getWorker=="function")return b.globals.MonacoEnvironment.getWorker(c,o);if(typeof b.globals.MonacoEnvironment.getWorkerUrl=="function"){const s=b.globals.MonacoEnvironment.getWorkerUrl(c,o);return new Worker(w?w.createScriptURL(s):s,{name:o})}}if(typeof q=="function"){const s=q.toUrl("./"+c),a=C(s,o);return new Worker(w?w.createScriptURL(a):a,{name:o})}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function C(c,o,s=!1){if(s||/^((http:)|(https:)|(file:))/.test(c)){const a=String(window.location),u=a.substr(0,a.length-window.location.hash.length-window.location.search.length-window.location.pathname.length);if(s||c.substring(0,u.length)!==u){const r="vs/base/worker/defaultWorkerFactory.js",i=q.toUrl(r).slice(0,-r.length),n=`/*${o}*/self.MonacoEnvironment={baseUrl: '${i}'};importScripts('${c}');/*${o}*/`;if(s)return`data:text/javascript;charset=utf-8,${encodeURIComponent(n)}`;const t=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(t)}}return c+"#"+o}e.getWorkerBootstrapUrl=C;function d(c){return typeof c.then=="function"}class g{constructor(o,s,a,u,r){this.id=s;const i=S("workerMain.js",a);d(i)?this.worker=i:this.worker=Promise.resolve(i),this.postMessage(o,[]),this.worker.then(n=>{n.onmessage=function(t){u(t.data)},n.onmessageerror=r,typeof n.addEventListener=="function"&&n.addEventListener("error",r)})}getId(){return this.id}postMessage(o,s){this.worker&&this.worker.then(a=>a.postMessage(o,s))}dispose(){this.worker&&this.worker.then(o=>o.terminate()),this.worker=null}}class p{constructor(o){this._label=o,this._webWorkerFailedBeforeError=!1}create(o,s,a){let u=++p.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new g(o,u,this._label||"anonymous"+u,s,r=>{N.logOnceWebWorkerWarning(r),this._webWorkerFailedBeforeError=r,a(r)})}}e.DefaultWorkerFactory=p,p.LAST_WORKER_ID=0}),define(Q[203],J([10]),{}),define(Q[295],J([10]),{}),define(Q[47],J([0,1,17,7,295]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.status=e.alert=e.setARIAContainer=void 0;const M=2e4;let w,S,C,d,g;function p(a){w=document.createElement("div"),w.className="monaco-aria-container";const u=()=>{const i=document.createElement("div");return i.className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),w.appendChild(i),i};S=u(),C=u();const r=()=>{const i=document.createElement("div");return i.className="monaco-status",i.setAttribute("role","complementary"),i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),w.appendChild(i),i};d=r(),g=r(),a.appendChild(w)}e.setARIAContainer=p;function c(a){!w||(S.textContent!==a?(N.clearNode(C),s(S,a)):(N.clearNode(S),s(C,a)))}e.alert=c;function o(a){!w||(b.isMacintosh?c(a):d.textContent!==a?(N.clearNode(g),s(d,a)):(N.clearNode(d),s(g,a)))}e.status=o;function s(a,u){N.clearNode(a),u.length>M&&(u=u.substr(0,M)),a.textContent=u,a.style.visibility="hidden",a.style.visibility="visible"}}),define(Q[296],J([10]),{}),define(Q[297],J([0,1,56,29,40,6,2,60,103,7,296]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Button=void 0;const p={buttonBackground:N.Color.fromHex("#0E639C"),buttonHoverBackground:N.Color.fromHex("#006BB3"),buttonForeground:N.Color.white};class c extends S.Disposable{constructor(s,a){super();this._onDidClick=this._register(new w.Emitter),this.options=a||Object.create(null),M.mixin(this.options,p,!1),this.buttonForeground=this.options.buttonForeground,this.buttonBackground=this.options.buttonBackground,this.buttonHoverBackground=this.options.buttonHoverBackground,this.buttonSecondaryForeground=this.options.buttonSecondaryForeground,this.buttonSecondaryBackground=this.options.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=this.options.buttonSecondaryHoverBackground,this.buttonBorder=this.options.buttonBorder,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),s.appendChild(this._element),this._register(C.Gesture.addTarget(this._element)),[g.EventType.CLICK,C.EventType.Tap].forEach(u=>{this._register(g.addDisposableListener(this._element,u,r=>{if(!this.enabled){g.EventHelper.stop(r);return}this._onDidClick.fire(r)}))}),this._register(g.addDisposableListener(this._element,g.EventType.KEY_DOWN,u=>{const r=new b.StandardKeyboardEvent(u);let i=!1;this.enabled&&(r.equals(3)||r.equals(10))?(this._onDidClick.fire(u),i=!0):r.equals(9)&&(this._element.blur(),i=!0),i&&g.EventHelper.stop(r,!0)})),this._register(g.addDisposableListener(this._element,g.EventType.MOUSE_OVER,u=>{this._element.classList.contains("disabled")||this.setHoverBackground()})),this._register(g.addDisposableListener(this._element,g.EventType.MOUSE_OUT,u=>{this.applyStyles()})),this.focusTracker=this._register(g.trackFocus(this._element)),this._register(this.focusTracker.onDidFocus(()=>this.setHoverBackground())),this._register(this.focusTracker.onDidBlur(()=>this.applyStyles())),this.applyStyles()}get onDidClick(){return this._onDidClick.event}setHoverBackground(){let s;this.options.secondary?s=this.buttonSecondaryHoverBackground?this.buttonSecondaryHoverBackground.toString():null:s=this.buttonHoverBackground?this.buttonHoverBackground.toString():null,s&&(this._element.style.backgroundColor=s)}style(s){this.buttonForeground=s.buttonForeground,this.buttonBackground=s.buttonBackground,this.buttonHoverBackground=s.buttonHoverBackground,this.buttonSecondaryForeground=s.buttonSecondaryForeground,this.buttonSecondaryBackground=s.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=s.buttonSecondaryHoverBackground,this.buttonBorder=s.buttonBorder,this.applyStyles()}applyStyles(){if(this._element){let s,a;this.options.secondary?(a=this.buttonSecondaryForeground?this.buttonSecondaryForeground.toString():"",s=this.buttonSecondaryBackground?this.buttonSecondaryBackground.toString():""):(a=this.buttonForeground?this.buttonForeground.toString():"",s=this.buttonBackground?this.buttonBackground.toString():"");const u=this.buttonBorder?this.buttonBorder.toString():"";this._element.style.color=a,this._element.style.backgroundColor=s,this._element.style.borderWidth=u?"1px":"",this._element.style.borderStyle=u?"solid":"",this._element.style.borderColor=u}}get element(){return this._element}set label(s){this._element.classList.add("monaco-text-button"),this.options.supportIcons?g.reset(this._element,...d.renderLabelWithIcons(s)):this._element.textContent=s,typeof this.options.title=="string"?this._element.title=this.options.title:this.options.title&&(this._element.title=s)}set enabled(s){s?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}}e.Button=c}),define(Q[298],J([10]),{}),define(Q[160],J([0,1,52,29,6,27,298]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Checkbox=void 0;const S={inputActiveOptionBorder:N.Color.fromHex("#007ACC00"),inputActiveOptionForeground:N.Color.fromHex("#FFFFFF"),inputActiveOptionBackground:N.Color.fromHex("#0E639C50")};class C extends b.Widget{constructor(g){super();this._onChange=this._register(new M.Emitter),this.onChange=this._onChange.event,this._onKeyDown=this._register(new M.Emitter),this.onKeyDown=this._onKeyDown.event,this._opts=Object.assign(Object.assign({},S),g),this._checked=this._opts.isChecked;const p=["monaco-custom-checkbox"];this._opts.icon&&p.push(...w.CSSIcon.asClassNameArray(this._opts.icon)),this._opts.actionClassName&&p.push(...this._opts.actionClassName.split(" ")),this._checked&&p.push("checked"),this.domNode=document.createElement("div"),this.domNode.title=this._opts.title,this.domNode.classList.add(...p),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,c=>{this.checked=!this._checked,this._onChange.fire(!1),c.preventDefault()}),this.ignoreGesture(this.domNode),this.onkeydown(this.domNode,c=>{if(c.keyCode===10||c.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),c.preventDefault();return}this._onKeyDown.fire(c)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(g){this._checked=g,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 2+2+2+16}style(g){g.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=g.inputActiveOptionBorder),g.inputActiveOptionForeground&&(this._opts.inputActiveOptionForeground=g.inputActiveOptionForeground),g.inputActiveOptionBackground&&(this._opts.inputActiveOptionBackground=g.inputActiveOptionBackground),this.applyStyles()}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"transparent",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground?this._opts.inputActiveOptionForeground.toString():"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground?this._opts.inputActiveOptionBackground.toString():"transparent")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}e.Checkbox=C}),define(Q[299],J([10]),{}),define(Q[300],J([10]),{}),define(Q[123],J([0,1,27,299,300]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.formatRule=void 0;function N(M){let w=M.definition;for(;w instanceof b.Codicon;)w=w.definition;return`.codicon-${M.id}:before { content: '${w.fontCharacter}'; }`}e.formatRule=N}),define(Q[301],J([10]),{}),define(Q[204],J([0,1,7,17,2,120,151,301]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextView=e.layout=e.LayoutAnchorMode=void 0;var C;(function(c){c[c.AVOID=0]="AVOID",c[c.ALIGN=1]="ALIGN"})(C=e.LayoutAnchorMode||(e.LayoutAnchorMode={}));function d(c,o,s){const a=s.mode===C.ALIGN?s.offset:s.offset+s.size,u=s.mode===C.ALIGN?s.offset+s.size:s.offset;return s.position===0?o<=c-a?a:o<=u?u-o:Math.max(c-o,0):o<=u?u-o:o<=c-a?a:0}e.layout=d;class g extends M.Disposable{constructor(o,s){super();this.container=null,this.delegate=null,this.toDisposeOnClean=M.Disposable.None,this.toDisposeOnSetContainer=M.Disposable.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=b.$(".context-view"),this.useFixedPosition=!1,this.useShadowDOM=!1,b.hide(this.view),this.setContainer(o,s),this._register(M.toDisposable(()=>this.setContainer(null,1)))}setContainer(o,s){var a;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,(a=this.shadowRootHostElement)===null||a===void 0||a.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),o){if(this.container=o,this.useFixedPosition=s!==1,this.useShadowDOM=s===3,this.useShadowDOM){this.shadowRootHostElement=b.$(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const r=document.createElement("style");r.textContent=p,this.shadowRoot.appendChild(r),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(b.$("slot"))}else this.container.appendChild(this.view);const u=new M.DisposableStore;g.BUBBLE_UP_EVENTS.forEach(r=>{u.add(b.addStandardDisposableListener(this.container,r,i=>{this.onDOMEvent(i,!1)}))}),g.BUBBLE_DOWN_EVENTS.forEach(r=>{u.add(b.addStandardDisposableListener(this.container,r,i=>{this.onDOMEvent(i,!0)},!0))}),this.toDisposeOnSetContainer=u}}show(o){this.isVisible()&&this.hide(),b.clearNode(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="2500",this.view.style.position=this.useFixedPosition?"fixed":"absolute",b.show(this.view),this.toDisposeOnClean=o.render(this.view)||M.Disposable.None,this.delegate=o,this.doLayout(),this.delegate.focus&&this.delegate.focus()}getViewElement(){return this.view}layout(){if(!!this.isVisible()){if(this.delegate.canRelayout===!1&&!(N.isIOS&&S.BrowserFeatures.pointerEvents)){this.hide();return}this.delegate.layout&&this.delegate.layout(),this.doLayout()}}doLayout(){if(!!this.isVisible()){let o=this.delegate.getAnchor(),s;if(b.isHTMLElement(o)){let m=b.getDomNodePagePosition(o);s={top:m.top,left:m.left,width:m.width,height:m.height}}else s={top:o.y,left:o.x,width:o.width||1,height:o.height||2};const a=b.getTotalWidth(this.view),u=b.getTotalHeight(this.view),r=this.delegate.anchorPosition||0,i=this.delegate.anchorAlignment||0,n=this.delegate.anchorAxisAlignment||0;let t,l;if(n===0){const m={offset:s.top-window.pageYOffset,size:s.height,position:r===0?0:1},_={offset:s.left,size:s.width,position:i===0?0:1,mode:C.ALIGN};t=d(window.innerHeight,u,m)+window.pageYOffset,w.Range.intersects({start:t,end:t+u},{start:m.offset,end:m.offset+m.size})&&(_.mode=C.AVOID),l=d(window.innerWidth,a,_)}else{const m={offset:s.left,size:s.width,position:i===0?0:1},_={offset:s.top,size:s.height,position:r===0?0:1,mode:C.ALIGN};l=d(window.innerWidth,a,m),w.Range.intersects({start:l,end:l+a},{start:m.offset,end:m.offset+m.size})&&(_.mode=C.AVOID),t=d(window.innerHeight,u,_)+window.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(r===0?"bottom":"top"),this.view.classList.add(i===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const h=b.getDomNodePagePosition(this.container);this.view.style.top=`${t-(this.useFixedPosition?b.getDomNodePagePosition(this.view).top:h.top)}px`,this.view.style.left=`${l-(this.useFixedPosition?b.getDomNodePagePosition(this.view).left:h.left)}px`,this.view.style.width="initial"}}hide(o){const s=this.delegate;this.delegate=null,(s==null?void 0:s.onHide)&&s.onHide(o),this.toDisposeOnClean.dispose(),b.hide(this.view)}isVisible(){return!!this.delegate}onDOMEvent(o,s){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(o,document.activeElement):s&&!b.isAncestor(o.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}e.ContextView=g,g.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],g.BUBBLE_DOWN_EVENTS=["click"];let p=` + :host { + all: initial; /* 1st rule so subsequent properties are reset. */ + } + + @font-face { + font-family: "codicon"; + src: url("./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6") format("truetype"); + } + + .codicon[class*='codicon-'] { + font: normal normal normal 16px/1 codicon; + display: inline-block; + text-decoration: none; + text-rendering: auto; + text-align: center; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + } + + :host { + font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif; + } + + :host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; } + :host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; } + :host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; } + :host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; } + :host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; } + + :host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; } + :host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; } + :host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; } + :host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; } + :host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; } + + :host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; } + :host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; } + :host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; } + :host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; } + :host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; } +`}),define(Q[302],J([10]),{}),define(Q[205],J([0,1,7,8,29,40,302]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CountBadge=void 0;const S={badgeBackground:M.Color.fromHex("#4D4D4D"),badgeForeground:M.Color.fromHex("#FFFFFF")};class C{constructor(g,p){this.count=0,this.options=p||Object.create(null),w.mixin(this.options,S,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=b.append(g,b.$(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(g){this.count=g,this.render()}setTitleFormat(g){this.titleFormat=g,this.render()}render(){this.element.textContent=N.format(this.countFormat,this.count),this.element.title=N.format(this.titleFormat,this.count),this.applyStyles()}style(g){this.badgeBackground=g.badgeBackground,this.badgeForeground=g.badgeForeground,this.badgeBorder=g.badgeBorder,this.applyStyles()}applyStyles(){if(this.element){const g=this.badgeBackground?this.badgeBackground.toString():"",p=this.badgeForeground?this.badgeForeground.toString():"",c=this.badgeBorder?this.badgeBorder.toString():"";this.element.style.backgroundColor=g,this.element.style.color=p,this.element.style.borderWidth=c?"1px":"",this.element.style.borderStyle=c?"solid":"",this.element.style.borderColor=c}}}e.CountBadge=C}),define(Q[206],J([10]),{}),define(Q[207],J([10]),{}),define(Q[303],J([10]),{}),define(Q[304],J([10]),{}),define(Q[305],J([10]),{}),define(Q[306],J([10]),{}),define(Q[208],J([10]),{}),define(Q[307],J([10]),{}),define(Q[124],J([0,1,307]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME=void 0,e.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME="monaco-mouse-cursor-text"}),define(Q[308],J([10]),{}),define(Q[309],J([0,1,2,29,40,7,15,308]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressBar=void 0;const C="done",d="active",g="infinite",p="discrete",c={progressBarBackground:N.Color.fromHex("#0E70C0")};class o extends b.Disposable{constructor(a,u){super();this.options=u||Object.create(null),M.mixin(this.options,c,!1),this.workedVal=0,this.progressBarBackground=this.options.progressBarBackground,this._register(this.showDelayedScheduler=new S.RunOnceScheduler(()=>w.show(this.element),0)),this.create(a)}create(a){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),a.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.element.appendChild(this.bit),this.applyStyles()}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(d,g,p),this.workedVal=0,this.totalWork=void 0}stop(){return this.doDone(!1)}doDone(a){return this.element.classList.add(C),this.element.classList.contains(g)?(this.bit.style.opacity="0",a?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",a?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(p,C),this.element.classList.add(d,g),this}getContainer(){return this.element}style(a){this.progressBarBackground=a.progressBarBackground,this.applyStyles()}applyStyles(){if(this.bit){const a=this.progressBarBackground?this.progressBarBackground.toString():"";this.bit.style.backgroundColor=a}}}e.ProgressBar=o}),define(Q[310],J([10]),{}),define(Q[104],J([0,1,2,17,20,60,50,6,7,55,15,310]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Sash=e.OrthogonalEdge=void 0;let c=!1;var o;(function(r){r.North="north",r.South="south",r.East="east",r.West="west"})(o=e.OrthogonalEdge||(e.OrthogonalEdge={}));let s=4;const a=new C.Emitter;class u extends b.Disposable{constructor(i,n,t){super();this.hoverDelayer=this._register(new p.Delayer(300)),this._state=3,this._onDidEnablementChange=this._register(new C.Emitter),this.onDidEnablementChange=this._onDidEnablementChange.event,this._onDidStart=this._register(new C.Emitter),this.onDidStart=this._onDidStart.event,this._onDidChange=this._register(new C.Emitter),this.onDidChange=this._onDidChange.event,this._onDidReset=this._register(new C.Emitter),this.onDidReset=this._onDidReset.event,this._onDidEnd=this._register(new C.Emitter),this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.orthogonalStartSashDisposables=this._register(new b.DisposableStore),this.orthogonalStartDragHandleDisposables=this._register(new b.DisposableStore),this.orthogonalEndSashDisposables=this._register(new b.DisposableStore),this.orthogonalEndDragHandleDisposables=this._register(new b.DisposableStore),this.el=d.append(i,d.$(".monaco-sash")),t.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${t.orthogonalEdge}`),N.isMacintosh&&this.el.classList.add("mac"),this._register(g.domEvent(this.el,"mousedown")(this.onMouseDown,this)),this._register(g.domEvent(this.el,"dblclick")(this.onMouseDoubleClick,this)),this._register(g.domEvent(this.el,"mouseenter")(()=>u.onMouseEnter(this))),this._register(g.domEvent(this.el,"mouseleave")(()=>u.onMouseLeave(this))),this._register(w.Gesture.addTarget(this.el)),this._register(g.domEvent(this.el,w.EventType.Start)(this.onTouchStart,this)),typeof t.size=="number"?(this.size=t.size,t.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=s,this._register(a.event(l=>{this.size=l,this.layout()}))),this.hidden=!1,this.layoutProvider=n,this.orthogonalStartSash=t.orthogonalStartSash,this.orthogonalEndSash=t.orthogonalEndSash,this.orientation=t.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",c),this.layout()}get state(){return this._state}set state(i){this._state!==i&&(this.el.classList.toggle("disabled",i===0),this.el.classList.toggle("minimum",i===1),this.el.classList.toggle("maximum",i===2),this._state=i,this._onDidEnablementChange.fire(i))}get orthogonalStartSash(){return this._orthogonalStartSash}set orthogonalStartSash(i){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),i){const n=t=>{this.orthogonalStartDragHandleDisposables.clear(),t!==0&&(this._orthogonalStartDragHandle=d.append(this.el,d.$(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(b.toDisposable(()=>this._orthogonalStartDragHandle.remove())),g.domEvent(this._orthogonalStartDragHandle,"mouseenter")(()=>u.onMouseEnter(i),void 0,this.orthogonalStartDragHandleDisposables),g.domEvent(this._orthogonalStartDragHandle,"mouseleave")(()=>u.onMouseLeave(i),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(i.onDidEnablementChange(n,this)),n(i.state)}this._orthogonalStartSash=i}get orthogonalEndSash(){return this._orthogonalEndSash}set orthogonalEndSash(i){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),i){const n=t=>{this.orthogonalEndDragHandleDisposables.clear(),t!==0&&(this._orthogonalEndDragHandle=d.append(this.el,d.$(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(b.toDisposable(()=>this._orthogonalEndDragHandle.remove())),g.domEvent(this._orthogonalEndDragHandle,"mouseenter")(()=>u.onMouseEnter(i),void 0,this.orthogonalEndDragHandleDisposables),g.domEvent(this._orthogonalEndDragHandle,"mouseleave")(()=>u.onMouseLeave(i),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(i.onDidEnablementChange(n,this)),n(i.state)}this._orthogonalEndSash=i}onMouseDown(i){d.EventHelper.stop(i,!1);let n=!1;if(!i.__orthogonalSashEvent){const E=this.getOrthogonalSash(i);E&&(n=!0,i.__orthogonalSashEvent=!0,E.onMouseDown(i))}if(this.linkedSash&&!i.__linkedSashEvent&&(i.__linkedSashEvent=!0,this.linkedSash.onMouseDown(i)),!!this.state){const t=[...d.getElementsByTagName("iframe"),...d.getElementsByTagName("webview")];for(const E of t)E.style.pointerEvents="none";const l=new S.StandardMouseEvent(i),h=l.posx,m=l.posy,_=l.altKey,f={startX:h,currentX:h,startY:m,currentY:m,altKey:_};this.el.classList.add("active"),this._onDidStart.fire(f);const v=d.createStyleSheet(this.el),y=()=>{let E="";n?E="all-scroll":this.orientation===1?this.state===1?E="s-resize":this.state===2?E="n-resize":E=N.isMacintosh?"row-resize":"ns-resize":this.state===1?E="e-resize":this.state===2?E="w-resize":E=N.isMacintosh?"col-resize":"ew-resize",v.textContent=`* { cursor: ${E} !important; }`},L=new b.DisposableStore;y(),n||this.onDidEnablementChange(y,null,L);const I=E=>{d.EventHelper.stop(E,!1);const T=new S.StandardMouseEvent(E),O={startX:h,currentX:T.posx,startY:m,currentY:T.posy,altKey:_};this._onDidChange.fire(O)},k=E=>{d.EventHelper.stop(E,!1),this.el.removeChild(v),this.el.classList.remove("active"),this._onDidEnd.fire(),L.dispose();for(const T of t)T.style.pointerEvents="auto"};g.domEvent(window,"mousemove")(I,null,L),g.domEvent(window,"mouseup")(k,null,L)}}onMouseDoubleClick(i){const n=this.getOrthogonalSash(i);n&&n._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}onTouchStart(i){d.EventHelper.stop(i);const n=[],t=i.pageX,l=i.pageY,h=i.altKey;this._onDidStart.fire({startX:t,currentX:t,startY:l,currentY:l,altKey:h}),n.push(d.addDisposableListener(this.el,w.EventType.Change,m=>{M.isNumber(m.pageX)&&M.isNumber(m.pageY)&&this._onDidChange.fire({startX:t,currentX:m.pageX,startY:l,currentY:m.pageY,altKey:h})})),n.push(d.addDisposableListener(this.el,w.EventType.End,()=>{this._onDidEnd.fire(),b.dispose(n)}))}static onMouseEnter(i,n=!1){i.el.classList.contains("active")?(i.hoverDelayer.cancel(),i.el.classList.add("hover")):i.hoverDelayer.trigger(()=>i.el.classList.add("hover")),!n&&i.linkedSash&&u.onMouseEnter(i.linkedSash,!0)}static onMouseLeave(i,n=!1){i.hoverDelayer.cancel(),i.el.classList.remove("hover"),!n&&i.linkedSash&&u.onMouseLeave(i.linkedSash,!0)}layout(){if(this.orientation===0){const i=this.layoutProvider;this.el.style.left=i.getVerticalSashLeft(this)-this.size/2+"px",i.getVerticalSashTop&&(this.el.style.top=i.getVerticalSashTop(this)+"px"),i.getVerticalSashHeight&&(this.el.style.height=i.getVerticalSashHeight(this)+"px")}else{const i=this.layoutProvider;this.el.style.top=i.getHorizontalSashTop(this)-this.size/2+"px",i.getHorizontalSashLeft&&(this.el.style.left=i.getHorizontalSashLeft(this)+"px"),i.getHorizontalSashWidth&&(this.el.style.width=i.getHorizontalSashWidth(this)+"px")}}hide(){this.hidden=!0,this.el.style.display="none",this.el.setAttribute("aria-hidden","true")}getOrthogonalSash(i){if(!(!i.target||!(i.target instanceof HTMLElement))&&i.target.classList.contains("orthogonal-drag-handle"))return i.target.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}e.Sash=u}),define(Q[311],J([10]),{}),define(Q[61],J([0,1,7,30,50,288,289,52,15,6,2,17,121,35,311]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DomScrollableElement=e.SmoothScrollableElement=e.ScrollableElement=e.AbstractScrollableElement=e.MouseWheelClassifier=void 0;const a=500,u=50,r=!0;class i{constructor(v,y,L){this.timestamp=v,this.deltaX=y,this.deltaY=L,this.score=0}}class n{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let v=1,y=0,L=1,I=this._rear;do{const k=I===this._front?v:Math.pow(2,-L);if(v-=k,y+=this._memory[I].score*k,I===this._front)break;I=(this._capacity+I-1)%this._capacity,L++}while(!0);return y<=.5}accept(v,y,L){const I=new i(v,y,L);I.score=this._computeScore(I),this._front===-1&&this._rear===-1?(this._memory[0]=I,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=I)}_computeScore(v){if(Math.abs(v.deltaX)>0&&Math.abs(v.deltaY)>0)return 1;let y=.5;const L=this._front===-1&&this._rear===-1?null:this._memory[this._rear];return(!this._isAlmostInt(v.deltaX)||!this._isAlmostInt(v.deltaY))&&(y+=.25),Math.min(Math.max(y,0),1)}_isAlmostInt(v){return Math.abs(Math.round(v)-v)<.01}}e.MouseWheelClassifier=n,n.INSTANCE=new n;class t extends C.Widget{constructor(v,y,L){super();this._onScroll=this._register(new g.Emitter),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new g.Emitter),v.style.overflow="hidden",this._options=_(y),this._scrollable=L,this._register(this._scrollable.onScroll(k=>{this._onWillScroll.fire(k),this._onDidScroll(k),this._onScroll.fire(k)}));const I={onMouseWheel:k=>this._onMouseWheel(k),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new S.VerticalScrollbar(this._scrollable,this._options,I)),this._horizontalScrollbar=this._register(new w.HorizontalScrollbar(this._scrollable,this._options,I)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(v),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=N.createFastDomNode(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=N.createFastDomNode(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=N.createFastDomNode(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,k=>this._onMouseOver(k)),this.onnonbubblingmouseout(this._listenOnDomNode,k=>this._onMouseOut(k)),this._hideTimeout=this._register(new d.TimeoutTimer),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=p.dispose(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarMouseDown(v){this._verticalScrollbar.delegateMouseDown(v)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(v){this._scrollable.setScrollDimensions(v,!1)}updateClassName(v){this._options.className=v,c.isMacintosh&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(v){typeof v.handleMouseWheel!="undefined"&&(this._options.handleMouseWheel=v.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof v.mouseWheelScrollSensitivity!="undefined"&&(this._options.mouseWheelScrollSensitivity=v.mouseWheelScrollSensitivity),typeof v.fastScrollSensitivity!="undefined"&&(this._options.fastScrollSensitivity=v.fastScrollSensitivity),typeof v.scrollPredominantAxis!="undefined"&&(this._options.scrollPredominantAxis=v.scrollPredominantAxis),typeof v.horizontalScrollbarSize!="undefined"&&this._horizontalScrollbar.updateScrollbarSize(v.horizontalScrollbarSize),this._options.lazyRender||this._render()}_setListeningToMouseWheel(v){if(this._mouseWheelToDispose.length>0!==v&&(this._mouseWheelToDispose=p.dispose(this._mouseWheelToDispose),v)){const L=I=>{this._onMouseWheel(new M.StandardWheelEvent(I))};this._mouseWheelToDispose.push(b.addDisposableListener(this._listenOnDomNode,b.EventType.MOUSE_WHEEL,L,{passive:!1}))}}_onMouseWheel(v){const y=n.INSTANCE;if(r){const k=window.devicePixelRatio/s.getZoomFactor();c.isWindows||c.isLinux?y.accept(Date.now(),v.deltaX/k,v.deltaY/k):y.accept(Date.now(),v.deltaX,v.deltaY)}let L=!1;if(v.deltaY||v.deltaX){let k=v.deltaY*this._options.mouseWheelScrollSensitivity,E=v.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(Math.abs(k)>=Math.abs(E)?E=0:k=0),this._options.flipAxes&&([k,E]=[E,k]);const T=!c.isMacintosh&&v.browserEvent&&v.browserEvent.shiftKey;(this._options.scrollYToX||T)&&!E&&(E=k,k=0),v.browserEvent&&v.browserEvent.altKey&&(E=E*this._options.fastScrollSensitivity,k=k*this._options.fastScrollSensitivity);const O=this._scrollable.getFutureScrollPosition();let A={};if(k){const B=O.scrollTop-u*k;this._verticalScrollbar.writeScrollPosition(A,B)}if(E){const B=O.scrollLeft-u*E;this._horizontalScrollbar.writeScrollPosition(A,B)}A=this._scrollable.validateScrollPosition(A),(O.scrollLeft!==A.scrollLeft||O.scrollTop!==A.scrollTop)&&(r&&this._options.mouseWheelSmoothScroll&&y.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(A):this._scrollable.setScrollPositionNow(A),L=!0)}let I=L;!I&&this._options.alwaysConsumeMouseWheel&&(I=!0),!I&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(I=!0),I&&(v.preventDefault(),v.stopPropagation())}_onDidScroll(v){this._shouldRender=this._horizontalScrollbar.onDidScroll(v)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(v)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(!!this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const v=this._scrollable.getCurrentScrollPosition(),y=v.scrollTop>0,L=v.scrollLeft>0;this._leftShadowDomNode.setClassName("shadow"+(L?" left":"")),this._topShadowDomNode.setClassName("shadow"+(y?" top":"")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"+(y?" top":"")+(L?" left":""))}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseOut(v){this._mouseIsOver=!1,this._hide()}_onMouseOver(v){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),a)}}e.AbstractScrollableElement=t;class l extends t{constructor(v,y){y=y||{},y.mouseWheelSmoothScroll=!1;const L=new o.Scrollable(0,I=>b.scheduleAtNextAnimationFrame(I));super(v,y,L);this._register(L)}setScrollPosition(v){this._scrollable.setScrollPositionNow(v)}}e.ScrollableElement=l;class h extends t{constructor(v,y,L){super(v,y,L)}setScrollPosition(v){v.reuseAnimation?this._scrollable.setScrollPositionSmooth(v,v.reuseAnimation):this._scrollable.setScrollPositionNow(v)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}e.SmoothScrollableElement=h;class m extends l{constructor(v,y){super(v,y);this._element=v,this.onScroll(L=>{L.scrollTopChanged&&(this._element.scrollTop=L.scrollTop),L.scrollLeftChanged&&(this._element.scrollLeft=L.scrollLeft)}),this.scanDomNode()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}e.DomScrollableElement=m;function _(f){const v={lazyRender:typeof f.lazyRender!="undefined"?f.lazyRender:!1,className:typeof f.className!="undefined"?f.className:"",useShadows:typeof f.useShadows!="undefined"?f.useShadows:!0,handleMouseWheel:typeof f.handleMouseWheel!="undefined"?f.handleMouseWheel:!0,flipAxes:typeof f.flipAxes!="undefined"?f.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof f.consumeMouseWheelIfScrollbarIsNeeded!="undefined"?f.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof f.alwaysConsumeMouseWheel!="undefined"?f.alwaysConsumeMouseWheel:!1,scrollYToX:typeof f.scrollYToX!="undefined"?f.scrollYToX:!1,mouseWheelScrollSensitivity:typeof f.mouseWheelScrollSensitivity!="undefined"?f.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof f.fastScrollSensitivity!="undefined"?f.fastScrollSensitivity:5,scrollPredominantAxis:typeof f.scrollPredominantAxis!="undefined"?f.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof f.mouseWheelSmoothScroll!="undefined"?f.mouseWheelSmoothScroll:!0,arrowSize:typeof f.arrowSize!="undefined"?f.arrowSize:11,listenOnDomNode:typeof f.listenOnDomNode!="undefined"?f.listenOnDomNode:null,horizontal:typeof f.horizontal!="undefined"?f.horizontal:1,horizontalScrollbarSize:typeof f.horizontalScrollbarSize!="undefined"?f.horizontalScrollbarSize:10,horizontalSliderSize:typeof f.horizontalSliderSize!="undefined"?f.horizontalSliderSize:0,horizontalHasArrows:typeof f.horizontalHasArrows!="undefined"?f.horizontalHasArrows:!1,vertical:typeof f.vertical!="undefined"?f.vertical:1,verticalScrollbarSize:typeof f.verticalScrollbarSize!="undefined"?f.verticalScrollbarSize:10,verticalHasArrows:typeof f.verticalHasArrows!="undefined"?f.verticalHasArrows:!1,verticalSliderSize:typeof f.verticalSliderSize!="undefined"?f.verticalSliderSize:0,scrollByPage:typeof f.scrollByPage!="undefined"?f.scrollByPage:!1};return v.horizontalSliderSize=typeof f.horizontalSliderSize!="undefined"?f.horizontalSliderSize:v.horizontalScrollbarSize,v.verticalSliderSize=typeof f.verticalSliderSize!="undefined"?f.verticalSliderSize:v.verticalScrollbarSize,c.isMacintosh&&(v.className+=" mac"),v}}),define(Q[209],J([0,1,7,2,61,303]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderHoverAction=e.HoverWidget=void 0;const w=b.$;class S extends N.Disposable{constructor(){super();this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this._scrollbar=this._register(new M.DomScrollableElement(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this._scrollbar.getDomNode())}onContentsChanged(){this._scrollbar.scanDomNode()}}e.HoverWidget=S;function C(d,g,p){const c=b.append(d,w("div.action-container")),o=b.append(c,w("a.action"));o.setAttribute("href","#"),o.setAttribute("role","button"),g.iconClass&&b.append(o,w(`span.icon.${g.iconClass}`));const s=b.append(o,w("span"));return s.textContent=p?`${g.label} (${p})`:g.label,b.addDisposableListener(c,b.EventType.CLICK,a=>{a.stopPropagation(),a.preventDefault(),g.run(c)})}e.renderHoverAction=C}),define(Q[161],J([0,1,40,2,60,6,55,61,121,281,287,99,120,19,149,15,35,7]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ListView=e.NativeDragAndDropData=e.ExternalElementsDragAndDropData=e.ElementsDragAndDropData=void 0;const n={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(v){return[v]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class t{constructor(y){this.elements=y}update(){}getData(){return this.elements}}e.ElementsDragAndDropData=t;class l{constructor(y){this.elements=y}update(){}getData(){return this.elements}}e.ExternalElementsDragAndDropData=l;class h{constructor(){this.types=[],this.files=[]}update(y){if(y.types&&this.types.splice(0,this.types.length,...y.types),y.files){this.files.splice(0,this.files.length);for(let L=0;Lk,(y==null?void 0:y.getPosInSet)?this.getPosInSet=y.getPosInSet.bind(y):this.getPosInSet=(L,I)=>I+1,(y==null?void 0:y.getRole)?this.getRole=y.getRole.bind(y):this.getRole=L=>"listitem",(y==null?void 0:y.isChecked)?this.isChecked=y.isChecked.bind(y):this.isChecked=L=>{}}}class f{constructor(y,L,I,k=n){if(this.virtualDelegate=L,this.domId=`list_id_${++f.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new u.Delayer(50),this.splicing=!1,this.dragOverAnimationStopDisposable=N.Disposable.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=N.Disposable.None,this.onDragLeaveTimeout=N.Disposable.None,this.disposables=new N.DisposableStore,this._onDidChangeContentHeight=new w.Emitter,this._horizontalScrolling=!1,k.horizontalScrolling&&k.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=new g.RangeMap;for(const T of I)this.renderers.set(T.templateId,T);this.cache=this.disposables.add(new p.RowCache(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof k.mouseSupport=="boolean"?k.mouseSupport:!0),this._horizontalScrolling=b.getOrDefault(k,T=>T.horizontalScrolling,n.horizontalScrolling),this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.additionalScrollHeight=typeof k.additionalScrollHeight=="undefined"?0:k.additionalScrollHeight,this.accessibilityProvider=new _(k.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",b.getOrDefault(k,T=>T.transformOptimization,n.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)"),this.disposables.add(M.Gesture.addTarget(this.rowsContainer)),this.scrollable=new d.Scrollable(b.getOrDefault(k,T=>T.smoothScrolling,!1)?125:0,T=>i.scheduleAtNextAnimationFrame(T)),this.scrollableElement=this.disposables.add(new C.SmoothScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:b.getOrDefault(k,T=>T.alwaysConsumeMouseWheel,n.alwaysConsumeMouseWheel),horizontal:1,vertical:b.getOrDefault(k,T=>T.verticalScrollMode,n.verticalScrollMode),useShadows:b.getOrDefault(k,T=>T.useShadows,n.useShadows)},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),y.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),S.domEvent(this.rowsContainer,M.EventType.Change)(this.onTouchChange,this,this.disposables),S.domEvent(this.scrollableElement.getDomNode(),"scroll")(T=>T.target.scrollTop=0,null,this.disposables),w.Event.map(S.domEvent(this.domNode,"dragover"),T=>this.toDragEvent(T))(this.onDragOver,this,this.disposables),w.Event.map(S.domEvent(this.domNode,"drop"),T=>this.toDragEvent(T))(this.onDrop,this,this.disposables),S.domEvent(this.domNode,"dragleave")(this.onDragLeave,this,this.disposables),S.domEvent(window,"dragend")(this.onDragEnd,this,this.disposables),this.setRowLineHeight=b.getOrDefault(k,T=>T.setRowLineHeight,n.setRowLineHeight),this.setRowHeight=b.getOrDefault(k,T=>T.setRowHeight,n.setRowHeight),this.supportDynamicHeights=b.getOrDefault(k,T=>T.supportDynamicHeights,n.supportDynamicHeights),this.dnd=b.getOrDefault(k,T=>T.dnd,n.dnd),this.layout()}get contentHeight(){return this.rangeMap.size}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(y){if(y!==this._horizontalScrolling){if(y&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=y,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const L of this.items)this.measureItemWidth(L);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:i.getContentWidth(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}updateOptions(y){y.additionalScrollHeight!==void 0&&(this.additionalScrollHeight=y.additionalScrollHeight),y.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(y.smoothScrolling?125:0),y.horizontalScrolling!==void 0&&(this.horizontalScrolling=y.horizontalScrolling)}splice(y,L,I=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(y,L,I)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(y,L,I=[]){const k=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),E={start:y,end:y+L},T=o.Range.intersect(k,E),O=new Map;for(let z=T.start;z({id:String(this.itemId++),element:z,templateId:this.virtualDelegate.getTemplateId(z),size:this.virtualDelegate.getHeight(z),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(z),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:N.Disposable.None}));let R;y===0&&L>=this.items.length?(this.rangeMap=new g.RangeMap,this.rangeMap.splice(0,0,D),R=this.items,this.items=D):(this.rangeMap.splice(y,L,D),R=this.items.splice(y,L,...D));const W=I.length-L,x=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),K=g.shift(B,W),Y=o.Range.intersect(x,K);for(let z=Y.start;zg.shift(z,W)),le=[{start:y,end:y+I.length},...se].map(z=>o.Range.intersect(x,z)),X=this.getNextToLastElement(le);for(const z of le)for(let P=z.start;Pz.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=i.scheduleAtNextAnimationFrame(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!!this.horizontalScrolling){let y=0;for(const L of this.items)typeof L.width!="undefined"&&(y=Math.max(y,L.width));this.scrollWidth=y,this.scrollableElement.setScrollDimensions({scrollWidth:y===0?0:y+10})}}rerender(){if(!!this.supportDynamicHeights){for(const y of this.items)y.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}element(y){return this.items[y].element}domElement(y){const L=this.items[y].row;return L&&L.domNode}elementHeight(y){return this.items[y].size}elementTop(y){return this.rangeMap.positionAt(y)}indexAt(y){return this.rangeMap.indexAt(y)}indexAfter(y){return this.rangeMap.indexAfter(y)}layout(y,L){let I={height:typeof y=="number"?y:i.getContentHeight(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,I.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(I),typeof L!="undefined"&&(this.renderWidth=L,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof L=="number"?L:i.getContentWidth(this.domNode)}))}render(y,L,I,k,E,T=!1){const O=this.getRenderRange(L,I),A=o.Range.relativeComplement(O,y),B=o.Range.relativeComplement(y,O),F=this.getNextToLastElement(A);if(T){const D=o.Range.intersect(y,O);for(let R=D.start;Rthis.onDragStart(k.element,A,F))}this.horizontalScrolling&&(this.measureItemWidth(k),this.eventuallyUpdateScrollWidth())}measureItemWidth(y){if(!(!y.row||!y.row.domNode)){y.row.domNode.style.width=r.isFirefox?"-moz-fit-content":"fit-content",y.width=i.getContentWidth(y.row.domNode);const L=window.getComputedStyle(y.row.domNode);L.paddingLeft&&(y.width+=parseFloat(L.paddingLeft)),L.paddingRight&&(y.width+=parseFloat(L.paddingRight)),y.row.domNode.style.width=""}}updateItemInDOM(y,L){y.row.domNode.style.top=`${this.elementTop(L)}px`,this.setRowHeight&&(y.row.domNode.style.height=`${y.size}px`),this.setRowLineHeight&&(y.row.domNode.style.lineHeight=`${y.size}px`),y.row.domNode.setAttribute("data-index",`${L}`),y.row.domNode.setAttribute("data-last-element",L===this.length-1?"true":"false"),y.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(y.element,L,this.length))),y.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(y.element,L))),y.row.domNode.setAttribute("id",this.getElementDomId(L)),y.row.domNode.classList.toggle("drop-target",y.dropTarget)}removeItemFromDOM(y){const L=this.items[y];if(L.dragStartDisposable.dispose(),L.row){const I=this.renderers.get(L.templateId);I&&I.disposeElement&&I.disposeElement(L.element,y,L.row.templateData,L.size),this.cache.release(L.row),L.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(y,L){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:y,reuseAnimation:L})}get scrollTop(){return this.getScrollTop()}set scrollTop(y){this.setScrollTop(y)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.additionalScrollHeight}get onMouseClick(){return w.Event.map(S.domEvent(this.domNode,"click"),y=>this.toMouseEvent(y))}get onMouseDblClick(){return w.Event.map(S.domEvent(this.domNode,"dblclick"),y=>this.toMouseEvent(y))}get onMouseMiddleClick(){return w.Event.filter(w.Event.map(S.domEvent(this.domNode,"auxclick"),y=>this.toMouseEvent(y)),y=>y.browserEvent.button===1)}get onMouseDown(){return w.Event.map(S.domEvent(this.domNode,"mousedown"),y=>this.toMouseEvent(y))}get onContextMenu(){return w.Event.map(S.domEvent(this.domNode,"contextmenu"),y=>this.toMouseEvent(y))}get onTouchStart(){return w.Event.map(S.domEvent(this.domNode,"touchstart"),y=>this.toTouchEvent(y))}get onTap(){return w.Event.map(S.domEvent(this.rowsContainer,M.EventType.Tap),y=>this.toGestureEvent(y))}toMouseEvent(y){const L=this.getItemIndexFromEventTarget(y.target||null),I=typeof L=="undefined"?void 0:this.items[L],k=I&&I.element;return{browserEvent:y,index:L,element:k}}toTouchEvent(y){const L=this.getItemIndexFromEventTarget(y.target||null),I=typeof L=="undefined"?void 0:this.items[L],k=I&&I.element;return{browserEvent:y,index:L,element:k}}toGestureEvent(y){const L=this.getItemIndexFromEventTarget(y.initialTarget||null),I=typeof L=="undefined"?void 0:this.items[L],k=I&&I.element;return{browserEvent:y,index:L,element:k}}toDragEvent(y){const L=this.getItemIndexFromEventTarget(y.target||null),I=typeof L=="undefined"?void 0:this.items[L],k=I&&I.element;return{browserEvent:y,index:L,element:k}}onScroll(y){try{const L=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(L,y.scrollTop,y.height,y.scrollLeft,y.scrollWidth),this.supportDynamicHeights&&this._rerender(y.scrollTop,y.height,y.inSmoothScrolling)}catch(L){throw console.error("Got bad scroll event:",y),L}}onTouchChange(y){y.preventDefault(),y.stopPropagation(),this.scrollTop-=y.translationY}onDragStart(y,L,I){if(!!I.dataTransfer){const k=this.dnd.getDragElements(y);if(I.dataTransfer.effectAllowed="copyMove",I.dataTransfer.setData(a.DataTransfers.RESOURCES,JSON.stringify([L])),I.dataTransfer.setDragImage){let E;this.dnd.getDragLabel&&(E=this.dnd.getDragLabel(k,I)),typeof E=="undefined"&&(E=String(k.length));const T=i.$(".monaco-drag-image");T.textContent=E,document.body.appendChild(T),I.dataTransfer.setDragImage(T,-10,-10),setTimeout(()=>document.body.removeChild(T),0)}this.currentDragData=new t(k),a.StaticDND.CurrentDragAndDropData=new l(k),this.dnd.onDragStart&&this.dnd.onDragStart(this.currentDragData,I)}}onDragOver(y){if(y.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),a.StaticDND.CurrentDragAndDropData&&a.StaticDND.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(y.browserEvent),!y.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(a.StaticDND.CurrentDragAndDropData)this.currentDragData=a.StaticDND.CurrentDragAndDropData;else{if(!y.browserEvent.dataTransfer.types)return!1;this.currentDragData=new h}const L=this.dnd.onDragOver(this.currentDragData,y.element,y.index,y.browserEvent);if(this.canDrop=typeof L=="boolean"?L:L.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;y.browserEvent.dataTransfer.dropEffect=typeof L!="boolean"&&L.effect===0?"copy":"move";let I;if(typeof L!="boolean"&&L.feedback?I=L.feedback:typeof y.index=="undefined"?I=[-1]:I=[y.index],I=s.distinct(I).filter(k=>k>=-1&&kk-E),I=I[0]===-1?[-1]:I,m(this.currentDragFeedback,I))return!0;if(this.currentDragFeedback=I,this.currentDragFeedbackDisposable.dispose(),I[0]===-1)this.domNode.classList.add("drop-target"),this.rowsContainer.classList.add("drop-target"),this.currentDragFeedbackDisposable=N.toDisposable(()=>{this.domNode.classList.remove("drop-target"),this.rowsContainer.classList.remove("drop-target")});else{for(const k of I){const E=this.items[k];E.dropTarget=!0,E.row&&E.row.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=N.toDisposable(()=>{for(const k of I){const E=this.items[k];E.dropTarget=!1,E.row&&E.row.domNode.classList.remove("drop-target")}})}return!0}onDragLeave(){this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=u.disposableTimeout(()=>this.clearDragOverFeedback(),100)}onDrop(y){if(!!this.canDrop){const L=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,a.StaticDND.CurrentDragAndDropData=void 0,!(!L||!y.browserEvent.dataTransfer)&&(y.browserEvent.preventDefault(),L.update(y.browserEvent.dataTransfer),this.dnd.drop(L,y.element,y.index,y.browserEvent))}}onDragEnd(y){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,a.StaticDND.CurrentDragAndDropData=void 0,this.dnd.onDragEnd&&this.dnd.onDragEnd(y)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=N.Disposable.None}setupDragAndDropScrollTopAnimation(y){if(!this.dragOverAnimationDisposable){const L=i.getTopLeftOffset(this.domNode).top;this.dragOverAnimationDisposable=i.animate(this.animateDragAndDropScrollTop.bind(this,L))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=u.disposableTimeout(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3),this.dragOverMouseY=y.pageY}animateDragAndDropScrollTop(y){if(this.dragOverMouseY!==void 0){const L=this.dragOverMouseY-y,I=this.renderHeight-35;L<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(L-35))):L>I&&(this.scrollTop+=Math.min(14,Math.floor(.3*(L-I))))}}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getItemIndexFromEventTarget(y){const L=this.scrollableElement.getDomNode();let I=y;for(;I instanceof HTMLElement&&I!==this.rowsContainer&&L.contains(I);){const k=I.getAttribute("data-index");if(k){const E=Number(k);if(!isNaN(E))return E}I=I.parentElement}}getRenderRange(y,L){return{start:this.rangeMap.indexAt(y),end:this.rangeMap.indexAfter(y+L-1)}}_rerender(y,L,I){const k=this.getRenderRange(y,L);let E,T;y===this.elementTop(k.start)?(E=k.start,T=0):k.end-k.start>1&&(E=k.start+1,T=this.elementTop(E)-y);let O=0;for(;;){const A=this.getRenderRange(y,L);let B=!1;for(let F=A.start;FH.templateData===V);if(U>=0){const H=this.renderedElements[U];this.trait.unrender(V),H.index=P}else{const H={index:P,templateData:V};this.renderedElements.push(H)}this.trait.renderIndex(P,V)}splice(z,P,V){const U=[];for(const H of this.renderedElements)H.index=z+P&&U.push({index:H.index+V-P,templateData:H.templateData});this.renderedElements=U}renderIndexes(z){for(const{index:P,templateData:V}of this.renderedElements)z.indexOf(P)>-1&&this.trait.renderIndex(P,V)}disposeTemplate(z){const P=this.renderedElements.findIndex(V=>V.templateData===z);P<0||this.renderedElements.splice(P,1)}}class h{constructor(z){this._trait=z,this.indexes=[],this.sortedIndexes=[],this._onChange=new g.Emitter,this.onChange=this._onChange.event}get trait(){return this._trait}get renderer(){return new l(this)}splice(z,P,V){const U=V.length-P,H=z+P,$=[...this.sortedIndexes.filter(ie=>ieie?oe+z:-1).filter(ie=>ie!==-1),...this.sortedIndexes.filter(ie=>ie>=H).map(ie=>ie+U)];this.renderer.splice(z,P,V.length),this._set($,$)}renderIndex(z,P){P.classList.toggle(this._trait,this.contains(z))}unrender(z){z.classList.remove(this._trait)}set(z,P){return this._set(z,[...z].sort(Y),P)}_set(z,P,V){const U=this.indexes,H=this.sortedIndexes;this.indexes=z,this.sortedIndexes=P;const $=x(H,z);return this.renderer.renderIndexes($),this._onChange.fire({indexes:z,browserEvent:V}),U}get(){return this.indexes}contains(z){return M.binarySearch(this.sortedIndexes,z,Y)>=0}dispose(){b.dispose(this._onChange)}}Me([w.memoize],h.prototype,"renderer",null);class m extends h{constructor(z){super("selected");this.setAriaSelected=z}renderIndex(z,P){super.renderIndex(z,P),this.setAriaSelected&&(this.contains(z)?P.setAttribute("aria-selected","true"):P.setAttribute("aria-selected","false"))}}class _{constructor(z,P,V){this.trait=z,this.view=P,this.identityProvider=V}splice(z,P,V){if(!this.identityProvider)return this.trait.splice(z,P,V.map(()=>!1));const U=this.trait.get().map($=>this.identityProvider.getId(this.view.element($)).toString()),H=V.map($=>U.indexOf(this.identityProvider.getId($).toString())>-1);this.trait.splice(z,P,H)}}function f(X){return X.tagName==="INPUT"||X.tagName==="TEXTAREA"}e.isInputElement=f;function v(X){return X.classList.contains("monaco-editor")?!0:X.classList.contains("monaco-list")||!X.parentElement?!1:v(X.parentElement)}e.isMonacoEditor=v;class y{constructor(z,P,V){this.list=z,this.view=P,this.disposables=new b.DisposableStore;const U=V.multipleSelectionSupport!==!1,H=g.Event.chain(p.domEvent(P.domNode,"keydown")).filter($=>!f($.target)).map($=>new d.StandardKeyboardEvent($));H.filter($=>$.keyCode===3).on(this.onEnter,this,this.disposables),H.filter($=>$.keyCode===16).on(this.onUpArrow,this,this.disposables),H.filter($=>$.keyCode===18).on(this.onDownArrow,this,this.disposables),H.filter($=>$.keyCode===11).on(this.onPageUpArrow,this,this.disposables),H.filter($=>$.keyCode===12).on(this.onPageDownArrow,this,this.disposables),H.filter($=>$.keyCode===9).on(this.onEscape,this,this.disposables),U&&H.filter($=>(S.isMacintosh?$.metaKey:$.ctrlKey)&&$.keyCode===31).on(this.onCtrlA,this,this.disposables)}onEnter(z){z.preventDefault(),z.stopPropagation(),this.list.setSelection(this.list.getFocus(),z.browserEvent)}onUpArrow(z){z.preventDefault(),z.stopPropagation(),this.list.focusPrevious(1,!1,z.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()}onDownArrow(z){z.preventDefault(),z.stopPropagation(),this.list.focusNext(1,!1,z.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()}onPageUpArrow(z){z.preventDefault(),z.stopPropagation(),this.list.focusPreviousPage(z.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()}onPageDownArrow(z){z.preventDefault(),z.stopPropagation(),this.list.focusNextPage(z.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()}onCtrlA(z){z.preventDefault(),z.stopPropagation(),this.list.setSelection(M.range(this.list.length),z.browserEvent),this.view.domNode.focus()}onEscape(z){this.list.getSelection().length&&(z.preventDefault(),z.stopPropagation(),this.list.setSelection([],z.browserEvent),this.view.domNode.focus())}dispose(){this.disposables.dispose()}}var L;(function(X){X[X.Idle=0]="Idle",X[X.Typing=1]="Typing"})(L||(L={})),e.DefaultKeyboardNavigationDelegate=new class{mightProducePrintableCharacter(X){return X.ctrlKey||X.metaKey||X.altKey?!1:X.keyCode>=31&&X.keyCode<=56||X.keyCode>=21&&X.keyCode<=30||X.keyCode>=93&&X.keyCode<=102||X.keyCode>=80&&X.keyCode<=90}};class I{constructor(z,P,V,U){this.list=z,this.view=P,this.keyboardNavigationLabelProvider=V,this.delegate=U,this.enabled=!1,this.state=L.Idle,this.automaticKeyboardNavigation=!0,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new b.DisposableStore,this.disposables=new b.DisposableStore,this.updateOptions(z.options)}updateOptions(z){(typeof z.enableKeyboardNavigation=="undefined"?!0:!!z.enableKeyboardNavigation)?this.enable():this.disable(),typeof z.automaticKeyboardNavigation!="undefined"&&(this.automaticKeyboardNavigation=z.automaticKeyboardNavigation)}enable(){if(!this.enabled){const z=g.Event.chain(p.domEvent(this.view.domNode,"keydown")).filter(U=>!f(U.target)).filter(()=>this.automaticKeyboardNavigation||this.triggered).map(U=>new d.StandardKeyboardEvent(U)).filter(U=>this.delegate.mightProducePrintableCharacter(U)).forEach(U=>{U.stopPropagation(),U.preventDefault()}).map(U=>U.browserEvent.key).event,P=g.Event.debounce(z,()=>null,800);g.Event.reduce(g.Event.any(z,P),(U,H)=>H===null?null:(U||"")+H)(this.onInput,this,this.enabledDisposables),P(this.onClear,this,this.enabledDisposables),this.enabled=!0,this.triggered=!1}}disable(){!this.enabled||(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var z;const P=this.list.getFocus();if(P.length>0&&P[0]===this.previouslyFocused){const V=(z=this.list.options.accessibilityProvider)===null||z===void 0?void 0:z.getAriaLabel(this.list.element(P[0]));V&&n.alert(V)}this.previouslyFocused=-1}onInput(z){if(!z){this.state=L.Idle,this.triggered=!1;return}const P=this.list.getFocus(),V=P.length>0?P[0]:0,U=this.state===L.Idle?1:0;this.state=L.Typing;for(let H=0;H!f(U.target)).map(U=>new d.StandardKeyboardEvent(U)).filter(U=>U.keyCode===2&&!U.ctrlKey&&!U.metaKey&&!U.shiftKey&&!U.altKey).on(this.onTab,this,this.disposables)}onTab(z){if(z.target===this.view.domNode){const P=this.list.getFocus();if(P.length!==0){const V=this.view.domElement(P[0]);if(!!V){const U=V.querySelector("[tabIndex]");if(!(!U||!(U instanceof HTMLElement)||U.tabIndex===-1)){const H=window.getComputedStyle(U);H.visibility==="hidden"||H.display==="none"||(z.preventDefault(),z.stopPropagation(),U.focus())}}}}}dispose(){this.disposables.dispose()}}function E(X){return S.isMacintosh?X.browserEvent.metaKey:X.browserEvent.ctrlKey}e.isSelectionSingleChangeEvent=E;function T(X){return X.browserEvent.shiftKey}e.isSelectionRangeChangeEvent=T;function O(X){return X instanceof MouseEvent&&X.button===2}const A={isSelectionSingleChangeEvent:E,isSelectionRangeChangeEvent:T};class B{constructor(z){this.list=z,this.disposables=new b.DisposableStore,this._onPointer=new g.Emitter,this.onPointer=this._onPointer.event,this.multipleSelectionSupport=z.options.multipleSelectionSupport!==!1,this.multipleSelectionSupport&&(this.multipleSelectionController=z.options.multipleSelectionController||A),this.mouseSupport=typeof z.options.mouseSupport=="undefined"||!!z.options.mouseSupport,this.mouseSupport&&(z.onMouseDown(this.onMouseDown,this,this.disposables),z.onContextMenu(this.onContextMenu,this,this.disposables),z.onMouseDblClick(this.onDoubleClick,this,this.disposables),z.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(C.Gesture.addTarget(z.getHTMLElement()))),g.Event.any(z.onMouseClick,z.onMouseMiddleClick,z.onTap)(this.onViewPointer,this,this.disposables)}isSelectionSingleChangeEvent(z){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(z):S.isMacintosh?z.browserEvent.metaKey:z.browserEvent.ctrlKey}isSelectionRangeChangeEvent(z){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(z):z.browserEvent.shiftKey}isSelectionChangeEvent(z){return this.isSelectionSingleChangeEvent(z)||this.isSelectionRangeChangeEvent(z)}onMouseDown(z){v(z.browserEvent.target)||document.activeElement!==z.browserEvent.target&&this.list.domFocus()}onContextMenu(z){if(!v(z.browserEvent.target)){const P=typeof z.index=="undefined"?[]:[z.index];this.list.setFocus(P,z.browserEvent)}}onViewPointer(z){if(!!this.mouseSupport&&!(f(z.browserEvent.target)||v(z.browserEvent.target))){let P=this.list.getFocus()[0];const V=this.list.getSelection();P=P===void 0?V[0]:P;const U=z.index;if(typeof U=="undefined"){this.list.setFocus([],z.browserEvent),this.list.setSelection([],z.browserEvent);return}if(this.multipleSelectionSupport&&this.isSelectionRangeChangeEvent(z))return this.changeSelection(z,P);if(this.multipleSelectionSupport&&this.isSelectionChangeEvent(z))return this.changeSelection(z,P);this.list.setFocus([U],z.browserEvent),O(z.browserEvent)||this.list.setSelection([U],z.browserEvent),this._onPointer.fire(z)}}onDoubleClick(z){if(!(f(z.browserEvent.target)||v(z.browserEvent.target))&&!(this.multipleSelectionSupport&&this.isSelectionChangeEvent(z))){const P=this.list.getFocus();this.list.setSelection(P,z.browserEvent)}}changeSelection(z,P){const V=z.index;if(this.isSelectionRangeChangeEvent(z)&&P!==void 0){const U=Math.min(P,V),H=Math.max(P,V),$=M.range(U,H+1),ie=this.list.getSelection(),oe=W(x(ie,[P]),P);if(oe.length===0)return;const ae=x($,K(ie,oe));this.list.setSelection(ae,z.browserEvent)}else if(this.isSelectionSingleChangeEvent(z)){const U=this.list.getSelection(),H=U.filter($=>$!==V);this.list.setFocus([V]),U.length===H.length?this.list.setSelection([...H,V],z.browserEvent):this.list.setSelection(H,z.browserEvent)}}dispose(){this.disposables.dispose()}}e.MouseController=B;class F{constructor(z,P){this.styleElement=z,this.selectorSuffix=P}style(z){const P=this.selectorSuffix&&`.${this.selectorSuffix}`,V=[];z.listBackground&&(z.listBackground.isOpaque()?V.push(`.monaco-list${P} .monaco-list-rows { background: ${z.listBackground}; }`):S.isMacintosh||console.warn(`List with id '${this.selectorSuffix}' was styled with a non-opaque background color. This will break sub-pixel antialiasing.`)),z.listFocusBackground&&(V.push(`.monaco-list${P}:focus .monaco-list-row.focused { background-color: ${z.listFocusBackground}; }`),V.push(`.monaco-list${P}:focus .monaco-list-row.focused:hover { background-color: ${z.listFocusBackground}; }`)),z.listFocusForeground&&V.push(`.monaco-list${P}:focus .monaco-list-row.focused { color: ${z.listFocusForeground}; }`),z.listActiveSelectionBackground&&(V.push(`.monaco-list${P}:focus .monaco-list-row.selected { background-color: ${z.listActiveSelectionBackground}; }`),V.push(`.monaco-list${P}:focus .monaco-list-row.selected:hover { background-color: ${z.listActiveSelectionBackground}; }`)),z.listActiveSelectionForeground&&V.push(`.monaco-list${P}:focus .monaco-list-row.selected { color: ${z.listActiveSelectionForeground}; }`),z.listFocusAndSelectionBackground&&V.push(` + .monaco-drag-image, + .monaco-list${P}:focus .monaco-list-row.selected.focused { background-color: ${z.listFocusAndSelectionBackground}; } + `),z.listFocusAndSelectionForeground&&V.push(` + .monaco-drag-image, + .monaco-list${P}:focus .monaco-list-row.selected.focused { color: ${z.listFocusAndSelectionForeground}; } + `),z.listInactiveFocusForeground&&(V.push(`.monaco-list${P} .monaco-list-row.focused { color: ${z.listInactiveFocusForeground}; }`),V.push(`.monaco-list${P} .monaco-list-row.focused:hover { color: ${z.listInactiveFocusForeground}; }`)),z.listInactiveFocusBackground&&(V.push(`.monaco-list${P} .monaco-list-row.focused { background-color: ${z.listInactiveFocusBackground}; }`),V.push(`.monaco-list${P} .monaco-list-row.focused:hover { background-color: ${z.listInactiveFocusBackground}; }`)),z.listInactiveSelectionBackground&&(V.push(`.monaco-list${P} .monaco-list-row.selected { background-color: ${z.listInactiveSelectionBackground}; }`),V.push(`.monaco-list${P} .monaco-list-row.selected:hover { background-color: ${z.listInactiveSelectionBackground}; }`)),z.listInactiveSelectionForeground&&V.push(`.monaco-list${P} .monaco-list-row.selected { color: ${z.listInactiveSelectionForeground}; }`),z.listHoverBackground&&V.push(`.monaco-list${P}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${z.listHoverBackground}; }`),z.listHoverForeground&&V.push(`.monaco-list${P} .monaco-list-row:hover:not(.selected):not(.focused) { color: ${z.listHoverForeground}; }`),z.listSelectionOutline&&V.push(`.monaco-list${P} .monaco-list-row.selected { outline: 1px dotted ${z.listSelectionOutline}; outline-offset: -1px; }`),z.listFocusOutline&&V.push(` + .monaco-drag-image, + .monaco-list${P}:focus .monaco-list-row.focused { outline: 1px solid ${z.listFocusOutline}; outline-offset: -1px; } + `),z.listInactiveFocusOutline&&V.push(`.monaco-list${P} .monaco-list-row.focused { outline: 1px dotted ${z.listInactiveFocusOutline}; outline-offset: -1px; }`),z.listHoverOutline&&V.push(`.monaco-list${P} .monaco-list-row:hover { outline: 1px dashed ${z.listHoverOutline}; outline-offset: -1px; }`),z.listDropBackground&&V.push(` + .monaco-list${P}.drop-target, + .monaco-list${P} .monaco-list-rows.drop-target, + .monaco-list${P} .monaco-list-row.drop-target { background-color: ${z.listDropBackground} !important; color: inherit !important; } + `),z.listFilterWidgetBackground&&V.push(`.monaco-list-type-filter { background-color: ${z.listFilterWidgetBackground} }`),z.listFilterWidgetOutline&&V.push(`.monaco-list-type-filter { border: 1px solid ${z.listFilterWidgetOutline}; }`),z.listFilterWidgetNoMatchesOutline&&V.push(`.monaco-list-type-filter.no-matches { border: 1px solid ${z.listFilterWidgetNoMatchesOutline}; }`),z.listMatchesShadow&&V.push(`.monaco-list-type-filter { box-shadow: 1px 1px 1px ${z.listMatchesShadow}; }`),z.tableColumnsBorder&&V.push(` + .monaco-table:hover > .monaco-split-view2, + .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before { + border-color: ${z.tableColumnsBorder}; + }`),this.styleElement.textContent=V.join(` +`)}}e.DefaultStyleController=F;const D={listFocusBackground:s.Color.fromHex("#7FB0D0"),listActiveSelectionBackground:s.Color.fromHex("#0E639C"),listActiveSelectionForeground:s.Color.fromHex("#FFFFFF"),listFocusAndSelectionBackground:s.Color.fromHex("#094771"),listFocusAndSelectionForeground:s.Color.fromHex("#FFFFFF"),listInactiveSelectionBackground:s.Color.fromHex("#3F3F46"),listHoverBackground:s.Color.fromHex("#2A2D2E"),listDropBackground:s.Color.fromHex("#383B3D"),treeIndentGuidesStroke:s.Color.fromHex("#a9a9a9"),tableColumnsBorder:s.Color.fromHex("#cccccc").transparent(.2)},R={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}}};function W(X,z){const P=X.indexOf(z);if(P===-1)return[];const V=[];let U=P-1;for(;U>=0&&X[U]===z-(P-U);)V.push(X[U--]);for(V.reverse(),U=P;U=X.length)P.push(z[U++]);else if(U>=z.length)P.push(X[V++]);else if(X[V]===z[U]){P.push(X[V]),V++,U++;continue}else X[V]=X.length)P.push(z[U++]);else if(U>=z.length)P.push(X[V++]);else if(X[V]===z[U]){V++,U++;continue}else X[V]X-z;class ee{constructor(z,P){this._templateId=z,this.renderers=P}get templateId(){return this._templateId}renderTemplate(z){return this.renderers.map(P=>P.renderTemplate(z))}renderElement(z,P,V,U){let H=0;for(const $ of this.renderers)$.renderElement(z,P,V[H++],U)}disposeElement(z,P,V,U){let H=0;for(const $ of this.renderers)$.disposeElement&&$.disposeElement(z,P,V[H],U),H+=1}disposeTemplate(z){let P=0;for(const V of this.renderers)V.disposeTemplate(z[P++])}}class se{constructor(z){this.accessibilityProvider=z,this.templateId="a18n"}renderTemplate(z){return z}renderElement(z,P,V){const U=this.accessibilityProvider.getAriaLabel(z);U?V.setAttribute("aria-label",U):V.removeAttribute("aria-label");const H=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(z);typeof H=="number"?V.setAttribute("aria-level",`${H}`):V.removeAttribute("aria-level")}disposeTemplate(z){}}class ne{constructor(z,P){this.list=z,this.dnd=P}getDragElements(z){const P=this.list.getSelectedElements();return P.indexOf(z)>-1?P:[z]}getDragURI(z){return this.dnd.getDragURI(z)}getDragLabel(z,P){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(z,P)}onDragStart(z,P){this.dnd.onDragStart&&this.dnd.onDragStart(z,P)}onDragOver(z,P,V,U){return this.dnd.onDragOver(z,P,V,U)}onDragEnd(z){this.dnd.onDragEnd&&this.dnd.onDragEnd(z)}drop(z,P,V,U){this.dnd.drop(z,P,V,U)}}class le{constructor(z,P,V,U,H=R){var $;this.user=z,this._options=H,this.eventBufferer=new g.EventBufferer,this._ariaLabel="",this.disposables=new b.DisposableStore,this._onDidDispose=new g.Emitter,this.onDidDispose=this._onDidDispose.event;const ie=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?($=this._options.accessibilityProvider)===null||$===void 0?void 0:$.getWidgetRole():"list";this.selection=new m(ie!=="listbox"),this.focus=new h("focused"),a.mixin(H,D,!1);const oe=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=H.accessibilityProvider,this.accessibilityProvider&&(oe.push(new se(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant&&this.accessibilityProvider.onDidChangeActiveDescendant(this.onDidChangeActiveDescendant,this,this.disposables)),U=U.map(G=>new ee(G.templateId,[...oe,G]));const ae=Object.assign(Object.assign({},H),{dnd:H.dnd&&new ne(this,H.dnd)});if(this.view=new o.ListView(P,V,U,ae),this.view.domNode.setAttribute("role",ie),H.styleController)this.styleController=H.styleController(this.view.domId);else{const G=t.createStyleSheet(this.view.domNode);this.styleController=new F(G,this.view.domId)}if(this.spliceable=new u.CombinedSpliceable([new _(this.focus,this.view,H.identityProvider),new _(this.selection,this.view,H.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.onDidFocus=g.Event.map(p.domEvent(this.view.domNode,"focus",!0),()=>null),this.onDidBlur=g.Event.map(p.domEvent(this.view.domNode,"blur",!0),()=>null),this.disposables.add(new k(this,this.view)),typeof H.keyboardSupport!="boolean"||H.keyboardSupport){const G=new y(this,this.view,H);this.disposables.add(G)}if(H.keyboardNavigationLabelProvider){const G=H.keyboardNavigationDelegate||e.DefaultKeyboardNavigationDelegate;this.typeLabelController=new I(this,this.view,H.keyboardNavigationLabelProvider,G),this.disposables.add(this.typeLabelController)}this.mouseController=this.createMouseController(H),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),H.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}get onDidChangeFocus(){return g.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange),z=>this.toListEvent(z))}get onDidChangeSelection(){return g.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange),z=>this.toListEvent(z))}get domId(){return this.view.domId}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let z=!1;const P=g.Event.chain(p.domEvent(this.view.domNode,"keydown")).map(H=>new d.StandardKeyboardEvent(H)).filter(H=>z=H.keyCode===58||H.shiftKey&&H.keyCode===68).map(p.stopEvent).filter(()=>!1).event,V=g.Event.chain(p.domEvent(this.view.domNode,"keyup")).forEach(()=>z=!1).map(H=>new d.StandardKeyboardEvent(H)).filter(H=>H.keyCode===58||H.shiftKey&&H.keyCode===68).map(p.stopEvent).map(({browserEvent:H})=>{const $=this.getFocus(),ie=$.length?$[0]:void 0,oe=typeof ie!="undefined"?this.view.element(ie):void 0,ae=typeof ie!="undefined"?this.view.domElement(ie):this.view.domNode;return{index:ie,element:oe,anchor:ae,browserEvent:H}}).event,U=g.Event.chain(this.view.onContextMenu).filter(H=>!z).map(({element:H,index:$,browserEvent:ie})=>({element:H,index:$,anchor:{x:ie.clientX+1,y:ie.clientY},browserEvent:ie})).event;return g.Event.any(P,V,U)}get onKeyDown(){return p.domEvent(this.view.domNode,"keydown")}createMouseController(z){return new B(this)}updateOptions(z={}){this._options=Object.assign(Object.assign({},this._options),z),this.typeLabelController&&this.typeLabelController.updateOptions(this._options),this.view.updateOptions(z)}get options(){return this._options}splice(z,P,V=[]){if(z<0||z>this.view.length)throw new c.ListError(this.user,`Invalid start index: ${z}`);if(P<0)throw new c.ListError(this.user,`Invalid delete count: ${P}`);P===0&&V.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(z,P,V))}rerender(){this.view.rerender()}element(z){return this.view.element(z)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(z){this.view.setScrollTop(z)}get ariaLabel(){return this._ariaLabel}set ariaLabel(z){this._ariaLabel=z,this.view.domNode.setAttribute("aria-label",z)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(z,P){this.view.layout(z,P)}setSelection(z,P){for(const V of z)if(V<0||V>=this.length)throw new c.ListError(this.user,`Invalid index ${V}`);this.selection.set(z,P)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(z=>this.view.element(z))}setFocus(z,P){for(const V of z)if(V<0||V>=this.length)throw new c.ListError(this.user,`Invalid index ${V}`);this.focus.set(z,P)}focusNext(z=1,P=!1,V,U){if(this.length!==0){const H=this.focus.get(),$=this.findNextIndex(H.length>0?H[0]+z:0,P,U);$>-1&&this.setFocus([$],V)}}focusPrevious(z=1,P=!1,V,U){if(this.length!==0){const H=this.focus.get(),$=this.findPreviousIndex(H.length>0?H[0]-z:0,P,U);$>-1&&this.setFocus([$],V)}}focusNextPage(z,P){let V=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);V=V===0?0:V-1;const U=this.view.element(V),H=this.getFocusedElements()[0];if(H!==U){const $=this.findPreviousIndex(V,!1,P);$>-1&&H!==this.view.element($)?this.setFocus([$],z):this.setFocus([V],z)}else{const $=this.view.getScrollTop();this.view.setScrollTop($+this.view.renderHeight-this.view.elementHeight(V)),this.view.getScrollTop()!==$&&(this.setFocus([]),setTimeout(()=>this.focusNextPage(z,P),0))}}focusPreviousPage(z,P){let V;const U=this.view.getScrollTop();U===0?V=this.view.indexAt(U):V=this.view.indexAfter(U-1);const H=this.view.element(V),$=this.getFocusedElements()[0];if($!==H){const ie=this.findNextIndex(V,!1,P);ie>-1&&$!==this.view.element(ie)?this.setFocus([ie],z):this.setFocus([V],z)}else{const ie=U;this.view.setScrollTop(U-this.view.renderHeight),this.view.getScrollTop()!==ie&&(this.setFocus([]),setTimeout(()=>this.focusPreviousPage(z,P),0))}}focusLast(z,P){if(this.length!==0){const V=this.findPreviousIndex(this.length-1,!1,P);V>-1&&this.setFocus([V],z)}}focusFirst(z,P){this.focusNth(0,z,P)}focusNth(z,P,V){if(this.length!==0){const U=this.findNextIndex(z,!1,V);U>-1&&this.setFocus([U],P)}}findNextIndex(z,P=!1,V){for(let U=0;U=this.length&&!P)return-1;if(z=z%this.length,!V||V(this.element(z)))return z;z++}return-1}findPreviousIndex(z,P=!1,V){for(let U=0;Uthis.view.element(z))}reveal(z,P){if(z<0||z>=this.length)throw new c.ListError(this.user,`Invalid index ${z}`);const V=this.view.getScrollTop(),U=this.view.elementTop(z),H=this.view.elementHeight(z);if(N.isNumber(P)){const $=H-this.view.renderHeight;this.view.setScrollTop($*r.clamp(P,0,1)+U)}else{const $=U+H,ie=V+this.view.renderHeight;U=ie||(U=ie&&this.view.setScrollTop($-this.view.renderHeight))}}getRelativeTop(z){if(z<0||z>=this.length)throw new c.ListError(this.user,`Invalid index ${z}`);const P=this.view.getScrollTop(),V=this.view.elementTop(z),U=this.view.elementHeight(z);if(VP+this.view.renderHeight)return null;const H=U-this.view.renderHeight;return Math.abs((P-V)/H)}getHTMLElement(){return this.view.domNode}style(z){this.styleController.style(z)}toListEvent({indexes:z,browserEvent:P}){return{indexes:z,elements:z.map(V=>this.view.element(V)),browserEvent:P}}_onFocusChange(){const z=this.focus.get();this.view.domNode.classList.toggle("element-focused",z.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var z;const P=this.focus.get();if(P.length>0){let V;((z=this.accessibilityProvider)===null||z===void 0?void 0:z.getActiveDescendantId)&&(V=this.accessibilityProvider.getActiveDescendantId(this.view.element(P[0]))),this.view.domNode.setAttribute("aria-activedescendant",V||this.view.getElementDomId(P[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const z=this.selection.get();this.view.domNode.classList.toggle("selection-none",z.length===0),this.view.domNode.classList.toggle("selection-single",z.length===1),this.view.domNode.classList.toggle("selection-multiple",z.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}Me([w.memoize],le.prototype,"onDidChangeFocus",null),Me([w.memoize],le.prototype,"onDidChangeSelection",null),Me([w.memoize],le.prototype,"onContextMenu",null),e.List=le}),define(Q[312],J([0,1,2,19,105,6,23,208]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PagedList=void 0;class C{constructor(o,s){this.renderer=o,this.modelProvider=s}get templateId(){return this.renderer.templateId}renderTemplate(o){return{data:this.renderer.renderTemplate(o),disposable:b.Disposable.None}}renderElement(o,s,a,u){if(a.disposable&&a.disposable.dispose(),!!a.data){const r=this.modelProvider();if(r.isResolved(o))return this.renderer.renderElement(r.get(o),o,a.data,u);const i=new S.CancellationTokenSource,n=r.resolve(o,i.token);a.disposable={dispose:()=>i.cancel()},this.renderer.renderPlaceholder(o,a.data),n.then(t=>this.renderer.renderElement(t,o,a.data,u))}}disposeTemplate(o){o.disposable&&(o.disposable.dispose(),o.disposable=void 0),o.data&&(this.renderer.disposeTemplate(o.data),o.data=void 0)}}class d{constructor(o,s){this.modelProvider=o,this.accessibilityProvider=s}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(o){const s=this.modelProvider();return s.isResolved(o)?this.accessibilityProvider.getAriaLabel(s.get(o)):null}}function g(c,o){return Object.assign(Object.assign({},o),{accessibilityProvider:o.accessibilityProvider&&new d(c,o.accessibilityProvider)})}class p{constructor(o,s,a,u,r={}){const i=()=>this.model,n=u.map(t=>new C(t,i));this.list=new M.List(o,s,a,n,g(i,r))}updateOptions(o){this.list.updateOptions(o)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return w.Event.map(this.list.onMouseDblClick,({element:o,index:s,browserEvent:a})=>({element:o===void 0?void 0:this._model.get(o),index:s,browserEvent:a}))}get onPointer(){return w.Event.map(this.list.onPointer,({element:o,index:s,browserEvent:a})=>({element:o===void 0?void 0:this._model.get(o),index:s,browserEvent:a}))}get onDidChangeFocus(){return w.Event.map(this.list.onDidChangeFocus,({elements:o,indexes:s,browserEvent:a})=>({elements:o.map(u=>this._model.get(u)),indexes:s,browserEvent:a}))}get onDidChangeSelection(){return w.Event.map(this.list.onDidChangeSelection,({elements:o,indexes:s,browserEvent:a})=>({elements:o.map(u=>this._model.get(u)),indexes:s,browserEvent:a}))}get model(){return this._model}set model(o){this._model=o,this.list.splice(0,this.list.length,N.range(o.length))}getFocus(){return this.list.getFocus()}setSelection(o,s){this.list.setSelection(o,s)}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(o=>this.model.get(o))}style(o){this.list.style(o)}dispose(){this.list.dispose()}}e.PagedList=p}),define(Q[313],J([10]),{}),define(Q[210],J([0,1,2,6,20,100,19,104,29,55,7,61,121,313]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SplitView=e.Sizing=void 0;const s={separatorBorder:d.Color.transparent};class a{constructor(h,m,_,f){this.container=h,this.view=m,this.disposable=f,this._cachedVisibleSize=void 0,typeof _=="number"?(this._size=_,this._cachedVisibleSize=void 0,h.classList.add("visible")):(this._size=0,this._cachedVisibleSize=_.cachedVisibleSize)}set size(h){this._size=h}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize=="undefined"}setVisible(h,m){h!==this.visible&&(h?(this.size=w.clamp(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof m=="number"?m:this.size,this.size=0),this.container.classList.toggle("visible",h),this.view.setVisible&&this.view.setVisible(h))}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get snap(){return!!this.view.snap}set enabled(h){this.container.style.pointerEvents=h?"":"none"}layout(h,m){this.layoutContainer(h),this.view.layout(this.size,h,m)}dispose(){return this.disposable.dispose(),this.view}}class u extends a{layoutContainer(h){this.container.style.top=`${h}px`,this.container.style.height=`${this.size}px`}}class r extends a{layoutContainer(h){this.container.style.left=`${h}px`,this.container.style.width=`${this.size}px`}}var i;(function(l){l[l.Idle=0]="Idle",l[l.Busy=1]="Busy"})(i||(i={}));var n;(function(l){l.Distribute={type:"distribute"};function h(_){return{type:"split",index:_}}l.Split=h;function m(_){return{type:"invisible",cachedVisibleSize:_}}l.Invisible=m})(n=e.Sizing||(e.Sizing={}));class t extends b.Disposable{constructor(h,m={}){var _,f;super();this.size=0,this.contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=i.Idle,this._onDidSashChange=this._register(new N.Emitter),this.onDidSashChange=this._onDidSashChange.event,this._onDidSashReset=this._register(new N.Emitter),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.orientation=M.isUndefined(m.orientation)?0:m.orientation,this.inverseAltBehavior=!!m.inverseAltBehavior,this.proportionalLayout=M.isUndefined(m.proportionalLayout)?!0:!!m.proportionalLayout,this.getSashOrthogonalSize=m.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),h.appendChild(this.el),this.sashContainer=p.append(this.el,p.$(".sash-container")),this.viewContainer=p.$(".split-view-container"),this.scrollable=new o.Scrollable(125,p.scheduleAtNextAnimationFrame),this.scrollableElement=this._register(new c.SmoothScrollableElement(this.viewContainer,{vertical:this.orientation===0?(_=m.scrollbarVisibility)!==null&&_!==void 0?_:1:2,horizontal:this.orientation===1?(f=m.scrollbarVisibility)!==null&&f!==void 0?f:1:2},this.scrollable)),this._register(this.scrollableElement.onScroll(v=>{this.viewContainer.scrollTop=v.scrollTop,this.viewContainer.scrollLeft=v.scrollLeft})),p.append(this.el,this.scrollableElement.getDomNode()),this.style(m.styles||s),m.descriptor&&(this.size=m.descriptor.size,m.descriptor.views.forEach((v,y)=>{const L=M.isUndefined(v.visible)||v.visible?v.size:{type:"invisible",cachedVisibleSize:v.size},I=v.view;this.doAddView(I,L,y,!0)}),this.contentSize=this.viewItems.reduce((v,y)=>v+y.size,0),this.saveProportions())}get orthogonalStartSash(){return this._orthogonalStartSash}set orthogonalStartSash(h){for(const m of this.sashItems)m.sash.orthogonalStartSash=h;this._orthogonalStartSash=h}get orthogonalEndSash(){return this._orthogonalEndSash}set orthogonalEndSash(h){for(const m of this.sashItems)m.sash.orthogonalEndSash=h;this._orthogonalEndSash=h}get startSnappingEnabled(){return this._startSnappingEnabled}set startSnappingEnabled(h){this._startSnappingEnabled!==h&&(this._startSnappingEnabled=h,this.updateSashEnablement())}get endSnappingEnabled(){return this._endSnappingEnabled}set endSnappingEnabled(h){this._endSnappingEnabled!==h&&(this._endSnappingEnabled=h,this.updateSashEnablement())}style(h){h.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",h.separatorBorder.toString()))}addView(h,m,_=this.viewItems.length,f){this.doAddView(h,m,_,f)}layout(h,m){const _=Math.max(this.size,this.contentSize);if(this.size=h,this.layoutContext=m,this.proportions)for(let f=0;fthis.viewItems[L].priority===1),y=f.filter(L=>this.viewItems[L].priority===2);this.resize(this.viewItems.length-1,h-_,void 0,v,y)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this.contentSize>0&&(this.proportions=this.viewItems.map(h=>h.size/this.contentSize))}onSashStart({sash:h,start:m,alt:_}){for(const L of this.viewItems)L.enabled=!1;const f=this.sashItems.findIndex(L=>L.sash===h),v=b.combinedDisposable(g.domEvent(document.body,"keydown")(L=>y(this.sashDragState.current,L.altKey)),g.domEvent(document.body,"keyup")(()=>y(this.sashDragState.current,!1))),y=(L,I)=>{const k=this.viewItems.map(B=>B.size);let E=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(I=!I),I)if(f===this.sashItems.length-1){const F=this.viewItems[f];E=(F.minimumSize-F.size)/2,T=(F.maximumSize-F.size)/2}else{const F=this.viewItems[f+1];E=(F.size-F.maximumSize)/2,T=(F.size-F.minimumSize)/2}let O,A;if(!I){const B=S.range(f,-1),F=S.range(f+1,this.viewItems.length),D=B.reduce((ne,le)=>ne+(this.viewItems[le].minimumSize-k[le]),0),R=B.reduce((ne,le)=>ne+(this.viewItems[le].viewMaximumSize-k[le]),0),W=F.length===0?Number.POSITIVE_INFINITY:F.reduce((ne,le)=>ne+(k[le]-this.viewItems[le].minimumSize),0),x=F.length===0?Number.NEGATIVE_INFINITY:F.reduce((ne,le)=>ne+(k[le]-this.viewItems[le].viewMaximumSize),0),K=Math.max(D,x),Y=Math.min(W,R),ee=this.findFirstSnapIndex(B),se=this.findFirstSnapIndex(F);if(typeof ee=="number"){const ne=this.viewItems[ee],le=Math.floor(ne.viewMinimumSize/2);O={index:ee,limitDelta:ne.visible?K-le:K+le,size:ne.size}}if(typeof se=="number"){const ne=this.viewItems[se],le=Math.floor(ne.viewMinimumSize/2);A={index:se,limitDelta:ne.visible?Y+le:Y-le,size:ne.size}}}this.sashDragState={start:L,current:L,index:f,sizes:k,minDelta:E,maxDelta:T,alt:I,snapBefore:O,snapAfter:A,disposable:v}};y(m,_)}onSashChange({current:h}){const{index:m,start:_,sizes:f,alt:v,minDelta:y,maxDelta:L,snapBefore:I,snapAfter:k}=this.sashDragState;this.sashDragState.current=h;const E=h-_,T=this.resize(m,E,f,void 0,void 0,y,L,I,k);if(v){const O=m===this.sashItems.length-1,A=this.viewItems.map(x=>x.size),B=O?m:m+1,F=this.viewItems[B],D=F.size-F.maximumSize,R=F.size-F.minimumSize,W=O?m-1:m+1;this.resize(W,-T,A,void 0,void 0,D,R)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(h){this._onDidSashChange.fire(h),this.sashDragState.disposable.dispose(),this.saveProportions();for(const m of this.viewItems)m.enabled=!0}onViewChange(h,m){const _=this.viewItems.indexOf(h);_<0||_>=this.viewItems.length||(m=typeof m=="number"?m:h.size,m=w.clamp(m,h.minimumSize,h.maximumSize),this.inverseAltBehavior&&_>0?(this.resize(_-1,Math.floor((h.size-m)/2)),this.distributeEmptySpace(),this.layoutViews()):(h.size=m,this.relayout([_],void 0)))}resizeView(h,m){if(this.state!==i.Idle)throw new Error("Cant modify splitview");if(this.state=i.Busy,!(h<0||h>=this.viewItems.length)){const _=S.range(this.viewItems.length).filter(L=>L!==h),f=[..._.filter(L=>this.viewItems[L].priority===1),h],v=_.filter(L=>this.viewItems[L].priority===2),y=this.viewItems[h];m=Math.round(m),m=w.clamp(m,y.minimumSize,Math.min(y.maximumSize,this.size)),y.size=m,this.relayout(f,v),this.state=i.Idle}}distributeViewSizes(){const h=[];let m=0;for(const L of this.viewItems)L.maximumSize-L.minimumSize>0&&(h.push(L),m+=L.size);const _=Math.floor(m/h.length);for(const L of h)L.size=w.clamp(_,L.minimumSize,L.maximumSize);const f=S.range(this.viewItems.length),v=f.filter(L=>this.viewItems[L].priority===1),y=f.filter(L=>this.viewItems[L].priority===2);this.relayout(v,y)}getViewSize(h){return h<0||h>=this.viewItems.length?-1:this.viewItems[h].size}doAddView(h,m,_=this.viewItems.length,f){if(this.state!==i.Idle)throw new Error("Cant modify splitview");this.state=i.Busy;const v=p.$(".split-view-view");_===this.viewItems.length?this.viewContainer.appendChild(v):this.viewContainer.insertBefore(v,this.viewContainer.children.item(_));const y=h.onDidChange(O=>this.onViewChange(E,O)),L=b.toDisposable(()=>this.viewContainer.removeChild(v)),I=b.combinedDisposable(y,L);let k;typeof m=="number"?k=m:m.type==="split"?k=this.getViewSize(m.index)/2:m.type==="invisible"?k={cachedVisibleSize:m.cachedVisibleSize}:k=h.minimumSize;const E=this.orientation===0?new u(v,h,k,I):new r(v,h,k,I);if(this.viewItems.splice(_,0,E),this.viewItems.length>1){let O={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash};const A=this.orientation===0?new C.Sash(this.sashContainer,{getHorizontalSashTop:ne=>this.getSashPosition(ne),getHorizontalSashWidth:this.getSashOrthogonalSize},Object.assign(Object.assign({},O),{orientation:1})):new C.Sash(this.sashContainer,{getVerticalSashLeft:ne=>this.getSashPosition(ne),getVerticalSashHeight:this.getSashOrthogonalSize},Object.assign(Object.assign({},O),{orientation:0})),B=this.orientation===0?ne=>({sash:A,start:ne.startY,current:ne.currentY,alt:ne.altKey}):ne=>({sash:A,start:ne.startX,current:ne.currentX,alt:ne.altKey}),D=N.Event.map(A.onDidStart,B)(this.onSashStart,this),W=N.Event.map(A.onDidChange,B)(this.onSashChange,this),K=N.Event.map(A.onDidEnd,()=>this.sashItems.findIndex(ne=>ne.sash===A))(this.onSashEnd,this),Y=A.onDidReset(()=>{const ne=this.sashItems.findIndex(V=>V.sash===A),le=S.range(ne,-1),X=S.range(ne+1,this.viewItems.length),z=this.findFirstSnapIndex(le),P=this.findFirstSnapIndex(X);typeof z=="number"&&!this.viewItems[z].visible||typeof P=="number"&&!this.viewItems[P].visible||this._onDidSashReset.fire(ne)}),ee=b.combinedDisposable(D,W,K,Y,A),se={sash:A,disposable:ee};this.sashItems.splice(_-1,0,se)}v.appendChild(h.element);let T;typeof m!="number"&&m.type==="split"&&(T=[m.index]),f||this.relayout([_],T),this.state=i.Idle,!f&&typeof m!="number"&&m.type==="distribute"&&this.distributeViewSizes()}relayout(h,m){const _=this.viewItems.reduce((f,v)=>f+v.size,0);this.resize(this.viewItems.length-1,this.size-_,void 0,h,m),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(h,m,_=this.viewItems.map(E=>E.size),f,v,y=Number.NEGATIVE_INFINITY,L=Number.POSITIVE_INFINITY,I,k){if(h<0||h>=this.viewItems.length)return 0;const E=S.range(h,-1),T=S.range(h+1,this.viewItems.length);if(v)for(const se of v)S.pushToStart(E,se),S.pushToStart(T,se);if(f)for(const se of f)S.pushToEnd(E,se),S.pushToEnd(T,se);const O=E.map(se=>this.viewItems[se]),A=E.map(se=>_[se]),B=T.map(se=>this.viewItems[se]),F=T.map(se=>_[se]),D=E.reduce((se,ne)=>se+(this.viewItems[ne].minimumSize-_[ne]),0),R=E.reduce((se,ne)=>se+(this.viewItems[ne].maximumSize-_[ne]),0),W=T.length===0?Number.POSITIVE_INFINITY:T.reduce((se,ne)=>se+(_[ne]-this.viewItems[ne].minimumSize),0),x=T.length===0?Number.NEGATIVE_INFINITY:T.reduce((se,ne)=>se+(_[ne]-this.viewItems[ne].maximumSize),0),K=Math.max(D,x,y),Y=Math.min(W,R,L);let ee=!1;if(I){const se=this.viewItems[I.index],ne=m>=I.limitDelta;ee=ne!==se.visible,se.setVisible(ne,I.size)}if(!ee&&k){const se=this.viewItems[k.index],ne=mL+I.size,0);let _=this.size-m;const f=S.range(this.viewItems.length-1,-1),v=f.filter(L=>this.viewItems[L].priority===1),y=f.filter(L=>this.viewItems[L].priority===2);for(const L of y)S.pushToStart(f,L);for(const L of v)S.pushToEnd(f,L);typeof h=="number"&&S.pushToEnd(f,h);for(let L=0;_!==0&&Lm+_.size,0);let h=0;for(const m of this.viewItems)m.layout(h,this.layoutContext),h+=m.size;this.sashItems.forEach(m=>m.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this.contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this.contentSize})}updateSashEnablement(){let h=!1;const m=this.viewItems.map(I=>h=I.size-I.minimumSize>0||h);h=!1;const _=this.viewItems.map(I=>h=I.maximumSize-I.size>0||h),f=[...this.viewItems].reverse();h=!1;const v=f.map(I=>h=I.size-I.minimumSize>0||h).reverse();h=!1;const y=f.map(I=>h=I.maximumSize-I.size>0||h).reverse();let L=0;for(let I=0;I0||this.startSnappingEnabled)?k.state=1:W&&m[I]&&(L0)return;if(!_.visible&&_.snap)return m}}dispose(){super.dispose(),this.viewItems.forEach(h=>h.dispose()),this.viewItems=[],this.sashItems.forEach(h=>h.disposable.dispose()),this.sashItems=[]}}e.SplitView=t}),define(Q[314],J([10]),{}),define(Q[315],J([0,1,105,7,210,6,314]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Table=void 0;class S{constructor(c,o,s){this.columns=c,this.getColumnSize=s,this.templateId=S.TemplateId,this.renderedTemplates=new Set;const a=new Map(o.map(u=>[u.templateId,u]));this.renderers=[];for(const u of c){const r=a.get(u.templateId);if(!r)throw new Error(`Table cell renderer for template id ${u.templateId} not found.`);this.renderers.push(r)}}renderTemplate(c){const o=N.append(c,N.$(".monaco-table-tr")),s=[],a=[];for(let r=0;rnew d(l,h)),n={size:i.reduce((l,h)=>l+h.column.weight,0),views:i.map(l=>({size:l.column.weight,view:l}))};this.splitview=new M.SplitView(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:n}),this.splitview.el.style.height=`${s.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${s.headerRowHeight}px`;const t=new S(a,u,l=>this.splitview.getViewSize(l));this.list=new b.List(c,this.domNode,C(s),[t],r),this.columnLayoutDisposable=w.Event.any(...i.map(l=>l.onDidLayout))(([l,h])=>t.layoutColumn(l,h)),this.styleElement=N.createStyleSheet(this.domNode),this.style({})}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}updateOptions(c){this.list.updateOptions(c)}splice(c,o,s=[]){this.list.splice(c,o,s)}getHTMLElement(){return this.domNode}style(c){const o=[];o.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before { + top: ${this.virtualDelegate.headerRowHeight+1}px; + height: calc(100% - ${this.virtualDelegate.headerRowHeight}px); + }`),this.styleElement.textContent=o.join(` +`),this.list.style(c)}getSelectedElements(){return this.list.getSelectedElements()}setSelection(c,o){this.list.setSelection(c,o)}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.splitview.dispose(),this.list.dispose(),this.columnLayoutDisposable.dispose()}}e.Table=g,g.InstanceCount=0}),define(Q[316],J([10]),{}),define(Q[125],J([10]),{}),define(Q[211],J([0,1,7,119,125]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getIconClass=void 0;const M={},w=new N.IdGenerator("quick-input-button-icon-");function S(C){if(!!C){let d;const g=C.dark.toString();return M[g]?d=M[g]:(d=w.nextId(),b.createCSSRule(`.${d}`,`background-image: ${b.asCSSUrl(C.light||C.dark)}`),b.createCSSRule(`.vs-dark .${d}, .hc-black .${d}`,`background-image: ${b.asCSSUrl(C.dark)}`),M[g]=d),d}}e.getIconClass=S}),define(Q[317],J([10]),{}),define(Q[318],J([10]),{}),define(Q[319],J([10]),{}),define(Q[320],J([10]),{}),define(Q[321],J([10]),{}),define(Q[322],J([10]),{}),define(Q[323],J([10]),{}),define(Q[324],J([10]),{}),define(Q[325],J([10]),{}),define(Q[326],J([10]),{}),define(Q[327],J([10]),{}),define(Q[328],J([10]),{}),define(Q[329],J([10]),{}),define(Q[330],J([10]),{}),define(Q[331],J([10]),{}),define(Q[332],J([10]),{}),define(Q[333],J([10]),{}),define(Q[334],J([10]),{}),define(Q[335],J([10]),{}),define(Q[336],J([10]),{}),define(Q[337],J([10]),{}),define(Q[338],J([10]),{}),define(Q[339],J([10]),{}),define(Q[340],J([10]),{}),define(Q[341],J([10]),{}),define(Q[342],J([10]),{}),define(Q[343],J([10]),{}),define(Q[344],J([10]),{}),define(Q[345],J([10]),{}),define(Q[346],J([10]),{}),define(Q[347],J([10]),{}),define(Q[348],J([10]),{}),define(Q[349],J([10]),{}),define(Q[350],J([10]),{}),define(Q[351],J([10]),{}),define(Q[352],J([10]),{}),define(Q[353],J([10]),{}),define(Q[354],J([10]),{}),define(Q[355],J([10]),{}),define(Q[356],J([10]),{}),define(Q[357],J([10]),{}),define(Q[358],J([10]),{}),define(Q[359],J([10]),{}),define(Q[360],J([10]),{}),define(Q[361],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readCharWidths=e.CharWidthRequest=void 0;class b{constructor(S,C){this.chr=S,this.type=C,this.width=0}fulfill(S){this.width=S}}e.CharWidthRequest=b;class N{constructor(S,C){this._bareFontInfo=S,this._requests=C,this._container=null,this._testElements=null}read(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const S=document.createElement("div");S.style.position="absolute",S.style.top="-50000px",S.style.width="50000px";const C=document.createElement("div");C.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),C.style.fontWeight=this._bareFontInfo.fontWeight,C.style.fontSize=this._bareFontInfo.fontSize+"px",C.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,C.style.lineHeight=this._bareFontInfo.lineHeight+"px",C.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",S.appendChild(C);const d=document.createElement("div");d.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),d.style.fontWeight="bold",d.style.fontSize=this._bareFontInfo.fontSize+"px",d.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,d.style.lineHeight=this._bareFontInfo.lineHeight+"px",d.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",S.appendChild(d);const g=document.createElement("div");g.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),g.style.fontWeight=this._bareFontInfo.fontWeight,g.style.fontSize=this._bareFontInfo.fontSize+"px",g.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,g.style.lineHeight=this._bareFontInfo.lineHeight+"px",g.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",g.style.fontStyle="italic",S.appendChild(g);const p=[];for(const c of this._requests){let o;c.type===0&&(o=C),c.type===2&&(o=d),c.type===1&&(o=g),o.appendChild(document.createElement("br"));const s=document.createElement("span");N._render(s,c),o.appendChild(s),p.push(s)}this._container=S,this._testElements=p}static _render(S,C){if(C.chr===" "){let d="\xA0";for(let g=0;g<8;g++)d+=d;S.innerText=d}else{let d=C.chr;for(let g=0;g<8;g++)d+=d;S.textContent=d}}_readFromDomElements(){for(let S=0,C=this._requests.length;S{w&&w[0]&&w[0].contentRect?this.observe({width:w[0].contentRect.width,height:w[0].contentRect.height}):this.observe()}),this.resizeObserver.observe(this.referenceDomElement)):this.measureReferenceDomElementToken===-1&&(this.measureReferenceDomElementToken=setInterval(()=>this.observe(),100))}stopObserving(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.measureReferenceDomElementToken!==-1&&(clearInterval(this.measureReferenceDomElementToken),this.measureReferenceDomElementToken=-1)}observe(w){this.measureReferenceDomElement(!0,w)}measureReferenceDomElement(w,S){let C=0,d=0;S?(C=S.width,d=S.height):this.referenceDomElement&&(C=this.referenceDomElement.clientWidth,d=this.referenceDomElement.clientHeight),C=Math.max(5,C),d=Math.max(5,d),(this.width!==C||this.height!==d)&&(this.width=C,this.height=d,w&&this.changeCallback())}}e.ElementSizeObserver=N}),define(Q[162],J([0,1,7,90,50,2]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalEditorMouseMoveMonitor=e.EditorPointerEventFactory=e.EditorMouseEventFactory=e.EditorMouseEvent=e.createEditorPagePosition=e.EditorPagePosition=e.ClientCoordinates=e.PageCoordinates=void 0;class S{constructor(u,r){this.x=u,this.y=r}toClientCoordinates(){return new C(this.x-b.StandardWindow.scrollX,this.y-b.StandardWindow.scrollY)}}e.PageCoordinates=S;class C{constructor(u,r){this.clientX=u,this.clientY=r}toPageCoordinates(){return new S(this.clientX+b.StandardWindow.scrollX,this.clientY+b.StandardWindow.scrollY)}}e.ClientCoordinates=C;class d{constructor(u,r,i,n){this.x=u,this.y=r,this.width=i,this.height=n}}e.EditorPagePosition=d;function g(a){const u=b.getDomNodePagePosition(a);return new d(u.left,u.top,u.width,u.height)}e.createEditorPagePosition=g;class p extends M.StandardMouseEvent{constructor(u,r){super(u);this.pos=new S(this.posx,this.posy),this.editorPos=g(r)}}e.EditorMouseEvent=p;class c{constructor(u){this._editorViewDomNode=u}_create(u){return new p(u,this._editorViewDomNode)}onContextMenu(u,r){return b.addDisposableListener(u,"contextmenu",i=>{r(this._create(i))})}onMouseUp(u,r){return b.addDisposableListener(u,"mouseup",i=>{r(this._create(i))})}onMouseDown(u,r){return b.addDisposableListener(u,"mousedown",i=>{r(this._create(i))})}onMouseLeave(u,r){return b.addDisposableNonBubblingMouseOutListener(u,i=>{r(this._create(i))})}onMouseMoveThrottled(u,r,i,n){const t=(l,h)=>i(l,this._create(h));return b.addDisposableThrottledListener(u,"mousemove",r,t,n)}}e.EditorMouseEventFactory=c;class o{constructor(u){this._editorViewDomNode=u}_create(u){return new p(u,this._editorViewDomNode)}onPointerUp(u,r){return b.addDisposableListener(u,"pointerup",i=>{r(this._create(i))})}onPointerDown(u,r){return b.addDisposableListener(u,"pointerdown",i=>{r(this._create(i))})}onPointerLeave(u,r){return b.addDisposableNonBubblingPointerOutListener(u,i=>{r(this._create(i))})}onPointerMoveThrottled(u,r,i,n){const t=(l,h)=>i(l,this._create(h));return b.addDisposableThrottledListener(u,"pointermove",r,t,n)}}e.EditorPointerEventFactory=o;class s extends w.Disposable{constructor(u){super();this._editorViewDomNode=u,this._globalMouseMoveMonitor=this._register(new N.GlobalMouseMoveMonitor),this._keydownListener=null}startMonitoring(u,r,i,n,t){this._keydownListener=b.addStandardDisposableListener(document,"keydown",h=>{h.toKeybinding().isModifierKey()||this._globalMouseMoveMonitor.stopMonitoring(!0,h.browserEvent)},!0);const l=(h,m)=>i(h,new p(m,this._editorViewDomNode));this._globalMouseMoveMonitor.startMonitoring(u,r,l,n,h=>{this._keydownListener.dispose(),t(h)})}stopMonitoring(){this._globalMouseMoveMonitor.stopMonitoring(!0)}}e.GlobalEditorMouseMoveMonitor=s}),define(Q[362],J([0,1,6,2]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractCodeEditorService=void 0;class M extends N.Disposable{constructor(){super();this._onCodeEditorAdd=this._register(new b.Emitter),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new b.Emitter),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onDiffEditorAdd=this._register(new b.Emitter),this._onDiffEditorRemove=this._register(new b.Emitter),this._onDecorationTypeRegistered=this._register(new b.Emitter),this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null)}addCodeEditor(S){this._codeEditors[S.getId()]=S,this._onCodeEditorAdd.fire(S)}removeCodeEditor(S){delete this._codeEditors[S.getId()]&&this._onCodeEditorRemove.fire(S)}listCodeEditors(){return Object.keys(this._codeEditors).map(S=>this._codeEditors[S])}addDiffEditor(S){this._diffEditors[S.getId()]=S,this._onDiffEditorAdd.fire(S)}removeDiffEditor(S){delete this._diffEditors[S.getId()]&&this._onDiffEditorRemove.fire(S)}listDiffEditors(){return Object.keys(this._diffEditors).map(S=>this._diffEditors[S])}getFocusedCodeEditor(){let S=null;const C=this.listCodeEditors();for(const d of C){if(d.hasTextFocus())return d;d.hasWidgetFocus()&&(S=d)}return S}setModelProperty(S,C,d){const g=S.toString();let p;this._modelProperties.has(g)?p=this._modelProperties.get(g):(p=new Map,this._modelProperties.set(g,p)),p.set(C,d)}getModelProperty(S,C){const d=S.toString();if(this._modelProperties.has(d))return this._modelProperties.get(d).get(C)}}e.AbstractCodeEditorService=M}),define(Q[213],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCharIndex=e.allCharCodes=void 0,e.allCharCodes=(()=>{const N=[];for(let M=32;M<=126;M++)N.push(M);return N.push(65533),N})();const b=(N,M)=>(N-=32,N<0||N>96?M<=2?(N+96)%96:96-1:N);e.getCharIndex=b}),define(Q[363],J([0,1,213,122]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapCharRenderer=void 0;class M{constructor(S,C){this.scale=C,this.charDataNormal=M.soften(S,12/15),this.charDataLight=M.soften(S,50/60)}static soften(S,C){let d=new Uint8ClampedArray(S.length);for(let g=0,p=S.length;gS.width||d+i>S.height){console.warn("bad render request outside image data");return}const n=s?this.charDataLight:this.charDataNormal,t=b.getCharIndex(g,o),l=S.width*4,h=c.r,m=c.g,_=c.b,f=p.r-h,v=p.g-m,y=p.b-_,L=S.data;let I=t*u*r,k=d*l+C*4;for(let E=0;ES.width||d+u>S.height){console.warn("bad render request outside image data");return}const r=S.width*4,i=.5,n=p.r,t=p.g,l=p.b,h=g.r-n,m=g.g-t,_=g.b-l,f=n+h*i,v=t+m*i,y=l+_*i,L=S.data;let I=d*r+C*4;for(let k=0;k{const S=new Uint8ClampedArray(w.length/2);for(let C=0;C>1]=N[w[C]]<<4|N[w[C+1]]&15;return S};e.prebakedMiniMaps={1:b.once(()=>M("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:b.once(()=>M("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))}}),define(Q[365],J([0,1,363,213,364,122]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapCharRendererFactory=void 0;class S{static create(d,g){if(this.lastCreated&&d===this.lastCreated.scale&&g===this.lastFontFamily)return this.lastCreated;let p;return M.prebakedMiniMaps[d]?p=new b.MinimapCharRenderer(M.prebakedMiniMaps[d](),d):p=S.createFromSampleData(S.createSampleData(g).data,d),this.lastFontFamily=g,this.lastCreated=p,p}static createSampleData(d){const g=document.createElement("canvas"),p=g.getContext("2d");g.style.height=`${16}px`,g.height=16,g.width=96*10,g.style.width=96*10+"px",p.fillStyle="#ffffff",p.font=`bold ${16}px ${d}`,p.textBaseline="middle";let c=0;for(const o of N.allCharCodes)p.fillText(String.fromCharCode(o),c,16/2),c+=10;return p.getImageData(0,0,96*10,16)}static createFromSampleData(d,g){const p=16*10*4*96;if(d.length!==p)throw new Error("Unexpected source in MinimapCharRenderer");let c=S._downsample(d,g);return new b.MinimapCharRenderer(c,g)}static _downsampleChar(d,g,p,c,o){const s=1*o,a=2*o;let u=c,r=0;for(let i=0;i0){const r=255/u;for(let i=0;i=0&&S<256?this._asciiMap[S]=d:this._map.set(S,d)}get(S){return S>=0&&S<256?this._asciiMap[S]:this._map.get(S)||this._defaultValue}}e.CharacterClassifier=N;class M{constructor(){this._actual=new N(0)}add(S){this._actual.set(S,1)}has(S){return this._actual.get(S)===1}}e.CharacterSet=M}),define(Q[106],J([0,1,91]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getMapForWordSeparators=e.WordCharacterClassifier=void 0;class N extends b.CharacterClassifier{constructor(S){super(0);for(let C=0,d=S.length;C(S.hasOwnProperty(C)||(S[C]=w(C)),S[C])}e.getMapForWordSeparators=M(w=>new N(w))}),define(Q[14],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Position=void 0;class b{constructor(M,w){this.lineNumber=M,this.column=w}with(M=this.lineNumber,w=this.column){return M===this.lineNumber&&w===this.column?this:new b(M,w)}delta(M=0,w=0){return this.with(this.lineNumber+M,this.column+w)}equals(M){return b.equals(this,M)}static equals(M,w){return!M&&!w?!0:!!M&&!!w&&M.lineNumber===w.lineNumber&&M.column===w.column}isBefore(M){return b.isBefore(this,M)}static isBefore(M,w){return M.lineNumberC||w===C&&S>d?(this.startLineNumber=C,this.startColumn=d,this.endLineNumber=w,this.endColumn=S):(this.startLineNumber=w,this.startColumn=S,this.endLineNumber=C,this.endColumn=d)}isEmpty(){return N.isEmpty(this)}static isEmpty(w){return w.startLineNumber===w.endLineNumber&&w.startColumn===w.endColumn}containsPosition(w){return N.containsPosition(this,w)}static containsPosition(w,S){return!(S.lineNumberw.endLineNumber||S.lineNumber===w.startLineNumber&&S.columnw.endColumn)}containsRange(w){return N.containsRange(this,w)}static containsRange(w,S){return!(S.startLineNumberw.endLineNumber||S.endLineNumber>w.endLineNumber||S.startLineNumber===w.startLineNumber&&S.startColumnw.endColumn)}strictContainsRange(w){return N.strictContainsRange(this,w)}static strictContainsRange(w,S){return!(S.startLineNumberw.endLineNumber||S.endLineNumber>w.endLineNumber||S.startLineNumber===w.startLineNumber&&S.startColumn<=w.startColumn||S.endLineNumber===w.endLineNumber&&S.endColumn>=w.endColumn)}plusRange(w){return N.plusRange(this,w)}static plusRange(w,S){let C,d,g,p;return S.startLineNumberw.endLineNumber?(g=S.endLineNumber,p=S.endColumn):S.endLineNumber===w.endLineNumber?(g=S.endLineNumber,p=Math.max(S.endColumn,w.endColumn)):(g=w.endLineNumber,p=w.endColumn),new N(C,d,g,p)}intersectRanges(w){return N.intersectRanges(this,w)}static intersectRanges(w,S){let C=w.startLineNumber,d=w.startColumn,g=w.endLineNumber,p=w.endColumn,c=S.startLineNumber,o=S.startColumn,s=S.endLineNumber,a=S.endColumn;return Cs?(g=s,p=a):g===s&&(p=Math.min(p,a)),C>g||C===g&&d>p?null:new N(C,d,g,p)}equalsRange(w){return N.equalsRange(this,w)}static equalsRange(w,S){return!!w&&!!S&&w.startLineNumber===S.startLineNumber&&w.startColumn===S.startColumn&&w.endLineNumber===S.endLineNumber&&w.endColumn===S.endColumn}getEndPosition(){return N.getEndPosition(this)}static getEndPosition(w){return new b.Position(w.endLineNumber,w.endColumn)}getStartPosition(){return N.getStartPosition(this)}static getStartPosition(w){return new b.Position(w.startLineNumber,w.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(w,S){return new N(this.startLineNumber,this.startColumn,w,S)}setStartPosition(w,S){return new N(w,S,this.endLineNumber,this.endColumn)}collapseToStart(){return N.collapseToStart(this)}static collapseToStart(w){return new N(w.startLineNumber,w.startColumn,w.startLineNumber,w.startColumn)}static fromPositions(w,S=w){return new N(w.lineNumber,w.column,S.lineNumber,S.column)}static lift(w){return w?new N(w.startLineNumber,w.startColumn,w.endLineNumber,w.endColumn):null}static isIRange(w){return w&&typeof w.startLineNumber=="number"&&typeof w.startColumn=="number"&&typeof w.endLineNumber=="number"&&typeof w.endColumn=="number"}static areIntersectingOrTouching(w,S){return!(w.endLineNumberw.startLineNumber}}e.Range=N}),define(Q[214],J([0,1,8,14,3]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PagedScreenReaderStrategy=e.TextAreaState=e._debugComposition=void 0,e._debugComposition=!1;class w{constructor(d,g,p,c,o){this.value=d,this.selectionStart=g,this.selectionEnd=p,this.selectionStartPosition=c,this.selectionEndPosition=o}toString(){return"[ <"+this.value+">, selectionStart: "+this.selectionStart+", selectionEnd: "+this.selectionEnd+"]"}static readFromTextArea(d){return new w(d.getValue(),d.getSelectionStart(),d.getSelectionEnd(),null,null)}collapseSelection(){return new w(this.value,this.value.length,this.value.length,null,null)}writeToTextArea(d,g,p){e._debugComposition&&console.log("writeToTextArea "+d+": "+this.toString()),g.setValue(d,this.value),p&&g.setSelectionRange(d,this.selectionStart,this.selectionEnd)}deduceEditorPosition(d){if(d<=this.selectionStart){const c=this.value.substring(d,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,c,-1)}if(d>=this.selectionEnd){const c=this.value.substring(this.selectionEnd,d);return this._finishDeduceEditorPosition(this.selectionEndPosition,c,1)}const g=this.value.substring(this.selectionStart,d);if(g.indexOf(String.fromCharCode(8230))===-1)return this._finishDeduceEditorPosition(this.selectionStartPosition,g,1);const p=this.value.substring(d,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,p,-1)}_finishDeduceEditorPosition(d,g,p){let c=0,o=-1;for(;(o=g.indexOf(` +`,o+1))!==-1;)c++;return[d,p*g.length,c]}static selectedText(d){return new w(d,0,d.length,null,null)}static deduceInput(d,g,p){if(!d)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};e._debugComposition&&(console.log("------------------------deduceInput"),console.log("PREVIOUS STATE: "+d.toString()),console.log("CURRENT STATE: "+g.toString()));let c=d.value,o=d.selectionStart,s=d.selectionEnd,a=g.value,u=g.selectionStart,r=g.selectionEnd;const i=c.substring(s),n=a.substring(r),t=b.commonSuffixLength(i,n);a=a.substring(0,a.length-t),c=c.substring(0,c.length-t);const l=c.substring(0,o),h=a.substring(0,u),m=b.commonPrefixLength(l,h);if(a=a.substring(m),c=c.substring(m),u-=m,o-=m,r-=m,s-=m,e._debugComposition&&(console.log("AFTER DIFFING PREVIOUS STATE: <"+c+">, selectionStart: "+o+", selectionEnd: "+s),console.log("AFTER DIFFING CURRENT STATE: <"+a+">, selectionStart: "+u+", selectionEnd: "+r)),p&&u===r&&c.length>0){let f=null;if(u===a.length?a.startsWith(c)&&(f=a.substring(c.length)):a.endsWith(c)&&(f=a.substring(0,a.length-c.length)),f!==null&&f.length>0&&(/\uFE0F/.test(f)||b.containsEmoji(f)))return{text:f,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0}}if(u===r){if(c===a&&o===0&&s===c.length&&u===a.length&&a.indexOf(` +`)===-1&&b.containsFullWidthCharacter(a))return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const f=l.length-m;return e._debugComposition&&console.log("REMOVE PREVIOUS: "+(l.length-m)+" chars"),{text:a,replacePrevCharCnt:f,replaceNextCharCnt:0,positionDelta:0}}const _=s-o;return{text:a,replacePrevCharCnt:_,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(d,g){if(!d)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e._debugComposition&&(console.log("------------------------deduceAndroidCompositionInput"),console.log("PREVIOUS STATE: "+d.toString()),console.log("CURRENT STATE: "+g.toString())),d.value===g.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:g.selectionEnd-d.selectionEnd};const p=Math.min(b.commonPrefixLength(d.value,g.value),d.selectionEnd),c=Math.min(b.commonSuffixLength(d.value,g.value),d.value.length-d.selectionEnd),o=d.value.substring(p,d.value.length-c),s=g.value.substring(p,g.value.length-c),a=d.selectionStart-p,u=d.selectionEnd-p,r=g.selectionStart-p,i=g.selectionEnd-p;return e._debugComposition&&(console.log("AFTER DIFFING PREVIOUS STATE: <"+o+">, selectionStart: "+a+", selectionEnd: "+u),console.log("AFTER DIFFING CURRENT STATE: <"+s+">, selectionStart: "+r+", selectionEnd: "+i)),{text:s,replacePrevCharCnt:u,replaceNextCharCnt:o.length-u,positionDelta:i-s.length}}}e.TextAreaState=w,w.EMPTY=new w("",0,0,null,null);class S{static _getPageOfLine(d,g){return Math.floor((d-1)/g)}static _getRangeForPage(d,g){const p=d*g,c=p+1,o=p+g;return new M.Range(c,1,o+1,1)}static fromEditorSelection(d,g,p,c,o){const s=S._getPageOfLine(p.startLineNumber,c),a=S._getRangeForPage(s,c),u=S._getPageOfLine(p.endLineNumber,c),r=S._getRangeForPage(u,c),i=a.intersectRanges(new M.Range(1,1,p.startLineNumber,p.startColumn));let n=g.getValueInRange(i,1);const t=g.getLineCount(),l=g.getLineMaxColumn(t),h=r.intersectRanges(new M.Range(p.endLineNumber,p.endColumn,t,l));let m=g.getValueInRange(h,1),_;if(s===u||s+1===u)_=g.getValueInRange(p,1);else{const f=a.intersectRanges(p),v=r.intersectRanges(p);_=g.getValueInRange(f,1)+String.fromCharCode(8230)+g.getValueInRange(v,1)}if(o){const f=500;n.length>f&&(n=n.substring(n.length-f,n.length)),m.length>f&&(m=m.substring(0,f)),_.length>2*f&&(_=_.substring(0,f)+String.fromCharCode(8230)+_.substring(_.length-f,_.length))}return new w(n+_+m,n.length,n.length+_.length,new N.Position(p.startLineNumber,p.startColumn),new N.Position(p.endLineNumber,p.endColumn))}}e.PagedScreenReaderStrategy=S}),define(Q[215],J([0,1,195,6,2,40,3]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffNavigator=void 0;const C={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0};class d extends M.Disposable{constructor(p,c={}){super();this._onDidUpdate=this._register(new N.Emitter),this._editor=p,this._options=w.mixin(c,C,!1),this.disposed=!1,this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=Boolean(this._options.alwaysRevealFirst),this._register(this._editor.onDidDispose(()=>this.dispose())),this._register(this._editor.onDidUpdateDiff(()=>this._onDiffUpdated())),this._options.followsCaret&&this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition(o=>{this.ignoreSelectionChange||(this.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel(o=>{this.revealFirst=!0})),this._init()}_init(){!!this._editor.getLineChanges()}_onDiffUpdated(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&this._editor.getLineChanges()!==null&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))}_compute(p){this.ranges=[],p&&p.forEach(c=>{!this._options.ignoreCharChanges&&c.charChanges?c.charChanges.forEach(o=>{this.ranges.push({rhs:!0,range:new S.Range(o.modifiedStartLineNumber,o.modifiedStartColumn,o.modifiedEndLineNumber,o.modifiedEndColumn)})}):this.ranges.push({rhs:!0,range:new S.Range(c.modifiedStartLineNumber,1,c.modifiedStartLineNumber,1)})}),this.ranges.sort((c,o)=>c.range.getStartPosition().isBeforeOrEqual(o.range.getStartPosition())?-1:o.range.getStartPosition().isBeforeOrEqual(c.range.getStartPosition())?1:0),this._onDidUpdate.fire(this)}_initIdx(p){let c=!1,o=this._editor.getPosition();if(!o){this.nextIdx=0;return}for(let s=0,a=this.ranges.length;s=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));let o=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{let s=o.range.getStartPosition();this._editor.setPosition(s),this._editor.revealPositionInCenter(s,c)}finally{this.ignoreSelectionChange=!1}}}canNavigate(){return this.ranges&&this.ranges.length>0}next(p=0){this._move(!0,p)}previous(p=0){this._move(!1,p)}dispose(){super.dispose(),this.ranges=[],this.disposed=!0}}e.DiffNavigator=d}),define(Q[62],J([0,1,3]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditOperation=void 0;class N{static insert(w,S){return{range:new b.Range(w.lineNumber,w.column,w.lineNumber,w.column),text:S,forceMoveMarkers:!0}}static delete(w){return{range:w,text:null}}static replace(w,S){return{range:w,text:S}}static replaceMove(w,S){return{range:w,text:S,forceMoveMarkers:!0}}}e.EditOperation=N}),define(Q[366],J([0,1,8,62,3]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.trimTrailingWhitespace=e.TrimTrailingWhitespaceCommand=void 0;class w{constructor(d,g){this._selection=d,this._cursors=g,this._selectionId=null}getEditOperations(d,g){let p=S(d,this._cursors);for(let c=0,o=p.length;cs.lineNumber===a.lineNumber?s.column-a.column:s.lineNumber-a.lineNumber);for(let s=d.length-2;s>=0;s--)d[s].lineNumber===d[s+1].lineNumber&&d.splice(s,1);let g=[],p=0,c=0,o=d.length;for(let s=1,a=C.getLineCount();s<=a;s++){let u=C.getLineContent(s),r=u.length+1,i=0;if(!(c255?255:M|0}}e.RGBA8=b,b.Empty=new b(0,0,0,0)}),define(Q[21],J([0,1,14,3]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Selection=void 0;class M extends N.Range{constructor(S,C,d,g){super(S,C,d,g);this.selectionStartLineNumber=S,this.selectionStartColumn=C,this.positionLineNumber=d,this.positionColumn=g}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(S){return M.selectionsEqual(this,S)}static selectionsEqual(S,C){return S.selectionStartLineNumber===C.selectionStartLineNumber&&S.selectionStartColumn===C.selectionStartColumn&&S.positionLineNumber===C.positionLineNumber&&S.positionColumn===C.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(S,C){return this.getDirection()===0?new M(this.startLineNumber,this.startColumn,S,C):new M(S,C,this.startLineNumber,this.startColumn)}getPosition(){return new b.Position(this.positionLineNumber,this.positionColumn)}setStartPosition(S,C){return this.getDirection()===0?new M(S,C,this.endLineNumber,this.endColumn):new M(this.endLineNumber,this.endColumn,S,C)}static fromPositions(S,C=S){return new M(S.lineNumber,S.column,C.lineNumber,C.column)}static liftSelection(S){return new M(S.selectionStartLineNumber,S.selectionStartColumn,S.positionLineNumber,S.positionColumn)}static selectionsArrEqual(S,C){if(S&&!C||!S&&C)return!1;if(!S&&!C)return!0;if(S.length!==C.length)return!1;for(let d=0,g=S.length;dthis._onCut.fire(),0)),this._asyncFocusGainWriteScreenReaderContent=this._register(new M.RunOnceScheduler(()=>this.writeScreenReaderContent("asyncFocusGain"),0)),this._textAreaState=g.TextAreaState.EMPTY,this._selectionChangeListener=null,this.writeScreenReaderContent("ctor"),this._hasFocus=!1,this._isDoingComposition=!1,this._nextCommand=0;let l=null;this._register(N.addStandardDisposableListener(t.domNode,"keydown",f=>{(f.keyCode===109||this._isDoingComposition&&f.keyCode===1)&&f.stopPropagation(),f.equals(9)&&f.preventDefault(),l=f,this._onKeyDown.fire(f)})),this._register(N.addStandardDisposableListener(t.domNode,"keyup",f=>{this._onKeyUp.fire(f)})),this._register(N.addDisposableListener(t.domNode,"compositionstart",f=>{if(g._debugComposition&&console.log("[compositionstart]",f),!this._isDoingComposition){if(this._isDoingComposition=!0,C.isMacintosh&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===f.data&&(l&&l.equals(109)&&(l.code==="ArrowRight"||l.code==="ArrowLeft")||b.isFirefox)){g._debugComposition&&console.log("[compositionstart] Handling long press case on macOS + arrow key or Firefox",f),this._textAreaState=new g.TextAreaState(this._textAreaState.value,this._textAreaState.selectionStart-1,this._textAreaState.selectionEnd,this._textAreaState.selectionStartPosition?new p.Position(this._textAreaState.selectionStartPosition.lineNumber,this._textAreaState.selectionStartPosition.column-1):null,this._textAreaState.selectionEndPosition),this._onCompositionStart.fire({revealDeltaColumns:-1});return}if(b.isAndroid){this._onCompositionStart.fire({revealDeltaColumns:-this._textAreaState.selectionStart});return}this._setAndWriteTextAreaState("compositionstart",g.TextAreaState.EMPTY),this._onCompositionStart.fire({revealDeltaColumns:0})}}));const h=f=>{const v=this._textAreaState,y=g.TextAreaState.readFromTextArea(this._textArea);return[y,g.TextAreaState.deduceInput(v,y,f)]},m=()=>{const f=this._textAreaState,v=g.TextAreaState.readFromTextArea(this._textArea);return[v,g.TextAreaState.deduceAndroidCompositionInput(f,v)]},_=f=>{const v=this._textAreaState,y=g.TextAreaState.selectedText(f),L={text:y.value,replacePrevCharCnt:v.selectionEnd-v.selectionStart,replaceNextCharCnt:0,positionDelta:0};return[y,L]};this._register(N.addDisposableListener(t.domNode,"compositionupdate",f=>{if(g._debugComposition&&console.log("[compositionupdate]",f),b.isAndroid){const[L,I]=m();this._textAreaState=L,this._onType.fire(I),this._onCompositionUpdate.fire(f);return}const[v,y]=_(f.data||"");this._textAreaState=v,this._onType.fire(y),this._onCompositionUpdate.fire(f)})),this._register(N.addDisposableListener(t.domNode,"compositionend",f=>{if(g._debugComposition&&console.log("[compositionend]",f),!!this._isDoingComposition){if(this._isDoingComposition=!1,b.isAndroid){const[L,I]=m();this._textAreaState=L,this._onType.fire(I),this._onCompositionEnd.fire();return}const[v,y]=_(f.data||"");this._textAreaState=v,this._onType.fire(y),(b.isChrome||b.isFirefox)&&(this._textAreaState=g.TextAreaState.readFromTextArea(this._textArea)),this._onCompositionEnd.fire()}})),this._register(N.addDisposableListener(t.domNode,"input",()=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),!this._isDoingComposition){const[f,v]=h(C.isMacintosh);v.replacePrevCharCnt===0&&v.text.length===1&&d.isHighSurrogate(v.text.charCodeAt(0))||(this._textAreaState=f,this._nextCommand===0?(v.text!==""||v.replacePrevCharCnt!==0)&&this._onType.fire(v):((v.text!==""||v.replacePrevCharCnt!==0)&&this._firePaste(v.text,null),this._nextCommand=0))}})),this._register(N.addDisposableListener(t.domNode,"cut",f=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(f),this._asyncTriggerCut.schedule()})),this._register(N.addDisposableListener(t.domNode,"copy",f=>{this._ensureClipboardGetsEditorSelection(f)})),this._register(N.addDisposableListener(t.domNode,"paste",f=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),u.canUseTextData(f)){const[v,y]=u.getTextData(f);v!==""&&this._firePaste(v,y)}else this._textArea.getSelectionStart()!==this._textArea.getSelectionEnd()&&this._setAndWriteTextAreaState("paste",g.TextAreaState.EMPTY),this._nextCommand=1})),this._register(N.addDisposableListener(t.domNode,"focus",()=>{const f=this._hasFocus;this._setHasFocus(!0),b.isSafari&&!f&&this._hasFocus&&this._asyncFocusGainWriteScreenReaderContent.schedule()})),this._register(N.addDisposableListener(t.domNode,"blur",()=>{this._isDoingComposition&&(this._isDoingComposition=!1,this.writeScreenReaderContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(N.addDisposableListener(t.domNode,o.Tap,()=>{b.isAndroid&&this._isDoingComposition&&(this._isDoingComposition=!1,this.writeScreenReaderContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let n=0;return N.addDisposableListener(document,"selectionchange",t=>{if(!!this._hasFocus&&!this._isDoingComposition&&!!b.isChrome){const l=Date.now(),h=l-n;if(n=l,!(h<5)){const m=l-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),!(m<100)&&!(!this._textAreaState.selectionStartPosition||!this._textAreaState.selectionEndPosition)){const _=this._textArea.getValue();if(this._textAreaState.value===_){const f=this._textArea.getSelectionStart(),v=this._textArea.getSelectionEnd();if(!(this._textAreaState.selectionStart===f&&this._textAreaState.selectionEnd===v)){const y=this._textAreaState.deduceEditorPosition(f),L=this._host.deduceModelPosition(y[0],y[1],y[2]),I=this._textAreaState.deduceEditorPosition(v),k=this._host.deduceModelPosition(I[0],I[1],I[2]),E=new c.Selection(L.lineNumber,L.column,k.lineNumber,k.column);this._onSelectionChangeRequest.fire(E)}}}}}})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){const n=N.getShadowRoot(this.textArea.domNode);n?this._setHasFocus(n.activeElement===this.textArea.domNode):N.isInDOM(this.textArea.domNode)?this._setHasFocus(document.activeElement===this.textArea.domNode):this._setHasFocus(!1)}_setHasFocus(n){this._hasFocus!==n&&(this._hasFocus=n,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeScreenReaderContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(n,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(n,this._textArea,this._hasFocus),this._textAreaState=t}writeScreenReaderContent(n){this._isDoingComposition||this._setAndWriteTextAreaState(n,this._host.getScreenReaderContent(this._textAreaState))}_ensureClipboardGetsEditorSelection(n){const t=this._host.getDataToCopy(u.canUseTextData(n)),l={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};if(s.INSTANCE.set(b.isFirefox?t.text.replace(/\r\n/g,` +`):t.text,l),!u.canUseTextData(n)){this._setAndWriteTextAreaState("copy or cut",g.TextAreaState.selectedText(t.text));return}u.setTextData(n,t.text,t.html,l)}_firePaste(n,t){t||(t=s.INSTANCE.get(n)),this._onPaste.fire({text:n,metadata:t})}}e.TextAreaInput=a;class u{static canUseTextData(n){return!!(n.clipboardData||window.clipboardData)}static getTextData(n){if(n.clipboardData){n.preventDefault();const t=n.clipboardData.getData("text/plain");let l=null;const h=n.clipboardData.getData("vscode-editor-data");if(typeof h=="string")try{l=JSON.parse(h),l.version!==1&&(l=null)}catch(m){}return[t,l]}if(window.clipboardData)return n.preventDefault(),[window.clipboardData.getData("Text"),null];throw new Error("ClipboardEventUtils.getTextData: Cannot use text data!")}static setTextData(n,t,l,h){if(n.clipboardData){n.clipboardData.setData("text/plain",t),typeof l=="string"&&n.clipboardData.setData("text/html",l),n.clipboardData.setData("vscode-editor-data",JSON.stringify(h)),n.preventDefault();return}if(window.clipboardData){window.clipboardData.setData("Text",t),n.preventDefault();return}throw new Error("ClipboardEventUtils.setTextData: Cannot use text data!")}}class r extends S.Disposable{constructor(n){super();this._actual=n,this._ignoreSelectionChangeTime=0}setIgnoreSelectionChangeTime(n){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.domNode.value}setValue(n,t){const l=this._actual.domNode;l.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),l.value=t)}getSelectionStart(){return this._actual.domNode.selectionDirection==="backward"?this._actual.domNode.selectionEnd:this._actual.domNode.selectionStart}getSelectionEnd(){return this._actual.domNode.selectionDirection==="backward"?this._actual.domNode.selectionStart:this._actual.domNode.selectionEnd}setSelectionRange(n,t,l){const h=this._actual.domNode;let m=null;const _=N.getShadowRoot(h);_?m=_.activeElement:m=document.activeElement;const f=m===h,v=h.selectionStart,y=h.selectionEnd;if(f&&v===t&&y===l){b.isFirefox&&window.parent!==window&&h.focus();return}if(f){this.setIgnoreSelectionChangeTime("setSelectionRange"),h.setSelectionRange(t,l),b.isFirefox&&window.parent!==window&&h.focus();return}try{const L=N.saveParentsScrollTop(h);this.setIgnoreSelectionChangeTime("setSelectionRange"),h.focus(),h.setSelectionRange(t,l),N.restoreParentsScrollTop(h,L)}catch(L){}}}}),define(Q[92],J([0,1,21]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReplaceCommandThatPreservesSelection=e.ReplaceCommandWithOffsetCursorState=e.ReplaceCommandWithoutChangingPosition=e.ReplaceCommandThatSelectsText=e.ReplaceCommand=void 0;class N{constructor(g,p,c=!1){this._range=g,this._text=p,this.insertsAutoWhitespace=c}getEditOperations(g,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(g,p){let o=p.getInverseEditOperations()[0].range;return new b.Selection(o.endLineNumber,o.endColumn,o.endLineNumber,o.endColumn)}}e.ReplaceCommand=N;class M{constructor(g,p){this._range=g,this._text=p}getEditOperations(g,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(g,p){const o=p.getInverseEditOperations()[0].range;return new b.Selection(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn)}}e.ReplaceCommandThatSelectsText=M;class w{constructor(g,p,c=!1){this._range=g,this._text=p,this.insertsAutoWhitespace=c}getEditOperations(g,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(g,p){let o=p.getInverseEditOperations()[0].range;return new b.Selection(o.startLineNumber,o.startColumn,o.startLineNumber,o.startColumn)}}e.ReplaceCommandWithoutChangingPosition=w;class S{constructor(g,p,c,o,s=!1){this._range=g,this._text=p,this._columnDeltaOffset=o,this._lineNumberDeltaOffset=c,this.insertsAutoWhitespace=s}getEditOperations(g,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(g,p){let o=p.getInverseEditOperations()[0].range;return new b.Selection(o.endLineNumber+this._lineNumberDeltaOffset,o.endColumn+this._columnDeltaOffset,o.endLineNumber+this._lineNumberDeltaOffset,o.endColumn+this._columnDeltaOffset)}}e.ReplaceCommandWithOffsetCursorState=S;class C{constructor(g,p,c,o=!1){this._range=g,this._text=p,this._initialSelection=c,this._forceMoveMarkers=o,this._selectionId=null}getEditOperations(g,p){p.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=p.trackSelection(this._initialSelection)}computeCursorState(g,p){return p.getTrackedSelection(this._selectionId)}}e.ReplaceCommandThatPreservesSelection=C}),define(Q[367],J([0,1,3,21]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SurroundSelectionCommand=void 0;class M{constructor(S,C,d){this._range=S,this._charBeforeSelection=C,this._charAfterSelection=d}getEditOperations(S,C){C.addTrackedEditOperation(new b.Range(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),C.addTrackedEditOperation(new b.Range(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(S,C){let d=C.getInverseEditOperations(),g=d[0].range,p=d[1].range;return new N.Selection(g.endLineNumber,g.endColumn,p.endLineNumber,p.endColumn-this._charAfterSelection.length)}}e.SurroundSelectionCommand=M}),define(Q[93],J([0,1,8,17,101]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeUTF16LE=e.createStringBuilder=e.hasTextDecoder=e.getPlatformTextDecoder=void 0;let w;function S(){return w||(w=new TextDecoder(N.isLittleEndian()?"UTF-16LE":"UTF-16BE")),w}e.getPlatformTextDecoder=S,e.hasTextDecoder=typeof TextDecoder!="undefined",e.hasTextDecoder?(e.createStringBuilder=c=>new g(c),e.decodeUTF16LE=C):(e.createStringBuilder=c=>new p,e.decodeUTF16LE=d);function C(c,o,s){const a=new Uint16Array(c.buffer,o,s);return S().decode(a)}function d(c,o,s){let a=[],u=0;for(let r=0;r=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=o;return}for(let a=0;a=this._lines.length)throw new Error("Illegal value for lineNumber");return this._lines[p]}onLinesDeleted(g,p){if(this.getCount()===0)return null;const c=this.getStartLineNumber(),o=this.getEndLineNumber();if(po)return null;let s=0,a=0;for(let r=c;r<=o;r++){const i=r-this._rendLineNumberStart;g<=r&&r<=p&&(a===0?(s=i,a=1):a++)}if(g=c&&a<=o&&(this._lines[a-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(g,p){if(this.getCount()===0)return null;const c=p-g+1,o=this.getStartLineNumber(),s=this.getEndLineNumber();if(g<=o)return this._rendLineNumberStart+=c,null;if(g>s)return null;if(c+g>s)return this._lines.splice(g-this._rendLineNumberStart,s-g+1);const a=[];for(let t=0;tc)){const r=Math.max(p,u.fromLineNumber),i=Math.min(c,u.toLineNumber);for(let n=r;n<=i;n++){const t=n-this._rendLineNumberStart;this._lines[t].onTokensChanged(),o=!0}}}return o}}e.RenderedLinesCollection=w;class S{constructor(g){this._host=g,this.domNode=this._createDomNode(),this._linesCollection=new w(()=>this._host.createVisibleLine())}_createDomNode(){const g=b.createFastDomNode(document.createElement("div"));return g.setClassName("view-layer"),g.setPosition("absolute"),g.domNode.setAttribute("role","presentation"),g.domNode.setAttribute("aria-hidden","true"),g}onConfigurationChanged(g){return!!g.hasChanged(124)}onFlushed(g){return this._linesCollection.flush(),!0}onLinesChanged(g){return this._linesCollection.onLinesChanged(g.fromLineNumber,g.toLineNumber)}onLinesDeleted(g){const p=this._linesCollection.onLinesDeleted(g.fromLineNumber,g.toLineNumber);if(p)for(let c=0,o=p.length;cp){const a=p,u=Math.min(c,s.rendLineNumberStart-1);a<=u&&(this._insertLinesBefore(s,a,u,o,p),s.linesLength+=u-a+1)}else if(s.rendLineNumberStart0&&(this._removeLinesBefore(s,a),s.linesLength-=a)}if(s.rendLineNumberStart=p,s.rendLineNumberStart+s.linesLength-1c){const a=Math.max(0,c-s.rendLineNumberStart+1),r=s.linesLength-1-a+1;r>0&&(this._removeLinesAfter(s,r),s.linesLength-=r)}return this._finishRendering(s,!1,o),s}_renderUntouchedLines(g,p,c,o,s){const a=g.rendLineNumberStart,u=g.lines;for(let r=p;r<=c;r++){const i=a+r;u[r].layoutLine(i,o[i-s])}}_insertLinesBefore(g,p,c,o,s){const a=[];let u=0;for(let r=p;r<=c;r++)a[u++]=this.host.createVisibleLine();g.lines=a.concat(g.lines)}_removeLinesBefore(g,p){for(let c=0;c=0;u--){const r=g.lines[u];o[u]&&(r.setDomNode(a),a=a.previousSibling)}}_finishRenderingInvalidLines(g,p,c){const o=document.createElement("div");C._ttPolicy&&(p=C._ttPolicy.createHTML(p)),o.innerHTML=p;for(let s=0;sd}),C._sb=N.createStringBuilder(1e5)}),define(Q[127],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenizationResult2=e.TokenizationResult=e.Token=void 0;class b{constructor(S,C,d){this.offset=S|0,this.type=C,this.language=d}toString(){return"("+this.offset+", "+this.type+")"}}e.Token=b;class N{constructor(S,C){this.tokens=S,this.endState=C}}e.TokenizationResult=N;class M{constructor(S,C){this.tokens=S,this.endState=C}}e.TokenizationResult2=M}),define(Q[368],J([0,1,153,8]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffComputer=void 0;const M=3;function w(u,r,i,n){return new b.LcsDiff(u,r,i).ComputeDiff(n)}class S{constructor(r){const i=[],n=[];for(let t=0,l=r.length;t0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&l()){const I=n.createCharSequence(r,i.originalStart,i.originalStart+i.originalLength-1),k=t.createCharSequence(r,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);let E=w(I,k,l,!0).changes;m&&(E=g(E)),L=[];for(let T=0,O=E.length;T1&&E>1;){const T=L.charCodeAt(k-2),O=I.charCodeAt(E-2);if(T!==O)break;k--,E--}(k>1||E>1)&&this._pushTrimWhitespaceCharChange(t,l+1,1,k,h+1,1,E)}{let k=s(L,1),E=s(I,1);const T=L.length+1,O=I.length+1;for(;k!0;const r=Date.now();return()=>Date.now()-r0&&o>0)&&!(s>0&&a>0)){let u=Math.abs(o-a),r=Math.abs(c-s);if(u===0){g.spacesDiff=r,r>0&&0<=s-1&&s-10?g++:v>1&&p++,N(c,o,h,f,r),!(r.looksLikeAlignment&&!(C&&S===r.spacesDiff)))){let L=r.spacesDiff;L<=a&&u[L]++,c=h,o=f}}let i=C;g!==p&&(i=g{let h=u[l];h>t&&(t=h,n=l)}),n===4&&u[4]>0&&u[2]>0&&u[2]>=u[4]/2&&(n=2)}return{insertSpaces:i,tabSize:n}}e.guessIndentation=M}),define(Q[370],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.intervalCompare=e.recomputeMaxEnd=e.nodeAcceptEdit=e.IntervalTree=e.SENTINEL=e.IntervalNode=e.getNodeIsInOverviewRuler=e.getNodeColor=void 0;function b(D){return(D.metadata&1)>>>0}e.getNodeColor=b;function N(D,R){D.metadata=D.metadata&254|R<<0}function M(D){return(D.metadata&2)>>>1==1}function w(D,R){D.metadata=D.metadata&253|(R?1:0)<<1}function S(D){return(D.metadata&4)>>>2==1}function C(D,R){D.metadata=D.metadata&251|(R?1:0)<<2}function d(D){return(D.metadata&8)>>>3==1}e.getNodeIsInOverviewRuler=d;function g(D,R){D.metadata=D.metadata&247|(R?1:0)<<3}function p(D){return(D.metadata&48)>>>4}function c(D,R){D.metadata=D.metadata&207|R<<4}function o(D){return(D.metadata&64)>>>6==1}function s(D,R){D.metadata=D.metadata&191|(R?1:0)<<6}class a{constructor(R,W,x){this.metadata=0,this.parent=this,this.left=this,this.right=this,N(this,1),this.start=W,this.end=x,this.delta=0,this.maxEnd=x,this.id=R,this.ownerId=0,this.options=null,C(this,!1),c(this,1),g(this,!1),s(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=W,this.cachedAbsoluteEnd=x,this.range=null,w(this,!1)}reset(R,W,x,K){this.start=W,this.end=x,this.maxEnd=x,this.cachedVersionId=R,this.cachedAbsoluteStart=W,this.cachedAbsoluteEnd=x,this.range=K}setOptions(R){this.options=R;let W=this.options.className;C(this,W==="squiggly-error"||W==="squiggly-warning"||W==="squiggly-info"),c(this,this.options.stickiness),g(this,!!(this.options.overviewRuler&&this.options.overviewRuler.color)),s(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(R,W,x){this.cachedVersionId!==x&&(this.range=null),this.cachedVersionId=x,this.cachedAbsoluteStart=R,this.cachedAbsoluteEnd=W}detach(){this.parent=null,this.left=null,this.right=null}}e.IntervalNode=a,e.SENTINEL=new a(null,0,0),e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.left=e.SENTINEL,e.SENTINEL.right=e.SENTINEL,N(e.SENTINEL,0);class u{constructor(){this.root=e.SENTINEL,this.requestNormalizeDelta=!1}intervalSearch(R,W,x,K,Y){return this.root===e.SENTINEL?[]:f(this,R,W,x,K,Y)}search(R,W,x){return this.root===e.SENTINEL?[]:_(this,R,W,x)}collectNodesFromOwner(R){return h(this,R)}collectNodesPostOrder(){return m(this)}insert(R){v(this,R),this._normalizeDeltaIfNecessary()}delete(R){L(this,R),this._normalizeDeltaIfNecessary()}resolveNode(R,W){const x=R;let K=0;for(;R!==this.root;)R===R.parent.right&&(K+=R.parent.delta),R=R.parent;const Y=x.start+K,ee=x.end+K;x.setCachedOffsets(Y,ee,W)}acceptReplace(R,W,x,K){const Y=t(this,R,R+W);for(let ee=0,se=Y.length;eeW||x===1?!1:x===2?!0:R}function n(D,R,W,x,K){const Y=p(D),ee=Y===0||Y===2,se=Y===1||Y===2,ne=W-R,le=x,X=Math.min(ne,le),z=D.start;let P=!1;const V=D.end;let U=!1;R<=z&&V<=W&&o(D)&&(D.start=R,P=!0,D.end=R,U=!0);{const $=K?1:ne>0?2:0;!P&&i(z,ee,R,$)&&(P=!0),!U&&i(V,se,R,$)&&(U=!0)}if(X>0&&!K){const $=ne>le?2:0;!P&&i(z,ee,R+X,$)&&(P=!0),!U&&i(V,se,R+X,$)&&(U=!0)}{const $=K?1:0;!P&&i(z,ee,W,$)&&(D.start=R+le,P=!0),!U&&i(V,se,W,$)&&(D.end=R+le,U=!0)}const H=le-ne;P||(D.start=Math.max(0,z+H)),U||(D.end=Math.max(0,V+H)),D.start>D.end&&(D.end=D.start)}e.nodeAcceptEdit=n;function t(D,R,W){let x=D.root,K=0,Y=0,ee=0,se=0,ne=[],le=0;for(;x!==e.SENTINEL;){if(M(x)){w(x.left,!1),w(x.right,!1),x===x.parent.right&&(K-=x.parent.delta),x=x.parent;continue}if(!M(x.left)){if(Y=K+x.maxEnd,YW){w(x,!0);continue}if(se=K+x.end,se>=R&&(x.setCachedOffsets(ee,se,0),ne[le++]=x),w(x,!0),x.right!==e.SENTINEL&&!M(x.right)){K+=x.delta,x=x.right;continue}}return w(D.root,!1),ne}function l(D,R,W,x){let K=D.root,Y=0,ee=0,se=0;const ne=x-(W-R);for(;K!==e.SENTINEL;){if(M(K)){w(K.left,!1),w(K.right,!1),K===K.parent.right&&(Y-=K.parent.delta),A(K),K=K.parent;continue}if(!M(K.left)){if(ee=Y+K.maxEnd,eeW){K.start+=ne,K.end+=ne,K.delta+=ne,(K.delta<-1073741824||K.delta>1073741824)&&(D.requestNormalizeDelta=!0),w(K,!0);continue}if(w(K,!0),K.right!==e.SENTINEL&&!M(K.right)){Y+=K.delta,K=K.right;continue}}w(D.root,!1)}function h(D,R){let W=D.root,x=[],K=0;for(;W!==e.SENTINEL;){if(M(W)){w(W.left,!1),w(W.right,!1),W=W.parent;continue}if(W.left!==e.SENTINEL&&!M(W.left)){W=W.left;continue}if(W.ownerId===R&&(x[K++]=W),w(W,!0),W.right!==e.SENTINEL&&!M(W.right)){W=W.right;continue}}return w(D.root,!1),x}function m(D){let R=D.root,W=[],x=0;for(;R!==e.SENTINEL;){if(M(R)){w(R.left,!1),w(R.right,!1),R=R.parent;continue}if(R.left!==e.SENTINEL&&!M(R.left)){R=R.left;continue}if(R.right!==e.SENTINEL&&!M(R.right)){R=R.right;continue}W[x++]=R,w(R,!0)}return w(D.root,!1),W}function _(D,R,W,x){let K=D.root,Y=0,ee=0,se=0,ne=[],le=0;for(;K!==e.SENTINEL;){if(M(K)){w(K.left,!1),w(K.right,!1),K===K.parent.right&&(Y-=K.parent.delta),K=K.parent;continue}if(K.left!==e.SENTINEL&&!M(K.left)){K=K.left;continue}ee=Y+K.start,se=Y+K.end,K.setCachedOffsets(ee,se,x);let X=!0;if(R&&K.ownerId&&K.ownerId!==R&&(X=!1),W&&S(K)&&(X=!1),X&&(ne[le++]=K),w(K,!0),K.right!==e.SENTINEL&&!M(K.right)){Y+=K.delta,K=K.right;continue}}return w(D.root,!1),ne}function f(D,R,W,x,K,Y){let ee=D.root,se=0,ne=0,le=0,X=0,z=[],P=0;for(;ee!==e.SENTINEL;){if(M(ee)){w(ee.left,!1),w(ee.right,!1),ee===ee.parent.right&&(se-=ee.parent.delta),ee=ee.parent;continue}if(!M(ee.left)){if(ne=se+ee.maxEnd,neW){w(ee,!0);continue}if(X=se+ee.end,X>=R){ee.setCachedOffsets(le,X,Y);let V=!0;x&&ee.ownerId&&ee.ownerId!==x&&(V=!1),K&&S(ee)&&(V=!1),V&&(z[P++]=ee)}if(w(ee,!0),ee.right!==e.SENTINEL&&!M(ee.right)){se+=ee.delta,ee=ee.right;continue}}return w(D.root,!1),z}function v(D,R){if(D.root===e.SENTINEL)return R.parent=e.SENTINEL,R.left=e.SENTINEL,R.right=e.SENTINEL,N(R,0),D.root=R,D.root;y(D,R),B(R.parent);let W=R;for(;W!==D.root&&b(W.parent)===1;)if(W.parent===W.parent.parent.left){const x=W.parent.parent.right;b(x)===1?(N(W.parent,0),N(x,0),N(W.parent.parent,1),W=W.parent.parent):(W===W.parent.right&&(W=W.parent,E(D,W)),N(W.parent,0),N(W.parent.parent,1),T(D,W.parent.parent))}else{const x=W.parent.parent.left;b(x)===1?(N(W.parent,0),N(x,0),N(W.parent.parent,1),W=W.parent.parent):(W===W.parent.left&&(W=W.parent,T(D,W)),N(W.parent,0),N(W.parent.parent,1),E(D,W.parent.parent))}return N(D.root,0),R}function y(D,R){let W=0,x=D.root;const K=R.start,Y=R.end;for(;;)if(F(K,Y,x.start+W,x.end+W)<0)if(x.left===e.SENTINEL){R.start-=W,R.end-=W,R.maxEnd-=W,x.left=R;break}else x=x.left;else if(x.right===e.SENTINEL){R.start-=W+x.delta,R.end-=W+x.delta,R.maxEnd-=W+x.delta,x.right=R;break}else W+=x.delta,x=x.right;R.parent=x,R.left=e.SENTINEL,R.right=e.SENTINEL,N(R,1)}function L(D,R){let W,x;if(R.left===e.SENTINEL?(W=R.right,x=R,W.delta+=R.delta,(W.delta<-1073741824||W.delta>1073741824)&&(D.requestNormalizeDelta=!0),W.start+=R.delta,W.end+=R.delta):R.right===e.SENTINEL?(W=R.left,x=R):(x=I(R.right),W=x.right,W.start+=x.delta,W.end+=x.delta,W.delta+=x.delta,(W.delta<-1073741824||W.delta>1073741824)&&(D.requestNormalizeDelta=!0),x.start+=R.delta,x.end+=R.delta,x.delta=R.delta,(x.delta<-1073741824||x.delta>1073741824)&&(D.requestNormalizeDelta=!0)),x===D.root){D.root=W,N(W,0),R.detach(),k(),A(W),D.root.parent=e.SENTINEL;return}let K=b(x)===1;if(x===x.parent.left?x.parent.left=W:x.parent.right=W,x===R?W.parent=x.parent:(x.parent===R?W.parent=x:W.parent=x.parent,x.left=R.left,x.right=R.right,x.parent=R.parent,N(x,b(R)),R===D.root?D.root=x:R===R.parent.left?R.parent.left=x:R.parent.right=x,x.left!==e.SENTINEL&&(x.left.parent=x),x.right!==e.SENTINEL&&(x.right.parent=x)),R.detach(),K){B(W.parent),x!==R&&(B(x),B(x.parent)),k();return}B(W),B(W.parent),x!==R&&(B(x),B(x.parent));let Y;for(;W!==D.root&&b(W)===0;)W===W.parent.left?(Y=W.parent.right,b(Y)===1&&(N(Y,0),N(W.parent,1),E(D,W.parent),Y=W.parent.right),b(Y.left)===0&&b(Y.right)===0?(N(Y,1),W=W.parent):(b(Y.right)===0&&(N(Y.left,0),N(Y,1),T(D,Y),Y=W.parent.right),N(Y,b(W.parent)),N(W.parent,0),N(Y.right,0),E(D,W.parent),W=D.root)):(Y=W.parent.left,b(Y)===1&&(N(Y,0),N(W.parent,1),T(D,W.parent),Y=W.parent.left),b(Y.left)===0&&b(Y.right)===0?(N(Y,1),W=W.parent):(b(Y.left)===0&&(N(Y.right,0),N(Y,1),E(D,Y),Y=W.parent.left),N(Y,b(W.parent)),N(W.parent,0),N(Y.left,0),T(D,W.parent),W=D.root));N(W,0),k()}function I(D){for(;D.left!==e.SENTINEL;)D=D.left;return D}function k(){e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.delta=0,e.SENTINEL.start=0,e.SENTINEL.end=0}function E(D,R){const W=R.right;W.delta+=R.delta,(W.delta<-1073741824||W.delta>1073741824)&&(D.requestNormalizeDelta=!0),W.start+=R.delta,W.end+=R.delta,R.right=W.left,W.left!==e.SENTINEL&&(W.left.parent=R),W.parent=R.parent,R.parent===e.SENTINEL?D.root=W:R===R.parent.left?R.parent.left=W:R.parent.right=W,W.left=R,R.parent=W,A(R),A(W)}function T(D,R){const W=R.left;R.delta-=W.delta,(R.delta<-1073741824||R.delta>1073741824)&&(D.requestNormalizeDelta=!0),R.start-=W.delta,R.end-=W.delta,R.left=W.right,W.right!==e.SENTINEL&&(W.right.parent=R),W.parent=R.parent,R.parent===e.SENTINEL?D.root=W:R===R.parent.right?R.parent.right=W:R.parent.left=W,W.right=R,R.parent=W,A(R),A(W)}function O(D){let R=D.end;if(D.left!==e.SENTINEL){const W=D.left.maxEnd;W>R&&(R=W)}if(D.right!==e.SENTINEL){const W=D.right.maxEnd+D.delta;W>R&&(R=W)}return R}function A(D){D.maxEnd=O(D)}e.recomputeMaxEnd=A;function B(D){for(;D!==e.SENTINEL;){const R=O(D);if(D.maxEnd===R)return;D.maxEnd=R,D=D.parent}}function F(D,R,W,x){return D===W?R-x:D-W}e.intervalCompare=F}),define(Q[371],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.recomputeTreeMetadata=e.updateTreeMetadata=e.fixInsert=e.rbDelete=e.rightRotate=e.leftRotate=e.resetSentinel=e.calculateLF=e.calculateSize=e.righttest=e.leftest=e.SENTINEL=e.TreeNode=void 0;class b{constructor(u,r){this.piece=u,this.color=r,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==e.SENTINEL)return N(this.right);let u=this;for(;u.parent!==e.SENTINEL&&u.parent.left!==u;)u=u.parent;return u.parent===e.SENTINEL?e.SENTINEL:u.parent}prev(){if(this.left!==e.SENTINEL)return M(this.left);let u=this;for(;u.parent!==e.SENTINEL&&u.parent.right!==u;)u=u.parent;return u.parent===e.SENTINEL?e.SENTINEL:u.parent}detach(){this.parent=null,this.left=null,this.right=null}}e.TreeNode=b,e.SENTINEL=new b(null,0),e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.left=e.SENTINEL,e.SENTINEL.right=e.SENTINEL,e.SENTINEL.color=0;function N(a){for(;a.left!==e.SENTINEL;)a=a.left;return a}e.leftest=N;function M(a){for(;a.right!==e.SENTINEL;)a=a.right;return a}e.righttest=M;function w(a){return a===e.SENTINEL?0:a.size_left+a.piece.length+w(a.right)}e.calculateSize=w;function S(a){return a===e.SENTINEL?0:a.lf_left+a.piece.lineFeedCnt+S(a.right)}e.calculateLF=S;function C(){e.SENTINEL.parent=e.SENTINEL}e.resetSentinel=C;function d(a,u){let r=u.right;r.size_left+=u.size_left+(u.piece?u.piece.length:0),r.lf_left+=u.lf_left+(u.piece?u.piece.lineFeedCnt:0),u.right=r.left,r.left!==e.SENTINEL&&(r.left.parent=u),r.parent=u.parent,u.parent===e.SENTINEL?a.root=r:u.parent.left===u?u.parent.left=r:u.parent.right=r,r.left=u,u.parent=r}e.leftRotate=d;function g(a,u){let r=u.left;u.left=r.right,r.right!==e.SENTINEL&&(r.right.parent=u),r.parent=u.parent,u.size_left-=r.size_left+(r.piece?r.piece.length:0),u.lf_left-=r.lf_left+(r.piece?r.piece.lineFeedCnt:0),u.parent===e.SENTINEL?a.root=r:u===u.parent.right?u.parent.right=r:u.parent.left=r,r.right=u,u.parent=r}e.rightRotate=g;function p(a,u){let r,i;if(u.left===e.SENTINEL?(i=u,r=i.right):u.right===e.SENTINEL?(i=u,r=i.left):(i=N(u.right),r=i.right),i===a.root){a.root=r,r.color=0,u.detach(),C(),a.root.parent=e.SENTINEL;return}let n=i.color===1;if(i===i.parent.left?i.parent.left=r:i.parent.right=r,i===u?(r.parent=i.parent,s(a,r)):(i.parent===u?r.parent=i:r.parent=i.parent,s(a,r),i.left=u.left,i.right=u.right,i.parent=u.parent,i.color=u.color,u===a.root?a.root=i:u===u.parent.left?u.parent.left=i:u.parent.right=i,i.left!==e.SENTINEL&&(i.left.parent=i),i.right!==e.SENTINEL&&(i.right.parent=i),i.size_left=u.size_left,i.lf_left=u.lf_left,s(a,i)),u.detach(),r.parent.left===r){let l=w(r),h=S(r);if(l!==r.parent.size_left||h!==r.parent.lf_left){let m=l-r.parent.size_left,_=h-r.parent.lf_left;r.parent.size_left=l,r.parent.lf_left=h,o(a,r.parent,m,_)}}if(s(a,r.parent),n){C();return}let t;for(;r!==a.root&&r.color===0;)r===r.parent.left?(t=r.parent.right,t.color===1&&(t.color=0,r.parent.color=1,d(a,r.parent),t=r.parent.right),t.left.color===0&&t.right.color===0?(t.color=1,r=r.parent):(t.right.color===0&&(t.left.color=0,t.color=1,g(a,t),t=r.parent.right),t.color=r.parent.color,r.parent.color=0,t.right.color=0,d(a,r.parent),r=a.root)):(t=r.parent.left,t.color===1&&(t.color=0,r.parent.color=1,g(a,r.parent),t=r.parent.left),t.left.color===0&&t.right.color===0?(t.color=1,r=r.parent):(t.left.color===0&&(t.right.color=0,t.color=1,d(a,t),t=r.parent.left),t.color=r.parent.color,r.parent.color=0,t.left.color=0,g(a,r.parent),r=a.root));r.color=0,C()}e.rbDelete=p;function c(a,u){for(s(a,u);u!==a.root&&u.parent.color===1;)if(u.parent===u.parent.parent.left){const r=u.parent.parent.right;r.color===1?(u.parent.color=0,r.color=0,u.parent.parent.color=1,u=u.parent.parent):(u===u.parent.right&&(u=u.parent,d(a,u)),u.parent.color=0,u.parent.parent.color=1,g(a,u.parent.parent))}else{const r=u.parent.parent.left;r.color===1?(u.parent.color=0,r.color=0,u.parent.parent.color=1,u=u.parent.parent):(u===u.parent.left&&(u=u.parent,g(a,u)),u.parent.color=0,u.parent.parent.color=1,d(a,u.parent.parent))}a.root.color=0}e.fixInsert=c;function o(a,u,r,i){for(;u!==a.root&&u!==e.SENTINEL;)u.parent.left===u&&(u.parent.size_left+=r,u.parent.lf_left+=i),u=u.parent}e.updateTreeMetadata=o;function s(a,u){let r=0,i=0;if(u!==a.root){if(r===0){for(;u!==a.root&&u===u.parent.right;)u=u.parent;if(u===a.root)return;u=u.parent,r=w(u.left)-u.size_left,i=S(u.left)-u.lf_left,u.size_left+=r,u.lf_left+=i}for(;u!==a.root&&(r!==0||i!==0);)u.parent.left===u&&(u.parent.size_left+=r,u.parent.lf_left+=i),u=u.parent}}e.recomputeTreeMetadata=s}),define(Q[218],J([0,1,101,93]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compressConsecutiveTextChanges=e.TextChange=void 0;function M(d){return d.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class w{constructor(g,p,c,o){this.oldPosition=g,this.oldText=p,this.newPosition=c,this.newText=o}get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${M(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${M(this.oldText)}")`:`(replace@${this.oldPosition} "${M(this.oldText)}" with "${M(this.newText)}")`}static _writeStringSize(g){return 4+2*g.length}static _writeString(g,p,c){const o=p.length;b.writeUInt32BE(g,o,c),c+=4;for(let s=0;s=0;let l=null;try{l=b.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0,unicode:!0})}catch(m){return null}if(!l)return null;let h=!this.isRegex&&!t;return h&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(h=this.matchCase),new p(l,this.wordSeparators?N.getMapForWordSeparators(this.wordSeparators):null,h?this.searchString:null)}}e.SearchParams=d;function g(n){if(!n||n.length===0)return!1;for(let t=0,l=n.length;t=l)break;const m=n.charCodeAt(t);if(m===110||m===114||m===87||m===119)return!0}return!1}e.isMultilineRegexSource=g;class p{constructor(t,l,h){this.regex=t,this.wordSeparators=l,this.simpleSearch=h}}e.SearchData=p;function c(n,t,l){if(!l)return new S.FindMatch(n,null);let h=[];for(let m=0,_=t.length;m<_;m++)h[m]=t[m];return new S.FindMatch(n,h)}e.createFindMatch=c;class o{constructor(t){let l=[],h=0;for(let m=0,_=t.length;m<_;m++)t.charCodeAt(m)===10&&(l[h++]=m);this._lineFeedsOffsets=l}findLineFeedCountBeforeOffset(t){const l=this._lineFeedsOffsets;let h=0,m=l.length-1;if(m===-1||t<=l[0])return 0;for(;h>0);l[_]>=t?m=_-1:l[_+1]>=t?(h=_,m=_):h=_+1}return h+1}}class s{static findMatches(t,l,h,m,_){const f=l.parseSearchRequest();return f?f.regex.multiline?this._doFindMatchesMultiline(t,h,new i(f.wordSeparators,f.regex),m,_):this._doFindMatchesLineByLine(t,h,f,m,_):[]}static _getMultilineMatchRange(t,l,h,m,_,f){let v,y=0;m?(y=m.findLineFeedCountBeforeOffset(_),v=l+_+y):v=l+_;let L;if(m){let T=m.findLineFeedCountBeforeOffset(_+f.length)-y;L=v+f.length+T}else L=v+f.length;const I=t.getPositionAt(v),k=t.getPositionAt(L);return new w.Range(I.lineNumber,I.column,k.lineNumber,k.column)}static _doFindMatchesMultiline(t,l,h,m,_){const f=t.getOffsetAt(l.getStartPosition()),v=t.getValueInRange(l,1),y=t.getEOL()===`\r +`?new o(v):null,L=[];let I=0,k;for(h.reset(0);k=h.next(v);)if(L[I++]=c(this._getMultilineMatchRange(t,f,v,y,k.index,k[0]),k,m),I>=_)return L;return L}static _doFindMatchesLineByLine(t,l,h,m,_){const f=[];let v=0;if(l.startLineNumber===l.endLineNumber){const L=t.getLineContent(l.startLineNumber).substring(l.startColumn-1,l.endColumn-1);return v=this._findMatchesInLine(h,L,l.startLineNumber,l.startColumn-1,v,f,m,_),f}const y=t.getLineContent(l.startLineNumber).substring(l.startColumn-1);v=this._findMatchesInLine(h,y,l.startLineNumber,l.startColumn-1,v,f,m,_);for(let L=l.startLineNumber+1;L=y))return _;return _}const I=new i(t.wordSeparators,t.regex);let k;I.reset(0);do if(k=I.next(l),k&&(f[_++]=c(new w.Range(h,k.index+1+m,h,k.index+1+k[0].length+m),k,v),_>=y))return _;while(k);return _}static findNextMatch(t,l,h,m){const _=l.parseSearchRequest();if(!_)return null;const f=new i(_.wordSeparators,_.regex);return _.regex.multiline?this._doFindNextMatchMultiline(t,h,f,m):this._doFindNextMatchLineByLine(t,h,f,m)}static _doFindNextMatchMultiline(t,l,h,m){const _=new M.Position(l.lineNumber,1),f=t.getOffsetAt(_),v=t.getLineCount(),y=t.getValueInRange(new w.Range(_.lineNumber,_.column,v,t.getLineMaxColumn(v)),1),L=t.getEOL()===`\r +`?new o(y):null;h.reset(l.column-1);let I=h.next(y);return I?c(this._getMultilineMatchRange(t,f,y,L,I.index,I[0]),I,m):l.lineNumber!==1||l.column!==1?this._doFindNextMatchMultiline(t,new M.Position(1,1),h,m):null}static _doFindNextMatchLineByLine(t,l,h,m){const _=t.getLineCount(),f=l.lineNumber,v=t.getLineContent(f),y=this._findFirstMatchInLine(h,v,f,l.column,m);if(y)return y;for(let L=1;L<=_;L++){const I=(f+L-1)%_,k=t.getLineContent(I+1),E=this._findFirstMatchInLine(h,k,I+1,1,m);if(E)return E}return null}static _findFirstMatchInLine(t,l,h,m,_){t.reset(m-1);const f=t.next(l);return f?c(new w.Range(h,f.index+1,h,f.index+1+f[0].length),f,_):null}static findPreviousMatch(t,l,h,m){const _=l.parseSearchRequest();if(!_)return null;const f=new i(_.wordSeparators,_.regex);return _.regex.multiline?this._doFindPreviousMatchMultiline(t,h,f,m):this._doFindPreviousMatchLineByLine(t,h,f,m)}static _doFindPreviousMatchMultiline(t,l,h,m){const _=this._doFindMatchesMultiline(t,new w.Range(1,1,l.lineNumber,l.column),h,m,10*C);if(_.length>0)return _[_.length-1];const f=t.getLineCount();return l.lineNumber!==f||l.column!==t.getLineMaxColumn(f)?this._doFindPreviousMatchMultiline(t,new M.Position(f,t.getLineMaxColumn(f)),h,m):null}static _doFindPreviousMatchLineByLine(t,l,h,m){const _=t.getLineCount(),f=l.lineNumber,v=t.getLineContent(f).substring(0,l.column-1),y=this._findLastMatchInLine(h,v,f,m);if(y)return y;for(let L=1;L<=_;L++){const I=(_+f-L-1)%_,k=t.getLineContent(I+1),E=this._findLastMatchInLine(h,k,I+1,m);if(E)return E}return null}static _findLastMatchInLine(t,l,h,m){let _=null,f;for(t.reset(0);f=t.next(l);)_=c(new w.Range(h,f.index+1,h,f.index+1+f[0].length),f,m);return _}}e.TextModelSearch=s;function a(n,t,l,h,m){if(h===0)return!0;const _=t.charCodeAt(h-1);if(n.get(_)!==0||_===13||_===10)return!0;if(m>0){const f=t.charCodeAt(h);if(n.get(f)!==0)return!0}return!1}function u(n,t,l,h,m){if(h+m===l)return!0;const _=t.charCodeAt(h+m);if(n.get(_)!==0||_===13||_===10)return!0;if(m>0){const f=t.charCodeAt(h+m-1);if(n.get(f)!==0)return!0}return!1}function r(n,t,l,h,m){return a(n,t,l,h,m)&&u(n,t,l,h,m)}e.isValidMatch=r;class i{constructor(t,l){this._wordSeparators=t,this._searchRegex=l,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const l=t.length;let h;do{if(this._prevMatchStartIndex+this._prevMatchLength===l||(h=this._searchRegex.exec(t),!h))return null;const m=h.index,_=h[0].length;if(m===this._prevMatchStartIndex&&_===this._prevMatchLength){if(_===0){b.getNextCodePoint(t,l,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=m,this._prevMatchLength=_,!this._wordSeparators||r(this._wordSeparators,t,l,m,_))return h}while(h);return null}}e.Searcher=i}),define(Q[219],J([0,1,14,3,53,371,166]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeBase=e.StringBuffer=e.Piece=e.createLineStarts=e.createLineStartsFast=e.LineStarts=e.createUintArray=e.AverageBufferSize=void 0,e.AverageBufferSize=65535;function C(r){let i;return r[r.length-1]<65536?i=new Uint16Array(r.length):i=new Uint32Array(r.length),i.set(r,0),i}e.createUintArray=C;class d{constructor(i,n,t,l,h){this.lineStarts=i,this.cr=n,this.lf=t,this.crlf=l,this.isBasicASCII=h}}e.LineStarts=d;function g(r,i=!0){let n=[0],t=1;for(let l=0,h=r.length;l126)&&(m=!1)}const _=new d(C(r),t,l,h,m);return r.length=0,_}e.createLineStarts=p;class c{constructor(i,n,t,l,h){this.bufferIndex=i,this.start=n,this.end=t,this.lineFeedCnt=l,this.length=h}}e.Piece=c;class o{constructor(i,n){this.buffer=i,this.lineStarts=n}}e.StringBuffer=o;class s{constructor(i,n){this._pieces=[],this._tree=i,this._BOM=n,this._index=0,i.root!==w.SENTINEL&&i.iterate(i.root,t=>(t!==w.SENTINEL&&this._pieces.push(t.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class a{constructor(i){this._limit=i,this._cache=[]}get(i){for(let n=this._cache.length-1;n>=0;n--){let t=this._cache[n];if(t.nodeStartOffset<=i&&t.nodeStartOffset+t.node.piece.length>=i)return t}return null}get2(i){for(let n=this._cache.length-1;n>=0;n--){let t=this._cache[n];if(t.nodeStartLineNumber&&t.nodeStartLineNumber=i)return t}return null}set(i){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(i)}validate(i){let n=!1,t=this._cache;for(let l=0;l=i){t[l]=null,n=!0;continue}}if(n){let l=[];for(const h of t)h!==null&&l.push(h);this._cache=l}}}class u{constructor(i,n,t){this.create(i,n,t)}create(i,n,t){this._buffers=[new o("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=w.SENTINEL,this._lineCnt=1,this._length=0,this._EOL=n,this._EOLLength=n.length,this._EOLNormalized=t;let l=null;for(let h=0,m=i.length;h0){i[h].lineStarts||(i[h].lineStarts=g(i[h].buffer));let _=new c(h+1,{line:0,column:0},{line:i[h].lineStarts.length-1,column:i[h].buffer.length-i[h].lineStarts[i[h].lineStarts.length-1]},i[h].lineStarts.length-1,i[h].buffer.length);this._buffers.push(i[h]),l=this.rbInsertRight(l,_)}this._searchCache=new a(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(i){let n=e.AverageBufferSize,t=n-Math.floor(n/3),l=t*2,h="",m=0,_=[];if(this.iterate(this.root,f=>{let v=this.getNodeContent(f),y=v.length;if(m<=t||m+y0){let f=h.replace(/\r\n|\r|\n/g,i);_.push(new o(f,g(f)))}this.create(_,i,!0)}getEOL(){return this._EOL}setEOL(i){this._EOL=i,this._EOLLength=this._EOL.length,this.normalizeEOL(i)}createSnapshot(i){return new s(this,i)}getOffsetAt(i,n){let t=0,l=this.root;for(;l!==w.SENTINEL;)if(l.left!==w.SENTINEL&&l.lf_left+1>=i)l=l.left;else{if(l.lf_left+l.piece.lineFeedCnt+1>=i)return t+=l.size_left,t+=this.getAccumulatedValue(l,i-l.lf_left-2)+n-1;i-=l.lf_left+l.piece.lineFeedCnt,t+=l.size_left+l.piece.length,l=l.right}return t}getPositionAt(i){i=Math.floor(i),i=Math.max(0,i);let n=this.root,t=0,l=i;for(;n!==w.SENTINEL;)if(n.size_left!==0&&n.size_left>=i)n=n.left;else if(n.size_left+n.piece.length>=i){let h=this.getIndexOf(n,i-n.size_left);if(t+=n.lf_left+h.index,h.index===0){let m=this.getOffsetAt(t+1,1),_=l-m;return new b.Position(t+1,_+1)}return new b.Position(t+1,h.remainder+1)}else if(i-=n.size_left+n.piece.length,t+=n.lf_left+n.piece.lineFeedCnt,n.right===w.SENTINEL){let h=this.getOffsetAt(t+1,1),m=l-i-h;return new b.Position(t+1,m+1)}else n=n.right;return new b.Position(1,1)}getValueInRange(i,n){if(i.startLineNumber===i.endLineNumber&&i.startColumn===i.endColumn)return"";let t=this.nodeAt2(i.startLineNumber,i.startColumn),l=this.nodeAt2(i.endLineNumber,i.endColumn),h=this.getValueInRange2(t,l);return n?n!==this._EOL||!this._EOLNormalized?h.replace(/\r\n|\r|\n/g,n):n===this.getEOL()&&this._EOLNormalized?h:h.replace(/\r\n|\r|\n/g,n):h}getValueInRange2(i,n){if(i.node===n.node){let _=i.node,f=this._buffers[_.piece.bufferIndex].buffer,v=this.offsetInBuffer(_.piece.bufferIndex,_.piece.start);return f.substring(v+i.remainder,v+n.remainder)}let t=i.node,l=this._buffers[t.piece.bufferIndex].buffer,h=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start),m=l.substring(h+i.remainder,h+t.piece.length);for(t=t.next();t!==w.SENTINEL;){let _=this._buffers[t.piece.bufferIndex].buffer,f=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);if(t===n.node){m+=_.substring(f,f+n.remainder);break}else m+=_.substr(f,t.piece.length);t=t.next()}return m}getLinesContent(){let i=[],n=0,t="",l=!1;return this.iterate(this.root,h=>{if(h===w.SENTINEL)return!0;const m=h.piece;let _=m.length;if(_===0)return!0;const f=this._buffers[m.bufferIndex].buffer,v=this._buffers[m.bufferIndex].lineStarts,y=m.start.line,L=m.end.line;let I=v[y]+m.start.column;if(l&&(f.charCodeAt(I)===10&&(I++,_--),i[n++]=t,t="",l=!1,_===0))return!0;if(y===L)return!this._EOLNormalized&&f.charCodeAt(I+_-1)===13?(l=!0,t+=f.substr(I,_-1)):t+=f.substr(I,_),!0;t+=this._EOLNormalized?f.substring(I,Math.max(I,v[y+1]-this._EOLLength)):f.substring(I,v[y+1]).replace(/(\r\n|\r|\n)$/,""),i[n++]=t;for(let k=y+1;kD+E,n.reset(0)):(B=I.buffer,F=D=>D,n.reset(E));do if(O=n.next(B),O){if(F(O.index)>=T)return y;this.positionInBuffer(i,F(O.index)-k,A);let D=this.getLineFeedCnt(i.piece.bufferIndex,h,A),R=A.line===h.line?A.column-h.column+l:A.column+1,W=R+O[0].length;if(L[y++]=S.createFindMatch(new N.Range(t+D,R,t+D,W),O,f),F(O.index)+O[0].length>=T||y>=v)return y}while(O);return y}findMatchesLineByLine(i,n,t,l){const h=[];let m=0;const _=new S.Searcher(n.wordSeparators,n.regex);let f=this.nodeAt2(i.startLineNumber,i.startColumn);if(f===null)return[];let v=this.nodeAt2(i.endLineNumber,i.endColumn);if(v===null)return[];let y=this.positionInBuffer(f.node,f.remainder),L=this.positionInBuffer(v.node,v.remainder);if(f.node===v.node)return this.findMatchesInNode(f.node,_,i.startLineNumber,i.startColumn,y,L,n,t,l,m,h),h;let I=i.startLineNumber,k=f.node;for(;k!==v.node;){let T=this.getLineFeedCnt(k.piece.bufferIndex,y,k.piece.end);if(T>=1){let A=this._buffers[k.piece.bufferIndex].lineStarts,B=this.offsetInBuffer(k.piece.bufferIndex,k.piece.start),F=A[y.line+T],D=I===i.startLineNumber?i.startColumn:1;if(m=this.findMatchesInNode(k,_,I,D,y,this.positionInBuffer(k,F-B),n,t,l,m,h),m>=l)return h;I+=T}let O=I===i.startLineNumber?i.startColumn-1:0;if(I===i.endLineNumber){const A=this.getLineContent(I).substring(O,i.endColumn-1);return m=this._findMatchesInLine(n,_,A,i.endLineNumber,O,m,h,t,l),h}if(m=this._findMatchesInLine(n,_,this.getLineContent(I).substr(O),I,O,m,h,t,l),m>=l)return h;I++,f=this.nodeAt2(I,1),k=f.node,y=this.positionInBuffer(f.node,f.remainder)}if(I===i.endLineNumber){let T=I===i.startLineNumber?i.startColumn-1:0;const O=this.getLineContent(I).substring(T,i.endColumn-1);return m=this._findMatchesInLine(n,_,O,i.endLineNumber,T,m,h,t,l),h}let E=I===i.startLineNumber?i.startColumn:1;return m=this.findMatchesInNode(v.node,_,I,E,y,L,n,t,l,m,h),h}_findMatchesInLine(i,n,t,l,h,m,_,f,v){const y=i.wordSeparators;if(!f&&i.simpleSearch){const I=i.simpleSearch,k=I.length,E=t.length;let T=-k;for(;(T=t.indexOf(I,T+k))!==-1;)if((!y||S.isValidMatch(y,t,E,T,k))&&(_[m++]=new M.FindMatch(new N.Range(l,T+1+h,l,T+1+k+h),null),m>=v))return m;return m}let L;n.reset(0);do if(L=n.next(t),L&&(_[m++]=S.createFindMatch(new N.Range(l,L.index+1+h,l,L.index+1+L[0].length+h),L,f),m>=v))return m;while(L);return m}insert(i,n,t=!1){if(this._EOLNormalized=this._EOLNormalized&&t,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==w.SENTINEL){let{node:l,remainder:h,nodeStartOffset:m}=this.nodeAt(i),_=l.piece,f=_.bufferIndex,v=this.positionInBuffer(l,h);if(l.piece.bufferIndex===0&&_.end.line===this._lastChangeBufferPos.line&&_.end.column===this._lastChangeBufferPos.column&&m+_.length===i&&n.lengthi){let y=[],L=new c(_.bufferIndex,v,_.end,this.getLineFeedCnt(_.bufferIndex,v,_.end),this.offsetInBuffer(f,_.end)-this.offsetInBuffer(f,v));if(this.shouldCheckCRLF()&&this.endWithCR(n)&&this.nodeCharCodeAt(l,h)===10){let T={line:L.start.line+1,column:0};L=new c(L.bufferIndex,T,L.end,this.getLineFeedCnt(L.bufferIndex,T,L.end),L.length-1),n+=` +`}if(this.shouldCheckCRLF()&&this.startWithLF(n))if(this.nodeCharCodeAt(l,h-1)===13){let T=this.positionInBuffer(l,h-1);this.deleteNodeTail(l,T),n="\r"+n,l.piece.length===0&&y.push(l)}else this.deleteNodeTail(l,v);else this.deleteNodeTail(l,v);let I=this.createNewPieces(n);L.length>0&&this.rbInsertRight(l,L);let k=l;for(let E=0;E=0;m--)h=this.rbInsertLeft(h,l[m]);this.validateCRLFWithPrevNode(h),this.deleteNodes(t)}insertContentToNodeRight(i,n){this.adjustCarriageReturnFromNext(i,n)&&(i+=` +`);let t=this.createNewPieces(i),l=this.rbInsertRight(n,t[0]),h=l;for(let m=1;m=I)v=L+1;else break;return t?(t.line=L,t.column=f-k,null):{line:L,column:f-k}}getLineFeedCnt(i,n,t){if(t.column===0)return t.line-n.line;let l=this._buffers[i].lineStarts;if(t.line===l.length-1)return t.line-n.line;let h=l[t.line+1],m=l[t.line]+t.column;if(h>m+1)return t.line-n.line;let _=m-1;return this._buffers[i].buffer.charCodeAt(_)===13?t.line-n.line+1:t.line-n.line}offsetInBuffer(i,n){return this._buffers[i].lineStarts[n.line]+n.column}deleteNodes(i){for(let n=0;ne.AverageBufferSize){let y=[];for(;i.length>e.AverageBufferSize;){const I=i.charCodeAt(e.AverageBufferSize-1);let k;I===13||I>=55296&&I<=56319?(k=i.substring(0,e.AverageBufferSize-1),i=i.substring(e.AverageBufferSize-1)):(k=i.substring(0,e.AverageBufferSize),i=i.substring(e.AverageBufferSize));let E=g(k);y.push(new c(this._buffers.length,{line:0,column:0},{line:E.length-1,column:k.length-E[E.length-1]},E.length-1,k.length)),this._buffers.push(new o(k,E))}let L=g(i);return y.push(new c(this._buffers.length,{line:0,column:0},{line:L.length-1,column:i.length-L[L.length-1]},L.length-1,i.length)),this._buffers.push(new o(i,L)),y}let n=this._buffers[0].buffer.length;const t=g(i,!1);let l=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===n&&n!==0&&this.startWithLF(i)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},l=this._lastChangeBufferPos;for(let y=0;y=i-1)t=t.left;else if(t.lf_left+t.piece.lineFeedCnt>i-1){let f=this.getAccumulatedValue(t,i-t.lf_left-2),v=this.getAccumulatedValue(t,i-t.lf_left-1),y=this._buffers[t.piece.bufferIndex].buffer,L=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return m+=t.size_left,this._searchCache.set({node:t,nodeStartOffset:m,nodeStartLineNumber:_-(i-1-t.lf_left)}),y.substring(L+f,L+v-n)}else if(t.lf_left+t.piece.lineFeedCnt===i-1){let f=this.getAccumulatedValue(t,i-t.lf_left-2),v=this._buffers[t.piece.bufferIndex].buffer,y=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);l=v.substring(y+f,y+t.piece.length);break}else i-=t.lf_left+t.piece.lineFeedCnt,m+=t.size_left+t.piece.length,t=t.right}for(t=t.next();t!==w.SENTINEL;){let m=this._buffers[t.piece.bufferIndex].buffer;if(t.piece.lineFeedCnt>0){let _=this.getAccumulatedValue(t,0),f=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return l+=m.substring(f,f+_-n),l}else{let _=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);l+=m.substr(_,t.piece.length)}t=t.next()}return l}computeBufferMetadata(){let i=this.root,n=1,t=0;for(;i!==w.SENTINEL;)n+=i.lf_left+i.piece.lineFeedCnt,t+=i.size_left+i.piece.length,i=i.right;this._lineCnt=n,this._length=t,this._searchCache.validate(this._length)}getIndexOf(i,n){let t=i.piece,l=this.positionInBuffer(i,n),h=l.line-t.start.line;if(this.offsetInBuffer(t.bufferIndex,t.end)-this.offsetInBuffer(t.bufferIndex,t.start)===n){let m=this.getLineFeedCnt(i.piece.bufferIndex,t.start,l);if(m!==h)return{index:m,remainder:0}}return{index:h,remainder:l.column}}getAccumulatedValue(i,n){if(n<0)return 0;let t=i.piece,l=this._buffers[t.bufferIndex].lineStarts,h=t.start.line+n+1;return h>t.end.line?l[t.end.line]+t.end.column-l[t.start.line]-t.start.column:l[h]-l[t.start.line]-t.start.column}deleteNodeTail(i,n){const t=i.piece,l=t.lineFeedCnt,h=this.offsetInBuffer(t.bufferIndex,t.end),m=n,_=this.offsetInBuffer(t.bufferIndex,m),f=this.getLineFeedCnt(t.bufferIndex,t.start,m),v=f-l,y=_-h,L=t.length+y;i.piece=new c(t.bufferIndex,t.start,m,f,L),w.updateTreeMetadata(this,i,y,v)}deleteNodeHead(i,n){const t=i.piece,l=t.lineFeedCnt,h=this.offsetInBuffer(t.bufferIndex,t.start),m=n,_=this.getLineFeedCnt(t.bufferIndex,m,t.end),f=this.offsetInBuffer(t.bufferIndex,m),v=_-l,y=h-f,L=t.length+y;i.piece=new c(t.bufferIndex,m,t.end,_,L),w.updateTreeMetadata(this,i,y,v)}shrinkNode(i,n,t){const l=i.piece,h=l.start,m=l.end,_=l.length,f=l.lineFeedCnt,v=n,y=this.getLineFeedCnt(l.bufferIndex,l.start,v),L=this.offsetInBuffer(l.bufferIndex,n)-this.offsetInBuffer(l.bufferIndex,h);i.piece=new c(l.bufferIndex,l.start,v,y,L),w.updateTreeMetadata(this,i,L-_,y-f);let I=new c(l.bufferIndex,t,m,this.getLineFeedCnt(l.bufferIndex,t,m),this.offsetInBuffer(l.bufferIndex,m)-this.offsetInBuffer(l.bufferIndex,t)),k=this.rbInsertRight(i,I);this.validateCRLFWithPrevNode(k)}appendToNode(i,n){this.adjustCarriageReturnFromNext(n,i)&&(n+=` +`);const t=this.shouldCheckCRLF()&&this.startWithLF(n)&&this.endWithCR(i),l=this._buffers[0].buffer.length;this._buffers[0].buffer+=n;const h=g(n,!1);for(let k=0;ki)n=n.left;else if(n.size_left+n.piece.length>=i){l+=n.size_left;let h={node:n,remainder:i-n.size_left,nodeStartOffset:l};return this._searchCache.set(h),h}else i-=n.size_left+n.piece.length,l+=n.size_left+n.piece.length,n=n.right;return null}nodeAt2(i,n){let t=this.root,l=0;for(;t!==w.SENTINEL;)if(t.left!==w.SENTINEL&&t.lf_left>=i-1)t=t.left;else if(t.lf_left+t.piece.lineFeedCnt>i-1){let h=this.getAccumulatedValue(t,i-t.lf_left-2),m=this.getAccumulatedValue(t,i-t.lf_left-1);return l+=t.size_left,{node:t,remainder:Math.min(h+n-1,m),nodeStartOffset:l}}else if(t.lf_left+t.piece.lineFeedCnt===i-1){let h=this.getAccumulatedValue(t,i-t.lf_left-2);if(h+n-1<=t.piece.length)return{node:t,remainder:h+n-1,nodeStartOffset:l};n-=t.piece.length-h;break}else i-=t.lf_left+t.piece.lineFeedCnt,l+=t.size_left+t.piece.length,t=t.right;for(t=t.next();t!==w.SENTINEL;){if(t.piece.lineFeedCnt>0){let h=this.getAccumulatedValue(t,0),m=this.offsetOfNode(t);return{node:t,remainder:Math.min(n-1,h),nodeStartOffset:m}}else if(t.piece.length>=n-1){let h=this.offsetOfNode(t);return{node:t,remainder:n-1,nodeStartOffset:h}}else n-=t.piece.length;t=t.next()}return null}nodeCharCodeAt(i,n){if(i.piece.lineFeedCnt<1)return-1;let t=this._buffers[i.piece.bufferIndex],l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start)+n;return t.buffer.charCodeAt(l)}offsetOfNode(i){if(!i)return 0;let n=i.size_left;for(;i!==this.root;)i.parent.right===i&&(n+=i.parent.size_left+i.parent.piece.length),i=i.parent;return n}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===` +`)}startWithLF(i){if(typeof i=="string")return i.charCodeAt(0)===10;if(i===w.SENTINEL||i.piece.lineFeedCnt===0)return!1;let n=i.piece,t=this._buffers[n.bufferIndex].lineStarts,l=n.start.line,h=t[l]+n.start.column;return l===t.length-1||t[l+1]>h+1?!1:this._buffers[n.bufferIndex].buffer.charCodeAt(h)===10}endWithCR(i){return typeof i=="string"?i.charCodeAt(i.length-1)===13:i===w.SENTINEL||i.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(i,i.piece.length-1)===13}validateCRLFWithPrevNode(i){if(this.shouldCheckCRLF()&&this.startWithLF(i)){let n=i.prev();this.endWithCR(n)&&this.fixCRLF(n,i)}}validateCRLFWithNextNode(i){if(this.shouldCheckCRLF()&&this.endWithCR(i)){let n=i.next();this.startWithLF(n)&&this.fixCRLF(i,n)}}fixCRLF(i,n){let t=[],l=this._buffers[i.piece.bufferIndex].lineStarts,h;i.piece.end.column===0?h={line:i.piece.end.line-1,column:l[i.piece.end.line]-l[i.piece.end.line-1]-1}:h={line:i.piece.end.line,column:i.piece.end.column-1};const m=i.piece.length-1,_=i.piece.lineFeedCnt-1;i.piece=new c(i.piece.bufferIndex,i.piece.start,h,_,m),w.updateTreeMetadata(this,i,-1,-1),i.piece.length===0&&t.push(i);let f={line:n.piece.start.line+1,column:0};const v=n.piece.length-1,y=this.getLineFeedCnt(n.piece.bufferIndex,f,n.piece.end);n.piece=new c(n.piece.bufferIndex,f,n.piece.end,y,v),w.updateTreeMetadata(this,n,-1,-1),n.piece.length===0&&t.push(n);let L=this.createNewPieces(`\r +`);this.rbInsertRight(i,L[0]);for(let I=0;I/?";function b(C=""){let d="(-?\\d*\\.\\d\\w*)|([^";for(const g of e.USUAL_WORD_SEPARATORS)C.indexOf(g)>=0||(d+="\\"+g);return d+="\\s]+)",new RegExp(d,"g")}e.DEFAULT_WORD_REGEXP=b();function N(C){let d=e.DEFAULT_WORD_REGEXP;if(C&&C instanceof RegExp)if(C.global)d=C;else{let g="g";C.ignoreCase&&(g+="i"),C.multiline&&(g+="m"),C.unicode&&(g+="u"),d=new RegExp(C.source,g)}return d.lastIndex=0,d}e.ensureValidWordDefinition=N;const M={maxLen:1e3,windowSize:15,timeBudget:150};function w(C,d,g,p,c=M){if(g.length>c.maxLen){let r=C-c.maxLen/2;return r<0?r=0:p+=r,g=g.substring(r,C+c.maxLen/2),w(C,d,g,p,c)}const o=Date.now(),s=C-1-p;let a=-1,u=null;for(let r=1;!(Date.now()-o>=c.timeBudget);r++){const i=s-c.windowSize*r;d.lastIndex=Math.max(0,i);const n=S(d,g,s,a);if(!n&&u||(u=n,i<=0))break;a=i}if(u){let r={word:u[0],startColumn:p+1+u.index,endColumn:p+1+u.index+u[0].length};return d.lastIndex=0,r}return null}e.getWordAtText=w;function S(C,d,g,p){let c;for(;c=C.exec(d);){const o=c.index||0;if(o<=g&&C.lastIndex>=g)return c;if(p>0&&o>p)return null}return null}}),define(Q[373],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FrankensteinMode=void 0;class b{constructor(M){this._languageIdentifier=M}getId(){return this._languageIdentifier.language}}e.FrankensteinMode=b}),define(Q[109],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AutoClosingPairs=e.StandardAutoClosingPairConditional=e.IndentAction=void 0;var b;(function(S){S[S.None=0]="None",S[S.Indent=1]="Indent",S[S.IndentOutdent=2]="IndentOutdent",S[S.Outdent=3]="Outdent"})(b=e.IndentAction||(e.IndentAction={}));class N{constructor(C){if(this.open=C.open,this.close=C.close,this._standardTokenMask=0,Array.isArray(C.notIn))for(let d=0,g=C.notIn.length;dg&&(g=c)}return g}else{if(typeof w=="string")return d?w==="*"?5:w===C?10:0:0;if(w){const{language:g,pattern:p,scheme:c,hasAccessToAllModels:o}=w;if(!d&&!o)return 0;let s=0;if(c)if(c===S.scheme)s=10;else if(c==="*")s=5;else return 0;if(g)if(g===C)s=10;else if(g==="*")s=Math.max(s,5);else return 0;if(p){let a;if(typeof p=="string"?a=p:a=Object.assign(Object.assign({},p),{base:N.normalize(p.base)}),a===S.fsPath||b.match(a,S.fsPath))s=10;else return 0}return s}else return 0}}e.score=M}),define(Q[375],J([0,1,91]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.computeLinks=e.LinkComputer=e.StateMachine=e.Uint8Matrix=void 0;class N{constructor(o,s,a){const u=new Uint8Array(o*s);for(let r=0,i=o*s;rs&&(s=t),n>a&&(a=n),l>a&&(a=l)}s++,a++;let u=new N(a,s,0);for(let r=0,i=o.length;r=this._maxCharCode?0:this._states.get(o,s)}}e.StateMachine=M;let w=null;function S(){return w===null&&(w=new M([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),w}let C=null;function d(){if(C===null){C=new b.CharacterClassifier(0);const c=` <>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u3011\u300F\u300D\u300B\u3009\u201D\u2019\uFF40\uFF5E\u2026`;for(let s=0;su);if(u>0){const n=s.charCodeAt(u-1),t=s.charCodeAt(i);(n===40&&t===41||n===91&&t===93||n===123&&t===125)&&i--}return{range:{startLineNumber:a,startColumn:u+1,endLineNumber:a,endColumn:i+2},url:s.substring(u,i+1)}}static computeLinks(o,s=S()){const a=d();let u=[];for(let r=1,i=o.getLineCount();r<=i;r++){const n=o.getLineContent(r),t=n.length;let l=0,h=0,m=0,_=1,f=!1,v=!1,y=!1,L=!1;for(;l0&&w.getLanguageId(c-1)===g;)c--;return new N(w,g,c,p+1,w.getStartOffset(c),w.getEndOffset(p))}e.createScopedLineTokens=b;class N{constructor(S,C,d,g,p,c){this._actual=S,this.languageId=C,this._firstTokenIndex=d,this._lastTokenIndex=g,this.firstCharOffset=p,this._lastCharOffset=c}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(S){return this._actual.getLineContent().substring(0,this.firstCharOffset+S)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(S){return this._actual.findTokenIndexAtOffset(S+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(S){return this._actual.getStandardTokenType(S+this._firstTokenIndex)}}e.ScopedLineTokens=N;function M(w){return(w&7)!=0}e.ignoreBracketsInToken=M}),define(Q[376],J([0,1,109]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CharacterPairSupport=void 0;class N{constructor(w){if(w.autoClosingPairs?this._autoClosingPairs=w.autoClosingPairs.map(S=>new b.StandardAutoClosingPairConditional(S)):w.brackets?this._autoClosingPairs=w.brackets.map(S=>new b.StandardAutoClosingPairConditional({open:S[0],close:S[1]})):this._autoClosingPairs=[],w.__electricCharacterSupport&&w.__electricCharacterSupport.docComment){const S=w.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new b.StandardAutoClosingPairConditional({open:S.open,close:S.close||""}))}this._autoCloseBefore=typeof w.autoCloseBefore=="string"?w.autoCloseBefore:N.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=w.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(){return this._autoCloseBefore}static shouldAutoClosePair(w,S,C){if(S.getTokenCount()===0)return!0;const d=S.findTokenIndexAtOffset(C-2),g=S.getStandardTokenType(d);return w.isOK(g)}getSurroundingPairs(){return this._surroundingPairs}}e.CharacterPairSupport=N,N.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=`;:.,=}])> + `}),define(Q[377],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentRulesSupport=void 0;function b(M){return M.global&&(M.lastIndex=0),!0}class N{constructor(w){this._indentationRules=w}shouldIncrease(w){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&b(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(w))}shouldDecrease(w){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&b(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(w))}shouldIndentNextLine(w){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&b(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(w))}shouldIgnore(w){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&b(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(w))}getIndentMetadata(w){let S=0;return this.shouldIncrease(w)&&(S+=1),this.shouldDecrease(w)&&(S+=2),this.shouldIndentNextLine(w)&&(S+=4),this.shouldIgnore(w)&&(S+=8),S}}e.IndentRulesSupport=N}),define(Q[378],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BasicInplaceReplace=void 0;class b{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}navigateValueSet(M,w,S,C,d){if(M&&w){let g=this.doNavigateValueSet(w,d);if(g)return{range:M,value:g}}if(S&&C){let g=this.doNavigateValueSet(C,d);if(g)return{range:S,value:g}}return null}doNavigateValueSet(M,w){let S=this.numberReplace(M,w);return S!==null?S:this.textReplace(M,w)}numberReplace(M,w){let S=Math.pow(10,M.length-(M.lastIndexOf(".")+1)),C=Number(M),d=parseFloat(M);return!isNaN(C)&&!isNaN(d)&&C===d?C===0&&!w?null:(C=Math.floor(C*S),C+=w?S:-S,String(C/S)):null}textReplace(M,w){return this.valueSetsReplace(this._defaultValueSet,M,w)}valueSetsReplace(M,w,S){let C=null;for(let d=0,g=M.length;C===null&&d=0?(C+=S?1:-1,C<0?C=M.length-1:C%=M.length,M[C]):null}}e.BasicInplaceReplace=b,b.INSTANCE=new b}),define(Q[379],J([0,1,12,8,109]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OnEnterSupport=void 0;class w{constructor(C){C=C||{},C.brackets=C.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],C.brackets.forEach(d=>{const g=w._createOpenBracketRegExp(d[0]),p=w._createCloseBracketRegExp(d[1]);g&&p&&this._brackets.push({open:d[0],openRegExp:g,close:d[1],closeRegExp:p})}),this._regExpRules=C.onEnterRules||[]}onEnter(C,d,g,p){if(C>=3)for(let c=0,o=this._regExpRules.length;cu.reg?u.reg.test(u.text):!0))return s.action}if(C>=2&&g.length>0&&p.length>0)for(let c=0,o=this._brackets.length;c=2&&g.length>0){for(let c=0,o=this._brackets.length;c[v[0].toLowerCase(),v[1].toLowerCase()]);const h=[];for(let v=0;v{const[L,I]=v,[k,E]=y;return L===k||L===E||I===k||I===E},_=(v,y)=>{const L=Math.min(v,y),I=Math.max(v,y);for(let k=0;k0&&f.push({open:y,close:L})}return f}class C{constructor(l,h){const m=S(h);this.brackets=m.map((_,f)=>new w(l,f,_.open,_.close,c(_.open,_.close,m,f),o(_.open,_.close,m,f))),this.forwardRegex=s(this.brackets),this.reversedRegex=a(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const _ of this.brackets){for(const f of _.open)this.textIsBracket[f]=_,this.textIsOpenBracket[f]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,f.length);for(const f of _.close)this.textIsBracket[f]=_,this.textIsOpenBracket[f]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,f.length)}}}e.RichEditBrackets=C;function d(t,l,h,m){for(let _=0,f=l.length;_=0&&m.push(y);for(const y of v.close)y.indexOf(t)>=0&&m.push(y)}}function g(t,l){return t.length-l.length}function p(t){if(t.length<=1)return t;const l=[],h=new Set;for(const m of t)h.has(m)||(l.push(m),h.add(m));return l}function c(t,l,h,m){let _=[];_=_.concat(t),_=_.concat(l);for(let f=0,v=_.length;f=0;v--)_[f++]=m.charCodeAt(v);return N.getPlatformTextDecoder().decode(_)}else{let _=[],f=0;for(let v=m.length-1;v>=0;v--)_[f++]=m.charAt(v);return _.join("")}}let l=null,h=null;return function(_){return l!==_&&(l=_,h=t(l)),h}}();class n{static _findPrevBracketInText(l,h,m,_){let f=m.match(l);if(!f)return null;let v=m.length-(f.index||0),y=f[0].length,L=_+v;return new M.Range(h,L-y+1,h,L+1)}static findPrevBracketInRange(l,h,m,_,f){const y=i(m).substring(m.length-f,m.length-_);return this._findPrevBracketInText(l,h,y,_)}static findNextBracketInText(l,h,m,_){let f=m.match(l);if(!f)return null;let v=f.index||0,y=f[0].length;if(y===0)return null;let L=_+v;return new M.Range(h,L+1,h,L+1+y)}static findNextBracketInRange(l,h,m,_,f){const v=m.substring(_,f);return this.findNextBracketInText(l,h,v,_)}}e.BracketsUtils=n}),define(Q[380],J([0,1,167,168]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketElectricCharacterSupport=void 0;class M{constructor(S){this._richEditBrackets=S}getElectricCharacters(){let S=[];if(this._richEditBrackets)for(const C of this._richEditBrackets.brackets)for(const d of C.close){const g=d.charAt(d.length-1);S.push(g)}return S=S.filter((C,d,g)=>g.indexOf(C)===d),S}onElectricCharacter(S,C,d){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const g=C.findTokenIndexAtOffset(d-1);if(b.ignoreBracketsInToken(C.getStandardTokenType(g)))return null;const p=this._richEditBrackets.reversedRegex,c=C.getLineContent().substring(0,d-1)+S,o=N.BracketsUtils.findPrevBracketInRange(p,1,c,0,c.length);if(!o)return null;const s=c.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[s])return null;const u=C.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(u)?{matchOpenBracket:s}:null}}e.BracketElectricCharacterSupport=M}),define(Q[41],J([0,1,6,2,8,128,109,167,376,380,377,379,168]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageConfigurationRegistry=e.LanguageConfigurationRegistryImpl=e.LanguageConfigurationChangeEvent=e.RichEditSupport=void 0;class s{constructor(t,l){this._languageIdentifier=t,this._brackets=null,this._electricCharacter=null,this._conf=l,this._onEnterSupport=this._conf.brackets||this._conf.indentationRules||this._conf.onEnterRules?new c.OnEnterSupport(this._conf):null,this.comments=s._handleComments(this._conf),this.characterPair=new d.CharacterPairSupport(this._conf),this.wordDefinition=this._conf.wordPattern||w.DEFAULT_WORD_REGEXP,this.indentationRules=this._conf.indentationRules,this._conf.indentationRules?this.indentRulesSupport=new p.IndentRulesSupport(this._conf.indentationRules):this.indentRulesSupport=null,this.foldingRules=this._conf.folding||{}}get brackets(){return!this._brackets&&this._conf.brackets&&(this._brackets=new o.RichEditBrackets(this._languageIdentifier,this._conf.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new g.BracketElectricCharacterSupport(this.brackets)),this._electricCharacter}onEnter(t,l,h,m){return this._onEnterSupport?this._onEnterSupport.onEnter(t,l,h,m):null}static _handleComments(t){let l=t.comments;if(!l)return null;let h={};if(l.lineComment&&(h.lineCommentToken=l.lineComment),l.blockComment){let[m,_]=l.blockComment;h.blockCommentStartToken=m,h.blockCommentEndToken=_}return h}}e.RichEditSupport=s;class a{constructor(t){this.languageIdentifier=t}}e.LanguageConfigurationChangeEvent=a;class u{constructor(t,l,h){this.configuration=t,this.priority=l,this.order=h}static cmp(t,l){return t.priority===l.priority?t.order-l.order:t.priority-l.priority}}class r{constructor(t){this.languageIdentifier=t,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(t,l){const h=new u(t,l,++this._order);return this._entries.push(h),this._resolved=null,N.toDisposable(()=>{for(let m=0;m{_.dispose(),this._onDidChange.fire(new a(t))})}_getRichEditSupport(t){const l=this._entries2.get(t);return l?l.getRichEditSupport():null}getIndentationRules(t){const l=this._getRichEditSupport(t);return l&&l.indentationRules||null}_getElectricCharacterSupport(t){let l=this._getRichEditSupport(t);return l&&l.electricCharacter||null}getElectricCharacters(t){let l=this._getElectricCharacterSupport(t);return l?l.getElectricCharacters():[]}onElectricCharacter(t,l,h){let m=C.createScopedLineTokens(l,h-1),_=this._getElectricCharacterSupport(m.languageId);return _?_.onElectricCharacter(t,m,h-m.firstCharOffset):null}getComments(t){let l=this._getRichEditSupport(t);return l&&l.comments||null}_getCharacterPairSupport(t){let l=this._getRichEditSupport(t);return l&&l.characterPair||null}getAutoClosingPairs(t){const l=this._getCharacterPairSupport(t);return new S.AutoClosingPairs(l?l.getAutoClosingPairs():[])}getAutoCloseBeforeSet(t){let l=this._getCharacterPairSupport(t);return l?l.getAutoCloseBeforeSet():d.CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED}getSurroundingPairs(t){let l=this._getCharacterPairSupport(t);return l?l.getSurroundingPairs():[]}shouldAutoClosePair(t,l,h){const m=C.createScopedLineTokens(l,h-1);return d.CharacterPairSupport.shouldAutoClosePair(t,m,h-m.firstCharOffset)}getWordDefinition(t){let l=this._getRichEditSupport(t);return l?w.ensureValidWordDefinition(l.wordDefinition||null):w.ensureValidWordDefinition(null)}getFoldingRules(t){let l=this._getRichEditSupport(t);return l?l.foldingRules:{}}getIndentRulesSupport(t){let l=this._getRichEditSupport(t);return l&&l.indentRulesSupport||null}getPrecedingValidLine(t,l,h){let m=t.getLanguageIdAtPosition(l,0);if(l>1){let _,f=-1;for(_=l-1;_>=1;_--){if(t.getLanguageIdAtPosition(_,0)!==m)return f;let v=t.getLineContent(_);if(h.shouldIgnore(v)||/^\s+$/.test(v)||v===""){f=_;continue}return _}}return-1}getInheritIndentForLine(t,l,h,m=!0){if(t<4)return null;const _=this.getIndentRulesSupport(l.getLanguageIdentifier().id);if(!_)return null;if(h<=1)return{indentation:"",action:null};const f=this.getPrecedingValidLine(l,h,_);if(f<0)return null;if(f<1)return{indentation:"",action:null};const v=l.getLineContent(f);if(_.shouldIncrease(v)||_.shouldIndentNextLine(v))return{indentation:M.getLeadingWhitespace(v),action:S.IndentAction.Indent,line:f};if(_.shouldDecrease(v))return{indentation:M.getLeadingWhitespace(v),action:null,line:f};{if(f===1)return{indentation:M.getLeadingWhitespace(l.getLineContent(f)),action:null,line:f};const y=f-1,L=_.getIndentMetadata(l.getLineContent(y));if(!(L&(1|2))&&L&4){let I=0;for(let k=y-1;k>0;k--)if(!_.shouldIndentNextLine(l.getLineContent(k))){I=k;break}return{indentation:M.getLeadingWhitespace(l.getLineContent(I+1)),action:null,line:I+1}}if(m)return{indentation:M.getLeadingWhitespace(l.getLineContent(f)),action:null,line:f};for(let I=f;I>0;I--){const k=l.getLineContent(I);if(_.shouldIncrease(k))return{indentation:M.getLeadingWhitespace(k),action:S.IndentAction.Indent,line:I};if(_.shouldIndentNextLine(k)){let E=0;for(let T=I-1;T>0;T--)if(!_.shouldIndentNextLine(l.getLineContent(I))){E=T;break}return{indentation:M.getLeadingWhitespace(l.getLineContent(E+1)),action:null,line:E+1}}else if(_.shouldDecrease(k))return{indentation:M.getLeadingWhitespace(k),action:null,line:I}}return{indentation:M.getLeadingWhitespace(l.getLineContent(1)),action:null,line:1}}}getGoodIndentForLine(t,l,h,m,_){if(t<4)return null;const f=this._getRichEditSupport(h);if(!f)return null;const v=this.getIndentRulesSupport(h);if(!v)return null;const y=this.getInheritIndentForLine(t,l,m),L=l.getLineContent(m);if(y){const I=y.line;if(I!==void 0){const k=f.onEnter(t,"",l.getLineContent(I),"");if(k){let E=M.getLeadingWhitespace(l.getLineContent(I));return k.removeText&&(E=E.substring(0,E.length-k.removeText)),k.indentAction===S.IndentAction.Indent||k.indentAction===S.IndentAction.IndentOutdent?E=_.shiftIndent(E):k.indentAction===S.IndentAction.Outdent&&(E=_.unshiftIndent(E)),v.shouldDecrease(L)&&(E=_.unshiftIndent(E)),k.appendText&&(E+=k.appendText),M.getLeadingWhitespace(E)}}return v.shouldDecrease(L)?y.action===S.IndentAction.Indent?y.indentation:_.unshiftIndent(y.indentation):y.action===S.IndentAction.Indent?_.shiftIndent(y.indentation):y.indentation}return null}getIndentForEnter(t,l,h,m){if(t<4)return null;l.forceTokenization(h.startLineNumber);const _=l.getLineTokens(h.startLineNumber),f=C.createScopedLineTokens(_,h.startColumn-1),v=f.getLineContent();let y=!1,L;f.firstCharOffset>0&&_.getLanguageId(0)!==f.languageId?(y=!0,L=v.substr(0,h.startColumn-1-f.firstCharOffset)):L=_.getLineContent().substring(0,h.startColumn-1);let I;h.isEmpty()?I=v.substr(h.startColumn-1-f.firstCharOffset):I=this.getScopedLineTokens(l,h.endLineNumber,h.endColumn).getLineContent().substr(h.endColumn-1-f.firstCharOffset);const k=this.getIndentRulesSupport(f.languageId);if(!k)return null;const E=L,T=M.getLeadingWhitespace(L),O={getLineTokens:D=>l.getLineTokens(D),getLanguageIdentifier:()=>l.getLanguageIdentifier(),getLanguageIdAtPosition:(D,R)=>l.getLanguageIdAtPosition(D,R),getLineContent:D=>D===h.startLineNumber?E:l.getLineContent(D)},A=M.getLeadingWhitespace(_.getLineContent()),B=this.getInheritIndentForLine(t,O,h.startLineNumber+1);if(!B){const D=y?A:T;return{beforeEnter:D,afterEnter:D}}let F=y?A:B.indentation;return B.action===S.IndentAction.Indent&&(F=m.shiftIndent(F)),k.shouldDecrease(I)&&(F=m.unshiftIndent(F)),{beforeEnter:y?A:T,afterEnter:F}}getIndentActionForType(t,l,h,m,_){if(t<4)return null;const f=this.getScopedLineTokens(l,h.startLineNumber,h.startColumn);if(f.firstCharOffset)return null;const v=this.getIndentRulesSupport(f.languageId);if(!v)return null;const y=f.getLineContent(),L=y.substr(0,h.startColumn-1-f.firstCharOffset);let I;if(h.isEmpty()?I=y.substr(h.startColumn-1-f.firstCharOffset):I=this.getScopedLineTokens(l,h.endLineNumber,h.endColumn).getLineContent().substr(h.endColumn-1-f.firstCharOffset),!v.shouldDecrease(L+I)&&v.shouldDecrease(L+m+I)){const k=this.getInheritIndentForLine(t,l,h.startLineNumber,!1);if(!k)return null;let E=k.indentation;return k.action!==S.IndentAction.Indent&&(E=_.unshiftIndent(E)),E}return null}getIndentMetadata(t,l){const h=this.getIndentRulesSupport(t.getLanguageIdentifier().id);return!h||l<1||l>t.getLineCount()?null:h.getIndentMetadata(t.getLineContent(l))}getEnterAction(t,l,h){const m=this.getScopedLineTokens(l,h.startLineNumber,h.startColumn),_=this._getRichEditSupport(m.languageId);if(!_)return null;const f=m.getLineContent(),v=f.substr(0,h.startColumn-1-m.firstCharOffset);let y;h.isEmpty()?y=f.substr(h.startColumn-1-m.firstCharOffset):y=this.getScopedLineTokens(l,h.endLineNumber,h.endColumn).getLineContent().substr(h.endColumn-1-m.firstCharOffset);let L="";if(h.startLineNumber>1&&m.firstCharOffset===0){const A=this.getScopedLineTokens(l,h.startLineNumber-1);A.languageId===m.languageId&&(L=A.getLineContent())}const I=_.onEnter(t,L,v,y);if(!I)return null;const k=I.indentAction;let E=I.appendText;const T=I.removeText||0;E?k===S.IndentAction.Indent&&(E=" "+E):k===S.IndentAction.Indent||k===S.IndentAction.IndentOutdent?E=" ":E="";let O=this.getIndentationAtPosition(l,h.startLineNumber,h.startColumn);return T&&(O=O.substring(0,O.length-T)),{indentAction:k,appendText:E,removeText:T,indentation:O}}getIndentationAtPosition(t,l,h){const m=t.getLineContent(l);let _=M.getLeadingWhitespace(m);return _.length>h-1&&(_=_.substring(0,h-1)),_}getScopedLineTokens(t,l,h){t.forceTokenization(l);const m=t.getLineTokens(l),_=typeof h=="undefined"?t.getLineMaxColumn(l)-1:h-1;return C.createScopedLineTokens(m,_)}getBracketsSupport(t){const l=this._getRichEditSupport(t);return l&&l.brackets||null}}e.LanguageConfigurationRegistryImpl=i,e.LanguageConfigurationRegistry=new i}),define(Q[381],J([0,1,29]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateTokensCSSForColorMap=e.ThemeTrieElement=e.ThemeTrieElementRule=e.strcmp=e.toStandardTokenType=e.TokenTheme=e.ColorMap=e.parseTokenTheme=e.ParsedTokenThemeRule=void 0;class N{constructor(r,i,n,t,l){this.token=r,this.index=i,this.fontStyle=n,this.foreground=t,this.background=l}}e.ParsedTokenThemeRule=N;function M(u){if(!u||!Array.isArray(u))return[];let r=[],i=0;for(let n=0,t=u.length;n{let L=c(v.token,y.token);return L!==0?L:v.index-y.index});let i=0,n="000000",t="ffffff";for(;u.length>=1&&u[0].token==="";){let v=u.shift();v.fontStyle!==-1&&(i=v.fontStyle),v.foreground!==null&&(n=v.foreground),v.background!==null&&(t=v.background)}let l=new C;for(let v of r)l.getId(v);let h=l.getId(n),m=l.getId(t),_=new o(i,h,m),f=new s(_);for(let v=0,y=u.length;v>>0,this._cache.set(i,n)}return(n|r<<0)>>>0}}e.TokenTheme=d;const g=/\b(comment|string|regex|regexp)\b/;function p(u){let r=u.match(g);if(!r)return 0;switch(r[1]){case"comment":return 1;case"string":return 2;case"regex":return 4;case"regexp":return 4}throw new Error("Unexpected match for standard token type!")}e.toStandardTokenType=p;function c(u,r){return ur?1:0}e.strcmp=c;class o{constructor(r,i,n){this._fontStyle=r,this._foreground=i,this._background=n,this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}clone(){return new o(this._fontStyle,this._foreground,this._background)}acceptOverwrite(r,i,n){r!==-1&&(this._fontStyle=r),i!==0&&(this._foreground=i),n!==0&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}}e.ThemeTrieElementRule=o;class s{constructor(r){this._mainRule=r,this._children=new Map}match(r){if(r==="")return this._mainRule;let i=r.indexOf("."),n,t;i===-1?(n=r,t=""):(n=r.substring(0,i),t=r.substring(i+1));let l=this._children.get(n);return typeof l!="undefined"?l.match(t):this._mainRule}insert(r,i,n,t){if(r===""){this._mainRule.acceptOverwrite(i,n,t);return}let l=r.indexOf("."),h,m;l===-1?(h=r,m=""):(h=r.substring(0,l),m=r.substring(l+1));let _=this._children.get(h);typeof _=="undefined"&&(_=new s(this._mainRule.clone()),this._children.set(h,_)),_.insert(m,i,n,t)}}e.ThemeTrieElement=s;function a(u){let r=[];for(let i=1,n=u.length;i{this._map.get(S)===C&&(this._map.delete(S),this.fire([S]))})}registerPromise(S,C){let d=null,g=!1;return this._promises.set(S,C.then(p=>{this._promises.delete(S),!(g||!p)&&(d=this.register(S,p))})),N.toDisposable(()=>{g=!0,d&&d.dispose()})}getPromise(S){const C=this.get(S);if(C)return Promise.resolve(C);const d=this._promises.get(S);return d?d.then(g=>this.get(S)):null}get(S){return this._map.get(S)||null}setColorMap(S){this._colorMap=S,this._onDidChange.fire({changedLanguages:Array.from(this._map.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}e.TokenizationRegistryImpl=M}),define(Q[383],J([0,1,101,17]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.encodeSemanticTokensDto=void 0;function M(d){for(let g=0,p=d.length;gd&&(n=d-t);const l=u.color;let h=this._color2Id[l];h||(h=++this._lastAssignedId,this._color2Id[l]=h,this._id2Color[h]=l);const m=new b(n-t,n+t,h);u.setColorZone(m),o.push(m)}return this._colorZonesInvalid=!1,o.sort(b.compare),o}}e.OverviewZoneManager=M}),define(Q[110],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VisibleRanges=e.HorizontalPosition=e.HorizontalRange=e.LineVisibleRanges=e.RenderingContext=e.RestrictedRenderingContext=void 0;class b{constructor(g,p){this._viewLayout=g,this.viewportData=p,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const c=this._viewLayout.getCurrentViewport();this.scrollTop=c.top,this.scrollLeft=c.left,this.viewportWidth=c.width,this.viewportHeight=c.height}getScrolledTopFromAbsoluteTop(g){return g-this.scrollTop}getVerticalOffsetForLineNumber(g){return this._viewLayout.getVerticalOffsetForLineNumber(g)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}e.RestrictedRenderingContext=b;class N extends b{constructor(g,p,c){super(g,p);this._viewLines=c}linesVisibleRangesForRange(g,p){return this._viewLines.linesVisibleRangesForRange(g,p)}visibleRangeForPosition(g){return this._viewLines.visibleRangeForPosition(g)}}e.RenderingContext=N;class M{constructor(g,p,c){this.outsideRenderedLine=g,this.lineNumber=p,this.ranges=c}}e.LineVisibleRanges=M;class w{constructor(g,p){this.left=Math.round(g),this.width=Math.round(p)}toString(){return`[${this.left},${this.width}]`}}e.HorizontalRange=w;class S{constructor(g,p){this.outsideRenderedLine=g,this.left=Math.round(p)}}e.HorizontalPosition=S;class C{constructor(g,p){this.outsideRenderedLine=g,this.ranges=p}}e.VisibleRanges=C}),define(Q[384],J([0,1,110]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RangeUtil=void 0;class N{constructor(S,C){this.left=S,this.width=C}toString(){return`[${this.left},${this.width}]`}static compare(S,C){return S.left-C.left}}class M{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(S,C){S.selectNodeContents(C)}static _readClientRects(S,C,d,g,p){const c=this._createRange();try{return c.setStart(S,C),c.setEnd(d,g),c.getClientRects()}catch(o){return null}finally{this._detachRange(c,p)}}static _mergeAdjacentRanges(S){if(S.length===1)return[new b.HorizontalRange(S[0].left,S[0].width)];S.sort(N.compare);let C=[],d=0,g=S[0].left,p=S[0].width;for(let c=1,o=S.length;c=a?p=Math.max(p,a+u-g):(C[d++]=new b.HorizontalRange(g,p),g=a,p=u)}return C[d++]=new b.HorizontalRange(g,p),C}static _createHorizontalRangesFromClientRects(S,C){if(!S||S.length===0)return null;const d=[];for(let g=0,p=S.length;ga)return null;if(C=Math.min(a,Math.max(s,C)),g=Math.min(a,Math.max(s,g)),C===g&&d===p&&d===0){const n=S.children[C].getClientRects();return this._createHorizontalRangesFromClientRects(n,c)}C!==g&&g>0&&p===0&&(g--,p=1073741824);let u=S.children[C].firstChild,r=S.children[g].firstChild;if((!u||!r)&&(!u&&d===0&&C>0&&(u=S.children[C-1].firstChild,d=1073741824),!r&&p===0&&g>0&&(r=S.children[g-1].firstChild,p=1073741824)),!u||!r)return null;d=Math.min(u.textContent.length,Math.max(0,d)),p=Math.min(r.textContent.length,Math.max(0,p));const i=this._readClientRects(u,d,r,p,o);return this._createHorizontalRangesFromClientRects(i,c)}}e.RangeUtil=M}),define(Q[385],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewContext=e.EditorTheme=void 0;class b{constructor(w){this._theme=w}get type(){return this._theme.type}update(w){this._theme=w}getColor(w){return this._theme.getColor(w)}}e.EditorTheme=b;class N{constructor(w,S,C){this.configuration=w,this.theme=new b(S),this.model=C,this.viewLayout=C.viewLayout}addEventHandler(w){this.model.addViewEventHandler(w)}removeEventHandler(w){this.model.removeViewEventHandler(w)}}e.ViewContext=N}),define(Q[170],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewZonesChangedEvent=e.ViewTokensColorsChangedEvent=e.ViewTokensChangedEvent=e.ViewThemeChangedEvent=e.ViewScrollChangedEvent=e.ViewRevealRangeRequestEvent=e.ViewLinesInsertedEvent=e.ViewLinesDeletedEvent=e.ViewLinesChangedEvent=e.ViewLineMappingChangedEvent=e.ViewLanguageConfigurationEvent=e.ViewFocusChangedEvent=e.ViewFlushedEvent=e.ViewDecorationsChangedEvent=e.ViewCursorStateChangedEvent=e.ViewConfigurationChangedEvent=e.ViewCompositionEndEvent=e.ViewCompositionStartEvent=void 0;class b{constructor(){this.type=0}}e.ViewCompositionStartEvent=b;class N{constructor(){this.type=1}}e.ViewCompositionEndEvent=N;class M{constructor(h){this.type=2,this._source=h}hasChanged(h){return this._source.hasChanged(h)}}e.ViewConfigurationChangedEvent=M;class w{constructor(h,m){this.type=3,this.selections=h,this.modelSelections=m}}e.ViewCursorStateChangedEvent=w;class S{constructor(h){this.type=4,h?(this.affectsMinimap=h.affectsMinimap,this.affectsOverviewRuler=h.affectsOverviewRuler):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0)}}e.ViewDecorationsChangedEvent=S;class C{constructor(){this.type=5}}e.ViewFlushedEvent=C;class d{constructor(h){this.type=6,this.isFocused=h}}e.ViewFocusChangedEvent=d;class g{constructor(){this.type=7}}e.ViewLanguageConfigurationEvent=g;class p{constructor(){this.type=8}}e.ViewLineMappingChangedEvent=p;class c{constructor(h,m){this.type=9,this.fromLineNumber=h,this.toLineNumber=m}}e.ViewLinesChangedEvent=c;class o{constructor(h,m){this.type=10,this.fromLineNumber=h,this.toLineNumber=m}}e.ViewLinesDeletedEvent=o;class s{constructor(h,m){this.type=11,this.fromLineNumber=h,this.toLineNumber=m}}e.ViewLinesInsertedEvent=s;class a{constructor(h,m,_,f,v,y){this.type=12,this.source=h,this.range=m,this.selections=_,this.verticalType=f,this.revealHorizontal=v,this.scrollType=y}}e.ViewRevealRangeRequestEvent=a;class u{constructor(h){this.type=13,this.scrollWidth=h.scrollWidth,this.scrollLeft=h.scrollLeft,this.scrollHeight=h.scrollHeight,this.scrollTop=h.scrollTop,this.scrollWidthChanged=h.scrollWidthChanged,this.scrollLeftChanged=h.scrollLeftChanged,this.scrollHeightChanged=h.scrollHeightChanged,this.scrollTopChanged=h.scrollTopChanged}}e.ViewScrollChangedEvent=u;class r{constructor(){this.type=14}}e.ViewThemeChangedEvent=r;class i{constructor(h){this.type=15,this.ranges=h}}e.ViewTokensChangedEvent=i;class n{constructor(){this.type=16}}e.ViewTokensColorsChangedEvent=n;class t{constructor(){this.type=17}}e.ViewZonesChangedEvent=t}),define(Q[171],J([0,1,8]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineDecorationsNormalizer=e.DecorationSegment=e.LineDecoration=void 0;class N{constructor(d,g,p,c){this.startColumn=d,this.endColumn=g,this.className=p,this.type=c}static _equals(d,g){return d.startColumn===g.startColumn&&d.endColumn===g.endColumn&&d.className===g.className&&d.type===g.type}static equalsArr(d,g){const p=d.length,c=g.length;if(p!==c)return!1;for(let o=0;o=o||(a[u++]=new N(Math.max(1,r.startColumn-c+1),Math.min(s+1,r.endColumn-c+1),r.className,r.type));return a}static filter(d,g,p,c){if(d.length===0)return[];let o=[],s=0;for(let a=0,u=d.length;ag)&&!(i.isEmpty()&&(r.type===0||r.type===3))){const n=i.startLineNumber===g?i.startColumn:p,t=i.endLineNumber===g?i.endColumn:c;o[s++]=new N(n,t,r.inlineClassName,r.type)}}return o}static _typeCompare(d,g){const p=[2,0,1,3];return p[d]-p[g]}static compare(d,g){if(d.startColumn===g.startColumn){if(d.endColumn===g.endColumn){const p=N._typeCompare(d.type,g.type);return p===0?d.classNameg.className?1:0:p}return d.endColumn-g.endColumn}return d.startColumn-g.startColumn}}e.LineDecoration=N;class M{constructor(d,g,p,c){this.startOffset=d,this.endOffset=g,this.className=p,this.metadata=c}}e.DecorationSegment=M;class w{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(d){let g=0;for(let p=0,c=d.length;p0&&this.stopOffsets[0]0&&g=d){this.stopOffsets.splice(c,0,d),this.classNames.splice(c,0,g),this.metadata.splice(c,0,p);break}this.count++}}class S{static normalize(d,g){if(g.length===0)return[];let p=[];const c=new w;let o=0;for(let s=0,a=g.length;s1){const m=d.charCodeAt(r-2);b.isHighSurrogate(m)&&r--}if(i>1){const m=d.charCodeAt(i-2);b.isHighSurrogate(m)&&i--}const l=r-1,h=i-2;o=c.consumeLowerThan(l,o,p),c.count===0&&(o=l),c.insert(h,n,t)}return c.consumeLowerThan(1073741824,o,p),p}}e.LineDecorationsNormalizer=S}),define(Q[386],J([0,1,8]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinesLayout=e.EditorWhitespace=void 0;class N{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(C){this._hasPending=!0,this._inserts.push(C)}change(C){this._hasPending=!0,this._changes.push(C)}remove(C){this._hasPending=!0,this._removes.push(C)}mustCommit(){return this._hasPending}commit(C){if(!!this._hasPending){const d=this._inserts,g=this._changes,p=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],C._commitPendingChanges(d,g,p)}}}class M{constructor(C,d,g,p,c){this.id=C,this.afterLineNumber=d,this.ordinal=g,this.height=p,this.minWidth=c,this.prefixSum=0}}e.EditorWhitespace=M;class w{constructor(C,d,g,p){this._instanceId=b.singleLetterHash(++w.INSTANCE_COUNT),this._pendingChanges=new N,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=C,this._lineHeight=d,this._paddingTop=g,this._paddingBottom=p}static findInsertionIndex(C,d,g){let p=0,c=C.length;for(;p>>1;d===C[o].afterLineNumber?g{d=!0,p=p|0,c=c|0,o=o|0,s=s|0;const a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new M(a,p,c,o,s)),a},changeOneWhitespace:(p,c,o)=>{d=!0,c=c|0,o=o|0,this._pendingChanges.change({id:p,newAfterLineNumber:c,newHeight:o})},removeWhitespace:p=>{d=!0,this._pendingChanges.remove({id:p})}})}finally{this._pendingChanges.commit(this)}return d}_commitPendingChanges(C,d,g){if((C.length>0||g.length>0)&&(this._minWidth=-1),C.length+d.length+g.length<=1){for(const a of C)this._insertWhitespace(a);for(const a of d)this._changeOneWhitespace(a.id,a.newAfterLineNumber,a.newHeight);for(const a of g){const u=this._findWhitespaceIndex(a.id);u!==-1&&this._removeWhitespace(u)}return}const p=new Set;for(const a of g)p.add(a.id);const c=new Map;for(const a of d)c.set(a.id,a);const o=a=>{let u=[];for(const r of a)if(!p.has(r.id)){if(c.has(r.id)){const i=c.get(r.id);r.afterLineNumber=i.newAfterLineNumber,r.height=i.newHeight}u.push(r)}return u},s=o(this._arr).concat(o(C));s.sort((a,u)=>a.afterLineNumber===u.afterLineNumber?a.ordinal-u.ordinal:a.afterLineNumber-u.afterLineNumber),this._arr=s,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(C){const d=w.findInsertionIndex(this._arr,C.afterLineNumber,C.ordinal);this._arr.splice(d,0,C),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,d-1)}_findWhitespaceIndex(C){const d=this._arr;for(let g=0,p=d.length;gd&&(this._arr[g].afterLineNumber-=d-C+1)}}onLinesInserted(C,d){this._checkPendingChanges(),C=C|0,d=d|0,this._lineCount+=d-C+1;for(let g=0,p=this._arr.length;g=d.length||d[s+1].afterLineNumber>=C)return s;g=s+1|0}else p=s-1|0}return-1}_findFirstWhitespaceAfterLineNumber(C){C=C|0;const g=this._findLastWhitespaceBeforeLineNumber(C)+1;return g1?d=this._lineHeight*(C-1):d=0;const g=this.getWhitespaceAccumulatedHeightBeforeLineNumber(C);return d+g+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let C=0;for(let d=0,g=this._arr.length;dd}isInTopPadding(C){return this._paddingTop===0?!1:(this._checkPendingChanges(),C=d-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(C){if(this._checkPendingChanges(),C=C|0,C<0)return 1;const d=this._lineCount|0,g=this._lineHeight;let p=1,c=d;for(;p=s+g)p=o+1;else{if(C>=s)return o;c=o}}return p>d?d:p}getLinesViewportData(C,d){this._checkPendingChanges(),C=C|0,d=d|0;const g=this._lineHeight,p=this.getLineNumberAtOrAfterVerticalOffset(C)|0,c=this.getVerticalOffsetForLineNumber(p)|0;let o=this._lineCount|0,s=this.getFirstWhitespaceIndexAfterLineNumber(p)|0;const a=this.getWhitespacesCount()|0;let u,r;s===-1?(s=a,r=o+1,u=0):(r=this.getAfterLineNumberForWhitespaceIndex(s)|0,u=this.getHeightForWhitespaceIndex(s)|0);let i=c,n=i;const t=5e5;let l=0;c>=t&&(l=Math.floor(c/t)*t,l=Math.floor(l/g)*g,n-=l);const h=[],m=C+(d-C)/2;let _=-1;for(let L=p;L<=o;L++){if(_===-1){const I=i,k=i+g;(I<=m&&mm)&&(_=L)}for(i+=g,h[L-p]=n,n+=g;r===L;)n+=u,i+=u,s++,s>=a?r=o+1:(r=this.getAfterLineNumberForWhitespaceIndex(s)|0,u=this.getHeightForWhitespaceIndex(s)|0);if(i>=d){o=L;break}}_===-1&&(_=o);const f=this.getVerticalOffsetForLineNumber(o)|0;let v=p,y=o;return vd&&y--,{bigNumbersDelta:l,startLineNumber:p,endLineNumber:o,relativeVerticalOffset:h,centeredLineNumber:_,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:y}}getVerticalOffsetForWhitespaceIndex(C){this._checkPendingChanges(),C=C|0;const d=this.getAfterLineNumberForWhitespaceIndex(C);let g;d>=1?g=this._lineHeight*d:g=0;let p;return C>0?p=this.getWhitespacesAccumulatedHeight(C-1):p=0,g+p+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(C){this._checkPendingChanges(),C=C|0;let d=0,g=this.getWhitespacesCount()-1;if(g<0)return-1;const p=this.getVerticalOffsetForWhitespaceIndex(g),c=this.getHeightForWhitespaceIndex(g);if(C>=p+c)return-1;for(;d=s+a)d=o+1;else{if(C>=s)return o;g=o}}return d}getWhitespaceAtVerticalOffset(C){this._checkPendingChanges(),C=C|0;const d=this.getWhitespaceIndexAtOrAfterVerticallOffset(C);if(d<0||d>=this.getWhitespacesCount())return null;const g=this.getVerticalOffsetForWhitespaceIndex(d);if(g>C)return null;const p=this.getHeightForWhitespaceIndex(d),c=this.getIdForWhitespaceIndex(d),o=this.getAfterLineNumberForWhitespaceIndex(d);return{id:c,afterLineNumber:o,verticalOffset:g,height:p}}getWhitespaceViewportData(C,d){this._checkPendingChanges(),C=C|0,d=d|0;const g=this.getWhitespaceIndexAtOrAfterVerticallOffset(C),p=this.getWhitespacesCount()-1;if(g<0)return[];let c=[];for(let o=g;o<=p;o++){const s=this.getVerticalOffsetForWhitespaceIndex(o),a=this.getHeightForWhitespaceIndex(o);if(s>=d)break;c.push({id:this.getIdForWhitespaceIndex(o),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(o),verticalOffset:s,height:a})}return c}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(C){return this._checkPendingChanges(),C=C|0,this._arr[C].id}getAfterLineNumberForWhitespaceIndex(C){return this._checkPendingChanges(),C=C|0,this._arr[C].afterLineNumber}getHeightForWhitespaceIndex(C){return this._checkPendingChanges(),C=C|0,this._arr[C].height}}e.LinesLayout=w,w.INSTANCE_COUNT=0}),define(Q[129],J([0,1,8,93,171]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderViewLine2=e.RenderLineOutput2=e.renderViewLine=e.RenderLineOutput=e.CharacterMapping=e.RenderLineInput=e.LineRange=void 0;class w{constructor(h,m,_){this.endIndex=h,this.type=m,this.metadata=_}isWhitespace(){return!!(this.metadata&1)}}class S{constructor(h,m){this.startOffset=h,this.endOffset=m}equals(h){return this.startOffset===h.startOffset&&this.endOffset===h.endOffset}}e.LineRange=S;class C{constructor(h,m,_,f,v,y,L,I,k,E,T,O,A,B,F,D,R,W,x){this.useMonospaceOptimizations=h,this.canUseHalfwidthRightwardsArrow=m,this.lineContent=_,this.continuesWithWrappedLine=f,this.isBasicASCII=v,this.containsRTL=y,this.fauxIndentLength=L,this.lineTokens=I,this.lineDecorations=k.sort(M.LineDecoration.compare),this.tabSize=E,this.startVisibleColumn=T,this.spaceWidth=O,this.stopRenderingLineAfter=F,this.renderWhitespace=D==="all"?4:D==="boundary"?1:D==="selection"?2:D==="trailing"?3:0,this.renderControlCharacters=R,this.fontLigatures=W,this.selectionsOnLine=x&&x.sort((ee,se)=>ee.startOffset>>16}static getCharIndex(h){return(h&65535)>>>0}setPartData(h,m,_,f){let v=(m<<16|_<<0)>>>0;this._data[h]=v,this._absoluteOffsets[h]=f+_}getAbsoluteOffsets(){return this._absoluteOffsets}charOffsetToPartData(h){return this.length===0?0:h<0?this._data[0]:h>=this.length?this._data[this.length-1]:this._data[h]}partDataToCharOffset(h,m,_){if(this.length===0)return 0;let f=(h<<16|_<<0)>>>0,v=0,y=this.length-1;for(;v+1>>1,D=this._data[F];if(D===f)return F;D>f?y=F:v=F}if(v===y)return v;let L=this._data[v],I=this._data[y];if(L===f)return v;if(I===f)return y;let k=d.getPartIndex(L),E=d.getCharIndex(L),T=d.getPartIndex(I),O;k!==T?O=m:O=d.getCharIndex(I);let A=_-E,B=O-_;return A<=B?v:y}}e.CharacterMapping=d;class g{constructor(h,m,_){this.characterMapping=h,this.containsRTL=m,this.containsForeignElements=_}}e.RenderLineOutput=g;function p(l,h){if(l.lineContent.length===0){let m=0,_="";if(l.lineDecorations.length>0){const f=[],v=[];for(let y=0,L=l.lineDecorations.length;y0?``:"",L=v.length>0?``:"";_=`${y}${L}`}}return h.appendASCIIString(_),new g(new d(0,0),!1,m)}return t(a(l),h)}e.renderViewLine=p;class c{constructor(h,m,_,f){this.characterMapping=h,this.html=m,this.containsRTL=_,this.containsForeignElements=f}}e.RenderLineOutput2=c;function o(l){let h=N.createStringBuilder(1e4),m=p(l,h);return new c(m.characterMapping,h.build(),m.containsRTL,m.containsForeignElements)}e.renderViewLine2=o;class s{constructor(h,m,_,f,v,y,L,I,k,E,T,O,A,B,F){this.fontIsMonospace=h,this.canUseHalfwidthRightwardsArrow=m,this.lineContent=_,this.len=f,this.isOverflowing=v,this.parts=y,this.containsForeignElements=L,this.fauxIndentLength=I,this.tabSize=k,this.startVisibleColumn=E,this.containsRTL=T,this.spaceWidth=O,this.renderSpaceCharCode=A,this.renderWhitespace=B,this.renderControlCharacters=F}}function a(l){const h=l.lineContent;let m,_;l.stopRenderingLineAfter!==-1&&l.stopRenderingLineAfter0){for(let y=0,L=l.lineDecorations.length;y0&&(_[f++]=new w(h,"",0));for(let v=0,y=l.getCount();v=m){_[f++]=new w(m,I,0);break}_[f++]=new w(L,I,0)}}return _}function r(l,h,m){let _=0,f=[],v=0;if(m)for(let y=0,L=h.length;y=50&&(f[v++]=new w(O+1,E,T),A=O+1,O=-1);A!==k&&(f[v++]=new w(k,E,T))}else f[v++]=I;_=k}else for(let y=0,L=h.length;y50){const T=I.type,O=I.metadata,A=Math.ceil(E/50);for(let B=1;B=ne.endOffset&&(se++,ne=k&&k[se]);let V;if(zY)V=!0;else if(P===9)V=!0;else if(P===32)if(E)if(ee)V=!0;else{const U=z+1z),V&&T&&(V=x||z>Y),ee){if(!V||!I&&le>=y){if(O){const U=B>0?A[B-1].endIndex:v;for(let H=U+1;H<=z;H++)A[B++]=new w(H,"mtkw",1)}else A[B++]=new w(z,"mtkw",1);le=le%y}}else(z===R||V&&z>v)&&(A[B++]=new w(z,D,0),le=le%y);for(P===9?le=y:b.isFullWidthCharacter(P)?le+=2:le++,ee=V;z===R;)F++,F0?h.charCodeAt(m-1):0,P=m>1?h.charCodeAt(m-2):0;z===32&&P!==32&&P!==9||(X=!0)}else X=!0;if(X)if(O){const z=B>0?A[B-1].endIndex:v;for(let P=z+1;P<=m;P++)A[B++]=new w(P,"mtkw",1)}else A[B++]=new w(m,"mtkw",1);else A[B++]=new w(m,D,0);return A}function n(l,h,m,_){_.sort(M.LineDecoration.compare);const f=M.LineDecorationsNormalizer.normalize(l,_),v=f.length;let y=0,L=[],I=0,k=0;for(let T=0,O=m.length;Tk&&(k=R.startOffset,L[I++]=new w(k,F,D)),R.endOffset+1<=B)k=R.endOffset+1,L[I++]=new w(k,F+" "+R.className,D|R.metadata),y++;else{k=B,L[I++]=new w(k,F+" "+R.className,D|R.metadata);break}}B>k&&(k=B,L[I++]=new w(k,F,D))}const E=m[m.length-1].endIndex;if(y'):h.appendASCIIString("");for(let ne=0,le=I.length;ne=k&&(oe+=G)}}for(U&&(h.appendASCIIString(' style="width:'),h.appendASCIIString(String(A*$)),h.appendASCIIString('px"')),h.appendASCII(62);W1?h.write1(8594):h.write1(65515);for(let ae=2;ae<=oe;ae++)h.write1(160)}else oe=1,h.write1(B);K+=oe,W>=k&&(x+=oe)}ee=$}else{let $=0;for(h.appendASCII(62);W=k&&(x+=ae)}ee=$}H?Y++:Y=0,h.appendASCIIString("")}return R.setPartData(y,I.length-1,K,se),L&&h.appendASCIIString("…"),h.appendASCIIString(""),new g(R,O,f)}}),define(Q[387],J([0,1,3]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewportData=void 0;class N{constructor(w,S,C,d){this.selections=w,this.startLineNumber=S.startLineNumber|0,this.endLineNumber=S.endLineNumber|0,this.relativeVerticalOffset=S.relativeVerticalOffset,this.bigNumbersDelta=S.bigNumbersDelta|0,this.whitespaceViewportData=C,this._model=d,this.visibleRange=new b.Range(S.startLineNumber,this._model.getLineMinColumn(S.startLineNumber),S.endLineNumber,this._model.getLineMaxColumn(S.endLineNumber))}getViewLineRenderingData(w){return this._model.getViewLineRenderingData(this.visibleRange,w)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}e.ViewportData=N}),define(Q[222],J([0,1,122]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PrefixSumComputer=e.PrefixSumIndexOfResult=void 0;class N{constructor(S,C){this.index=S,this.remainder=C}}e.PrefixSumIndexOfResult=N;class M{constructor(S){this.values=S,this.prefixSum=new Uint32Array(S.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(S,C){S=b.toUint32(S);const d=this.values,g=this.prefixSum,p=C.length;return p===0?!1:(this.values=new Uint32Array(d.length+p),this.values.set(d.subarray(0,S),0),this.values.set(d.subarray(S),S+p),this.values.set(C,S),S-1=0&&this.prefixSum.set(g.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}changeValue(S,C){return S=b.toUint32(S),C=b.toUint32(C),this.values[S]===C?!1:(this.values[S]=C,S-1=d.length)return!1;let p=d.length-S;return C>=p&&(C=p),C===0?!1:(this.values=new Uint32Array(d.length-C),this.values.set(d.subarray(0,S),0),this.values.set(d.subarray(S+C),S),this.prefixSum=new Uint32Array(this.values.length),S-1=0&&this.prefixSum.set(g.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalValue(){return this.values.length===0?0:this._getAccumulatedValue(this.values.length-1)}getAccumulatedValue(S){return S<0?0:(S=b.toUint32(S),this._getAccumulatedValue(S))}_getAccumulatedValue(S){if(S<=this.prefixSumValidIndex[0])return this.prefixSum[S];let C=this.prefixSumValidIndex[0]+1;C===0&&(this.prefixSum[0]=this.values[0],C++),S>=this.values.length&&(S=this.values.length-1);for(let d=C;d<=S;d++)this.prefixSum[d]=this.prefixSum[d-1]+this.values[d];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],S),this.prefixSum[S]}getIndexOf(S){S=Math.floor(S),this.getTotalValue();let C=0,d=this.values.length-1,g=0,p=0,c=0;for(;C<=d;)if(g=C+(d-C)/2|0,p=this.prefixSum[g],c=p-this.values[g],S=p)C=g+1;else break;return new N(g,S-c)}}e.PrefixSumComputer=M}),define(Q[388],J([0,1,8,14,222]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MirrorTextModel=void 0;class w{constructor(C,d,g,p){this._uri=C,this._lines=d,this._eol=g,this._versionId=p,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(C){C.eol&&C.eol!==this._eol&&(this._eol=C.eol,this._lineStarts=null);const d=C.changes;for(const g of d)this._acceptDeleteRange(g.range),this._acceptInsertText(new N.Position(g.range.startLineNumber,g.range.startColumn),g.text);this._versionId=C.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const C=this._eol.length,d=this._lines.length,g=new Uint32Array(d);for(let p=0;pthis._lines.length)h=this._lines.length,m=this._lines[h-1].length+1,_=!0;else{let f=this._lines[h-1].length+1;m<1?(m=1,_=!0):m>f&&(m=f,_=!0)}return _?{lineNumber:h,column:m}:l}}class i{constructor(l,h){this._host=l,this._models=Object.create(null),this._foreignModuleFactory=h,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(l){return this._models[l]}_getModels(){let l=[];return Object.keys(this._models).forEach(h=>l.push(this._models[h])),l}acceptNewModel(l){this._models[l.url]=new r(w.URI.parse(l.url),l.lines,l.EOL,l.versionId)}acceptModelChanged(l,h){!this._models[l]||this._models[l].onEvents(h)}acceptRemovedModel(l){!this._models[l]||delete this._models[l]}computeDiff(l,h,m,_){return Ie(this,void 0,void 0,function*(){const f=this._getModel(l),v=this._getModel(h);if(!f||!v)return null;const y=f.getLinesContent(),L=v.getLinesContent(),k=new d.DiffComputer(y,L,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:m,shouldMakePrettyDiff:!0,maxComputationTime:_}).computeDiff(),E=k.changes.length>0?!1:this._modelsAreIdentical(f,v);return{quitEarly:k.quitEarly,identical:E,changes:k.changes}})}_modelsAreIdentical(l,h){const m=l.getLineCount(),_=h.getLineCount();if(m!==_)return!1;for(let f=1;f<=m;f++){const v=l.getLineContent(f),y=h.getLineContent(f);if(v!==y)return!1}return!0}computeMoreMinimalEdits(l,h){return Ie(this,void 0,void 0,function*(){const m=this._getModel(l);if(!m)return h;const _=[];let f;h=b.mergeSort(h,(v,y)=>{if(v.range&&y.range)return C.Range.compareRangesUsingStarts(v.range,y.range);let L=v.range?0:1,I=y.range?0:1;return L-I});for(let{range:v,text:y,eol:L}of h)if(typeof L=="number"&&(f=L),!(C.Range.isEmpty(v)&&!y)){const I=m.getValueInRange(v);if(y=y.replace(/\r\n|\n|\r/g,m.eol),I!==y){if(Math.max(y.length,I.length)>i._diffLimit){_.push({range:v,text:y});continue}const k=N.stringDiff(I,y,!1),E=m.offsetAt(C.Range.lift(v).getStartPosition());for(const T of k){const O=m.positionAt(E+T.originalStart),A=m.positionAt(E+T.originalStart+T.originalLength),B={text:y.substr(T.modifiedStart,T.modifiedLength),range:{startLineNumber:O.lineNumber,startColumn:O.column,endLineNumber:A.lineNumber,endColumn:A.column}};m.getValueInRange(B.range)!==B.text&&_.push(B)}}}return typeof f=="number"&&_.push({eol:f,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),_})}computeLinks(l){return Ie(this,void 0,void 0,function*(){let h=this._getModel(l);return h?c.computeLinks(h):null})}textualSuggest(l,h,m,_){return Ie(this,void 0,void 0,function*(){const f=new u.StopWatch(!0),v=new RegExp(m,_),y=new Set;e:for(let L of l){const I=this._getModel(L);if(!!I){for(let k of I.words(v))if(!(k===h||!isNaN(Number(k)))&&(y.add(k),y.size>i._suggestionsLimit))break e}}return{words:Array.from(y),duration:f.elapsed()}})}computeWordRanges(l,h,m,_){return Ie(this,void 0,void 0,function*(){let f=this._getModel(l);if(!f)return Object.create(null);const v=new RegExp(m,_),y=Object.create(null);for(let L=h.startLineNumber;Lthis._host.fhr(y,L);let v={host:a.createProxyObject(m,_),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(v,h),Promise.resolve(a.getAllMethodNames(this._foreignModule))):new Promise((y,L)=>{q([l],I=>{this._foreignModule=I.create(v,h),y(a.getAllMethodNames(this._foreignModule))},L)})}fmr(l,h){if(!this._foreignModule||typeof this._foreignModule[l]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+l));try{return Promise.resolve(this._foreignModule[l].apply(this._foreignModule,h))}catch(m){return Promise.reject(m)}}}e.EditorSimpleWorker=i,i._diffLimit=1e5,i._suggestionsLimit=1e4;function n(t){return new i(t,null)}e.create=n,typeof importScripts=="function"&&(M.globals.monaco=s.createMonacoBaseAPI())}),define(Q[111],J([0,1,2]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewEventHandler=void 0;class N extends b.Disposable{constructor(){super();this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(w){return!1}onCompositionEnd(w){return!1}onConfigurationChanged(w){return!1}onCursorStateChanged(w){return!1}onDecorationsChanged(w){return!1}onFlushed(w){return!1}onFocusChanged(w){return!1}onLanguageConfigurationChanged(w){return!1}onLineMappingChanged(w){return!1}onLinesChanged(w){return!1}onLinesDeleted(w){return!1}onLinesInserted(w){return!1}onRevealRangeRequest(w){return!1}onScrollChanged(w){return!1}onThemeChanged(w){return!1}onTokensChanged(w){return!1}onTokensColorsChanged(w){return!1}onZonesChanged(w){return!1}handleEvents(w){let S=!1;for(let C=0,d=w.length;C=s,h=i,m=n>=s;let _=p.left,f=c.left;return _+o>a.scrollLeft+a.viewportWidth&&(_=a.scrollLeft+a.viewportWidth-o),f+o>a.scrollLeft+a.viewportWidth&&(f=a.scrollLeft+a.viewportWidth-o),_u){const i=r-(u-s);r-=i,o-=i}if(r=v,I=t+s<=l.height-y;return this._fixedOverflowWidgets?{fitsAbove:L,aboveTop:Math.max(n,v),aboveLeft:m,fitsBelow:I,belowTop:t,belowLeft:f}:{fitsAbove:L,aboveTop:u,aboveLeft:h,fitsBelow:I,belowTop:r,belowLeft:_}}_prepareRenderWidgetAtExactPositionOverflowing(p){return new w(p.top,p.left+this._contentLeft)}_getTopAndBottomLeft(p){if(!this._viewRange)return[null,null];const c=p.linesVisibleRangesForRange(this._viewRange,!1);if(!c||c.length===0)return[null,null];let o=c[0],s=c[0];for(const l of c)l.lineNumbers.lineNumber&&(s=l);let a=1073741824;for(const l of o.ranges)l.leftp.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(p){this._renderData=this._prepareRenderWidget(p)}render(p){if(!this._renderData){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&d(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+p.scrollTop-p.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&d(this._actual.afterRender,this._actual,this._renderData.position)}}function d(g,p,...c){try{return g.call(p,...c)}catch(o){return null}}}),define(Q[391],J([0,1,94,3,110,319]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DecorationsOverlay=void 0;class w extends b.DynamicViewOverlay{constructor(C){super();this._context=C;const d=this._context.configuration.options;this._lineHeight=d.get(53),this._typicalHalfwidthCharacterWidth=d.get(38).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(C){const d=this._context.configuration.options;return this._lineHeight=d.get(53),this._typicalHalfwidthCharacterWidth=d.get(38).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(C){return!0}onFlushed(C){return!0}onLinesChanged(C){return!0}onLinesDeleted(C){return!0}onLinesInserted(C){return!0}onScrollChanged(C){return C.scrollTopChanged||C.scrollWidthChanged}onZonesChanged(C){return!0}prepareRender(C){const d=C.getDecorationsInViewport();let g=[],p=0;for(let a=0,u=d.length;a{if(a.options.zIndexu.options.zIndex)return 1;const r=a.options.className,i=u.options.className;return ri?1:N.Range.compareRangesUsingStarts(a.range,u.range)});const c=C.visibleRange.startLineNumber,o=C.visibleRange.endLineNumber,s=[];for(let a=c;a<=o;a++){const u=a-c;s[u]=""}this._renderWholeLineDecorations(C,g,s),this._renderNormalDecorations(C,g,s),this._renderResult=s}_renderWholeLineDecorations(C,d,g){const p=String(this._lineHeight),c=C.visibleRange.startLineNumber,o=C.visibleRange.endLineNumber;for(let s=0,a=d.length;s',i=Math.max(u.range.startLineNumber,c),n=Math.min(u.range.endLineNumber,o);for(let t=i;t<=n;t++){const l=t-c;g[l]+=r}}}}_renderNormalDecorations(C,d,g){const p=String(this._lineHeight),c=C.visibleRange.startLineNumber;let o=null,s=!1,a=null;for(let u=0,r=d.length;u';s[n]+=m}}}}render(C,d){if(!this._renderResult)return"";const g=d-C;return g<0||g>=this._renderResult.length?"":this._renderResult[g]}}e.DecorationsOverlay=w}),define(Q[172],J([0,1,94,320]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlyphMarginOverlay=e.DedupOverlay=e.DecorationToRender=void 0;class N{constructor(C,d,g){this.startLineNumber=+C,this.endLineNumber=+d,this.className=String(g)}}e.DecorationToRender=N;class M extends b.DynamicViewOverlay{_render(C,d,g){const p=[];for(let s=C;s<=d;s++){const a=s-C;p[a]=[]}if(g.length===0)return p;g.sort((s,a)=>s.className===a.className?s.startLineNumber===a.startLineNumber?s.endLineNumber-a.endLineNumber:s.startLineNumber-a.startLineNumber:s.className',u=[];for(let r=d;r<=g;r++){const i=r-d,n=p[i];n.length===0?u[i]="":u[i]='
    =this._renderResult.length?"":this._renderResult[g]}}e.GlyphMarginOverlay=w}),define(Q[392],J([0,1,172,324]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinesDecorationsOverlay=void 0;class N extends b.DedupOverlay{constructor(w){super();this._context=w;const C=this._context.configuration.options.get(124);this._decorationsLeft=C.decorationsLeft,this._decorationsWidth=C.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(w){const C=this._context.configuration.options.get(124);return this._decorationsLeft=C.decorationsLeft,this._decorationsWidth=C.decorationsWidth,!0}onDecorationsChanged(w){return!0}onFlushed(w){return!0}onLinesChanged(w){return!0}onLinesDeleted(w){return!0}onLinesInserted(w){return!0}onScrollChanged(w){return w.scrollTopChanged}onZonesChanged(w){return!0}_getDecorations(w){const S=w.getDecorationsInViewport();let C=[],d=0;for(let g=0,p=S.length;g
    ',o=[];for(let s=S;s<=C;s++){const a=s-S,u=d[a];let r="";for(let i=0,n=u.length;i';g[c]=s}this._renderResult=g}render(w,S){return this._renderResult?this._renderResult[S-w]:""}}e.MarginViewLineDecorationsOverlay=N}),define(Q[394],J([0,1,30,45,327]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewOverlayWidgets=void 0;class M extends N.ViewPart{constructor(S){super(S);const d=this._context.configuration.options.get(124);this._widgets={},this._verticalScrollbarWidth=d.verticalScrollbarWidth,this._minimapWidth=d.minimap.minimapWidth,this._horizontalScrollbarHeight=d.horizontalScrollbarHeight,this._editorHeight=d.height,this._editorWidth=d.width,this._domNode=b.createFastDomNode(document.createElement("div")),N.PartFingerprints.write(this._domNode,4),this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(S){const d=this._context.configuration.options.get(124);return this._verticalScrollbarWidth=d.verticalScrollbarWidth,this._minimapWidth=d.minimap.minimapWidth,this._horizontalScrollbarHeight=d.horizontalScrollbarHeight,this._editorHeight=d.height,this._editorWidth=d.width,!0}addWidget(S){const C=b.createFastDomNode(S.getDomNode());this._widgets[S.getId()]={widget:S,preference:null,domNode:C},C.setPosition("absolute"),C.setAttribute("widgetId",S.getId()),this._domNode.appendChild(C),this.setShouldRender()}setWidgetPosition(S,C){const d=this._widgets[S.getId()];return d.preference===C?!1:(d.preference=C,this.setShouldRender(),!0)}removeWidget(S){const C=S.getId();if(this._widgets.hasOwnProperty(C)){const g=this._widgets[C].domNode.domNode;delete this._widgets[C],g.parentNode.removeChild(g),this.setShouldRender()}}_renderWidget(S){const C=S.domNode;if(S.preference===null){C.unsetTop();return}if(S.preference===0)C.setTop(0),C.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(S.preference===1){const d=C.domNode.clientHeight;C.setTop(this._editorHeight-d-2*this._horizontalScrollbarHeight),C.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else S.preference===2&&(C.setTop(0),C.domNode.style.right="50%")}prepareRender(S){}render(S){this._domNode.setWidth(this._editorWidth);const C=Object.keys(this._widgets);for(let d=0,g=C.length;dthis._context.viewLayout.getVerticalOffsetForLineNumber(p)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(g.get(53)),this._zoneManager.setPixelRatio(g.get(122)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(C){const d=this._context.configuration.options;return C.hasChanged(53)&&(this._zoneManager.setLineHeight(d.get(53)),this._render()),C.hasChanged(122)&&(this._zoneManager.setPixelRatio(d.get(122)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(C){return this._render(),!0}onScrollChanged(C){return C.scrollHeightChanged&&(this._zoneManager.setOuterHeight(C.scrollHeight),this._render()),!0}onZonesChanged(C){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(C){this._domNode.setTop(C.top),this._domNode.setRight(C.right);let d=!1;d=this._zoneManager.setDOMWidth(C.width)||d,d=this._zoneManager.setDOMHeight(C.height)||d,d&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(C){this._zoneManager.setZones(C),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const C=this._zoneManager.getCanvasWidth(),d=this._zoneManager.getCanvasHeight(),g=this._zoneManager.resolveColorZones(),p=this._zoneManager.getId2Color(),c=this._domNode.domNode.getContext("2d");return c.clearRect(0,0,C,d),g.length>0&&this._renderOneLane(c,g,p,C),!0}_renderOneLane(C,d,g,p){let c=0,o=0,s=0;for(const a of d){const u=a.colorId,r=a.from,i=a.to;u!==c?(C.fillRect(0,o,p,s-o),c=u,C.fillStyle=g[c],o=r,s=i):s>=r?s=Math.max(s,i):(C.fillRect(0,o,p,s-o),o=r,s=i)}C.fillRect(0,o,p,s-o)}}e.OverviewRuler=w}),define(Q[396],J([0,1,30,12,45,14]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewZones=void 0;const S=()=>{throw new Error("Invalid change accessor")};class C extends M.ViewPart{constructor(p){super(p);const c=this._context.configuration.options,o=c.get(124);this._lineHeight=c.get(53),this._contentWidth=o.contentWidth,this._contentLeft=o.contentLeft,this.domNode=b.createFastDomNode(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=b.createFastDomNode(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const p=this._context.viewLayout.getWhitespaces(),c=new Map;for(const s of p)c.set(s.id,s);let o=!1;return this._context.model.changeWhitespace(s=>{const a=Object.keys(this._zones);for(let u=0,r=a.length;u{const s={addZone:a=>(c=!0,this._addZone(o,a)),removeZone:a=>{!a||(c=this._removeZone(o,a)||c)},layoutZone:a=>{!a||(c=this._layoutZone(o,a)||c)}};d(p,s),s.addZone=S,s.removeZone=S,s.layoutZone=S}),c}_addZone(p,c){const o=this._computeWhitespaceProps(c),a={whitespaceId:p.insertWhitespace(o.afterViewLineNumber,this._getZoneOrdinal(c),o.heightInPx,o.minWidthInPx),delegate:c,isVisible:!1,domNode:b.createFastDomNode(c.domNode),marginDomNode:c.marginDomNode?b.createFastDomNode(c.marginDomNode):null};return this._safeCallOnComputedHeight(a.delegate,o.heightInPx),a.domNode.setPosition("absolute"),a.domNode.domNode.style.width="100%",a.domNode.setDisplay("none"),a.domNode.setAttribute("monaco-view-zone",a.whitespaceId),this.domNode.appendChild(a.domNode),a.marginDomNode&&(a.marginDomNode.setPosition("absolute"),a.marginDomNode.domNode.style.width="100%",a.marginDomNode.setDisplay("none"),a.marginDomNode.setAttribute("monaco-view-zone",a.whitespaceId),this.marginDomNode.appendChild(a.marginDomNode)),this._zones[a.whitespaceId]=a,this.setShouldRender(),a.whitespaceId}_removeZone(p,c){if(this._zones.hasOwnProperty(c)){const o=this._zones[c];return delete this._zones[c],p.removeWhitespace(o.whitespaceId),o.domNode.removeAttribute("monaco-visible-view-zone"),o.domNode.removeAttribute("monaco-view-zone"),o.domNode.domNode.parentNode.removeChild(o.domNode.domNode),o.marginDomNode&&(o.marginDomNode.removeAttribute("monaco-visible-view-zone"),o.marginDomNode.removeAttribute("monaco-view-zone"),o.marginDomNode.domNode.parentNode.removeChild(o.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(p,c){if(this._zones.hasOwnProperty(c)){const o=this._zones[c],s=this._computeWhitespaceProps(o.delegate);return p.changeOneWhitespace(o.whitespaceId,s.afterViewLineNumber,s.heightInPx),this._safeCallOnComputedHeight(o.delegate,s.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(p){if(this._zones.hasOwnProperty(p)){const c=this._zones[p];return Boolean(c.delegate.suppressMouseDown)}return!1}_heightInPixels(p){return typeof p.heightInPx=="number"?p.heightInPx:typeof p.heightInLines=="number"?this._lineHeight*p.heightInLines:this._lineHeight}_minWidthInPixels(p){return typeof p.minWidthInPx=="number"?p.minWidthInPx:0}_safeCallOnComputedHeight(p,c){if(typeof p.onComputedHeight=="function")try{p.onComputedHeight(c)}catch(o){N.onUnexpectedError(o)}}_safeCallOnDomNodeTop(p,c){if(typeof p.onDomNodeTop=="function")try{p.onDomNodeTop(c)}catch(o){N.onUnexpectedError(o)}}prepareRender(p){}render(p){const c=p.viewportData.whitespaceViewportData,o={};let s=!1;for(let u=0,r=c.length;u0?o[r-1]:0,s=n)a=r+1;else break}return new M(r,s-i)}}e.LineBreakData=w;class S{constructor(o,s){this.tabSize=o,this.data=s}}e.MinimapLinesRenderingData=S;class C{constructor(o,s,a,u,r,i){this.content=o,this.continuesWithWrappedLine=s,this.minColumn=a,this.maxColumn=u,this.startVisibleColumn=r,this.tokens=i}}e.ViewLineData=C;class d{constructor(o,s,a,u,r,i,n,t,l,h){this.minColumn=o,this.maxColumn=s,this.content=a,this.continuesWithWrappedLine=u,this.isBasicASCII=d.isBasicASCII(a,i),this.containsRTL=d.containsRTL(a,this.isBasicASCII,r),this.tokens=n,this.inlineDecorations=t,this.tabSize=l,this.startVisibleColumn=h}static isBasicASCII(o,s){return s?b.isBasicASCII(o):!0}static containsRTL(o,s,a){return!s&&a?b.containsRTL(o):!1}}e.ViewLineRenderingData=d;class g{constructor(o,s,a){this.range=o,this.inlineClassName=s,this.type=a}}e.InlineDecoration=g;class p{constructor(o,s){this.range=o,this.options=s}}e.ViewModelDecoration=p}),define(Q[397],J([0,1,8,91,63]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonospaceLineBreaksComputerFactory=void 0;class w extends N.CharacterClassifier{constructor(r,i){super(0);for(let n=0;n=0&&r<256?this._asciiMap[r]:r>=12352&&r<=12543||r>=13312&&r<=19903||r>=19968&&r<=40959?3:this._map.get(r)||this._defaultValue}}let S=[],C=[];class d{constructor(r,i){this.classifier=new w(r,i)}static create(r){return new d(r.get(113),r.get(112))}createLineBreaksComputer(r,i,n,t){i=i|0,n=+n;let l=[],h=[];return{addRequest:(m,_)=>{l.push(m),h.push(_)},finalize:()=>{const m=r.typicalFullwidthCharacterWidth/r.typicalHalfwidthCharacterWidth;let _=[];for(let f=0,v=l.length;f=0){let F=Math.abs(f[B]-O);for(;B+1=F)break;F=D,B++}}for(;BF&&(F=E,D=T);let R=0,W=0,x=0,K=0;if(D<=O){let ee=D,se=F===0?0:i.charCodeAt(F-1),ne=F===0?0:u.get(se),le=!0;for(let X=F;XE&&s(se,ne,P,V)&&(R=z,W=ee),ee+=U,ee>O){z>E?(x=z,K=ee-U):(x=X+1,K=ee),ee-W>y&&(R=0),le=!1;break}se=P,ne=V}if(le){k>0&&(L[k]=_[_.length-1],I[k]=f[_.length-1],k++);break}}if(R===0){let ee=D,se=i.charCodeAt(F),ne=u.get(se),le=!1;for(let X=F-1;X>=E;X--){const z=X+1,P=i.charCodeAt(X);if(P===9){le=!0;break}let V,U;if(b.isLowSurrogate(P)?(X--,V=0,U=2):(V=u.get(P),U=b.isFullWidthCharacter(P)?l:1),ee<=O){if(x===0&&(x=z,K=ee),ee<=O-y)break;if(s(P,V,se,ne)){R=z,W=ee;break}}ee-=U,se=P,ne=V}if(R!==0){const X=y-(K-W);if(X<=n){const z=i.charCodeAt(x);let P;b.isHighSurrogate(z)?P=2:P=c(z,K,n,l),X-P<0&&(R=0)}}if(le){B--;continue}}if(R===0&&(R=x,W=K),R<=E){const ee=i.charCodeAt(E);b.isHighSurrogate(ee)?(R=E+2,W=T+2):(R=E+1,W=T+c(ee,T,n,l))}for(E=R,L[k]=R,T=W,I[k]=W,k++,O=W+y;B<0||B=Y)break;Y=ee,B++}}return k===0?null:(L.length=k,I.length=k,S=r.breakOffsets,C=r.breakOffsetsVisibleColumn,r.breakOffsets=L,r.breakOffsetsVisibleColumn=I,r.wrappedTextIndentLength=v,r)}function p(u,r,i,n,t,l){if(n===-1)return null;const h=r.length;if(h<=1)return null;const m=a(r,i,n,t,l),_=n-m;let f=[],v=[],y=0,L=0,I=0,k=n,E=r.charCodeAt(0),T=u.get(E),O=c(E,0,i,t),A=1;b.isHighSurrogate(E)&&(O+=1,E=r.charCodeAt(1),T=u.get(E),A++);for(let B=A;Bk&&((L===0||O-I>_)&&(L=F,I=O-W),f[y]=L,v[y]=I,y++,k=I+_,L=0),E=D,T=R}return y===0?null:(f[y]=h,v[y]=O,new M.LineBreakData(f,v,m))}function c(u,r,i,n){return u===9?i-r%i:b.isFullWidthCharacter(u)||u<32?n:1}function o(u,r){return r-u%r}function s(u,r,i,n){return i!==32&&(r===2||r===3&&n!==2||n===1||n===3&&r!==1)}function a(u,r,i,n,t){let l=0;if(t!==0){const h=b.firstNonWhitespaceIndex(u);if(h!==-1){for(let _=0;_i&&(l=0)}}return l}}),define(Q[173],J([0,1,6,2]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadOnlyEditAttemptEvent=e.CursorStateChangedEvent=e.ViewZonesChangedEvent=e.ScrollChangedEvent=e.FocusChangedEvent=e.ContentSizeChangedEvent=e.ViewModelEventsCollector=e.ViewModelEventDispatcher=void 0;class M extends N.Disposable{constructor(){super();this._onEvent=this._register(new b.Emitter),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(s){this._addOutgoingEvent(s),this._emitOugoingEvents()}_addOutgoingEvent(s){for(let a=0,u=this._outgoingEvents.length;a0;){if(this._collector||this._isConsumingViewEventQueue)return;const s=this._outgoingEvents.shift();s.isNoOp()||this._onEvent.fire(s)}}addViewEventHandler(s){for(let a=0,u=this._eventHandlers.length;a0&&this._emitMany(a)}this._emitOugoingEvents()}emitSingleViewEvent(s){try{this.beginEmitViewEvents().emitViewEvent(s)}finally{this.endEmitViewEvents()}}_emitMany(s){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(s):this._viewEventQueue=s,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const s=this._viewEventQueue;this._viewEventQueue=null;const a=this._eventHandlers.slice(0);for(const u of a)u.handleEvents(s)}}}e.ViewModelEventDispatcher=M;class w{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(s){this.viewEvents.push(s)}emitOutgoingEvent(s){this.outgoingEvents.push(s)}}e.ViewModelEventsCollector=w;class S{constructor(s,a,u,r){this.kind=0,this._oldContentWidth=s,this._oldContentHeight=a,this.contentWidth=u,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}merge(s){return s.kind!==0?this:new S(this._oldContentWidth,this._oldContentHeight,s.contentWidth,s.contentHeight)}}e.ContentSizeChangedEvent=S;class C{constructor(s,a){this.kind=1,this.oldHasFocus=s,this.hasFocus=a}isNoOp(){return this.oldHasFocus===this.hasFocus}merge(s){return s.kind!==1?this:new C(this.oldHasFocus,s.hasFocus)}}e.FocusChangedEvent=C;class d{constructor(s,a,u,r,i,n,t,l){this.kind=2,this._oldScrollWidth=s,this._oldScrollLeft=a,this._oldScrollHeight=u,this._oldScrollTop=r,this.scrollWidth=i,this.scrollLeft=n,this.scrollHeight=t,this.scrollTop=l,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}merge(s){return s.kind!==2?this:new d(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,s.scrollWidth,s.scrollLeft,s.scrollHeight,s.scrollTop)}}e.ScrollChangedEvent=d;class g{constructor(){this.kind=3}isNoOp(){return!1}merge(s){return this}}e.ViewZonesChangedEvent=g;class p{constructor(s,a,u,r,i,n,t){this.kind=5,this.oldSelections=s,this.selections=a,this.oldModelVersionId=u,this.modelVersionId=r,this.source=i,this.reason=n,this.reachedMaxCursorCount=t}static _selectionsAreEqual(s,a){if(!s&&!a)return!0;if(!s||!a)return!1;const u=s.length,r=a.length;if(u!==r)return!1;for(let i=0;i=a?0:r.horizontalScrollbarSize}_getContentHeight(s,a,u){const r=this._configuration.options;let i=this._linesLayout.getLinesTotalHeight();return r.get(89)?i+=Math.max(0,a-r.get(53)-r.get(69).bottom):i+=this._getHorizontalScrollbarHeight(s,u),i}_updateHeight(){const s=this._scrollable.getScrollDimensions(),a=s.width,u=s.height,r=s.contentWidth;this._scrollable.setScrollDimensions(new g(a,s.contentWidth,u,this._getContentHeight(a,u,r)))}getCurrentViewport(){const s=this._scrollable.getScrollDimensions(),a=this._scrollable.getCurrentScrollPosition();return new S.Viewport(a.scrollTop,a.scrollLeft,s.width,s.height)}getFutureViewport(){const s=this._scrollable.getScrollDimensions(),a=this._scrollable.getFutureScrollPosition();return new S.Viewport(a.scrollTop,a.scrollLeft,s.width,s.height)}_computeContentWidth(s){const a=this._configuration.options,u=a.get(125),r=a.get(38);if(u.isViewportWrapping){const i=a.get(124),n=a.get(59);return s>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side==="right"?s+i.verticalScrollbarWidth:s}else{const i=a.get(88)*r.typicalHalfwidthCharacterWidth,n=this._linesLayout.getWhitespaceMinWidth();return Math.max(s+i,n)}}setMaxLineWidth(s){const a=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new g(a.width,this._computeContentWidth(s),a.height,a.contentHeight)),this._updateHeight()}saveState(){const s=this._scrollable.getFutureScrollPosition();let a=s.scrollTop,u=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(a),r=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(u);return{scrollTop:a,scrollTopWithoutViewZones:a-r,scrollLeft:s.scrollLeft}}changeWhitespace(s){const a=this._linesLayout.changeWhitespace(s);return a&&this.onHeightMaybeChanged(),a}getVerticalOffsetForLineNumber(s){return this._linesLayout.getVerticalOffsetForLineNumber(s)}isAfterLines(s){return this._linesLayout.isAfterLines(s)}isInTopPadding(s){return this._linesLayout.isInTopPadding(s)}isInBottomPadding(s){return this._linesLayout.isInBottomPadding(s)}getLineNumberAtVerticalOffset(s){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(s)}getWhitespaceAtVerticalOffset(s){return this._linesLayout.getWhitespaceAtVerticalOffset(s)}getLinesViewportData(){const s=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(s.top,s.top+s.height)}getLinesViewportDataAtScrollTop(s){const a=this._scrollable.getScrollDimensions();return s+a.height>a.scrollHeight&&(s=a.scrollHeight-a.height),s<0&&(s=0),this._linesLayout.getLinesViewportData(s,s+a.height)}getWhitespaceViewportData(){const s=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(s.top,s.top+s.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(s){return this._scrollable.validateScrollPosition(s)}setScrollPosition(s,a){a===1?this._scrollable.setScrollPositionNow(s):this._scrollable.setScrollPositionSmooth(s)}deltaScrollNow(s,a){const u=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:u.scrollLeft+s,scrollTop:u.scrollTop+a})}}e.ViewLayout=c}),define(Q[399],J([0,1,3,21]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MoveCaretCommand=void 0;class M{constructor(S,C){this._selection=S,this._isMovingLeft=C}getEditOperations(S,C){if(!(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())){const d=this._selection.startLineNumber,g=this._selection.startColumn,p=this._selection.endColumn;if(!(this._isMovingLeft&&g===1)&&!(!this._isMovingLeft&&p===S.getLineMaxColumn(d)))if(this._isMovingLeft){const c=new b.Range(d,g-1,d,g),o=S.getValueInRange(c);C.addEditOperation(c,null),C.addEditOperation(new b.Range(d,p,d,p),o)}else{const c=new b.Range(d,p,d,p+1),o=S.getValueInRange(c);C.addEditOperation(c,null),C.addEditOperation(new b.Range(d,g,d,g),o)}}}computeCursorState(S,C){return this._isMovingLeft?new N.Selection(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new N.Selection(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}e.MoveCaretCommand=M}),define(Q[130],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionCommandArgs=e.filtersAction=e.mayIncludeActionsOfKind=e.CodeActionKind=void 0;class b{constructor(d){this.value=d}equals(d){return this.value===d.value}contains(d){return this.equals(d)||this.value===""||d.value.startsWith(this.value+b.sep)}intersects(d){return this.contains(d)||d.contains(this)}append(d){return new b(this.value+b.sep+d)}}e.CodeActionKind=b,b.sep=".",b.None=new b("@@none@@"),b.Empty=new b(""),b.QuickFix=new b("quickfix"),b.Refactor=new b("refactor"),b.Source=new b("source"),b.SourceOrganizeImports=b.Source.append("organizeImports"),b.SourceFixAll=b.Source.append("fixAll");function N(C,d){return!(C.include&&!C.include.intersects(d)||C.excludes&&C.excludes.some(g=>w(d,g,C.include))||!C.includeSourceActions&&b.Source.contains(d))}e.mayIncludeActionsOfKind=N;function M(C,d){const g=d.kind?new b(d.kind):void 0;return!(C.include&&(!g||!C.include.contains(g))||C.excludes&&g&&C.excludes.some(p=>w(g,p,C.include))||!C.includeSourceActions&&g&&b.Source.contains(g)||C.onlyIncludePreferredActions&&!d.isPreferred)}e.filtersAction=M;function w(C,d,g){return!(!d.contains(C)||g&&d.contains(g))}class S{constructor(d,g,p){this.kind=d,this.apply=g,this.preferred=p}static fromUser(d,g){return!d||typeof d!="object"?new S(g.kind,g.apply,!1):new S(S.getKindFromUser(d,g.kind),S.getApplyFromUser(d,g.apply),S.getPreferredUser(d))}static getApplyFromUser(d,g){switch(typeof d.apply=="string"?d.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return g}}static getKindFromUser(d,g){return typeof d.kind=="string"?new b(d.kind):g}static getPreferredUser(d){return typeof d.preferred=="boolean"?d.preferred:!1}}e.CodeActionCommandArgs=S}),define(Q[400],J([0,1,6]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPickerModel=void 0;class N{constructor(w,S,C){this.presentationIndex=C,this._onColorFlushed=new b.Emitter,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new b.Emitter,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new b.Emitter,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=w,this._color=w,this._colorPresentations=S}get color(){return this._color}set color(w){this._color.equals(w)||(this._color=w,this._onDidChangeColor.fire(w))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(w){this._colorPresentations=w,this.presentationIndex>w.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(w,S){for(let C=0;Cs)return!1;for(let a=0;a=65&&u<=90&&u+32===r)&&!(r>=65&&r<=90&&r+32===u))return!1}return!0}_createOperationsForBlockComment(g,p,c,o,s,a){const u=g.startLineNumber,r=g.startColumn,i=g.endLineNumber,n=g.endColumn,t=s.getLineContent(u),l=s.getLineContent(i);let h=t.lastIndexOf(p,r-1+p.length),m=l.indexOf(c,n-1-c.length);if(h!==-1&&m!==-1)if(u===i)t.substring(h+p.length,m).indexOf(c)>=0&&(h=-1,m=-1);else{const f=t.substring(h+p.length),v=l.substring(0,m);(f.indexOf(c)>=0||v.indexOf(c)>=0)&&(h=-1,m=-1)}let _;h!==-1&&m!==-1?(o&&h+p.length0&&l.charCodeAt(m-1)===32&&(c=" "+c,m-=1),_=C._createRemoveBlockCommentOperations(new M.Range(u,h+p.length+1,i,m+1),p,c)):(_=C._createAddBlockCommentOperations(g,p,c,this._insertSpace),this._usedEndToken=_.length===1?c:null);for(const f of _)a.addTrackedEditOperation(f.range,f.text)}static _createRemoveBlockCommentOperations(g,p,c){let o=[];return M.Range.isEmpty(g)?o.push(b.EditOperation.delete(new M.Range(g.startLineNumber,g.startColumn-p.length,g.endLineNumber,g.endColumn+c.length))):(o.push(b.EditOperation.delete(new M.Range(g.startLineNumber,g.startColumn-p.length,g.startLineNumber,g.startColumn))),o.push(b.EditOperation.delete(new M.Range(g.endLineNumber,g.endColumn,g.endLineNumber,g.endColumn+c.length)))),o}static _createAddBlockCommentOperations(g,p,c,o){let s=[];return M.Range.isEmpty(g)?s.push(b.EditOperation.replace(new M.Range(g.startLineNumber,g.startColumn,g.endLineNumber,g.endColumn),p+" "+c)):(s.push(b.EditOperation.insert(new N.Position(g.startLineNumber,g.startColumn),p+(o?" ":""))),s.push(b.EditOperation.insert(new N.Position(g.endLineNumber,g.endColumn),(o?" ":"")+c))),s}getEditOperations(g,p){const c=this._selection.startLineNumber,o=this._selection.startColumn;g.tokenizeIfCheap(c);const s=g.getLanguageIdAtPosition(c,o),a=S.LanguageConfigurationRegistry.getComments(s);!a||!a.blockCommentStartToken||!a.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,a.blockCommentStartToken,a.blockCommentEndToken,this._insertSpace,g,p)}computeCursorState(g,p){const c=p.getInverseEditOperations();if(c.length===2){const o=c[0],s=c[1];return new w.Selection(o.range.endLineNumber,o.range.endColumn,s.range.startLineNumber,s.range.startColumn)}else{const o=c[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new w.Selection(o.endLineNumber,o.endColumn+s,o.endLineNumber,o.endColumn+s)}}}e.BlockCommentCommand=C}),define(Q[401],J([0,1,8,62,14,3,21,41,224]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineCommentCommand=void 0;class g{constructor(c,o,s,a,u,r){this._selection=c,this._tabSize=o,this._type=s,this._insertSpace=a,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=u,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(c,o,s){c.tokenizeIfCheap(o);const a=c.getLanguageIdAtPosition(o,1),u=C.LanguageConfigurationRegistry.getComments(a),r=u?u.lineCommentToken:null;if(!r)return null;let i=[];for(let n=0,t=s-o+1;nu?o[n].commentStrOffset=r-1:o[n].commentStrOffset=r}}}e.LineCommentCommand=g}),define(Q[402],J([0,1,21,3]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DragAndDropCommand=void 0;class M{constructor(S,C,d){this.selection=S,this.targetPosition=C,this.copy=d,this.targetSelection=null}getEditOperations(S,C){let d=S.getValueInRange(this.selection);if(this.copy||C.addEditOperation(this.selection,null),C.addEditOperation(new N.Range(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),d),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new b.Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new b.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber0){let C=[];for(let p=0;pb.Range.compareRangesUsingStarts(p.range,c.range));let d=[],g=C[0];for(let p=1;p0){let i=[],n=u.caseOps.length,t=0;for(let l=0,h=r.length;l=n){i.push(r.slice(l));break}switch(u.caseOps[t]){case"U":i.push(r[l].toUpperCase());break;case"u":i.push(r[l].toUpperCase()),t++;break;case"L":i.push(r[l].toLowerCase());break;case"l":i.push(r[l].toLowerCase()),t++;break;default:i.push(r[l])}}r=i.join("")}o+=r}return o}static _substitute(p,c){if(c===null)return"";if(p===0)return c[0];let o="";for(;p>0;){if(p=s)break;let u=g.charCodeAt(o);switch(u){case 92:c.emitUnchanged(o-1),c.emitStatic("\\",o+1);break;case 110:c.emitUnchanged(o-1),c.emitStatic(` +`,o+1);break;case 116:c.emitUnchanged(o-1),c.emitStatic(" ",o+1);break;case 117:case 85:case 108:case 76:c.emitUnchanged(o-1),c.emitStatic("",o+1),p.push(String.fromCharCode(u));break}continue}if(a===36){if(o++,o>=s)break;let u=g.charCodeAt(o);if(u===36){c.emitUnchanged(o-1),c.emitStatic("$",o+1);continue}if(u===48||u===38){c.emitUnchanged(o-1),c.emitMatchIndex(0,o+1,p),p.length=0;continue}if(49<=u&&u<=57){let r=u-48;if(o+1e.MAX_FOLDING_REGIONS)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=S,this._endIndexes=C,this._collapseStates=new Uint32Array(Math.ceil(S.length/32)),this._types=d,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let S=[],C=(d,g)=>{let p=S[S.length-1];return this.getStartLineNumber(p)<=d&&this.getEndLineNumber(p)>=g};for(let d=0,g=this._startIndexes.length;de.MAX_LINE_NUMBER||c>e.MAX_LINE_NUMBER)throw new Error("startLineNumber or endLineNumber must not exceed "+e.MAX_LINE_NUMBER);for(;S.length>0&&!C(p,c);)S.pop();let o=S.length>0?S[S.length-1]:-1;S.push(d),this._startIndexes[d]=p+((o&255)<<24),this._endIndexes[d]=c+((o&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(S){return this._startIndexes[S]&e.MAX_LINE_NUMBER}getEndLineNumber(S){return this._endIndexes[S]&e.MAX_LINE_NUMBER}getType(S){return this._types?this._types[S]:void 0}hasTypes(){return!!this._types}isCollapsed(S){let C=S/32|0,d=S%32;return(this._collapseStates[C]&1<>>24)+((this._endIndexes[S]&b)>>>16);return C===e.MAX_FOLDING_REGIONS?-1:C}contains(S,C){return this.getStartLineNumber(S)<=C&&this.getEndLineNumber(S)>=C}findIndex(S){let C=0,d=this._startIndexes.length;if(d===0)return-1;for(;C=0){if(this.getEndLineNumber(C)>=S)return C;for(C=this.getParentIndex(C);C!==-1;){if(this.contains(C,S))return C;C=this.getParentIndex(C)}}return-1}toString(){let S=[];for(let C=0;C=this.endLineNumber}containsLine(S){return this.startLineNumber<=S&&S<=this.endLineNumber}}e.FoldingRegion=M}),define(Q[405],J([0,1,6,174]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setCollapseStateForType=e.setCollapseStateForMatchingLines=e.setCollapseStateAtLevel=e.setCollapseStateUp=e.setCollapseStateLevelsUp=e.setCollapseStateLevelsDown=e.toggleCollapseState=e.FoldingModel=void 0;class M{constructor(s,a){this._updateEventEmitter=new b.Emitter,this.onDidChange=this._updateEventEmitter.event,this._textModel=s,this._decorationProvider=a,this._regions=new N.FoldingRegions(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}get regions(){return this._regions}get textModel(){return this._textModel}get isInitialized(){return this._isInitialized}toggleCollapseState(s){if(!!s.length){s=s.sort((u,r)=>u.regionIndex-r.regionIndex);const a={};this._decorationProvider.changeDecorations(u=>{let r=0,i=-1,n=-1;const t=l=>{for(;rn&&(n=h),r++}};for(let l of s){let h=l.regionIndex,m=this._editorDecorationIds[h];if(m&&!a[m]){a[m]=!0,t(h);let _=!this._regions.isCollapsed(h);this._regions.setCollapsed(h,_),i=Math.max(i,this._regions.getEndLineNumber(h))}}t(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:s})}}update(s,a=[]){let u=[],r=(_,f)=>{for(let v of a)if(_{const v=s.getStartLineNumber(_),y=s.getEndLineNumber(_);f&&r(v,y)&&(f=!1),s.setCollapsed(_,f);const L=this._textModel.getLineMaxColumn(v),I={startLineNumber:v,startColumn:Math.max(L-1,1),endLineNumber:v,endColumn:L};u.push({range:I,options:this._decorationProvider.getDecorationOption(f,y<=i)}),f&&y>i&&(i=y)},t=0,l=()=>{for(;t=v)n(h,f===v),h++;else break}}m=l()}for(;h0)return s}applyMemento(s){if(!!Array.isArray(s)){let a=[];for(let u of s){let r=this.getRegionAtLine(u.startLineNumber);r&&!r.isCollapsed&&a.push(r)}this.toggleCollapseState(a)}}dispose(){this._decorationProvider.deltaDecorations(this._editorDecorationIds,[])}getAllRegionsAtLine(s,a){let u=[];if(this._regions){let r=this._regions.findRange(s),i=1;for(;r>=0;){let n=this._regions.toRegion(r);(!a||a(n,i))&&u.push(n),i++,r=n.parentIndex}}return u}getRegionAtLine(s){if(this._regions){let a=this._regions.findRange(s);if(a>=0)return this._regions.toRegion(a)}return null}getRegionsInside(s,a){let u=[],r=s?s.regionIndex+1:0,i=s?s.endLineNumber:Number.MAX_VALUE;if(a&&a.length===2){const n=[];for(let t=r,l=this._regions.length;t0&&!h.containedBy(n[n.length-1]);)n.pop();n.push(h),a(h,n.length)&&u.push(h)}else break}}else for(let n=r,t=this._regions.length;n1){let t=o.getRegionsInside(i,(l,h)=>l.isCollapsed!==n&&h0)for(let i of u){let n=o.getRegionAtLine(i);if(n&&(n.isCollapsed!==s&&r.push(n),a>1)){let t=o.getRegionsInside(n,(l,h)=>l.isCollapsed!==s&&hn.isCollapsed!==s&&tt.isCollapsed!==s&&l<=a);r.push(...n)}o.toggleCollapseState(r)}e.setCollapseStateLevelsUp=C;function d(o,s,a){let u=[];for(let r of a){let i=o.getAllRegionsAtLine(r,n=>n.isCollapsed!==s);i.length>0&&u.push(i[0])}o.toggleCollapseState(u)}e.setCollapseStateUp=d;function g(o,s,a,u){let r=(n,t)=>t===s&&n.isCollapsed!==a&&!u.some(l=>n.containsLine(l)),i=o.getRegionsInside(null,r);o.toggleCollapseState(i)}e.setCollapseStateAtLevel=g;function p(o,s,a){let u=o.textModel,r=o.regions,i=[];for(let n=r.length-1;n>=0;n--)if(a!==r.isCollapsed(n)){let t=r.getStartLineNumber(n);s.test(u.getLineContent(t))&&i.push(r.toRegion(n))}o.toggleCollapseState(i)}e.setCollapseStateForMatchingLines=p;function c(o,s,a){let u=o.regions,r=[];for(let i=u.length-1;i>=0;i--)a!==u.isCollapsed(i)&&s===u.getType(i)&&r.push(u.toRegion(i));o.toggleCollapseState(r)}e.setCollapseStateForType=c}),define(Q[406],J([0,1,6,3,19]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HiddenRangeModel=void 0;class w{constructor(g){this._updateEventEmitter=new b.Emitter,this._foldingModel=g,this._foldingModelListener=g.onDidChange(p=>this.updateHiddenRanges()),this._hiddenRanges=[],g.regions.length&&this.updateHiddenRanges()}get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}updateHiddenRanges(){let g=!1,p=[],c=0,o=0,s=Number.MAX_VALUE,a=-1,u=this._foldingModel.regions;for(;c({startLineNumber:g.startLineNumber-1,endLineNumber:g.endLineNumber}))}applyHiddenRanges(g){this._hiddenRanges=g,this._updateEventEmitter.fire(g)}hasRanges(){return this._hiddenRanges.length>0}isHidden(g){return C(this._hiddenRanges,g)!==null}adjustSelections(g){let p=!1,c=this._foldingModel.textModel,o=null,s=a=>((!o||!S(a,o))&&(o=C(this._hiddenRanges,a)),o?o.startLineNumber-1:null);for(let a=0,u=g.length;a0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}e.HiddenRangeModel=w;function S(d,g){return d>=g.startLineNumber&&d<=g.endLineNumber}function C(d,g){let p=M.findFirstInSorted(d,c=>g=0&&d[p].endLineNumber>=g?d[p]:null}}),define(Q[225],J([0,1,12,174,2]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sanitizeRanges=e.RangesCollector=e.SyntaxRangeProvider=e.ID_SYNTAX_PROVIDER=void 0;const w=5e3,S={};e.ID_SYNTAX_PROVIDER="syntax";class C{constructor(o,s,a,u=w){this.editorModel=o,this.providers=s,this.limit=u,this.id=e.ID_SYNTAX_PROVIDER;for(const r of s)typeof r.onDidChange=="function"&&(this.disposables||(this.disposables=new M.DisposableStore),this.disposables.add(r.onDidChange(a)))}compute(o){return d(this.providers,this.editorModel,o).then(s=>s?p(s,this.limit):null)}dispose(){var o;(o=this.disposables)===null||o===void 0||o.dispose()}}e.SyntaxRangeProvider=C;function d(c,o,s){let a=null,u=c.map((r,i)=>Promise.resolve(r.provideFoldingRanges(o,S,s)).then(n=>{if(!s.isCancellationRequested&&Array.isArray(n)){Array.isArray(a)||(a=[]);let t=o.getLineCount();for(let l of n)l.start>0&&l.end>l.start&&l.end<=t&&a.push({start:l.start,end:l.end,rank:i,kind:l.kind})}},b.onUnexpectedExternalError));return Promise.all(u).then(r=>a)}class g{constructor(o){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=o}add(o,s,a,u){if(!(o>N.MAX_LINE_NUMBER||s>N.MAX_LINE_NUMBER)){let r=this._length;this._startIndexes[r]=o,this._endIndexes[r]=s,this._nestingLevels[r]=u,this._types[r]=a,this._length++,u<30&&(this._nestingLevelCounts[u]=(this._nestingLevelCounts[u]||0)+1)}}toIndentRanges(){if(this._length<=this._foldingRangesLimit){let o=new Uint32Array(this._length),s=new Uint32Array(this._length);for(let a=0;athis._foldingRangesLimit){s=i;break}o+=n}}let a=new Uint32Array(this._foldingRangesLimit),u=new Uint32Array(this._foldingRangesLimit),r=[];for(let i=0,n=0;i{let t=i.start-n.start;return t===0&&(t=i.rank-n.rank),t}),a=new g(o),u,r=[];for(let i of s)if(!u)u=i,a.add(i.start,i.end,i.kind&&i.kind.value,r.length);else if(i.start>u.start)if(i.end<=u.end)r.push(u),u=i,a.add(i.start,i.end,i.kind&&i.kind.value,r.length);else{if(i.start>u.end){do u=r.pop();while(u&&i.start>u.end);u&&r.push(u),u=i}a.add(i.start,i.end,i.kind&&i.kind.value,r.length)}return a.toIndentRanges()}e.sanitizeRanges=p}),define(Q[407],J([0,1,225]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InitializingRangeProvider=e.ID_INIT_PROVIDER=void 0,e.ID_INIT_PROVIDER="init";class N{constructor(w,S,C,d){if(this.editorModel=w,this.id=e.ID_INIT_PROVIDER,S.length){let g=p=>({range:{startLineNumber:p.startLineNumber,startColumn:0,endLineNumber:p.endLineNumber,endColumn:w.getLineLength(p.endLineNumber)},options:{stickiness:1}});this.decorationIds=w.deltaDecorations([],S.map(g)),this.timeout=setTimeout(C,d)}}dispose(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),typeof this.timeout=="number"&&(clearTimeout(this.timeout),this.timeout=void 0)}compute(w){let S=[];if(this.decorationIds)for(let C of this.decorationIds){let d=this.editorModel.getDecorationRange(C);d&&S.push({start:d.startLineNumber,end:d.endLineNumber,rank:1})}return Promise.resolve(b.sanitizeRanges(S,Number.MAX_VALUE))}}e.InitializingRangeProvider=N}),define(Q[226],J([0,1,62,3]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FormattingEdit=void 0;class M{static _handleEolEdits(S,C){let d,g=[];for(let p of C)typeof p.eol=="number"&&(d=p.eol),p.range&&typeof p.text=="string"&&g.push(p);return typeof d=="number"&&S.hasModel()&&S.getModel().pushEOL(d),g}static _isFullModelReplaceEdit(S,C){if(!S.hasModel())return!1;const d=S.getModel(),g=d.validateRange(C.range);return d.getFullModelRange().equalsRange(g)}static execute(S,C,d){d&&S.pushUndoStop();const g=M._handleEolEdits(S,C);g.length===1&&M._isFullModelReplaceEdit(S,g[0])?S.executeEdits("formatEditsCommand",g.map(p=>b.EditOperation.replace(N.Range.lift(p.range),p.text))):S.executeEdits("formatEditsCommand",g.map(p=>b.EditOperation.replaceMove(N.Range.lift(p.range),p.text))),d&&S.pushUndoStop()}}e.FormattingEdit=M}),define(Q[227],J([0,1,2,6,17]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ClickLinkGesture=e.ClickLinkOptions=e.ClickLinkKeyboardEvent=e.ClickLinkMouseEvent=void 0;function w(c,o){return!!c[o]}class S{constructor(o,s){this.target=o.target,this.hasTriggerModifier=w(o.event,s.triggerModifier),this.hasSideBySideModifier=w(o.event,s.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=o.event.detail<=1}}e.ClickLinkMouseEvent=S;class C{constructor(o,s){this.keyCodeIsTriggerKey=o.keyCode===s.triggerKey,this.keyCodeIsSideBySideKey=o.keyCode===s.triggerSideBySideKey,this.hasTriggerModifier=w(o,s.triggerModifier)}}e.ClickLinkKeyboardEvent=C;class d{constructor(o,s,a,u){this.triggerKey=o,this.triggerModifier=s,this.triggerSideBySideKey=a,this.triggerSideBySideModifier=u}equals(o){return this.triggerKey===o.triggerKey&&this.triggerModifier===o.triggerModifier&&this.triggerSideBySideKey===o.triggerSideBySideKey&&this.triggerSideBySideModifier===o.triggerSideBySideModifier}}e.ClickLinkOptions=d;function g(c){return c==="altKey"?M.isMacintosh?new d(57,"metaKey",6,"altKey"):new d(5,"ctrlKey",6,"altKey"):M.isMacintosh?new d(6,"altKey",57,"metaKey"):new d(6,"altKey",5,"ctrlKey")}class p extends b.Disposable{constructor(o){super();this._onMouseMoveOrRelevantKeyDown=this._register(new N.Emitter),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new N.Emitter),this.onExecute=this._onExecute.event,this._onCancel=this._register(new N.Emitter),this.onCancel=this._onCancel.event,this._editor=o,this._opts=g(this._editor.getOption(64)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(s=>{if(s.hasChanged(64)){const a=g(this._editor.getOption(64));if(this._opts.equals(a))return;this._opts=a,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(s=>this._onEditorMouseMove(new S(s,this._opts)))),this._register(this._editor.onMouseDown(s=>this._onEditorMouseDown(new S(s,this._opts)))),this._register(this._editor.onMouseUp(s=>this._onEditorMouseUp(new S(s,this._opts)))),this._register(this._editor.onKeyDown(s=>this._onEditorKeyDown(new C(s,this._opts)))),this._register(this._editor.onKeyUp(s=>this._onEditorKeyUp(new C(s,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(s=>this._onDidChangeCursorSelection(s))),this._register(this._editor.onDidChangeModel(s=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(s=>{(s.scrollTopChanged||s.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(o){o.selection&&o.selection.startColumn!==o.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(o){this._lastMouseMoveEvent=o,this._onMouseMoveOrRelevantKeyDown.fire([o,null])}_onEditorMouseDown(o){this._hasTriggerKeyOnMouseDown=o.hasTriggerModifier,this._lineNumberOnMouseDown=o.target.position?o.target.position.lineNumber:0}_onEditorMouseUp(o){const s=o.target.position?o.target.position.lineNumber:0;this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===s&&this._onExecute.fire(o)}_onEditorKeyDown(o){this._lastMouseMoveEvent&&(o.keyCodeIsTriggerKey||o.keyCodeIsSideBySideKey&&o.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,o]):o.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(o){o.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}e.ClickLinkGesture=p}),define(Q[228],J([0,1,15,12]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverOperation=void 0;class M{constructor(S,C,d,g,p){this._computer=S,this._state=0,this._hoverTime=p,this._firstWaitScheduler=new b.RunOnceScheduler(()=>this._triggerAsyncComputation(),0),this._secondWaitScheduler=new b.RunOnceScheduler(()=>this._triggerSyncComputation(),0),this._loadingMessageScheduler=new b.RunOnceScheduler(()=>this._showLoadingMessage(),0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=C,this._errorCallback=d,this._progressCallback=g}setHoverTime(S){this._hoverTime=S}_firstWaitTime(){return this._hoverTime/2}_secondWaitTime(){return this._hoverTime/2}_loadingMessageTime(){return 3*this._hoverTime}_triggerAsyncComputation(){this._state=2,this._secondWaitScheduler.schedule(this._secondWaitTime()),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=b.createCancelablePromise(S=>this._computer.computeAsync(S)),this._asyncComputationPromise.then(S=>{this._asyncComputationPromiseDone=!0,this._withAsyncResult(S)},S=>this._onError(S))):this._asyncComputationPromiseDone=!0}_triggerSyncComputation(){this._computer.computeSync&&this._computer.onResult(this._computer.computeSync(),!0),this._asyncComputationPromiseDone?(this._state=0,this._onComplete(this._computer.getResult())):(this._state=3,this._onProgress(this._computer.getResult()))}_showLoadingMessage(){this._state===3&&this._onProgress(this._computer.getResultWithLoadingMessage())}_withAsyncResult(S){S&&this._computer.onResult(S,!1),this._state===3&&(this._state=0,this._onComplete(this._computer.getResult()))}_onComplete(S){this._completeCallback(S)}_onError(S){this._errorCallback?this._errorCallback(S):N.onUnexpectedError(S)}_onProgress(S){this._progressCallback(S)}start(S){if(S===0)this._state===0&&(this._state=1,this._firstWaitScheduler.schedule(this._firstWaitTime()),this._loadingMessageScheduler.schedule(this._loadingMessageTime()));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._loadingMessageScheduler.cancel(),this._state===1&&this._firstWaitScheduler.cancel(),this._state===2&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),this._state===3&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0}}e.HoverOperation=M}),define(Q[408],J([0,1,52]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlyphHoverWidget=void 0;class N extends b.Widget{constructor(w,S){super();this._id=w,this._editor=S,this._isVisible=!1,this._domNode=document.createElement("div"),this._domNode.className="monaco-hover hidden",this._domNode.setAttribute("aria-hidden","true"),this._domNode.setAttribute("role","tooltip"),this._showAtLineNumber=-1,this._register(this._editor.onDidChangeConfiguration(C=>{C.hasChanged(38)&&this.updateFont()})),this._editor.addOverlayWidget(this)}get isVisible(){return this._isVisible}set isVisible(w){this._isVisible=w,this._domNode.classList.toggle("hidden",!this._isVisible)}getId(){return this._id}getDomNode(){return this._domNode}showAt(w){this._showAtLineNumber=w,this.isVisible||(this.isVisible=!0);const S=this._editor.getLayoutInfo(),C=this._editor.getTopForLineNumber(this._showAtLineNumber),d=this._editor.getScrollTop(),g=this._editor.getOption(53),p=this._domNode.clientHeight,c=C-d-(p-g)/2;this._domNode.style.left=`${S.glyphMarginLeft+S.glyphMarginWidth}px`,this._domNode.style.top=`${Math.max(Math.round(c),0)}px`}hide(){!this.isVisible||(this.isVisible=!1)}getPosition(){return null}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}updateFont(){const w=Array.prototype.slice.call(this._domNode.getElementsByTagName("code")),S=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));[...w,...S].forEach(C=>this._editor.applyFontInfo(C))}updateContents(w){this._domNode.textContent="",this._domNode.appendChild(w),this.updateFont()}}e.GlyphHoverWidget=N}),define(Q[409],J([0,1,21]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InPlaceReplaceCommand=void 0;class N{constructor(w,S,C){this._editRange=w,this._originalSelection=S,this._text=C}getEditOperations(w,S){S.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(w,S){const d=S.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new b.Selection(d.endLineNumber,Math.min(this._originalSelection.positionColumn,d.endColumn),d.endLineNumber,Math.min(this._originalSelection.positionColumn,d.endColumn)):new b.Selection(d.endLineNumber,d.endColumn-this._text.length,d.endLineNumber,d.endColumn)}}e.InPlaceReplaceCommand=N}),define(Q[229],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateIndent=e.getSpaceCnt=void 0;function b(M,w){let S=0;for(let C=0;C=c)return null;let o=[];for(let a=p;a<=c;a++)o.push(C.getLineContent(a));let s=o.slice(0);return s.sort(M.getCollator().compare),g===!0&&(s=s.reverse()),{startLineNumber:p,endLineNumber:c,before:o,after:s}}function S(C,d,g){let p=w(C,d,g);return p?b.EditOperation.replace(new N.Range(p.startLineNumber,1,p.endLineNumber,C.getLineMaxColumn(p.endLineNumber)),p.after.join(` +`)):null}}),define(Q[230],J([0,1,14,3,71]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketSelectionRangeProvider=void 0;class w{provideSelectionRanges(C,d){return Ie(this,void 0,void 0,function*(){const g=[];for(const p of d){const c=[];g.push(c);const o=new Map;yield new Promise(s=>w._bracketsRightYield(s,0,C,p,o)),yield new Promise(s=>w._bracketsLeftYield(s,0,C,p,o,c))}return g})}static _bracketsRightYield(C,d,g,p,c){const o=new Map,s=Date.now();for(;;){if(d>=w._maxRounds){C();break}if(!p){C();break}let a=g.findNextBracket(p);if(!a){C();break}if(Date.now()-s>w._maxDuration){setTimeout(()=>w._bracketsRightYield(C,d+1,g,p,c));break}const r=a.close[0];if(a.isOpen){let i=o.has(r)?o.get(r):0;o.set(r,i+1)}else{let i=o.has(r)?o.get(r):0;if(i-=1,o.set(r,Math.max(0,i)),i<0){let n=c.get(r);n||(n=new M.LinkedList,c.set(r,n)),n.push(a.range)}}p=a.range.getEndPosition()}}static _bracketsLeftYield(C,d,g,p,c,o){const s=new Map,a=Date.now();for(;;){if(d>=w._maxRounds&&c.size===0){C();break}if(!p){C();break}let u=g.findPrevBracket(p);if(!u){C();break}if(Date.now()-a>w._maxDuration){setTimeout(()=>w._bracketsLeftYield(C,d+1,g,p,c,o));break}const i=u.close[0];if(u.isOpen){let n=s.has(i)?s.get(i):0;if(n-=1,s.set(i,Math.max(0,n)),n<0){let t=c.get(i);if(t){let l=t.shift();t.size===0&&c.delete(i);const h=N.Range.fromPositions(u.range.getEndPosition(),l.getStartPosition()),m=N.Range.fromPositions(u.range.getStartPosition(),l.getEndPosition());o.push({range:h}),o.push({range:m}),w._addBracketLeading(g,m,o)}}}else{let n=s.has(i)?s.get(i):0;s.set(i,n+1)}p=u.range.getStartPosition()}}static _addBracketLeading(C,d,g){if(d.startLineNumber!==d.endLineNumber){const p=d.startLineNumber,c=C.getLineFirstNonWhitespaceColumn(p);c!==0&&c!==d.startColumn&&(g.push({range:N.Range.fromPositions(new b.Position(p,c),d.getEndPosition())}),g.push({range:N.Range.fromPositions(new b.Position(p,1),d.getEndPosition())}));const o=p-1;if(o>0){const s=C.getLineFirstNonWhitespaceColumn(o);s===d.startColumn&&s!==C.getLineLastNonWhitespaceColumn(o)&&(g.push({range:N.Range.fromPositions(new b.Position(o,s),d.getEndPosition())}),g.push({range:N.Range.fromPositions(new b.Position(o,1),d.getEndPosition())}))}}}}e.BracketSelectionRangeProvider=w,w._maxDuration=30,w._maxRounds=2}),define(Q[412],J([0,1,3,8]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordSelectionRangeProvider=void 0;class M{provideSelectionRanges(S,C){const d=[];for(const g of C){const p=[];d.push(p),this._addInWordRanges(p,S,g),this._addWordRanges(p,S,g),this._addWhitespaceLine(p,S,g),p.push({range:S.getFullModelRange()})}return d}_addInWordRanges(S,C,d){const g=C.getWordAtPosition(d);if(!!g){let{word:p,startColumn:c}=g,o=d.column-c,s=o,a=o,u=0;for(;s>=0;s--){let r=p.charCodeAt(s);if(s!==o&&(r===95||r===45))break;if(N.isLowerAsciiLetter(r)&&N.isUpperAsciiLetter(u))break;u=r}for(s+=1;a0&&C.getLineFirstNonWhitespaceColumn(d.lineNumber)===0&&C.getLineLastNonWhitespaceColumn(d.lineNumber)===0&&S.push({range:new b.Range(d.lineNumber,1,d.lineNumber,C.getLineMaxColumn(d.lineNumber))})}}e.WordSelectionRangeProvider=M}),define(Q[131],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetParser=e.TextmateSnippet=e.Variable=e.FormatString=e.Transform=e.Choice=e.Placeholder=e.TransformableMarker=e.Text=e.Marker=e.Scanner=void 0;class b{constructor(){this.value="",this.pos=0}static isDigitCharacter(u){return u>=48&&u<=57}static isVariableCharacter(u){return u===95||u>=97&&u<=122||u>=65&&u<=90}text(u){this.value=u,this.pos=0}tokenText(u){return this.value.substr(u.pos,u.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let u=this.pos,r=0,i=this.value.charCodeAt(u),n;if(n=b._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:u,len:1};if(b.isDigitCharacter(i)){n=8;do r+=1,i=this.value.charCodeAt(u+r);while(b.isDigitCharacter(i));return this.pos+=r,{type:n,pos:u,len:r}}if(b.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(u+ ++r);while(b.isVariableCharacter(i)||b.isDigitCharacter(i));return this.pos+=r,{type:n,pos:u,len:r}}n=10;do r+=1,i=this.value.charCodeAt(u+r);while(!isNaN(i)&&typeof b._table[i]=="undefined"&&!b.isDigitCharacter(i)&&!b.isVariableCharacter(i));return this.pos+=r,{type:n,pos:u,len:r}}}e.Scanner=b,b._table={[36]:0,[58]:1,[44]:2,[123]:3,[125]:4,[92]:5,[47]:6,[124]:7,[43]:11,[45]:12,[63]:13};class N{constructor(){this._children=[]}appendChild(u){return u instanceof M&&this._children[this._children.length-1]instanceof M?this._children[this._children.length-1].value+=u.value:(u.parent=this,this._children.push(u)),this}replace(u,r){const{parent:i}=u,n=i.children.indexOf(u),t=i.children.slice(0);t.splice(n,1,...r),i._children=t,function l(h,m){for(const _ of h)_.parent=m,l(_.children,_)}(r,i)}get children(){return this._children}get snippet(){let u=this;for(;;){if(!u)return;if(u instanceof o)return u;u=u.parent}}toString(){return this.children.reduce((u,r)=>u+r.toString(),"")}len(){return 0}}e.Marker=N;class M extends N{constructor(u){super();this.value=u}toString(){return this.value}len(){return this.value.length}clone(){return new M(this.value)}}e.Text=M;class w extends N{}e.TransformableMarker=w;class S extends w{constructor(u){super();this.index=u}static compareByIndex(u,r){return u.index===r.index?0:u.isFinalTabstop?1:r.isFinalTabstop||u.indexr.index?1:0}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof C?this._children[0]:void 0}clone(){let u=new S(this.index);return this.transform&&(u.transform=this.transform.clone()),u._children=this.children.map(r=>r.clone()),u}}e.Placeholder=S;class C extends N{constructor(){super(...arguments);this.options=[]}appendChild(u){return u instanceof M&&(u.parent=this,this.options.push(u)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let u=new C;return this.options.forEach(u.appendChild,u),u}}e.Choice=C;class d extends N{constructor(){super(...arguments);this.regexp=new RegExp("")}resolve(u){const r=this;let i=!1,n=u.replace(this.regexp,function(){return i=!0,r._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(t=>t instanceof g&&Boolean(t.elseValue))&&(n=this._replace([])),n}_replace(u){let r="";for(const i of this._children)if(i instanceof g){let n=u[i.index]||"";n=i.resolve(n),r+=n}else r+=i.toString();return r}toString(){return""}clone(){let u=new d;return u.regexp=new RegExp(this.regexp.source,""+(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),u._children=this.children.map(r=>r.clone()),u}}e.Transform=d;class g extends N{constructor(u,r,i,n){super();this.index=u,this.shorthandName=r,this.ifValue=i,this.elseValue=n}resolve(u){return this.shorthandName==="upcase"?u?u.toLocaleUpperCase():"":this.shorthandName==="downcase"?u?u.toLocaleLowerCase():"":this.shorthandName==="capitalize"?u?u[0].toLocaleUpperCase()+u.substr(1):"":this.shorthandName==="pascalcase"?u?this._toPascalCase(u):"":Boolean(u)&&typeof this.ifValue=="string"?this.ifValue:!Boolean(u)&&typeof this.elseValue=="string"?this.elseValue:u||""}_toPascalCase(u){const r=u.match(/[a-z]+/gi);return r?r.map(function(i){return i.charAt(0).toUpperCase()+i.substr(1).toLowerCase()}).join(""):u}clone(){return new g(this.index,this.shorthandName,this.ifValue,this.elseValue)}}e.FormatString=g;class p extends w{constructor(u){super();this.name=u}resolve(u){let r=u.resolve(this);return this.transform&&(r=this.transform.resolve(r||"")),r!==void 0?(this._children=[new M(r)],!0):!1}clone(){const u=new p(this.name);return this.transform&&(u.transform=this.transform.clone()),u._children=this.children.map(r=>r.clone()),u}}e.Variable=p;function c(a,u){const r=[...a];for(;r.length>0;){const i=r.shift();if(!u(i))break;r.unshift(...i.children)}}class o extends N{get placeholderInfo(){if(!this._placeholders){let u=[],r;this.walk(function(i){return i instanceof S&&(u.push(i),r=!r||r.indexn===u?(i=!0,!1):(r+=n.len(),!0)),i?r:-1}fullLen(u){let r=0;return c([u],i=>(r+=i.len(),!0)),r}enclosingPlaceholders(u){let r=[],{parent:i}=u;for(;i;)i instanceof S&&r.push(i),i=i.parent;return r}resolveVariables(u){return this.walk(r=>(r instanceof p&&r.resolve(u)&&(this._placeholders=void 0),!0)),this}appendChild(u){return this._placeholders=void 0,super.appendChild(u)}replace(u,r){return this._placeholders=void 0,super.replace(u,r)}clone(){let u=new o;return this._children=this.children.map(r=>r.clone()),u}walk(u){c(this.children,u)}}e.TextmateSnippet=o;class s{constructor(){this._scanner=new b,this._token={type:14,pos:0,len:0}}static escape(u){return u.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(u){return/\${?CLIPBOARD/.test(u)}parse(u,r,i){this._scanner.text(u),this._token=this._scanner.next();const n=new o;for(;this._parse(n););const t=new Map,l=[];let h=0;n.walk(m=>(m instanceof S&&(h+=1,m.isFinalTabstop?t.set(0,void 0):!t.has(m.index)&&m.children.length>0?t.set(m.index,m.children):l.push(m)),!0));for(const m of l){const _=t.get(m.index);if(_){const f=new S(m.index);f.transform=m.transform;for(const v of _)f.appendChild(v.clone());n.replace(m,[f])}}return i||(i=h>0&&r),!t.has(0)&&i&&n.appendChild(new S(0)),n}_accept(u,r){if(u===void 0||this._token.type===u){let i=r?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(u){return this._scanner.pos=u.pos+u.len,this._token=u,!1}_until(u){const r=this._token;for(;this._token.type!==u;){if(this._token.type===14)return!1;if(this._token.type===5){const n=this._scanner.next();if(n.type!==0&&n.type!==4&&n.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(r.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(u){return this._parseEscaped(u)||this._parseTabstopOrVariableName(u)||this._parseComplexPlaceholder(u)||this._parseComplexVariable(u)||this._parseAnything(u)}_parseEscaped(u){let r;return(r=this._accept(5,!0))?(r=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||r,u.appendChild(new M(r)),!0):!1}_parseTabstopOrVariableName(u){let r;const i=this._token;return this._accept(0)&&(r=this._accept(9,!0)||this._accept(8,!0))?(u.appendChild(/^\d+$/.test(r)?new S(Number(r)):new p(r)),!0):this._backTo(i)}_parseComplexPlaceholder(u){let r;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(r=this._accept(8,!0))))return this._backTo(i);const t=new S(Number(r));if(this._accept(1))for(;;){if(this._accept(4))return u.appendChild(t),!0;if(!this._parse(t))return u.appendChild(new M("${"+r+":")),t.children.forEach(u.appendChild,u),!0}else if(t.index>0&&this._accept(7)){const l=new C;for(;;){if(this._parseChoiceElement(l)){if(this._accept(2))continue;if(this._accept(7)&&(t.appendChild(l),this._accept(4)))return u.appendChild(t),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(t)?(u.appendChild(t),!0):(this._backTo(i),!1):this._accept(4)?(u.appendChild(t),!0):this._backTo(i)}_parseChoiceElement(u){const r=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let n;if((n=this._accept(5,!0))?n=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||n:n=this._accept(void 0,!0),!n)return this._backTo(r),!1;i.push(n)}return i.length===0?(this._backTo(r),!1):(u.appendChild(new M(i.join(""))),!0)}_parseComplexVariable(u){let r;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(r=this._accept(9,!0))))return this._backTo(i);const t=new p(r);if(this._accept(1))for(;;){if(this._accept(4))return u.appendChild(t),!0;if(!this._parse(t))return u.appendChild(new M("${"+r+":")),t.children.forEach(u.appendChild,u),!0}else return this._accept(6)?this._parseTransform(t)?(u.appendChild(t),!0):(this._backTo(i),!1):this._accept(4)?(u.appendChild(t),!0):this._backTo(i)}_parseTransform(u){let r=new d,i="",n="";for(;!this._accept(6);){let t;if(t=this._accept(5,!0)){t=this._accept(6,!0)||t,i+=t;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let t;if(t=this._accept(5,!0)){t=this._accept(5,!0)||this._accept(6,!0)||t,r.appendChild(new M(t));continue}if(!(this._parseFormatString(r)||this._parseAnything(r)))return!1}for(;!this._accept(4);){if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}try{r.regexp=new RegExp(i,n)}catch(t){return!1}return u.transform=r,!0}_parseFormatString(u){const r=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);let n=this._accept(8,!0);if(n)if(i){if(this._accept(4))return u.appendChild(new g(Number(n))),!0;if(!this._accept(1))return this._backTo(r),!1}else return u.appendChild(new g(Number(n))),!0;else return this._backTo(r),!1;if(this._accept(6)){let t=this._accept(9,!0);return!t||!this._accept(4)?(this._backTo(r),!1):(u.appendChild(new g(Number(n),t)),!0)}else if(this._accept(11)){let t=this._until(4);if(t)return u.appendChild(new g(Number(n),void 0,t,void 0)),!0}else if(this._accept(12)){let t=this._until(4);if(t)return u.appendChild(new g(Number(n),void 0,void 0,t)),!0}else if(this._accept(13)){let t=this._until(1);if(t){let l=this._until(4);if(l)return u.appendChild(new g(Number(n),void 0,t,l)),!0}}else{let t=this._until(4);if(t)return u.appendChild(new g(Number(n),void 0,void 0,t)),!0}return this._backTo(r),!1}_parseAnything(u){return this._token.type!==14?(u.appendChild(new M(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}e.SnippetParser=s}),define(Q[413],J([0,1,66,8,19]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompletionModel=e.LineContext=void 0;class w{constructor(d,g){this.leadingLineContent=d,this.characterCountDelta=g}}e.LineContext=w;class S{constructor(d,g,p,c,o,s,a){this.clipboardText=a,this._snippetCompareFn=S._compareCompletionItems,this._items=d,this._column=g,this._wordDistance=c,this._options=o,this._refilterKind=1,this._lineContext=p,s==="top"?this._snippetCompareFn=S._compareCompletionItemsSnippetsUp:s==="bottom"&&(this._snippetCompareFn=S._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(d){(this._lineContext.leadingLineContent!==d.leadingLineContent||this._lineContext.characterCountDelta!==d.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta2e3?b.fuzzyScore:b.fuzzyScoreGracefulAggressive;for(let r=0;r=t)i.score=b.FuzzyScore.Default;else if(typeof i.completion.filterText=="string"){let m=u(c,o,h,i.completion.filterText,i.filterTextLow,0,!1);if(!m)continue;N.compareIgnoreCase(i.completion.filterText,l)===0?i.score=m:(i.score=b.anyScore(c,o,h,l,i.labelLow,0),i.score[0]=m[0])}else{let m=u(c,o,h,l,i.labelLow,0,!1);if(!m)continue;i.score=m}}i.idx=r,i.distance=this._wordDistance.distance(i.position,i.completion),a.push(i),d.push(l.length)}}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:d.length?M.quickSelect(d.length-.85,d,(r,i)=>r-i):0}}static _compareCompletionItems(d,g){return d.score[0]>g.score[0]?-1:d.score[0]g.distance?1:d.idxg.idx?1:0}static _compareCompletionItemsSnippetsDown(d,g){if(d.completion.kind!==g.completion.kind){if(d.completion.kind===27)return 1;if(g.completion.kind===27)return-1}return S._compareCompletionItems(d,g)}static _compareCompletionItemsSnippetsUp(d,g){if(d.completion.kind!==g.completion.kind){if(d.completion.kind===27)return-1;if(g.completion.kind===27)return 1}return S._compareCompletionItems(d,g)}}e.CompletionModel=S}),define(Q[231],J([0,1,6,2,7,104]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResizableHTMLElement=void 0;class S{constructor(){this._onDidWillResize=new b.Emitter,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new b.Emitter,this.onDidResize=this._onDidResize.event,this._sashListener=new N.DisposableStore,this._size=new M.Dimension(0,0),this._minSize=new M.Dimension(0,0),this._maxSize=new M.Dimension(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new w.Sash(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new w.Sash(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new w.Sash(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:w.OrthogonalEdge.North}),this._southSash=new w.Sash(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:w.OrthogonalEdge.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let d,g=0,p=0;this._sashListener.add(b.Event.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{d===void 0&&(this._onDidWillResize.fire(),d=this._size,g=0,p=0)})),this._sashListener.add(b.Event.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{d!==void 0&&(d=void 0,g=0,p=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(c=>{d&&(p=c.currentX-c.startX,this.layout(d.height+g,d.width+p),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(c=>{d&&(p=-(c.currentX-c.startX),this.layout(d.height+g,d.width+p),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(c=>{d&&(g=-(c.currentY-c.startY),this.layout(d.height+g,d.width+p),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(c=>{d&&(g=c.currentY-c.startY,this.layout(d.height+g,d.width+p),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(b.Event.any(this._eastSash.onDidReset,this._westSash.onDidReset)(c=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(b.Event.any(this._northSash.onDidReset,this._southSash.onDidReset)(c=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this.domNode.remove()}enableSashes(d,g,p,c){this._northSash.state=d?3:0,this._eastSash.state=g?3:0,this._southSash.state=p?3:0,this._westSash.state=c?3:0}layout(d=this.size.height,g=this.size.width){const{height:p,width:c}=this._minSize,{height:o,width:s}=this._maxSize;d=Math.max(p,Math.min(o,d)),g=Math.max(c,Math.min(s,g));const a=new M.Dimension(g,d);M.Dimension.equals(a,this._size)||(this.domNode.style.height=d+"px",this.domNode.style.width=g+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}get size(){return this._size}set maxSize(d){this._maxSize=d}get maxSize(){return this._maxSize}set minSize(d){this._minSize=d}get minSize(){return this._minSize}set preferredSize(d){this._preferredSize=d}get preferredSize(){return this._preferredSize}}e.ResizableHTMLElement=S}),define(Q[414],J([0,1,19,2,91]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommitCharacterController=void 0;class w{constructor(C,d,g){this._disposables=new N.DisposableStore,this._disposables.add(d.onDidShow(()=>this._onItem(d.getFocusedItem()))),this._disposables.add(d.onDidFocus(this._onItem,this)),this._disposables.add(d.onDidHide(this.reset,this)),this._disposables.add(C.onWillType(p=>{if(this._active&&!d.isFrozen()){const c=p.charCodeAt(p.length-1);this._active.acceptCharacters.has(c)&&C.getOption(0)&&g(this._active.item)}}))}_onItem(C){if(!C||!b.isNonEmptyArray(C.item.completion.commitCharacters)){this.reset();return}if(!(this._active&&this._active.item.item===C.item)){const d=new M.CharacterSet;for(const g of C.item.completion.commitCharacters)g.length>0&&d.add(g.charCodeAt(0));this._active={acceptCharacters:d,item:C}}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}e.CommitCharacterController=w}),define(Q[415],J([0,1,2]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OvertypingCapturer=void 0;class N{constructor(w,S){this._disposables=new b.DisposableStore,this._lastOvertyped=[],this._empty=!0,this._disposables.add(w.onWillType(()=>{if(!!this._empty&&!!w.hasModel()){const C=w.getSelections(),d=C.length;let g=!1;for(let c=0;cN._maxSelectionLength)return;this._lastOvertyped[c]={value:p.getValueInRange(o),multiline:o.startLineNumber!==o.endLineNumber}}this._empty=!1}}})),this._disposables.add(S.onDidCancel(C=>{!this._empty&&!C.retrigger&&(this._empty=!0)}))}getLastOvertypedInfo(w){if(!this._empty&&w>=0&&w=0?i[n]:i[Math.max(0,~n-1)],l=c.length;for(const h of c){if(!N.Range.containsRange(h.range,t))break;l-=1}return l}}})}}e.WordDistance=w,w.None=new class extends w{distance(){return 0}}}),define(Q[232],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stateExists=e.findRules=e.substituteMatches=e.createError=e.log=e.sanitize=e.fixCase=e.empty=e.isIAction=e.isString=e.isFuzzyAction=e.isFuzzyActionArr=void 0;function b(a){return Array.isArray(a)}e.isFuzzyActionArr=b;function N(a){return!b(a)}e.isFuzzyAction=N;function M(a){return typeof a=="string"}e.isString=M;function w(a){return!M(a)}e.isIAction=w;function S(a){return!a}e.empty=S;function C(a,u){return a.ignoreCase&&u?u.toLowerCase():u}e.fixCase=C;function d(a){return a.replace(/[&<>'"_]/g,"-")}e.sanitize=d;function g(a,u){console.log(`${a.languageId}: ${u}`)}e.log=g;function p(a,u){return new Error(`${a.languageId}: ${u}`)}e.createError=p;function c(a,u,r,i,n){const t=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let l=null;return u.replace(t,function(h,m,_,f,v,y,L,I,k){return S(_)?S(f)?!S(v)&&v0;){const i=a.tokenizer[r];if(i)return i;const n=r.lastIndexOf(".");n<0?r=null:r=r.substr(0,n)}return null}e.findRules=o;function s(a,u){let r=u;for(;r&&r.length>0;){if(a.stateNames[r])return!0;const n=r.lastIndexOf(".");n<0?r=null:r=r.substr(0,n)}return!1}e.stateExists=s}),define(Q[417],J([0,1,232]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compile=void 0;function N(a,u){if(!u||!Array.isArray(u))return!1;for(const r of u)if(!a(r))return!1;return!0}function M(a,u){return typeof a=="boolean"?a:u}function w(a,u){return typeof a=="string"?a:u}function S(a){const u={};for(const r of a)u[r]=!0;return u}function C(a,u=!1){u&&(a=a.map(function(i){return i.toLowerCase()}));const r=S(a);return u?function(i){return r[i.toLowerCase()]!==void 0&&r.hasOwnProperty(i.toLowerCase())}:function(i){return r[i]!==void 0&&r.hasOwnProperty(i)}}function d(a,u){let r=0,i;do i=!1,u=u.replace(/(.|^)@(\w+)/g,function(t,l,h){if(l==="@")return t;i=!0;let m="";if(typeof a[h]=="string")m=a[h];else if(a[h]&&a[h]instanceof RegExp)m=a[h].source;else throw a[h]===void 0?b.createError(a,"language definition does not contain attribute '"+h+"', used at: "+u):b.createError(a,"attribute reference '"+h+"' must be a string, used at: "+u);return l+(b.empty(m)?"":"(?:"+m+")")}),r++;while(i&&r<5);u=u.replace(/@@/g,"@");let n=(a.ignoreCase?"i":"")+(a.unicode?"u":"");return new RegExp(u,n)}function g(a,u,r,i){if(i<0)return a;if(i=100){i=i-100;let n=r.split(".");if(n.unshift(r),i=0&&(i.tokenSubst=!0),typeof r.bracket=="string")if(r.bracket==="@open")i.bracket=1;else if(r.bracket==="@close")i.bracket=-1;else throw b.createError(a,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+u);if(r.next){if(typeof r.next!="string")throw b.createError(a,"the next state must be a string value in rule: "+u);{let n=r.next;if(!/^(@pop|@push|@popall)$/.test(n)&&(n[0]==="@"&&(n=n.substr(1)),n.indexOf("$")<0&&!b.stateExists(a,b.substituteMatches(a,n,"",[],""))))throw b.createError(a,"the next state '"+r.next+"' is not defined in rule: "+u);i.next=n}}return typeof r.goBack=="number"&&(i.goBack=r.goBack),typeof r.switchTo=="string"&&(i.switchTo=r.switchTo),typeof r.log=="string"&&(i.log=r.log),typeof r.nextEmbedded=="string"&&(i.nextEmbedded=r.nextEmbedded,a.usesEmbedded=!0),i}}else if(Array.isArray(r)){let i=[];for(let n=0,t=r.length;n0&&i[0]==="^",this.name=this.name+": "+i,this.regex=d(u,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")")}setAction(u,r){this.action=c(u,this.name,r)}}function s(a,u){if(!u||typeof u!="object")throw new Error("Monarch: expecting a language definition object");let r={};r.languageId=a,r.includeLF=M(u.includeLF,!1),r.noThrow=!1,r.maxStack=100,r.start=typeof u.start=="string"?u.start:null,r.ignoreCase=M(u.ignoreCase,!1),r.unicode=M(u.unicode,!1),r.tokenPostfix=w(u.tokenPostfix,"."+r.languageId),r.defaultToken=w(u.defaultToken,"source"),r.usesEmbedded=!1;let i=u;i.languageId=a,i.includeLF=r.includeLF,i.ignoreCase=r.ignoreCase,i.unicode=r.unicode,i.noThrow=r.noThrow,i.usesEmbedded=r.usesEmbedded,i.stateNames=u.tokenizer,i.defaultToken=r.defaultToken;function n(l,h,m){for(const _ of m){let f=_.include;if(f){if(typeof f!="string")throw b.createError(r,"an 'include' attribute must be a string at: "+l);if(f[0]==="@"&&(f=f.substr(1)),!u.tokenizer[f])throw b.createError(r,"include target '"+f+"' is not defined at: "+l);n(l+"."+f,h,u.tokenizer[f])}else{const v=new o(l);if(Array.isArray(_)&&_.length>=1&&_.length<=3)if(v.setRegex(i,_[0]),_.length>=3)if(typeof _[1]=="string")v.setAction(i,{token:_[1],next:_[2]});else if(typeof _[1]=="object"){const y=_[1];y.next=_[2],v.setAction(i,y)}else throw b.createError(r,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+l);else v.setAction(i,_[1]);else{if(!_.regex)throw b.createError(r,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+l);_.name&&typeof _.name=="string"&&(v.name=_.name),_.matchOnlyAtStart&&(v.matchOnlyAtLineStart=M(_.matchOnlyAtLineStart,!1)),v.setRegex(i,_.regex),v.setAction(i,_.action)}h.push(v)}}}if(!u.tokenizer||typeof u.tokenizer!="object")throw b.createError(r,"a language definition must define the 'tokenizer' attribute as an object");r.tokenizer=[];for(let l in u.tokenizer)if(u.tokenizer.hasOwnProperty(l)){r.start||(r.start=l);const h=u.tokenizer[l];r.tokenizer[l]=new Array,n("tokenizer."+l,r.tokenizer[l],h)}if(r.usesEmbedded=i.usesEmbedded,u.brackets){if(!Array.isArray(u.brackets))throw b.createError(r,"the 'brackets' attribute must be defined as an array")}else u.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];let t=[];for(let l of u.brackets){let h=l;if(h&&Array.isArray(h)&&h.length===3&&(h={token:h[2],open:h[0],close:h[1]}),h.open===h.close)throw b.createError(r,"open and close brackets in a 'brackets' attribute must be different: "+h.open+` + hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof h.open=="string"&&typeof h.token=="string"&&typeof h.close=="string")t.push({token:h.token+r.tokenPostfix,open:b.fixCase(r,h.open),close:b.fixCase(r,h.close)});else throw b.createError(r,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return r.brackets=t,r.noThrow=!0,r}e.compile=s}),define(Q[418],J([4,5]),function(q,e){return q.create("vs/base/browser/ui/actionbar/actionViewItems",e)}),define(Q[419],J([4,5]),function(q,e){return q.create("vs/base/browser/ui/findinput/findInput",e)}),define(Q[420],J([4,5]),function(q,e){return q.create("vs/base/browser/ui/findinput/findInputCheckboxes",e)}),define(Q[233],J([0,1,160,420,27]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RegexCheckbox=e.WholeWordsCheckbox=e.CaseSensitiveCheckbox=void 0;const w=N.localize(0,null),S=N.localize(1,null),C=N.localize(2,null);class d extends b.Checkbox{constructor(o){super({icon:M.Codicon.caseSensitive,title:w+o.appendTitle,isChecked:o.isChecked,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionForeground:o.inputActiveOptionForeground,inputActiveOptionBackground:o.inputActiveOptionBackground})}}e.CaseSensitiveCheckbox=d;class g extends b.Checkbox{constructor(o){super({icon:M.Codicon.wholeWord,title:S+o.appendTitle,isChecked:o.isChecked,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionForeground:o.inputActiveOptionForeground,inputActiveOptionBackground:o.inputActiveOptionBackground})}}e.WholeWordsCheckbox=g;class p extends b.Checkbox{constructor(o){super({icon:M.Codicon.regex,title:C+o.appendTitle,isChecked:o.isChecked,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionForeground:o.inputActiveOptionForeground,inputActiveOptionBackground:o.inputActiveOptionBackground})}}e.RegexCheckbox=p}),define(Q[421],J([4,5]),function(q,e){return q.create("vs/base/browser/ui/findinput/replaceInput",e)}),define(Q[422],J([4,5]),function(q,e){return q.create("vs/base/browser/ui/iconLabel/iconLabel",e)}),define(Q[175],J([0,1,7,157,2,120,40,17,20,55,422,23,304]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IconLabel=void 0;class o{constructor(n){this._element=n}get element(){return this._element}set textContent(n){this.disposed||n===this._textContent||(this._textContent=n,this._element.textContent=n)}set className(n){this.disposed||n===this._className||(this._className=n,this._element.className=n)}set empty(n){this.disposed||n===this._empty||(this._empty=n,this._element.style.marginLeft=n?"0":"")}dispose(){this.disposed=!0}}class s extends M.Disposable{constructor(n,t){super();this.hoverDelegate=void 0,this.customHovers=new Map,this.domNode=this._register(new o(b.append(n,b.$(".monaco-icon-label")))),this.labelContainer=b.append(this.domNode.element,b.$(".monaco-icon-label-container"));const l=b.append(this.labelContainer,b.$("span.monaco-icon-name-container"));this.descriptionContainer=this._register(new o(b.append(this.labelContainer,b.$("span.monaco-icon-description-container")))),(t==null?void 0:t.supportHighlights)?this.nameNode=new r(l,!!t.supportIcons):this.nameNode=new a(l),(t==null?void 0:t.supportDescriptionHighlights)?this.descriptionNodeFactory=()=>new N.HighlightedLabel(b.append(this.descriptionContainer.element,b.$("span.label-description")),!!t.supportIcons):this.descriptionNodeFactory=()=>this._register(new o(b.append(this.descriptionContainer.element,b.$("span.label-description")))),(t==null?void 0:t.hoverDelegate)&&(this.hoverDelegate=t.hoverDelegate)}setLabel(n,t,l){const h=["monaco-icon-label"];l&&(l.extraClasses&&h.push(...l.extraClasses),l.italic&&h.push("italic"),l.strikethrough&&h.push("strikethrough")),this.domNode.className=h.join(" "),this.setupHover(this.labelContainer,l==null?void 0:l.title),this.nameNode.setLabel(n,l),(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof N.HighlightedLabel?(this.descriptionNode.set(t||"",l?l.descriptionMatches:void 0),this.setupHover(this.descriptionNode.element,l==null?void 0:l.descriptionTitle)):(this.descriptionNode.textContent=t||"",this.setupHover(this.descriptionNode.element,(l==null?void 0:l.descriptionTitle)||""),this.descriptionNode.empty=!t))}setupHover(n,t){const l=this.customHovers.get(n);if(l&&(l.dispose(),this.customHovers.delete(n)),!t){n.removeAttribute("title");return}return this.hoverDelegate?this.setupCustomHover(this.hoverDelegate,n,t):this.setupNativeHover(n,t)}static adjustXAndShowCustomHover(n,t,l,h){if(n&&h)return t!==void 0&&(n.target.x=t+10),l.showHover(n)}getTooltipForCustom(n){if(d.isString(n))return()=>Ie(this,void 0,void 0,function*(){return n});if(d.isFunction(n.markdown))return n.markdown;{const t=n.markdown;return()=>Ie(this,void 0,void 0,function*(){return t})}}setupCustomHover(n,t,l){t.setAttribute("title",""),t.removeAttribute("title");let h=this.getTooltipForCustom(l);const m=C.isMacintosh?1500:500;let _,f,v=!1,y,L;function I(E){if(!v){y=new c.CancellationTokenSource;function T(D){(D.type===b.EventType.MOUSE_DOWN||D.fromElement===t)&&(L==null||L.dispose(),L=void 0,v=!1,_=void 0,y.dispose(!0),O.dispose(),A.dispose())}const O=g.domEvent(t,b.EventType.MOUSE_LEAVE,!0)(T.bind(t)),A=g.domEvent(t,b.EventType.MOUSE_DOWN,!0)(T.bind(t));v=!0;function B(D){f=D.x}const F=g.domEvent(t,b.EventType.MOUSE_MOVE,!0)(B.bind(t));setTimeout(()=>Ie(this,void 0,void 0,function*(){var D;if(v&&h&&!_){const R={targetElements:[this],dispose:()=>{}};_={text:p.localize(0,null),target:R,anchorPosition:0},L=s.adjustXAndShowCustomHover(_,f,n,v);const W=(D=yield h(y.token))!==null&&D!==void 0?D:d.isString(l)?void 0:l.markdownNotSupportedFallback;W?(_={text:W,target:R,anchorPosition:0},L=s.adjustXAndShowCustomHover(_,f,n,v)):L&&(L.dispose(),L=void 0)}F.dispose()}),m)}}const k=this._register(g.domEvent(t,b.EventType.MOUSE_OVER,!0)(I.bind(t)));this.customHovers.set(t,k)}setupNativeHover(n,t){let l="";d.isString(t)?l=t:(t==null?void 0:t.markdownNotSupportedFallback)&&(l=t.markdownNotSupportedFallback),n.title=l}}e.IconLabel=s;class a{constructor(n){this.container=n,this.label=void 0,this.singleLabel=void 0}setLabel(n,t){if(!(this.label===n&&S.equals(this.options,t)))if(this.label=n,this.options=t,typeof n=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=b.append(this.container,b.$("a.label-name",{id:t==null?void 0:t.domId}))),this.singleLabel.textContent=n;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let l=0;l{const m={start:l,end:l+h.length},_=t.map(f=>w.Range.intersect(m,f)).filter(f=>!w.Range.isEmpty(f)).map(({start:f,end:v})=>({start:f-l,end:v-l}));return l=m.end+n.length,_})}}class r{constructor(n,t){this.container=n,this.supportIcons=t,this.label=void 0,this.singleLabel=void 0}setLabel(n,t){if(!(this.label===n&&S.equals(this.options,t)))if(this.label=n,this.options=t,typeof n=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=new N.HighlightedLabel(b.append(this.container,b.$("a.label-name",{id:t==null?void 0:t.domId})),this.supportIcons)),this.singleLabel.set(n,t==null?void 0:t.matches,void 0,t==null?void 0:t.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const l=(t==null?void 0:t.separator)||"/",h=u(n,l,t==null?void 0:t.matches);for(let m=0;mW.element));this.data=R}}function h(D){return D instanceof p.ElementsDragAndDropData?new l(D):D}class m{constructor(R,W){this.modelProvider=R,this.dnd=W,this.autoExpandDisposable=b.Disposable.None}getDragURI(R){return this.dnd.getDragURI(R.element)}getDragLabel(R,W){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(R.map(x=>x.element),W)}onDragStart(R,W){this.dnd.onDragStart&&this.dnd.onDragStart(h(R),W)}onDragOver(R,W,x,K,Y=!0){const ee=this.dnd.onDragOver(h(R),W&&W.element,x,K),se=this.autoExpandNode!==W;if(se&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=W),typeof W=="undefined")return ee;if(se&&typeof ee!="boolean"&&ee.autoExpand&&(this.autoExpandDisposable=u.disposableTimeout(()=>{const P=this.modelProvider(),V=P.getNodeLocation(W);P.isCollapsed(V)&&P.setCollapsed(V,!1),this.autoExpandNode=void 0},500)),typeof ee=="boolean"||!ee.accept||typeof ee.bubble=="undefined"||ee.feedback){if(!Y){const P=typeof ee=="boolean"?ee:ee.accept,V=typeof ee=="boolean"?void 0:ee.effect;return{accept:P,effect:V,feedback:[x]}}return ee}if(ee.bubble===1){const P=this.modelProvider(),V=P.getNodeLocation(W),U=P.getParentNodeLocation(V),H=P.getNode(U),$=U&&P.getListIndex(U);return this.onDragOver(R,H,$,K,!1)}const ne=this.modelProvider(),le=ne.getNodeLocation(W),X=ne.getListIndex(le),z=ne.getListRenderCount(le);return Object.assign(Object.assign({},ee),{feedback:g.range(X,X+z)})}drop(R,W,x,K){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(h(R),W&&W.element,x,K)}onDragEnd(R){this.dnd.onDragEnd&&this.dnd.onDragEnd(R)}}function _(D,R){return R&&Object.assign(Object.assign({},R),{identityProvider:R.identityProvider&&{getId(W){return R.identityProvider.getId(W.element)}},dnd:R.dnd&&new m(D,R.dnd),multipleSelectionController:R.multipleSelectionController&&{isSelectionSingleChangeEvent(W){return R.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},W),{element:W.element}))},isSelectionRangeChangeEvent(W){return R.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},W),{element:W.element}))}},accessibilityProvider:R.accessibilityProvider&&Object.assign(Object.assign({},R.accessibilityProvider),{getSetSize(W){const x=D(),K=x.getNodeLocation(W),Y=x.getParentNodeLocation(K);return x.getNode(Y).visibleChildrenCount},getPosInSet(W){return W.visibleChildIndex+1},isChecked:R.accessibilityProvider&&R.accessibilityProvider.isChecked?W=>R.accessibilityProvider.isChecked(W.element):void 0,getRole:R.accessibilityProvider&&R.accessibilityProvider.getRole?W=>R.accessibilityProvider.getRole(W.element):()=>"treeitem",getAriaLabel(W){return R.accessibilityProvider.getAriaLabel(W.element)},getWidgetAriaLabel(){return R.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:R.accessibilityProvider&&R.accessibilityProvider.getWidgetRole?()=>R.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:R.accessibilityProvider&&R.accessibilityProvider.getAriaLevel?W=>R.accessibilityProvider.getAriaLevel(W.element):W=>W.depth,getActiveDescendantId:R.accessibilityProvider.getActiveDescendantId&&(W=>R.accessibilityProvider.getActiveDescendantId(W.element))}),keyboardNavigationLabelProvider:R.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},R.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(W){return R.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(W.element)}}),enableKeyboardNavigation:R.simpleKeyboardNavigation})}class f{constructor(R){this.delegate=R}getHeight(R){return this.delegate.getHeight(R.element)}getTemplateId(R){return this.delegate.getTemplateId(R.element)}hasDynamicHeight(R){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(R.element)}setDynamicHeight(R,W){this.delegate.setDynamicHeight&&this.delegate.setDynamicHeight(R.element,W)}}e.ComposedTreeDelegate=f;var v;(function(D){D.None="none",D.OnHover="onHover",D.Always="always"})(v=e.RenderIndentGuides||(e.RenderIndentGuides={}));class y{constructor(R,W=[]){this._elements=W,this.onDidChange=w.Event.forEach(R,x=>this._elements=x)}get elements(){return this._elements}}class L{constructor(R,W,x,K,Y={}){this.renderer=R,this.modelProvider=W,this.activeNodes=K,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=L.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.renderedIndentGuides=new n.SetMap,this.activeIndentNodes=new Set,this.indentGuidesDisposable=b.Disposable.None,this.disposables=new b.DisposableStore,this.templateId=R.templateId,this.updateOptions(Y),w.Event.map(x,ee=>ee.node)(this.onDidChangeNodeTwistieState,this,this.disposables),R.onDidChangeTwistieState&&R.onDidChangeTwistieState(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(R={}){if(typeof R.indent!="undefined"&&(this.indent=i.clamp(R.indent,0,40)),typeof R.renderIndentGuides!="undefined"){const W=R.renderIndentGuides!==v.None;if(W!==this.shouldRenderIndentGuides&&(this.shouldRenderIndentGuides=W,this.indentGuidesDisposable.dispose(),W)){const x=new b.DisposableStore;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,x),this.indentGuidesDisposable=x,this._onDidChangeActiveNodes(this.activeNodes.elements)}}typeof R.hideTwistiesOfChildlessElements!="undefined"&&(this.hideTwistiesOfChildlessElements=R.hideTwistiesOfChildlessElements)}renderTemplate(R){const W=M.append(R,M.$(".monaco-tl-row")),x=M.append(W,M.$(".monaco-tl-indent")),K=M.append(W,M.$(".monaco-tl-twistie")),Y=M.append(W,M.$(".monaco-tl-contents")),ee=this.renderer.renderTemplate(Y);return{container:R,indent:x,twistie:K,indentGuidesDisposable:b.Disposable.None,templateData:ee}}renderElement(R,W,x,K){typeof K=="number"&&(this.renderedNodes.set(R,{templateData:x,height:K}),this.renderedElements.set(R.element,R));const Y=L.DefaultIndent+(R.depth-1)*this.indent;x.twistie.style.paddingLeft=`${Y}px`,x.indent.style.width=`${Y+this.indent-16}px`,this.renderTwistie(R,x),typeof K=="number"&&this.renderIndentGuides(R,x),this.renderer.renderElement(R,W,x.templateData,K)}disposeElement(R,W,x,K){x.indentGuidesDisposable.dispose(),this.renderer.disposeElement&&this.renderer.disposeElement(R,W,x.templateData,K),typeof K=="number"&&(this.renderedNodes.delete(R),this.renderedElements.delete(R.element))}disposeTemplate(R){this.renderer.disposeTemplate(R.templateData)}onDidChangeTwistieState(R){const W=this.renderedElements.get(R);!W||this.onDidChangeNodeTwistieState(W)}onDidChangeNodeTwistieState(R){const W=this.renderedNodes.get(R);!W||(this.renderTwistie(R,W.templateData),this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderIndentGuides(R,W.templateData))}renderTwistie(R,W){W.twistie.classList.remove(...t.treeItemExpandedIcon.classNamesArray);let x=!1;this.renderer.renderTwistie&&(x=this.renderer.renderTwistie(R.element,W.twistie)),R.collapsible&&(!this.hideTwistiesOfChildlessElements||R.visibleChildrenCount>0)?(x||W.twistie.classList.add(...t.treeItemExpandedIcon.classNamesArray),W.twistie.classList.add("collapsible"),W.twistie.classList.toggle("collapsed",R.collapsed)):W.twistie.classList.remove("collapsible","collapsed"),R.collapsible?W.container.setAttribute("aria-expanded",String(!R.collapsed)):W.container.removeAttribute("aria-expanded")}renderIndentGuides(R,W){if(M.clearNode(W.indent),W.indentGuidesDisposable.dispose(),!!this.shouldRenderIndentGuides){const x=new b.DisposableStore,K=this.modelProvider();let Y=R;for(;;){const ee=K.getNodeLocation(Y),se=K.getParentNodeLocation(ee);if(!se)break;const ne=K.getNode(se),le=M.$(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(ne)&&le.classList.add("active"),W.indent.childElementCount===0?W.indent.appendChild(le):W.indent.insertBefore(le,W.indent.firstElementChild),this.renderedIndentGuides.add(ne,le),x.add(b.toDisposable(()=>this.renderedIndentGuides.delete(ne,le))),Y=ne}W.indentGuidesDisposable=x}}_onDidChangeActiveNodes(R){if(!!this.shouldRenderIndentGuides){const W=new Set,x=this.modelProvider();R.forEach(K=>{const Y=x.getNodeLocation(K);try{const ee=x.getParentNodeLocation(Y);K.collapsible&&K.children.length>0&&!K.collapsed?W.add(K):ee&&W.add(x.getNode(ee))}catch(ee){}}),this.activeIndentNodes.forEach(K=>{W.has(K)||this.renderedIndentGuides.forEach(K,Y=>Y.classList.remove("active"))}),W.forEach(K=>{this.activeIndentNodes.has(K)||this.renderedIndentGuides.forEach(K,Y=>Y.classList.add("active"))}),this.activeIndentNodes=W}}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),b.dispose(this.disposables)}}L.DefaultIndent=8;class I{constructor(R,W,x){this.tree=R,this.keyboardNavigationLabelProvider=W,this._filter=x,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new b.DisposableStore,R.onWillRefilter(this.reset,this,this.disposables)}get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}set pattern(R){this._pattern=R,this._lowercasePattern=R.toLowerCase()}filter(R,W){if(this._filter){const Y=this._filter.filter(R,W);if(this.tree.options.simpleKeyboardNavigation)return Y;let ee;if(typeof Y=="boolean"?ee=Y?1:0:s.isFilterResult(Y)?ee=s.getVisibleState(Y.visibility):ee=Y,ee===0)return!1}if(this._totalCount++,this.tree.options.simpleKeyboardNavigation||!this._pattern)return this._matchCount++,{data:o.FuzzyScore.Default,visibility:!0};const x=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(R),K=Array.isArray(x)?x:[x];for(const Y of K){const ee=Y&&Y.toString();if(typeof ee=="undefined")return{data:o.FuzzyScore.Default,visibility:!0};const se=o.fuzzyScore(this._pattern,this._lowercasePattern,0,ee,ee.toLowerCase(),0,!0);if(se)return this._matchCount++,K.length===1?{data:se,visibility:!0}:{data:{label:ee,score:se},visibility:!0}}return this.tree.options.filterOnType?2:{data:o.FuzzyScore.Default,visibility:!0}}reset(){this._totalCount=0,this._matchCount=0}dispose(){b.dispose(this.disposables)}}class k{constructor(R,W,x,K,Y){this.tree=R,this.view=x,this.filter=K,this.keyboardNavigationDelegate=Y,this._enabled=!1,this._pattern="",this._empty=!1,this._onDidChangeEmptyState=new w.Emitter,this.positionClassName="ne",this.automaticKeyboardNavigation=!0,this.triggered=!1,this._onDidChangePattern=new w.Emitter,this.enabledDisposables=new b.DisposableStore,this.disposables=new b.DisposableStore,this.domNode=M.$(`.monaco-list-type-filter.${this.positionClassName}`),this.domNode.draggable=!0,c.domEvent(this.domNode,"dragstart")(this.onDragStart,this,this.disposables),this.messageDomNode=M.append(x.getHTMLElement(),M.$(".monaco-list-type-filter-message")),this.labelDomNode=M.append(this.domNode,M.$("span.label"));const ee=M.append(this.domNode,M.$(".controls"));this._filterOnType=!!R.options.filterOnType,this.filterOnTypeDomNode=M.append(ee,M.$("input.filter")),this.filterOnTypeDomNode.type="checkbox",this.filterOnTypeDomNode.checked=this._filterOnType,this.filterOnTypeDomNode.tabIndex=-1,this.updateFilterOnTypeTitleAndIcon(),c.domEvent(this.filterOnTypeDomNode,"input")(this.onDidChangeFilterOnType,this,this.disposables),this.clearDomNode=M.append(ee,M.$("button.clear"+t.treeFilterClearIcon.cssSelector)),this.clearDomNode.tabIndex=-1,this.clearDomNode.title=a.localize(0,null),this.keyboardNavigationEventFilter=R.options.keyboardNavigationEventFilter,W.onDidSplice(this.onDidSpliceModel,this,this.disposables),this.updateOptions(R.options)}get enabled(){return this._enabled}get pattern(){return this._pattern}get filterOnType(){return this._filterOnType}updateOptions(R){R.simpleKeyboardNavigation?this.disable():this.enable(),typeof R.filterOnType!="undefined"&&(this._filterOnType=!!R.filterOnType,this.filterOnTypeDomNode.checked=this._filterOnType),typeof R.automaticKeyboardNavigation!="undefined"&&(this.automaticKeyboardNavigation=R.automaticKeyboardNavigation),this.tree.refilter(),this.render(),this.automaticKeyboardNavigation||this.onEventOrInput("")}enable(){if(!this._enabled){const R=w.Event.chain(c.domEvent(this.view.getHTMLElement(),"keydown")).filter(x=>!N.isInputElement(x.target)||x.target===this.filterOnTypeDomNode).filter(x=>x.key!=="Dead"&&!/^Media/.test(x.key)).map(x=>new S.StandardKeyboardEvent(x)).filter(this.keyboardNavigationEventFilter||(()=>!0)).filter(()=>this.automaticKeyboardNavigation||this.triggered).filter(x=>this.keyboardNavigationDelegate.mightProducePrintableCharacter(x)&&!(x.keyCode===18||x.keyCode===16||x.keyCode===15||x.keyCode===17)||(this.pattern.length>0||this.triggered)&&(x.keyCode===9||x.keyCode===1)&&!x.altKey&&!x.ctrlKey&&!x.metaKey||x.keyCode===1&&(r.isMacintosh?x.altKey&&!x.metaKey:x.ctrlKey)&&!x.shiftKey).forEach(x=>{x.stopPropagation(),x.preventDefault()}).event,W=c.domEvent(this.clearDomNode,"click");w.Event.chain(w.Event.any(R,W)).event(this.onEventOrInput,this,this.enabledDisposables),this.filter.pattern="",this.tree.refilter(),this.render(),this._enabled=!0,this.triggered=!1}}disable(){!this._enabled||(this.domNode.remove(),this.enabledDisposables.clear(),this.tree.refilter(),this.render(),this._enabled=!1,this.triggered=!1)}onEventOrInput(R){typeof R=="string"?this.onInput(R):R instanceof MouseEvent||R.keyCode===9||R.keyCode===1&&(r.isMacintosh?R.altKey:R.ctrlKey)?this.onInput(""):R.keyCode===1?this.onInput(this.pattern.length===0?"":this.pattern.substr(0,this.pattern.length-1)):this.onInput(this.pattern+R.browserEvent.key)}onInput(R){const W=this.view.getHTMLElement();R&&!this.domNode.parentElement?W.append(this.domNode):!R&&this.domNode.parentElement&&(this.domNode.remove(),this.tree.domFocus()),this._pattern=R,this._onDidChangePattern.fire(R),this.filter.pattern=R,this.tree.refilter(),R&&this.tree.focusNext(0,!0,void 0,K=>!o.FuzzyScore.isDefault(K.filterData));const x=this.tree.getFocus();if(x.length>0){const K=x[0];this.tree.getRelativeTop(K)===null&&this.tree.reveal(K,.5)}this.render(),R||(this.triggered=!1)}onDragStart(){const R=this.view.getHTMLElement(),{left:W}=M.getDomNodePagePosition(R),x=R.clientWidth,K=x/2,Y=this.domNode.clientWidth,ee=new b.DisposableStore;let se=this.positionClassName;const ne=()=>{switch(se){case"nw":this.domNode.style.top="4px",this.domNode.style.left="4px";break;case"ne":this.domNode.style.top="4px",this.domNode.style.left=`${x-Y-6}px`;break}},le=z=>{z.preventDefault();const P=z.clientX-W;z.dataTransfer&&(z.dataTransfer.dropEffect="none"),P{this.positionClassName=se,this.domNode.className=`monaco-list-type-filter ${this.positionClassName}`,this.domNode.style.top="",this.domNode.style.left="",b.dispose(ee)};ne(),this.domNode.classList.remove(se),this.domNode.classList.add("dragging"),ee.add(b.toDisposable(()=>this.domNode.classList.remove("dragging"))),c.domEvent(document,"dragover")(le,null,ee),c.domEvent(this.domNode,"dragend")(X,null,ee),d.StaticDND.CurrentDragAndDropData=new d.DragAndDropData("vscode-ui"),ee.add(b.toDisposable(()=>d.StaticDND.CurrentDragAndDropData=void 0))}onDidSpliceModel(){!this._enabled||this.pattern.length===0||(this.tree.refilter(),this.render())}onDidChangeFilterOnType(){this.tree.updateOptions({filterOnType:this.filterOnTypeDomNode.checked}),this.tree.refilter(),this.tree.domFocus(),this.render(),this.updateFilterOnTypeTitleAndIcon()}updateFilterOnTypeTitleAndIcon(){this.filterOnType?(this.filterOnTypeDomNode.classList.remove(...t.treeFilterOnTypeOffIcon.classNamesArray),this.filterOnTypeDomNode.classList.add(...t.treeFilterOnTypeOnIcon.classNamesArray),this.filterOnTypeDomNode.title=a.localize(1,null)):(this.filterOnTypeDomNode.classList.remove(...t.treeFilterOnTypeOnIcon.classNamesArray),this.filterOnTypeDomNode.classList.add(...t.treeFilterOnTypeOffIcon.classNamesArray),this.filterOnTypeDomNode.title=a.localize(2,null))}render(){const R=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&this.tree.options.filterOnType&&R?(this.messageDomNode.textContent=a.localize(3,null),this._empty=!0):(this.messageDomNode.innerText="",this._empty=!1),this.domNode.classList.toggle("no-matches",R),this.domNode.title=a.localize(4,null,this.filter.matchCount,this.filter.totalCount),this.labelDomNode.textContent=this.pattern.length>16?"\u2026"+this.pattern.substr(this.pattern.length-16):this.pattern,this._onDidChangeEmptyState.fire(this._empty)}shouldAllowFocus(R){return!this.enabled||!this.pattern||this.filterOnType||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!o.FuzzyScore.isDefault(R.filterData)}dispose(){this._enabled&&(this.domNode.remove(),this.enabledDisposables.dispose(),this._enabled=!1,this.triggered=!1),this._onDidChangePattern.dispose(),b.dispose(this.disposables)}}function E(D){let R=C.TreeMouseEventTarget.Unknown;return M.hasParentWithClass(D.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?R=C.TreeMouseEventTarget.Twistie:M.hasParentWithClass(D.browserEvent.target,"monaco-tl-contents","monaco-tl-row")&&(R=C.TreeMouseEventTarget.Element),{browserEvent:D.browserEvent,element:D.element?D.element.element:null,target:R}}function T(D,R){R(D),D.children.forEach(W=>T(W,R))}class O{constructor(R){this.identityProvider=R,this.nodes=[],this._onDidChange=new w.Emitter,this.onDidChange=this._onDidChange.event}get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}set(R,W){var x;!((x=W)===null||x===void 0?void 0:x.__forceEvent)&&g.equals(this.nodes,R)||this._set(R,!1,W)}_set(R,W,x){if(this.nodes=[...R],this.elements=void 0,this._nodeSet=void 0,!W){const K=this;this._onDidChange.fire({get elements(){return K.get()},browserEvent:x})}}get(){return this.elements||(this.elements=this.nodes.map(R=>R.element)),[...this.elements]}getNodes(){return this.nodes}has(R){return this.nodeSet.has(R)}onDidModelSplice({insertedNodes:R,deletedNodes:W}){if(!this.identityProvider){const ne=this.createNodeSet(),le=X=>ne.delete(X);W.forEach(X=>T(X,le)),this.set([...ne.values()]);return}const x=new Set,K=ne=>x.add(this.identityProvider.getId(ne.element).toString());W.forEach(ne=>T(ne,K));const Y=new Map,ee=ne=>Y.set(this.identityProvider.getId(ne.element).toString(),ne);R.forEach(ne=>T(ne,ee));const se=[];for(const ne of this.nodes){const le=this.identityProvider.getId(ne.element).toString();if(!x.has(le))se.push(ne);else{const z=Y.get(le);z&&se.push(z)}}this._set(se,!0)}createNodeSet(){const R=new Set;for(const W of this.nodes)R.add(W);return R}}class A extends N.MouseController{constructor(R,W){super(R);this.tree=W}onViewPointer(R){if(!(N.isInputElement(R.browserEvent.target)||N.isMonacoEditor(R.browserEvent.target))){const W=R.element;if(!W)return super.onViewPointer(R);if(this.isSelectionRangeChangeEvent(R)||this.isSelectionSingleChangeEvent(R))return super.onViewPointer(R);const x=R.browserEvent.target,K=x.classList.contains("monaco-tl-twistie")||x.classList.contains("monaco-icon-label")&&x.classList.contains("folder-icon")&&R.browserEvent.offsetX<16;let Y=!1;if(typeof this.tree.expandOnlyOnTwistieClick=="function"?Y=this.tree.expandOnlyOnTwistieClick(W.element):Y=!!this.tree.expandOnlyOnTwistieClick,Y&&!K&&R.browserEvent.detail!==2)return super.onViewPointer(R);if(!this.tree.expandOnDoubleClick&&R.browserEvent.detail===2)return super.onViewPointer(R);if(W.collapsible){const ee=this.tree.model,se=ee.getNodeLocation(W),ne=R.browserEvent.altKey;if(this.tree.setFocus([se]),ee.setCollapsed(se,void 0,ne),Y&&K)return}super.onViewPointer(R)}}onDoubleClick(R){R.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||super.onDoubleClick(R)}}class B extends N.List{constructor(R,W,x,K,Y,ee,se){super(R,W,x,K,se);this.focusTrait=Y,this.selectionTrait=ee}createMouseController(R){return new A(this,R.tree)}splice(R,W,x=[]){if(super.splice(R,W,x),x.length!==0){const K=[],Y=[];x.forEach((ee,se)=>{this.focusTrait.has(ee)&&K.push(R+se),this.selectionTrait.has(ee)&&Y.push(R+se)}),K.length>0&&super.setFocus(g.distinctES6([...super.getFocus(),...K])),Y.length>0&&super.setSelection(g.distinctES6([...super.getSelection(),...Y]))}}setFocus(R,W,x=!1){super.setFocus(R,W),x||this.focusTrait.set(R.map(K=>this.element(K)),W)}setSelection(R,W,x=!1){super.setSelection(R,W),x||this.selectionTrait.set(R.map(K=>this.element(K)),W)}}class F{constructor(R,W,x,K,Y={}){this._options=Y,this.eventBufferer=new w.EventBufferer,this.disposables=new b.DisposableStore,this._onWillRefilter=new w.Emitter,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new w.Emitter;const ee=new f(x),se=new w.Relay,ne=new w.Relay,le=new y(ne.event);this.renderers=K.map(P=>new L(P,()=>this.model,se.event,le,Y));for(let P of this.renderers)this.disposables.add(P);let X;Y.keyboardNavigationLabelProvider&&(X=new I(this,Y.keyboardNavigationLabelProvider,Y.filter),Y=Object.assign(Object.assign({},Y),{filter:X}),this.disposables.add(X)),this.focus=new O(Y.identityProvider),this.selection=new O(Y.identityProvider),this.view=new B(R,W,ee,this.renderers,this.focus,this.selection,Object.assign(Object.assign({},_(()=>this.model,Y)),{tree:this})),this.model=this.createModel(R,this.view,Y),se.input=this.model.onDidChangeCollapseState;const z=w.Event.forEach(this.model.onDidSplice,P=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(P),this.selection.onDidModelSplice(P)})});if(z(()=>null,null,this.disposables),ne.input=w.Event.chain(w.Event.any(z,this.focus.onDidChange,this.selection.onDidChange)).debounce(()=>null,0).map(()=>{const P=new Set;for(const V of this.focus.getNodes())P.add(V);for(const V of this.selection.getNodes())P.add(V);return[...P.values()]}).event,Y.keyboardSupport!==!1){const P=w.Event.chain(this.view.onKeyDown).filter(V=>!N.isInputElement(V.target)).map(V=>new S.StandardKeyboardEvent(V));P.filter(V=>V.keyCode===15).on(this.onLeftArrow,this,this.disposables),P.filter(V=>V.keyCode===17).on(this.onRightArrow,this,this.disposables),P.filter(V=>V.keyCode===10).on(this.onSpace,this,this.disposables)}if(Y.keyboardNavigationLabelProvider){const P=Y.keyboardNavigationDelegate||N.DefaultKeyboardNavigationDelegate;this.typeFilterController=new k(this,this.model,this.view,X,P),this.focusNavigationFilter=V=>this.typeFilterController.shouldAllowFocus(V),this.disposables.add(this.typeFilterController)}this.styleElement=M.createStyleSheet(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===v.Always)}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return w.Event.map(this.view.onMouseDblClick,E)}get onPointer(){return w.Event.map(this.view.onPointer,E)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick=="undefined"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick=="undefined"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}updateOptions(R={}){this._options=Object.assign(Object.assign({},this._options),R);for(const W of this.renderers)W.updateOptions(R);this.view.updateOptions({enableKeyboardNavigation:this._options.simpleKeyboardNavigation,automaticKeyboardNavigation:this._options.automaticKeyboardNavigation,smoothScrolling:this._options.smoothScrolling,horizontalScrolling:this._options.horizontalScrolling}),this.typeFilterController&&this.typeFilterController.updateOptions(this._options),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===v.Always)}get options(){return this._options}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(R){this.view.scrollTop=R}domFocus(){this.view.domFocus()}layout(R,W){this.view.layout(R,W)}style(R){const W=`.${this.view.domId}`,x=[];R.treeIndentGuidesStroke&&(x.push(`.monaco-list${W}:hover .monaco-tl-indent > .indent-guide, .monaco-list${W}.always .monaco-tl-indent > .indent-guide { border-color: ${R.treeIndentGuidesStroke.transparent(.4)}; }`),x.push(`.monaco-list${W} .monaco-tl-indent > .indent-guide.active { border-color: ${R.treeIndentGuidesStroke}; }`)),this.styleElement.textContent=x.join(` +`),this.view.style(R)}collapse(R,W=!1){return this.model.setCollapsed(R,!0,W)}expand(R,W=!1){return this.model.setCollapsed(R,!1,W)}isCollapsible(R){return this.model.isCollapsible(R)}setCollapsible(R,W){return this.model.setCollapsible(R,W)}isCollapsed(R){return this.model.isCollapsed(R)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(R,W){const x=R.map(Y=>this.model.getNode(Y));this.selection.set(x,W);const K=R.map(Y=>this.model.getListIndex(Y)).filter(Y=>Y>-1);this.view.setSelection(K,W,!0)}getSelection(){return this.selection.get()}setFocus(R,W){const x=R.map(Y=>this.model.getNode(Y));this.focus.set(x,W);const K=R.map(Y=>this.model.getListIndex(Y)).filter(Y=>Y>-1);this.view.setFocus(K,W,!0)}focusNext(R=1,W=!1,x,K=this.focusNavigationFilter){this.view.focusNext(R,W,x,K)}getFocus(){return this.focus.get()}reveal(R,W){this.model.expandTo(R);const x=this.model.getListIndex(R);x!==-1&&this.view.reveal(x,W)}getRelativeTop(R){const W=this.model.getListIndex(R);return W===-1?null:this.view.getRelativeTop(W)}onLeftArrow(R){R.preventDefault(),R.stopPropagation();const W=this.view.getFocusedElements();if(W.length!==0){const x=W[0],K=this.model.getNodeLocation(x);if(!this.model.setCollapsed(K,!0)){const ee=this.model.getParentNodeLocation(K);if(!ee)return;const se=this.model.getListIndex(ee);this.view.reveal(se),this.view.setFocus([se])}}}onRightArrow(R){R.preventDefault(),R.stopPropagation();const W=this.view.getFocusedElements();if(W.length!==0){const x=W[0],K=this.model.getNodeLocation(x);if(!this.model.setCollapsed(K,!1)){if(!x.children.some(ne=>ne.visible))return;const[ee]=this.view.getFocus(),se=ee+1;this.view.reveal(se),this.view.setFocus([se])}}}onSpace(R){R.preventDefault(),R.stopPropagation();const W=this.view.getFocusedElements();if(W.length!==0){const x=W[0],K=this.model.getNodeLocation(x),Y=R.browserEvent.altKey;this.model.setCollapsed(K,void 0,Y)}}dispose(){b.dispose(this.disposables),this.view.dispose()}}e.AbstractTree=F}),define(Q[427],J([0,1,176,155]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataTree=void 0;class M extends b.AbstractTree{constructor(S,C,d,g,p,c={}){super(S,C,d,g,c);this.user=S,this.dataSource=p,this.identityProvider=c.identityProvider}createModel(S,C,d){return new N.ObjectTreeModel(S,C,d)}}e.DataTree=M}),define(Q[234],J([0,1,54,176,155,284,99]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleObjectTree=e.ObjectTree=void 0;class C extends N.AbstractTree{constructor(o,s,a,u,r={}){super(o,s,a,u,r)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}setChildren(o,s=b.Iterable.empty(),a){this.model.setChildren(o,s,a)}rerender(o){if(o===void 0){this.view.rerender();return}this.model.rerender(o)}hasElement(o){return this.model.has(o)}createModel(o,s,a){return new M.ObjectTreeModel(o,s,a)}}e.ObjectTree=C;class d{constructor(o,s){this._compressedTreeNodeProvider=o,this.renderer=s,this.templateId=s.templateId,s.onDidChangeTwistieState&&(this.onDidChangeTwistieState=s.onDidChangeTwistieState)}get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}renderTemplate(o){const s=this.renderer.renderTemplate(o);return{compressedTreeNode:void 0,data:s}}renderElement(o,s,a,u){const r=this.compressedTreeNodeProvider.getCompressedTreeNode(o.element);r.element.elements.length===1?(a.compressedTreeNode=void 0,this.renderer.renderElement(o,s,a.data,u)):(a.compressedTreeNode=r,this.renderer.renderCompressedElements(r,s,a.data,u))}disposeElement(o,s,a,u){a.compressedTreeNode?this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(a.compressedTreeNode,s,a.data,u):this.renderer.disposeElement&&this.renderer.disposeElement(o,s,a.data,u)}disposeTemplate(o){this.renderer.disposeTemplate(o.data)}renderTwistie(o,s){return this.renderer.renderTwistie?this.renderer.renderTwistie(o,s):!1}}Me([S.memoize],d.prototype,"compressedTreeNodeProvider",null);function g(c,o){return o&&Object.assign(Object.assign({},o),{keyboardNavigationLabelProvider:o.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(s){let a;try{a=c().getCompressedTreeNode(s)}catch(u){return o.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(s)}return a.element.elements.length===1?o.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(s):o.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(a.element.elements)}}})}class p extends C{constructor(o,s,a,u,r={}){const i=()=>this,n=u.map(t=>new d(i,t));super(o,s,a,n,g(i,r))}setChildren(o,s=b.Iterable.empty(),a){this.model.setChildren(o,s,a)}createModel(o,s,a){return new w.CompressibleObjectTreeModel(o,s,a)}updateOptions(o={}){super.updateOptions(o),typeof o.compressionEnabled!="undefined"&&this.model.setCompressionEnabled(o.compressionEnabled)}getCompressedTreeNode(o=null){return this.model.getCompressedTreeNode(o)}}e.CompressibleObjectTree=p}),define(Q[428],J([0,1,176,234,98,2,6,15,54,161,12,154,197]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleAsyncDataTree=e.AsyncDataTree=void 0;function s(T){return Object.assign(Object.assign({},T),{children:[],refreshPromise:void 0,stale:!0,slow:!1,collapsedByDefault:void 0})}function a(T,O){return O.parent?O.parent===T?!0:a(T,O.parent):!1}function u(T,O){return T===O||a(T,O)||a(O,T)}class r{constructor(O){this.node=O}get element(){return this.node.element.element}get children(){return this.node.children.map(O=>new r(O))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}class i{constructor(O,A,B){this.renderer=O,this.nodeMapper=A,this.onDidChangeTwistieState=B,this.renderedNodes=new Map,this.templateId=O.templateId}renderTemplate(O){return{templateData:this.renderer.renderTemplate(O)}}renderElement(O,A,B,F){this.renderer.renderElement(this.nodeMapper.map(O),A,B.templateData,F)}renderTwistie(O,A){return O.slow?(A.classList.add(...o.treeItemLoadingIcon.classNamesArray),!0):(A.classList.remove(...o.treeItemLoadingIcon.classNamesArray),!1)}disposeElement(O,A,B,F){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(O),A,B.templateData,F)}disposeTemplate(O){this.renderer.disposeTemplate(O.templateData)}dispose(){this.renderedNodes.clear()}}function n(T){return{browserEvent:T.browserEvent,elements:T.elements.map(O=>O.element)}}function t(T){return{browserEvent:T.browserEvent,element:T.element&&T.element.element,target:T.target}}class l extends g.ElementsDragAndDropData{constructor(O){super(O.elements.map(A=>A.element));this.data=O}}function h(T){return T instanceof g.ElementsDragAndDropData?new l(T):T}class m{constructor(O){this.dnd=O}getDragURI(O){return this.dnd.getDragURI(O.element)}getDragLabel(O,A){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(O.map(B=>B.element),A)}onDragStart(O,A){this.dnd.onDragStart&&this.dnd.onDragStart(h(O),A)}onDragOver(O,A,B,F,D=!0){return this.dnd.onDragOver(h(O),A&&A.element,B,F)}drop(O,A,B,F){this.dnd.drop(h(O),A&&A.element,B,F)}onDragEnd(O){this.dnd.onDragEnd&&this.dnd.onDragEnd(O)}}function _(T){return T&&Object.assign(Object.assign({},T),{collapseByDefault:!0,identityProvider:T.identityProvider&&{getId(O){return T.identityProvider.getId(O.element)}},dnd:T.dnd&&new m(T.dnd),multipleSelectionController:T.multipleSelectionController&&{isSelectionSingleChangeEvent(O){return T.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},O),{element:O.element}))},isSelectionRangeChangeEvent(O){return T.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},O),{element:O.element}))}},accessibilityProvider:T.accessibilityProvider&&Object.assign(Object.assign({},T.accessibilityProvider),{getPosInSet:void 0,getSetSize:void 0,getRole:T.accessibilityProvider.getRole?O=>T.accessibilityProvider.getRole(O.element):()=>"treeitem",isChecked:T.accessibilityProvider.isChecked?O=>{var A;return!!((A=T.accessibilityProvider)===null||A===void 0?void 0:A.isChecked(O.element))}:void 0,getAriaLabel(O){return T.accessibilityProvider.getAriaLabel(O.element)},getWidgetAriaLabel(){return T.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:T.accessibilityProvider.getWidgetRole?()=>T.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:T.accessibilityProvider.getAriaLevel&&(O=>T.accessibilityProvider.getAriaLevel(O.element)),getActiveDescendantId:T.accessibilityProvider.getActiveDescendantId&&(O=>T.accessibilityProvider.getActiveDescendantId(O.element))}),filter:T.filter&&{filter(O,A){return T.filter.filter(O.element,A)}},keyboardNavigationLabelProvider:T.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},T.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(O){return T.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(O.element)}}),sorter:void 0,expandOnlyOnTwistieClick:typeof T.expandOnlyOnTwistieClick=="undefined"?void 0:typeof T.expandOnlyOnTwistieClick!="function"?T.expandOnlyOnTwistieClick:O=>T.expandOnlyOnTwistieClick(O.element),additionalScrollHeight:T.additionalScrollHeight})}function f(T,O){O(T),T.children.forEach(A=>f(A,O))}class v{constructor(O,A,B,F,D,R={}){this.user=O,this.dataSource=D,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new S.Emitter,this._onDidChangeNodeSlowState=new S.Emitter,this.nodeMapper=new M.WeakMapper(W=>new r(W)),this.disposables=new w.DisposableStore,this.identityProvider=R.identityProvider,this.autoExpandSingleChildren=typeof R.autoExpandSingleChildren=="undefined"?!1:R.autoExpandSingleChildren,this.sorter=R.sorter,this.collapseByDefault=R.collapseByDefault,this.tree=this.createTree(O,A,B,F,R),this.root=s({element:void 0,parent:null,hasChildren:!0}),this.identityProvider&&(this.root=Object.assign(Object.assign({},this.root),{id:null})),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}get onDidChangeFocus(){return S.Event.map(this.tree.onDidChangeFocus,n)}get onDidChangeSelection(){return S.Event.map(this.tree.onDidChangeSelection,n)}get onMouseDblClick(){return S.Event.map(this.tree.onMouseDblClick,t)}get onPointer(){return S.Event.map(this.tree.onPointer,t)}get onDidFocus(){return this.tree.onDidFocus}get onDidDispose(){return this.tree.onDidDispose}createTree(O,A,B,F,D){const R=new b.ComposedTreeDelegate(B),W=F.map(K=>new i(K,this.nodeMapper,this._onDidChangeNodeSlowState.event)),x=_(D)||{};return new N.ObjectTree(O,A,R,W,x)}updateOptions(O={}){this.tree.updateOptions(O)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(O){this.tree.scrollTop=O}domFocus(){this.tree.domFocus()}layout(O,A){this.tree.layout(O,A)}style(O){this.tree.style(O)}getInput(){return this.root.element}setInput(O,A){return Ie(this,void 0,void 0,function*(){this.refreshPromises.forEach(F=>F.cancel()),this.refreshPromises.clear(),this.root.element=O;const B=A&&{viewState:A,focus:[],selection:[]};yield this._updateChildren(O,!0,!1,B),B&&(this.tree.setFocus(B.focus),this.tree.setSelection(B.selection)),A&&typeof A.scrollTop=="number"&&(this.scrollTop=A.scrollTop)})}_updateChildren(O=this.root.element,A=!0,B=!1,F,D){return Ie(this,void 0,void 0,function*(){if(typeof this.root.element=="undefined")throw new M.TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield S.Event.toPromise(this._onDidRender.event));const R=this.getDataNode(O);if(yield this.refreshAndRenderNode(R,A,F,D),B)try{this.tree.rerender(R)}catch(W){}})}rerender(O){if(O===void 0||O===this.root.element){this.tree.rerender();return}const A=this.getDataNode(O);this.tree.rerender(A)}collapse(O,A=!1){const B=this.getDataNode(O);return this.tree.collapse(B===this.root?null:B,A)}expand(O,A=!1){return Ie(this,void 0,void 0,function*(){if(typeof this.root.element=="undefined")throw new M.TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield S.Event.toPromise(this._onDidRender.event));const B=this.getDataNode(O);if(this.tree.hasElement(B)&&!this.tree.isCollapsible(B)||(B.refreshPromise&&(yield this.root.refreshPromise,yield S.Event.toPromise(this._onDidRender.event)),B!==this.root&&!B.refreshPromise&&!this.tree.isCollapsed(B)))return!1;const F=this.tree.expand(B===this.root?null:B,A);return B.refreshPromise&&(yield this.root.refreshPromise,yield S.Event.toPromise(this._onDidRender.event)),F})}setSelection(O,A){const B=O.map(F=>this.getDataNode(F));this.tree.setSelection(B,A)}getSelection(){return this.tree.getSelection().map(A=>A.element)}setFocus(O,A){const B=O.map(F=>this.getDataNode(F));this.tree.setFocus(B,A)}getFocus(){return this.tree.getFocus().map(A=>A.element)}reveal(O,A){this.tree.reveal(this.getDataNode(O),A)}getDataNode(O){const A=this.nodes.get(O===this.root.element?null:O);if(!A)throw new M.TreeError(this.user,`Data tree node not found: ${O}`);return A}refreshAndRenderNode(O,A,B,F){return Ie(this,void 0,void 0,function*(){yield this.refreshNode(O,A,B),this.render(O,B,F)})}refreshNode(O,A,B){return Ie(this,void 0,void 0,function*(){let F;return this.subTreeRefreshPromises.forEach((D,R)=>{!F&&u(R,O)&&(F=D.then(()=>this.refreshNode(O,A,B)))}),F||this.doRefreshSubTree(O,A,B)})}doRefreshSubTree(O,A,B){return Ie(this,void 0,void 0,function*(){let F;O.refreshPromise=new Promise(D=>F=D),this.subTreeRefreshPromises.set(O,O.refreshPromise),O.refreshPromise.finally(()=>{O.refreshPromise=void 0,this.subTreeRefreshPromises.delete(O)});try{const D=yield this.doRefreshNode(O,A,B);O.stale=!1,yield C.Promises.settled(D.map(R=>this.doRefreshSubTree(R,A,B)))}finally{F()}})}doRefreshNode(O,A,B){return Ie(this,void 0,void 0,function*(){O.hasChildren=!!this.dataSource.hasChildren(O.element);let F;if(!O.hasChildren)F=Promise.resolve(d.Iterable.empty());else{const D=C.timeout(800);D.then(()=>{O.slow=!0,this._onDidChangeNodeSlowState.fire(O)},R=>null),F=this.doGetChildren(O).finally(()=>D.cancel())}try{const D=yield F;return this.setChildren(O,D,A,B)}catch(D){if(O!==this.root&&this.tree.hasElement(O)&&this.tree.collapse(O),p.isPromiseCanceledError(D))return[];throw D}finally{O.slow&&(O.slow=!1,this._onDidChangeNodeSlowState.fire(O))}})}doGetChildren(O){let A=this.refreshPromises.get(O);return A||(A=C.createCancelablePromise(()=>Ie(this,void 0,void 0,function*(){const B=yield this.dataSource.getChildren(O.element);return this.processChildren(B)})),this.refreshPromises.set(O,A),A.finally(()=>{this.refreshPromises.delete(O)}))}_onDidChangeCollapseState({node:O,deep:A}){O.element!==null&&!O.collapsed&&O.element.stale&&(A?this.collapse(O.element.element):this.refreshAndRenderNode(O.element,!1).catch(p.onUnexpectedError))}setChildren(O,A,B,F){const D=[...A];if(O.children.length===0&&D.length===0)return[];const R=new Map,W=new Map;for(const Y of O.children)if(R.set(Y.element,Y),this.identityProvider){const ee=this.tree.isCollapsed(Y);W.set(Y.id,{node:Y,collapsed:ee})}const x=[],K=D.map(Y=>{const ee=!!this.dataSource.hasChildren(Y);if(!this.identityProvider){const X=s({element:Y,parent:O,hasChildren:ee});return ee&&this.collapseByDefault&&!this.collapseByDefault(Y)&&(X.collapsedByDefault=!1,x.push(X)),X}const se=this.identityProvider.getId(Y).toString(),ne=W.get(se);if(ne){const X=ne.node;return R.delete(X.element),this.nodes.delete(X.element),this.nodes.set(Y,X),X.element=Y,X.hasChildren=ee,B?ne.collapsed?(X.children.forEach(z=>f(z,P=>this.nodes.delete(P.element))),X.children.splice(0,X.children.length),X.stale=!0):x.push(X):ee&&this.collapseByDefault&&!this.collapseByDefault(Y)&&(X.collapsedByDefault=!1,x.push(X)),X}const le=s({element:Y,parent:O,id:se,hasChildren:ee});return F&&F.viewState.focus&&F.viewState.focus.indexOf(se)>-1&&F.focus.push(le),F&&F.viewState.selection&&F.viewState.selection.indexOf(se)>-1&&F.selection.push(le),F&&F.viewState.expanded&&F.viewState.expanded.indexOf(se)>-1?x.push(le):ee&&this.collapseByDefault&&!this.collapseByDefault(Y)&&(le.collapsedByDefault=!1,x.push(le)),le});for(const Y of R.values())f(Y,ee=>this.nodes.delete(ee.element));for(const Y of K)this.nodes.set(Y.element,Y);return O.children.splice(0,O.children.length,...K),O!==this.root&&this.autoExpandSingleChildren&&K.length===1&&x.length===0&&(K[0].collapsedByDefault=!1,x.push(K[0])),x}render(O,A,B){const F=O.children.map(R=>this.asTreeElement(R,A)),D=B&&Object.assign(Object.assign({},B),{diffIdentityProvider:B.diffIdentityProvider&&{getId(R){return B.diffIdentityProvider.getId(R.element)}}});this.tree.setChildren(O===this.root?null:O,F,D),O!==this.root&&this.tree.setCollapsible(O,O.hasChildren),this._onDidRender.fire()}asTreeElement(O,A){if(O.stale)return{element:O,collapsible:O.hasChildren,collapsed:!0};let B;return A&&A.viewState.expanded&&O.id&&A.viewState.expanded.indexOf(O.id)>-1?B=!1:B=O.collapsedByDefault,O.collapsedByDefault=void 0,{element:O,children:O.hasChildren?d.Iterable.map(O.children,F=>this.asTreeElement(F,A)):[],collapsible:O.hasChildren,collapsed:B}}processChildren(O){return this.sorter&&(O=[...O].sort(this.sorter.compare.bind(this.sorter))),O}dispose(){this.disposables.dispose()}}e.AsyncDataTree=v;class y{constructor(O){this.node=O}get element(){return{elements:this.node.element.elements.map(O=>O.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(O=>new y(O))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}class L{constructor(O,A,B,F){this.renderer=O,this.nodeMapper=A,this.compressibleNodeMapperProvider=B,this.onDidChangeTwistieState=F,this.renderedNodes=new Map,this.disposables=[],this.templateId=O.templateId}renderTemplate(O){return{templateData:this.renderer.renderTemplate(O)}}renderElement(O,A,B,F){this.renderer.renderElement(this.nodeMapper.map(O),A,B.templateData,F)}renderCompressedElements(O,A,B,F){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(O),A,B.templateData,F)}renderTwistie(O,A){return O.slow?(A.classList.add(...o.treeItemLoadingIcon.classNamesArray),!0):(A.classList.remove(...o.treeItemLoadingIcon.classNamesArray),!1)}disposeElement(O,A,B,F){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(O),A,B.templateData,F)}disposeCompressedElements(O,A,B,F){this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(this.compressibleNodeMapperProvider().map(O),A,B.templateData,F)}disposeTemplate(O){this.renderer.disposeTemplate(O.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=w.dispose(this.disposables)}}function I(T){const O=T&&_(T);return O&&Object.assign(Object.assign({},O),{keyboardNavigationLabelProvider:O.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},O.keyboardNavigationLabelProvider),{getCompressedNodeKeyboardNavigationLabel(A){return T.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(A.map(B=>B.element))}})})}class k extends v{constructor(O,A,B,F,D,R,W={}){super(O,A,B,D,R,W);this.compressionDelegate=F,this.compressibleNodeMapper=new M.WeakMapper(x=>new y(x)),this.filter=W.filter}createTree(O,A,B,F,D){const R=new b.ComposedTreeDelegate(B),W=F.map(K=>new L(K,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),x=I(D)||{};return new N.CompressibleObjectTree(O,A,R,W,x)}asTreeElement(O,A){return Object.assign({incompressible:this.compressionDelegate.isIncompressible(O.element)},super.asTreeElement(O,A))}updateOptions(O={}){this.tree.updateOptions(O)}render(O,A){if(!this.identityProvider)return super.render(O,A);const B=se=>this.identityProvider.getId(se).toString(),F=se=>{const ne=new Set;for(const le of se){const X=this.tree.getCompressedTreeNode(le===this.root?null:le);if(!!X.element)for(const z of X.element.elements)ne.add(B(z.element))}return ne},D=F(this.tree.getSelection()),R=F(this.tree.getFocus());super.render(O,A);const W=this.getSelection();let x=!1;const K=this.getFocus();let Y=!1;const ee=se=>{const ne=se.element;if(ne)for(let le=0;le{const B=this.filter.filter(A,1),F=E(B);if(F===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return F===1})),super.processChildren(O)}}e.CompressibleAsyncDataTree=k;function E(T){return typeof T=="boolean"?T?1:0:c.isFilterResult(T)?c.getVisibleState(T.visibility):c.getVisibleState(T)}}),define(Q[429],J([4,5]),function(q,e){return q.create("vs/base/common/actions",e)}),define(Q[48],J([0,1,429,2,6]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EmptySubmenuAction=e.SubmenuAction=e.Separator=e.ActionRunner=e.Action=void 0;class w extends N.Disposable{constructor(c,o="",s="",a=!0,u){super();this._onDidChange=this._register(new M.Emitter),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._checked=!1,this._id=c,this._label=o,this._cssClass=s,this._enabled=a,this._actionCallback=u}get id(){return this._id}get label(){return this._label}set label(c){this._setLabel(c)}_setLabel(c){this._label!==c&&(this._label=c,this._onDidChange.fire({label:c}))}get tooltip(){return this._tooltip||""}set tooltip(c){this._setTooltip(c)}_setTooltip(c){this._tooltip!==c&&(this._tooltip=c,this._onDidChange.fire({tooltip:c}))}get class(){return this._cssClass}set class(c){this._setClass(c)}_setClass(c){this._cssClass!==c&&(this._cssClass=c,this._onDidChange.fire({class:c}))}get enabled(){return this._enabled}set enabled(c){this._setEnabled(c)}_setEnabled(c){this._enabled!==c&&(this._enabled=c,this._onDidChange.fire({enabled:c}))}get checked(){return this._checked}set checked(c){this._setChecked(c)}_setChecked(c){this._checked!==c&&(this._checked=c,this._onDidChange.fire({checked:c}))}run(c,o){return this._actionCallback?this._actionCallback(c):Promise.resolve(!0)}}e.Action=w;class S extends N.Disposable{constructor(){super(...arguments);this._onBeforeRun=this._register(new M.Emitter),this.onBeforeRun=this._onBeforeRun.event,this._onDidRun=this._register(new M.Emitter),this.onDidRun=this._onDidRun.event}run(c,o){return Ie(this,void 0,void 0,function*(){if(!c.enabled)return Promise.resolve(null);this._onBeforeRun.fire({action:c});try{const s=yield this.runAction(c,o);this._onDidRun.fire({action:c,result:s})}catch(s){this._onDidRun.fire({action:c,error:s})}})}runAction(c,o){const s=o?c.run(o):c.run();return Promise.resolve(s)}}e.ActionRunner=S;class C extends w{constructor(c){super(C.ID,c,c?"separator text":"separator");this.checked=!1,this.enabled=!1}}e.Separator=C,C.ID="vs.actions.separator";class d{constructor(c,o,s,a){this.tooltip="",this.enabled=!0,this.checked=!1,this.id=c,this.label=o,this.class=a,this._actions=s}dispose(){}get actions(){return this._actions}run(){return Ie(this,void 0,void 0,function*(){})}}e.SubmenuAction=d;class g extends w{constructor(){super(g.ID,b.localize(0,null),void 0,!1)}}e.EmptySubmenuAction=g,g.ID="vs.actions.empty"}),define(Q[112],J([0,1,17,418,2,48,20,60,149,35,7,203]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ActionViewItem=e.BaseActionViewItem=void 0;class c extends M.Disposable{constructor(a,u,r={}){super();this.options=r,this._context=a||this,this._action=u,u instanceof w.Action&&this._register(u.onDidChange(i=>{!this.element||this.handleActionChangeEvent(i)}))}handleActionChangeEvent(a){a.enabled!==void 0&&this.updateEnabled(),a.checked!==void 0&&this.updateChecked(),a.class!==void 0&&this.updateClass(),a.label!==void 0&&(this.updateLabel(),this.updateTooltip()),a.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new w.ActionRunner)),this._actionRunner}set actionRunner(a){this._actionRunner=a}getAction(){return this._action}isEnabled(){return this._action.enabled}setActionContext(a){this._context=a}render(a){const u=this.element=a;this._register(C.Gesture.addTarget(a));const r=this.options&&this.options.draggable;r&&(a.draggable=!0,g.isFirefox&&this._register(p.addDisposableListener(a,p.EventType.DRAG_START,i=>{var n;return(n=i.dataTransfer)===null||n===void 0?void 0:n.setData(d.DataTransfers.TEXT,this._action.label)}))),this._register(p.addDisposableListener(u,C.EventType.Tap,i=>this.onClick(i))),this._register(p.addDisposableListener(u,p.EventType.MOUSE_DOWN,i=>{r||p.EventHelper.stop(i,!0),this._action.enabled&&i.button===0&&u.classList.add("active")})),b.isMacintosh&&this._register(p.addDisposableListener(u,p.EventType.CONTEXT_MENU,i=>{i.button===0&&i.ctrlKey===!0&&this.onClick(i)})),this._register(p.addDisposableListener(u,p.EventType.CLICK,i=>{p.EventHelper.stop(i,!0),this.options&&this.options.isMenu||b.setImmediate(()=>this.onClick(i))})),this._register(p.addDisposableListener(u,p.EventType.DBLCLICK,i=>{p.EventHelper.stop(i,!0)})),[p.EventType.MOUSE_UP,p.EventType.MOUSE_OUT].forEach(i=>{this._register(p.addDisposableListener(u,i,n=>{p.EventHelper.stop(n),u.classList.remove("active")}))})}onClick(a){var u;p.EventHelper.stop(a,!0);const r=S.isUndefinedOrNull(this._context)?((u=this.options)===null||u===void 0?void 0:u.useEventAsContext)?a:void 0:this._context;this.actionRunner.run(this._action,r)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(a){this.element&&(this.element.tabIndex=a?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}updateTooltip(){}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),super.dispose()}}e.BaseActionViewItem=c;class o extends c{constructor(a,u,r={}){super(a,u,r);this.options=r,this.options.icon=r.icon!==void 0?r.icon:!1,this.options.label=r.label!==void 0?r.label:!0,this.cssClass=""}render(a){super.render(a),this.element&&(this.label=p.append(this.element,p.$("a.action-label"))),this.label&&(this._action.id===w.Separator.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button")),this.options.label&&this.options.keybinding&&this.element&&(p.append(this.element,p.$("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(a){this.label&&(this.label.tabIndex=a?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.getAction().label)}updateTooltip(){let a=null;this.getAction().tooltip?a=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(a=this.getAction().label,this.options.keybinding&&(a=N.localize(0,null,a,this.options.keybinding))),a&&this.label&&(this.label.title=a)}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getAction().class,this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label&&this.label.classList.remove("codicon")}updateEnabled(){this.getAction().enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element&&this.element.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element&&this.element.classList.add("disabled"))}updateChecked(){this.label&&(this.getAction().checked?this.label.classList.add("checked"):this.label.classList.remove("checked"))}}e.ActionViewItem=o}),define(Q[83],J([0,1,2,48,7,20,56,6,112,203]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBar=void 0;class g extends b.Disposable{constructor(c,o={}){var s,a,u,r,i,n;super();this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new C.Emitter),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new C.Emitter({onFirstListenerAdd:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new C.Emitter),this.onDidRun=this._onDidRun.event,this._onBeforeRun=this._register(new C.Emitter),this.onBeforeRun=this._onBeforeRun.event,this.options=o,this._context=(s=o.context)!==null&&s!==void 0?s:null,this._orientation=(a=this.options.orientation)!==null&&a!==void 0?a:0,this._triggerKeys={keyDown:(r=(u=this.options.triggerKeys)===null||u===void 0?void 0:u.keyDown)!==null&&r!==void 0?r:!1,keys:(n=(i=this.options.triggerKeys)===null||i===void 0?void 0:i.keys)!==null&&n!==void 0?n:[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new N.ActionRunner,this._register(this._actionRunner)),this._register(this._actionRunner.onDidRun(h=>this._onDidRun.fire(h))),this._register(this._actionRunner.onBeforeRun(h=>this._onBeforeRun.fire(h))),this._actionIds=[],this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",o.animated!==!1&&this.domNode.classList.add("animated");let t,l;switch(this._orientation){case 0:t=[15],l=[17];break;case 1:t=[17],l=[15],this.domNode.className+=" reverse";break;case 2:t=[16],l=[18],this.domNode.className+=" vertical";break;case 3:t=[18],l=[16],this.domNode.className+=" vertical reverse";break}this._register(M.addDisposableListener(this.domNode,M.EventType.KEY_DOWN,h=>{const m=new S.StandardKeyboardEvent(h);let _=!0;const f=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;t&&(m.equals(t[0])||m.equals(t[1]))?_=this.focusPrevious():l&&(m.equals(l[0])||m.equals(l[1]))?_=this.focusNext():m.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():m.equals(2)&&f instanceof d.BaseActionViewItem&&f.trapsArrowNavigation?this.focusNext():this.isTriggerKeyEvent(m)?this._triggerKeys.keyDown?this.doTrigger(m):this.triggerKeyDown=!0:_=!1,_&&(m.preventDefault(),m.stopPropagation())})),this._register(M.addDisposableListener(this.domNode,M.EventType.KEY_UP,h=>{const m=new S.StandardKeyboardEvent(h);this.isTriggerKeyEvent(m)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(m)),m.preventDefault(),m.stopPropagation()):(m.equals(2)||m.equals(1024|2))&&this.updateFocusedItem()})),this.focusTracker=this._register(M.trackFocus(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(M.getActiveElement()===this.domNode||!M.isAncestor(M.getActiveElement(),this.domNode))&&(this._onDidBlur.fire(),this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.actionsList.setAttribute("role","toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),c.appendChild(this.domNode)}isTriggerKeyEvent(c){let o=!1;return this._triggerKeys.keys.forEach(s=>{o=o||c.equals(s)}),o}updateFocusedItem(){for(let c=0;co.setActionContext(c))}get actionRunner(){return this._actionRunner}set actionRunner(c){c&&(this._actionRunner=c,this.viewItems.forEach(o=>o.actionRunner=c))}getContainer(){return this.domNode}push(c,o={}){const s=Array.isArray(c)?c:[c];let a=w.isNumber(o.index)?o.index:null;s.forEach(u=>{const r=document.createElement("li");r.className="action-item",r.setAttribute("role","presentation"),this.options.allowContextMenu||this._register(M.addDisposableListener(r,M.EventType.CONTEXT_MENU,n=>{M.EventHelper.stop(n,!0)}));let i;this.options.actionViewItemProvider&&(i=this.options.actionViewItemProvider(u)),i||(i=new d.ActionViewItem(this.context,u,o)),i.actionRunner=this._actionRunner,i.setActionContext(this.context),i.render(r),this.focusable&&i instanceof d.BaseActionViewItem&&this.viewItems.length===0&&i.setFocusable(!0),a===null||a<0||a>=this.actionsList.children.length?(this.actionsList.appendChild(r),this.viewItems.push(i),this._actionIds.push(u.id)):(this.actionsList.insertBefore(r,this.actionsList.children[a]),this.viewItems.splice(a,0,i),this._actionIds.splice(a,0,u.id),a++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem)}clear(){b.dispose(this.viewItems),this.viewItems=[],this._actionIds=[],M.clearNode(this.actionsList)}focus(c){let o=!1,s;if(c===void 0?o=!0:typeof c=="number"?s=c:typeof c=="boolean"&&(o=c),o&&typeof this.focusedItem=="undefined"){const a=this.viewItems.findIndex(u=>u.isEnabled());this.focusedItem=a===-1?void 0:a,this.updateFocus()}else s!==void 0&&(this.focusedItem=s),this.updateFocus()}focusNext(){typeof this.focusedItem=="undefined"&&(this.focusedItem=this.viewItems.length-1);const c=this.focusedItem;let o;do{if(this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=c,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,o=this.viewItems[this.focusedItem]}while(this.focusedItem!==c&&this.options.focusOnlyEnabledItems&&!o.isEnabled());return this.updateFocus(),!0}focusPrevious(){typeof this.focusedItem=="undefined"&&(this.focusedItem=0);const c=this.focusedItem;let o;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(this.options.preventLoopNavigation)return this.focusedItem=c,!1;this.focusedItem=this.viewItems.length-1}o=this.viewItems[this.focusedItem]}while(this.focusedItem!==c&&this.options.focusOnlyEnabledItems&&!o.isEnabled());return this.updateFocus(!0),!0}updateFocus(c,o){typeof this.focusedItem=="undefined"&&this.actionsList.focus({preventScroll:o});for(let s=0;s(a.textContent=c.label||"",null));for(const a of[M.EventType.CLICK,M.EventType.MOUSE_DOWN,b.EventType.Tap])this._register(M.addDisposableListener(this.element,a,u=>M.EventHelper.stop(u,!0)));for(const a of[M.EventType.MOUSE_DOWN,b.EventType.Tap])this._register(M.addDisposableListener(this._label,a,u=>{u instanceof MouseEvent&&u.detail>1||(this.visible?this.hide():this.show())}));this._register(M.addDisposableListener(this._label,M.EventType.KEY_UP,a=>{const u=new w.StandardKeyboardEvent(a);(u.equals(3)||u.equals(10))&&(M.EventHelper.stop(a,!0),this.visible?this.hide():this.show())}));const s=o(this._label);s&&this._register(s),this._register(b.Gesture.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}e.BaseDropdown=C;class d extends C{constructor(p,c){super(p,c);this._actions=[],this._contextMenuProvider=c.contextMenuProvider,this.actions=c.actions||[],this.actionProvider=c.actionProvider,this.menuClassName=c.menuClassName||"",this.menuAsChild=!!c.menuAsChild}set menuOptions(p){this._menuOptions=p}get menuOptions(){return this._menuOptions}get actions(){return this.actionProvider?this.actionProvider.getActions():this._actions}set actions(p){this._actions=p}show(){super.show(),this.element.classList.add("active"),this._contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:p=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(p):void 0,getKeyBinding:p=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(p):void 0,getMenuClassName:()=>this.menuClassName,onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this.menuAsChild?this.element:void 0})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}e.DropdownMenu=d}),define(Q[431],J([0,1,7,6,112,430,206]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DropdownMenuActionViewItem=void 0;class S extends M.BaseActionViewItem{constructor(d,g,p,c={}){super(null,d,c);this.options=c,this.actionItem=null,this._onDidChangeVisibility=this._register(new N.Emitter),this.menuActionsOrProvider=g,this.contextMenuProvider=p,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(d){this.actionItem=d;const g=o=>{this.element=b.append(o,b.$("a.action-label"));let s=[];return typeof this.options.classNames=="string"?s=this.options.classNames.split(/\s+/g).filter(a=>!!a):this.options.classNames&&(s=this.options.classNames),s.find(a=>a==="icon")||s.push("codicon"),this.element.classList.add(...s),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this.element.title=this._action.label||"",null},p=Array.isArray(this.menuActionsOrProvider),c={contextMenuProvider:this.contextMenuProvider,labelRenderer:g,menuAsChild:this.options.menuAsChild,actions:p?this.menuActionsOrProvider:void 0,actionProvider:p?void 0:this.menuActionsOrProvider};if(this.dropdownMenu=this._register(new w.DropdownMenu(d,c)),this._register(this.dropdownMenu.onDidChangeVisibility(o=>{var s;(s=this.element)===null||s===void 0||s.setAttribute("aria-expanded",`${o}`),this._onDidChangeVisibility.fire(o)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const o=this;this.dropdownMenu.menuOptions=Object.assign(Object.assign({},this.dropdownMenu.menuOptions),{get anchorAlignment(){return o.options.anchorAlignmentProvider()}})}this.updateEnabled()}setActionContext(d){super.setActionContext(d),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=d:this.dropdownMenu.menuOptions={context:d})}updateEnabled(){var d,g;const p=!this.getAction().enabled;(d=this.actionItem)===null||d===void 0||d.classList.toggle("disabled",p),(g=this.element)===null||g===void 0||g.classList.toggle("disabled",p)}}e.DropdownMenuActionViewItem=S}),define(Q[177],J([0,1,423,7,156,47,83,6,52,29,40,279,61,55,305]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HistoryInputBox=e.InputBox=void 0;const a=N.$,u={inputBackground:g.Color.fromHex("#3C3C3C"),inputForeground:g.Color.fromHex("#CCCCCC"),inputValidationInfoBorder:g.Color.fromHex("#55AAFF"),inputValidationInfoBackground:g.Color.fromHex("#063B49"),inputValidationWarningBorder:g.Color.fromHex("#B89500"),inputValidationWarningBackground:g.Color.fromHex("#352A05"),inputValidationErrorBorder:g.Color.fromHex("#BE1100"),inputValidationErrorBackground:g.Color.fromHex("#5A1D1D")};class r extends d.Widget{constructor(t,l,h){super();this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new C.Emitter),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new C.Emitter),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=l,this.options=h||Object.create(null),p.mixin(this.options,u,!1),this.message=null,this.placeholder=this.options.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.inputBackground=this.options.inputBackground,this.inputForeground=this.options.inputForeground,this.inputBorder=this.options.inputBorder,this.inputValidationInfoBorder=this.options.inputValidationInfoBorder,this.inputValidationInfoBackground=this.options.inputValidationInfoBackground,this.inputValidationInfoForeground=this.options.inputValidationInfoForeground,this.inputValidationWarningBorder=this.options.inputValidationWarningBorder,this.inputValidationWarningBackground=this.options.inputValidationWarningBackground,this.inputValidationWarningForeground=this.options.inputValidationWarningForeground,this.inputValidationErrorBorder=this.options.inputValidationErrorBorder,this.inputValidationErrorBackground=this.options.inputValidationErrorBackground,this.inputValidationErrorForeground=this.options.inputValidationErrorForeground,this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=N.append(t,a(".monaco-inputbox.idle"));let m=this.options.flexibleHeight?"textarea":"input",_=N.append(this.element,a(".ibwrapper"));if(this.input=N.append(_,a(m+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=N.append(_,a("div.mirror")),this.mirror.innerText="\xA0",this.scrollableElement=new o.ScrollableElement(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),N.append(t,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(v=>this.input.scrollTop=v.scrollTop));const f=C.Event.filter(s.domEvent(document,"selectionchange"),()=>{const v=document.getSelection();return(v==null?void 0:v.anchorNode)===_});this._register(f(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&this.setPlaceHolder(this.placeholder),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this.ignoreGesture(this.input),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new S.ActionBar(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage()}onFocus(){this._showMessage()}setPlaceHolder(t){this.placeholder=t,this.input.setAttribute("placeholder",t),this.input.title=t}setAriaLabel(t){this.ariaLabel=t,t?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label")}getAriaLabel(){return this.ariaLabel}get inputElement(){return this.input}get value(){return this.input.value}set value(t){this.input.value!==t&&(this.input.value=t,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:N.getTotalHeight(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return document.activeElement===this.input}select(t=null){this.input.select(),t&&(this.input.setSelectionRange(t.start,t.end),t.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}get width(){return N.getTotalWidth(this.input)}set width(t){if(this.options.flexibleHeight&&this.options.flexibleWidth){let l=0;if(this.mirror){const h=parseFloat(this.mirror.style.paddingLeft||"")||0,m=parseFloat(this.mirror.style.paddingRight||"")||0;l=h+m}this.input.style.width=t-l+"px"}else this.input.style.width=t+"px";this.mirror&&(this.mirror.style.width=t+"px")}set paddingRight(t){this.options.flexibleHeight&&this.options.flexibleWidth?this.input.style.width=`calc(100% - ${t}px)`:this.input.style.paddingRight=t+"px",this.mirror&&(this.mirror.style.paddingRight=t+"px")}updateScrollDimensions(){if(!(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)){const t=this.cachedContentHeight,l=this.cachedHeight,h=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:t,height:l}),this.scrollableElement.setScrollPosition({scrollTop:h})}}showMessage(t,l){this.message=t,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(t.type));const h=this.stylesForType(this.message.type);this.element.style.border=h.border?`1px solid ${h.border}`:"",(this.hasFocus()||l)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let t=null;return this.validation&&(t=this.validation(this.value),t?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(t)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),t==null?void 0:t.type}stylesForType(t){switch(t){case 1:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground,foreground:this.inputValidationInfoForeground};case 2:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground,foreground:this.inputValidationWarningForeground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground,foreground:this.inputValidationErrorForeground}}}classForType(t){switch(t){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!(!this.contextViewProvider||!this.message)){let t,l=()=>t.style.width=N.getTotalWidth(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:m=>{if(!this.message)return null;t=N.append(m,a(".monaco-inputbox-container")),l();const _={inline:!0,className:"monaco-inputbox-message"},f=this.message.formatContent?M.renderFormattedText(this.message.content,_):M.renderText(this.message.content,_);f.classList.add(this.classForType(this.message.type));const v=this.stylesForType(this.message.type);return f.style.backgroundColor=v.background?v.background.toString():"",f.style.color=v.foreground?v.foreground.toString():"",f.style.border=v.border?`1px solid ${v.border}`:"",N.append(t,f),null},onHide:()=>{this.state="closed"},layout:l});let h;this.message.type===3?h=b.localize(0,null,this.message.content):this.message.type===2?h=b.localize(1,null,this.message.content):h=b.localize(2,null,this.message.content),w.alert(h),this.state="open"}}_hideMessage(){!this.contextViewProvider||(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!!this.mirror){const t=this.value,h=t.charCodeAt(t.length-1)===10?" ":"";t+h?this.mirror.textContent=t+h:this.mirror.innerText="\xA0",this.layout()}}style(t){this.inputBackground=t.inputBackground,this.inputForeground=t.inputForeground,this.inputBorder=t.inputBorder,this.inputValidationInfoBackground=t.inputValidationInfoBackground,this.inputValidationInfoForeground=t.inputValidationInfoForeground,this.inputValidationInfoBorder=t.inputValidationInfoBorder,this.inputValidationWarningBackground=t.inputValidationWarningBackground,this.inputValidationWarningForeground=t.inputValidationWarningForeground,this.inputValidationWarningBorder=t.inputValidationWarningBorder,this.inputValidationErrorBackground=t.inputValidationErrorBackground,this.inputValidationErrorForeground=t.inputValidationErrorForeground,this.inputValidationErrorBorder=t.inputValidationErrorBorder,this.applyStyles()}applyStyles(){const t=this.inputBackground?this.inputBackground.toString():"",l=this.inputForeground?this.inputForeground.toString():"",h=this.inputBorder?this.inputBorder.toString():"";this.element.style.backgroundColor=t,this.element.style.color=l,this.input.style.backgroundColor="inherit",this.input.style.color=l,this.element.style.borderWidth=h?"1px":"",this.element.style.borderStyle=h?"solid":"",this.element.style.borderColor=h}layout(){if(!!this.mirror){const t=this.cachedContentHeight;this.cachedContentHeight=N.getTotalHeight(this.mirror),t!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}}insertAtCursor(t){const l=this.inputElement,h=l.selectionStart,m=l.selectionEnd,_=l.value;h!==null&&m!==null&&(this.value=_.substr(0,h)+t+_.substr(m),l.setSelectionRange(h+1,h+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar&&this.actionbar.dispose(),super.dispose()}}e.InputBox=r;class i extends r{constructor(t,l,h){super(t,l,h);this.history=new c.HistoryNavigator(h.history,100)}addToHistory(){this.value&&this.value!==this.getCurrentValue()&&this.history.add(this.value)}showNextValue(){this.history.has(this.value)||this.addToHistory();let t=this.getNextValue();t&&(t=t===this.value?this.getNextValue():t),t&&(this.value=t,w.status(this.value))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let t=this.getPreviousValue();t&&(t=t===this.value?this.getPreviousValue():t),t&&(this.value=t,w.status(this.value))}getCurrentValue(){let t=this.history.current();return t||(t=this.history.last(),this.history.next()),t}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()||this.history.last()}}e.HistoryInputBox=i}),define(Q[432],J([0,1,419,7,177,52,6,233,207]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindInput=void 0;const d=b.localize(0,null);class g extends w.Widget{constructor(c,o,s,a){super();this._showOptionButtons=s,this.fixFocusOnOptionClickEnabled=!0,this._onDidOptionChange=this._register(new S.Emitter),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new S.Emitter),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new S.Emitter),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new S.Emitter),this._onKeyUp=this._register(new S.Emitter),this._onCaseSensitiveKeyDown=this._register(new S.Emitter),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new S.Emitter),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.contextViewProvider=o,this.placeholder=a.placeholder||"",this.validation=a.validation,this.label=a.label||d,this.inputActiveOptionBorder=a.inputActiveOptionBorder,this.inputActiveOptionForeground=a.inputActiveOptionForeground,this.inputActiveOptionBackground=a.inputActiveOptionBackground,this.inputBackground=a.inputBackground,this.inputForeground=a.inputForeground,this.inputBorder=a.inputBorder,this.inputValidationInfoBorder=a.inputValidationInfoBorder,this.inputValidationInfoBackground=a.inputValidationInfoBackground,this.inputValidationInfoForeground=a.inputValidationInfoForeground,this.inputValidationWarningBorder=a.inputValidationWarningBorder,this.inputValidationWarningBackground=a.inputValidationWarningBackground,this.inputValidationWarningForeground=a.inputValidationWarningForeground,this.inputValidationErrorBorder=a.inputValidationErrorBorder,this.inputValidationErrorBackground=a.inputValidationErrorBackground,this.inputValidationErrorForeground=a.inputValidationErrorForeground;const u=a.appendCaseSensitiveLabel||"",r=a.appendWholeWordsLabel||"",i=a.appendRegexLabel||"",n=a.history||[],t=!!a.flexibleHeight,l=!!a.flexibleWidth,h=a.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new M.HistoryInputBox(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:n,flexibleHeight:t,flexibleWidth:l,flexibleMaxHeight:h})),this.regex=this._register(new C.RegexCheckbox({appendTitle:i,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.regex.onChange(f=>{this._onDidOptionChange.fire(f),!f&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(f=>{this._onRegexKeyDown.fire(f)})),this.wholeWords=this._register(new C.WholeWordsCheckbox({appendTitle:r,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.wholeWords.onChange(f=>{this._onDidOptionChange.fire(f),!f&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new C.CaseSensitiveCheckbox({appendTitle:u,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.caseSensitive.onChange(f=>{this._onDidOptionChange.fire(f),!f&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(f=>{this._onCaseSensitiveKeyDown.fire(f)})),this._showOptionButtons&&(this.inputBox.paddingRight=this.caseSensitive.width()+this.wholeWords.width()+this.regex.width());let m=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,f=>{if(f.equals(15)||f.equals(17)||f.equals(9)){let v=m.indexOf(document.activeElement);if(v>=0){let y=-1;f.equals(17)?y=(v+1)%m.length:f.equals(15)&&(v===0?y=m.length-1:y=v-1),f.equals(9)?(m[v].blur(),this.inputBox.focus()):y>=0&&m[y].focus(),N.EventHelper.stop(f,!0)}}});let _=document.createElement("div");_.className="controls",_.style.display=this._showOptionButtons?"block":"none",_.appendChild(this.caseSensitive.domNode),_.appendChild(this.wholeWords.domNode),_.appendChild(this.regex.domNode),this.domNode.appendChild(_),c&&c.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,f=>this._onKeyDown.fire(f)),this.onkeyup(this.inputBox.inputElement,f=>this._onKeyUp.fire(f)),this.oninput(this.inputBox.inputElement,f=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,f=>this._onMouseDown.fire(f))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()}setFocusInputOnOptionClick(c){this.fixFocusOnOptionClickEnabled=c}setEnabled(c){c?this.enable():this.disable()}getValue(){return this.inputBox.value}setValue(c){this.inputBox.value!==c&&(this.inputBox.value=c)}style(c){this.inputActiveOptionBorder=c.inputActiveOptionBorder,this.inputActiveOptionForeground=c.inputActiveOptionForeground,this.inputActiveOptionBackground=c.inputActiveOptionBackground,this.inputBackground=c.inputBackground,this.inputForeground=c.inputForeground,this.inputBorder=c.inputBorder,this.inputValidationInfoBackground=c.inputValidationInfoBackground,this.inputValidationInfoForeground=c.inputValidationInfoForeground,this.inputValidationInfoBorder=c.inputValidationInfoBorder,this.inputValidationWarningBackground=c.inputValidationWarningBackground,this.inputValidationWarningForeground=c.inputValidationWarningForeground,this.inputValidationWarningBorder=c.inputValidationWarningBorder,this.inputValidationErrorBackground=c.inputValidationErrorBackground,this.inputValidationErrorForeground=c.inputValidationErrorForeground,this.inputValidationErrorBorder=c.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const c={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.regex.style(c),this.wholeWords.style(c),this.caseSensitive.style(c);const o={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(o)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive.checked}setCaseSensitive(c){this.caseSensitive.checked=c}getWholeWords(){return this.wholeWords.checked}setWholeWords(c){this.wholeWords.checked=c}getRegex(){return this.regex.checked}setRegex(c){this.regex.checked=c,this.validate()}focusOnCaseSensitive(){this.caseSensitive.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}clearMessage(){this.inputBox.hideMessage()}}e.FindInput=g}),define(Q[433],J([0,1,421,7,177,52,6,160,27,207]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReplaceInput=e.PreserveCaseCheckbox=void 0;const g=b.localize(0,null),p=b.localize(1,null);class c extends C.Checkbox{constructor(a){super({icon:d.Codicon.preserveCase,title:p+a.appendTitle,isChecked:a.isChecked,inputActiveOptionBorder:a.inputActiveOptionBorder,inputActiveOptionForeground:a.inputActiveOptionForeground,inputActiveOptionBackground:a.inputActiveOptionBackground})}}e.PreserveCaseCheckbox=c;class o extends w.Widget{constructor(a,u,r,i){super();this._showOptionButtons=r,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new S.Emitter),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new S.Emitter),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new S.Emitter),this._onInput=this._register(new S.Emitter),this._onKeyUp=this._register(new S.Emitter),this._onPreserveCaseKeyDown=this._register(new S.Emitter),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=u,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||g,this.inputActiveOptionBorder=i.inputActiveOptionBorder,this.inputActiveOptionForeground=i.inputActiveOptionForeground,this.inputActiveOptionBackground=i.inputActiveOptionBackground,this.inputBackground=i.inputBackground,this.inputForeground=i.inputForeground,this.inputBorder=i.inputBorder,this.inputValidationInfoBorder=i.inputValidationInfoBorder,this.inputValidationInfoBackground=i.inputValidationInfoBackground,this.inputValidationInfoForeground=i.inputValidationInfoForeground,this.inputValidationWarningBorder=i.inputValidationWarningBorder,this.inputValidationWarningBackground=i.inputValidationWarningBackground,this.inputValidationWarningForeground=i.inputValidationWarningForeground,this.inputValidationErrorBorder=i.inputValidationErrorBorder,this.inputValidationErrorBackground=i.inputValidationErrorBackground,this.inputValidationErrorForeground=i.inputValidationErrorForeground;const n=i.appendPreserveCaseLabel||"",t=i.history||[],l=!!i.flexibleHeight,h=!!i.flexibleWidth,m=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new M.HistoryInputBox(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:t,flexibleHeight:l,flexibleWidth:h,flexibleMaxHeight:m})),this.preserveCase=this._register(new c({appendTitle:n,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.preserveCase.onChange(v=>{this._onDidOptionChange.fire(v),!v&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(v=>{this._onPreserveCaseKeyDown.fire(v)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;let _=[this.preserveCase.domNode];this.onkeydown(this.domNode,v=>{if(v.equals(15)||v.equals(17)||v.equals(9)){let y=_.indexOf(document.activeElement);if(y>=0){let L=-1;v.equals(17)?L=(y+1)%_.length:v.equals(15)&&(y===0?L=_.length-1:L=y-1),v.equals(9)?(_[y].blur(),this.inputBox.focus()):L>=0&&_[L].focus(),N.EventHelper.stop(v,!0)}}});let f=document.createElement("div");f.className="controls",f.style.display=this._showOptionButtons?"block":"none",f.appendChild(this.preserveCase.domNode),this.domNode.appendChild(f),a&&a.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,v=>this._onKeyDown.fire(v)),this.onkeyup(this.inputBox.inputElement,v=>this._onKeyUp.fire(v)),this.oninput(this.inputBox.inputElement,v=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,v=>this._onMouseDown.fire(v))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(a){a?this.enable():this.disable()}style(a){this.inputActiveOptionBorder=a.inputActiveOptionBorder,this.inputActiveOptionForeground=a.inputActiveOptionForeground,this.inputActiveOptionBackground=a.inputActiveOptionBackground,this.inputBackground=a.inputBackground,this.inputForeground=a.inputForeground,this.inputBorder=a.inputBorder,this.inputValidationInfoBackground=a.inputValidationInfoBackground,this.inputValidationInfoForeground=a.inputValidationInfoForeground,this.inputValidationInfoBorder=a.inputValidationInfoBorder,this.inputValidationWarningBackground=a.inputValidationWarningBackground,this.inputValidationWarningForeground=a.inputValidationWarningForeground,this.inputValidationWarningBorder=a.inputValidationWarningBorder,this.inputValidationErrorBackground=a.inputValidationErrorBackground,this.inputValidationErrorForeground=a.inputValidationErrorForeground,this.inputValidationErrorBorder=a.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const a={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.preserveCase.style(a);const u={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(u)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(a){this.preserveCase.checked=a}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox&&this.inputBox.validate()}set width(a){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=a,this.domNode.style.width=a+"px"}dispose(){super.dispose()}}e.ReplaceInput=o}),define(Q[434],J([0,1,425,8,48,83,7,56,15,2,61,204,17,27,112,123,35,50,102]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.cleanMnemonic=e.Menu=e.Direction=e.MENU_ESCAPED_MNEMONIC_REGEX=e.MENU_MNEMONIC_REGEX=void 0,e.MENU_MNEMONIC_REGEX=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,e.MENU_ESCAPED_MNEMONIC_REGEX=/(&)?(&)([^\s&])/g;const t=s.registerCodicon("menu-selection",s.Codicon.check),l=s.registerCodicon("menu-submenu",s.Codicon.chevronRight);var h;(function(I){I[I.Right=0]="Right",I[I.Left=1]="Left"})(h=e.Direction||(e.Direction={}));class m extends w.ActionBar{constructor(k,E,T={}){k.classList.add("monaco-menu-container"),k.setAttribute("role","presentation");const O=document.createElement("div");O.classList.add("monaco-menu"),O.setAttribute("role","presentation"),super(O,{orientation:2,actionViewItemProvider:F=>this.doGetActionViewItem(F,T,A),context:T.context,actionRunner:T.actionRunner,ariaLabel:T.ariaLabel,focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...o.isMacintosh||o.isLinux?[10]:[]],keyDown:!0}}),this.menuElement=O,this.actionsList.setAttribute("role","menu"),this.actionsList.tabIndex=0,this.menuDisposables=this._register(new g.DisposableStore),this.initializeStyleSheet(k),S.addDisposableListener(O,S.EventType.KEY_DOWN,F=>{new C.StandardKeyboardEvent(F).equals(2)&&F.preventDefault()}),T.enableMnemonics&&this.menuDisposables.add(S.addDisposableListener(O,S.EventType.KEY_DOWN,F=>{const D=F.key.toLocaleLowerCase();if(this.mnemonics.has(D)){S.EventHelper.stop(F,!0);const R=this.mnemonics.get(D);if(R.length===1&&(R[0]instanceof f&&R[0].container&&this.focusItemByElement(R[0].container),R[0].onClick(F)),R.length>1){const W=R.shift();W&&W.container&&(this.focusItemByElement(W.container),R.push(W)),this.mnemonics.set(D,R)}}})),o.isLinux&&this._register(S.addDisposableListener(O,S.EventType.KEY_DOWN,F=>{const D=new C.StandardKeyboardEvent(F);D.equals(14)||D.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),S.EventHelper.stop(F,!0)):(D.equals(13)||D.equals(12))&&(this.focusedItem=0,this.focusPrevious(),S.EventHelper.stop(F,!0))})),this._register(S.addDisposableListener(this.domNode,S.EventType.MOUSE_OUT,F=>{let D=F.relatedTarget;S.isAncestor(D,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),F.stopPropagation())})),this._register(S.addDisposableListener(this.actionsList,S.EventType.MOUSE_OVER,F=>{let D=F.target;if(!(!D||!S.isAncestor(D,this.actionsList)||D===this.actionsList)){for(;D.parentElement!==this.actionsList&&D.parentElement!==null;)D=D.parentElement;if(D.classList.contains("action-item")){const R=this.focusedItem;this.setFocusedItem(D),R!==this.focusedItem&&this.updateFocus()}}}));let A={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new p.DomScrollableElement(O,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const B=this.scrollableElement.getDomNode();B.style.position="",this._register(S.addDisposableListener(B,S.EventType.MOUSE_UP,F=>{F.preventDefault()})),O.style.maxHeight=`${Math.max(10,window.innerHeight-k.getBoundingClientRect().top-35)}px`,E=E.filter(F=>{var D;return((D=T.submenuIds)===null||D===void 0?void 0:D.has(F.id))?(console.warn(`Found submenu cycle: ${F.id}`),!1):!0}),this.push(E,{icon:!0,label:!0,isMenu:!0}),k.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(F=>!(F instanceof v)).forEach((F,D,R)=>{F.updatePositionInSet(D+1,R.length)})}initializeStyleSheet(k){S.isInShadowDOM(k)?(this.styleSheet=S.createStyleSheet(k),this.styleSheet.textContent=L):(m.globalStyleSheet||(m.globalStyleSheet=S.createStyleSheet(),m.globalStyleSheet.textContent=L),this.styleSheet=m.globalStyleSheet)}style(k){const E=this.getContainer(),T=k.foregroundColor?`${k.foregroundColor}`:"",O=k.backgroundColor?`${k.backgroundColor}`:"",A=k.borderColor?`1px solid ${k.borderColor}`:"",B=k.shadowColor?`0 2px 4px ${k.shadowColor}`:"";E.style.border=A,this.domNode.style.color=T,this.domNode.style.backgroundColor=O,E.style.boxShadow=B,this.viewItems&&this.viewItems.forEach(F=>{(F instanceof _||F instanceof v)&&F.style(k)})}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(k){const E=this.focusedItem;this.setFocusedItem(k),E!==this.focusedItem&&this.updateFocus()}setFocusedItem(k){for(let E=0;E{!this.element||(this._register(S.addDisposableListener(this.element,S.EventType.MOUSE_UP,O=>{if(S.EventHelper.stop(O,!0),r.isFirefox){if(new i.StandardMouseEvent(O).rightButton)return;this.onClick(O)}else setTimeout(()=>{this.onClick(O)},0)})),this._register(S.addDisposableListener(this.element,S.EventType.CONTEXT_MENU,O=>{S.EventHelper.stop(O,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(k){super.render(k),!!this.element&&(this.container=k,this.item=S.append(this.element,S.$("a.action-menu-item")),this._action.id===M.Separator.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=S.append(this.item,S.$("span.menu-item-check"+t.cssSelector)),this.check.setAttribute("role","none"),this.label=S.append(this.item,S.$("span.action-label")),this.options.label&&this.options.keybinding&&(S.append(this.item,S.$("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item&&this.item.focus(),this.applyStyle()}updatePositionInSet(k,E){this.item&&(this.item.setAttribute("aria-posinset",`${k}`),this.item.setAttribute("aria-setsize",`${E}`))}updateLabel(){if(!!this.label&&this.options.label){S.clearNode(this.label);let k=n.stripIcons(this.getAction().label);if(k){const E=y(k);this.options.enableMnemonics||(k=E),this.label.setAttribute("aria-label",E.replace(/&&/g,"&"));const T=e.MENU_MNEMONIC_REGEX.exec(k);if(T){k=N.escape(k),e.MENU_ESCAPED_MNEMONIC_REGEX.lastIndex=0;let O=e.MENU_ESCAPED_MNEMONIC_REGEX.exec(k);for(;O&&O[1];)O=e.MENU_ESCAPED_MNEMONIC_REGEX.exec(k);const A=B=>B.replace(/&&/g,"&");O?this.label.append(N.ltrim(A(k.substr(0,O.index))," "),S.$("u",{"aria-hidden":"true"},O[3]),N.rtrim(A(k.substr(O.index+O[0].length))," ")):this.label.innerText=A(k).trim(),this.item&&this.item.setAttribute("aria-keyshortcuts",(T[1]?T[1]:T[3]).toLocaleLowerCase())}else this.label.innerText=k.replace(/&&/g,"&").trim()}}}updateTooltip(){let k=null;this.getAction().tooltip?k=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(k=this.getAction().label,this.options.keybinding&&(k=b.localize(0,null,k,this.options.keybinding))),k&&this.item&&(this.item.title=k)}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.getAction().class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.getAction().enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){!this.item||(this.getAction().checked?(this.item.classList.add("checked"),this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked","true")):(this.item.classList.remove("checked"),this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked","false")))}getMnemonic(){return this.mnemonic}applyStyle(){if(!!this.menuStyle){const k=this.element&&this.element.classList.contains("focused"),E=k&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,T=k&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,O=k&&this.menuStyle.selectionBorderColor?`thin solid ${this.menuStyle.selectionBorderColor}`:"";this.item&&(this.item.style.color=E?E.toString():"",this.item.style.backgroundColor=T?T.toString():""),this.check&&(this.check.style.color=E?E.toString():""),this.container&&(this.container.style.border=O)}}style(k){this.menuStyle=k,this.applyStyle()}}class f extends _{constructor(k,E,T,O){super(k,k,O);this.submenuActions=E,this.parentData=T,this.submenuOptions=O,this.mysubmenu=null,this.submenuDisposables=this._register(new g.DisposableStore),this.mouseOver=!1,this.expandDirection=O&&O.expandDirection!==void 0?O.expandDirection:h.Right,this.showScheduler=new d.RunOnceScheduler(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new d.RunOnceScheduler(()=>{this.element&&!S.isAncestor(S.getActiveElement(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(k){super.render(k),!!this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=S.append(this.item,S.$("span.submenu-indicator"+l.cssSelector)),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(S.addDisposableListener(this.element,S.EventType.KEY_UP,E=>{let T=new C.StandardKeyboardEvent(E);(T.equals(17)||T.equals(3))&&(S.EventHelper.stop(E,!0),this.createSubmenu(!0))})),this._register(S.addDisposableListener(this.element,S.EventType.KEY_DOWN,E=>{let T=new C.StandardKeyboardEvent(E);S.getActiveElement()===this.item&&(T.equals(17)||T.equals(3))&&S.EventHelper.stop(E,!0)})),this._register(S.addDisposableListener(this.element,S.EventType.MOUSE_OVER,E=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(S.addDisposableListener(this.element,S.EventType.MOUSE_LEAVE,E=>{this.mouseOver=!1})),this._register(S.addDisposableListener(this.element,S.EventType.FOCUS_OUT,E=>{this.element&&!S.isAncestor(S.getActiveElement(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!1)})))}updateEnabled(){}onClick(k){S.EventHelper.stop(k,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(k){if(this.parentData.submenu&&(k||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(E){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(k,E,T,O){const A={top:0,left:0};return A.left=c.layout(k.width,E.width,{position:O===h.Right?0:1,offset:T.left,size:T.width}),A.left>=T.left&&A.left{new C.StandardKeyboardEvent(R).equals(15)&&(S.EventHelper.stop(R,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(S.addDisposableListener(this.submenuContainer,S.EventType.KEY_DOWN,R=>{new C.StandardKeyboardEvent(R).equals(15)&&S.EventHelper.stop(R,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(k),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(k){var E;this.item&&((E=this.item)===null||E===void 0||E.setAttribute("aria-expanded",k))}applyStyle(){if(super.applyStyle(),!!this.menuStyle){const E=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=E?`${E}`:""),this.parentData.submenu&&this.parentData.submenu.style(this.menuStyle)}}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class v extends a.ActionViewItem{style(k){this.label&&(this.label.style.borderBottomColor=k.separatorColor?`${k.separatorColor}`:"")}}function y(I){const k=e.MENU_MNEMONIC_REGEX,E=k.exec(I);if(!E)return I;const T=!E[1];return I.replace(k,T?"$2$3":"").trim()}e.cleanMnemonic=y;let L=` +.monaco-menu { + font-size: 13px; + +} + +${u.formatRule(t)} +${u.formatRule(l)} + +.monaco-menu .monaco-action-bar { + text-align: right; + overflow: hidden; + white-space: nowrap; +} + +.monaco-menu .monaco-action-bar .actions-container { + display: flex; + margin: 0 auto; + padding: 0; + width: 100%; + justify-content: flex-end; +} + +.monaco-menu .monaco-action-bar.vertical .actions-container { + display: inline-block; +} + +.monaco-menu .monaco-action-bar.reverse .actions-container { + flex-direction: row-reverse; +} + +.monaco-menu .monaco-action-bar .action-item { + cursor: pointer; + display: inline-block; + transition: transform 50ms ease; + position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */ +} + +.monaco-menu .monaco-action-bar .action-item.disabled { + cursor: default; +} + +.monaco-menu .monaco-action-bar.animated .action-item.active { + transform: scale(1.272019649, 1.272019649); /* 1.272019649 = \u221A\u03C6 */ +} + +.monaco-menu .monaco-action-bar .action-item .icon, +.monaco-menu .monaco-action-bar .action-item .codicon { + display: inline-block; +} + +.monaco-menu .monaco-action-bar .action-item .codicon { + display: flex; + align-items: center; +} + +.monaco-menu .monaco-action-bar .action-label { + font-size: 11px; + margin-right: 4px; +} + +.monaco-menu .monaco-action-bar .action-item.disabled .action-label, +.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover { + opacity: 0.4; +} + +/* Vertical actions */ + +.monaco-menu .monaco-action-bar.vertical { + text-align: left; +} + +.monaco-menu .monaco-action-bar.vertical .action-item { + display: block; +} + +.monaco-menu .monaco-action-bar.vertical .action-label.separator { + display: block; + border-bottom: 1px solid #bbb; + padding-top: 1px; + margin-left: .8em; + margin-right: .8em; +} + +.monaco-menu .secondary-actions .monaco-action-bar .action-label { + margin-left: 6px; +} + +/* Action Items */ +.monaco-menu .monaco-action-bar .action-item.select-container { + overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */ + flex: 1; + max-width: 170px; + min-width: 60px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 10px; +} + +.monaco-menu .monaco-action-bar.vertical { + margin-left: 0; + overflow: visible; +} + +.monaco-menu .monaco-action-bar.vertical .actions-container { + display: block; +} + +.monaco-menu .monaco-action-bar.vertical .action-item { + padding: 0; + transform: none; + display: flex; +} + +.monaco-menu .monaco-action-bar.vertical .action-item.active { + transform: none; +} + +.monaco-menu .monaco-action-bar.vertical .action-menu-item { + flex: 1 1 auto; + display: flex; + height: 2em; + align-items: center; + position: relative; +} + +.monaco-menu .monaco-action-bar.vertical .action-label { + flex: 1 1 auto; + text-decoration: none; + padding: 0 1em; + background: none; + font-size: 12px; + line-height: 1; +} + +.monaco-menu .monaco-action-bar.vertical .keybinding, +.monaco-menu .monaco-action-bar.vertical .submenu-indicator { + display: inline-block; + flex: 2 1 auto; + padding: 0 1em; + text-align: right; + font-size: 12px; + line-height: 1; +} + +.monaco-menu .monaco-action-bar.vertical .submenu-indicator { + height: 100%; +} + +.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon { + font-size: 16px !important; + display: flex; + align-items: center; +} + +.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before { + margin-left: auto; + margin-right: -20px; +} + +.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding, +.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator { + opacity: 0.4; +} + +.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) { + display: inline-block; + box-sizing: border-box; + margin: 0; +} + +.monaco-menu .monaco-action-bar.vertical .action-item { + position: static; + overflow: visible; +} + +.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu { + position: absolute; +} + +.monaco-menu .monaco-action-bar.vertical .action-label.separator { + padding: 0.5em 0 0 0; + margin-bottom: 0.5em; + width: 100%; + height: 0px !important; + margin-left: .8em !important; + margin-right: .8em !important; +} + +.monaco-menu .monaco-action-bar.vertical .action-label.separator.text { + padding: 0.7em 1em 0.1em 1em; + font-weight: bold; + opacity: 1; +} + +.monaco-menu .monaco-action-bar.vertical .action-label:hover { + color: inherit; +} + +.monaco-menu .monaco-action-bar.vertical .menu-item-check { + position: absolute; + visibility: hidden; + width: 1em; + height: 100%; +} + +.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check { + visibility: visible; + display: flex; + align-items: center; + justify-content: center; +} + +/* Context Menu */ + +.context-view.monaco-menu-container { + outline: 0; + border: none; + animation: fadeIn 0.083s linear; + -webkit-app-region: no-drag; +} + +.context-view.monaco-menu-container :focus, +.context-view.monaco-menu-container .monaco-action-bar.vertical:focus, +.context-view.monaco-menu-container .monaco-action-bar.vertical :focus { + outline: 0; +} + +.monaco-menu .monaco-action-bar.vertical .action-item { + border: thin solid transparent; /* prevents jumping behaviour on hover or focus */ +} + + +/* High Contrast Theming */ +:host-context(.hc-black) .context-view.monaco-menu-container { + box-shadow: none; +} + +:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused { + background: none; +} + +/* Vertical Action Bar Styles */ + +.monaco-menu .monaco-action-bar.vertical { + padding: .5em 0; +} + +.monaco-menu .monaco-action-bar.vertical .action-menu-item { + height: 1.8em; +} + +.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator), +.monaco-menu .monaco-action-bar.vertical .keybinding { + font-size: inherit; + padding: 0 2em; +} + +.monaco-menu .monaco-action-bar.vertical .menu-item-check { + font-size: inherit; + width: 2em; +} + +.monaco-menu .monaco-action-bar.vertical .action-label.separator { + font-size: inherit; + padding: 0.2em 0 0 0; + margin-bottom: 0.2em; +} + +:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator { + margin-left: 0; + margin-right: 0; +} + +.monaco-menu .monaco-action-bar.vertical .submenu-indicator { + font-size: 60%; + padding: 0 1.8em; +} + +:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator { + height: 100%; + mask-size: 10px 10px; + -webkit-mask-size: 10px 10px; +} + +.monaco-menu .action-item { + cursor: default; +} + +/* Arrows */ +.monaco-scrollable-element > .scrollbar > .scra { + cursor: pointer; + font-size: 11px !important; +} + +.monaco-scrollable-element > .visible { + opacity: 1; + + /* Background rule added for IE9 - to allow clicks on dom node */ + background:rgba(0,0,0,0); + + transition: opacity 100ms linear; +} +.monaco-scrollable-element > .invisible { + opacity: 0; + pointer-events: none; +} +.monaco-scrollable-element > .invisible.fade { + transition: opacity 800ms linear; +} + +/* Scrollable Content Inset Shadow */ +.monaco-scrollable-element > .shadow { + position: absolute; + display: none; +} +.monaco-scrollable-element > .shadow.top { + display: block; + top: 0; + left: 3px; + height: 3px; + width: 100%; + box-shadow: #DDD 0 6px 6px -6px inset; +} +.monaco-scrollable-element > .shadow.left { + display: block; + top: 3px; + left: 0; + height: 100%; + width: 3px; + box-shadow: #DDD 6px 0 6px -6px inset; +} +.monaco-scrollable-element > .shadow.top-left-corner { + display: block; + top: 0; + left: 0; + height: 3px; + width: 3px; +} +.monaco-scrollable-element > .shadow.top.left { + box-shadow: #DDD 6px 6px 6px -6px inset; +} + +/* ---------- Default Style ---------- */ + +:host-context(.vs) .monaco-scrollable-element > .scrollbar > .slider { + background: rgba(100, 100, 100, .4); +} +:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider { + background: rgba(121, 121, 121, .4); +} +:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider { + background: rgba(111, 195, 223, .6); +} + +.monaco-scrollable-element > .scrollbar > .slider:hover { + background: rgba(100, 100, 100, .7); +} +:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider:hover { + background: rgba(111, 195, 223, .8); +} + +.monaco-scrollable-element > .scrollbar > .slider.active { + background: rgba(0, 0, 0, .6); +} +:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider.active { + background: rgba(191, 191, 191, .4); +} +:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider.active { + background: rgba(111, 195, 223, 1); +} + +:host-context(.vs-dark) .monaco-scrollable-element .shadow.top { + box-shadow: none; +} + +:host-context(.vs-dark) .monaco-scrollable-element .shadow.left { + box-shadow: #000 6px 0 6px -6px inset; +} + +:host-context(.vs-dark) .monaco-scrollable-element .shadow.top.left { + box-shadow: #000 6px 6px 6px -6px inset; +} + +:host-context(.hc-black) .monaco-scrollable-element .shadow.top { + box-shadow: none; +} + +:host-context(.hc-black) .monaco-scrollable-element .shadow.left { + box-shadow: none; +} + +:host-context(.hc-black) .monaco-scrollable-element .shadow.top.left { + box-shadow: none; +} +`}),define(Q[435],J([0,1,7,177,2,56,82,50,125]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputBox=void 0;const d=b.$;class g extends M.Disposable{constructor(c){super();this.parent=c,this.onKeyDown=o=>b.addDisposableListener(this.inputBox.inputElement,b.EventType.KEY_DOWN,s=>{o(new w.StandardKeyboardEvent(s))}),this.onMouseDown=o=>b.addDisposableListener(this.inputBox.inputElement,b.EventType.MOUSE_DOWN,s=>{o(new C.StandardMouseEvent(s))}),this.onDidChange=o=>this.inputBox.onDidChange(o),this.container=b.append(this.parent,d(".quick-input-box")),this.inputBox=this._register(new N.InputBox(this.container,void 0))}get value(){return this.inputBox.value}set value(c){this.inputBox.value=c}select(c=null){this.inputBox.select(c)}isSelectionAtEnd(){return this.inputBox.isSelectionAtEnd()}get placeholder(){return this.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(c){this.inputBox.setPlaceHolder(c)}get ariaLabel(){return this.inputBox.getAriaLabel()}set ariaLabel(c){this.inputBox.setAriaLabel(c)}get password(){return this.inputBox.inputElement.type==="password"}set password(c){this.inputBox.inputElement.type=c?"password":"text"}setAttribute(c,o){this.inputBox.inputElement.setAttribute(c,o)}removeAttribute(c){this.inputBox.inputElement.removeAttribute(c)}showDecoration(c){c===S.default.Ignore?this.inputBox.hideMessage():this.inputBox.showMessage({type:c===S.default.Info?1:c===S.default.Warning?2:3,content:""})}stylesForType(c){return this.inputBox.stylesForType(c===S.default.Info?1:c===S.default.Warning?2:3)}setFocus(){this.inputBox.focus()}layout(){this.inputBox.layout()}style(c){this.inputBox.style(c)}}e.QuickInputBox=g}),define(Q[436],J([4,5]),function(q,e){return q.create("vs/base/common/errorMessage",e)}),define(Q[437],J([0,1,436,20,19]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toErrorMessage=void 0;function w(g,p){return p&&(g.stack||g.stacktrace)?b.localize(0,null,C(g),S(g.stack)||S(g.stacktrace)):C(g)}function S(g){return Array.isArray(g)?g.join(` +`):g}function C(g){return typeof g.code=="string"&&typeof g.errno=="number"&&typeof g.syscall=="string"?b.localize(1,null,g.message):g.message||b.localize(2,null)}function d(g=null,p=!1){if(!g)return b.localize(3,null);if(Array.isArray(g)){const c=M.coalesce(g),o=d(c[0],p);return c.length>1?b.localize(4,null,o,c.length):o}if(N.isString(g))return g;if(g.detail){const c=g.detail;if(c.error)return w(c.error,p);if(c.exception)return w(c.exception,p)}return g.stack?w(g,p):g.message?g.message:b.localize(5,null)}e.toErrorMessage=d}),define(Q[438],J([4,5]),function(q,e){return q.create("vs/base/common/keybindingLabels",e)}),define(Q[235],J([0,1,438]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AriaLabelProvider=e.UILabelProvider=e.ModifierLabelProvider=void 0;class N{constructor(S,C,d=C){this.modifierLabels=[null],this.modifierLabels[2]=S,this.modifierLabels[1]=C,this.modifierLabels[3]=d}toLabel(S,C,d){if(C.length===0)return null;const g=[];for(let p=0,c=C.length;p{k.checkbox.offsetParent||D.preventDefault()})),k.checkbox=b.append(E,t("input.quick-input-list-checkbox")),k.checkbox.type="checkbox",k.toDisposeTemplate.push(b.addStandardDisposableListener(k.checkbox,b.EventType.CHANGE,D=>{k.element.checked=k.checkbox.checked}));const T=b.append(E,t(".quick-input-list-rows")),O=b.append(T,t(".quick-input-list-row")),A=b.append(T,t(".quick-input-list-row"));k.label=new d.IconLabel(O,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0});const B=b.append(O,t(".quick-input-list-entry-keybinding"));k.keybinding=new i.KeybindingLabel(B,o.OS);const F=b.append(A,t(".quick-input-list-label-meta"));return k.detail=new g.HighlightedLabel(F,!0),k.separator=b.append(k.entry,t(".quick-input-list-separator")),k.actionBar=new s.ActionBar(k.entry),k.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),k.toDisposeTemplate.push(k.actionBar),k}renderElement(I,k,E){E.toDisposeElement=N.dispose(E.toDisposeElement),E.element=I,E.checkbox.checked=I.checked,E.toDisposeElement.push(I.onChecked(D=>E.checkbox.checked=D));const{labelHighlights:T,descriptionHighlights:O,detailHighlights:A}=I,B=Object.create(null);B.matches=T||[],B.descriptionTitle=I.saneDescription,B.descriptionMatches=O||[],B.extraClasses=I.item.iconClasses,B.italic=I.item.italic,B.strikethrough=I.item.strikethrough,E.label.setLabel(I.saneLabel,I.saneDescription,B),E.keybinding.set(I.item.keybinding),E.detail.set(I.saneDetail,A),I.separator&&I.separator.label?(E.separator.textContent=I.separator.label,E.separator.style.display=""):E.separator.style.display="none",E.entry.classList.toggle("quick-input-list-separator-border",!!I.separator),E.actionBar.clear();const F=I.item.buttons;F&&F.length?(E.actionBar.push(F.map((D,R)=>{let W=D.iconClass||(D.iconPath?u.getIconClass(D.iconPath):void 0);D.alwaysVisible&&(W=W?`${W} always-visible`:"always-visible");const x=new a.Action(`id-${R}`,"",W,!0,()=>Ie(this,void 0,void 0,function*(){I.fireButtonTriggered({button:D,item:I.item})}));return x.tooltip=D.tooltip||"",x}),{icon:!0,label:!1}),E.entry.classList.add("has-actions")):E.entry.classList.remove("has-actions")}disposeElement(I,k,E){E.toDisposeElement=N.dispose(E.toDisposeElement)}disposeTemplate(I){I.toDisposeElement=N.dispose(I.toDisposeElement),I.toDisposeTemplate=N.dispose(I.toDisposeTemplate)}}h.ID="listelement";class m{getHeight(I){return I.saneDetail?44:22}getTemplateId(I){return h.ID}}var _;(function(L){L[L.First=1]="First",L[L.Second=2]="Second",L[L.Last=3]="Last",L[L.Next=4]="Next",L[L.Previous=5]="Previous",L[L.NextPage=6]="NextPage",L[L.PreviousPage=7]="PreviousPage"})(_=e.QuickInputListFocus||(e.QuickInputListFocus={}));class f{constructor(I,k,E){this.parent=I,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnMeta=!0,this.sortByLabel=!0,this._onChangedAllVisibleChecked=new S.Emitter,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new S.Emitter,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new S.Emitter,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new S.Emitter,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new S.Emitter,this.onButtonTriggered=this._onButtonTriggered.event,this._onKeyDown=new S.Emitter,this.onKeyDown=this._onKeyDown.event,this._onLeave=new S.Emitter,this.onLeave=this._onLeave.event,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=k,this.container=b.append(this.parent,t(".quick-input-list"));const T=new m,O=new y;this.list=E.createList("QuickInput",this.container,T,[new h],{identityProvider:{getId:A=>A.saneLabel},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:O}),this.list.getHTMLElement().id=k,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown(A=>{const B=new C.StandardKeyboardEvent(A);switch(B.keyCode){case 10:this.toggleCheckbox();break;case 31:(o.isMacintosh?A.metaKey:A.ctrlKey)&&this.list.setFocus(c.range(this.list.length));break;case 16:const F=this.list.getFocus();F.length===1&&F[0]===0&&this._onLeave.fire();break;case 18:const D=this.list.getFocus();D.length===1&&D[0]===this.list.length-1&&this._onLeave.fire();break}this._onKeyDown.fire(B)})),this.disposables.push(this.list.onMouseDown(A=>{A.browserEvent.button!==2&&A.browserEvent.preventDefault()})),this.disposables.push(b.addDisposableListener(this.container,b.EventType.CLICK,A=>{(A.x||A.y)&&this._onLeave.fire()})),this.disposables.push(this.list.onMouseMiddleClick(A=>{this._onLeave.fire()})),this.disposables.push(this.list.onContextMenu(A=>{typeof A.index=="number"&&(A.browserEvent.preventDefault(),this.list.setSelection([A.index]))})),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return S.Event.map(this.list.onDidChangeFocus,I=>I.elements.map(k=>k.item))}get onDidChangeSelection(){return S.Event.map(this.list.onDidChangeSelection,I=>({items:I.elements.map(k=>k.item),event:I.browserEvent}))}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(I,k=!0){for(let E=0,T=I.length;E{k.hidden||(k.checked=I)})}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(I){this.elementDisposables=N.dispose(this.elementDisposables);const k=E=>this.fireButtonTriggered(E);this.inputElements=I,this.elements=I.reduce((E,T,O)=>{var A,B,F;if(T.type!=="separator"){const D=O&&I[O-1],R=T.label&&T.label.replace(/\r?\n/g," "),W=T.meta&&T.meta.replace(/\r?\n/g," "),x=T.description&&T.description.replace(/\r?\n/g," "),K=T.detail&&T.detail.replace(/\r?\n/g," "),Y=T.ariaLabel||[R,x,K].map(ee=>ee&&M.parseLabelWithIcons(ee).text).filter(ee=>!!ee).join(", ");E.push(new l({index:O,item:T,saneLabel:R,saneMeta:W,saneAriaLabel:Y,saneDescription:x,saneDetail:K,labelHighlights:(A=T.highlights)===null||A===void 0?void 0:A.label,descriptionHighlights:(B=T.highlights)===null||B===void 0?void 0:B.description,detailHighlights:(F=T.highlights)===null||F===void 0?void 0:F.detail,checked:!1,separator:D&&D.type==="separator"?D:void 0,fireButtonTriggered:k}))}return E},[]),this.elementDisposables.push(...this.elements),this.elementDisposables.push(...this.elements.map(E=>E.onChecked(()=>this.fireCheckedEvents()))),this.elementsToIndexes=this.elements.reduce((E,T,O)=>(E.set(T.item,O),E),new Map),this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map(I=>I.item)}setFocusedElements(I){if(this.list.setFocus(I.filter(k=>this.elementsToIndexes.has(k)).map(k=>this.elementsToIndexes.get(k))),I.length>0){const k=this.list.getFocus()[0];typeof k=="number"&&this.list.reveal(k)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(I){this.list.setSelection(I.filter(k=>this.elementsToIndexes.has(k)).map(k=>this.elementsToIndexes.get(k)))}getCheckedElements(){return this.elements.filter(I=>I.checked).map(I=>I.item)}setCheckedElements(I){try{this._fireCheckedEvents=!1;const k=new Set;for(const E of I)k.add(E);for(const E of this.elements)E.checked=k.has(E.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(I){this.list.getHTMLElement().style.pointerEvents=I?"":"none"}focus(I){if(!!this.list.length){switch(I===_.Next&&this.list.getFocus()[0]===this.list.length-1&&(I=_.First),I===_.Previous&&this.list.getFocus()[0]===0&&(I=_.Last),I===_.Second&&this.list.length<2&&(I=_.First),I){case _.First:this.list.focusFirst();break;case _.Second:this.list.focusNth(1);break;case _.Last:this.list.focusLast();break;case _.Next:this.list.focusNext();break;case _.Previous:this.list.focusPrevious();break;case _.NextPage:this.list.focusNextPage();break;case _.PreviousPage:this.list.focusPreviousPage();break}const k=this.list.getFocus()[0];typeof k=="number"&&this.list.reveal(k)}}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}layout(I){this.list.getHTMLElement().style.maxHeight=I?`calc(${Math.floor(I/44)*44}px)`:"",this.list.layout()}filter(I){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;I=I.trim(),!I||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)?this.elements.forEach(E=>{E.labelHighlights=void 0,E.descriptionHighlights=void 0,E.detailHighlights=void 0,E.hidden=!1;const T=E.index&&this.inputElements[E.index-1];E.separator=T&&T.type==="separator"?T:void 0}):this.elements.forEach(E=>{const T=this.matchOnLabel?r.withNullAsUndefined(M.matchesFuzzyIconAware(I,M.parseLabelWithIcons(E.saneLabel))):void 0,O=this.matchOnDescription?r.withNullAsUndefined(M.matchesFuzzyIconAware(I,M.parseLabelWithIcons(E.saneDescription||""))):void 0,A=this.matchOnDetail?r.withNullAsUndefined(M.matchesFuzzyIconAware(I,M.parseLabelWithIcons(E.saneDetail||""))):void 0,B=this.matchOnMeta?r.withNullAsUndefined(M.matchesFuzzyIconAware(I,M.parseLabelWithIcons(E.saneMeta||""))):void 0;T||O||A||B?(E.labelHighlights=T,E.descriptionHighlights=O,E.detailHighlights=A,E.hidden=!1):(E.labelHighlights=void 0,E.descriptionHighlights=void 0,E.detailHighlights=void 0,E.hidden=!E.item.alwaysShow),E.separator=void 0});const k=this.elements.filter(E=>!E.hidden);if(this.sortByLabel&&I){const E=I.toLowerCase();k.sort((T,O)=>v(T,O,E))}return this.elementsToIndexes=k.reduce((E,T,O)=>(E.set(T.item,O),E),new Map),this.list.splice(0,this.list.length,k),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(k.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;const I=this.list.getFocusedElements(),k=this.allVisibleChecked(I);for(const E of I)E.checked=!k}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(I){this.container.style.display=I?"":"none"}isDisplayed(){return this.container.style.display!=="none"}dispose(){this.elementDisposables=N.dispose(this.elementDisposables),this.disposables=N.dispose(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(I){this._onButtonTriggered.fire(I)}style(I){this.list.style(I)}}Me([p.memoize],f.prototype,"onDidChangeFocus",null),Me([p.memoize],f.prototype,"onDidChangeSelection",null),e.QuickInputList=f;function v(L,I,k){const E=L.labelHighlights||[],T=I.labelHighlights||[];return E.length&&!T.length?-1:!E.length&&T.length?1:E.length===0&&T.length===0?0:w.compareAnything(L.saneLabel,I.saneLabel,k)}class y{getWidgetAriaLabel(){return n.localize(0,null)}getAriaLabel(I){return I.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(){return"option"}}}),define(Q[443],J([0,1,202,7,23,442,435,56,440,205,309,6,297,2,82,83,48,19,15,211,27,8,103,125]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputController=void 0;const _=N.$,v={iconClass:l.registerCodicon("quick-input-back",l.Codicon.arrowLeft).classNames,tooltip:d.localize(0,null),handle:-1};class y extends s.Disposable{constructor(E){super();this.ui=E,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this.onDidTriggerButtonEmitter=this._register(new c.Emitter),this.onDidHideEmitter=this._register(new c.Emitter),this.onDisposeEmitter=this._register(new c.Emitter),this.visibleDisposables=this._register(new s.DisposableStore),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(E){this._title=E,this.update()}get description(){return this._description}set description(E){this._description=E,this.update()}get step(){return this._steps}set step(E){this._steps=E,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(E){this._totalSteps=E,this.update()}get enabled(){return this._enabled}set enabled(E){this._enabled=E,this.update()}get contextKey(){return this._contextKey}set contextKey(E){this._contextKey=E,this.update()}get busy(){return this._busy}set busy(E){this._busy=E,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(E){this._ignoreFocusOut=E,this.update()}get buttons(){return this._buttons}set buttons(E){this._buttons=E,this.buttonsUpdated=!0,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(E=>{this.buttons.indexOf(E)!==-1&&this.onDidTriggerButtonEmitter.fire(E)})),this.ui.show(this),this.visible=!0,this.update())}hide(){!this.visible||this.ui.hide()}didHide(){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire()}update(){if(!!this.visible){const E=this.getTitle();E&&this.ui.title.textContent!==E?this.ui.title.textContent=E:!E&&this.ui.title.innerHTML!==" "&&(this.ui.title.innerText="\xA0;");const T=this.getDescription();if(this.ui.description1.textContent!==T&&(this.ui.description1.textContent=T),this.ui.description2.textContent!==T&&(this.ui.description2.textContent=T),this.busy&&!this.busyDelay&&(this.busyDelay=new n.TimeoutTimer,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const O=this.buttons.filter(B=>B===v);this.ui.leftActionBar.push(O.map((B,F)=>{const D=new r.Action(`id-${F}`,"",B.iconClass||t.getIconClass(B.iconPath),!0,()=>Ie(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(B)}));return D.tooltip=B.tooltip||"",D}),{icon:!0,label:!1}),this.ui.rightActionBar.clear();const A=this.buttons.filter(B=>B!==v);this.ui.rightActionBar.push(A.map((B,F)=>{const D=new r.Action(`id-${F}`,"",B.iconClass||t.getIconClass(B.iconPath),!0,()=>Ie(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(B)}));return D.tooltip=B.tooltip||"",D}),{icon:!0,label:!1})}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey)}}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?d.localize(1,null,this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(E){if(this.ui.inputBox.showDecoration(E),E===a.default.Error){const T=this.ui.inputBox.stylesForType(E);this.ui.message.style.color=T.foreground?`${T.foreground}`:"",this.ui.message.style.backgroundColor=T.background?`${T.background}`:"",this.ui.message.style.border=T.border?`1px solid ${T.border}`:"",this.ui.message.style.paddingBottom="4px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.paddingBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class L extends y{constructor(){super(...arguments);this._value="",this.onDidChangeValueEmitter=this._register(new c.Emitter),this.onDidAcceptEmitter=this._register(new c.Emitter),this.onDidCustomEmitter=this._register(new c.Emitter),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._sortByLabel=!0,this._autoFocusOnList=!0,this._itemActivation=this.ui.isScreenReaderOptimized()?b.ItemActivation.NONE:b.ItemActivation.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new c.Emitter),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new c.Emitter),this.onDidTriggerItemButtonEmitter=this._register(new c.Emitter),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=E=>E,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(E){this._quickNavigate=E,this.update()}get value(){return this._value}set value(E){this._value=E||"",this.update()}set ariaLabel(E){this._ariaLabel=E,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(E){this._placeholder=E,this.update()}get items(){return this._items}set items(E){this._items=E,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(E){this._canSelectMany=E,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(E){this._canAcceptInBackground=E}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(E){this._matchOnDescription=E,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(E){this._matchOnDetail=E,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(E){this._matchOnLabel=E,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(E){this._sortByLabel=E,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(E){this._autoFocusOnList=E,this.update()}get itemActivation(){return this._itemActivation}set itemActivation(E){this._itemActivation=E}get activeItems(){return this._activeItems}set activeItems(E){this._activeItems=E,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(E){this._selectedItems=E,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?b.NO_KEY_MODS:this.ui.keyMods}set valueSelection(E){this._valueSelection=E,this.valueSelectionUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(E){this._validationMessage=E,this.update()}get customButton(){return this._customButton}set customButton(E){this._customButton=E,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(E){this._customButtonLabel=E,this.update()}get customHover(){return this._customButtonHover}set customHover(E){this._customButtonHover=E,this.update()}get ok(){return this._ok}set ok(E){this._ok=E,this.update()}get hideInput(){return!!this._hideInput}set hideInput(E){this._hideInput=E,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(w.QuickInputListFocus.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(E=>{E!==this.value&&(this._value=E,this.ui.list.filter(this.filterValue(this.ui.inputBox.value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(E))})),this.visibleDisposables.add(this.ui.inputBox.onMouseDown(E=>{this.autoFocusOnList||this.ui.list.clearFocus()})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(E=>{switch(E.keyCode){case 18:this.ui.list.focus(w.QuickInputListFocus.Next),this.canSelectMany&&this.ui.list.domFocus(),N.EventHelper.stop(E,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(w.QuickInputListFocus.Previous):this.ui.list.focus(w.QuickInputListFocus.Last),this.canSelectMany&&this.ui.list.domFocus(),N.EventHelper.stop(E,!0);break;case 12:this.ui.list.focus(w.QuickInputListFocus.NextPage),this.canSelectMany&&this.ui.list.domFocus(),N.EventHelper.stop(E,!0);break;case 11:this.ui.list.focus(w.QuickInputListFocus.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),N.EventHelper.stop(E,!0);break;case 17:if(!this._canAcceptInBackground||!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.onDidAcceptEmitter.fire({inBackground:!0}));break;case 14:(E.ctrlKey||E.metaKey)&&!E.shiftKey&&!E.altKey&&(this.ui.list.focus(w.QuickInputListFocus.First),N.EventHelper.stop(E,!0));break;case 13:(E.ctrlKey||E.metaKey)&&!E.shiftKey&&!E.altKey&&(this.ui.list.focus(w.QuickInputListFocus.Last),N.EventHelper.stop(E,!0));break}})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{!this.canSelectMany&&this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.onDidAcceptEmitter.fire({inBackground:!1})})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this.ui.list.onDidChangeFocus(E=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&i.equals(E,this._activeItems,(T,O)=>T===O)||(this._activeItems=E,this.onDidChangeActiveEmitter.fire(E))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:E,event:T})=>{if(this.canSelectMany){E.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&i.equals(E,this._selectedItems,(O,A)=>O===A)||(this._selectedItems=E,this.onDidChangeSelectionEmitter.fire(E),E.length&&this.onDidAcceptEmitter.fire({inBackground:T instanceof MouseEvent&&T.button===1}))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(E=>{!this.canSelectMany||this.selectedItemsToConfirm!==this._selectedItems&&i.equals(E,this._selectedItems,(T,O)=>T===O)||(this._selectedItems=E,this.onDidChangeSelectionEmitter.fire(E))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(E=>this.onDidTriggerItemButtonEmitter.fire(E))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}registerQuickNavigation(){return N.addDisposableListener(this.ui.container,N.EventType.KEY_UP,E=>{if(!(this.canSelectMany||!this._quickNavigate)){const T=new C.StandardKeyboardEvent(E),O=T.keyCode;this._quickNavigate.keybindings.some(F=>{const[D,R]=F.getParts();return R?!1:D.shiftKey&&O===4?!(T.ctrlKey||T.altKey||T.metaKey):!!(D.altKey&&O===6||D.ctrlKey&&O===5||D.metaKey&&O===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.onDidAcceptEmitter.fire({inBackground:!1})),this._quickNavigate=void 0)}})}update(){if(!!this.visible){let E=!1,T=!1;!!this._hideInput&&this._items.length>0&&(this.ui.isScreenReaderOptimized()?T=!0:E=!0),this.ui.container.classList.toggle("hidden-input",E&&!this.description);const O={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!E,progressBar:!E,visibleCount:!0,count:this.canSelectMany,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};if(this.ui.setVisibilities(O),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),T)this.ui.inputBox.ariaLabel="";else{const B=this.ariaLabel||this.placeholder||L.DEFAULT_ARIA_LABEL;this.ui.inputBox.ariaLabel!==B&&(this.ui.inputBox.ariaLabel=B)}if(this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case b.ItemActivation.NONE:this._itemActivation=b.ItemActivation.FIRST;break;case b.ItemActivation.SECOND:this.ui.list.focus(w.QuickInputListFocus.Second),this._itemActivation=b.ItemActivation.FIRST;break;case b.ItemActivation.LAST:this.ui.list.focus(w.QuickInputListFocus.Last),this._itemActivation=b.ItemActivation.FIRST;break;default:this.trySelectFirst();break}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null));const A=this.validationMessage||"";this._lastValidationMessage!==A&&(this._lastValidationMessage=A,N.reset(this.ui.message,...m.renderLabelWithIcons(h.escape(A))),this.showMessageDecoration(this.validationMessage?a.default.Error:a.default.Ignore)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",this.ui.setComboboxAccessibility(!0),O.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(w.QuickInputListFocus.First))}}}L.DEFAULT_ARIA_LABEL=d.localize(2,null);class I extends s.Disposable{constructor(E){super();this.options=E,this.comboboxAccessibility=!1,this.enabled=!0,this.onDidAcceptEmitter=this._register(new c.Emitter),this.onDidCustomEmitter=this._register(new c.Emitter),this.onDidTriggerButtonEmitter=this._register(new c.Emitter),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new c.Emitter),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new c.Emitter),this.onHide=this.onHideEmitter.event,this.idPrefix=E.idPrefix,this.parentElement=E.container,this.styles=E.styles,this.registerKeyModsListeners()}registerKeyModsListeners(){const E=T=>{this.keyMods.ctrlCmd=T.ctrlKey||T.metaKey,this.keyMods.alt=T.altKey};this._register(N.addDisposableListener(window,N.EventType.KEY_DOWN,E,!0)),this._register(N.addDisposableListener(window,N.EventType.KEY_UP,E,!0)),this._register(N.addDisposableListener(window,N.EventType.MOUSE_DOWN,E,!0))}getUI(){if(this.ui)return this.ui;const E=N.append(this.parentElement,_(".quick-input-widget.show-file-icons"));E.tabIndex=-1,E.style.display="none";const T=N.createStyleSheet(E),O=N.append(E,_(".quick-input-titlebar")),A=this._register(new u.ActionBar(O));A.domNode.classList.add("quick-input-left-action-bar");const B=N.append(O,_(".quick-input-title")),F=this._register(new u.ActionBar(O));F.domNode.classList.add("quick-input-right-action-bar");const D=N.append(E,_(".quick-input-description")),R=N.append(E,_(".quick-input-header")),W=N.append(R,_("input.quick-input-check-all"));W.type="checkbox",this._register(N.addStandardDisposableListener(W,N.EventType.CHANGE,ae=>{const G=W.checked;ie.setAllVisibleChecked(G)})),this._register(N.addDisposableListener(W,N.EventType.CLICK,ae=>{(ae.x||ae.y)&&ee.setFocus()}));const x=N.append(R,_(".quick-input-description")),K=N.append(R,_(".quick-input-and-message")),Y=N.append(K,_(".quick-input-filter")),ee=this._register(new S.QuickInputBox(Y));ee.setAttribute("aria-describedby",`${this.idPrefix}message`);const se=N.append(Y,_(".quick-input-visible-count"));se.setAttribute("aria-live","polite"),se.setAttribute("aria-atomic","true");const ne=new g.CountBadge(se,{countFormat:d.localize(3,null)}),le=N.append(Y,_(".quick-input-count"));le.setAttribute("aria-live","polite");const X=new g.CountBadge(le,{countFormat:d.localize(4,null)}),z=N.append(R,_(".quick-input-action")),P=new o.Button(z);P.label=d.localize(5,null),this._register(P.onDidClick(ae=>{this.onDidAcceptEmitter.fire()}));const V=N.append(R,_(".quick-input-action")),U=new o.Button(V);U.label=d.localize(6,null),this._register(U.onDidClick(ae=>{this.onDidCustomEmitter.fire()}));const H=N.append(K,_(`#${this.idPrefix}message.quick-input-message`)),$=new p.ProgressBar(E);$.getContainer().classList.add("quick-input-progress");const ie=this._register(new w.QuickInputList(E,this.idPrefix+"list",this.options));this._register(ie.onChangedAllVisibleChecked(ae=>{W.checked=ae})),this._register(ie.onChangedVisibleCount(ae=>{ne.setCount(ae)})),this._register(ie.onChangedCheckedCount(ae=>{X.setCount(ae)})),this._register(ie.onLeave(()=>{setTimeout(()=>{ee.setFocus(),this.controller instanceof L&&this.controller.canSelectMany&&ie.clearFocus()},0)})),this._register(ie.onDidChangeFocus(()=>{this.comboboxAccessibility&&this.getUI().inputBox.setAttribute("aria-activedescendant",this.getUI().list.getActiveDescendant()||"")}));const oe=N.trackFocus(E);return this._register(oe),this._register(N.addDisposableListener(E,N.EventType.FOCUS,ae=>{this.previousFocusElement=ae.relatedTarget instanceof HTMLElement?ae.relatedTarget:void 0},!0)),this._register(oe.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(),this.previousFocusElement=void 0})),this._register(N.addDisposableListener(E,N.EventType.FOCUS,ae=>{ee.setFocus()})),this._register(N.addDisposableListener(E,N.EventType.KEY_DOWN,ae=>{const G=new C.StandardKeyboardEvent(ae);switch(G.keyCode){case 3:N.EventHelper.stop(ae,!0),this.onDidAcceptEmitter.fire();break;case 9:N.EventHelper.stop(ae,!0),this.hide();break;case 2:if(!G.altKey&&!G.ctrlKey&&!G.metaKey){const j=[".action-label.codicon"];E.classList.contains("show-checkboxes")?j.push("input"):j.push("input[type=text]"),this.getUI().list.isDisplayed()&&j.push(".monaco-list");const te=E.querySelectorAll(j.join(", "));G.shiftKey&&G.target===te[0]?(N.EventHelper.stop(ae,!0),te[te.length-1].focus()):!G.shiftKey&&G.target===te[te.length-1]&&(N.EventHelper.stop(ae,!0),te[0].focus())}break}})),this.ui={container:E,styleSheet:T,leftActionBar:A,titleBar:O,title:B,description1:D,description2:x,rightActionBar:F,checkAll:W,filterContainer:Y,inputBox:ee,visibleCountContainer:se,visibleCount:ne,countContainer:le,count:X,okContainer:z,ok:P,message:H,customButtonContainer:V,customButton:U,progressBar:$,list:ie,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,isScreenReaderOptimized:()=>this.options.isScreenReaderOptimized(),show:ae=>this.show(ae),hide:()=>this.hide(),setVisibilities:ae=>this.setVisibilities(ae),setComboboxAccessibility:ae=>this.setComboboxAccessibility(ae),setEnabled:ae=>this.setEnabled(ae),setContextKey:ae=>this.options.setContextKey(ae)},this.updateStyles(),this.ui}pick(E,T={},O=M.CancellationToken.None){return new Promise((A,B)=>{let F=x=>{F=A,T.onKeyMods&&T.onKeyMods(D.keyMods),A(x)};if(O.isCancellationRequested){F(void 0);return}const D=this.createQuickPick();let R;const W=[D,D.onDidAccept(()=>{if(D.canSelectMany)F(D.selectedItems.slice()),D.hide();else{const x=D.activeItems[0];x&&(F(x),D.hide())}}),D.onDidChangeActive(x=>{const K=x[0];K&&T.onDidFocus&&T.onDidFocus(K)}),D.onDidChangeSelection(x=>{if(!D.canSelectMany){const K=x[0];K&&(F(K),D.hide())}}),D.onDidTriggerItemButton(x=>T.onDidTriggerItemButton&&T.onDidTriggerItemButton(Object.assign(Object.assign({},x),{removeItem:()=>{const K=D.items.indexOf(x.item);if(K!==-1){const Y=D.items.slice();Y.splice(K,1),D.items=Y}}}))),D.onDidChangeValue(x=>{R&&!x&&(D.activeItems.length!==1||D.activeItems[0]!==R)&&(D.activeItems=[R])}),O.onCancellationRequested(()=>{D.hide()}),D.onDidHide(()=>{s.dispose(W),F(void 0)})];D.canSelectMany=!!T.canPickMany,D.placeholder=T.placeHolder,D.ignoreFocusOut=!!T.ignoreFocusLost,D.matchOnDescription=!!T.matchOnDescription,D.matchOnDetail=!!T.matchOnDetail,D.matchOnLabel=T.matchOnLabel===void 0||T.matchOnLabel,D.autoFocusOnList=T.autoFocusOnList===void 0||T.autoFocusOnList,D.quickNavigate=T.quickNavigate,D.contextKey=T.contextKey,D.busy=!0,Promise.all([E,T.activeItem]).then(([x,K])=>{R=K,D.busy=!1,D.items=x,D.canSelectMany&&(D.selectedItems=x.filter(Y=>Y.type!=="separator"&&Y.picked)),R&&(D.activeItems=[R])}),D.show(),Promise.resolve(E).then(void 0,x=>{B(x),D.hide()})})}createQuickPick(){const E=this.getUI();return new L(E)}show(E){const T=this.getUI();this.onShowEmitter.fire();const O=this.controller;this.controller=E,O&&O.didHide(),this.setEnabled(!0),T.leftActionBar.clear(),T.title.textContent="",T.description1.textContent="",T.description2.textContent="",T.rightActionBar.clear(),T.checkAll.checked=!1,T.inputBox.placeholder="",T.inputBox.password=!1,T.inputBox.showDecoration(a.default.Ignore),T.visibleCount.setCount(0),T.count.setCount(0),N.reset(T.message),T.progressBar.stop(),T.list.setElements([]),T.list.matchOnDescription=!1,T.list.matchOnDetail=!1,T.list.matchOnLabel=!0,T.list.sortByLabel=!0,T.ignoreFocusOut=!1,this.setComboboxAccessibility(!1),T.inputBox.ariaLabel="";const A=this.options.backKeybindingLabel();v.tooltip=A?d.localize(7,null,A):d.localize(8,null),T.container.style.display="",this.updateLayout(),T.inputBox.setFocus()}setVisibilities(E){const T=this.getUI();T.title.style.display=E.title?"":"none",T.description1.style.display=E.description&&(E.inputBox||E.checkAll)?"":"none",T.description2.style.display=E.description&&!(E.inputBox||E.checkAll)?"":"none",T.checkAll.style.display=E.checkAll?"":"none",T.filterContainer.style.display=E.inputBox?"":"none",T.visibleCountContainer.style.display=E.visibleCount?"":"none",T.countContainer.style.display=E.count?"":"none",T.okContainer.style.display=E.ok?"":"none",T.customButtonContainer.style.display=E.customButton?"":"none",T.message.style.display=E.message?"":"none",T.progressBar.getContainer().style.display=E.progressBar?"":"none",T.list.display(!!E.list),T.container.classList[E.checkBox?"add":"remove"]("show-checkboxes"),this.updateLayout()}setComboboxAccessibility(E){if(E!==this.comboboxAccessibility){const T=this.getUI();this.comboboxAccessibility=E,this.comboboxAccessibility?(T.inputBox.setAttribute("role","combobox"),T.inputBox.setAttribute("aria-haspopup","true"),T.inputBox.setAttribute("aria-autocomplete","list"),T.inputBox.setAttribute("aria-activedescendant",T.list.getActiveDescendant()||"")):(T.inputBox.removeAttribute("role"),T.inputBox.removeAttribute("aria-haspopup"),T.inputBox.removeAttribute("aria-autocomplete"),T.inputBox.removeAttribute("aria-activedescendant"))}}setEnabled(E){if(E!==this.enabled){this.enabled=E;for(const T of this.getUI().leftActionBar.viewItems)T.getAction().enabled=E;for(const T of this.getUI().rightActionBar.viewItems)T.getAction().enabled=E;this.getUI().checkAll.disabled=!E,this.getUI().ok.enabled=E,this.getUI().list.enabled=E}}hide(){var E;const T=this.controller;if(T){const O=!((E=this.ui)===null||E===void 0?void 0:E.container.contains(document.activeElement));this.controller=null,this.onHideEmitter.fire(),this.getUI().container.style.display="none",O||(this.previousFocusElement&&this.previousFocusElement.offsetParent?(this.previousFocusElement.focus(),this.previousFocusElement=void 0):this.options.returnFocus()),T.didHide()}}layout(E,T){this.dimension=E,this.titleBarOffset=T,this.updateLayout()}updateLayout(){if(this.ui){this.ui.container.style.top=`${this.titleBarOffset}px`;const E=this.ui.container.style,T=Math.min(this.dimension.width*.62,I.MAX_WIDTH);E.width=T+"px",E.marginLeft="-"+T/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(E){this.styles=E,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:E,quickInputBackground:T,quickInputForeground:O,contrastBorder:A,widgetShadow:B}=this.styles.widget;this.ui.titleBar.style.backgroundColor=E?E.toString():"",this.ui.container.style.backgroundColor=T?T.toString():"",this.ui.container.style.color=O?O.toString():"",this.ui.container.style.border=A?`1px solid ${A}`:"",this.ui.container.style.boxShadow=B?`0 0 8px 2px ${B}`:"",this.ui.inputBox.style(this.styles.inputBox),this.ui.count.style(this.styles.countBadge),this.ui.ok.style(this.styles.button),this.ui.customButton.style(this.styles.button),this.ui.progressBar.style(this.styles.progressBar),this.ui.list.style(this.styles.list);const F=[];this.styles.list.pickerGroupBorder&&F.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.list.pickerGroupBorder}; }`),this.styles.list.pickerGroupForeground&&F.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.list.pickerGroupForeground}; }`);const D=F.join(` +`);D!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=D)}}}e.QuickInputController=I,I.MAX_WIDTH=600}),define(Q[444],J([4,5]),function(q,e){return q.create("vs/editor/browser/controller/coreCommands",e)}),define(Q[445],J([4,5]),function(q,e){return q.create("vs/editor/browser/controller/textAreaHandler",e)}),define(Q[446],J([4,5]),function(q,e){return q.create("vs/editor/browser/core/keybindingCancellation",e)}),define(Q[447],J([4,5]),function(q,e){return q.create("vs/editor/browser/editorExtensions",e)}),define(Q[448],J([4,5]),function(q,e){return q.create("vs/editor/browser/widget/codeEditorWidget",e)}),define(Q[449],J([4,5]),function(q,e){return q.create("vs/editor/browser/widget/diffEditorWidget",e)}),define(Q[450],J([4,5]),function(q,e){return q.create("vs/editor/browser/widget/diffReview",e)}),define(Q[451],J([4,5]),function(q,e){return q.create("vs/editor/browser/widget/inlineDiffMargin",e)}),define(Q[452],J([0,1,451,7,48,2,3,27]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineDiffMargin=void 0;class d extends w.Disposable{constructor(p,c,o,s,a,u){super();this._viewZoneId=p,this._marginDomNode=c,this.editor=o,this.diff=s,this._contextMenuService=a,this._clipboardService=u,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=C.Codicon.lightBulb.classNames+" lightbulb-glyph",this._diffActions.style.position="absolute";const r=o.getOption(53),i=o.getModel().getEOL();this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${r}px`,this._diffActions.style.lineHeight=`${r}px`,this._marginDomNode.appendChild(this._diffActions);const n=[];n.push(new M.Action("diff.clipboard.copyDeletedContent",s.originalEndLineNumber>s.modifiedStartLineNumber?b.localize(0,null):b.localize(1,null),void 0,!0,()=>Ie(this,void 0,void 0,function*(){const _=new S.Range(s.originalStartLineNumber,1,s.originalEndLineNumber+1,1),f=s.originalModel.getValueInRange(_);yield this._clipboardService.writeText(f)})));let t=0,l;s.originalEndLineNumber>s.modifiedStartLineNumber&&(l=new M.Action("diff.clipboard.copyDeletedLineContent",b.localize(2,null,s.originalStartLineNumber),void 0,!0,()=>Ie(this,void 0,void 0,function*(){const _=s.originalModel.getLineContent(s.originalStartLineNumber+t);yield this._clipboardService.writeText(_)})),n.push(l)),o.getOption(75)||n.push(new M.Action("diff.inline.revertChange",b.localize(3,null),void 0,!0,()=>Ie(this,void 0,void 0,function*(){const _=new S.Range(s.originalStartLineNumber,1,s.originalEndLineNumber,s.originalModel.getLineMaxColumn(s.originalEndLineNumber)),f=s.originalModel.getValueInRange(_);if(s.modifiedEndLineNumber===0){const v=o.getModel().getLineMaxColumn(s.modifiedStartLineNumber);o.executeEdits("diffEditor",[{range:new S.Range(s.modifiedStartLineNumber,v,s.modifiedStartLineNumber,v),text:i+f}])}else{const v=o.getModel().getLineMaxColumn(s.modifiedEndLineNumber);o.executeEdits("diffEditor",[{range:new S.Range(s.modifiedStartLineNumber,1,s.modifiedEndLineNumber,v),text:f}])}})));const m=(_,f)=>{this._contextMenuService.showContextMenu({getAnchor:()=>({x:_,y:f}),getActions:()=>(l&&(l.label=b.localize(4,null,s.originalStartLineNumber+t)),n),autoSelectFirstItem:!0})};this._register(N.addStandardDisposableListener(this._diffActions,"mousedown",_=>{const{top:f,height:v}=N.getDomNodePagePosition(this._diffActions);let y=Math.floor(r/3);_.preventDefault(),m(_.posx,f+v+y)})),this._register(o.onMouseMove(_=>{_.target.type===8||_.target.type===5?_.target.detail.viewZoneId===this._viewZoneId?(this.visibility=!0,t=this._updateLightBulbPosition(this._marginDomNode,_.event.browserEvent.y,r)):this.visibility=!1:this.visibility=!1})),this._register(o.onMouseDown(_=>{!_.event.rightButton||(_.target.type===8||_.target.type===5)&&_.target.detail.viewZoneId===this._viewZoneId&&(_.event.preventDefault(),t=this._updateLightBulbPosition(this._marginDomNode,_.event.browserEvent.y,r),m(_.event.posx,_.event.posy+r))}))}get visibility(){return this._visibility}set visibility(p){this._visibility!==p&&(this._visibility=p,p?this._diffActions.style.visibility="visible":this._diffActions.style.visibility="hidden")}_updateLightBulbPosition(p,c,o){const{top:s}=N.getDomNodePagePosition(p),a=c-s,u=Math.floor(a/o),r=u*o;if(this._diffActions.style.top=`${r}px`,this.diff.viewLineCounts){let i=0;for(let n=0;nhe?he:Z}static float(Z,ue){if(typeof Z=="number")return Z;if(typeof Z=="undefined")return ue;const he=parseFloat(Z);return isNaN(he)?ue:he}validate(Z){return this.validationFn(a.float(Z,this.defaultValue))}}class u extends p{static string(Z,ue){return typeof Z!="string"?ue:Z}constructor(Z,ue,he,re=void 0){typeof re!="undefined"&&(re.type="string",re.default=he),super(Z,ue,he,re)}validate(Z){return u.string(Z,this.defaultValue)}}function r(te,Z,ue){return typeof te!="string"||ue.indexOf(te)===-1?Z:te}e.stringSet=r;class i extends p{constructor(Z,ue,he,re,ce=void 0){typeof ce!="undefined"&&(ce.type="string",ce.enum=re,ce.default=he),super(Z,ue,he,ce),this._allowedValues=re}validate(Z){return r(Z,this.defaultValue,this._allowedValues)}}class n extends d{constructor(Z,ue,he,re,ce,me,Ce=void 0){typeof Ce!="undefined"&&(Ce.type="string",Ce.enum=ce,Ce.default=re),super(Z,ue,he,Ce),this._allowedValues=ce,this._convert=me}validate(Z){return typeof Z!="string"?this.defaultValue:this._allowedValues.indexOf(Z)===-1?this.defaultValue:this._convert(Z)}}function t(te){switch(te){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class l extends d{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[b.localize(0,null),b.localize(1,null),b.localize(2,null)],default:"auto",description:b.localize(3,null)})}validate(Z){switch(Z){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(Z,ue,he){return he===0?Z.accessibilitySupport:he}}class h extends d{constructor(){const Z={insertSpace:!0,ignoreEmptyLines:!0};super(16,"comments",Z,{"editor.comments.insertSpace":{type:"boolean",default:Z.insertSpace,description:b.localize(4,null)},"editor.comments.ignoreEmptyLines":{type:"boolean",default:Z.ignoreEmptyLines,description:b.localize(5,null)}})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z;return{insertSpace:c(ue.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:c(ue.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function m(te){switch(te){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var _;(function(te){te[te.Line=1]="Line",te[te.Block=2]="Block",te[te.Underline=3]="Underline",te[te.LineThin=4]="LineThin",te[te.BlockOutline=5]="BlockOutline",te[te.UnderlineThin=6]="UnderlineThin"})(_=e.TextEditorCursorStyle||(e.TextEditorCursorStyle={}));function f(te){switch(te){case"line":return _.Line;case"block":return _.Block;case"underline":return _.Underline;case"line-thin":return _.LineThin;case"block-outline":return _.BlockOutline;case"underline-thin":return _.UnderlineThin}}class v extends g{constructor(){super(121,[60,29])}compute(Z,ue,he){const re=["monaco-editor"];return ue.get(29)&&re.push(ue.get(29)),Z.extraEditorClassName&&re.push(Z.extraEditorClassName),ue.get(60)==="default"?re.push("mouse-default"):ue.get(60)==="copy"&&re.push("mouse-copy"),ue.get(95)&&re.push("showUnused"),ue.get(119)&&re.push("showDeprecated"),re.join(" ")}}class y extends o{constructor(){super(28,"emptySelectionClipboard",!0,{description:b.localize(6,null)})}compute(Z,ue,he){return he&&Z.emptySelectionClipboard}}class L extends d{constructor(){const Z={cursorMoveOnType:!0,seedSearchStringFromSelection:!0,autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(31,"find",Z,{"editor.find.cursorMoveOnType":{type:"boolean",default:Z.cursorMoveOnType,description:b.localize(7,null)},"editor.find.seedSearchStringFromSelection":{type:"boolean",default:Z.seedSearchStringFromSelection,description:b.localize(8,null)},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:Z.autoFindInSelection,enumDescriptions:[b.localize(9,null),b.localize(10,null),b.localize(11,null)],description:b.localize(12,null)},"editor.find.globalFindClipboard":{type:"boolean",default:Z.globalFindClipboard,description:b.localize(13,null),included:N.isMacintosh},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:Z.addExtraSpaceOnTop,description:b.localize(14,null)},"editor.find.loop":{type:"boolean",default:Z.loop,description:b.localize(15,null)}})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z;return{cursorMoveOnType:c(ue.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:c(ue.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection),autoFindInSelection:typeof Z.autoFindInSelection=="boolean"?Z.autoFindInSelection?"always":"never":r(ue.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:c(ue.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:c(ue.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:c(ue.loop,this.defaultValue.loop)}}}class I extends d{constructor(){super(39,"fontLigatures",I.OFF,{anyOf:[{type:"boolean",description:b.localize(16,null)},{type:"string",description:b.localize(17,null)}],description:b.localize(18,null),default:!1})}validate(Z){return typeof Z=="undefined"?this.defaultValue:typeof Z=="string"?Z==="false"?I.OFF:Z==="true"?I.ON:Z:Boolean(Z)?I.ON:I.OFF}}e.EditorFontLigatures=I,I.OFF='"liga" off, "calt" off',I.ON='"liga" on, "calt" on';class k extends g{constructor(){super(38)}compute(Z,ue,he){return Z.fontInfo}}class E extends p{constructor(){super(40,"fontSize",e.EDITOR_FONT_DEFAULTS.fontSize,{type:"number",minimum:6,maximum:100,default:e.EDITOR_FONT_DEFAULTS.fontSize,description:b.localize(19,null)})}validate(Z){let ue=a.float(Z,this.defaultValue);return ue===0?e.EDITOR_FONT_DEFAULTS.fontSize:a.clamp(ue,6,100)}compute(Z,ue,he){return Z.fontInfo.fontSize}}class T extends d{constructor(){super(41,"fontWeight",e.EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:"number",minimum:T.MINIMUM_VALUE,maximum:T.MAXIMUM_VALUE,errorMessage:b.localize(20,null)},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:T.SUGGESTION_VALUES}],default:e.EDITOR_FONT_DEFAULTS.fontWeight,description:b.localize(21,null)})}validate(Z){return Z==="normal"||Z==="bold"?Z:String(s.clampedInt(Z,e.EDITOR_FONT_DEFAULTS.fontWeight,T.MINIMUM_VALUE,T.MAXIMUM_VALUE))}}T.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],T.MINIMUM_VALUE=1,T.MAXIMUM_VALUE=1e3;class O extends d{constructor(){const Z={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},ue={type:"string",enum:["peek","gotoAndPeek","goto"],default:Z.multiple,enumDescriptions:[b.localize(22,null),b.localize(23,null),b.localize(24,null)]};super(45,"gotoLocation",Z,{"editor.gotoLocation.multiple":{deprecationMessage:b.localize(25,null)},"editor.gotoLocation.multipleDefinitions":Object.assign({description:b.localize(26,null)},ue),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:b.localize(27,null)},ue),"editor.gotoLocation.multipleDeclarations":Object.assign({description:b.localize(28,null)},ue),"editor.gotoLocation.multipleImplementations":Object.assign({description:b.localize(29,null)},ue),"editor.gotoLocation.multipleReferences":Object.assign({description:b.localize(30,null)},ue),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:Z.alternativeDefinitionCommand,description:b.localize(31,null)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:Z.alternativeTypeDefinitionCommand,description:b.localize(32,null)},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:Z.alternativeDeclarationCommand,description:b.localize(33,null)},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:Z.alternativeImplementationCommand,description:b.localize(34,null)},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:Z.alternativeReferenceCommand,description:b.localize(35,null)}})}validate(Z){var ue,he,re,ce,me;if(!Z||typeof Z!="object")return this.defaultValue;const Ce=Z;return{multiple:r(Ce.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(ue=Ce.multipleDefinitions)!==null&&ue!==void 0?ue:r(Ce.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(he=Ce.multipleTypeDefinitions)!==null&&he!==void 0?he:r(Ce.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(re=Ce.multipleDeclarations)!==null&&re!==void 0?re:r(Ce.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(ce=Ce.multipleImplementations)!==null&&ce!==void 0?ce:r(Ce.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(me=Ce.multipleReferences)!==null&&me!==void 0?me:r(Ce.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:u.string(Ce.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:u.string(Ce.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:u.string(Ce.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:u.string(Ce.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:u.string(Ce.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class A extends d{constructor(){const Z={enabled:!0,delay:300,sticky:!0};super(48,"hover",Z,{"editor.hover.enabled":{type:"boolean",default:Z.enabled,description:b.localize(36,null)},"editor.hover.delay":{type:"number",default:Z.delay,description:b.localize(37,null)},"editor.hover.sticky":{type:"boolean",default:Z.sticky,description:b.localize(38,null)}})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z;return{enabled:c(ue.enabled,this.defaultValue.enabled),delay:s.clampedInt(ue.delay,this.defaultValue.delay,0,1e4),sticky:c(ue.sticky,this.defaultValue.sticky)}}}class B extends g{constructor(){super(124,[44,52,33,59,87,54,55,89,111,114,115,116,2])}compute(Z,ue,he){return B.computeLayout(ue,{memory:Z.memory,outerWidth:Z.outerWidth,outerHeight:Z.outerHeight,isDominatedByLongLines:Z.isDominatedByLongLines,lineHeight:Z.fontInfo.lineHeight,viewLineCount:Z.viewLineCount,lineNumbersDigitCount:Z.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:Z.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:Z.fontInfo.maxDigitWidth,pixelRatio:Z.pixelRatio})}static computeContainedMinimapLineCount(Z){const ue=Z.height/Z.lineHeight,he=Z.scrollBeyondLastLine?ue-1:0,re=(Z.viewLineCount+he)/(Z.pixelRatio*Z.height),ce=Math.floor(Z.viewLineCount/re);return{typicalViewportLineCount:ue,extraLinesBeyondLastLine:he,desiredRatio:re,minimapLineCount:ce}}static _computeMinimapLayout(Z,ue){const he=Z.outerWidth,re=Z.outerHeight,ce=Z.pixelRatio;if(!Z.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(ce*re),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:re};const me=ue.stableMinimapLayoutInput,Ce=me&&Z.outerHeight===me.outerHeight&&Z.lineHeight===me.lineHeight&&Z.typicalHalfwidthCharacterWidth===me.typicalHalfwidthCharacterWidth&&Z.pixelRatio===me.pixelRatio&&Z.scrollBeyondLastLine===me.scrollBeyondLastLine&&Z.minimap.enabled===me.minimap.enabled&&Z.minimap.side===me.minimap.side&&Z.minimap.size===me.minimap.size&&Z.minimap.showSlider===me.minimap.showSlider&&Z.minimap.renderCharacters===me.minimap.renderCharacters&&Z.minimap.maxColumn===me.minimap.maxColumn&&Z.minimap.scale===me.minimap.scale&&Z.verticalScrollbarWidth===me.verticalScrollbarWidth&&Z.isViewportWrapping===me.isViewportWrapping,be=Z.lineHeight,Le=Z.typicalHalfwidthCharacterWidth,De=Z.scrollBeyondLastLine,Re=Z.minimap.renderCharacters;let Ee=ce>=2?Math.round(Z.minimap.scale*2):Z.minimap.scale;const Ae=Z.minimap.maxColumn,Se=Z.minimap.size,we=Z.minimap.side,ye=Z.verticalScrollbarWidth,fe=Z.viewLineCount,de=Z.remainingWidth,ge=Z.isViewportWrapping,pe=Re?2:3;let ve=Math.floor(ce*re);const ke=ve/ce;let Ne=!1,Te=!1,Oe=pe*Ee,Fe=Ee/ce,Pe=1;if(Se==="fill"||Se==="fit"){const{typicalViewportLineCount:Ve,extraLinesBeyondLastLine:Ue,desiredRatio:Ye,minimapLineCount:je}=B.computeContainedMinimapLineCount({viewLineCount:fe,scrollBeyondLastLine:De,height:re,lineHeight:be,pixelRatio:ce});if(fe/je>1)Ne=!0,Te=!0,Ee=1,Oe=1,Fe=Ee/ce;else{let $e=!1,Ze=Ee+1;if(Se==="fit"){const Qe=Math.ceil((fe+Ue)*Oe);ge&&Ce&&de<=ue.stableFitRemainingWidth?($e=!0,Ze=ue.stableFitMaxMinimapScale):($e=Qe>ve,ge&&$e?(ue.stableMinimapLayoutInput=Z,ue.stableFitRemainingWidth=de):(ue.stableMinimapLayoutInput=null,ue.stableFitRemainingWidth=0))}if(Se==="fill"||$e){Ne=!0;const Qe=Ee;Oe=Math.min(be*ce,Math.max(1,Math.floor(1/Ye))),Ee=Math.min(Ze,Math.max(1,Math.floor(Oe/pe))),Ee>Qe&&(Pe=Math.min(2,Ee/Qe)),Fe=Ee/ce/Pe,ve=Math.ceil(Math.max(Ve,fe+Ue)*Oe),ge&&$e&&(ue.stableFitMaxMinimapScale=Ee)}}}const xe=Math.floor(Ae*Fe),We=Math.min(xe,Math.max(0,Math.floor((de-ye-2)*Fe/(Le+Fe)))+e.MINIMAP_GUTTER_WIDTH);let ze=Math.floor(ce*We);const Ke=ze/ce;ze=Math.floor(ze*Pe);const Be=Re?1:2,He=we==="left"?0:he-We-ye;return{renderMinimap:Be,minimapLeft:He,minimapWidth:We,minimapHeightIsEditorHeight:Ne,minimapIsSampling:Te,minimapScale:Ee,minimapLineHeight:Oe,minimapCanvasInnerWidth:ze,minimapCanvasInnerHeight:ve,minimapCanvasOuterWidth:Ke,minimapCanvasOuterHeight:ke}}static computeLayout(Z,ue){const he=ue.outerWidth|0,re=ue.outerHeight|0,ce=ue.lineHeight|0,me=ue.lineNumbersDigitCount|0,Ce=ue.typicalHalfwidthCharacterWidth,be=ue.maxDigitWidth,Le=ue.pixelRatio,De=ue.viewLineCount,Re=Z.get(116),Ee=Re==="inherit"?Z.get(115):Re,Ae=Ee==="inherit"?Z.get(111):Ee,Se=Z.get(114),we=Z.get(2),ye=ue.isDominatedByLongLines,fe=Z.get(44),de=Z.get(54).renderType!==0,ge=Z.get(55),pe=Z.get(89),ve=Z.get(59),ke=Z.get(87),Ne=ke.verticalScrollbarSize,Te=ke.verticalHasArrows,Oe=ke.arrowSize,Fe=ke.horizontalScrollbarSize,Pe=Z.get(52),xe=Z.get(33);let We;if(typeof Pe=="string"&&/^\d+(\.\d+)?ch$/.test(Pe)){const nt=parseFloat(Pe.substr(0,Pe.length-2));We=s.clampedInt(nt*Ce,0,0,1e3)}else We=s.clampedInt(Pe,0,0,1e3);xe&&(We+=16);let ze=0;if(de){const nt=Math.max(me,ge);ze=Math.round(nt*be)}let Ke=0;fe&&(Ke=ce);let Be=0,He=Be+Ke,Ve=He+ze,Ue=Ve+We;const Ye=he-Ke-ze-We;let je=!1,Xe=!1,$e=-1;we!==2&&(Ee==="inherit"&&ye?(je=!0,Xe=!0):Ae==="on"||Ae==="bounded"?Xe=!0:Ae==="wordWrapColumn"&&($e=Se));const Ze=B._computeMinimapLayout({outerWidth:he,outerHeight:re,lineHeight:ce,typicalHalfwidthCharacterWidth:Ce,pixelRatio:Le,scrollBeyondLastLine:pe,minimap:ve,verticalScrollbarWidth:Ne,viewLineCount:De,remainingWidth:Ye,isViewportWrapping:Xe},ue.memory||new C);Ze.renderMinimap!==0&&Ze.minimapLeft===0&&(Be+=Ze.minimapWidth,He+=Ze.minimapWidth,Ve+=Ze.minimapWidth,Ue+=Ze.minimapWidth);const Qe=Ye-Ze.minimapWidth,it=Math.max(1,Math.floor((Qe-Ne-2)/Ce)),Je=Te?Oe:0;return Xe&&($e=Math.max(1,it),Ae==="bounded"&&($e=Math.min($e,Se))),{width:he,height:re,glyphMarginLeft:Be,glyphMarginWidth:Ke,lineNumbersLeft:He,lineNumbersWidth:ze,decorationsLeft:Ve,decorationsWidth:We,contentLeft:Ue,contentWidth:Qe,minimap:Ze,viewportColumn:it,isWordWrapMinified:je,isViewportWrapping:Xe,wrappingColumn:$e,verticalScrollbarWidth:Ne,horizontalScrollbarHeight:Fe,overviewRuler:{top:Je,width:Ne,height:re-2*Je,right:0}}}}e.EditorLayoutInfoComputer=B;class F extends d{constructor(){const Z={enabled:!0};super(51,"lightbulb",Z,{"editor.lightbulb.enabled":{type:"boolean",default:Z.enabled,description:b.localize(39,null)}})}validate(Z){return!Z||typeof Z!="object"?this.defaultValue:{enabled:c(Z.enabled,this.defaultValue.enabled)}}}class D extends d{constructor(){const Z={enabled:!0,fontSize:0,fontFamily:e.EDITOR_FONT_DEFAULTS.fontFamily};super(120,"inlineHints",Z,{"editor.inlineHints.enabled":{type:"boolean",default:Z.enabled,description:b.localize(40,null)},"editor.inlineHints.fontSize":{type:"number",default:Z.fontSize,description:b.localize(41,null)},"editor.inlineHints.fontFamily":{type:"string",default:Z.fontFamily,description:b.localize(42,null)}})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z;return{enabled:c(ue.enabled,this.defaultValue.enabled),fontSize:s.clampedInt(ue.fontSize,this.defaultValue.fontSize,0,100),fontFamily:u.string(ue.fontFamily,this.defaultValue.fontFamily)}}}class R extends s{constructor(){super(53,"lineHeight",e.EDITOR_FONT_DEFAULTS.lineHeight,0,150,{description:b.localize(43,null)})}compute(Z,ue,he){return Z.fontInfo.lineHeight}}class W extends d{constructor(){const Z={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120,scale:1};super(59,"minimap",Z,{"editor.minimap.enabled":{type:"boolean",default:Z.enabled,description:b.localize(44,null)},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[b.localize(45,null),b.localize(46,null),b.localize(47,null)],default:Z.size,description:b.localize(48,null)},"editor.minimap.side":{type:"string",enum:["left","right"],default:Z.side,description:b.localize(49,null)},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:Z.showSlider,description:b.localize(50,null)},"editor.minimap.scale":{type:"number",default:Z.scale,minimum:1,maximum:3,enum:[1,2,3],description:b.localize(51,null)},"editor.minimap.renderCharacters":{type:"boolean",default:Z.renderCharacters,description:b.localize(52,null)},"editor.minimap.maxColumn":{type:"number",default:Z.maxColumn,description:b.localize(53,null)}})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z;return{enabled:c(ue.enabled,this.defaultValue.enabled),size:r(ue.size,this.defaultValue.size,["proportional","fill","fit"]),side:r(ue.side,this.defaultValue.side,["right","left"]),showSlider:r(ue.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:c(ue.renderCharacters,this.defaultValue.renderCharacters),scale:s.clampedInt(ue.scale,1,1,3),maxColumn:s.clampedInt(ue.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}function x(te){return te==="ctrlCmd"?N.isMacintosh?"metaKey":"ctrlKey":"altKey"}class K extends d{constructor(){super(69,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:b.localize(54,null)},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:b.localize(55,null)}})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z;return{top:s.clampedInt(ue.top,0,0,1e3),bottom:s.clampedInt(ue.bottom,0,0,1e3)}}}class Y extends d{constructor(){const Z={enabled:!0,cycle:!1};super(70,"parameterHints",Z,{"editor.parameterHints.enabled":{type:"boolean",default:Z.enabled,description:b.localize(56,null)},"editor.parameterHints.cycle":{type:"boolean",default:Z.cycle,description:b.localize(57,null)}})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z;return{enabled:c(ue.enabled,this.defaultValue.enabled),cycle:c(ue.cycle,this.defaultValue.cycle)}}}class ee extends g{constructor(){super(122)}compute(Z,ue,he){return Z.pixelRatio}}class se extends d{constructor(){const Z={other:!0,comments:!1,strings:!1};super(73,"quickSuggestions",Z,{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:Z.strings,description:b.localize(58,null)},comments:{type:"boolean",default:Z.comments,description:b.localize(59,null)},other:{type:"boolean",default:Z.other,description:b.localize(60,null)}}}],default:Z,description:b.localize(61,null)});this.defaultValue=Z}validate(Z){if(typeof Z=="boolean")return Z;if(Z&&typeof Z=="object"){const ue=Z,he={other:c(ue.other,this.defaultValue.other),comments:c(ue.comments,this.defaultValue.comments),strings:c(ue.strings,this.defaultValue.strings)};return he.other&&he.comments&&he.strings?!0:!he.other&&!he.comments&&!he.strings?!1:he}return this.defaultValue}}class ne extends d{constructor(){super(54,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[b.localize(62,null),b.localize(63,null),b.localize(64,null),b.localize(65,null)],default:"on",description:b.localize(66,null)})}validate(Z){let ue=this.defaultValue.renderType,he=this.defaultValue.renderFn;return typeof Z!="undefined"&&(typeof Z=="function"?(ue=4,he=Z):Z==="interval"?ue=3:Z==="relative"?ue=2:Z==="on"?ue=1:ue=0),{renderType:ue,renderFn:he}}}function le(te){const Z=te.get(82);return Z==="editable"?te.get(75):Z!=="on"}e.filterValidationDecorations=le;class X extends d{constructor(){const Z=[],ue={type:"number",description:b.localize(67,null)};super(86,"rulers",Z,{type:"array",items:{anyOf:[ue,{type:["object"],properties:{column:ue,color:{type:"string",description:b.localize(68,null),format:"color-hex"}}}]},default:Z,description:b.localize(69,null)})}validate(Z){if(Array.isArray(Z)){let ue=[];for(let he of Z)if(typeof he=="number")ue.push({column:s.clampedInt(he,0,0,1e4),color:null});else if(he&&typeof he=="object"){const re=he;ue.push({column:s.clampedInt(re.column,0,0,1e4),color:re.color})}return ue.sort((he,re)=>he.column-re.column),ue}return this.defaultValue}}function z(te,Z){if(typeof te!="string")return Z;switch(te){case"hidden":return 2;case"visible":return 3;default:return 1}}class P extends d{constructor(){super(87,"scrollbar",{vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z,he=s.clampedInt(ue.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),re=s.clampedInt(ue.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:s.clampedInt(ue.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:z(ue.vertical,this.defaultValue.vertical),horizontal:z(ue.horizontal,this.defaultValue.horizontal),useShadows:c(ue.useShadows,this.defaultValue.useShadows),verticalHasArrows:c(ue.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:c(ue.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:c(ue.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:c(ue.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:he,horizontalSliderSize:s.clampedInt(ue.horizontalSliderSize,he,0,1e3),verticalScrollbarSize:re,verticalSliderSize:s.clampedInt(ue.verticalSliderSize,re,0,1e3),scrollByPage:c(ue.scrollByPage,this.defaultValue.scrollByPage)}}}class V extends d{constructor(){const Z={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,showStatusBar:!1,showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(101,"suggest",Z,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[b.localize(70,null),b.localize(71,null)],default:Z.insertMode,description:b.localize(72,null)},"editor.suggest.filterGraceful":{type:"boolean",default:Z.filterGraceful,description:b.localize(73,null)},"editor.suggest.localityBonus":{type:"boolean",default:Z.localityBonus,description:b.localize(74,null)},"editor.suggest.shareSuggestSelections":{type:"boolean",default:Z.shareSuggestSelections,markdownDescription:b.localize(75,null)},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:Z.snippetsPreventQuickSuggestions,description:b.localize(76,null)},"editor.suggest.showIcons":{type:"boolean",default:Z.showIcons,description:b.localize(77,null)},"editor.suggest.showStatusBar":{type:"boolean",default:Z.showStatusBar,description:b.localize(78,null)},"editor.suggest.showInlineDetails":{type:"boolean",default:Z.showInlineDetails,description:b.localize(79,null)},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:b.localize(80,null)},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:b.localize(81,null)},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:b.localize(82,null)},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:b.localize(83,null)},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:b.localize(84,null)},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:b.localize(85,null)},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:b.localize(86,null)},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:b.localize(87,null)},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:b.localize(88,null)},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:b.localize(89,null)},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:b.localize(90,null)},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:b.localize(91,null)},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:b.localize(92,null)},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:b.localize(93,null)},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:b.localize(94,null)},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:b.localize(95,null)},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:b.localize(96,null)},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:b.localize(97,null)},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:b.localize(98,null)},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:b.localize(99,null)},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:b.localize(100,null)},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:b.localize(101,null)},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:b.localize(102,null)},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:b.localize(103,null)},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:b.localize(104,null)},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:b.localize(105,null)},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:b.localize(106,null)},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:b.localize(107,null)},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:b.localize(108,null)},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:b.localize(109,null)}})}validate(Z){if(!Z||typeof Z!="object")return this.defaultValue;const ue=Z;return{insertMode:r(ue.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:c(ue.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:c(ue.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:c(ue.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:c(ue.shareSuggestSelections,this.defaultValue.shareSuggestSelections),showIcons:c(ue.showIcons,this.defaultValue.showIcons),showStatusBar:c(ue.showStatusBar,this.defaultValue.showStatusBar),showInlineDetails:c(ue.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:c(ue.showMethods,this.defaultValue.showMethods),showFunctions:c(ue.showFunctions,this.defaultValue.showFunctions),showConstructors:c(ue.showConstructors,this.defaultValue.showConstructors),showFields:c(ue.showFields,this.defaultValue.showFields),showVariables:c(ue.showVariables,this.defaultValue.showVariables),showClasses:c(ue.showClasses,this.defaultValue.showClasses),showStructs:c(ue.showStructs,this.defaultValue.showStructs),showInterfaces:c(ue.showInterfaces,this.defaultValue.showInterfaces),showModules:c(ue.showModules,this.defaultValue.showModules),showProperties:c(ue.showProperties,this.defaultValue.showProperties),showEvents:c(ue.showEvents,this.defaultValue.showEvents),showOperators:c(ue.showOperators,this.defaultValue.showOperators),showUnits:c(ue.showUnits,this.defaultValue.showUnits),showValues:c(ue.showValues,this.defaultValue.showValues),showConstants:c(ue.showConstants,this.defaultValue.showConstants),showEnums:c(ue.showEnums,this.defaultValue.showEnums),showEnumMembers:c(ue.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:c(ue.showKeywords,this.defaultValue.showKeywords),showWords:c(ue.showWords,this.defaultValue.showWords),showColors:c(ue.showColors,this.defaultValue.showColors),showFiles:c(ue.showFiles,this.defaultValue.showFiles),showReferences:c(ue.showReferences,this.defaultValue.showReferences),showFolders:c(ue.showFolders,this.defaultValue.showFolders),showTypeParameters:c(ue.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:c(ue.showSnippets,this.defaultValue.showSnippets),showUsers:c(ue.showUsers,this.defaultValue.showUsers),showIssues:c(ue.showIssues,this.defaultValue.showIssues)}}}class U extends d{constructor(){super(97,"smartSelect",{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:b.localize(110,null),default:!0,type:"boolean"}})}validate(Z){return!Z||typeof Z!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:c(Z.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}}}class H extends g{constructor(){super(123,[75])}compute(Z,ue,he){return ue.get(75)?!0:Z.tabFocusMode}}function $(te){switch(te){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}}class ie extends g{constructor(){super(125,[124])}compute(Z,ue,he){const re=ue.get(124);return{isDominatedByLongLines:Z.isDominatedByLongLines,isWordWrapMinified:re.isWordWrapMinified,isViewportWrapping:re.isViewportWrapping,wrappingColumn:re.wrappingColumn}}}const oe="Consolas, 'Courier New', monospace",ae="Menlo, Monaco, 'Courier New', monospace",G="'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'";e.EDITOR_FONT_DEFAULTS={fontFamily:N.isMacintosh?ae:N.isLinux?G:oe,fontWeight:"normal",fontSize:N.isMacintosh?12:14,lineHeight:0,letterSpacing:0},e.EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},e.editorOptionsRegistry=[];function j(te){return e.editorOptionsRegistry[te.id]=te,te}e.EditorOptions={acceptSuggestionOnCommitCharacter:j(new o(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:b.localize(111,null)})),acceptSuggestionOnEnter:j(new i(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",b.localize(112,null),""],markdownDescription:b.localize(113,null)})),accessibilitySupport:j(new l),accessibilityPageSize:j(new s(3,"accessibilityPageSize",10,1,1073741824,{description:b.localize(114,null)})),ariaLabel:j(new u(4,"ariaLabel",b.localize(115,null))),autoClosingBrackets:j(new i(5,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",b.localize(116,null),b.localize(117,null),""],description:b.localize(118,null)})),autoClosingOvertype:j(new i(6,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",b.localize(119,null),""],description:b.localize(120,null)})),autoClosingQuotes:j(new i(7,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",b.localize(121,null),b.localize(122,null),""],description:b.localize(123,null)})),autoIndent:j(new n(8,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],t,{enumDescriptions:[b.localize(124,null),b.localize(125,null),b.localize(126,null),b.localize(127,null),b.localize(128,null)],description:b.localize(129,null)})),automaticLayout:j(new o(9,"automaticLayout",!1)),autoSurround:j(new i(10,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[b.localize(130,null),b.localize(131,null),b.localize(132,null),""],description:b.localize(133,null)})),stickyTabStops:j(new o(99,"stickyTabStops",!1,{description:b.localize(134,null)})),codeLens:j(new o(11,"codeLens",!0,{description:b.localize(135,null)})),codeLensFontFamily:j(new u(12,"codeLensFontFamily","",{description:b.localize(136,null)})),codeLensFontSize:j(new s(13,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,description:b.localize(137,null)})),colorDecorators:j(new o(14,"colorDecorators",!0,{description:b.localize(138,null)})),columnSelection:j(new o(15,"columnSelection",!1,{description:b.localize(139,null)})),comments:j(new h),contextmenu:j(new o(17,"contextmenu",!0)),copyWithSyntaxHighlighting:j(new o(18,"copyWithSyntaxHighlighting",!0,{description:b.localize(140,null)})),cursorBlinking:j(new n(19,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],m,{description:b.localize(141,null)})),cursorSmoothCaretAnimation:j(new o(20,"cursorSmoothCaretAnimation",!1,{description:b.localize(142,null)})),cursorStyle:j(new n(21,"cursorStyle",_.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],f,{description:b.localize(143,null)})),cursorSurroundingLines:j(new s(22,"cursorSurroundingLines",0,0,1073741824,{description:b.localize(144,null)})),cursorSurroundingLinesStyle:j(new i(23,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[b.localize(145,null),b.localize(146,null)],description:b.localize(147,null)})),cursorWidth:j(new s(24,"cursorWidth",0,0,1073741824,{markdownDescription:b.localize(148,null)})),disableLayerHinting:j(new o(25,"disableLayerHinting",!1)),disableMonospaceOptimizations:j(new o(26,"disableMonospaceOptimizations",!1)),dragAndDrop:j(new o(27,"dragAndDrop",!0,{description:b.localize(149,null)})),emptySelectionClipboard:j(new y),extraEditorClassName:j(new u(29,"extraEditorClassName","")),fastScrollSensitivity:j(new a(30,"fastScrollSensitivity",5,te=>te<=0?5:te,{markdownDescription:b.localize(150,null)})),find:j(new L),fixedOverflowWidgets:j(new o(32,"fixedOverflowWidgets",!1)),folding:j(new o(33,"folding",!0,{description:b.localize(151,null)})),foldingStrategy:j(new i(34,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[b.localize(152,null),b.localize(153,null)],description:b.localize(154,null)})),foldingHighlight:j(new o(35,"foldingHighlight",!0,{description:b.localize(155,null)})),unfoldOnClickAfterEndOfLine:j(new o(36,"unfoldOnClickAfterEndOfLine",!1,{description:b.localize(156,null)})),fontFamily:j(new u(37,"fontFamily",e.EDITOR_FONT_DEFAULTS.fontFamily,{description:b.localize(157,null)})),fontInfo:j(new k),fontLigatures2:j(new I),fontSize:j(new E),fontWeight:j(new T),formatOnPaste:j(new o(42,"formatOnPaste",!1,{description:b.localize(158,null)})),formatOnType:j(new o(43,"formatOnType",!1,{description:b.localize(159,null)})),glyphMargin:j(new o(44,"glyphMargin",!0,{description:b.localize(160,null)})),gotoLocation:j(new O),hideCursorInOverviewRuler:j(new o(46,"hideCursorInOverviewRuler",!1,{description:b.localize(161,null)})),highlightActiveIndentGuide:j(new o(47,"highlightActiveIndentGuide",!0,{description:b.localize(162,null)})),hover:j(new A),inDiffEditor:j(new o(49,"inDiffEditor",!1)),letterSpacing:j(new a(50,"letterSpacing",e.EDITOR_FONT_DEFAULTS.letterSpacing,te=>a.clamp(te,-5,20),{description:b.localize(163,null)})),lightbulb:j(new F),lineDecorationsWidth:j(new p(52,"lineDecorationsWidth",10)),lineHeight:j(new R),lineNumbers:j(new ne),lineNumbersMinChars:j(new s(55,"lineNumbersMinChars",5,1,300)),linkedEditing:j(new o(56,"linkedEditing",!1,{description:b.localize(164,null)})),links:j(new o(57,"links",!0,{description:b.localize(165,null)})),matchBrackets:j(new i(58,"matchBrackets","always",["always","near","never"],{description:b.localize(166,null)})),minimap:j(new W),mouseStyle:j(new i(60,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:j(new a(61,"mouseWheelScrollSensitivity",1,te=>te===0?1:te,{markdownDescription:b.localize(167,null)})),mouseWheelZoom:j(new o(62,"mouseWheelZoom",!1,{markdownDescription:b.localize(168,null)})),multiCursorMergeOverlapping:j(new o(63,"multiCursorMergeOverlapping",!0,{description:b.localize(169,null)})),multiCursorModifier:j(new n(64,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],x,{markdownEnumDescriptions:[b.localize(170,null),b.localize(171,null)],markdownDescription:b.localize(172,null)})),multiCursorPaste:j(new i(65,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[b.localize(173,null),b.localize(174,null)],markdownDescription:b.localize(175,null)})),occurrencesHighlight:j(new o(66,"occurrencesHighlight",!0,{description:b.localize(176,null)})),overviewRulerBorder:j(new o(67,"overviewRulerBorder",!0,{description:b.localize(177,null)})),overviewRulerLanes:j(new s(68,"overviewRulerLanes",3,0,3)),padding:j(new K),parameterHints:j(new Y),peekWidgetDefaultFocus:j(new i(71,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[b.localize(178,null),b.localize(179,null)],description:b.localize(180,null)})),definitionLinkOpensInPeek:j(new o(72,"definitionLinkOpensInPeek",!1,{description:b.localize(181,null)})),quickSuggestions:j(new se),quickSuggestionsDelay:j(new s(74,"quickSuggestionsDelay",10,0,1073741824,{description:b.localize(182,null)})),readOnly:j(new o(75,"readOnly",!1)),renameOnType:j(new o(76,"renameOnType",!1,{description:b.localize(183,null),markdownDeprecationMessage:b.localize(184,null)})),renderControlCharacters:j(new o(77,"renderControlCharacters",!1,{description:b.localize(185,null)})),renderIndentGuides:j(new o(78,"renderIndentGuides",!0,{description:b.localize(186,null)})),renderFinalNewline:j(new o(79,"renderFinalNewline",!0,{description:b.localize(187,null)})),renderLineHighlight:j(new i(80,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",b.localize(188,null)],description:b.localize(189,null)})),renderLineHighlightOnlyWhenFocus:j(new o(81,"renderLineHighlightOnlyWhenFocus",!1,{description:b.localize(190,null)})),renderValidationDecorations:j(new i(82,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:j(new i(83,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",b.localize(191,null),b.localize(192,null),b.localize(193,null),""],description:b.localize(194,null)})),revealHorizontalRightPadding:j(new s(84,"revealHorizontalRightPadding",30,0,1e3)),roundedSelection:j(new o(85,"roundedSelection",!0,{description:b.localize(195,null)})),rulers:j(new X),scrollbar:j(new P),scrollBeyondLastColumn:j(new s(88,"scrollBeyondLastColumn",5,0,1073741824,{description:b.localize(196,null)})),scrollBeyondLastLine:j(new o(89,"scrollBeyondLastLine",!0,{description:b.localize(197,null)})),scrollPredominantAxis:j(new o(90,"scrollPredominantAxis",!0,{description:b.localize(198,null)})),selectionClipboard:j(new o(91,"selectionClipboard",!0,{description:b.localize(199,null),included:N.isLinux})),selectionHighlight:j(new o(92,"selectionHighlight",!0,{description:b.localize(200,null)})),selectOnLineNumbers:j(new o(93,"selectOnLineNumbers",!0)),showFoldingControls:j(new i(94,"showFoldingControls","mouseover",["always","mouseover"],{enumDescriptions:[b.localize(201,null),b.localize(202,null)],description:b.localize(203,null)})),showUnused:j(new o(95,"showUnused",!0,{description:b.localize(204,null)})),showDeprecated:j(new o(119,"showDeprecated",!0,{description:b.localize(205,null)})),inlineHints:j(new D),snippetSuggestions:j(new i(96,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[b.localize(206,null),b.localize(207,null),b.localize(208,null),b.localize(209,null)],description:b.localize(210,null)})),smartSelect:j(new U),smoothScrolling:j(new o(98,"smoothScrolling",!1,{description:b.localize(211,null)})),stopRenderingLineAfter:j(new s(100,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:j(new V),suggestFontSize:j(new s(102,"suggestFontSize",0,0,1e3,{markdownDescription:b.localize(212,null)})),suggestLineHeight:j(new s(103,"suggestLineHeight",0,0,1e3,{markdownDescription:b.localize(213,null)})),suggestOnTriggerCharacters:j(new o(104,"suggestOnTriggerCharacters",!0,{description:b.localize(214,null)})),suggestSelection:j(new i(105,"suggestSelection","recentlyUsed",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[b.localize(215,null),b.localize(216,null),b.localize(217,null)],description:b.localize(218,null)})),tabCompletion:j(new i(106,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[b.localize(219,null),b.localize(220,null),b.localize(221,null)],description:b.localize(222,null)})),tabIndex:j(new s(107,"tabIndex",0,-1,1073741824)),unusualLineTerminators:j(new i(108,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[b.localize(223,null),b.localize(224,null),b.localize(225,null)],description:b.localize(226,null)})),useTabStops:j(new o(109,"useTabStops",!0,{description:b.localize(227,null)})),wordSeparators:j(new u(110,"wordSeparators",M.USUAL_WORD_SEPARATORS,{description:b.localize(228,null)})),wordWrap:j(new i(111,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[b.localize(229,null),b.localize(230,null),b.localize(231,null),b.localize(232,null)],description:b.localize(233,null)})),wordWrapBreakAfterCharacters:j(new u(112,"wordWrapBreakAfterCharacters"," })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:j(new u(113,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:j(new s(114,"wordWrapColumn",80,1,1073741824,{markdownDescription:b.localize(234,null)})),wordWrapOverride1:j(new i(115,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:j(new i(116,"wordWrapOverride2","inherit",["off","on","inherit"])),wrappingIndent:j(new n(117,"wrappingIndent",1,"same",["none","same","indent","deepIndent"],$,{enumDescriptions:[b.localize(235,null),b.localize(236,null),b.localize(237,null),b.localize(238,null)],description:b.localize(239,null)})),wrappingStrategy:j(new i(118,"wrappingStrategy","simple",["simple","advanced"],{enumDescriptions:[b.localize(240,null),b.localize(241,null)],description:b.localize(242,null)})),editorClassName:j(new v),pixelRatio:j(new ee),tabFocusMode:j(new H),layoutInfo:j(new B),wrappingInfo:j(new ie)}}),define(Q[455],J([0,1,14,3,63,38]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewModelDecorations=void 0;class S{constructor(d,g,p,c,o){this.editorId=d,this.model=g,this.configuration=p,this._linesCollection=c,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(d){const g=d.id;let p=this._decorationsCache[g];if(!p){const c=d.range,o=d.options;let s;if(o.isWholeLine){const a=this._coordinatesConverter.convertModelPositionToViewPosition(new b.Position(c.startLineNumber,1)),u=this._coordinatesConverter.convertModelPositionToViewPosition(new b.Position(c.endLineNumber,this.model.getLineMaxColumn(c.endLineNumber)));s=new N.Range(a.lineNumber,a.column,u.lineNumber,u.column)}else s=this._coordinatesConverter.convertModelRangeToViewRange(c);p=new M.ViewModelDecoration(s,o),this._decorationsCache[g]=p}return p}getDecorationsViewportData(d){let g=this._cachedModelDecorationsResolver!==null;return g=g&&d.equalsRange(this._cachedModelDecorationsResolverViewRange),g||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(d),this._cachedModelDecorationsResolverViewRange=d),this._cachedModelDecorationsResolver}_getDecorationsViewportData(d){const g=this._linesCollection.getDecorationsInRange(d,this.editorId,w.filterValidationDecorations(this.configuration.options)),p=d.startLineNumber,c=d.endLineNumber;let o=[],s=0,a=[];for(let u=p;u<=c;u++)a[u-p]=[];for(let u=0,r=g.length;u0&&(this.changes=S.compressConsecutiveTextChanges(this.changes,n)),this.afterEOL=t,this.afterVersionId=l,this.afterCursorState=h}static _writeSelectionsSize(i){return 4+4*4*(i?i.length:0)}static _writeSelections(i,n,t){if(C.writeUInt32BE(i,n?n.length:0,t),t+=4,n)for(const l of n)C.writeUInt32BE(i,l.selectionStartLineNumber,t),t+=4,C.writeUInt32BE(i,l.selectionStartColumn,t),t+=4,C.writeUInt32BE(i,l.positionLineNumber,t),t+=4,C.writeUInt32BE(i,l.positionColumn,t),t+=4;return t}static _readSelections(i,n,t){const l=C.readUInt32BE(i,n);n+=4;for(let h=0;hn.toString()).join(", ")}matchesResource(i){return(w.URI.isUri(this.model)?this.model:this.model.uri).toString()===i.toString()}setModel(i){this.model=i}canAppend(i){return this.model===i&&this._data instanceof p}append(i,n,t,l,h){this._data instanceof p&&this._data.append(i,n,t,l,h)}close(){this._data instanceof p&&(this._data=this._data.serialize())}open(){this._data instanceof p||(this._data=p.deserialize(this._data))}undo(){if(w.URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof p&&(this._data=this._data.serialize());const i=p.deserialize(this._data);this.model._applyUndo(i.changes,i.beforeEOL,i.beforeVersionId,i.beforeCursorState)}redo(){if(w.URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof p&&(this._data=this._data.serialize());const i=p.deserialize(this._data);this.model._applyRedo(i.changes,i.afterEOL,i.afterVersionId,i.afterCursorState)}heapSize(){return this._data instanceof p&&(this._data=this._data.serialize()),this._data.byteLength+168}}e.SingleModelEditStackElement=c;class o{constructor(i,n){this.type=1,this.label=i,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const t of this._editStackElementsArr){const l=g(t.resource);this._editStackElementsMap.set(l,t)}this._delegate=null}get resources(){return this._editStackElementsArr.map(i=>i.resource)}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(i){const n=g(i);return this._editStackElementsMap.has(n)}setModel(i){const n=g(w.URI.isUri(i)?i:i.uri);this._editStackElementsMap.has(n)&&this._editStackElementsMap.get(n).setModel(i)}canAppend(i){if(!this._isOpen)return!1;const n=g(i.uri);return this._editStackElementsMap.has(n)?this._editStackElementsMap.get(n).canAppend(i):!1}append(i,n,t,l,h){const m=g(i.uri);this._editStackElementsMap.get(m).append(i,n,t,l,h)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const i of this._editStackElementsArr)i.undo()}redo(){for(const i of this._editStackElementsArr)i.redo()}heapSize(i){const n=g(i);return this._editStackElementsMap.has(n)?this._editStackElementsMap.get(n).heapSize():0}split(){return this._editStackElementsArr}toString(){let i=[];for(const n of this._editStackElementsArr)i.push(`${d.basename(n.resource)}: ${n}`);return`{${i.join(", ")}}`}}e.MultiModelEditStackElement=o;function s(r){return r.getEOL()===` +`?0:1}function a(r){return r?r instanceof c||r instanceof o:!1}e.isEditStackElement=a;class u{constructor(i,n){this._model=i,this._undoRedoService=n}pushStackElement(){const i=this._undoRedoService.getLastElement(this._model.uri);a(i)&&i.close()}popStackElement(){const i=this._undoRedoService.getLastElement(this._model.uri);a(i)&&i.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(i){const n=this._undoRedoService.getLastElement(this._model.uri);if(a(n)&&n.canAppend(this._model))return n;const t=new c(this._model,i);return this._undoRedoService.pushElement(t),t}pushEOL(i){const n=this._getOrCreateEditStackElement(null);this._model.setEOL(i),n.append(this._model,[],s(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(i,n,t){const l=this._getOrCreateEditStackElement(i),h=this._model.applyEdits(n,!0),m=u._computeCursorState(t,h),_=h.map((f,v)=>({index:v,textChange:f.textChange}));return _.sort((f,v)=>f.textChange.oldPosition===v.textChange.oldPosition?f.index-v.index:f.textChange.oldPosition-v.textChange.oldPosition),l.append(this._model,_.map(f=>f.textChange),s(this._model),this._model.getAlternativeVersionId(),m),m}static _computeCursorState(i,n){try{return i?i(n):null}catch(t){return N.onUnexpectedError(t),null}}}e.EditStack=u}),define(Q[458],J([4,5]),function(q,e){return q.create("vs/editor/common/modes/modesRegistry",e)}),define(Q[459],J([4,5]),function(q,e){return q.create("vs/editor/common/standaloneStrings",e)}),define(Q[64],J([0,1,459]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleServicesNLS=e.ToggleHighContrastNLS=e.StandaloneCodeEditorNLS=e.QuickOutlineNLS=e.QuickCommandNLS=e.QuickHelpNLS=e.GoToLineNLS=e.InspectTokensNLS=e.AccessibilityHelpNLS=void 0;var N;(function(o){o.noSelection=b.localize(0,null),o.singleSelectionRange=b.localize(1,null),o.singleSelection=b.localize(2,null),o.multiSelectionRange=b.localize(3,null),o.multiSelection=b.localize(4,null),o.emergencyConfOn=b.localize(5,null),o.openingDocs=b.localize(6,null),o.readonlyDiffEditor=b.localize(7,null),o.editableDiffEditor=b.localize(8,null),o.readonlyEditor=b.localize(9,null),o.editableEditor=b.localize(10,null),o.changeConfigToOnMac=b.localize(11,null),o.changeConfigToOnWinLinux=b.localize(12,null),o.auto_on=b.localize(13,null),o.auto_off=b.localize(14,null),o.tabFocusModeOnMsg=b.localize(15,null),o.tabFocusModeOnMsgNoKb=b.localize(16,null),o.tabFocusModeOffMsg=b.localize(17,null),o.tabFocusModeOffMsgNoKb=b.localize(18,null),o.openDocMac=b.localize(19,null),o.openDocWinLinux=b.localize(20,null),o.outroMsg=b.localize(21,null),o.showAccessibilityHelpAction=b.localize(22,null)})(N=e.AccessibilityHelpNLS||(e.AccessibilityHelpNLS={}));var M;(function(o){o.inspectTokensAction=b.localize(23,null)})(M=e.InspectTokensNLS||(e.InspectTokensNLS={}));var w;(function(o){o.gotoLineActionLabel=b.localize(24,null)})(w=e.GoToLineNLS||(e.GoToLineNLS={}));var S;(function(o){o.helpQuickAccessActionLabel=b.localize(25,null)})(S=e.QuickHelpNLS||(e.QuickHelpNLS={}));var C;(function(o){o.quickCommandActionLabel=b.localize(26,null),o.quickCommandHelp=b.localize(27,null)})(C=e.QuickCommandNLS||(e.QuickCommandNLS={}));var d;(function(o){o.quickOutlineActionLabel=b.localize(28,null),o.quickOutlineByCategoryActionLabel=b.localize(29,null)})(d=e.QuickOutlineNLS||(e.QuickOutlineNLS={}));var g;(function(o){o.editorViewAccessibleLabel=b.localize(30,null),o.accessibilityHelpMessage=b.localize(31,null)})(g=e.StandaloneCodeEditorNLS||(e.StandaloneCodeEditorNLS={}));var p;(function(o){o.toggleHighContrast=b.localize(32,null)})(p=e.ToggleHighContrastNLS||(e.ToggleHighContrastNLS={}));var c;(function(o){o.bulkEditServiceSummary=b.localize(33,null)})(c=e.SimpleServicesNLS||(e.SimpleServicesNLS={}))}),define(Q[460],J([4,5]),function(q,e){return q.create("vs/editor/common/view/editorColorRegistry",e)}),define(Q[461],J([4,5]),function(q,e){return q.create("vs/editor/contrib/anchorSelect/anchorSelect",e)}),define(Q[462],J([4,5]),function(q,e){return q.create("vs/editor/contrib/bracketMatching/bracketMatching",e)}),define(Q[463],J([4,5]),function(q,e){return q.create("vs/editor/contrib/caretOperations/caretOperations",e)}),define(Q[464],J([4,5]),function(q,e){return q.create("vs/editor/contrib/caretOperations/transpose",e)}),define(Q[465],J([4,5]),function(q,e){return q.create("vs/editor/contrib/clipboard/clipboard",e)}),define(Q[466],J([4,5]),function(q,e){return q.create("vs/editor/contrib/codeAction/codeActionCommands",e)}),define(Q[467],J([4,5]),function(q,e){return q.create("vs/editor/contrib/codeAction/lightBulbWidget",e)}),define(Q[468],J([4,5]),function(q,e){return q.create("vs/editor/contrib/codelens/codelensController",e)}),define(Q[469],J([4,5]),function(q,e){return q.create("vs/editor/contrib/comment/comment",e)}),define(Q[470],J([4,5]),function(q,e){return q.create("vs/editor/contrib/contextmenu/contextmenu",e)}),define(Q[471],J([4,5]),function(q,e){return q.create("vs/editor/contrib/cursorUndo/cursorUndo",e)}),define(Q[472],J([4,5]),function(q,e){return q.create("vs/editor/contrib/find/findController",e)}),define(Q[473],J([4,5]),function(q,e){return q.create("vs/editor/contrib/find/findWidget",e)}),define(Q[474],J([4,5]),function(q,e){return q.create("vs/editor/contrib/folding/folding",e)}),define(Q[475],J([4,5]),function(q,e){return q.create("vs/editor/contrib/folding/foldingDecorations",e)}),define(Q[476],J([4,5]),function(q,e){return q.create("vs/editor/contrib/fontZoom/fontZoom",e)}),define(Q[477],J([4,5]),function(q,e){return q.create("vs/editor/contrib/format/format",e)}),define(Q[478],J([4,5]),function(q,e){return q.create("vs/editor/contrib/format/formatActions",e)}),define(Q[479],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoError/gotoError",e)}),define(Q[480],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoError/gotoErrorWidget",e)}),define(Q[481],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/goToCommands",e)}),define(Q[482],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition",e)}),define(Q[483],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/peek/referencesController",e)}),define(Q[484],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/peek/referencesTree",e)}),define(Q[485],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/peek/referencesWidget",e)}),define(Q[486],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/referencesModel",e)}),define(Q[132],J([0,1,486,6,44,2,8,119,3,51,12]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReferencesModel=e.FileReferences=e.FilePreview=e.OneReference=void 0;class c{constructor(r,i,n,t,l){this.isProviderFirst=r,this.parent=i,this.uri=n,this._range=t,this._rangeCallback=l,this.id=C.defaultGenerator.nextId()}get range(){return this._range}set range(r){this._range=r,this._rangeCallback(this)}get ariaMessage(){var r;const i=(r=this.parent.getPreview(this))===null||r===void 0?void 0:r.preview(this.range);return i?b.localize(1,null,M.basename(this.uri),this.range.startLineNumber,this.range.startColumn,i.value):b.localize(0,null,M.basename(this.uri),this.range.startLineNumber,this.range.startColumn)}}e.OneReference=c;class o{constructor(r){this._modelReference=r}dispose(){this._modelReference.dispose()}preview(r,i=8){const n=this._modelReference.object.textEditorModel;if(!!n){const{startLineNumber:t,startColumn:l,endLineNumber:h,endColumn:m}=r,_=n.getWordUntilPosition({lineNumber:t,column:l-i}),f=new d.Range(t,_.startColumn,t,l),v=new d.Range(h,m,h,1073741824),y=n.getValueInRange(f).replace(/^\s+/,""),L=n.getValueInRange(r),I=n.getValueInRange(v).replace(/\s+$/,"");return{value:y+L+I,highlight:{start:y.length,end:y.length+L.length}}}}}e.FilePreview=o;class s{constructor(r,i){this.parent=r,this.uri=i,this.children=[],this._previews=new g.ResourceMap}dispose(){w.dispose(this._previews.values()),this._previews.clear()}getPreview(r){return this._previews.get(r.uri)}get ariaMessage(){const r=this.children.length;return r===1?b.localize(2,null,M.basename(this.uri),this.uri.fsPath):b.localize(3,null,r,M.basename(this.uri),this.uri.fsPath)}resolve(r){return Ie(this,void 0,void 0,function*(){if(this._previews.size!==0)return this;for(let i of this.children)if(!this._previews.has(i.uri))try{const n=yield r.createModelReference(i.uri);this._previews.set(i.uri,new o(n))}catch(n){p.onUnexpectedError(n)}return this})}}e.FileReferences=s;class a{constructor(r,i){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new N.Emitter,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=r,this._title=i;const[n]=r;r.sort(a._compareReferences);let t;for(let l of r)if((!t||!M.extUri.isEqual(t.uri,l.uri,!0))&&(t=new s(this,l.uri),this.groups.push(t)),t.children.length===0||a._compareReferences(l,t.children[t.children.length-1])!==0){const h=new c(n===l,t,l.uri,l.targetSelectionRange||l.range,m=>this._onDidChangeReferenceRange.fire(m));this.references.push(h),t.children.push(h)}}dispose(){w.dispose(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new a(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?b.localize(4,null):this.references.length===1?b.localize(5,null,this.references[0].uri.fsPath):this.groups.length===1?b.localize(6,null,this.references.length,this.groups[0].uri.fsPath):b.localize(7,null,this.references.length,this.groups.length)}nextOrPreviousReference(r,i){let{parent:n}=r,t=n.children.indexOf(r),l=n.children.length,h=n.parent.groups.length;return h===1||i&&t+10?(i?t=(t+1)%l:t=(t+l-1)%l,n.children[t]):(t=n.parent.groups.indexOf(n),i?(t=(t+1)%h,n.parent.groups[t].children[0]):(t=(t+h-1)%h,n.parent.groups[t].children[n.parent.groups[t].children.length-1]))}nearestReference(r,i){const n=this.references.map((t,l)=>({idx:l,prefixLen:S.commonPrefixLength(t.uri.toString(),r.toString()),offsetDist:Math.abs(t.range.startLineNumber-i.lineNumber)*100+Math.abs(t.range.startColumn-i.column)})).sort((t,l)=>t.prefixLen>l.prefixLen?-1:t.prefixLenl.offsetDist?1:0)[0];if(n)return this.references[n.idx]}referenceAt(r,i){for(const n of this.references)if(n.uri.toString()===r.toString()&&d.Range.containsPosition(n.range,i))return n}firstReference(){for(const r of this.references)if(r.isProviderFirst)return r;return this.references[0]}static _compareReferences(r,i){return M.extUri.compare(r.uri,i.uri)||d.Range.compareRangesUsingStarts(r.range,i.range)}}e.ReferencesModel=a}),define(Q[487],J([4,5]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/symbolNavigation",e)}),define(Q[488],J([4,5]),function(q,e){return q.create("vs/editor/contrib/hover/hover",e)}),define(Q[489],J([4,5]),function(q,e){return q.create("vs/editor/contrib/hover/markdownHoverParticipant",e)}),define(Q[490],J([4,5]),function(q,e){return q.create("vs/editor/contrib/hover/markerHoverParticipant",e)}),define(Q[491],J([4,5]),function(q,e){return q.create("vs/editor/contrib/inPlaceReplace/inPlaceReplace",e)}),define(Q[492],J([4,5]),function(q,e){return q.create("vs/editor/contrib/indentation/indentation",e)}),define(Q[493],J([4,5]),function(q,e){return q.create("vs/editor/contrib/linesOperations/linesOperations",e)}),define(Q[494],J([4,5]),function(q,e){return q.create("vs/editor/contrib/linkedEditing/linkedEditing",e)}),define(Q[495],J([4,5]),function(q,e){return q.create("vs/editor/contrib/links/links",e)}),define(Q[496],J([4,5]),function(q,e){return q.create("vs/editor/contrib/message/messageController",e)}),define(Q[497],J([4,5]),function(q,e){return q.create("vs/editor/contrib/multicursor/multicursor",e)}),define(Q[498],J([4,5]),function(q,e){return q.create("vs/editor/contrib/parameterHints/parameterHints",e)}),define(Q[499],J([4,5]),function(q,e){return q.create("vs/editor/contrib/parameterHints/parameterHintsWidget",e)}),define(Q[500],J([4,5]),function(q,e){return q.create("vs/editor/contrib/peekView/peekView",e)}),define(Q[501],J([4,5]),function(q,e){return q.create("vs/editor/contrib/quickAccess/gotoLineQuickAccess",e)}),define(Q[502],J([4,5]),function(q,e){return q.create("vs/editor/contrib/quickAccess/gotoSymbolQuickAccess",e)}),define(Q[503],J([4,5]),function(q,e){return q.create("vs/editor/contrib/rename/rename",e)}),define(Q[504],J([4,5]),function(q,e){return q.create("vs/editor/contrib/rename/renameInputField",e)}),define(Q[505],J([4,5]),function(q,e){return q.create("vs/editor/contrib/smartSelect/smartSelect",e)}),define(Q[506],J([4,5]),function(q,e){return q.create("vs/editor/contrib/snippet/snippetVariables",e)}),define(Q[507],J([4,5]),function(q,e){return q.create("vs/editor/contrib/suggest/suggestController",e)}),define(Q[508],J([4,5]),function(q,e){return q.create("vs/editor/contrib/suggest/suggestWidget",e)}),define(Q[509],J([4,5]),function(q,e){return q.create("vs/editor/contrib/suggest/suggestWidgetDetails",e)}),define(Q[510],J([4,5]),function(q,e){return q.create("vs/editor/contrib/suggest/suggestWidgetRenderer",e)}),define(Q[511],J([4,5]),function(q,e){return q.create("vs/editor/contrib/suggest/suggestWidgetStatus",e)}),define(Q[512],J([4,5]),function(q,e){return q.create("vs/editor/contrib/symbolIcons/symbolIcons",e)}),define(Q[513],J([4,5]),function(q,e){return q.create("vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode",e)}),define(Q[514],J([4,5]),function(q,e){return q.create("vs/editor/contrib/tokenization/tokenization",e)}),define(Q[515],J([4,5]),function(q,e){return q.create("vs/editor/contrib/unusualLineTerminators/unusualLineTerminators",e)}),define(Q[516],J([4,5]),function(q,e){return q.create("vs/editor/contrib/wordHighlighter/wordHighlighter",e)}),define(Q[517],J([4,5]),function(q,e){return q.create("vs/editor/contrib/wordOperations/wordOperations",e)}),define(Q[518],J([4,5]),function(q,e){return q.create("vs/platform/actions/browser/menuEntryActionViewItem",e)}),define(Q[519],J([4,5]),function(q,e){return q.create("vs/platform/configuration/common/configurationRegistry",e)}),define(Q[520],J([4,5]),function(q,e){return q.create("vs/platform/contextkey/browser/contextKeyService",e)}),define(Q[521],J([4,5]),function(q,e){return q.create("vs/platform/contextkey/common/contextkeys",e)}),define(Q[522],J([4,5]),function(q,e){return q.create("vs/platform/keybinding/common/abstractKeybindingService",e)}),define(Q[523],J([4,5]),function(q,e){return q.create("vs/platform/list/browser/listService",e)}),define(Q[524],J([4,5]),function(q,e){return q.create("vs/platform/markers/common/markers",e)}),define(Q[525],J([4,5]),function(q,e){return q.create("vs/platform/quickinput/browser/commandsQuickAccess",e)}),define(Q[526],J([4,5]),function(q,e){return q.create("vs/platform/quickinput/browser/helpQuickAccess",e)}),define(Q[527],J([4,5]),function(q,e){return q.create("vs/platform/theme/common/colorRegistry",e)}),define(Q[528],J([4,5]),function(q,e){return q.create("vs/platform/theme/common/iconRegistry",e)}),define(Q[529],J([4,5]),function(q,e){return q.create("vs/platform/undoRedo/common/undoRedoService",e)}),define(Q[530],J([0,1,7]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BrowserClipboardService=void 0;class N{constructor(){this.mapTextToType=new Map,this.findText=""}writeText(w,S){return Ie(this,void 0,void 0,function*(){if(S){this.mapTextToType.set(S,w);return}try{return yield navigator.clipboard.writeText(w)}catch(g){console.error(g)}const C=document.activeElement,d=document.body.appendChild(b.$("textarea",{"aria-hidden":!0}));d.style.height="1px",d.style.width="1px",d.style.position="absolute",d.value=w,d.focus(),d.select(),document.execCommand("copy"),C instanceof HTMLElement&&C.focus(),document.body.removeChild(d)})}readText(w){return Ie(this,void 0,void 0,function*(){if(w)return this.mapTextToType.get(w)||"";try{return yield navigator.clipboard.readText()}catch(S){return console.error(S),""}})}readFindText(){return Ie(this,void 0,void 0,function*(){return this.findText})}writeFindText(w){return Ie(this,void 0,void 0,function*(){this.findText=w})}}e.BrowserClipboardService=N}),define(Q[531],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorOpenContext=void 0;var b;(function(N){N[N.API=0]="API",N[N.USER=1]="USER"})(b=e.EditorOpenContext||(e.EditorOpenContext={}))}),define(Q[532],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtensionIdentifier=void 0;class b{constructor(M){this.value=M,this._lower=M.toLowerCase()}static toKey(M){return typeof M=="string"?M.toLowerCase():M._lower}}e.ExtensionIdentifier=b}),define(Q[237],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FileKind=void 0;var b;(function(N){N[N.FILE=0]="FILE",N[N.FOLDER=1]="FOLDER",N[N.ROOT_FOLDER=2]="ROOT_FOLDER"})(b=e.FileKind||(e.FileKind={}))}),define(Q[238],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SyncDescriptor=void 0;class b{constructor(M,w=[],S=!1){this.ctor=M,this.staticArguments=w,this.supportsDelayedInstantiation=S}}e.SyncDescriptor=b}),define(Q[74],J([0,1,238]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getSingletonServiceDescriptors=e.registerSingleton=void 0;const N=[];function M(S,C,d){C instanceof b.SyncDescriptor||(C=new b.SyncDescriptor(C,[],d)),N.push([S,C])}e.registerSingleton=M;function w(){return N}e.getSingletonServiceDescriptors=w}),define(Q[533],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Graph=e.Node=void 0;class b{constructor(w){this.incoming=new Map,this.outgoing=new Map,this.data=w}}e.Node=b;class N{constructor(w){this._hashFn=w,this._nodes=new Map}roots(){const w=[];for(let S of this._nodes.values())S.outgoing.size===0&&w.push(S);return w}insertEdge(w,S){const C=this.lookupOrInsertNode(w),d=this.lookupOrInsertNode(S);C.outgoing.set(this._hashFn(S),d),d.incoming.set(this._hashFn(w),C)}removeNode(w){const S=this._hashFn(w);this._nodes.delete(S);for(let C of this._nodes.values())C.outgoing.delete(S),C.incoming.delete(S)}lookupOrInsertNode(w){const S=this._hashFn(w);let C=this._nodes.get(S);return C||(C=new b(w),this._nodes.set(S,C)),C}isEmpty(){return this._nodes.size===0}toString(){let w=[];for(let[S,C]of this._nodes)w.push(`${S}, (incoming)[${[...C.incoming.keys()].join(", ")}], (outgoing)[${[...C.outgoing.keys()].join(",")}]`);return w.join(` +`)}}e.Graph=N}),define(Q[9],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.optional=e.createDecorator=e.IInstantiationService=e._util=void 0;var b;(function(S){S.serviceIds=new Map,S.DI_TARGET="$di$target",S.DI_DEPENDENCIES="$di$dependencies";function C(d){return d[S.DI_DEPENDENCIES]||[]}S.getServiceDependencies=C})(b=e._util||(e._util={})),e.IInstantiationService=M("instantiationService");function N(S,C,d,g){C[b.DI_TARGET]===C?C[b.DI_DEPENDENCIES].push({id:S,index:d,optional:g}):(C[b.DI_DEPENDENCIES]=[{id:S,index:d,optional:g}],C[b.DI_TARGET]=C)}function M(S){if(b.serviceIds.has(S))return b.serviceIds.get(S);const C=function(d,g,p){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");N(C,d,p,!1)};return C.toString=()=>S,b.serviceIds.set(S,C),C}e.createDecorator=M;function w(S){return function(C,d,g){if(arguments.length!==3)throw new Error("@optional-decorator can only be used to decorate a parameter");N(S,C,g,!0)}}e.optional=w}),define(Q[133],J([0,1,9,24,20]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResourceFileEdit=e.ResourceTextEdit=e.ResourceEdit=e.IBulkEditService=void 0,e.IBulkEditService=b.createDecorator("IWorkspaceEditService");function w(p){return M.isObject(p)&&(Boolean(p.newUri)||Boolean(p.oldUri))}function S(p){return M.isObject(p)&&N.URI.isUri(p.resource)&&M.isObject(p.edit)}class C{constructor(c){this.metadata=c}static convert(c){return c.edits.map(o=>{if(S(o))return new d(o.resource,o.edit,o.modelVersionId,o.metadata);if(w(o))return new g(o.oldUri,o.newUri,o.options,o.metadata);throw new Error("Unsupported edit")})}}e.ResourceEdit=C;class d extends C{constructor(c,o,s,a){super(a);this.resource=c,this.textEdit=o,this.versionId=s,this.metadata=a}}e.ResourceTextEdit=d;class g extends C{constructor(c,o,s,a){super(a);this.oldResource=c,this.newResource=o,this.options=s,this.metadata=a}}e.ResourceFileEdit=g}),define(Q[28],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ICodeEditorService=void 0,e.ICodeEditorService=b.createDecorator("codeEditorService")}),define(Q[75],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IEditorWorkerService=e.ID_EDITOR_WORKER_SERVICE=void 0,e.ID_EDITOR_WORKER_SERVICE="editorWorkerService",e.IEditorWorkerService=b.createDecorator(e.ID_EDITOR_WORKER_SERVICE)}),define(Q[178],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerDecorationsService=void 0,e.IMarkerDecorationsService=b.createDecorator("markerDecorationsService")}),define(Q[57],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IModeService=void 0,e.IModeService=b.createDecorator("modeService")}),define(Q[36],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.shouldSynchronizeModel=e.IModelService=void 0,e.IModelService=b.createDecorator("modelService");function N(M){return!M.isTooLargeForSyncing()&&!M.isForSimpleWidget}e.shouldSynchronizeModel=N}),define(Q[134],J([0,1,6,89,2,51,100,374,36]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageFeatureRequestDelays=e.LanguageFeatureRegistry=void 0;function g(o){return typeof o=="string"?!1:Array.isArray(o)?o.every(g):!!o.exclusive}class p{constructor(){this._clock=0,this._entries=[],this._onDidChange=new b.Emitter}get onDidChange(){return this._onDidChange.event}register(s,a){let u={selector:s,provider:a,_score:-1,_time:this._clock++};return this._entries.push(u),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),M.toDisposable(()=>{if(u){let r=this._entries.indexOf(u);r>=0&&(this._entries.splice(r,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),u=void 0)}})}has(s){return this.all(s).length>0}all(s){if(!s)return[];this._updateScores(s);const a=[];for(let u of this._entries)u._score>0&&a.push(u.provider);return a}ordered(s){const a=[];return this._orderedForEach(s,u=>a.push(u.provider)),a}orderedGroups(s){const a=[];let u,r;return this._orderedForEach(s,i=>{u&&r===i._score?u.push(i.provider):(r=i._score,u=[i.provider],a.push(u))}),a}_orderedForEach(s,a){if(!!s){this._updateScores(s);for(const u of this._entries)u._score>0&&a(u)}}_updateScores(s){let a={uri:s.uri.toString(),language:s.getLanguageIdentifier().language};if(!(this._lastCandidate&&this._lastCandidate.language===a.language&&this._lastCandidate.uri===a.uri)){this._lastCandidate=a;for(let u of this._entries)if(u._score=C.score(u.selector,s.uri,s.getLanguageIdentifier().language,d.shouldSynchronizeModel(s)),g(u.selector)&&u._score>0){for(let r of this._entries)r._score=0;u._score=1e3;break}this._entries.sort(p._compareByScoreAndTime)}}static _compareByScoreAndTime(s,a){return s._scorea._score?-1:s._timea._time?-1:0}}e.LanguageFeatureRegistry=p;class c{constructor(s,a,u=Number.MAX_SAFE_INTEGER){this._registry=s,this.min=a,this.max=u,this._cache=new w.LRUCache(50,.7)}_key(s){return s.id+N.hash(this._registry.all(s))}_clamp(s){return s===void 0?this.min:Math.min(this.max,Math.max(this.min,Math.floor(s*1.3)))}get(s){const a=this._key(s),u=this._cache.get(a);return this._clamp(u==null?void 0:u.value)}update(s,a){const u=this._key(s);let r=this._cache.get(u);return r||(r=new S.MovingAverage,this._cache.set(u,r)),r.update(a),this.get(s)}}e.LanguageFeatureRequestDelays=c}),define(Q[18],J([0,1,24,3,134,382,27]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenizationRegistry=e.DocumentRangeSemanticTokensProviderRegistry=e.DocumentSemanticTokensProviderRegistry=e.FoldingRangeProviderRegistry=e.SelectionRangeRegistry=e.ColorProviderRegistry=e.LinkProviderRegistry=e.OnTypeFormattingEditProviderRegistry=e.DocumentRangeFormattingEditProviderRegistry=e.DocumentFormattingEditProviderRegistry=e.CodeActionProviderRegistry=e.InlineHintsProviderRegistry=e.CodeLensProviderRegistry=e.TypeDefinitionProviderRegistry=e.ImplementationProviderRegistry=e.DeclarationProviderRegistry=e.DefinitionProviderRegistry=e.LinkedEditingRangeProviderRegistry=e.DocumentHighlightProviderRegistry=e.DocumentSymbolProviderRegistry=e.HoverProviderRegistry=e.SignatureHelpProviderRegistry=e.CompletionProviderRegistry=e.RenameProviderRegistry=e.ReferenceProviderRegistry=e.InlineHintKind=e.FoldingRangeKind=e.SymbolKinds=e.isLocationLink=e.DocumentHighlightKind=e.SignatureHelpTriggerKind=e.completionKindFromString=e.completionKindToCssClass=e.TokenMetadata=e.LanguageIdentifier=void 0;class C{constructor(r,i){this.language=r,this.id=i}}e.LanguageIdentifier=C;class d{static getLanguageId(r){return(r&255)>>>0}static getTokenType(r){return(r&1792)>>>8}static getFontStyle(r){return(r&14336)>>>11}static getForeground(r){return(r&8372224)>>>14}static getBackground(r){return(r&4286578688)>>>23}static getClassNameFromMetadata(r){let i=this.getForeground(r),n="mtk"+i,t=this.getFontStyle(r);return t&1&&(n+=" mtki"),t&2&&(n+=" mtkb"),t&4&&(n+=" mtku"),n}static getInlineStyleFromMetadata(r,i){const n=this.getForeground(r),t=this.getFontStyle(r);let l=`color: ${i[n]};`;return t&1&&(l+="font-style: italic;"),t&2&&(l+="font-weight: bold;"),t&4&&(l+="text-decoration: underline;"),l}}e.TokenMetadata=d,e.completionKindToCssClass=function(){let u=Object.create(null);return u[0]="symbol-method",u[1]="symbol-function",u[2]="symbol-constructor",u[3]="symbol-field",u[4]="symbol-variable",u[5]="symbol-class",u[6]="symbol-struct",u[7]="symbol-interface",u[8]="symbol-module",u[9]="symbol-property",u[10]="symbol-event",u[11]="symbol-operator",u[12]="symbol-unit",u[13]="symbol-value",u[14]="symbol-constant",u[15]="symbol-enum",u[16]="symbol-enum-member",u[17]="symbol-keyword",u[27]="symbol-snippet",u[18]="symbol-text",u[19]="symbol-color",u[20]="symbol-file",u[21]="symbol-reference",u[22]="symbol-customcolor",u[23]="symbol-folder",u[24]="symbol-type-parameter",u[25]="account",u[26]="issues",function(r){const i=u[r];let n=i&&S.iconRegistry.get(i);return n||(console.info("No codicon found for CompletionItemKind "+r),n=S.Codicon.symbolProperty),n.classNames}}(),e.completionKindFromString=function(){let u=Object.create(null);return u.method=0,u.function=1,u.constructor=2,u.field=3,u.variable=4,u.class=5,u.struct=6,u.interface=7,u.module=8,u.property=9,u.event=10,u.operator=11,u.unit=12,u.value=13,u.constant=14,u.enum=15,u["enum-member"]=16,u.enumMember=16,u.keyword=17,u.snippet=27,u.text=18,u.color=19,u.file=20,u.reference=21,u.customcolor=22,u.folder=23,u["type-parameter"]=24,u.typeParameter=24,u.account=25,u.issue=26,function(r,i){let n=u[r];return typeof n=="undefined"&&!i&&(n=9),n}}();var g;(function(u){u[u.Invoke=1]="Invoke",u[u.TriggerCharacter=2]="TriggerCharacter",u[u.ContentChange=3]="ContentChange"})(g=e.SignatureHelpTriggerKind||(e.SignatureHelpTriggerKind={}));var p;(function(u){u[u.Text=0]="Text",u[u.Read=1]="Read",u[u.Write=2]="Write"})(p=e.DocumentHighlightKind||(e.DocumentHighlightKind={}));function c(u){return u&&b.URI.isUri(u.uri)&&N.Range.isIRange(u.range)&&(N.Range.isIRange(u.originSelectionRange)||N.Range.isIRange(u.targetSelectionRange))}e.isLocationLink=c;var o;(function(u){const r=new Map;r.set("file",0),r.set("module",1),r.set("namespace",2),r.set("package",3),r.set("class",4),r.set("method",5),r.set("property",6),r.set("field",7),r.set("constructor",8),r.set("enum",9),r.set("interface",10),r.set("function",11),r.set("variable",12),r.set("constant",13),r.set("string",14),r.set("number",15),r.set("boolean",16),r.set("array",17),r.set("object",18),r.set("key",19),r.set("null",20),r.set("enum-member",21),r.set("struct",22),r.set("event",23),r.set("operator",24),r.set("type-parameter",25);const i=new Map;i.set(0,"file"),i.set(1,"module"),i.set(2,"namespace"),i.set(3,"package"),i.set(4,"class"),i.set(5,"method"),i.set(6,"property"),i.set(7,"field"),i.set(8,"constructor"),i.set(9,"enum"),i.set(10,"interface"),i.set(11,"function"),i.set(12,"variable"),i.set(13,"constant"),i.set(14,"string"),i.set(15,"number"),i.set(16,"boolean"),i.set(17,"array"),i.set(18,"object"),i.set(19,"key"),i.set(20,"null"),i.set(21,"enum-member"),i.set(22,"struct"),i.set(23,"event"),i.set(24,"operator"),i.set(25,"type-parameter");function n(h){return r.get(h)}u.fromString=n;function t(h){return i.get(h)}u.toString=t;function l(h,m){const _=i.get(h);let f=_&&S.iconRegistry.get("symbol-"+_);return f||(console.info("No codicon found for SymbolKind "+h),f=S.Codicon.symbolProperty),`${m?"inline":"block"} ${f.classNames}`}u.toCssClassName=l})(o=e.SymbolKinds||(e.SymbolKinds={}));class s{constructor(r){this.value=r}}e.FoldingRangeKind=s,s.Comment=new s("comment"),s.Imports=new s("imports"),s.Region=new s("region");var a;(function(u){u[u.Other=0]="Other",u[u.Type=1]="Type",u[u.Parameter=2]="Parameter"})(a=e.InlineHintKind||(e.InlineHintKind={})),e.ReferenceProviderRegistry=new M.LanguageFeatureRegistry,e.RenameProviderRegistry=new M.LanguageFeatureRegistry,e.CompletionProviderRegistry=new M.LanguageFeatureRegistry,e.SignatureHelpProviderRegistry=new M.LanguageFeatureRegistry,e.HoverProviderRegistry=new M.LanguageFeatureRegistry,e.DocumentSymbolProviderRegistry=new M.LanguageFeatureRegistry,e.DocumentHighlightProviderRegistry=new M.LanguageFeatureRegistry,e.LinkedEditingRangeProviderRegistry=new M.LanguageFeatureRegistry,e.DefinitionProviderRegistry=new M.LanguageFeatureRegistry,e.DeclarationProviderRegistry=new M.LanguageFeatureRegistry,e.ImplementationProviderRegistry=new M.LanguageFeatureRegistry,e.TypeDefinitionProviderRegistry=new M.LanguageFeatureRegistry,e.CodeLensProviderRegistry=new M.LanguageFeatureRegistry,e.InlineHintsProviderRegistry=new M.LanguageFeatureRegistry,e.CodeActionProviderRegistry=new M.LanguageFeatureRegistry,e.DocumentFormattingEditProviderRegistry=new M.LanguageFeatureRegistry,e.DocumentRangeFormattingEditProviderRegistry=new M.LanguageFeatureRegistry,e.OnTypeFormattingEditProviderRegistry=new M.LanguageFeatureRegistry,e.LinkProviderRegistry=new M.LanguageFeatureRegistry,e.ColorProviderRegistry=new M.LanguageFeatureRegistry,e.SelectionRangeRegistry=new M.LanguageFeatureRegistry,e.FoldingRangeProviderRegistry=new M.LanguageFeatureRegistry,e.DocumentSemanticTokensProviderRegistry=new M.LanguageFeatureRegistry,e.DocumentRangeSemanticTokensProviderRegistry=new M.LanguageFeatureRegistry,e.TokenizationRegistry=new w.TokenizationRegistryImpl}),define(Q[113],J([0,1,18]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SlicedLineTokens=e.LineTokens=void 0;class N{constructor(S,C){this._tokens=S,this._tokensCount=this._tokens.length>>>1,this._text=C}equals(S){return S instanceof N?this.slicedEquals(S,0,this._tokensCount):!1}slicedEquals(S,C,d){if(this._text!==S._text||this._tokensCount!==S._tokensCount)return!1;const g=C<<1,p=g+(d<<1);for(let c=g;c0?this._tokens[S-1<<1]:0}getMetadata(S){return this._tokens[(S<<1)+1]}getLanguageId(S){const C=this._tokens[(S<<1)+1];return b.TokenMetadata.getLanguageId(C)}getStandardTokenType(S){const C=this._tokens[(S<<1)+1];return b.TokenMetadata.getTokenType(C)}getForeground(S){const C=this._tokens[(S<<1)+1];return b.TokenMetadata.getForeground(C)}getClassName(S){const C=this._tokens[(S<<1)+1];return b.TokenMetadata.getClassNameFromMetadata(C)}getInlineStyle(S,C){const d=this._tokens[(S<<1)+1];return b.TokenMetadata.getInlineStyleFromMetadata(d,C)}getEndOffset(S){return this._tokens[S<<1]}findTokenIndexAtOffset(S){return N.findIndexInTokensArray(this._tokens,S)}inflate(){return this}sliceAndInflate(S,C,d){return new M(this,S,C,d)}static convertToEndOffset(S,C){const g=(S.length>>>1)-1;for(let p=0;p>>1)-1;for(;dC&&(g=p)}return d}}e.LineTokens=N;class M{constructor(S,C,d,g){this._source=S,this._startOffset=C,this._endOffset=d,this._deltaOffset=g,this._firstTokenIndex=S.findTokenIndexAtOffset(C),this._tokensCount=0;for(let p=this._firstTokenIndex,c=S.getCount();p=d);p++)this._tokensCount++}equals(S){return S instanceof M?this._startOffset===S._startOffset&&this._endOffset===S._endOffset&&this._deltaOffset===S._deltaOffset&&this._source.slicedEquals(S._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(S){return this._source.getForeground(this._firstTokenIndex+S)}getEndOffset(S){const C=this._source.getEndOffset(this._firstTokenIndex+S);return Math.min(this._endOffset,C)-this._startOffset+this._deltaOffset}getClassName(S){return this._source.getClassName(this._firstTokenIndex+S)}getInlineStyle(S,C){return this._source.getInlineStyle(this._firstTokenIndex+S,C)}findTokenIndexAtOffset(S){return this._source.findTokenIndexAtOffset(S+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}e.SlicedLineTokens=M}),define(Q[135],J([0,1,19,113,14,3,18]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokensStore=e.TokensStore2=e.MultilineTokens=e.MultilineTokens2=e.LineTokens2=e.SparseEncodedTokens=e.MultilineTokensBuilder=e.countEOL=void 0;function C(n){let t=0,l=0,h=0,m=0;for(let _=0,f=n.length;_>>0}const g=new Uint32Array(0).buffer;class p{constructor(){this.tokens=[]}add(t,l){if(this.tokens.length>0){const h=this.tokens[this.tokens.length-1];if(h.startLineNumber+h.tokens.length-1+1===t){h.tokens.push(l);return}}this.tokens.push(new a(t,[l]))}}e.MultilineTokensBuilder=p;class c{constructor(t){this._tokens=t,this._tokenCount=t.length/4}toString(t){let l=[];for(let h=0;ht)h=m-1;else{let f=m;for(;f>l&&this._getDeltaLine(f-1)===t;)f--;let v=m;for(;vt||E===t&&O>=l)&&(Et||O===t&&B>=l){if(O_?A-=_-h:A=h;else if(T===l&&O===h)if(T===m&&A>_)A-=_-h;else{I=!0;continue}else if(T_)T===l?(O=h,A=O+(A-_)):(O=0,A=O+(A-_));else{I=!0;continue}else if(T>m){if(y===0&&!I){L=v;break}T-=y}else if(T===m&&O>=_)t&&T===0&&(O+=t,A+=t),T-=y,O-=_-h,A-=_-h;else throw new Error("Not possible!");const F=4*L;f[F]=T,f[F+1]=O,f[F+2]=A,f[F+3]=B,L++}this._tokenCount=L}acceptInsertText(t,l,h,m,_,f){const v=h===0&&m===1&&(f>=48&&f<=57||f>=65&&f<=90||f>=97&&f<=122),y=this._tokens,L=this._tokenCount;for(let I=0;I0?l.charCodeAt(0):0)}acceptEdit(t,l,h,m,_){this._acceptDeleteRange(t),this._acceptInsertText(new M.Position(t.startLineNumber,t.startColumn),l,h,m,_),this._updateEndLineNumber()}_acceptDeleteRange(t){if(!(t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn)){const l=t.startLineNumber-this.startLineNumber,h=t.endLineNumber-this.startLineNumber;if(h<0){const _=h-l;this.startLineNumber-=_;return}const m=this.tokens.getMaxDeltaLine();if(!(l>=m+1)){if(l<0&&h>=m+1){this.startLineNumber=0,this.tokens.clear();return}if(l<0){const _=-l;this.startLineNumber-=_,this.tokens.acceptDeleteRange(t.startColumn-1,0,0,h,t.endColumn-1)}else this.tokens.acceptDeleteRange(0,l,t.startColumn-1,h,t.endColumn-1)}}}_acceptInsertText(t,l,h,m,_){if(!(l===0&&h===0)){const f=t.lineNumber-this.startLineNumber;if(f<0){this.startLineNumber+=l;return}const v=this.tokens.getMaxDeltaLine();f>=v+1||this.tokens.acceptInsertText(f,t.column-1,l,h,m,_)}}}e.MultilineTokens2=s;class a{constructor(t,l){this.startLineNumber=t,this.tokens=l}}e.MultilineTokens=a;function u(n){return n instanceof Uint32Array?n:new Uint32Array(n)}class r{constructor(){this._pieces=[],this._isComplete=!1}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(t,l){this._pieces=t||[],this._isComplete=l}setPartial(t,l){let h=t;if(l.length>0){const _=l[0].getRange(),f=l[l.length-1].getRange();if(!_||!f)return t;h=t.plusRange(_).plusRange(f)}let m=null;for(let _=0,f=this._pieces.length;_h.endLineNumber){m=m||{index:_};break}if(v.removeTokens(h),v.isEmpty()){this._pieces.splice(_,1),_--,f--;continue}if(!(v.endLineNumberh.endLineNumber){m=m||{index:_};continue}const[y,L]=v.split(h);if(y.isEmpty()){m=m||{index:_};continue}L.isEmpty()||(this._pieces.splice(_,1,y,L),_++,f++,m=m||{index:_})}}}return m=m||{index:this._pieces.length},l.length>0&&(this._pieces=b.arrayInsert(this._pieces,m.index,l)),h}isComplete(){return this._isComplete}addSemanticTokens(t,l){const h=this._pieces;if(h.length===0)return l;const m=r._findFirstPieceWithLine(h,t),_=h[m].getLineTokens(t);if(!_)return l;const f=l.getCount(),v=_.getCount();let y=0,L=[],I=0,k=0;const E=(T,O)=>{T!==k&&(k=T,L[I++]=T,L[I++]=O)};for(let T=0;T>>0,D=~F>>>0;for(;yl)m=_-1;else{for(;_>h&&t[_-1].startLineNumber<=l&&l<=t[_-1].endLineNumber;)_--;return _}}return h}acceptEdit(t,l,h,m,_){for(const f of this._pieces)f.acceptEdit(t,l,h,m,_)}}e.TokensStore2=r;class i{constructor(){this._lineTokens=[],this._len=0}flush(){this._lineTokens=[],this._len=0}getTokens(t,l,h){let m=null;if(l1&&(_=S.TokenMetadata.getLanguageId(m[1])!==t),!_)return g}if(!m||m.length===0){const _=new Uint32Array(2);return _[0]=l,_[1]=d(t),_.buffer}return m[m.length-2]=l,m.byteOffset===0&&m.byteLength===m.buffer.byteLength?m.buffer:m}_ensureLine(t){for(;t>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(t,l){l!==0&&(t+l>this._len&&(l=this._len-t),this._lineTokens.splice(t,l),this._len-=l)}_insertLines(t,l){if(l!==0){let h=[];for(let m=0;m=this._len)){if(t.startLineNumber===t.endLineNumber){if(t.startColumn===t.endColumn)return;this._lineTokens[l]=i._delete(this._lineTokens[l],t.startColumn-1,t.endColumn-1);return}this._lineTokens[l]=i._deleteEnding(this._lineTokens[l],t.startColumn-1);const h=t.endLineNumber-1;let m=null;h=this._len)){if(l===0){this._lineTokens[m]=i._insert(this._lineTokens[m],t.column-1,h);return}this._lineTokens[m]=i._deleteEnding(this._lineTokens[m],t.column-1),this._lineTokens[m]=i._insert(this._lineTokens[m],t.column-1,h),this._insertLines(t.lineNumber,l)}}}static _deleteBeginning(t,l){return t===null||t===g?t:i._delete(t,0,l)}static _deleteEnding(t,l){if(t===null||t===g)return t;const h=u(t),m=h[h.length-2];return i._delete(t,l,m)}static _delete(t,l,h){if(t===null||t===g||l===h)return t;const m=u(t),_=m.length>>>1;if(l===0&&m[m.length-2]===h)return g;const f=N.LineTokens.findIndexInTokensArray(m,l),v=f>0?m[f-1<<1]:0,y=m[f<<1];if(hI&&(m[L++]=O,m[L++]=m[(T<<1)+1],I=O)}if(L===m.length)return t;let E=new Uint32Array(L);return E.set(m.subarray(0,L),0),E.buffer}static _append(t,l){if(l===g)return t;if(t===g)return l;if(t===null)return t;if(l===null)return null;const h=u(t),m=u(l),_=m.length>>>1;let f=new Uint32Array(h.length+m.length);f.set(h,0);let v=h.length;const y=h[h.length-2];for(let L=0;L<_;L++)f[v++]=m[L<<1]+y,f[v++]=m[(L<<1)+1];return f.buffer}static _insert(t,l,h){if(t===null||t===g)return t;const m=u(t),_=m.length>>>1;let f=N.LineTokens.findIndexInTokensArray(m,l);f>0&&m[f-1<<1]===l&&f--;for(let v=f;v<_;v++)m[v<<1]+=h;return t}}e.TokensStore=i}),define(Q[239],J([0,1,6,8,3,53,219,135,218,2]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeTextBuffer=void 0;class p extends g.Disposable{constructor(o,s,a,u,r,i,n){super();this._onDidChangeContent=this._register(new b.Emitter),this._BOM=s,this._mightContainNonBasicASCII=!i,this._mightContainRTL=u,this._mightContainUnusualLineTerminators=r,this._pieceTree=new S.PieceTreeBase(o,a,n)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(o){return this._pieceTree.createSnapshot(o?this._BOM:"")}getOffsetAt(o,s){return this._pieceTree.getOffsetAt(o,s)}getPositionAt(o){return this._pieceTree.getPositionAt(o)}getRangeAt(o,s){let a=o+s;const u=this.getPositionAt(o),r=this.getPositionAt(a);return new M.Range(u.lineNumber,u.column,r.lineNumber,r.column)}getValueInRange(o,s=0){if(o.isEmpty())return"";const a=this._getEndOfLine(s);return this._pieceTree.getValueInRange(o,a)}getValueLengthInRange(o,s=0){if(o.isEmpty())return 0;if(o.startLineNumber===o.endLineNumber)return o.endColumn-o.startColumn;let a=this.getOffsetAt(o.startLineNumber,o.startColumn);return this.getOffsetAt(o.endLineNumber,o.endColumn)-a}getCharacterCountInRange(o,s=0){if(this._mightContainNonBasicASCII){let a=0;const u=o.startLineNumber,r=o.endLineNumber;for(let i=u;i<=r;i++){const n=this.getLineContent(i),t=i===u?o.startColumn-1:0,l=i===r?o.endColumn-1:n.length;for(let h=t;hL.sortIndex-I.sortIndex)}this._mightContainRTL=u,this._mightContainUnusualLineTerminators=r,this._mightContainNonBasicASCII=i;const f=this._doApplyEdits(t);let v=null;if(s&&m.length>0){m.sort((y,L)=>L.lineNumber-y.lineNumber),v=[];for(let y=0,L=m.length;y0&&m[y-1].lineNumber===I)){let k=m[y].oldContent,E=this.getLineContent(I);E.length===0||E===k||N.firstNonWhitespaceIndex(E)!==-1||v.push(I)}}}return this._onDidChangeContent.fire(),new w.ApplyEditsResult(_,f,v)}_reduceOperations(o){return o.length<1e3?o:[this._toSingleEditOperation(o)]}_toSingleEditOperation(o){let s=!1;const a=o[0].range,u=o[o.length-1].range,r=new M.Range(a.startLineNumber,a.startColumn,u.endLineNumber,u.endColumn);let i=a.startLineNumber,n=a.startColumn;const t=[];for(let f=0,v=o.length;f0&&t.push(y.text),i=L.endLineNumber,n=L.endColumn}const l=t.join(""),[h,m,_]=C.countEOL(l);return{sortIndex:0,identifier:o[0].identifier,range:r,rangeOffset:this.getOffsetAt(r.startLineNumber,r.startColumn),rangeLength:this.getValueLengthInRange(r,0),text:l,eolCount:h,firstLineLength:m,lastLineLength:_,forceMoveMarkers:s,isAutoWhitespaceEdit:!1}}_doApplyEdits(o){o.sort(p._sortOpsDescending);let s=[];for(let a=0;a0){const _=t.eolCount+1;_===1?m=new M.Range(l,h,l,h+t.firstLineLength):m=new M.Range(l,h,l+_-1,t.lastLineLength+1)}else m=new M.Range(l,h,l,h);a=m.endLineNumber,u=m.endColumn,s.push(m),r=t}return s}static _sortOpsAscending(o,s){let a=M.Range.compareRangesUsingEnds(o.range,s.range);return a===0?o.sortIndex-s.sortIndex:a}static _sortOpsDescending(o,s){let a=M.Range.compareRangesUsingEnds(o.range,s.range);return a===0?s.sortIndex-o.sortIndex:-a}}e.PieceTreeTextBuffer=p}),define(Q[534],J([0,1,8,219,239]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeTextBufferBuilder=e.PieceTreeTextBufferFactory=void 0;class w{constructor(d,g,p,c,o,s,a,u,r){this._chunks=d,this._bom=g,this._cr=p,this._lf=c,this._crlf=o,this._containsRTL=s,this._containsUnusualLineTerminators=a,this._isBasicASCII=u,this._normalizeEOL=r}_getEOL(d){const g=this._cr+this._lf+this._crlf,p=this._cr+this._crlf;return g===0?d===1?` +`:`\r +`:p>g/2?`\r +`:` +`}create(d){const g=this._getEOL(d);let p=this._chunks;if(this._normalizeEOL&&(g===`\r +`&&(this._cr>0||this._lf>0)||g===` +`&&(this._cr>0||this._crlf>0)))for(let o=0,s=p.length;o=55296&&g<=56319?(this._acceptChunk1(d.substr(0,d.length-1),!1),this._hasPreviousChar=!0,this._previousChar=g):(this._acceptChunk1(d,!1),this._hasPreviousChar=!1,this._previousChar=g)}}_acceptChunk1(d,g){!g&&d.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+d):this._acceptChunk2(d))}_acceptChunk2(d){const g=N.createLineStarts(this._tmpLineStarts,d);this.chunks.push(new N.StringBuffer(d,g.lineStarts)),this.cr+=g.cr,this.lf+=g.lf,this.crlf+=g.crlf,this.isBasicASCII&&(this.isBasicASCII=g.isBasicASCII),!this.isBasicASCII&&!this.containsRTL&&(this.containsRTL=b.containsRTL(d)),!this.isBasicASCII&&!this.containsUnusualLineTerminators&&(this.containsUnusualLineTerminators=b.containsUnusualLineTerminators(d))}finish(d=!0){return this._finish(),new w(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,d)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;let d=this.chunks[this.chunks.length-1];d.buffer+=String.fromCharCode(this._previousChar);let g=N.createLineStartsFast(d.buffer);d.lineStarts=g,this._previousChar===13&&this.cr++}}}e.PieceTreeTextBufferBuilder=S}),define(Q[76],J([0,1,127,18]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.nullTokenize2=e.nullTokenize=e.NULL_LANGUAGE_IDENTIFIER=e.NULL_MODE_ID=e.NULL_STATE=void 0;class M{clone(){return this}equals(d){return this===d}}e.NULL_STATE=new M,e.NULL_MODE_ID="vs.editor.nullMode",e.NULL_LANGUAGE_IDENTIFIER=new N.LanguageIdentifier(e.NULL_MODE_ID,0);function w(C,d,g,p){return new b.TokenizationResult([new b.Token(p,"",C)],g)}e.nullTokenize=w;function S(C,d,g,p){let c=new Uint32Array(2);return c[0]=p,c[1]=(C<<0|0<<8|0<<11|1<<14|2<<23)>>>0,new b.TokenizationResult2(c,g===null?e.NULL_STATE:g)}e.nullTokenize2=S}),define(Q[535],J([0,1,19,12,113,14,18,76,2,81,135,17]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextModelTokenization=e.TokenizationStateStore=void 0;class o{constructor(){this._beginState=[],this._valid=[],this._len=0,this._invalidLineStartIndex=0}_reset(i){this._beginState=[],this._valid=[],this._len=0,this._invalidLineStartIndex=0,i&&this._setBeginState(0,i)}flush(i){this._reset(i)}get invalidLineStartIndex(){return this._invalidLineStartIndex}_invalidateLine(i){i=this._len;)this._beginState[this._len]=null,this._valid[this._len]=!1,this._len++}_deleteLines(i,n){n!==0&&(i+n>this._len&&(n=this._len-i),this._beginState.splice(i,n),this._valid.splice(i,n),this._len-=n)}_insertLines(i,n){if(n!==0){let t=[],l=[];for(let h=0;h=0;m--)this._invalidateLine(i.startLineNumber+m-1);this._acceptDeleteRange(i),this._acceptInsertText(new w.Position(i.startLineNumber,i.startColumn),n)}_acceptDeleteRange(i){i.startLineNumber-1>=this._len||this._deleteLines(i.startLineNumber,i.endLineNumber-i.startLineNumber)}_acceptInsertText(i,n){i.lineNumber-1>=this._len||this._insertLines(i.lineNumber,n)}}e.TokenizationStateStore=o;class s extends d.Disposable{constructor(i){super();this._isDisposed=!1,this._textModel=i,this._tokenizationStateStore=new o,this._tokenizationSupport=null,this._register(S.TokenizationRegistry.onDidChange(n=>{const t=this._textModel.getLanguageIdentifier();n.changedLanguages.indexOf(t.language)!==-1&&(this._resetTokenizationState(),this._textModel.clearTokens())})),this._register(this._textModel.onDidChangeRawContentFast(n=>{if(n.containsEvent(1)){this._resetTokenizationState();return}})),this._register(this._textModel.onDidChangeContentFast(n=>{for(let t=0,l=n.changes.length;t{this._beginBackgroundTokenization()})),this._register(this._textModel.onDidChangeLanguage(()=>{this._resetTokenizationState(),this._textModel.clearTokens()})),this._resetTokenizationState()}dispose(){this._isDisposed=!0,super.dispose()}_resetTokenizationState(){const[i,n]=a(this._textModel);this._tokenizationSupport=i,this._tokenizationStateStore.flush(n),this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&c.setImmediate(()=>{this._isDisposed||this._revalidateTokensNow()})}_revalidateTokensNow(i=this._textModel.getLineCount()){const n=1,t=new p.MultilineTokensBuilder,l=g.StopWatch.create(!1);for(;this._hasLinesToTokenize()&&!(l.elapsed()>n||this._tokenizeOneInvalidLine(t)>=i););this._beginBackgroundTokenization(),this._textModel.setTokens(t.tokens)}tokenizeViewport(i,n){const t=new p.MultilineTokensBuilder;this._tokenizeViewport(t,i,n),this._textModel.setTokens(t.tokens)}reset(){this._resetTokenizationState(),this._textModel.clearTokens()}forceTokenization(i){const n=new p.MultilineTokensBuilder;this._updateTokensUntilLine(n,i),this._textModel.setTokens(n.tokens)}isCheapToTokenize(i){if(!this._tokenizationSupport)return!0;const n=this._tokenizationStateStore.invalidLineStartIndex+1;return i>n?!1:i0&&v>=1;v--){let y=this._textModel.getLineFirstNonWhitespaceColumn(v);if(y!==0&&y=0;v--)f=u(_,this._tokenizationSupport,h[v],!1,f).endState;for(let v=n;v<=t;v++){let y=this._textModel.getLineContent(v),L=u(_,this._tokenizationSupport,y,!0,f);i.add(v,L.tokens),this._tokenizationStateStore.setFakeTokens(v-1),f=L.endState}}}}e.TextModelTokenization=s;function a(r){const i=r.getLanguageIdentifier();let n=r.isTooLargeForTokenization()?null:S.TokenizationRegistry.get(i.language),t=null;if(n)try{t=n.getInitialState()}catch(l){N.onUnexpectedError(l),n=null}return[n,t]}function u(r,i,n,t,l){let h=null;if(i)try{h=i.tokenize2(n,t,l.clone(),0)}catch(m){N.onUnexpectedError(m)}return h||(h=C.nullTokenize2(r.id,n,l,0)),M.LineTokens.convertToEndOffset(h.tokens,n.length),h}}),define(Q[31],J([0,1,12,6,2,8,24,38,14,3,21,53,236,369,370,534,372,166,535,128,41,76,167,168,135,29,239]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeContentEmitter=e.DidChangeDecorationsEmitter=e.ModelDecorationOptions=e.ModelDecorationMinimapOptions=e.ModelDecorationOverviewRulerOptions=e.TextModel=e.LONG_LINE_BOUNDARY=e.createTextBuffer=e.createTextBufferFactory=void 0;function L(){return new u.PieceTreeTextBufferBuilder}function I(z){const P=L();return P.acceptChunk(z),P.finish()}e.createTextBufferFactory=I;function k(z,P){return(typeof z=="string"?I(z):z).create(P)}e.createTextBuffer=k;let E=0;const T=999;e.LONG_LINE_BOUNDARY=1e4;class O{constructor(P){this._source=P,this._eos=!1}read(){if(this._eos)return null;let P=[],V=0,U=0;do{let H=this._source.read();if(H===null)return this._eos=!0,V===0?null:P.join("");if(H.length>0&&(P[V++]=H,U+=H.length),U>=64*1024)return P.join("")}while(!0)}}const A=()=>{throw new Error("Invalid change accessor")};class B{constructor(){this._searchCanceledBrand=void 0}}B.INSTANCE=new B;function F(z){return z instanceof B?null:z}class D extends M.Disposable{constructor(P,V,U,H=null,$){super();this._onWillDispose=this._register(new N.Emitter),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new le),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeLanguage=this._register(new N.Emitter),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new N.Emitter),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new N.Emitter),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeOptions=this._register(new N.Emitter),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new N.Emitter),this.onDidChangeAttached=this._onDidChangeAttached.event,this._eventEmitter=this._register(new X),E++,this.id="$model"+E,this.isForSimpleWidget=V.isForSimpleWidget,typeof H=="undefined"||H===null?this._associatedResource=S.URI.parse("inmemory://model/"+E):this._associatedResource=H,this._undoRedoService=$,this._attachedEditorCount=0;const{textBuffer:ie,disposable:oe}=k(P,V.defaultEOL);this._buffer=ie,this._bufferDisposable=oe,this._options=D.resolveOptions(this._buffer,V);const ae=this._buffer.getLineCount(),G=this._buffer.getValueLengthInRange(new g.Range(1,1,ae,this._buffer.getLineLength(ae)+1),0);V.largeFileOptimizations?this._isTooLargeForTokenization=G>D.LARGE_FILE_SIZE_THRESHOLD||ae>D.LARGE_FILE_LINE_COUNT_THRESHOLD:this._isTooLargeForTokenization=!1,this._isTooLargeForSyncing=G>D.MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this._isDisposing=!1,this._languageIdentifier=U||h.NULL_LANGUAGE_IDENTIFIER,this._languageRegistryListener=l.LanguageConfigurationRegistry.onDidChange(j=>{j.languageIdentifier.id===this._languageIdentifier.id&&this._onDidChangeLanguageConfiguration.fire({})}),this._instanceId=w.singleLetterHash(E),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new R,this._commandManager=new o.EditStack(this,$),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._tokens=new f.TokensStore,this._tokens2=new f.TokensStore2,this._tokenization=new n.TextModelTokenization(this)}static resolveOptions(P,V){if(V.detectIndentation){const U=s.guessIndentation(P,V.tabSize,V.insertSpaces);return new c.TextModelResolvedOptions({tabSize:U.tabSize,indentSize:U.tabSize,insertSpaces:U.insertSpaces,trimAutoWhitespace:V.trimAutoWhitespace,defaultEOL:V.defaultEOL})}return new c.TextModelResolvedOptions({tabSize:V.tabSize,indentSize:V.indentSize,insertSpaces:V.insertSpaces,trimAutoWhitespace:V.trimAutoWhitespace,defaultEOL:V.defaultEOL})}onDidChangeRawContentFast(P){return this._eventEmitter.fastEvent(V=>P(V.rawContentChangedEvent))}onDidChangeContentFast(P){return this._eventEmitter.fastEvent(V=>P(V.contentChangedEvent))}onDidChangeContent(P){return this._eventEmitter.slowEvent(V=>P(V.contentChangedEvent))}dispose(){this._isDisposing=!0,this._onWillDispose.fire(),this._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this._isDisposing=!1;const P=new y.PieceTreeTextBuffer([],"",` +`,!1,!1,!0,!0);P.dispose(),this._buffer=P}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(P,V){this._isDisposing||this._eventEmitter.fire(new r.InternalModelContentChangeEvent(P,V))}setValue(P){if(this._assertNotDisposed(),P!==null){const{textBuffer:V,disposable:U}=k(P,this._options.defaultEOL);this._setValueFromTextBuffer(V,U)}}_createContentChanged2(P,V,U,H,$,ie,oe){return{changes:[{range:P,rangeOffset:V,rangeLength:U,text:H}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:$,isRedoing:ie,isFlush:oe}}_setValueFromTextBuffer(P,V){this._assertNotDisposed();const U=this.getFullModelRange(),H=this.getValueLengthInRange(U),$=this.getLineCount(),ie=this.getLineMaxColumn($);this._buffer=P,this._bufferDisposable.dispose(),this._bufferDisposable=V,this._increaseVersionId(),this._tokens.flush(),this._tokens2.flush(),this._decorations=Object.create(null),this._decorationsTree=new R,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new r.ModelRawContentChangedEvent([new r.ModelRawFlush],this._versionId,!1,!1),this._createContentChanged2(new g.Range(1,1,$,ie),0,H,this.getValue(),!1,!1,!0))}setEOL(P){this._assertNotDisposed();const V=P===1?`\r +`:` +`;if(this._buffer.getEOL()!==V){const U=this.getFullModelRange(),H=this.getValueLengthInRange(U),$=this.getLineCount(),ie=this.getLineMaxColumn($);this._onBeforeEOLChange(),this._buffer.setEOL(V),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new r.ModelRawContentChangedEvent([new r.ModelRawEOLChanged],this._versionId,!1,!1),this._createContentChanged2(new g.Range(1,1,$,ie),0,H,this.getValue(),!1,!1,!1))}}_onBeforeEOLChange(){const P=this.getVersionId(),V=this._decorationsTree.search(0,!1,!1,P);this._ensureNodesHaveRanges(V)}_onAfterEOLChange(){const P=this.getVersionId(),V=this._decorationsTree.collectNodesPostOrder();for(let U=0,H=V.length;U0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let P=0,V=0;const U=this._buffer.getLineCount();for(let H=1;H<=U;H++){const $=this._buffer.getLineLength(H);$>=e.LONG_LINE_BOUNDARY?V+=$:P+=$}return V>P}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(P){this._assertNotDisposed();let V=typeof P.tabSize!="undefined"?P.tabSize:this._options.tabSize,U=typeof P.indentSize!="undefined"?P.indentSize:this._options.indentSize,H=typeof P.insertSpaces!="undefined"?P.insertSpaces:this._options.insertSpaces,$=typeof P.trimAutoWhitespace!="undefined"?P.trimAutoWhitespace:this._options.trimAutoWhitespace,ie=new c.TextModelResolvedOptions({tabSize:V,indentSize:U,insertSpaces:H,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:$});if(!this._options.equals(ie)){let oe=this._options.createChangeEvent(ie);this._options=ie,this._onDidChangeOptions.fire(oe)}}detectIndentation(P,V){this._assertNotDisposed();let U=s.guessIndentation(this._buffer,V,P);this.updateOptions({insertSpaces:U.insertSpaces,tabSize:U.tabSize,indentSize:U.tabSize})}static _normalizeIndentationFromWhitespace(P,V,U){let H=0;for(let ie=0;ie({range:U.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(P){this._assertNotDisposed();let V=this._validatePosition(P.lineNumber,P.column,0);return this._buffer.getOffsetAt(V.lineNumber,V.column)}getPositionAt(P){this._assertNotDisposed();let V=Math.min(this._buffer.getLength(),Math.max(0,P));return this._buffer.getPositionAt(V)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(P){this._versionId=P}_overwriteAlternativeVersionId(P){this._alternativeVersionId=P}_overwriteInitialUndoRedoSnapshot(P){this._initialUndoRedoSnapshot=P}getValue(P,V=!1){this._assertNotDisposed();const U=this.getFullModelRange(),H=this.getValueInRange(U,P);return V?this._buffer.getBOM()+H:H}createSnapshot(P=!1){return new O(this._buffer.createSnapshot(P))}getValueLength(P,V=!1){this._assertNotDisposed();const U=this.getFullModelRange(),H=this.getValueLengthInRange(U,P);return V?this._buffer.getBOM().length+H:H}getValueInRange(P,V=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(P),V)}getValueLengthInRange(P,V=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(P),V)}getCharacterCountInRange(P,V=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(P),V)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(P){if(this._assertNotDisposed(),P<1||P>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineContent(P)}getLineLength(P){if(this._assertNotDisposed(),P<1||P>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(P)}getLinesContent(){return this._assertNotDisposed(),this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===` +`?0:1}getLineMinColumn(P){return this._assertNotDisposed(),1}getLineMaxColumn(P){if(this._assertNotDisposed(),P<1||P>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(P)+1}getLineFirstNonWhitespaceColumn(P){if(this._assertNotDisposed(),P<1||P>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(P)}getLineLastNonWhitespaceColumn(P){if(this._assertNotDisposed(),P<1||P>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(P)}_validateRangeRelaxedNoAllocations(P){const V=this._buffer.getLineCount(),U=P.startLineNumber,H=P.startColumn;let $,ie;if(U<1)$=1,ie=1;else if(U>V)$=V,ie=this.getLineMaxColumn($);else if($=U|0,H<=1)ie=1;else{const te=this.getLineMaxColumn($);H>=te?ie=te:ie=H|0}const oe=P.endLineNumber,ae=P.endColumn;let G,j;if(oe<1)G=1,j=1;else if(oe>V)G=V,j=this.getLineMaxColumn(G);else if(G=oe|0,ae<=1)j=1;else{const te=this.getLineMaxColumn(G);ae>=te?j=te:j=ae|0}return U===$&&H===ie&&oe===G&&ae===j&&P instanceof g.Range&&!(P instanceof p.Selection)?P:new g.Range($,ie,G,j)}_isValidPosition(P,V,U){if(typeof P!="number"||typeof V!="number"||isNaN(P)||isNaN(V)||P<1||V<1||(P|0)!==P||(V|0)!==V)return!1;const H=this._buffer.getLineCount();if(P>H)return!1;if(V===1)return!0;const $=this.getLineMaxColumn(P);if(V>$)return!1;if(U===1){const ie=this._buffer.getLineCharCode(P,V-2);if(w.isHighSurrogate(ie))return!1}return!0}_validatePosition(P,V,U){const H=Math.floor(typeof P=="number"&&!isNaN(P)?P:1),$=Math.floor(typeof V=="number"&&!isNaN(V)?V:1),ie=this._buffer.getLineCount();if(H<1)return new d.Position(1,1);if(H>ie)return new d.Position(ie,this.getLineMaxColumn(ie));if($<=1)return new d.Position(H,1);const oe=this.getLineMaxColumn(H);if($>=oe)return new d.Position(H,oe);if(U===1){const ae=this._buffer.getLineCharCode(H,$-2);if(w.isHighSurrogate(ae))return new d.Position(H,$-1)}return new d.Position(H,$)}validatePosition(P){const V=1;return this._assertNotDisposed(),P instanceof d.Position&&this._isValidPosition(P.lineNumber,P.column,V)?P:this._validatePosition(P.lineNumber,P.column,V)}_isValidRange(P,V){const U=P.startLineNumber,H=P.startColumn,$=P.endLineNumber,ie=P.endColumn;if(!this._isValidPosition(U,H,0)||!this._isValidPosition($,ie,0))return!1;if(V===1){const oe=H>1?this._buffer.getLineCharCode(U,H-2):0,ae=ie>1&&ie<=this._buffer.getLineLength($)?this._buffer.getLineCharCode($,ie-2):0,G=w.isHighSurrogate(oe),j=w.isHighSurrogate(ae);return!G&&!j}return!0}validateRange(P){const V=1;if(this._assertNotDisposed(),P instanceof g.Range&&!(P instanceof p.Selection)&&this._isValidRange(P,V))return P;const U=this._validatePosition(P.startLineNumber,P.startColumn,0),H=this._validatePosition(P.endLineNumber,P.endColumn,0),$=U.lineNumber,ie=U.column,oe=H.lineNumber,ae=H.column;if(V===1){const G=ie>1?this._buffer.getLineCharCode($,ie-2):0,j=ae>1&&ae<=this._buffer.getLineLength(oe)?this._buffer.getLineCharCode(oe,ae-2):0,te=w.isHighSurrogate(G),Z=w.isHighSurrogate(j);return!te&&!Z?new g.Range($,ie,oe,ae):$===oe&&ie===ae?new g.Range($,ie-1,oe,ae-1):te&&Z?new g.Range($,ie-1,oe,ae+1):te?new g.Range($,ie-1,oe,ae):new g.Range($,ie,oe,ae+1)}return new g.Range($,ie,oe,ae)}modifyPosition(P,V){this._assertNotDisposed();let U=this.getOffsetAt(P)+V;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,U)))}getFullModelRange(){this._assertNotDisposed();const P=this.getLineCount();return new g.Range(1,1,P,this.getLineMaxColumn(P))}findMatchesLineByLine(P,V,U,H){return this._buffer.findMatchesLineByLine(P,V,U,H)}findMatches(P,V,U,H,$,ie,oe=T){this._assertNotDisposed();let ae=null;V!==null&&(Array.isArray(V)||(V=[V]),V.every(te=>g.Range.isIRange(te))&&(ae=V.map(te=>this.validateRange(te)))),ae===null&&(ae=[this.getFullModelRange()]),ae=ae.sort((te,Z)=>te.startLineNumber-Z.startLineNumber||te.startColumn-Z.startColumn);const G=[];G.push(ae.reduce((te,Z)=>g.Range.areIntersecting(te,Z)?te.plusRange(Z):(G.push(te),Z)));let j;if(!U&&P.indexOf(` +`)<0){const Z=new i.SearchParams(P,U,H,$).parseSearchRequest();if(!Z)return[];j=ue=>this.findMatchesLineByLine(ue,Z,ie,oe)}else j=te=>i.TextModelSearch.findMatches(this,new i.SearchParams(P,U,H,$),te,ie,oe);return G.map(j).reduce((te,Z)=>te.concat(Z),[])}findNextMatch(P,V,U,H,$,ie){this._assertNotDisposed();const oe=this.validatePosition(V);if(!U&&P.indexOf(` +`)<0){const G=new i.SearchParams(P,U,H,$).parseSearchRequest();if(!G)return null;const j=this.getLineCount();let te=new g.Range(oe.lineNumber,oe.column,j,this.getLineMaxColumn(j)),Z=this.findMatchesLineByLine(te,G,ie,1);return i.TextModelSearch.findNextMatch(this,new i.SearchParams(P,U,H,$),oe,ie),Z.length>0||(te=new g.Range(1,1,oe.lineNumber,this.getLineMaxColumn(oe.lineNumber)),Z=this.findMatchesLineByLine(te,G,ie,1),Z.length>0)?Z[0]:null}return i.TextModelSearch.findNextMatch(this,new i.SearchParams(P,U,H,$),oe,ie)}findPreviousMatch(P,V,U,H,$,ie){this._assertNotDisposed();const oe=this.validatePosition(V);return i.TextModelSearch.findPreviousMatch(this,new i.SearchParams(P,U,H,$),oe,ie)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(P){if((this.getEOL()===` +`?0:1)!==P)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(P)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(P){return P instanceof c.ValidAnnotatedEditOperation?P:new c.ValidAnnotatedEditOperation(P.identifier||null,this.validateRange(P.range),P.text,P.forceMoveMarkers||!1,P.isAutoWhitespaceEdit||!1,P._isTracked||!1)}_validateEditOperations(P){const V=[];for(let U=0,H=P.length;U({range:this.validateRange(ie.range),text:ie.text})),$=!0;if(P)for(let ie=0,oe=P.length;ieae.endLineNumber,he=ae.startLineNumber>Z.endLineNumber;if(!ue&&!he){G=!0;break}}if(!G){$=!1;break}}if($)for(let ie=0,oe=this._trimAutoWhitespaceLines.length;ieue.endLineNumber)&&!(ae===ue.startLineNumber&&ue.startColumn===G&&ue.isEmpty()&&he&&he.length>0&&he.charAt(0)===` +`)&&!(ae===ue.startLineNumber&&ue.startColumn===1&&ue.isEmpty()&&he&&he.length>0&&he.charAt(he.length-1)===` +`)){j=!1;break}}if(j){const te=new g.Range(ae,1,ae,G);V.push(new c.ValidAnnotatedEditOperation(null,te,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(P,V,U)}_applyUndo(P,V,U,H){const $=P.map(ie=>{const oe=this.getPositionAt(ie.newPosition),ae=this.getPositionAt(ie.newEnd);return{range:new g.Range(oe.lineNumber,oe.column,ae.lineNumber,ae.column),text:ie.oldText}});this._applyUndoRedoEdits($,V,!0,!1,U,H)}_applyRedo(P,V,U,H){const $=P.map(ie=>{const oe=this.getPositionAt(ie.oldPosition),ae=this.getPositionAt(ie.oldEnd);return{range:new g.Range(oe.lineNumber,oe.column,ae.lineNumber,ae.column),text:ie.newText}});this._applyUndoRedoEdits($,V,!1,!0,U,H)}_applyUndoRedoEdits(P,V,U,H,$,ie){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=U,this._isRedoing=H,this.applyEdits(P,!1),this.setEOL(V),this._overwriteAlternativeVersionId($)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(ie),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(P,V=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const U=this._validateEditOperations(P);return this._doApplyEdits(U,V)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(P,V){const U=this._buffer.getLineCount(),H=this._buffer.applyEdits(P,this._options.trimAutoWhitespace,V),$=this._buffer.getLineCount(),ie=H.changes;if(this._trimAutoWhitespaceLines=H.trimAutoWhitespaceLineNumbers,ie.length!==0){let oe=[],ae=U;for(let G=0,j=ie.length;G0?te.text.charCodeAt(0):0),this._onDidChangeDecorations.fire(),this._decorationsTree.acceptReplace(te.rangeOffset,te.rangeLength,te.text.length,te.forceMoveMarkers);const re=te.range.startLineNumber,ce=te.range.endLineNumber,me=ce-re,Ce=Z,be=Math.min(me,Ce),Le=Ce-me;for(let De=be;De>=0;De--){const Re=re+De,Ee=$-ae-Le+Re;oe.push(new r.ModelRawLineChanged(Re,this.getLineContent(Ee)))}if(bethis._deltaDecorationsImpl(P,[],[{range:$,options:ie}])[0],changeDecoration:($,ie)=>{this._changeDecorationImpl($,ie)},changeDecorationOptions:($,ie)=>{this._changeDecorationOptionsImpl($,ne(ie))},removeDecoration:$=>{this._deltaDecorationsImpl(P,[$],[])},deltaDecorations:($,ie)=>$.length===0&&ie.length===0?[]:this._deltaDecorationsImpl(P,$,ie)},H=null;try{H=V(U)}catch($){b.onUnexpectedError($)}return U.addDecoration=A,U.changeDecoration=A,U.changeDecorationOptions=A,U.removeDecoration=A,U.deltaDecorations=A,H}deltaDecorations(P,V,U=0){if(this._assertNotDisposed(),P||(P=[]),P.length===0&&V.length===0)return[];try{return this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(U,P,V)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_getTrackedRange(P){return this.getDecorationRange(P)}_setTrackedRange(P,V,U){const H=P?this._decorations[P]:null;if(!H)return V?this._deltaDecorationsImpl(0,[],[{range:V,options:se[U]}])[0]:null;if(!V)return this._decorationsTree.delete(H),delete this._decorations[H.id],null;const $=this._validateRangeRelaxedNoAllocations(V),ie=this._buffer.getOffsetAt($.startLineNumber,$.startColumn),oe=this._buffer.getOffsetAt($.endLineNumber,$.endColumn);return this._decorationsTree.delete(H),H.reset(this.getVersionId(),ie,oe,$),H.setOptions(se[U]),this._decorationsTree.insert(H),H.id}removeAllDecorationsWithOwnerId(P){if(!this._isDisposed){const V=this._decorationsTree.collectNodesFromOwner(P);for(let U=0,H=V.length;Uthis.getLineCount()?[]:this.getLinesDecorations(P,P,V,U)}getLinesDecorations(P,V,U=0,H=!1){let $=this.getLineCount(),ie=Math.min($,Math.max(1,P)),oe=Math.min($,Math.max(1,V)),ae=this.getLineMaxColumn(oe);return this._getDecorationsInRange(new g.Range(ie,1,oe,ae),U,H)}getDecorationsInRange(P,V=0,U=!1){let H=this.validateRange(P);return this._getDecorationsInRange(H,V,U)}getOverviewRulerDecorations(P=0,V=!1){const U=this.getVersionId(),H=this._decorationsTree.search(P,V,!0,U);return this._ensureNodesHaveRanges(H)}getAllDecorations(P=0,V=!1){const U=this.getVersionId(),H=this._decorationsTree.search(P,V,!1,U);return this._ensureNodesHaveRanges(H)}_getDecorationsInRange(P,V,U){const H=this._buffer.getOffsetAt(P.startLineNumber,P.startColumn),$=this._buffer.getOffsetAt(P.endLineNumber,P.endColumn),ie=this.getVersionId(),oe=this._decorationsTree.intervalSearch(H,$,V,U,ie);return this._ensureNodesHaveRanges(oe)}_ensureNodesHaveRanges(P){for(let V=0,U=P.length;V0&&this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!1,ranges:V})}}setSemanticTokens(P,V){this._tokens2.set(P,V),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:P!==null,ranges:[{fromLineNumber:1,toLineNumber:this.getLineCount()}]})}hasCompleteSemanticTokens(){return this._tokens2.isComplete()}hasSomeSemanticTokens(){return!this._tokens2.isEmpty()}setPartialSemanticTokens(P,V){if(!this.hasCompleteSemanticTokens()){const U=this._tokens2.setPartial(P,V);this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!0,ranges:[{fromLineNumber:U.startLineNumber,toLineNumber:U.endLineNumber}]})}}tokenizeViewport(P,V){P=Math.max(1,P),V=Math.min(this._buffer.getLineCount(),V),this._tokenization.tokenizeViewport(P,V)}clearTokens(){this._tokens.flush(),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!0,semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._buffer.getLineCount()}]})}_emitModelTokensChangedEvent(P){this._isDisposing||this._onDidChangeTokens.fire(P)}resetTokenization(){this._tokenization.reset()}forceTokenization(P){if(P<1||P>this.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(P)}isCheapToTokenize(P){return this._tokenization.isCheapToTokenize(P)}tokenizeIfCheap(P){this.isCheapToTokenize(P)&&this.forceTokenization(P)}getLineTokens(P){if(P<1||P>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._getLineTokens(P)}_getLineTokens(P){const V=this.getLineContent(P),U=this._tokens.getTokens(this._languageIdentifier.id,P-1,V);return this._tokens2.addSemanticTokens(P,U)}getLanguageIdentifier(){return this._languageIdentifier}getModeId(){return this._languageIdentifier.language}setMode(P){if(this._languageIdentifier.id!==P.id){let V={oldLanguage:this._languageIdentifier.language,newLanguage:P.language};this._languageIdentifier=P,this._onDidChangeLanguage.fire(V),this._onDidChangeLanguageConfiguration.fire({})}}getLanguageIdAtPosition(P,V){const U=this.validatePosition(new d.Position(P,V)),H=this.getLineTokens(U.lineNumber);return H.getLanguageId(H.findTokenIndexAtOffset(U.column-1))}getWordAtPosition(P){this._assertNotDisposed();const V=this.validatePosition(P),U=this.getLineContent(V.lineNumber),H=this._getLineTokens(V.lineNumber),$=H.findTokenIndexAtOffset(V.column-1),[ie,oe]=D._findLanguageBoundaries(H,$),ae=t.getWordAtText(V.column,l.LanguageConfigurationRegistry.getWordDefinition(H.getLanguageId($)),U.substring(ie,oe),ie);if(ae&&ae.startColumn<=P.column&&P.column<=ae.endColumn)return ae;if($>0&&ie===V.column-1){const[G,j]=D._findLanguageBoundaries(H,$-1),te=t.getWordAtText(V.column,l.LanguageConfigurationRegistry.getWordDefinition(H.getLanguageId($-1)),U.substring(G,j),G);if(te&&te.startColumn<=P.column&&P.column<=te.endColumn)return te}return null}static _findLanguageBoundaries(P,V){const U=P.getLanguageId(V);let H=0;for(let ie=V;ie>=0&&P.getLanguageId(ie)===U;ie--)H=P.getStartOffset(ie);let $=P.getLineContent().length;for(let ie=V,oe=P.getCount();ie=0;te--){const Z=U.getEndOffset(te);if(Z<=ae)break;m.ignoreBracketsInToken(U.getStandardTokenType(te))&&(ae=Z)}const G=Math.min($.length,P.column-1+oe.maxBracketLength);let j=null;for(;;){const te=_.BracketsUtils.findNextBracketInRange(oe.forwardRegex,V,$,ae,G);if(!te)break;if(te.startColumn<=P.column&&P.column<=te.endColumn){const Z=$.substring(te.startColumn-1,te.endColumn-1).toLowerCase(),ue=this._matchFoundBracket(te,oe.textIsBracket[Z],oe.textIsOpenBracket[Z],null);if(ue){if(ue instanceof B)return null;j=ue}}ae=te.endColumn-1}if(j)return j}if(ie>0&&U.getStartOffset(ie)===P.column-1){const ae=ie-1,G=l.LanguageConfigurationRegistry.getBracketsSupport(U.getLanguageId(ae));if(G&&!m.ignoreBracketsInToken(U.getStandardTokenType(ae))){const j=Math.max(0,P.column-1-G.maxBracketLength);let te=Math.min($.length,P.column-1+G.maxBracketLength);for(let ue=ae+1;ue=te)break;m.ignoreBracketsInToken(U.getStandardTokenType(ue))&&(te=he)}const Z=_.BracketsUtils.findPrevBracketInRange(G.reversedRegex,V,$,j,te);if(Z&&Z.startColumn<=P.column&&P.column<=Z.endColumn){const ue=$.substring(Z.startColumn-1,Z.endColumn-1).toLowerCase(),he=this._matchFoundBracket(Z,G.textIsBracket[ue],G.textIsOpenBracket[ue],null);if(he)return he instanceof B?null:he}}}return null}_matchFoundBracket(P,V,U,H){if(!V)return null;const $=U?this._findMatchingBracketDown(V,P.getEndPosition(),H):this._findMatchingBracketUp(V,P.getStartPosition(),H);return $?$ instanceof B?$:[P,$]:null}_findMatchingBracketUp(P,V,U){const H=P.languageIdentifier.id,$=P.reversedRegex;let ie=-1,oe=0;const ae=(G,j,te,Z)=>{for(;;){if(U&&++oe%100==0&&!U())return B.INSTANCE;const ue=_.BracketsUtils.findPrevBracketInRange($,G,j,te,Z);if(!ue)break;const he=j.substring(ue.startColumn-1,ue.endColumn-1).toLowerCase();if(P.isOpen(he)?ie++:P.isClose(he)&&ie--,ie===0)return ue;Z=ue.startColumn-1}return null};for(let G=V.lineNumber;G>=1;G--){const j=this._getLineTokens(G),te=j.getCount(),Z=this._buffer.getLineContent(G);let ue=te-1,he=Z.length,re=Z.length;G===V.lineNumber&&(ue=j.findTokenIndexAtOffset(V.column-1),he=V.column-1,re=V.column-1);let ce=!0;for(;ue>=0;ue--){const me=j.getLanguageId(ue)===H&&!m.ignoreBracketsInToken(j.getStandardTokenType(ue));if(me)ce?he=j.getStartOffset(ue):(he=j.getStartOffset(ue),re=j.getEndOffset(ue));else if(ce&&he!==re){const Ce=ae(G,Z,he,re);if(Ce)return Ce}ce=me}if(ce&&he!==re){const me=ae(G,Z,he,re);if(me)return me}}return null}_findMatchingBracketDown(P,V,U){const H=P.languageIdentifier.id,$=P.forwardRegex;let ie=1,oe=0;const ae=(j,te,Z,ue)=>{for(;;){if(U&&++oe%100==0&&!U())return B.INSTANCE;const he=_.BracketsUtils.findNextBracketInRange($,j,te,Z,ue);if(!he)break;const re=te.substring(he.startColumn-1,he.endColumn-1).toLowerCase();if(P.isOpen(re)?ie++:P.isClose(re)&&ie--,ie===0)return he;Z=he.endColumn-1}return null},G=this.getLineCount();for(let j=V.lineNumber;j<=G;j++){const te=this._getLineTokens(j),Z=te.getCount(),ue=this._buffer.getLineContent(j);let he=0,re=0,ce=0;j===V.lineNumber&&(he=te.findTokenIndexAtOffset(V.column-1),re=V.column-1,ce=V.column-1);let me=!0;for(;he=1;$--){const ie=this._getLineTokens($),oe=ie.getCount(),ae=this._buffer.getLineContent($);let G=oe-1,j=ae.length,te=ae.length;if($===V.lineNumber){G=ie.findTokenIndexAtOffset(V.column-1),j=V.column-1,te=V.column-1;const ue=ie.getLanguageId(G);U!==ue&&(U=ue,H=l.LanguageConfigurationRegistry.getBracketsSupport(U))}let Z=!0;for(;G>=0;G--){const ue=ie.getLanguageId(G);if(U!==ue){if(H&&Z&&j!==te){const re=_.BracketsUtils.findPrevBracketInRange(H.reversedRegex,$,ae,j,te);if(re)return this._toFoundBracket(H,re);Z=!1}U=ue,H=l.LanguageConfigurationRegistry.getBracketsSupport(U)}const he=!!H&&!m.ignoreBracketsInToken(ie.getStandardTokenType(G));if(he)Z?j=ie.getStartOffset(G):(j=ie.getStartOffset(G),te=ie.getEndOffset(G));else if(H&&Z&&j!==te){const re=_.BracketsUtils.findPrevBracketInRange(H.reversedRegex,$,ae,j,te);if(re)return this._toFoundBracket(H,re)}Z=he}if(H&&Z&&j!==te){const ue=_.BracketsUtils.findPrevBracketInRange(H.reversedRegex,$,ae,j,te);if(ue)return this._toFoundBracket(H,ue)}}return null}findNextBracket(P){const V=this.validatePosition(P),U=this.getLineCount();let H=-1,$=null;for(let ie=V.lineNumber;ie<=U;ie++){const oe=this._getLineTokens(ie),ae=oe.getCount(),G=this._buffer.getLineContent(ie);let j=0,te=0,Z=0;if(ie===V.lineNumber){j=oe.findTokenIndexAtOffset(V.column-1),te=V.column-1,Z=V.column-1;const he=oe.getLanguageId(j);H!==he&&(H=he,$=l.LanguageConfigurationRegistry.getBracketsSupport(H))}let ue=!0;for(;jDate.now()-ue<=V}const H=this.validatePosition(P),$=this.getLineCount(),ie=new Map;let oe=[];const ae=(ue,he)=>{if(!ie.has(ue)){let re=[];for(let ce=0,me=he?he.brackets.length:0;ce{for(;;){if(U&&++G%100==0&&!U())return B.INSTANCE;const Ce=_.BracketsUtils.findNextBracketInRange(ue.forwardRegex,he,re,ce,me);if(!Ce)break;const be=re.substring(Ce.startColumn-1,Ce.endColumn-1).toLowerCase(),Le=ue.textIsBracket[be];if(Le&&(Le.isOpen(be)?oe[Le.index]++:Le.isClose(be)&&oe[Le.index]--,oe[Le.index]===-1))return this._matchFoundBracket(Ce,Le,!1,U);ce=Ce.endColumn-1}return null};let te=-1,Z=null;for(let ue=H.lineNumber;ue<=$;ue++){const he=this._getLineTokens(ue),re=he.getCount(),ce=this._buffer.getLineContent(ue);let me=0,Ce=0,be=0;if(ue===H.lineNumber){me=he.findTokenIndexAtOffset(H.column-1),Ce=H.column-1,be=H.column-1;const De=he.getLanguageId(me);te!==De&&(te=De,Z=l.LanguageConfigurationRegistry.getBracketsSupport(te),ae(te,Z))}let Le=!0;for(;meH)throw new Error("Illegal value for lineNumber");const $=l.LanguageConfigurationRegistry.getFoldingRules(this._languageIdentifier.id),ie=Boolean($&&$.offSide);let oe=-2,ae=-1,G=-2,j=-1;const te=Ee=>{if(oe!==-1&&(oe===-2||oe>Ee-1)){oe=-1,ae=-1;for(let Ae=Ee-2;Ae>=0;Ae--){let Se=this._computeIndentLevel(Ae);if(Se>=0){oe=Ae,ae=Se;break}}}if(G===-2){G=-1,j=-1;for(let Ae=Ee;Ae=0){G=Ae,j=Se;break}}}};let Z=-2,ue=-1,he=-2,re=-1;const ce=Ee=>{if(Z===-2){Z=-1,ue=-1;for(let Ae=Ee-2;Ae>=0;Ae--){let Se=this._computeIndentLevel(Ae);if(Se>=0){Z=Ae,ue=Se;break}}}if(he!==-1&&(he===-2||he=0){he=Ae,re=Se;break}}}};let me=0,Ce=!0,be=0,Le=!0,De=0,Re=0;for(let Ee=0;Ce||Le;Ee++){const Ae=P-Ee,Se=P+Ee;Ee>1&&(Ae<1||Ae1&&(Se>H||Se>U)&&(Le=!1),Ee>5e4&&(Ce=!1,Le=!1);let we=-1;if(Ce){const fe=this._computeIndentLevel(Ae-1);fe>=0?(G=Ae-1,j=fe,we=Math.ceil(fe/this._options.indentSize)):(te(Ae),we=this._getIndentLevelForWhitespaceLine(ie,ae,j))}let ye=-1;if(Le){const fe=this._computeIndentLevel(Se-1);fe>=0?(Z=Se-1,ue=fe,ye=Math.ceil(fe/this._options.indentSize)):(ce(Se),ye=this._getIndentLevelForWhitespaceLine(ie,ue,re))}if(Ee===0){Re=we;continue}if(Ee===1){if(Se<=H&&ye>=0&&Re+1===ye){Ce=!1,me=Se,be=Se,De=ye;continue}if(Ae>=1&&we>=0&&we-1===Re){Le=!1,me=Ae,be=Ae,De=we;continue}if(me=P,be=P,De=Re,De===0)return{startLineNumber:me,endLineNumber:be,indent:De}}Ce&&(we>=De?me=Ae:Ce=!1),Le&&(ye>=De?be=Se:Le=!1)}return{startLineNumber:me,endLineNumber:be,indent:De}}getLinesIndentGuides(P,V){this._assertNotDisposed();const U=this.getLineCount();if(P<1||P>U)throw new Error("Illegal value for startLineNumber");if(V<1||V>U)throw new Error("Illegal value for endLineNumber");const H=l.LanguageConfigurationRegistry.getFoldingRules(this._languageIdentifier.id),$=Boolean(H&&H.offSide);let ie=new Array(V-P+1),oe=-2,ae=-1,G=-2,j=-1;for(let te=P;te<=V;te++){let Z=te-P;const ue=this._computeIndentLevel(te-1);if(ue>=0){oe=te-1,ae=ue,ie[Z]=Math.ceil(ue/this._options.indentSize);continue}if(oe===-2){oe=-1,ae=-1;for(let he=te-2;he>=0;he--){let re=this._computeIndentLevel(he);if(re>=0){oe=he,ae=re;break}}}if(G!==-1&&(G===-2||G=0){G=he,j=re;break}}}ie[Z]=this._getIndentLevelForWhitespaceLine($,ae,j)}return ie}_getIndentLevelForWhitespaceLine(P,V,U){return V===-1||U===-1?0:V0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(P):this._deferredEvent=P;return}this._fastEmitter.fire(P),this._slowEmitter.fire(P)}}e.DidChangeContentEmitter=X}),define(Q[42],J([0,1,12,8,14,3,21,31,41]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isQuote=e.CursorColumns=e.EditOperationResult=e.CursorState=e.PartialViewCursorState=e.PartialModelCursorState=e.CursorContext=e.SingleCursorState=e.CursorConfiguration=void 0;const g=()=>!0,p=()=>!1,c=h=>h===" "||h===" ";class o{constructor(m,_,f){this._languageIdentifier=m;const v=f.options,y=v.get(124);this.readOnly=v.get(75),this.tabSize=_.tabSize,this.indentSize=_.indentSize,this.insertSpaces=_.insertSpaces,this.stickyTabStops=v.get(99),this.lineHeight=v.get(53),this.pageSize=Math.max(1,Math.floor(y.height/this.lineHeight)-2),this.useTabStops=v.get(109),this.wordSeparators=v.get(110),this.emptySelectionClipboard=v.get(28),this.copyWithSyntaxHighlighting=v.get(18),this.multiCursorMergeOverlapping=v.get(63),this.multiCursorPaste=v.get(65),this.autoClosingBrackets=v.get(5),this.autoClosingQuotes=v.get(7),this.autoClosingOvertype=v.get(6),this.autoSurround=v.get(10),this.autoIndent=v.get(8),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:o._getShouldAutoClose(m,this.autoClosingQuotes),bracket:o._getShouldAutoClose(m,this.autoClosingBrackets)},this.autoClosingPairs=d.LanguageConfigurationRegistry.getAutoClosingPairs(m.id);let L=o._getSurroundingPairs(m);if(L)for(const I of L)this.surroundingPairs[I.open]=I.close}static shouldRecreate(m){return m.hasChanged(124)||m.hasChanged(110)||m.hasChanged(28)||m.hasChanged(63)||m.hasChanged(65)||m.hasChanged(5)||m.hasChanged(7)||m.hasChanged(6)||m.hasChanged(10)||m.hasChanged(109)||m.hasChanged(53)||m.hasChanged(75)}get electricChars(){if(!this._electricChars){this._electricChars={};let m=o._getElectricCharacters(this._languageIdentifier);if(m)for(const _ of m)this._electricChars[_]=!0}return this._electricChars}normalizeIndentation(m){return C.TextModel.normalizeIndentation(m,this.indentSize,this.insertSpaces)}static _getElectricCharacters(m){try{return d.LanguageConfigurationRegistry.getElectricCharacters(m.id)}catch(_){return b.onUnexpectedError(_),null}}static _getShouldAutoClose(m,_){switch(_){case"beforeWhitespace":return c;case"languageDefined":return o._getLanguageDefinedShouldAutoClose(m);case"always":return g;case"never":return p}}static _getLanguageDefinedShouldAutoClose(m){try{const _=d.LanguageConfigurationRegistry.getAutoCloseBeforeSet(m.id);return f=>_.indexOf(f)!==-1}catch(_){return b.onUnexpectedError(_),p}}static _getSurroundingPairs(m){try{return d.LanguageConfigurationRegistry.getSurroundingPairs(m.id)}catch(_){return b.onUnexpectedError(_),null}}}e.CursorConfiguration=o;class s{constructor(m,_,f,v){this.selectionStart=m,this.selectionStartLeftoverVisibleColumns=_,this.position=f,this.leftoverVisibleColumns=v,this.selection=s._computeSelection(this.selectionStart,this.position)}equals(m){return this.selectionStartLeftoverVisibleColumns===m.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===m.leftoverVisibleColumns&&this.position.equals(m.position)&&this.selectionStart.equalsRange(m.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(m,_,f,v){return m?new s(this.selectionStart,this.selectionStartLeftoverVisibleColumns,new M.Position(_,f),v):new s(new w.Range(_,f,_,f),v,new M.Position(_,f),v)}static _computeSelection(m,_){let f,v,y,L;return m.isEmpty()?(f=m.startLineNumber,v=m.startColumn,y=_.lineNumber,L=_.column):_.isBeforeOrEqual(m.getStartPosition())?(f=m.endLineNumber,v=m.endColumn,y=_.lineNumber,L=_.column):(f=m.startLineNumber,v=m.startColumn,y=_.lineNumber,L=_.column),new S.Selection(f,v,y,L)}}e.SingleCursorState=s;class a{constructor(m,_,f){this.model=m,this.coordinatesConverter=_,this.cursorConfig=f}}e.CursorContext=a;class u{constructor(m){this.modelState=m,this.viewState=null}}e.PartialModelCursorState=u;class r{constructor(m){this.modelState=null,this.viewState=m}}e.PartialViewCursorState=r;class i{constructor(m,_){this.modelState=m,this.viewState=_}static fromModelState(m){return new u(m)}static fromViewState(m){return new r(m)}static fromModelSelection(m){const _=m.selectionStartLineNumber,f=m.selectionStartColumn,v=m.positionLineNumber,y=m.positionColumn,L=new s(new w.Range(_,f,_,f),0,new M.Position(v,y),0);return i.fromModelState(L)}static fromModelSelections(m){let _=[];for(let f=0,v=m.length;f=65536?2:1,k===9)L=t.nextRenderTabStop(L,f);else{let E=N.getGraphemeBreakType(k);for(;I=65536?2:1,E=O}N.isFullWidthCharacter(k)||N.isEmojiImprecise(k)?L=L+2:L=L+1}}return L}static visibleColumnFromColumn2(m,_,f){return this.visibleColumnFromColumn(_.getLineContent(f.lineNumber),f.column,m.tabSize)}static columnFromVisibleColumn(m,_,f){if(_<=0)return 1;const v=m.length;let y=0,L=1,I=0;for(;I=65536?2:1;let E;if(k===9)E=t.nextRenderTabStop(y,f);else{let O=N.getGraphemeBreakType(k);for(;I=65536?2:1,O=B}N.isFullWidthCharacter(k)||N.isEmojiImprecise(k)?E=y+2:E=y+1}const T=I+1;if(E>=_){const O=_-y;return E-_I?I:y}static nextRenderTabStop(m,_){return m+_-m%_}static nextIndentTabStop(m,_){return m+_-m%_}static prevRenderTabStop(m,_){return m-1-(m-1)%_}static prevIndentTabStop(m,_){return m-1-(m-1)%_}}e.CursorColumns=t;function l(h){return h==="'"||h==='"'||h==="`"}e.isQuote=l}),define(Q[179],J([0,1,8,42,3,21,41]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShiftCommand=e.cachedStringRepeat=void 0;const C=Object.create(null);function d(p,c){C[p]||(C[p]=["",p]);const o=C[p];for(let s=o.length;s<=c;s++)o[s]=o[s-1]+p;return o[c]}e.cachedStringRepeat=d;class g{constructor(c,o){this._opts=o,this._selection=c,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}static unshiftIndent(c,o,s,a,u){const r=N.CursorColumns.visibleColumnFromColumn(c,o,s);if(u){const i=d(" ",a),t=N.CursorColumns.prevIndentTabStop(r,a)/a;return d(i,t)}else{const i=" ",t=N.CursorColumns.prevRenderTabStop(r,s)/s;return d(i,t)}}static shiftIndent(c,o,s,a,u){const r=N.CursorColumns.visibleColumnFromColumn(c,o,s);if(u){const i=d(" ",a),t=N.CursorColumns.nextIndentTabStop(r,a)/a;return d(i,t)}else{const i=" ",t=N.CursorColumns.nextRenderTabStop(r,s)/s;return d(i,t)}}_addEditOperation(c,o,s){this._useLastEditRangeForCursorEndPosition?c.addTrackedEditOperation(o,s):c.addEditOperation(o,s)}getEditOperations(c,o){const s=this._selection.startLineNumber;let a=this._selection.endLineNumber;this._selection.endColumn===1&&s!==a&&(a=a-1);const{tabSize:u,indentSize:r,insertSpaces:i}=this._opts,n=s===a;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(c.getLineContent(s))&&(this._useLastEditRangeForCursorEndPosition=!0);let t=0,l=0;for(let h=s;h<=a;h++,t=l){l=0;let m=c.getLineContent(h),_=b.firstNonWhitespaceIndex(m);if(!(this._opts.isUnshift&&(m.length===0||_===0))&&!(!n&&!this._opts.isUnshift&&m.length===0)){if(_===-1&&(_=m.length),h>1&&N.CursorColumns.visibleColumnFromColumn(m,_+1,u)%r!=0&&c.isCheapToTokenize(h-1)){let y=S.LanguageConfigurationRegistry.getEnterAction(this._opts.autoIndent,c,new M.Range(h-1,c.getLineMaxColumn(h-1),h-1,c.getLineMaxColumn(h-1)));if(y){if(l=t,y.appendText)for(let L=0,I=y.appendText.length;Lc,u=p>o,r=po||_p||m1&&p--,w.columnSelect(C,d,g.fromViewLineNumber,g.fromViewVisualColumn,g.toViewLineNumber,p)}static columnSelectRight(C,d,g){let p=0;const c=Math.min(g.fromViewLineNumber,g.toViewLineNumber),o=Math.max(g.fromViewLineNumber,g.toViewLineNumber);for(let a=c;a<=o;a++){const u=d.getLineMaxColumn(a),r=b.CursorColumns.visibleColumnFromColumn2(C,d,new N.Position(a,u));p=Math.max(p,r)}let s=g.toViewVisualColumn;return sp.getLineMinColumn(c)?o=o-w.prevCharLength(p.getLineContent(c),o-1):c>1&&(c=c-1,o=p.getLineMaxColumn(c)),new N.Position(c,o)}static leftPositionAtomicSoftTabs(p,c,o,s){const a=p.getLineMinColumn(c),u=p.getLineContent(c),r=S.AtomicTabMoveOperations.atomicPosition(u,o-1,s,0);return r===-1||r+1n?(o=n,r?s=c.getLineMaxColumn(o):s=Math.min(c.getLineMaxColumn(o),s)):s=b.CursorColumns.columnFromVisibleColumn2(p,c,o,i),t?a=0:a=i-b.CursorColumns.visibleColumnFromColumn(c.getLineContent(o),s,p.tabSize),new C(o,s,a)}static moveDown(p,c,o,s,a){let u,r;o.hasSelection()&&!s?(u=o.selection.endLineNumber,r=o.selection.endColumn):(u=o.position.lineNumber,r=o.position.column);let i=d.down(p,c,u,r,o.leftoverVisibleColumns,a,!0);return o.move(s,i.lineNumber,i.column,i.leftoverVisibleColumns)}static translateDown(p,c,o){let s=o.selection,a=d.down(p,c,s.selectionStartLineNumber,s.selectionStartColumn,o.selectionStartLeftoverVisibleColumns,1,!1),u=d.down(p,c,s.positionLineNumber,s.positionColumn,o.leftoverVisibleColumns,1,!1);return new b.SingleCursorState(new M.Range(a.lineNumber,a.column,a.lineNumber,a.column),a.leftoverVisibleColumns,new N.Position(u.lineNumber,u.column),u.leftoverVisibleColumns)}static up(p,c,o,s,a,u,r){const i=b.CursorColumns.visibleColumnFromColumn(c.getLineContent(o),s,p.tabSize)+a,n=o===1&&s===1;return o=o-u,o<1?(o=1,r?s=c.getLineMinColumn(o):s=Math.min(c.getLineMaxColumn(o),s)):s=b.CursorColumns.columnFromVisibleColumn2(p,c,o,i),n?a=0:a=i-b.CursorColumns.visibleColumnFromColumn(c.getLineContent(o),s,p.tabSize),new C(o,s,a)}static moveUp(p,c,o,s,a){let u,r;o.hasSelection()&&!s?(u=o.selection.startLineNumber,r=o.selection.startColumn):(u=o.position.lineNumber,r=o.position.column);let i=d.up(p,c,u,r,o.leftoverVisibleColumns,a,!0);return o.move(s,i.lineNumber,i.column,i.leftoverVisibleColumns)}static translateUp(p,c,o){let s=o.selection,a=d.up(p,c,s.selectionStartLineNumber,s.selectionStartColumn,o.selectionStartLeftoverVisibleColumns,1,!1),u=d.up(p,c,s.positionLineNumber,s.positionColumn,o.leftoverVisibleColumns,1,!1);return new b.SingleCursorState(new M.Range(a.lineNumber,a.column,a.lineNumber,a.column),a.leftoverVisibleColumns,new N.Position(u.lineNumber,u.column),u.leftoverVisibleColumns)}static _isBlankLine(p,c){return p.getLineFirstNonWhitespaceColumn(c)===0}static moveToPrevBlankLine(p,c,o,s){let a=o.position.lineNumber;for(;a>1&&this._isBlankLine(c,a);)a--;for(;a>1&&!this._isBlankLine(c,a);)a--;return o.move(s,a,c.getLineMinColumn(a),0)}static moveToNextBlankLine(p,c,o,s){const a=c.getLineCount();let u=o.position.lineNumber;for(;u=n.length+1)return!1;const t=n.charAt(i.column-2),l=c.get(t);if(!l)return!1;if(M.isQuote(t)){if(p==="never")return!1}else if(g==="never")return!1;const h=n.charAt(i.column-1);let m=!1;for(const _ of l)_.open===t&&_.close===h&&(m=!0);if(!m)return!1}return!0}static _runAutoClosingPairDelete(g,p,c){let o=[];for(let s=0,a=c.length;s1){let l=c.getLineContent(t.lineNumber),h=b.firstNonWhitespaceIndex(l),m=h===-1?l.length+1:h+1;if(t.column<=m){let _=M.CursorColumns.visibleColumnFromColumn2(p,c,t),f=M.CursorColumns.prevIndentTabStop(_,p.indentSize),v=M.CursorColumns.columnFromVisibleColumn2(p,c,t.lineNumber,f);n=new S.Range(t.lineNumber,v,t.lineNumber,t.column)}else n=new S.Range(t.lineNumber,t.column-1,t.lineNumber,t.column)}else{let l=w.MoveOperations.left(p,c,t.lineNumber,t.column);n=new S.Range(l.lineNumber,l.column,t.lineNumber,t.column)}}if(n.isEmpty()){s[u]=null;continue}n.startLineNumber!==n.endLineNumber&&(a=!0),s[u]=new N.ReplaceCommand(n,"")}return[a,s]}static cut(g,p,c){let o=[];for(let s=0,a=c.length;s1?(i=r.lineNumber-1,n=p.getLineMaxColumn(r.lineNumber-1),t=r.lineNumber,l=p.getLineMaxColumn(r.lineNumber)):(i=r.lineNumber,n=1,t=r.lineNumber,l=p.getLineMaxColumn(r.lineNumber));let h=new S.Range(i,n,t,l);h.isEmpty()?o[s]=null:o[s]=new N.ReplaceCommand(h,"")}else o[s]=null;else o[s]=new N.ReplaceCommand(u,"")}return new M.EditOperationResult(0,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}e.DeleteOperations=C}),define(Q[182],J([0,1,12,8,92,179,367,42,106,3,21,109,41]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeWithAutoClosingCommand=e.TypeOperations=void 0;class s{static indent(r,i,n){if(i===null||n===null)return[];let t=[];for(let l=0,h=n.length;l1){let m;for(m=n-1;m>=1;m--){const v=i.getLineContent(m);if(N.lastNonWhitespaceIndex(v)>=0)break}if(m<1)return null;const _=i.getLineMaxColumn(m),f=o.LanguageConfigurationRegistry.getEnterAction(r.autoIndent,i,new g.Range(m,_,m,_));f&&(l=f.indentation+f.appendText)}return t&&(t===c.IndentAction.Indent&&(l=s.shiftIndent(r,l)),t===c.IndentAction.Outdent&&(l=s.unshiftIndent(r,l)),l=r.normalizeIndentation(l)),l||null}static _replaceJumpToNextIndent(r,i,n,t){let l="",h=n.getStartPosition();if(r.insertSpaces){let m=C.CursorColumns.visibleColumnFromColumn2(r,i,h),_=r.indentSize,f=_-m%_;for(let v=0;vthis._compositionType(n,v,l,h,m,_));return new C.EditOperationResult(1,f,{shouldPushStackElementBefore:r!==1,shouldPushStackElementAfter:!1})}static _compositionType(r,i,n,t,l,h){if(!i.isEmpty())return null;const m=i.getPosition(),_=Math.max(1,m.column-t),f=Math.min(r.getLineMaxColumn(m.lineNumber),m.column+l),v=new g.Range(m.lineNumber,_,m.lineNumber,f);return r.getValueInRange(v)===n&&h===0?null:new M.ReplaceCommandWithOffsetCursorState(v,n,0,h)}static _typeCommand(r,i,n){return n?new M.ReplaceCommandWithoutChangingPosition(r,i,!0):new M.ReplaceCommand(r,i,!0)}static _enter(r,i,n,t){if(r.autoIndent===0)return s._typeCommand(t,` +`,n);if(!i.isCheapToTokenize(t.getStartPosition().lineNumber)||r.autoIndent===1){let _=i.getLineContent(t.startLineNumber),f=N.getLeadingWhitespace(_).substring(0,t.startColumn-1);return s._typeCommand(t,` +`+r.normalizeIndentation(f),n)}const l=o.LanguageConfigurationRegistry.getEnterAction(r.autoIndent,i,t);if(l){if(l.indentAction===c.IndentAction.None)return s._typeCommand(t,` +`+r.normalizeIndentation(l.indentation+l.appendText),n);if(l.indentAction===c.IndentAction.Indent)return s._typeCommand(t,` +`+r.normalizeIndentation(l.indentation+l.appendText),n);if(l.indentAction===c.IndentAction.IndentOutdent){const _=r.normalizeIndentation(l.indentation),f=r.normalizeIndentation(l.indentation+l.appendText),v=` +`+f+` +`+_;return n?new M.ReplaceCommandWithoutChangingPosition(t,v,!0):new M.ReplaceCommandWithOffsetCursorState(t,v,-1,f.length-_.length,!0)}else if(l.indentAction===c.IndentAction.Outdent){const _=s.unshiftIndent(r,l.indentation);return s._typeCommand(t,` +`+r.normalizeIndentation(_+l.appendText),n)}}const h=i.getLineContent(t.startLineNumber),m=N.getLeadingWhitespace(h).substring(0,t.startColumn-1);if(r.autoIndent>=4){const _=o.LanguageConfigurationRegistry.getIndentForEnter(r.autoIndent,i,t,{unshiftIndent:f=>s.unshiftIndent(r,f),shiftIndent:f=>s.shiftIndent(r,f),normalizeIndentation:f=>r.normalizeIndentation(f)});if(_){let f=C.CursorColumns.visibleColumnFromColumn2(r,i,t.getEndPosition());const v=t.endColumn,y=i.getLineContent(t.endLineNumber),L=N.firstNonWhitespaceIndex(y);if(L>=0?t=t.setEndPosition(t.endLineNumber,Math.max(t.endColumn,L+1)):t=t.setEndPosition(t.endLineNumber,i.getLineMaxColumn(t.endLineNumber)),n)return new M.ReplaceCommandWithoutChangingPosition(t,` +`+r.normalizeIndentation(_.afterEnter),!0);{let I=0;return v<=L+1&&(r.insertSpaces||(f=Math.ceil(f/r.indentSize)),I=Math.min(f+1-r.normalizeIndentation(_.afterEnter).length-1,0)),new M.ReplaceCommandWithOffsetCursorState(t,` +`+r.normalizeIndentation(_.afterEnter),0,I,!0)}}}return s._typeCommand(t,` +`+r.normalizeIndentation(m),n)}static _isAutoIndentType(r,i,n){if(r.autoIndent<4)return!1;for(let t=0,l=n.length;ts.shiftIndent(r,m),unshiftIndent:m=>s.unshiftIndent(r,m)});if(h===null)return null;if(h!==r.normalizeIndentation(l)){const m=i.getLineFirstNonWhitespaceColumn(n.startLineNumber);return m===0?s._typeCommand(new g.Range(n.startLineNumber,1,n.endLineNumber,n.endColumn),r.normalizeIndentation(h)+t,!1):s._typeCommand(new g.Range(n.startLineNumber,1,n.endLineNumber,n.endColumn),r.normalizeIndentation(h)+i.getLineContent(n.startLineNumber).substring(m-1,n.startColumn-1)+t,!1)}return null}static _isAutoClosingOvertype(r,i,n,t,l){if(r.autoClosingOvertype==="never"||!r.autoClosingPairs.autoClosingPairsCloseSingleChar.has(l))return!1;for(let h=0,m=n.length;h2?v.charCodeAt(f.column-2):0)===92&&L)return!1;if(r.autoClosingOvertype==="auto"){let k=!1;for(let E=0,T=t.length;Ei.startsWith(_.open)),m=l.some(_=>i.startsWith(_.close));return!h&&m}static _findAutoClosingPairOpen(r,i,n,t){const l=r.autoClosingPairs.autoClosingPairsOpenByEnd.get(t);if(!l)return null;let h=null;for(const m of l)if(h===null||m.open.length>h.open.length){let _=!0;for(const f of n)if(i.getValueInRange(new g.Range(f.lineNumber,f.column-m.open.length+1,f.lineNumber,f.column))+t!==m.open){_=!1;break}_&&(h=m)}return h}static _findSubAutoClosingPairClose(r,i){if(i.open.length<=1)return"";const n=i.close.charAt(i.close.length-1),t=r.autoClosingPairs.autoClosingPairsCloseByEnd.get(n)||[];let l=null;for(const h of t)h.open!==i.open&&i.open.includes(h.open)&&i.close.endsWith(h.close)&&(!l||h.open.length>l.open.length)&&(l=h);return l?l.close:""}static _getAutoClosingPairClose(r,i,n,t,l){const h=C.isQuote(t),m=h?r.autoClosingQuotes:r.autoClosingBrackets;if(m==="never")return null;const _=this._findAutoClosingPairOpen(r,i,n.map(L=>L.getPosition()),t);if(!_)return null;const f=this._findSubAutoClosingPairClose(r,_);let v=!0;const y=h?r.shouldAutoCloseBefore.quote:r.shouldAutoCloseBefore.bracket;for(let L=0,I=n.length;LE.column-1){const F=T.charAt(E.column-1);if(!s._isBeforeClosingBrace(r,O)&&!y(F))return null}if(!i.isCheapToTokenize(E.lineNumber))return null;if(_.open.length===1&&h&&m!=="always"){const F=d.getMapForWordSeparators(r.wordSeparators);if(l&&E.column>1&&F.get(T.charCodeAt(E.column-2))===0||!l&&E.column>2&&F.get(T.charCodeAt(E.column-3))===0)return null}i.forceTokenization(E.lineNumber);const A=i.getLineTokens(E.lineNumber);let B=!1;try{B=o.LanguageConfigurationRegistry.shouldAutoClosePair(_,A,l?E.column:E.column-1)}catch(F){b.onUnexpectedError(F)}if(!B)return null}return v?_.close.substring(0,_.close.length-f.length):_.close}static _runAutoClosingOpenCharType(r,i,n,t,l,h,m){let _=[];for(let f=0,v=t.length;fnew M.ReplaceCommand(new g.Range(v.positionLineNumber,v.positionColumn,v.positionLineNumber,v.positionColumn+1),"",!1));return new C.EditOperationResult(1,f,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const _=this._getAutoClosingPairClose(i,n,l,m,!1);return _!==null?this._runAutoClosingOpenCharType(r,i,n,l,m,!1,_):null}static typeWithInterceptors(r,i,n,t,l,h,m){if(!r&&m===` +`){let v=[];for(let y=0,L=l.length;y=0;r--){let i=o.charCodeAt(r),n=s.get(i);if(n===0){if(u===2)return this._createWord(o,u,n,r+1,this._findEndOfWord(o,s,u,r+1));u=1}else if(n===2){if(u===1)return this._createWord(o,u,n,r+1,this._findEndOfWord(o,s,u,r+1));u=2}else if(n===1&&u!==0)return this._createWord(o,u,n,r+1,this._findEndOfWord(o,s,u,r+1))}return u!==0?this._createWord(o,u,1,0,this._findEndOfWord(o,s,u,0)):null}static _findEndOfWord(o,s,a,u){let r=o.length;for(let i=u;i=0;r--){let i=o.charCodeAt(r),n=s.get(i);if(n===1||a===1&&n===2||a===2&&n===0)return r+1}return 0}static moveWordLeft(o,s,a,u){let r=a.lineNumber,i=a.column;i===1&&r>1&&(r=r-1,i=s.getLineMaxColumn(r));let n=d._findPreviousWordOnLine(o,s,new S.Position(r,i));if(u===0)return new S.Position(r,n?n.start+1:1);if(u===1)return n&&n.wordType===2&&n.end-n.start==1&&n.nextCharClass===0&&(n=d._findPreviousWordOnLine(o,s,new S.Position(r,n.start+1))),new S.Position(r,n?n.start+1:1);if(u===3){for(;n&&n.wordType===2;)n=d._findPreviousWordOnLine(o,s,new S.Position(r,n.start+1));return new S.Position(r,n?n.start+1:1)}return n&&i<=n.end+1&&(n=d._findPreviousWordOnLine(o,s,new S.Position(r,n.start+1))),new S.Position(r,n?n.end+1:1)}static _moveWordPartLeft(o,s){const a=s.lineNumber,u=o.getLineMaxColumn(a);if(s.column===1)return a>1?new S.Position(a-1,o.getLineMaxColumn(a-1)):s;const r=o.getLineContent(a);for(let i=s.column-1;i>1;i--){const n=r.charCodeAt(i-2),t=r.charCodeAt(i-1);if(n===95&&t!==95)return new S.Position(a,i);if(b.isLowerAsciiLetter(n)&&b.isUpperAsciiLetter(t))return new S.Position(a,i);if(b.isUpperAsciiLetter(n)&&b.isUpperAsciiLetter(t)&&i+1=t.start+1&&(t=d._findNextWordOnLine(o,s,new S.Position(r,t.end+1))),t?i=t.start+1:i=s.getLineMaxColumn(r);return new S.Position(r,i)}static _moveWordPartRight(o,s){const a=s.lineNumber,u=o.getLineMaxColumn(a);if(s.column===u)return a1?l=1:(t--,l=u.getLineMaxColumn(t)):(h&&l<=h.end+1&&(h=d._findPreviousWordOnLine(a,u,new S.Position(t,h.start+1))),h?l=h.end+1:l>1?l=1:(t--,l=u.getLineMaxColumn(t))),new C.Range(t,l,n.lineNumber,n.column)}static deleteInsideWord(o,s,a){if(!a.isEmpty())return a;const u=new S.Position(a.positionLineNumber,a.positionColumn);let r=this._deleteInsideWordWhitespace(s,u);return r||this._deleteInsideWordDetermineDeleteRange(o,s,u)}static _charAtIsWhitespace(o,s){const a=o.charCodeAt(s);return a===32||a===9}static _deleteInsideWordWhitespace(o,s){const a=o.getLineContent(s.lineNumber),u=a.length;if(u===0)return null;let r=Math.max(s.column-2,0);if(!this._charAtIsWhitespace(a,r))return null;let i=Math.min(s.column-1,u-1);if(!this._charAtIsWhitespace(a,i))return null;for(;r>0&&this._charAtIsWhitespace(a,r-1);)r--;for(;i+11?new C.Range(a.lineNumber-1,s.getLineMaxColumn(a.lineNumber-1),a.lineNumber,1):a.lineNumberm.start+1<=a.column&&a.column<=m.end+1,n=(m,_)=>(m=Math.min(m,a.column),_=Math.max(_,a.column),new C.Range(a.lineNumber,m,a.lineNumber,_)),t=m=>{let _=m.start+1,f=m.end+1,v=!1;for(;f-11&&this._charAtIsWhitespace(u,_-2);)_--;return n(_,f)},l=d._findPreviousWordOnLine(o,s,a);if(l&&i(l))return t(l);const h=d._findNextWordOnLine(o,s,a);return h&&i(h)?t(h):l&&h?n(l.end+1,h.start+1):l?n(l.start+1,l.end+1):h?n(h.start+1,h.end+1):n(1,r+1)}static _deleteWordPartLeft(o,s){if(!s.isEmpty())return s;const a=s.getPosition(),u=d._moveWordPartLeft(o,a);return new C.Range(a.lineNumber,a.column,u.lineNumber,u.column)}static _findFirstNonWhitespaceChar(o,s){let a=o.length;for(let u=s;u=_.start+1&&(_=d._findNextWordOnLine(a,u,new S.Position(t,_.end+1))),_?l=_.start+1:lBoolean(o))}}),define(Q[241],J([0,1,20,42,180,136,14,3]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorMove=e.CursorMoveCommands=void 0;class d{static addCursorDown(c,o,s){let a=[],u=0;for(let r=0,i=o.length;rt&&(l=t,h=c.model.getLineMaxColumn(l)),N.CursorState.fromModelState(new N.SingleCursorState(new C.Range(r.lineNumber,1,l,h),0,new S.Position(l,h),0))}const n=o.modelState.selectionStart.getStartPosition().lineNumber;if(r.lineNumbern){const t=c.getLineCount();let l=i.lineNumber+1,h=1;return l>t&&(l=t,h=c.getLineMaxColumn(l)),N.CursorState.fromViewState(o.viewState.move(o.modelState.hasSelection(),l,h,0))}else{const t=o.modelState.selectionStart.getEndPosition();return N.CursorState.fromModelState(o.modelState.move(o.modelState.hasSelection(),t.lineNumber,t.column,0))}}static word(c,o,s,a){const u=c.model.validatePosition(a);return N.CursorState.fromModelState(w.WordOperations.word(c.cursorConfig,c.model,o.modelState,s,u))}static cancelSelection(c,o){if(!o.modelState.hasSelection())return new N.CursorState(o.modelState,o.viewState);const s=o.viewState.position.lineNumber,a=o.viewState.position.column;return N.CursorState.fromViewState(new N.SingleCursorState(new C.Range(s,a,s,a),0,new S.Position(s,a),0))}static moveTo(c,o,s,a,u){const r=c.model.validatePosition(a),i=u?c.coordinatesConverter.validateViewPosition(new S.Position(u.lineNumber,u.column),r):c.coordinatesConverter.convertModelPositionToViewPosition(r);return N.CursorState.fromViewState(o.viewState.move(s,i.lineNumber,i.column,0))}static simpleMove(c,o,s,a,u,r){switch(s){case 0:return r===4?this._moveHalfLineLeft(c,o,a):this._moveLeft(c,o,a,u);case 1:return r===4?this._moveHalfLineRight(c,o,a):this._moveRight(c,o,a,u);case 2:return r===2?this._moveUpByViewLines(c,o,a,u):this._moveUpByModelLines(c,o,a,u);case 3:return r===2?this._moveDownByViewLines(c,o,a,u):this._moveDownByModelLines(c,o,a,u);case 4:return r===2?o.map(i=>N.CursorState.fromViewState(M.MoveOperations.moveToPrevBlankLine(c.cursorConfig,c,i.viewState,a))):o.map(i=>N.CursorState.fromModelState(M.MoveOperations.moveToPrevBlankLine(c.cursorConfig,c.model,i.modelState,a)));case 5:return r===2?o.map(i=>N.CursorState.fromViewState(M.MoveOperations.moveToNextBlankLine(c.cursorConfig,c,i.viewState,a))):o.map(i=>N.CursorState.fromModelState(M.MoveOperations.moveToNextBlankLine(c.cursorConfig,c.model,i.modelState,a)));case 6:return this._moveToViewMinColumn(c,o,a);case 7:return this._moveToViewFirstNonWhitespaceColumn(c,o,a);case 8:return this._moveToViewCenterColumn(c,o,a);case 9:return this._moveToViewMaxColumn(c,o,a);case 10:return this._moveToViewLastNonWhitespaceColumn(c,o,a);default:return null}}static viewportMove(c,o,s,a,u){const r=c.getCompletelyVisibleViewRange(),i=c.coordinatesConverter.convertViewRangeToModelRange(r);switch(s){case 11:{const n=this._firstLineNumberInRange(c.model,i,u),t=c.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(c,o[0],a,n,t)]}case 13:{const n=this._lastLineNumberInRange(c.model,i,u),t=c.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(c,o[0],a,n,t)]}case 12:{const n=Math.round((i.startLineNumber+i.endLineNumber)/2),t=c.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(c,o[0],a,n,t)]}case 14:{let n=[];for(let t=0,l=o.length;ts.endLineNumber-1&&(u=s.endLineNumber-1),u1;let r=[];for(let i=0,n=o.length;i1;let r=[];for(let i=0,n=o.length;ig){let p=d-g;for(let c=0;c=C+1&&this.lastAddedCursorIndex--,this.secondaryCursors[C].dispose(this.context),this.secondaryCursors.splice(C,1)}_getAll(){let C=[];C[0]=this.primaryCursor;for(let d=0,g=this.secondaryCursors.length;dg.selection.startLineNumber===p.selection.startLineNumber?g.selection.startColumn-p.selection.startColumn:g.selection.startLineNumber-p.selection.startLineNumber);for(let g=0;gi&&h.index--;C.splice(i,1),d.splice(r,1),this._removeSecondaryCursor(i-1),g--}}}}}}e.CursorCollection=w}),define(Q[242],J([0,1,12,8,538,42,181,182,3,21,170,2,173]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Cursor=e.CursorModelState=void 0;class s{constructor(n,t){this.modelVersionId=n.getVersionId(),this.cursorState=t.getCursorStates()}equals(n){if(!n||this.modelVersionId!==n.modelVersionId||this.cursorState.length!==n.cursorState.length)return!1;for(let t=0,l=this.cursorState.length;t=t.length||!t[l].strictContainsRange(n[l]))return!1;return!0}}class u extends c.Disposable{constructor(n,t,l,h){super();this._model=n,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=l,this.context=new w.CursorContext(this._model,this._coordinatesConverter,h),this._cursors=new M.CursorCollection(this.context),this._hasFocus=!1,this._isHandling=!1,this._isDoingComposition=!1,this._selectionsWhenCompositionStarted=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=c.dispose(this._autoClosedActions),super.dispose()}updateConfiguration(n){this.context=new w.CursorContext(this._model,this._coordinatesConverter,n),this._cursors.updateContext(this.context)}onLineMappingChanged(n){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(n,"viewModel",0,this.getCursorStates())}setHasFocus(n){this._hasFocus=n}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let n=this._cursors.getSelections();for(let t=0;tu.MAX_CURSOR_COUNT&&(h=h.slice(0,u.MAX_CURSOR_COUNT),m=!0);const _=new s(this._model,this);return this._cursors.setStates(h),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(n,t,l,_,m)}setCursorColumnSelectData(n){this._columnSelectData=n}revealPrimary(n,t,l,h){const m=this._cursors.getViewPositions();if(m.length>1){this._emitCursorRevealRange(n,t,null,this._cursors.getViewSelections(),0,l,h);return}else{const _=m[0],f=new d.Range(_.lineNumber,_.column,_.lineNumber,_.column);this._emitCursorRevealRange(n,t,f,null,0,l,h)}}_revealPrimaryCursor(n,t,l,h,m){const _=this._cursors.getViewPositions();if(_.length>1)this._emitCursorRevealRange(n,t,null,this._cursors.getViewSelections(),l,h,m);else{const f=_[0],v=new d.Range(f.lineNumber,f.column,f.lineNumber,f.column);this._emitCursorRevealRange(n,t,v,null,l,h,m)}}_emitCursorRevealRange(n,t,l,h,m,_,f){n.emitViewEvent(new p.ViewRevealRangeRequestEvent(t,l,h,m,_,f))}saveState(){let n=[];const t=this._cursors.getSelections();for(let l=0,h=t.length;l0){const h=w.CursorState.fromModelSelections(t.resultingSelection);this.setStates(n,"modelChange",t.isUndoing?5:t.isRedoing?6:2,h)&&this._revealPrimaryCursor(n,"modelChange",0,!0,0)}else{const h=this._cursors.readSelectionFromMarkers();this.setStates(n,"modelChange",2,w.CursorState.fromModelSelections(h))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const n=this._cursors.getPrimaryCursor(),t=n.viewState.selectionStart.getStartPosition(),l=n.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:w.CursorColumns.visibleColumnFromColumn2(this.context.cursorConfig,this._viewModel,t),toViewLineNumber:l.lineNumber,toViewVisualColumn:w.CursorColumns.visibleColumnFromColumn2(this.context.cursorConfig,this._viewModel,l)}}getSelections(){return this._cursors.getSelections()}setSelections(n,t,l,h){this.setStates(n,t,h,w.CursorState.fromModelSelections(l))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(n){this._prevEditOperationType=n}_pushAutoClosedAction(n,t){let l=[],h=[];for(let f=0,v=n.length;f0&&this._pushAutoClosedAction(l,h),this._prevEditOperationType=n.type}n.shouldPushStackElementAfter&&this._model.pushStackElement()}}_interpretCommandResult(n){(!n||n.length===0)&&(n=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(n),this._cursors.normalize()}_emitStateChangedIfNecessary(n,t,l,h,m){const _=new s(this._model,this);if(_.equals(h))return!1;const f=this._cursors.getSelections(),v=this._cursors.getViewSelections();if(n.emitViewEvent(new p.ViewCursorStateChangedEvent(v,f)),!h||h.cursorState.length!==_.cursorState.length||_.cursorState.some((y,L)=>!y.modelState.equals(h.cursorState[L].modelState))){const y=h?h.cursorState.map(I=>I.modelState.selection):null,L=h?h.modelVersionId:0;n.emitOutgoingEvent(new o.CursorStateChangedEvent(y,f,L,_.modelVersionId,t||"keyboard",l,m))}return!0}_findAutoClosingPairs(n){if(!n.length)return null;let t=[];for(let l=0,h=n.length;l=0)return null;const _=m.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!_)return null;const f=_[1],v=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(f);if(!v||v.length!==1)return null;const y=v[0].open,L=m.text.length-_[2].length-1,I=m.text.lastIndexOf(y,L-1);if(I===-1)return null;t.push([I,L])}return t}executeEdits(n,t,l,h){let m=null;t==="snippet"&&(m=this._findAutoClosingPairs(l)),m&&(l[0]._isTracked=!0);let _=[],f=[];const v=this._model.pushEditOperations(this.getSelections(),l,y=>{if(m)for(let I=0,k=m.length;I0&&this._pushAutoClosedAction(_,f)}_executeEdit(n,t,l,h=0){if(!this.context.cursorConfig.readOnly){const m=new s(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),n()}catch(_){b.onUnexpectedError(_)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,l,h,m,!1)&&this._revealPrimaryCursor(t,l,0,!0,0)}}setIsDoingComposition(n){this._isDoingComposition=n}startComposition(n){this._selectionsWhenCompositionStarted=this.getSelections().slice(0)}endComposition(n,t){this._executeEdit(()=>{if(t==="keyboard"){const l=a.getAllAutoClosedCharacters(this._autoClosedActions);this._executeEditOperation(C.TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this._selectionsWhenCompositionStarted,this.getSelections(),l)),this._selectionsWhenCompositionStarted=null}},n,t)}type(n,t,l){this._executeEdit(()=>{if(l==="keyboard"){const h=t.length;let m=0;for(;m{const y=v.getPosition();return new g.Selection(y.lineNumber,y.column+m,y.lineNumber,y.column+m)});this.setSelections(n,_,f,0)}return}this._executeEdit(()=>{this._executeEditOperation(C.TypeOperations.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,l,h,m))},n,_)}paste(n,t,l,h,m){this._executeEdit(()=>{this._executeEditOperation(C.TypeOperations.paste(this.context.cursorConfig,this._model,this.getSelections(),t,l,h||[]))},n,m,4)}cut(n,t){this._executeEdit(()=>{this._executeEditOperation(S.DeleteOperations.cut(this.context.cursorConfig,this._model,this.getSelections()))},n,t)}executeCommand(n,t,l){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new w.EditOperationResult(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},n,l)}executeCommands(n,t,l){this._executeEdit(()=>{this._executeEditOperation(new w.EditOperationResult(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},n,l)}}e.Cursor=u,u.MAX_CURSOR_COUNT=1e4;class r{static executeCommands(n,t,l){const h={model:n,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},m=this._innerExecuteCommands(h,l);for(let _=0,f=h.trackedRanges.length;_0&&(_[0]._isTracked=!0);let f=n.model.pushEditOperations(n.selectionsBefore,_,y=>{let L=[];for(let E=0;EE.identifier.minor-T.identifier.minor;let k=[];for(let E=0;E0?(L[E].sort(I),k[E]=t[E].computeCursorState(n.model,{getInverseEditOperations:()=>L[E],getTrackedSelection:T=>{const O=parseInt(T,10),A=n.model._getTrackedRange(n.trackedRanges[O]);return n.trackedRangesDirection[O]===0?new g.Selection(A.startLineNumber,A.startColumn,A.endLineNumber,A.endColumn):new g.Selection(A.endLineNumber,A.endColumn,A.startLineNumber,A.startColumn)}})):k[E]=n.selectionsBefore[E];return k});f||(f=n.selectionsBefore);let v=[];for(let y in m)m.hasOwnProperty(y)&&v.push(parseInt(y,10));v.sort((y,L)=>L-y);for(const y of v)f.splice(y,1);return f}static _arrayIsEmpty(n){for(let t=0,l=n.length;t{d.Range.isEmpty(I)&&k===""||h.push({identifier:{major:t,minor:m++},range:I,text:k,forceMoveMarkers:E,isAutoWhitespaceEdit:l.insertsAutoWhitespace})};let f=!1;const L={addEditOperation:_,addTrackedEditOperation:(I,k,E)=>{f=!0,_(I,k,E)},trackSelection:(I,k)=>{const E=g.Selection.liftSelection(I);let T;if(E.isEmpty())if(typeof k=="boolean")k?T=2:T=3;else{const B=n.model.getLineMaxColumn(E.startLineNumber);E.startColumn===B?T=2:T=3}else T=1;const O=n.trackedRanges.length,A=n.model._setTrackedRange(null,E,T);return n.trackedRanges[O]=A,n.trackedRangesDirection[O]=E.getDirection(),O.toString()}};try{l.getEditOperations(n.model,L)}catch(I){return b.onUnexpectedError(I),{operations:[],hadTrackedEditOperation:!1}}return{operations:h,hadTrackedEditOperation:f}}static _getLoserCursorMap(n){n=n.slice(0),n.sort((l,h)=>-d.Range.compareRangesUsingEnds(l.range,h.range));let t={};for(let l=1;lm.identifier.major?_=h.identifier.major:_=m.identifier.major,t[_.toString()]=!0;for(let f=0;f0&&l--}}return t}}}),define(Q[243],J([0,1,8,113,76]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tokenizeLineToHTML=e.tokenizeToString=void 0;const w={getInitialState:()=>M.NULL_STATE,tokenize2:(g,p,c,o)=>M.nullTokenize2(0,g,c,o)};function S(g,p=w){return d(g,p||w)}e.tokenizeToString=S;function C(g,p,c,o,s,a,u){let r="
    ",i=o,n=0;for(let t=0,l=p.getCount();t0;)m+=u?" ":" ",f--;break;case 60:m+="<";break;case 62:m+=">";break;case 38:m+="&";break;case 0:m+="�";break;case 65279:case 8232:case 8233:case 133:m+="\uFFFD";break;case 13:m+="​";break;case 32:m+=u?" ":" ";break;default:m+=String.fromCharCode(_)}}if(r+=`${m}`,h>s||i>=s)break}}return r+="
    ",r}e.tokenizeLineToHTML=C;function d(g,p){let c='
    ',o=b.splitLines(g),s=p.getInitialState();for(let a=0,u=o.length;a0&&(c+="
    ");let i=p.tokenize2(r,!0,s,0);N.LineTokens.convertToEndOffset(i.tokens,r.length);let t=new N.LineTokens(i.tokens,r).inflate(),l=0;for(let h=0,m=t.getCount();h${b.escape(r.substring(l,f))}`,l=f}s=i.endState}return c+="
    ",c}}),define(Q[67],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITextModelService=void 0,e.ITextModelService=b.createDecorator("textModelService")}),define(Q[137],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITextResourcePropertiesService=e.ITextResourceConfigurationService=void 0,e.ITextResourceConfigurationService=b.createDecorator("textResourceConfigurationService"),e.ITextResourcePropertiesService=b.createDecorator("textResourcePropertiesService")}),define(Q[244],J([0,1,6,216,18]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapTokensColorTracker=void 0;class w{constructor(){this._onDidChange=new b.Emitter,this.onDidChange=this._onDidChange.event,this._updateColorMap(),M.TokenizationRegistry.onDidChange(C=>{C.changedColorMap&&this._updateColorMap()})}static getInstance(){return this._INSTANCE||(this._INSTANCE=new w),this._INSTANCE}_updateColorMap(){const C=M.TokenizationRegistry.getColorMap();if(!C){this._colors=[N.RGBA8.Empty],this._backgroundIsLight=!0;return}this._colors=[N.RGBA8.Empty];for(let g=1;g=.5,this._onDidChange.fire(void 0)}getColor(C){return(C<1||C>=this._colors.length)&&(C=2),this._colors[C]}backgroundIsLight(){return this._backgroundIsLight}}e.MinimapTokensColorTracker=w,w._INSTANCE=null}),define(Q[539],J([0,1,19,14,3,31,170,222,63]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IdentityLinesCollection=e.IdentityCoordinatesConverter=e.SplitLine=e.SplitLinesCollection=e.CoordinatesConverter=void 0;class g{constructor(_){this._lines=_}convertViewPositionToModelPosition(_){return this._lines.convertViewPositionToModelPosition(_.lineNumber,_.column)}convertViewRangeToModelRange(_){return this._lines.convertViewRangeToModelRange(_)}validateViewPosition(_,f){return this._lines.validateViewPosition(_.lineNumber,_.column,f)}validateViewRange(_,f){return this._lines.validateViewRange(_,f)}convertModelPositionToViewPosition(_){return this._lines.convertModelPositionToViewPosition(_.lineNumber,_.column)}convertModelRangeToViewRange(_){return this._lines.convertModelRangeToViewRange(_)}modelPositionIsVisible(_){return this._lines.modelPositionIsVisible(_.lineNumber,_.column)}getModelLineViewLineCount(_){return this._lines.getModelLineViewLineCount(_)}}e.CoordinatesConverter=g;class p{constructor(_){this._counts=_,this._isValid=!1,this._validEndIndex=-1,this._modelToView=[],this._viewToModel=[]}_invalidate(_){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,_-1)}_ensureValid(){if(!this._isValid){for(let _=this._validEndIndex+1,f=this._counts.length;_0?this._modelToView[_-1]:0;this._modelToView[_]=y+v;for(let L=0;L0?this._modelToView[f-1]:0;return new C.PrefixSumIndexOfResult(f,_-v)}}class c{constructor(_,f,v,y,L,I,k,E){this.model=_,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=f,this._monospaceLineBreaksComputerFactory=v,this.fontInfo=y,this.tabSize=L,this.wrappingStrategy=I,this.wrappingColumn=k,this.wrappingIndent=E,this._constructLines(!0,null)}dispose(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])}createCoordinatesConverter(){return new g(this)}_constructLines(_,f){this.lines=[],_&&(this.hiddenAreasIds=[]);let v=this.model.getLinesContent();const y=v.length,L=this.createLineBreaksComputer();for(let F=0;Fthis.model.getDecorationRange(F)).sort(M.Range.compareRangesUsingStarts),T=1,O=0,A=-1,B=A+1=T&&D<=O,W=n(I[F],!R);k[F]=W.getViewLineCount(),this.lines[F]=W}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new p(k)}getHiddenAreas(){return this.hiddenAreasIds.map(_=>this.model.getDecorationRange(_))}_reduceRanges(_){if(_.length===0)return[];let f=_.map(I=>this.model.validateRange(I)).sort(M.Range.compareRangesUsingStarts),v=[],y=f[0].startLineNumber,L=f[0].endLineNumber;for(let I=1,k=f.length;IL+1?(v.push(new M.Range(y,1,L,1)),y=E.startLineNumber,L=E.endLineNumber):E.endLineNumber>L&&(L=E.endLineNumber)}return v.push(new M.Range(y,1,L,1)),v}setHiddenAreas(_){let f=this._reduceRanges(_),v=this.hiddenAreasIds.map(A=>this.model.getDecorationRange(A)).sort(M.Range.compareRangesUsingStarts);if(f.length===v.length){let A=!1;for(let B=0;B=I&&B<=k?this.lines[A].isVisible()&&(this.lines[A]=this.lines[A].setVisible(!1),F=!0):(O=!0,this.lines[A].isVisible()||(this.lines[A]=this.lines[A].setVisible(!0),F=!0)),F){let D=this.lines[A].getViewLineCount();this.prefixSumComputer.changeValue(A,D)}}return O||this.setHiddenAreas([]),!0}modelPositionIsVisible(_,f){return _<1||_>this.lines.length?!1:this.lines[_-1].isVisible()}getModelLineViewLineCount(_){return _<1||_>this.lines.length?1:this.lines[_-1].getViewLineCount()}setTabSize(_){return this.tabSize===_?!1:(this.tabSize=_,this._constructLines(!1,null),!0)}setWrappingSettings(_,f,v,y){const L=this.fontInfo.equals(_),I=this.wrappingStrategy===f,k=this.wrappingColumn===v,E=this.wrappingIndent===y;if(L&&I&&k&&E)return!1;const T=L&&I&&!k&&E;this.fontInfo=_,this.wrappingStrategy=f,this.wrappingColumn=v,this.wrappingIndent=y;let O=null;if(T){O=[];for(let A=0,B=this.lines.length;A2&&!this.lines[f-2].isVisible();let I=f===1?1:this.prefixSumComputer.getAccumulatedValue(f-2)+1,k=0,E=[],T=[];for(let O=0,A=y.length;OE?(O=f===1?1:this.prefixSumComputer.getAccumulatedValue(f-2)+1,A=O+E-1,D=A+1,R=D+(L-E)-1,T=!0):Lf?f:_|0}getActiveIndentGuide(_,f,v){_=this._toValidViewLineNumber(_),f=this._toValidViewLineNumber(f),v=this._toValidViewLineNumber(v);const y=this.convertViewPositionToModelPosition(_,this.getViewLineMinColumn(_)),L=this.convertViewPositionToModelPosition(f,this.getViewLineMinColumn(f)),I=this.convertViewPositionToModelPosition(v,this.getViewLineMinColumn(v)),k=this.model.getActiveIndentGuide(y.lineNumber,L.lineNumber,I.lineNumber),E=this.convertModelPositionToViewPosition(k.startLineNumber,1),T=this.convertModelPositionToViewPosition(k.endLineNumber,this.model.getLineMaxColumn(k.endLineNumber));return{startLineNumber:E.lineNumber,endLineNumber:T.lineNumber,indent:k.indent}}getViewLinesIndentGuides(_,f){_=this._toValidViewLineNumber(_),f=this._toValidViewLineNumber(f);const v=this.convertViewPositionToModelPosition(_,this.getViewLineMinColumn(_)),y=this.convertViewPositionToModelPosition(f,this.getViewLineMaxColumn(f));let L=[],I=[],k=[];const E=v.lineNumber-1,T=y.lineNumber-1;let O=null;for(let D=E;D<=T;D++){const R=this.lines[D];if(R.isVisible()){let W=R.getViewLineNumberOfModelPosition(0,D===E?v.column:1),x=R.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(D+1)),K=x-W+1,Y=0;K>1&&R.getViewLineMinColumn(this.model,D+1,x)===1&&(Y=W===0?1:2),I.push(K),k.push(Y),O===null&&(O=new N.Position(D+1,0))}else O!==null&&(L=L.concat(this.model.getLinesIndentGuides(O.lineNumber,D)),O=null)}O!==null&&(L=L.concat(this.model.getLinesIndentGuides(O.lineNumber,y.lineNumber)),O=null);const A=f-_+1;let B=new Array(A),F=0;for(let D=0,R=L.length;Df&&(D=!0,F=f-L+1);let R=B+F;if(A.getViewLinesData(this.model,T+1,B,R,L-_,v,E),L+=F,D)break}}return E}validateViewPosition(_,f,v){_=this._toValidViewLineNumber(_);let y=this.prefixSumComputer.getIndexOf(_-1),L=y.index,I=y.remainder,k=this.lines[L],E=k.getViewLineMinColumn(this.model,L+1,I),T=k.getViewLineMaxColumn(this.model,L+1,I);fT&&(f=T);let O=k.getModelColumnOfViewPosition(I,f);return this.model.validatePosition(new N.Position(L+1,O)).equals(v)?new N.Position(_,f):this.convertModelPositionToViewPosition(v.lineNumber,v.column)}validateViewRange(_,f){const v=this.validateViewPosition(_.startLineNumber,_.startColumn,f.getStartPosition()),y=this.validateViewPosition(_.endLineNumber,_.endColumn,f.getEndPosition());return new M.Range(v.lineNumber,v.column,y.lineNumber,y.column)}convertViewPositionToModelPosition(_,f){_=this._toValidViewLineNumber(_);let v=this.prefixSumComputer.getIndexOf(_-1),y=v.index,L=v.remainder,I=this.lines[y].getModelColumnOfViewPosition(L,f);return this.model.validatePosition(new N.Position(y+1,I))}convertViewRangeToModelRange(_){const f=this.convertViewPositionToModelPosition(_.startLineNumber,_.startColumn),v=this.convertViewPositionToModelPosition(_.endLineNumber,_.endColumn);return new M.Range(f.lineNumber,f.column,v.lineNumber,v.column)}convertModelPositionToViewPosition(_,f){const v=this.model.validatePosition(new N.Position(_,f)),y=v.lineNumber,L=v.column;let I=y-1,k=!1;for(;I>0&&!this.lines[I].isVisible();)I--,k=!0;if(I===0&&!this.lines[I].isVisible())return new N.Position(1,1);const E=1+(I===0?0:this.prefixSumComputer.getAccumulatedValue(I-1));let T;return k?T=this.lines[I].getViewPositionOfModelPosition(E,this.model.getLineMaxColumn(I+1)):T=this.lines[y-1].getViewPositionOfModelPosition(E,L),T}convertModelRangeToViewRange(_){let f=this.convertModelPositionToViewPosition(_.startLineNumber,_.startColumn),v=this.convertModelPositionToViewPosition(_.endLineNumber,_.endColumn);return _.startLineNumber===_.endLineNumber&&f.lineNumber!==v.lineNumber&&v.column===this.getViewLineMinColumn(v.lineNumber)?new M.Range(f.lineNumber,f.column,v.lineNumber-1,this.getViewLineMaxColumn(v.lineNumber-1)):new M.Range(f.lineNumber,f.column,v.lineNumber,v.column)}_getViewLineNumberForModelPosition(_,f){let v=_-1;if(this.lines[v].isVisible()){const L=1+(v===0?0:this.prefixSumComputer.getAccumulatedValue(v-1));return this.lines[v].getViewLineNumberOfModelPosition(L,f)}for(;v>0&&!this.lines[v].isVisible();)v--;if(v===0&&!this.lines[v].isVisible())return 1;const y=1+(v===0?0:this.prefixSumComputer.getAccumulatedValue(v-1));return this.lines[v].getViewLineNumberOfModelPosition(y,this.model.getLineMaxColumn(v+1))}getAllOverviewRulerDecorations(_,f,v){const y=this.model.getOverviewRulerDecorations(_,f),L=new h;for(const I of y){const k=I.options.overviewRuler,E=k?k.position:0;if(E!==0){const T=k.getColor(v),O=this._getViewLineNumberForModelPosition(I.range.startLineNumber,I.range.startColumn),A=this._getViewLineNumberForModelPosition(I.range.endLineNumber,I.range.endColumn);L.accept(T,O,A,E)}}return L.result}getDecorationsInRange(_,f,v){const y=this.convertViewPositionToModelPosition(_.startLineNumber,_.startColumn),L=this.convertViewPositionToModelPosition(_.endLineNumber,_.endColumn);if(L.lineNumber-y.lineNumber<=_.endLineNumber-_.startLineNumber)return this.model.getDecorationsInRange(new M.Range(y.lineNumber,1,L.lineNumber,L.column),f,v);let I=[];const k=y.lineNumber-1,E=L.lineNumber-1;let T=null;for(let F=k;F<=E;F++)if(this.lines[F].isVisible())T===null&&(T=new N.Position(F+1,F===k?y.column:1));else if(T!==null){const R=this.model.getLineMaxColumn(F);I=I.concat(this.model.getDecorationsInRange(new M.Range(T.lineNumber,T.column,F,R),f,v)),T=null}T!==null&&(I=I.concat(this.model.getDecorationsInRange(new M.Range(T.lineNumber,T.column,L.lineNumber,L.column),f,v)),T=null),I.sort((F,D)=>{const R=M.Range.compareRangesUsingStarts(F.range,D.range);return R===0?F.idD.id?1:0:R});let O=[],A=0,B=null;for(const F of I){const D=F.id;B!==D&&(B=D,O[A++]=F)}return O}}e.SplitLinesCollection=c;class o{constructor(){}isVisible(){return!0}setVisible(_){return _?this:s.INSTANCE}getLineBreakData(){return null}getViewLineCount(){return 1}getViewLineContent(_,f,v){return _.getLineContent(f)}getViewLineLength(_,f,v){return _.getLineLength(f)}getViewLineMinColumn(_,f,v){return _.getLineMinColumn(f)}getViewLineMaxColumn(_,f,v){return _.getLineMaxColumn(f)}getViewLineData(_,f,v){let y=_.getLineTokens(f),L=y.getLineContent();return new d.ViewLineData(L,!1,1,L.length+1,0,y.inflate())}getViewLinesData(_,f,v,y,L,I,k){if(!I[L]){k[L]=null;return}k[L]=this.getViewLineData(_,f,0)}getModelColumnOfViewPosition(_,f){return f}getViewPositionOfModelPosition(_,f){return new N.Position(_,f)}getViewLineNumberOfModelPosition(_,f){return _}}o.INSTANCE=new o;class s{constructor(){}isVisible(){return!1}setVisible(_){return _?o.INSTANCE:this}getLineBreakData(){return null}getViewLineCount(){return 0}getViewLineContent(_,f,v){throw new Error("Not supported")}getViewLineLength(_,f,v){throw new Error("Not supported")}getViewLineMinColumn(_,f,v){throw new Error("Not supported")}getViewLineMaxColumn(_,f,v){throw new Error("Not supported")}getViewLineData(_,f,v){throw new Error("Not supported")}getViewLinesData(_,f,v,y,L,I,k){throw new Error("Not supported")}getModelColumnOfViewPosition(_,f){throw new Error("Not supported")}getViewPositionOfModelPosition(_,f){throw new Error("Not supported")}getViewLineNumberOfModelPosition(_,f){throw new Error("Not supported")}}s.INSTANCE=new s;class a{constructor(_,f){this._lineBreakData=_,this._isVisible=f}isVisible(){return this._isVisible}setVisible(_){return this._isVisible=_,this}getLineBreakData(){return this._lineBreakData}getViewLineCount(){return this._isVisible?this._lineBreakData.breakOffsets.length:0}getInputStartOffsetOfOutputLineIndex(_){return d.LineBreakData.getInputOffsetOfOutputPosition(this._lineBreakData.breakOffsets,_,0)}getInputEndOffsetOfOutputLineIndex(_,f,v){return v+1===this._lineBreakData.breakOffsets.length?_.getLineMaxColumn(f)-1:d.LineBreakData.getInputOffsetOfOutputPosition(this._lineBreakData.breakOffsets,v+1,0)}getViewLineContent(_,f,v){if(!this._isVisible)throw new Error("Not supported");let y=this.getInputStartOffsetOfOutputLineIndex(v),L=this.getInputEndOffsetOfOutputLineIndex(_,f,v),I=_.getValueInRange({startLineNumber:f,startColumn:y+1,endLineNumber:f,endColumn:L+1});return v>0&&(I=r(this._lineBreakData.wrappedTextIndentLength)+I),I}getViewLineLength(_,f,v){if(!this._isVisible)throw new Error("Not supported");let y=this.getInputStartOffsetOfOutputLineIndex(v),I=this.getInputEndOffsetOfOutputLineIndex(_,f,v)-y;return v>0&&(I=this._lineBreakData.wrappedTextIndentLength+I),I}getViewLineMinColumn(_,f,v){if(!this._isVisible)throw new Error("Not supported");return v>0?this._lineBreakData.wrappedTextIndentLength+1:1}getViewLineMaxColumn(_,f,v){if(!this._isVisible)throw new Error("Not supported");return this.getViewLineContent(_,f,v).length+1}getViewLineData(_,f,v){if(!this._isVisible)throw new Error("Not supported");let y=this.getInputStartOffsetOfOutputLineIndex(v),L=this.getInputEndOffsetOfOutputLineIndex(_,f,v),I=_.getValueInRange({startLineNumber:f,startColumn:y+1,endLineNumber:f,endColumn:L+1});v>0&&(I=r(this._lineBreakData.wrappedTextIndentLength)+I);let k=v>0?this._lineBreakData.wrappedTextIndentLength+1:1,E=I.length+1,T=v+10&&(O=this._lineBreakData.wrappedTextIndentLength);let A=_.getLineTokens(f);const B=v===0?0:this._lineBreakData.breakOffsetsVisibleColumn[v-1];return new d.ViewLineData(I,T,k,E,B,A.sliceAndInflate(y,L,O))}getViewLinesData(_,f,v,y,L,I,k){if(!this._isVisible)throw new Error("Not supported");for(let E=v;E0&&(v0&&(L+=this._lineBreakData.wrappedTextIndentLength),new N.Position(_+y,L)}getViewLineNumberOfModelPosition(_,f){if(!this._isVisible)throw new Error("Not supported");const v=d.LineBreakData.getOutputPositionOfInputOffset(this._lineBreakData.breakOffsets,f-1);return _+v.outputLineIndex}}e.SplitLine=a;let u=[""];function r(m){if(m>=u.length)for(let _=1;_<=m;_++)u[_]=i(_);return u[m]}function i(m){return new Array(m+1).join(" ")}function n(m,_){return m===null?_?o.INSTANCE:s.INSTANCE:new a(m,_)}class t{constructor(_){this._lines=_}_validPosition(_){return this._lines.model.validatePosition(_)}_validRange(_){return this._lines.model.validateRange(_)}convertViewPositionToModelPosition(_){return this._validPosition(_)}convertViewRangeToModelRange(_){return this._validRange(_)}validateViewPosition(_,f){return this._validPosition(f)}validateViewRange(_,f){return this._validRange(f)}convertModelPositionToViewPosition(_){return this._validPosition(_)}convertModelRangeToViewRange(_){return this._validRange(_)}modelPositionIsVisible(_){const f=this._lines.model.getLineCount();return!(_.lineNumber<1||_.lineNumber>f)}getModelLineViewLineCount(_){return 1}}e.IdentityCoordinatesConverter=t;class l{constructor(_){this.model=_}dispose(){}createCoordinatesConverter(){return new t(this)}getHiddenAreas(){return[]}setHiddenAreas(_){return!1}setTabSize(_){return!1}setWrappingSettings(_,f,v,y){return!1}createLineBreaksComputer(){let _=[];return{addRequest:(f,v)=>{_.push(null)},finalize:()=>_}}onModelFlushed(){}onModelLinesDeleted(_,f,v){return new S.ViewLinesDeletedEvent(f,v)}onModelLinesInserted(_,f,v,y){return new S.ViewLinesInsertedEvent(f,v)}onModelLineChanged(_,f,v){return[!1,new S.ViewLinesChangedEvent(f,f),null,null]}acceptVersionId(_){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(_,f,v){return{startLineNumber:_,endLineNumber:_,indent:0}}getViewLinesIndentGuides(_,f){const v=f-_+1;let y=new Array(v);for(let L=0;L=f){v>k&&(L[L.length-1]=v);return}L.push(y,f,v)}else this.result[_]=[y,f,v]}}}),define(Q[540],J([0,1,29,2,8,38,14,3,18,243,244,170,398,539,63,455,15,17,242,42,173]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewModel=void 0;const h=!0;class m extends N.Disposable{constructor(f,v,y,L,I,k){super();if(this._editorId=f,this._configuration=v,this.model=y,this._eventDispatcher=new l.ViewModelEventDispatcher,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new t.CursorConfiguration(this.model.getLanguageIdentifier(),this.model.getOptions(),this._configuration),this._tokenizeViewportSoon=this._register(new r.RunOnceScheduler(()=>this.tokenizeViewport(),50)),this._updateConfigurationViewLineCount=this._register(new r.RunOnceScheduler(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStartLine=-1,this._viewportStartLineTrackedRange=null,this._viewportStartLineDelta=0,h&&this.model.isTooLargeForTokenization())this._lines=new s.IdentityLinesCollection(this.model);else{const E=this._configuration.options,T=E.get(38),O=E.get(118),A=E.get(125),B=E.get(117);this._lines=new s.SplitLinesCollection(this.model,L,I,T,this.model.getOptions().tabSize,O,A.wrappingColumn,B)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new n.Cursor(y,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new o.ViewLayout(this._configuration,this.getLineCount(),k)),this._register(this.viewLayout.onDidScroll(E=>{E.scrollTopChanged&&this._tokenizeViewportSoon.schedule(),this._eventDispatcher.emitSingleViewEvent(new c.ViewScrollChangedEvent(E)),this._eventDispatcher.emitOutgoingEvent(new l.ScrollChangedEvent(E.oldScrollWidth,E.oldScrollLeft,E.oldScrollHeight,E.oldScrollTop,E.scrollWidth,E.scrollLeft,E.scrollHeight,E.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(E=>{this._eventDispatcher.emitOutgoingEvent(E)})),this._decorations=new u.ViewModelDecorations(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(E=>{try{const T=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(T,E)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(p.MinimapTokensColorTracker.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new c.ViewTokensColorsChangedEvent)})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this.invalidateMinimapColorCache(),this._viewportStartLineTrackedRange=this.model._setTrackedRange(this._viewportStartLineTrackedRange,null,1),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(f){this._eventDispatcher.addViewEventHandler(f)}removeViewEventHandler(f){this._eventDispatcher.removeViewEventHandler(f)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}tokenizeViewport(){const f=this.viewLayout.getLinesViewportData(),v=this.coordinatesConverter.convertViewPositionToModelPosition(new S.Position(f.startLineNumber,1)),y=this.coordinatesConverter.convertViewPositionToModelPosition(new S.Position(f.endLineNumber,1));this.model.tokenizeViewport(v.lineNumber,y.lineNumber)}setHasFocus(f){this._hasFocus=f,this._cursor.setHasFocus(f),this._eventDispatcher.emitSingleViewEvent(new c.ViewFocusChangedEvent(f)),this._eventDispatcher.emitOutgoingEvent(new l.FocusChangedEvent(!f,f))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new c.ViewCompositionStartEvent)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new c.ViewCompositionEndEvent)}onDidColorThemeChange(){this._eventDispatcher.emitSingleViewEvent(new c.ViewThemeChangedEvent)}_onConfigurationChanged(f,v){let y=null;if(this._viewportStartLine!==-1){let A=new S.Position(this._viewportStartLine,this.getLineMinColumn(this._viewportStartLine));y=this.coordinatesConverter.convertViewPositionToModelPosition(A)}let L=!1;const I=this._configuration.options,k=I.get(38),E=I.get(118),T=I.get(125),O=I.get(117);if(this._lines.setWrappingSettings(k,E,T.wrappingColumn,O)&&(f.emitViewEvent(new c.ViewFlushedEvent),f.emitViewEvent(new c.ViewLineMappingChangedEvent),f.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(f),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.getCurrentScrollTop()!==0&&(L=!0),this._updateConfigurationViewLineCount.schedule()),v.hasChanged(75)&&(this._decorations.reset(),f.emitViewEvent(new c.ViewDecorationsChangedEvent(null))),f.emitViewEvent(new c.ViewConfigurationChangedEvent(v)),this.viewLayout.onConfigurationChanged(v),L&&y){const A=this.coordinatesConverter.convertModelPositionToViewPosition(y),B=this.viewLayout.getVerticalOffsetForLineNumber(A.lineNumber);this.viewLayout.setScrollPosition({scrollTop:B+this._viewportStartLineDelta},1)}t.CursorConfiguration.shouldRecreate(v)&&(this.cursorConfig=new t.CursorConfiguration(this.model.getLanguageIdentifier(),this.model.getOptions(),this._configuration),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeRawContentFast(f=>{try{const v=this._eventDispatcher.beginEmitViewEvents();let y=!1,L=!1;const I=f.changes,k=f.versionId,E=this._lines.createLineBreaksComputer();for(const A of I)switch(A.changeType){case 4:{for(const B of A.detail)E.addRequest(B,null);break}case 2:{E.addRequest(A.detail,null);break}}const T=E.finalize();let O=0;for(const A of I)switch(A.changeType){case 1:{this._lines.onModelFlushed(),v.emitViewEvent(new c.ViewFlushedEvent),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),y=!0;break}case 3:{const B=this._lines.onModelLinesDeleted(k,A.fromLineNumber,A.toLineNumber);B!==null&&(v.emitViewEvent(B),this.viewLayout.onLinesDeleted(B.fromLineNumber,B.toLineNumber)),y=!0;break}case 4:{const B=T.slice(O,O+A.detail.length);O+=A.detail.length;const F=this._lines.onModelLinesInserted(k,A.fromLineNumber,A.toLineNumber,B);F!==null&&(v.emitViewEvent(F),this.viewLayout.onLinesInserted(F.fromLineNumber,F.toLineNumber)),y=!0;break}case 2:{const B=T[O];O++;const[F,D,R,W]=this._lines.onModelLineChanged(k,A.lineNumber,B);L=F,D&&v.emitViewEvent(D),R&&(v.emitViewEvent(R),this.viewLayout.onLinesInserted(R.fromLineNumber,R.toLineNumber)),W&&(v.emitViewEvent(W),this.viewLayout.onLinesDeleted(W.fromLineNumber,W.toLineNumber));break}case 5:break}this._lines.acceptVersionId(k),this.viewLayout.onHeightMaybeChanged(),!y&&L&&(v.emitViewEvent(new c.ViewLineMappingChangedEvent),v.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(v),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}if(this._viewportStartLine=-1,this._configuration.setMaxLineNumber(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&this._viewportStartLineTrackedRange){const v=this.model._getTrackedRange(this._viewportStartLineTrackedRange);if(v){const y=this.coordinatesConverter.convertModelPositionToViewPosition(v.getStartPosition()),L=this.viewLayout.getVerticalOffsetForLineNumber(y.lineNumber);this.viewLayout.setScrollPosition({scrollTop:L+this._viewportStartLineDelta},1)}}try{const v=this._eventDispatcher.beginEmitViewEvents();this._cursor.onModelContentChanged(v,f)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(this.model.onDidChangeTokens(f=>{let v=[];for(let y=0,L=f.ranges.length;y{this._eventDispatcher.emitSingleViewEvent(new c.ViewLanguageConfigurationEvent),this.cursorConfig=new t.CursorConfiguration(this.model.getLanguageIdentifier(),this.model.getOptions(),this._configuration),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeLanguage(f=>{this.cursorConfig=new t.CursorConfiguration(this.model.getLanguageIdentifier(),this.model.getOptions(),this._configuration),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeOptions(f=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const v=this._eventDispatcher.beginEmitViewEvents();v.emitViewEvent(new c.ViewFlushedEvent),v.emitViewEvent(new c.ViewLineMappingChangedEvent),v.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(v),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new t.CursorConfiguration(this.model.getLanguageIdentifier(),this.model.getOptions(),this._configuration),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeDecorations(f=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new c.ViewDecorationsChangedEvent(f))}))}setHiddenAreas(f){try{const v=this._eventDispatcher.beginEmitViewEvents();this._lines.setHiddenAreas(f)&&(v.emitViewEvent(new c.ViewFlushedEvent),v.emitViewEvent(new c.ViewLineMappingChangedEvent),v.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(v),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}getVisibleRangesPlusViewportAboveBelow(){const f=this._configuration.options.get(124),v=this._configuration.options.get(53),y=Math.max(20,Math.round(f.height/v)),L=this.viewLayout.getLinesViewportData(),I=Math.max(1,L.completelyVisibleStartLineNumber-y),k=Math.min(this.getLineCount(),L.completelyVisibleEndLineNumber+y);return this._toModelVisibleRanges(new C.Range(I,this.getLineMinColumn(I),k,this.getLineMaxColumn(k)))}getVisibleRanges(){const f=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(f)}_toModelVisibleRanges(f){const v=this.coordinatesConverter.convertViewRangeToModelRange(f),y=this._lines.getHiddenAreas();if(y.length===0)return[v];let L=[],I=0,k=v.startLineNumber,E=v.startColumn,T=v.endLineNumber,O=v.endColumn;for(let A=0,B=y.length;AT||(kA.startLineNumber);let O="";for(let A=0;A0&&T[A-1]===T[A]||(O+=this.model.getLineContent(T[A])+L);return O}if(I&&v){let T=[],O=0;for(const A of f){const B=A.startLineNumber;A.isEmpty()?B!==O&&T.push(this.model.getLineContent(B)):T.push(this.model.getValueInRange(A,y?2:0)),O=B}return T.length===1?T[0]:T}let E=[];for(const T of f)T.isEmpty()||E.push(this.model.getValueInRange(T,y?2:0));return E.length===1?E[0]:E}getRichTextToCopy(f,v){const y=this.model.getLanguageIdentifier();if(y.id===1||f.length!==1)return null;let L=f[0];if(L.isEmpty()){if(!v)return null;const T=L.startLineNumber;L=new C.Range(T,this.model.getLineMinColumn(T),T,this.model.getLineMaxColumn(T))}const I=this._configuration.options.get(38),k=this._getColorMap(),E=I.fontFamily===w.EDITOR_FONT_DEFAULTS.fontFamily?I.fontFamily:`'${I.fontFamily}', ${w.EDITOR_FONT_DEFAULTS.fontFamily}`;return{mode:y.language,html:`
    `+this._getHTMLToCopy(L,k)+"
    "}}_getHTMLToCopy(f,v){const y=f.startLineNumber,L=f.startColumn,I=f.endLineNumber,k=f.endColumn,E=this.getTabSize();let T="";for(let O=y;O<=I;O++){const A=this.model.getLineTokens(O),B=A.getLineContent(),F=O===y?L-1:0,D=O===I?k-1:B.length;B===""?T+="
    ":T+=g.tokenizeLineToHTML(B,A.inflate(),v,F,D,E,i.isWindows)}return T}_getColorMap(){let f=d.TokenizationRegistry.getColorMap(),v=["#000000"];if(f)for(let y=1,L=f.length;ythis._cursor.setStates(L,f,v,y))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}setCursorColumnSelectData(f){this._cursor.setCursorColumnSelectData(f)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(f){this._cursor.setPrevEditOperationType(f)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(f,v,y=0){this._withViewEventsCollector(L=>this._cursor.setSelections(L,f,v,y))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(f){this._withViewEventsCollector(v=>this._cursor.restoreState(v,f))}_executeCursorEdit(f){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new l.ReadOnlyEditAttemptEvent);return}this._withViewEventsCollector(f)}executeEdits(f,v,y){this._executeCursorEdit(L=>this._cursor.executeEdits(L,f,v,y))}startComposition(){this._cursor.setIsDoingComposition(!0),this._executeCursorEdit(f=>this._cursor.startComposition(f))}endComposition(f){this._cursor.setIsDoingComposition(!1),this._executeCursorEdit(v=>this._cursor.endComposition(v,f))}type(f,v){this._executeCursorEdit(y=>this._cursor.type(y,f,v))}compositionType(f,v,y,L,I){this._executeCursorEdit(k=>this._cursor.compositionType(k,f,v,y,L,I))}paste(f,v,y,L){this._executeCursorEdit(I=>this._cursor.paste(I,f,v,y,L))}cut(f){this._executeCursorEdit(v=>this._cursor.cut(v,f))}executeCommand(f,v){this._executeCursorEdit(y=>this._cursor.executeCommand(y,f,v))}executeCommands(f,v){this._executeCursorEdit(y=>this._cursor.executeCommands(y,f,v))}revealPrimaryCursor(f,v){this._withViewEventsCollector(y=>this._cursor.revealPrimary(y,f,v,0))}revealTopMostCursor(f){const v=this._cursor.getTopMostViewPosition(),y=new C.Range(v.lineNumber,v.column,v.lineNumber,v.column);this._withViewEventsCollector(L=>L.emitViewEvent(new c.ViewRevealRangeRequestEvent(f,y,null,0,!0,0)))}revealBottomMostCursor(f){const v=this._cursor.getBottomMostViewPosition(),y=new C.Range(v.lineNumber,v.column,v.lineNumber,v.column);this._withViewEventsCollector(L=>L.emitViewEvent(new c.ViewRevealRangeRequestEvent(f,y,null,0,!0,0)))}revealRange(f,v,y,L,I){this._withViewEventsCollector(k=>k.emitViewEvent(new c.ViewRevealRangeRequestEvent(f,y,null,L,v,I)))}getVerticalOffsetForLineNumber(f){return this.viewLayout.getVerticalOffsetForLineNumber(f)}getScrollTop(){return this.viewLayout.getCurrentScrollTop()}setScrollTop(f,v){this.viewLayout.setScrollPosition({scrollTop:f},v)}setScrollPosition(f,v){this.viewLayout.setScrollPosition(f,v)}deltaScrollNow(f,v){this.viewLayout.deltaScrollNow(f,v)}changeWhitespace(f){this.viewLayout.changeWhitespace(f)&&(this._eventDispatcher.emitSingleViewEvent(new c.ViewZonesChangedEvent),this._eventDispatcher.emitOutgoingEvent(new l.ViewZonesChangedEvent))}setMaxLineWidth(f){this.viewLayout.setMaxLineWidth(f)}_withViewEventsCollector(f){try{const v=this._eventDispatcher.beginEmitViewEvents();f(v)}finally{this._eventDispatcher.endEmitViewEvents()}}}e.ViewModel=m}),define(Q[245],J([0,1,19,23,12,51,3,18,54,134]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OutlineModel=e.OutlineGroup=e.OutlineElement=e.TreeElement=void 0;class p{remove(){this.parent&&this.parent.children.delete(this.id)}static findId(u,r){let i;typeof u=="string"?i=`${r.id}/${u}`:(i=`${r.id}/${u.name}`,r.children.get(i)!==void 0&&(i=`${r.id}/${u.name}_${u.range.startLineNumber}_${u.range.startColumn}`));let n=i;for(let t=0;r.children.get(n)!==void 0;t++)n=`${i}_${t}`;return n}static empty(u){return u.children.size===0}}e.TreeElement=p;class c extends p{constructor(u,r,i){super();this.id=u,this.parent=r,this.symbol=i,this.children=new Map}}e.OutlineElement=c;class o extends p{constructor(u,r,i,n){super();this.id=u,this.parent=r,this.label=i,this.order=n,this.children=new Map}}e.OutlineGroup=o;class s extends p{constructor(u){super();this.uri=u,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}static create(u,r){let i=this._keys.for(u,!0),n=s._requests.get(i);if(!n){let t=new N.CancellationTokenSource;n={promiseCnt:0,source:t,promise:s._create(u,t.token),model:void 0},s._requests.set(i,n);const l=Date.now();n.promise.then(()=>{this._requestDurations.update(u,Date.now()-l)})}return n.model?Promise.resolve(n.model):(n.promiseCnt+=1,r.onCancellationRequested(()=>{--n.promiseCnt==0&&(n.source.cancel(),s._requests.delete(i))}),new Promise((t,l)=>{n.promise.then(h=>{n.model=h,t(h)},h=>{s._requests.delete(i),l(h)})}))}static _create(u,r){const i=new N.CancellationTokenSource(r),n=new s(u.uri),t=C.DocumentSymbolProviderRegistry.ordered(u),l=t.map((m,_)=>{var f;let v=p.findId(`provider_${_}`,n),y=new o(v,n,(f=m.displayName)!==null&&f!==void 0?f:"Unknown Outline Provider",_);return Promise.resolve(m.provideDocumentSymbols(u,i.token)).then(L=>{for(const I of L||[])s._makeOutlineElement(I,y);return y},L=>(M.onUnexpectedExternalError(L),y)).then(L=>{p.empty(L)?L.remove():n._groups.set(v,L)})}),h=C.DocumentSymbolProviderRegistry.onDidChange(()=>{const m=C.DocumentSymbolProviderRegistry.ordered(u);b.equals(m,t)||i.cancel()});return Promise.all(l).then(()=>i.token.isCancellationRequested&&!r.isCancellationRequested?s._create(u,r):n._compact()).finally(()=>{h.dispose()})}static _makeOutlineElement(u,r){let i=p.findId(u,r),n=new c(i,r,u);if(u.children)for(const t of u.children)s._makeOutlineElement(t,n);r.children.set(n.id,n)}_compact(){let u=0;for(const[r,i]of this._groups)i.children.size===0?this._groups.delete(r):u+=1;if(u!==1)this.children=this._groups;else{let r=d.Iterable.first(this._groups.values());for(let[,i]of r.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const u=[];for(const r of this.children.values())r instanceof c?u.push(r.symbol):u.push(...d.Iterable.map(r.children.values(),i=>i.symbol));return u.sort((r,i)=>S.Range.compareRangesUsingStarts(r.range,i.range))}asListOfDocumentSymbols(){const u=this.getTopLevelSymbols(),r=[];return s._flattenDocumentSymbols(r,u,""),r.sort((i,n)=>S.Range.compareRangesUsingStarts(i.range,n.range))}static _flattenDocumentSymbols(u,r,i){for(const n of r)u.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&s._flattenDocumentSymbols(u,n.children,n.name)}}e.OutlineModel=s,s._requestDurations=new g.LanguageFeatureRequestDelays(C.DocumentSymbolProviderRegistry,350),s._requests=new w.LRUCache(9,.75),s._keys=new class{constructor(){this._counter=1,this._data=new WeakMap}for(a,u){return`${a.id}/${u?a.getVersionId():""}/${this._hash(C.DocumentSymbolProviderRegistry.all(a))}`}_hash(a){let u="";for(const r of a){let i=this._data.get(r);typeof i=="undefined"&&(i=this._counter++,this._data.set(r,i)),u+=i}return u}}}),define(Q[541],J([0,1,174,31,41]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.computeRanges=e.RangesCollector=e.IndentRangeProvider=e.ID_INDENT_PROVIDER=void 0;const w=5e3;e.ID_INDENT_PROVIDER="indent";class S{constructor(p){this.editorModel=p,this.id=e.ID_INDENT_PROVIDER}dispose(){}compute(p){let c=M.LanguageConfigurationRegistry.getFoldingRules(this.editorModel.getLanguageIdentifier().id),o=c&&!!c.offSide,s=c&&c.markers;return Promise.resolve(d(this.editorModel,o,s))}}e.IndentRangeProvider=S;class C{constructor(p){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=p}insertFirst(p,c,o){if(!(p>b.MAX_LINE_NUMBER||c>b.MAX_LINE_NUMBER)){let s=this._length;this._startIndexes[s]=p,this._endIndexes[s]=c,this._length++,o<1e3&&(this._indentOccurrences[o]=(this._indentOccurrences[o]||0)+1)}}toIndentRanges(p){if(this._length<=this._foldingRangesLimit){let c=new Uint32Array(this._length),o=new Uint32Array(this._length);for(let s=this._length-1,a=0;s>=0;s--,a++)c[a]=this._startIndexes[s],o[a]=this._endIndexes[s];return new b.FoldingRegions(c,o)}else{let c=0,o=this._indentOccurrences.length;for(let r=0;rthis._foldingRangesLimit){o=r;break}c+=i}}const s=p.getOptions().tabSize;let a=new Uint32Array(this._foldingRangesLimit),u=new Uint32Array(this._foldingRangesLimit);for(let r=this._length-1,i=0;r>=0;r--){let n=this._startIndexes[r],t=p.getLineContent(n),l=N.TextModel.computeIndentLevel(t,s);(l0;n--){let t=g.getLineContent(n),l=N.TextModel.computeIndentLevel(t,s),h=r[r.length-1];if(l===-1){p&&(h.endAbove=n);continue}let m;if(u&&(m=t.match(u)))if(m[1]){let _=r.length-1;for(;_>0&&r[_].indent!==-2;)_--;if(_>0){r.length=_+1,h=r[_],a.insertFirst(n,h.line,l),h.line=n,h.indent=l,h.endAbove=n;continue}}else{r.push({indent:-2,endAbove:n,line:n});continue}if(h.indent>l){do r.pop(),h=r[r.length-1];while(h.indent>l);let _=h.endAbove-1;_-n>=1&&a.insertFirst(n,_,l)}h.indent===l?h.endAbove=n:r.push({indent:l,endAbove:n,line:n})}return a.toIndentRanges(g)}e.computeRanges=d}),define(Q[542],J([0,1,8,179,3,21,109,41,229]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MoveLinesCommand=void 0;class g{constructor(c,o,s){this._selection=c,this._isMovingDown=o,this._autoIndent=s,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(c,o){let s=c.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s){this._selectionId=o.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=o.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let a=this._selection;a.startLineNumberc.getLineTokens(l),getLanguageIdentifier:()=>c.getLanguageIdentifier(),getLanguageIdAtPosition:(l,h)=>c.getLanguageIdAtPosition(l,h),getLineContent:null};if(a.startLineNumber===a.endLineNumber&&c.getLineMaxColumn(a.startLineNumber)===1){let l=a.startLineNumber,h=this._isMovingDown?l+1:l-1;c.getLineMaxColumn(h)===1?o.addEditOperation(new M.Range(1,1,1,1),null):(o.addEditOperation(new M.Range(l,1,l,1),c.getLineContent(h)),o.addEditOperation(new M.Range(h,1,h,c.getLineMaxColumn(h)),null)),a=new w.Selection(h,1,h,1)}else{let l,h;if(this._isMovingDown){l=a.endLineNumber+1,h=c.getLineContent(l),o.addEditOperation(new M.Range(l-1,c.getLineMaxColumn(l-1),l,c.getLineMaxColumn(l)),null);let m=h;if(this.shouldAutoIndent(c,a)){let _=this.matchEnterRule(c,n,u,l,a.startLineNumber-1);if(_!==null){let v=b.getLeadingWhitespace(c.getLineContent(l)),y=_+d.getSpaceCnt(v,u);m=d.generateIndent(y,u,i)+this.trimLeft(h)}else{t.getLineContent=y=>y===a.startLineNumber?c.getLineContent(l):c.getLineContent(y);let v=C.LanguageConfigurationRegistry.getGoodIndentForLine(this._autoIndent,t,c.getLanguageIdAtPosition(l,1),a.startLineNumber,n);if(v!==null){let y=b.getLeadingWhitespace(c.getLineContent(l)),L=d.getSpaceCnt(v,u),I=d.getSpaceCnt(y,u);L!==I&&(m=d.generateIndent(L,u,i)+this.trimLeft(h))}}o.addEditOperation(new M.Range(a.startLineNumber,1,a.startLineNumber,1),m+` +`);let f=this.matchEnterRuleMovingDown(c,n,u,a.startLineNumber,l,m);if(f!==null)f!==0&&this.getIndentEditsOfMovingBlock(c,o,a,u,i,f);else{t.getLineContent=y=>y===a.startLineNumber?m:y>=a.startLineNumber+1&&y<=a.endLineNumber+1?c.getLineContent(y-1):c.getLineContent(y);let v=C.LanguageConfigurationRegistry.getGoodIndentForLine(this._autoIndent,t,c.getLanguageIdAtPosition(l,1),a.startLineNumber+1,n);if(v!==null){const y=b.getLeadingWhitespace(c.getLineContent(a.startLineNumber)),L=d.getSpaceCnt(v,u),I=d.getSpaceCnt(y,u);if(L!==I){const k=L-I;this.getIndentEditsOfMovingBlock(c,o,a,u,i,k)}}}}else o.addEditOperation(new M.Range(a.startLineNumber,1,a.startLineNumber,1),m+` +`)}else if(l=a.startLineNumber-1,h=c.getLineContent(l),o.addEditOperation(new M.Range(l,1,l+1,1),null),o.addEditOperation(new M.Range(a.endLineNumber,c.getLineMaxColumn(a.endLineNumber),a.endLineNumber,c.getLineMaxColumn(a.endLineNumber)),` +`+h),this.shouldAutoIndent(c,a)){t.getLineContent=_=>_===l?c.getLineContent(a.startLineNumber):c.getLineContent(_);let m=this.matchEnterRule(c,n,u,a.startLineNumber,a.startLineNumber-2);if(m!==null)m!==0&&this.getIndentEditsOfMovingBlock(c,o,a,u,i,m);else{let _=C.LanguageConfigurationRegistry.getGoodIndentForLine(this._autoIndent,t,c.getLanguageIdAtPosition(a.startLineNumber,1),l,n);if(_!==null){let f=b.getLeadingWhitespace(c.getLineContent(a.startLineNumber)),v=d.getSpaceCnt(_,u),y=d.getSpaceCnt(f,u);if(v!==y){let L=v-y;this.getIndentEditsOfMovingBlock(c,o,a,u,i,L)}}}}}this._selectionId=o.trackSelection(a)}buildIndentConverter(c,o,s){return{shiftIndent:a=>N.ShiftCommand.shiftIndent(a,a.length+1,c,o,s),unshiftIndent:a=>N.ShiftCommand.unshiftIndent(a,a.length+1,c,o,s)}}parseEnterResult(c,o,s,a,u){if(u){let r=u.indentation;u.indentAction===S.IndentAction.None||u.indentAction===S.IndentAction.Indent?r=u.indentation+u.appendText:u.indentAction===S.IndentAction.IndentOutdent?r=u.indentation:u.indentAction===S.IndentAction.Outdent&&(r=o.unshiftIndent(u.indentation)+u.appendText);let i=c.getLineContent(a);if(this.trimLeft(i).indexOf(this.trimLeft(r))>=0){let n=b.getLeadingWhitespace(c.getLineContent(a)),t=b.getLeadingWhitespace(r),l=C.LanguageConfigurationRegistry.getIndentMetadata(c,a);l!==null&&l&2&&(t=o.unshiftIndent(t));let h=d.getSpaceCnt(t,s),m=d.getSpaceCnt(n,s);return h-m}}return null}matchEnterRuleMovingDown(c,o,s,a,u,r){if(b.lastNonWhitespaceIndex(r)>=0){let i=c.getLineMaxColumn(u),n=C.LanguageConfigurationRegistry.getEnterAction(this._autoIndent,c,new M.Range(u,i,u,i));return this.parseEnterResult(c,o,s,a,n)}else{let i=a-1;for(;i>=1;){let l=c.getLineContent(i);if(b.lastNonWhitespaceIndex(l)>=0)break;i--}if(i<1||a>c.getLineCount())return null;let n=c.getLineMaxColumn(i),t=C.LanguageConfigurationRegistry.getEnterAction(this._autoIndent,c,new M.Range(i,n,i,n));return this.parseEnterResult(c,o,s,a,t)}}matchEnterRule(c,o,s,a,u,r){let i=u;for(;i>=1;){let l;if(i===u&&r!==void 0?l=r:l=c.getLineContent(i),b.lastNonWhitespaceIndex(l)>=0)break;i--}if(i<1||a>c.getLineCount())return null;let n=c.getLineMaxColumn(i),t=C.LanguageConfigurationRegistry.getEnterAction(this._autoIndent,c,new M.Range(i,n,i,n));return this.parseEnterResult(c,o,s,a,t)}trimLeft(c){return c.replace(/^\s+/,"")}shouldAutoIndent(c,o){if(this._autoIndent<4||!c.isCheapToTokenize(o.startLineNumber))return!1;let s=c.getLanguageIdAtPosition(o.startLineNumber,1),a=c.getLanguageIdAtPosition(o.endLineNumber,1);return!(s!==a||C.LanguageConfigurationRegistry.getIndentRulesSupport(s)===null)}getIndentEditsOfMovingBlock(c,o,s,a,u,r){for(let i=s.startLineNumber;i<=s.endLineNumber;i++){let n=c.getLineContent(i),t=b.getLeadingWhitespace(n),h=d.getSpaceCnt(t,a)+r,m=d.generateIndent(h,a,u);m!==t&&(o.addEditOperation(new M.Range(i,1,i,t.length+1),m),i===s.endLineNumber&&s.endColumn<=t.length+1&&m===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(c,o){let s=o.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(s=s.setEndPosition(s.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&s.startLineNumber{const h=this._getWidth(l);this.domNode.style.width=h+"px",this.domNode.style.left=this._getLeft(l)+"px",this._onWidth(h)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(n=>{this._viewZone&&n.removeZone(this._viewZone.id),this._viewZone=null}),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[],this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new u(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(n){n.frameColor&&(this.options.frameColor=n.frameColor),n.arrowColor&&(this.options.arrowColor=n.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let n=this.options.frameColor.toString();this.container.style.borderTopColor=n,this.container.style.borderBottomColor=n}if(this._arrow&&this.options.arrowColor){let n=this.options.arrowColor.toString();this._arrow.color=n}}_getWidth(n){return n.width-n.minimap.minimapWidth-n.verticalScrollbarWidth}_getLeft(n){return n.minimap.minimapWidth>0&&n.minimap.minimapLeft===0?n.minimap.minimapWidth:0}_onViewZoneTop(n){this.domNode.style.top=n+"px"}_onViewZoneHeight(n){if(this.domNode.style.height=`${n}px`,this.container){let t=n-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const l=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(l))}this._resizeSash&&this._resizeSash.layout()}get position(){const[n]=this._positionMarkerId;if(!!n){const t=this.editor.getModel();if(!!t){const l=t.getDecorationRange(n);if(!!l)return l.getStartPosition()}}}show(n,t){const l=d.Range.isIRange(n)?d.Range.lift(n):d.Range.fromPositions(n);this._isShowing=!0,this._showImpl(l,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:l,options:g.ModelDecorationOptions.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(n=>{this._viewZone&&n.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()}_decoratingElementsHeight(){let n=this.editor.getOption(53),t=0;if(this.options.showArrow){let l=Math.round(n/3);t+=2*l}if(this.options.showFrame){let l=Math.round(n/9);t+=2*l}return t}_showImpl(n,t){const l=n.getStartPosition(),h=this.editor.getLayoutInfo(),m=this._getWidth(h);this.domNode.style.width=`${m}px`,this.domNode.style.left=this._getLeft(h)+"px";const _=document.createElement("div");_.style.overflow="hidden";const f=this.editor.getOption(53),v=Math.max(12,this.editor.getLayoutInfo().height/f*.8);t=Math.min(t,v);let y=0,L=0;if(this._arrow&&this.options.showArrow&&(y=Math.round(f/3),this._arrow.height=y,this._arrow.show(l)),this.options.showFrame&&(L=Math.round(f/9)),this.editor.changeViewZones(E=>{this._viewZone&&E.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new s(_,l.lineNumber,l.column,t,T=>this._onViewZoneTop(T),T=>this._onViewZoneHeight(T)),this._viewZone.id=E.addZone(this._viewZone),this._overlayWidget=new a(o+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const E=this.options.frameWidth?this.options.frameWidth:L;this.container.style.borderTopWidth=E+"px",this.container.style.borderBottomWidth=E+"px"}let I=t*f-this._decoratingElementsHeight();this.container&&(this.container.style.top=y+"px",this.container.style.height=I+"px",this.container.style.overflow="hidden"),this._doLayout(I,m),this.options.keepEditorSelection||this.editor.setSelection(n);const k=this.editor.getModel();if(k){const E=n.endLineNumber+1;E<=k.getLineCount()?this.revealLine(E,!1):this.revealLine(k.getLineCount(),!0)}}revealLine(n,t){t?this.editor.revealLineInCenter(n,0):this.editor.revealLine(n,0)}setCssClass(n,t){!this.container||(t&&this.container.classList.remove(t),this.container.classList.add(n))}_onWidth(n){}_doLayout(n,t){}_relayout(n){this._viewZone&&this._viewZone.heightInLines!==n&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=n,t.layoutZone(this._viewZone.id))})}_initSash(){if(!this._resizeSash){this._resizeSash=this._disposables.add(new N.Sash(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=0);let n;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(n={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{n=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(n){let l=(t.currentY-n.startY)/this.editor.getOption(53),h=l<0?Math.ceil(l):Math.floor(l),m=n.heightInLines+h;m>5&&m<35&&this._relayout(m)}}))}}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const n=this.editor.getLayoutInfo();return n.width-n.minimap.minimapWidth}}e.ZoneWidget=r}),define(Q[246],J([0,1,127,18,76,232]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createTokenizationSupport=e.MonarchTokenizer=void 0;const S=5;class C{constructor(n){this._maxCacheDepth=n,this._entries=Object.create(null)}static create(n,t){return this._INSTANCE.create(n,t)}create(n,t){if(n!==null&&n.depth>=this._maxCacheDepth)return new d(n,t);let l=d.getStackElementId(n);l.length>0&&(l+="|"),l+=t;let h=this._entries[l];return h||(h=new d(n,t),this._entries[l]=h,h)}}C._INSTANCE=new C(S);class d{constructor(n,t){this.parent=n,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(n){let t="";for(;n!==null;)t.length>0&&(t+="|"),t+=n.state,n=n.parent;return t}static _equals(n,t){for(;n!==null&&t!==null;){if(n===t)return!0;if(n.state!==t.state)return!1;n=n.parent,t=t.parent}return n===null&&t===null}equals(n){return d._equals(this,n)}push(n){return C.create(this,n)}pop(){return this.parent}popall(){let n=this;for(;n.parent;)n=n.parent;return n}switchTo(n){return C.create(this.parent,n)}}class g{constructor(n,t){this.modeId=n,this.state=t}equals(n){return this.modeId===n.modeId&&this.state.equals(n.state)}clone(){return this.state.clone()===this.state?this:new g(this.modeId,this.state)}}class p{constructor(n){this._maxCacheDepth=n,this._entries=Object.create(null)}static create(n,t){return this._INSTANCE.create(n,t)}create(n,t){if(t!==null)return new c(n,t);if(n!==null&&n.depth>=this._maxCacheDepth)return new c(n,t);let l=d.getStackElementId(n),h=this._entries[l];return h||(h=new c(n,null),this._entries[l]=h,h)}}p._INSTANCE=new p(S);class c{constructor(n,t){this.stack=n,this.embeddedModeData=t}clone(){return(this.embeddedModeData?this.embeddedModeData.clone():null)===this.embeddedModeData?this:p.create(this.stack,this.embeddedModeData)}equals(n){return!(n instanceof c)||!this.stack.equals(n.stack)?!1:this.embeddedModeData===null&&n.embeddedModeData===null?!0:this.embeddedModeData===null||n.embeddedModeData===null?!1:this.embeddedModeData.equals(n.embeddedModeData)}}class o{constructor(){this._tokens=[],this._language=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterMode(n,t){this._language=t}emit(n,t){this._lastTokenType===t&&this._lastTokenLanguage===this._language||(this._lastTokenType=t,this._lastTokenLanguage=this._language,this._tokens.push(new b.Token(n,t,this._language)))}nestedModeTokenize(n,t,l,h){const m=l.modeId,_=l.state,f=N.TokenizationRegistry.get(m);if(!f)return this.enterMode(h,m),this.emit(h,""),_;let v=f.tokenize(n,t,_,h);return this._tokens=this._tokens.concat(v.tokens),this._lastTokenType=null,this._lastTokenLanguage=null,this._language=null,v.endState}finalize(n){return new b.TokenizationResult(this._tokens,n)}}class s{constructor(n,t){this._modeService=n,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterMode(n,t){this._currentLanguageId=this._modeService.getLanguageIdentifier(t).id}emit(n,t){let l=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==l&&(this._lastTokenMetadata=l,this._tokens.push(n),this._tokens.push(l))}static _merge(n,t,l){let h=n!==null?n.length:0,m=t.length,_=l!==null?l.length:0;if(h===0&&m===0&&_===0)return new Uint32Array(0);if(h===0&&m===0)return l;if(m===0&&_===0)return n;let f=new Uint32Array(h+m+_);n!==null&&f.set(n);for(let v=0;v{if(!m){let f=!1;for(let v=0,y=_.changedLanguages.length;v{})}}getInitialState(){let n=C.create(null,this._lexer.start);return p.create(n,null)}tokenize(n,t,l,h){let m=new o,_=this._tokenize(n,t,l,h,m);return m.finalize(_)}tokenize2(n,t,l,h){let m=new s(this._modeService,this._standaloneThemeService.getColorTheme().tokenTheme),_=this._tokenize(n,t,l,h,m);return m.finalize(_)}_tokenize(n,t,l,h,m){return l.embeddedModeData?this._nestedTokenize(n,t,l,h,m):this._myTokenize(n,t,l,h,m)}_findLeavingNestedModeOffset(n,t){let l=this._lexer.tokenizer[t.stack.state];if(!l&&(l=w.findRules(this._lexer,t.stack.state),!l))throw w.createError(this._lexer,"tokenizer state is not defined: "+t.stack.state);let h=-1,m=!1;for(const _ of l)if(!(!w.isIAction(_.action)||_.action.nextEmbedded!=="@pop")){m=!0;let f=_.regex,v=_.regex.source;if(v.substr(0,4)==="^(?:"&&v.substr(v.length-1,1)===")"){let L=(f.ignoreCase?"i":"")+(f.unicode?"u":"");f=new RegExp(v.substr(4,v.length-5),L)}let y=n.search(f);y===-1||y!==0&&_.matchOnlyAtLineStart||(h===-1||y0&&m.nestedModeTokenize(f,!1,l.embeddedModeData,h);let v=n.substring(_);return this._myTokenize(v,t,l,h+_,m)}_safeRuleName(n){return n?n.name:"(unknown)"}_myTokenize(n,t,l,h,m){m.enterMode(h,this._modeId);const _=n.length,f=t&&this._lexer.includeLF?n+` +`:n,v=f.length;let y=l.embeddedModeData,L=l.stack,I=0,k=null,E=!0;for(;E||I=v)break;E=!1;let ee=this._lexer.tokenizer[B];if(!ee&&(ee=w.findRules(this._lexer,B),!ee))throw w.createError(this._lexer,"tokenizer state is not defined: "+B);let se=f.substr(I);for(const ne of ee)if((I===0||!ne.matchOnlyAtLineStart)&&(F=se.match(ne.regex),F)){D=F[0],R=ne.action;break}}if(F||(F=[""],D=""),R||(I=this._lexer.maxStack)throw w.createError(this._lexer,"maximum tokenizer stack size reached: ["+L.state+","+L.parent.state+",...]");L=L.push(B)}else if(R.next==="@pop"){if(L.depth<=1)throw w.createError(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(W));L=L.pop()}else if(R.next==="@popall")L=L.popall();else{let ee=w.substituteMatches(this._lexer,R.next,D,F,B);if(ee[0]==="@"&&(ee=ee.substr(1)),w.findRules(this._lexer,ee))L=L.push(ee);else throw w.createError(this._lexer,"trying to set a next state '"+ee+"' that is undefined in rule: "+this._safeRuleName(W))}}R.log&&typeof R.log=="string"&&w.log(this._lexer,this._lexer.languageId+": "+w.substituteMatches(this._lexer,R.log,D,F,B))}if(K===null)throw w.createError(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(W));const Y=ee=>{let se=this._modeService.getModeIdForLanguageName(ee);se&&(ee=se);const ne=this._getNestedEmbeddedModeData(ee);if(I0)throw w.createError(this._lexer,"groups cannot be nested: "+this._safeRuleName(W));if(F.length!==K.length+1)throw w.createError(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(W));let ee=0;for(let se=1;seu});class c{static colorizeElement(r,i,n,t){t=t||{};let l=t.theme||"vs",h=t.mimeType||n.getAttribute("lang")||n.getAttribute("data-lang");if(!h)return console.error("Mode not detected"),Promise.resolve();r.setTheme(l);let m=n.firstChild?n.firstChild.nodeValue:"";n.className+=" "+l;let _=f=>{var v;const y=(v=p==null?void 0:p.createHTML(f))!==null&&v!==void 0?v:f;n.innerHTML=y};return this.colorize(i,m||"",h,t).then(_,f=>console.error(f))}static colorize(r,i,n,t){let l=4;t&&typeof t.tabSize=="number"&&(l=t.tabSize),N.startsWithUTF8BOM(i)&&(i=i.substr(1));let h=N.splitLines(i),m=r.getModeId(n);if(!m)return Promise.resolve(s(h,l));r.triggerMode(m);const _=w.TokenizationRegistry.get(m);if(_)return o(h,l,_);const f=w.TokenizationRegistry.getPromise(m);return f?new Promise((v,y)=>{f.then(L=>{o(h,l,L).then(v,y)},y)}):new Promise((v,y)=>{let L=null,I=null;const k=()=>{L&&(L.dispose(),L=null),I&&(I.dispose(),I=null);const E=w.TokenizationRegistry.get(m);if(E){o(h,l,E).then(v,y);return}v(s(h,l))};I=new b.TimeoutTimer,I.cancelAndSet(k,500),L=w.TokenizationRegistry.onDidChange(E=>{E.changedLanguages.indexOf(m)>=0&&k()})})}static colorizeLine(r,i,n,t,l=4){const h=C.ViewLineRenderingData.isBasicASCII(r,i),m=C.ViewLineRenderingData.containsRTL(r,h,n);return S.renderViewLine2(new S.RenderLineInput(!1,!0,r,!1,h,m,0,t,[],l,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(r,i,n=4){let t=r.getLineContent(i);r.forceTokenization(i);let h=r.getLineTokens(i).inflate();return this.colorizeLine(t,r.mightContainNonBasicASCII(),r.mightContainRTL(),h,n)}}e.Colorizer=c;function o(u,r,i){return new Promise((n,t)=>{const l=()=>{const h=a(u,r,i);if(i instanceof d.MonarchTokenizer){const m=i.getLoadStatus();if(m.loaded===!1){m.promise.then(l,t);return}}n(h)};l()})}function s(u,r){let i=[];const n=(0<<11|1<<14|2<<23)>>>0,t=new Uint32Array(2);t[0]=0,t[1]=n;for(let l=0,h=u.length;l")}return i.join("")}function a(u,r,i){let n=[],t=i.getInitialState();for(let l=0,h=u.length;l"),t=_.endState}return n.join("")}}),define(Q[114],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IStandaloneThemeService=void 0,e.IStandaloneThemeService=b.createDecorator("themeService")}),define(Q[84],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IClipboardService=void 0,e.IClipboardService=b.createDecorator("clipboardService")}),define(Q[26],J([0,1,2,20,9,6,71,54]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommandsRegistry=e.ICommandService=void 0,e.ICommandService=M.createDecorator("commandService"),e.CommandsRegistry=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new w.Emitter,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(d,g){if(!d)throw new Error("invalid command");if(typeof d=="string"){if(!g)throw new Error("invalid command");return this.registerCommand({id:d,handler:g})}if(d.description){const a=[];for(let r of d.description.args)a.push(r.constraint);const u=d.handler;d.handler=function(r,...i){return N.validateConstraints(i,a),u(r,...i)}}const{id:p}=d;let c=this._commands.get(p);c||(c=new S.LinkedList,this._commands.set(p,c));let o=c.unshift(d),s=b.toDisposable(()=>{o();const a=this._commands.get(p);(a==null?void 0:a.isEmpty())&&this._commands.delete(p)});return this._onDidRegisterCommand.fire(p),s}registerCommandAlias(d,g){return e.CommandsRegistry.registerCommand(d,(p,...c)=>p.get(e.ICommandService).executeCommand(g,...c))}getCommand(d){const g=this._commands.get(d);if(!(!g||g.isEmpty()))return C.Iterable.first(g)}getCommands(){const d=new Map;for(const g of this._commands.keys()){const p=this.getCommand(g);p&&d.set(g,p)}return d}}}),define(Q[247],J([0,1,23,12,24,18,36,26,20,383,3]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDocumentRangeSemanticTokensProvider=e.getDocumentSemanticTokens=e.isSemanticTokensEdits=e.isSemanticTokens=void 0;function c(r){return r&&!!r.data}e.isSemanticTokens=c;function o(r){return r&&Array.isArray(r.edits)}e.isSemanticTokensEdits=o;function s(r,i,n){const t=a(r);return t?{provider:t,request:Promise.resolve(t.provideDocumentSemanticTokens(r,i,n))}:null}e.getDocumentSemanticTokens=s;function a(r){const i=w.DocumentSemanticTokensProviderRegistry.ordered(r);return i.length>0?i[0]:null}function u(r){const i=w.DocumentRangeSemanticTokensProviderRegistry.ordered(r);return i.length>0?i[0]:null}e.getDocumentRangeSemanticTokensProvider=u,C.CommandsRegistry.registerCommand("_provideDocumentSemanticTokensLegend",(r,...i)=>Ie(void 0,void 0,void 0,function*(){const[n]=i;d.assertType(n instanceof M.URI);const t=r.get(S.IModelService).getModel(n);if(!!t){const l=a(t);return l?l.getLegend():r.get(C.ICommandService).executeCommand("_provideDocumentRangeSemanticTokensLegend",n)}})),C.CommandsRegistry.registerCommand("_provideDocumentSemanticTokens",(r,...i)=>Ie(void 0,void 0,void 0,function*(){const[n]=i;d.assertType(n instanceof M.URI);const t=r.get(S.IModelService).getModel(n);if(!!t){const l=s(t,null,b.CancellationToken.None);if(!l)return r.get(C.ICommandService).executeCommand("_provideDocumentRangeSemanticTokens",n,t.getFullModelRange());const{provider:h,request:m}=l;let _;try{_=yield m}catch(v){N.onUnexpectedExternalError(v);return}if(!(!_||!c(_))){const f=g.encodeSemanticTokensDto({id:0,type:"full",data:_.data});return _.resultId&&h.releaseDocumentSemanticTokens(_.resultId),f}}})),C.CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokensLegend",(r,...i)=>Ie(void 0,void 0,void 0,function*(){const[n]=i;d.assertType(n instanceof M.URI);const t=r.get(S.IModelService).getModel(n);if(!!t){const l=u(t);if(!!l)return l.getLegend()}})),C.CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokens",(r,...i)=>Ie(void 0,void 0,void 0,function*(){const[n,t]=i;d.assertType(n instanceof M.URI),d.assertType(p.Range.isIRange(t));const l=r.get(S.IModelService).getModel(n);if(!!l){const h=u(l);if(!!h){let m;try{m=yield h.provideDocumentRangeSemanticTokens(l,p.Range.lift(t),b.CancellationToken.None)}catch(_){N.onUnexpectedExternalError(_);return}if(!(!m||!c(m)))return g.encodeSemanticTokensDto({id:0,type:"full",data:m.data})}}}))}),define(Q[248],J([0,1,19,23,12,24,18,36,2,26,20]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCodeLensModel=e.CodeLensModel=void 0;class c{constructor(){this.lenses=[],this._disposables=new d.DisposableStore}dispose(){this._disposables.dispose()}add(a,u){this._disposables.add(a);for(const r of a.lenses)this.lenses.push({symbol:r,provider:u})}}e.CodeLensModel=c;function o(s,a){return Ie(this,void 0,void 0,function*(){const u=S.CodeLensProviderRegistry.ordered(s),r=new Map,i=new c,n=u.map((t,l)=>Ie(this,void 0,void 0,function*(){r.set(t,l);try{const h=yield Promise.resolve(t.provideCodeLenses(s,a));h&&i.add(h,t)}catch(h){M.onUnexpectedExternalError(h)}}));return yield Promise.all(n),i.lenses=b.mergeSort(i.lenses,(t,l)=>t.symbol.range.startLineNumberl.symbol.range.startLineNumber?1:r.get(t.provider)r.get(l.provider)?1:t.symbol.range.startColumnl.symbol.range.startColumn?1:0),i})}e.getCodeLensModel=o,g.CommandsRegistry.registerCommand("_executeCodeLensProvider",function(s,...a){let[u,r]=a;p.assertType(w.URI.isUri(u)),p.assertType(typeof r=="number"||!r);const i=s.get(C.IModelService).getModel(u);if(!i)throw M.illegalArgument();const n=[],t=new d.DisposableStore;return o(i,N.CancellationToken.None).then(l=>{t.add(l);let h=[];for(const m of l.lenses)r==null||Boolean(m.symbol.command)?n.push(m.symbol):r-- >0&&m.provider.resolveCodeLens&&h.push(Promise.resolve(m.provider.resolveCodeLens(i,m.symbol,N.CancellationToken.None)).then(_=>n.push(_||m.symbol)));return Promise.all(h)}).then(()=>n).finally(()=>{setTimeout(()=>t.dispose(),100)})})}),define(Q[249],J([0,1,23,12,24,3,18,36,26]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getColorPresentations=e.getColors=void 0;function g(c,o){const s=[],u=S.ColorProviderRegistry.ordered(c).reverse().map(r=>Promise.resolve(r.provideDocumentColors(c,o)).then(i=>{if(Array.isArray(i))for(let n of i)s.push({colorInfo:n,provider:r})}));return Promise.all(u).then(()=>s)}e.getColors=g;function p(c,o,s,a){return Promise.resolve(s.provideColorPresentations(c,o,a))}e.getColorPresentations=p,d.CommandsRegistry.registerCommand("_executeDocumentColorProvider",function(c,...o){const[s]=o;if(!(s instanceof M.URI))throw N.illegalArgument();const a=c.get(C.IModelService).getModel(s);if(!a)throw N.illegalArgument();const u=[],i=S.ColorProviderRegistry.ordered(a).reverse().map(n=>Promise.resolve(n.provideDocumentColors(a,b.CancellationToken.None)).then(t=>{if(Array.isArray(t))for(let l of t)u.push({range:l.range,color:[l.color.red,l.color.green,l.color.blue,l.color.alpha]})}));return Promise.all(i).then(()=>u)}),d.CommandsRegistry.registerCommand("_executeColorPresentationProvider",function(c,...o){const[s,a]=o,{uri:u,range:r}=a;if(!(u instanceof M.URI)||!Array.isArray(s)||s.length!==4||!w.Range.isIRange(r))throw N.illegalArgument();const[i,n,t,l]=s,h=c.get(C.IModelService).getModel(u);if(!h)throw N.illegalArgument();const m={range:r,color:{red:i,green:n,blue:t,alpha:l}},_=[],v=S.ColorProviderRegistry.ordered(h).reverse().map(y=>Promise.resolve(y.provideColorPresentations(h,m,b.CancellationToken.None)).then(L=>{Array.isArray(L)&&_.push(...L)}));return Promise.all(v).then(()=>_)})}),define(Q[545],J([0,1,24,36,23,67,245,26,20]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDocumentSymbols=void 0;function g(p,c,o){return Ie(this,void 0,void 0,function*(){const s=yield S.OutlineModel.create(p,o);return c?s.asListOfDocumentSymbols():s.getTopLevelSymbols()})}e.getDocumentSymbols=g,C.CommandsRegistry.registerCommand("_executeDocumentSymbolProvider",function(p,...c){return Ie(this,void 0,void 0,function*(){const[o]=c;d.assertType(b.URI.isUri(o));const s=p.get(N.IModelService).getModel(o);if(s)return g(s,!1,M.CancellationToken.None);const a=yield p.get(w.ITextModelService).createModelReference(o);try{return yield g(a.object.textEditorModel,!1,M.CancellationToken.None)}finally{a.dispose()}})})}),define(Q[546],J([0,1,23,12,24,3,18,36,26,2,19,20]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getLinks=e.LinksList=e.Link=void 0;class o{constructor(r,i){this._link=r,this._provider=i}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}resolve(r){return Ie(this,void 0,void 0,function*(){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,r)).then(i=>(this._link=i||this._link,this._link.url?this.resolve(r):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))})}}e.Link=o;class s{constructor(r){this._disposables=new g.DisposableStore;let i=[];for(const[n,t]of r){const l=n.links.map(h=>new o(h,t));i=s._union(i,l),g.isDisposable(n)&&this._disposables.add(n)}this.links=i}dispose(){this._disposables.dispose(),this.links.length=0}static _union(r,i){let n=[],t,l,h,m;for(t=0,h=0,l=r.length,m=i.length;tPromise.resolve(t.provideLinks(u,r)).then(h=>{h&&(i[l]=[h,t])},N.onUnexpectedExternalError));return Promise.all(n).then(()=>{const t=new s(p.coalesce(i));return r.isCancellationRequested?(t.dispose(),new s([])):t})}e.getLinks=a,d.CommandsRegistry.registerCommand("_executeLinkProvider",(u,...r)=>Ie(void 0,void 0,void 0,function*(){let[i,n]=r;c.assertType(i instanceof M.URI),typeof n!="number"&&(n=0);const t=u.get(C.IModelService).getModel(i);if(!t)return[];const l=yield a(t,b.CancellationToken.None);if(!l)return[];for(let m=0;m=0),S.set("isFirefox",w.indexOf("Firefox")>=0),S.set("isChrome",w.indexOf("Chrome")>=0),S.set("isSafari",w.indexOf("Safari")>=0),S.set("isIPad",w.indexOf("iPad")>=0);const C=Object.prototype.hasOwnProperty;class d{static has(E){return o.create(E)}static equals(E,T){return s.create(E,T)}static regex(E,T){return m.create(E,T)}static not(E){return i.create(E)}static and(...E){return f.create(E)}static or(...E){return v.create(E)}static deserialize(E,T=!1){if(!!E)return this._deserializeOrExpression(E,T)}static _deserializeOrExpression(E,T){let O=E.split("||");return v.create(O.map(A=>this._deserializeAndExpression(A,T)))}static _deserializeAndExpression(E,T){let O=E.split("&&");return f.create(O.map(A=>this._deserializeOne(A,T)))}static _deserializeOne(E,T){if(E=E.trim(),E.indexOf("!=")>=0){let O=E.split("!=");return r.create(O[0].trim(),this._deserializeValue(O[1],T))}if(E.indexOf("==")>=0){let O=E.split("==");return s.create(O[0].trim(),this._deserializeValue(O[1],T))}if(E.indexOf("=~")>=0){let O=E.split("=~");return m.create(O[0].trim(),this._deserializeRegexValue(O[1],T))}if(E.indexOf(" in ")>=0){let O=E.split(" in ");return a.create(O[0].trim(),O[1].trim())}if(/^[^<=>]+>=[^<=>]+$/.test(E)){const O=E.split(">=");return t.create(O[0].trim(),O[1].trim())}if(/^[^<=>]+>[^<=>]+$/.test(E)){const O=E.split(">");return n.create(O[0].trim(),O[1].trim())}if(/^[^<=>]+<=[^<=>]+$/.test(E)){const O=E.split("<=");return h.create(O[0].trim(),O[1].trim())}if(/^[^<=>]+<[^<=>]+$/.test(E)){const O=E.split("<");return l.create(O[0].trim(),O[1].trim())}return/^\!\s*/.test(E)?i.create(E.substr(1).trim()):o.create(E)}static _deserializeValue(E,T){if(E=E.trim(),E==="true")return!0;if(E==="false")return!1;let O=/^'([^']*)'$/.exec(E);return O?O[1].trim():E}static _deserializeRegexValue(E,T){if(b.isFalsyOrWhitespace(E)){if(T)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}let O=E.indexOf("/"),A=E.lastIndexOf("/");if(O===A||O<0){if(T)throw new Error(`bad regexp-value '${E}', missing /-enclosure`);return console.warn(`bad regexp-value '${E}', missing /-enclosure`),null}let B=E.slice(O+1,A),F=E[A+1]==="i"?"i":"";try{return new RegExp(B,F)}catch(D){if(T)throw new Error(`bad regexp-value '${E}', parse error: ${D}`);return console.warn(`bad regexp-value '${E}', parse error: ${D}`),null}}}e.ContextKeyExpr=d;function g(k,E){return k.cmp(E)}class p{constructor(){this.type=0}cmp(E){return this.type-E.type}equals(E){return E.type===this.type}evaluate(E){return!1}serialize(){return"false"}keys(){return[]}negate(){return c.INSTANCE}}e.ContextKeyFalseExpr=p,p.INSTANCE=new p;class c{constructor(){this.type=1}cmp(E){return this.type-E.type}equals(E){return E.type===this.type}evaluate(E){return!0}serialize(){return"true"}keys(){return[]}negate(){return p.INSTANCE}}e.ContextKeyTrueExpr=c,c.INSTANCE=new c;class o{constructor(E){this.key=E,this.type=2}static create(E){const T=S.get(E);return typeof T=="boolean"?T?c.INSTANCE:p.INSTANCE:new o(E)}cmp(E){return E.type!==this.type?this.type-E.type:L(this.key,E.key)}equals(E){return E.type===this.type?this.key===E.key:!1}evaluate(E){return!!E.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return i.create(this.key)}}e.ContextKeyDefinedExpr=o;class s{constructor(E,T){this.key=E,this.value=T,this.type=4}static create(E,T){if(typeof T=="boolean")return T?o.create(E):i.create(E);const O=S.get(E);return typeof O=="boolean"?T===(O?"true":"false")?c.INSTANCE:p.INSTANCE:new s(E,T)}cmp(E){return E.type!==this.type?this.type-E.type:I(this.key,this.value,E.key,E.value)}equals(E){return E.type===this.type?this.key===E.key&&this.value===E.value:!1}evaluate(E){return E.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return r.create(this.key,this.value)}}e.ContextKeyEqualsExpr=s;class a{constructor(E,T){this.key=E,this.valueKey=T,this.type=10}static create(E,T){return new a(E,T)}cmp(E){return E.type!==this.type?this.type-E.type:I(this.key,this.valueKey,E.key,E.valueKey)}equals(E){return E.type===this.type?this.key===E.key&&this.valueKey===E.valueKey:!1}evaluate(E){const T=E.getValue(this.valueKey),O=E.getValue(this.key);return Array.isArray(T)?T.indexOf(O)>=0:typeof O=="string"&&typeof T=="object"&&T!==null?C.call(T,O):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return u.create(this)}}e.ContextKeyInExpr=a;class u{constructor(E){this._actual=E,this.type=11}static create(E){return new u(E)}cmp(E){return E.type!==this.type?this.type-E.type:this._actual.cmp(E._actual)}equals(E){return E.type===this.type?this._actual.equals(E._actual):!1}evaluate(E){return!this._actual.evaluate(E)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}e.ContextKeyNotInExpr=u;class r{constructor(E,T){this.key=E,this.value=T,this.type=5}static create(E,T){if(typeof T=="boolean")return T?i.create(E):o.create(E);const O=S.get(E);return typeof O=="boolean"?T===(O?"true":"false")?p.INSTANCE:c.INSTANCE:new r(E,T)}cmp(E){return E.type!==this.type?this.type-E.type:I(this.key,this.value,E.key,E.value)}equals(E){return E.type===this.type?this.key===E.key&&this.value===E.value:!1}evaluate(E){return E.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return s.create(this.key,this.value)}}e.ContextKeyNotEqualsExpr=r;class i{constructor(E){this.key=E,this.type=3}static create(E){const T=S.get(E);return typeof T=="boolean"?T?p.INSTANCE:c.INSTANCE:new i(E)}cmp(E){return E.type!==this.type?this.type-E.type:L(this.key,E.key)}equals(E){return E.type===this.type?this.key===E.key:!1}evaluate(E){return!E.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return o.create(this.key)}}e.ContextKeyNotExpr=i;class n{constructor(E,T){this.key=E,this.value=T,this.type=12}static create(E,T){return new n(E,T)}cmp(E){return E.type!==this.type?this.type-E.type:I(this.key,this.value,E.key,E.value)}equals(E){return E.type===this.type?this.key===E.key&&this.value===E.value:!1}evaluate(E){return parseFloat(E.getValue(this.key))>parseFloat(this.value)}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return h.create(this.key,this.value)}}e.ContextKeyGreaterExpr=n;class t{constructor(E,T){this.key=E,this.value=T,this.type=13}static create(E,T){return new t(E,T)}cmp(E){return E.type!==this.type?this.type-E.type:I(this.key,this.value,E.key,E.value)}equals(E){return E.type===this.type?this.key===E.key&&this.value===E.value:!1}evaluate(E){return parseFloat(E.getValue(this.key))>=parseFloat(this.value)}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return l.create(this.key,this.value)}}e.ContextKeyGreaterEqualsExpr=t;class l{constructor(E,T){this.key=E,this.value=T,this.type=14}static create(E,T){return new l(E,T)}cmp(E){return E.type!==this.type?this.type-E.type:I(this.key,this.value,E.key,E.value)}equals(E){return E.type===this.type?this.key===E.key&&this.value===E.value:!1}evaluate(E){return parseFloat(E.getValue(this.key))E.key)return 1;const T=this.regexp?this.regexp.source:"",O=E.regexp?E.regexp.source:"";return TO?1:0}equals(E){if(E.type===this.type){const T=this.regexp?this.regexp.source:"",O=E.regexp?E.regexp.source:"";return this.key===E.key&&T===O}return!1}evaluate(E){let T=E.getValue(this.key);return this.regexp?this.regexp.test(T):!1}serialize(){const E=this.regexp?`/${this.regexp.source}/${this.regexp.ignoreCase?"i":""}`:"/invalid/";return`${this.key} =~ ${E}`}keys(){return[this.key]}negate(){return _.create(this)}}e.ContextKeyRegexExpr=m;class _{constructor(E){this._actual=E,this.type=8}static create(E){return new _(E)}cmp(E){return E.type!==this.type?this.type-E.type:this._actual.cmp(E._actual)}equals(E){return E.type===this.type?this._actual.equals(E._actual):!1}evaluate(E){return!this._actual.evaluate(E)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}e.ContextKeyNotRegexExpr=_;class f{constructor(E){this.expr=E,this.type=6}static create(E){return f._normalizeArr(E)}cmp(E){if(E.type!==this.type)return this.type-E.type;if(this.expr.lengthE.expr.length)return 1;for(let T=0,O=this.expr.length;T1;){const A=T[T.length-1];if(A.type!==9)break;T.pop();const B=T.pop(),F=v.create(A.expr.map(D=>f.create([D,B])));F&&(T.push(F),T.sort(g))}return T.length===1?T[0]:new f(T)}}serialize(){return this.expr.map(E=>E.serialize()).join(" && ")}keys(){const E=[];for(let T of this.expr)E.push(...T.keys());return E}negate(){let E=[];for(let T of this.expr)E.push(T.negate());return v.create(E)}}e.ContextKeyAndExpr=f;class v{constructor(E){this.expr=E,this.type=9}static create(E){const T=v._normalizeArr(E);if(T.length!==0)return T.length===1?T[0]:new v(T)}cmp(E){if(E.type!==this.type)return this.type-E.type;if(this.expr.lengthE.expr.length)return 1;for(let T=0,O=this.expr.length;TE.serialize()).join(" || ")}keys(){const E=[];for(let T of this.expr)E.push(...T.keys());return E}negate(){let E=[];for(let O of this.expr)E.push(O.negate());const T=O=>O.type===9?O.expr:[O];for(;E.length>1;){const O=E.shift(),A=E.shift(),B=[];for(const F of T(O))for(const D of T(A))B.push(d.and(F,D));E.unshift(d.or(...B))}return E[0]}}e.ContextKeyOrExpr=v;class y extends o{constructor(E,T,O){super(E);this.key=E,this._defaultValue=T,typeof O=="object"?y._info.push(Object.assign(Object.assign({},O),{key:E})):O!==!0&&y._info.push({key:E,description:O,type:T!=null?typeof T:void 0})}static all(){return y._info.values()}bindTo(E){return E.createKey(this.key,this._defaultValue)}getValue(E){return E.getContextKeyValue(this.key)}toNegated(){return d.not(this.key)}isEqualTo(E){return d.equals(this.key,E)}}e.RawContextKey=y,y._info=[],e.IContextKeyService=N.createDecorator("contextKeyService"),e.SET_CONTEXT_COMMAND_ID="setContext";function L(k,E){return kE?1:0}function I(k,E,T,O){return kT?1:EO?1:0}}),define(Q[25],J([0,1,456,16]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorContextKeys=void 0;var M;(function(w){w.editorSimpleInput=new N.RawContextKey("editorSimpleInput",!1,!0),w.editorTextFocus=new N.RawContextKey("editorTextFocus",!1,b.localize(0,null)),w.focus=new N.RawContextKey("editorFocus",!1,b.localize(1,null)),w.textInputFocus=new N.RawContextKey("textInputFocus",!1,b.localize(2,null)),w.readOnly=new N.RawContextKey("editorReadonly",!1,b.localize(3,null)),w.inDiffEditor=new N.RawContextKey("inDiffEditor",!1,b.localize(4,null)),w.columnSelection=new N.RawContextKey("editorColumnSelection",!1,b.localize(5,null)),w.writable=w.readOnly.toNegated(),w.hasNonEmptySelection=new N.RawContextKey("editorHasSelection",!1,b.localize(6,null)),w.hasOnlyEmptySelection=w.hasNonEmptySelection.toNegated(),w.hasMultipleSelections=new N.RawContextKey("editorHasMultipleSelections",!1,b.localize(7,null)),w.hasSingleSelection=w.hasMultipleSelections.toNegated(),w.tabMovesFocus=new N.RawContextKey("editorTabMovesFocus",!1,b.localize(8,null)),w.tabDoesNotMoveFocus=w.tabMovesFocus.toNegated(),w.isInWalkThroughSnippet=new N.RawContextKey("isInEmbeddedEditor",!1,!0),w.canUndo=new N.RawContextKey("canUndo",!1,!0),w.canRedo=new N.RawContextKey("canRedo",!1,!0),w.hoverVisible=new N.RawContextKey("editorHoverVisible",!1,b.localize(9,null)),w.inCompositeEditor=new N.RawContextKey("inCompositeEditor",void 0,b.localize(10,null)),w.notInCompositeEditor=w.inCompositeEditor.toNegated(),w.languageId=new N.RawContextKey("editorLangId","",b.localize(11,null)),w.hasCompletionItemProvider=new N.RawContextKey("editorHasCompletionItemProvider",!1,b.localize(12,null)),w.hasCodeActionsProvider=new N.RawContextKey("editorHasCodeActionsProvider",!1,b.localize(13,null)),w.hasCodeLensProvider=new N.RawContextKey("editorHasCodeLensProvider",!1,b.localize(14,null)),w.hasDefinitionProvider=new N.RawContextKey("editorHasDefinitionProvider",!1,b.localize(15,null)),w.hasDeclarationProvider=new N.RawContextKey("editorHasDeclarationProvider",!1,b.localize(16,null)),w.hasImplementationProvider=new N.RawContextKey("editorHasImplementationProvider",!1,b.localize(17,null)),w.hasTypeDefinitionProvider=new N.RawContextKey("editorHasTypeDefinitionProvider",!1,b.localize(18,null)),w.hasHoverProvider=new N.RawContextKey("editorHasHoverProvider",!1,b.localize(19,null)),w.hasDocumentHighlightProvider=new N.RawContextKey("editorHasDocumentHighlightProvider",!1,b.localize(20,null)),w.hasDocumentSymbolProvider=new N.RawContextKey("editorHasDocumentSymbolProvider",!1,b.localize(21,null)),w.hasReferenceProvider=new N.RawContextKey("editorHasReferenceProvider",!1,b.localize(22,null)),w.hasRenameProvider=new N.RawContextKey("editorHasRenameProvider",!1,b.localize(23,null)),w.hasSignatureHelpProvider=new N.RawContextKey("editorHasSignatureHelpProvider",!1,b.localize(24,null)),w.hasInlineHintsProvider=new N.RawContextKey("editorHasInlineHintsProvider",!1,b.localize(25,null)),w.hasDocumentFormattingProvider=new N.RawContextKey("editorHasDocumentFormattingProvider",!1,b.localize(26,null)),w.hasDocumentSelectionFormattingProvider=new N.RawContextKey("editorHasDocumentSelectionFormattingProvider",!1,b.localize(27,null)),w.hasMultipleDocumentFormattingProvider=new N.RawContextKey("editorHasMultipleDocumentFormattingProvider",!1,b.localize(28,null)),w.hasMultipleDocumentSelectionFormattingProvider=new N.RawContextKey("editorHasMultipleDocumentSelectionFormattingProvider",!1,b.localize(29,null))})(M=e.EditorContextKeys||(e.EditorContextKeys={}))}),define(Q[183],J([0,1,12,14,18,16,23,26,24,20,67]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.provideSignatureHelp=e.Context=void 0,e.Context={Visible:new w.RawContextKey("parameterHintsVisible",!1),MultipleSignatures:new w.RawContextKey("parameterHintsMultipleSignatures",!1)};function c(o,s,a,u){return Ie(this,void 0,void 0,function*(){const r=M.SignatureHelpProviderRegistry.ordered(o);for(const i of r)try{const n=yield i.provideSignatureHelp(o,s,u,a);if(n)return n}catch(n){b.onUnexpectedExternalError(n)}})}e.provideSignatureHelp=c,C.CommandsRegistry.registerCommand("_executeSignatureHelpProvider",(o,...s)=>Ie(void 0,void 0,void 0,function*(){const[a,u,r]=s;g.assertType(d.URI.isUri(a)),g.assertType(N.Position.isIPosition(u)),g.assertType(typeof r=="string"||!r);const i=yield o.get(p.ITextModelService).createModelReference(a);try{const n=yield c(i.object.textEditorModel,N.Position.lift(u),{triggerKind:M.SignatureHelpTriggerKind.Invoke,isRetrigger:!1,triggerCharacter:r},S.CancellationToken.None);return n?(setTimeout(()=>n.dispose(),0),n.value):void 0}finally{i.dispose()}}))}),define(Q[547],J([0,1,15,12,6,2,91,18,183]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParameterHintsModel=void 0;var g;(function(o){o.Default={type:0};class s{constructor(r,i){this.request=r,this.previouslyActiveHints=i,this.type=2}}o.Pending=s;class a{constructor(r){this.hints=r,this.type=1}}o.Active=a})(g||(g={}));class p extends w.Disposable{constructor(s,a=p.DEFAULT_DELAY){super();this._onChangedHints=this._register(new M.Emitter),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=g.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new w.MutableDisposable),this.triggerChars=new S.CharacterSet,this.retriggerChars=new S.CharacterSet,this.triggerId=0,this.editor=s,this.throttledDelayer=new b.Delayer(a),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(u=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(u=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(u=>this.onCursorChange(u))),this._register(this.editor.onDidChangeModelContent(u=>this.onModelContentChange())),this._register(C.SignatureHelpProviderRegistry.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(u=>this.onDidType(u))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(s){this._state.type===2&&this._state.request.cancel(),this._state=s}cancel(s=!1){this.state=g.Default,this.throttledDelayer.cancel(),s||this._onChangedHints.fire(void 0)}trigger(s,a){const u=this.editor.getModel();if(!(!u||!C.SignatureHelpProviderRegistry.has(u))){const r=++this.triggerId;this._pendingTriggers.push(s),this.throttledDelayer.trigger(()=>this.doTrigger(r),a).catch(N.onUnexpectedError)}}next(){if(this.state.type===1){const s=this.state.hints.signatures.length,a=this.state.hints.activeSignature,u=a%s==s-1,r=this.editor.getOption(70).cycle;if((s<2||u)&&!r){this.cancel();return}this.updateActiveSignature(u&&r?0:a+1)}}previous(){if(this.state.type===1){const s=this.state.hints.signatures.length,a=this.state.hints.activeSignature,u=a===0,r=this.editor.getOption(70).cycle;if((s<2||u)&&!r){this.cancel();return}this.updateActiveSignature(u&&r?s-1:a-1)}}updateActiveSignature(s){this.state.type===1&&(this.state=new g.Active(Object.assign(Object.assign({},this.state.hints),{activeSignature:s})),this._onChangedHints.fire(this.state.hints))}doTrigger(s){return Ie(this,void 0,void 0,function*(){const a=this.state.type===1||this.state.type===2,u=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const r=this._pendingTriggers.reduce(c);this._pendingTriggers=[];const i={triggerKind:r.triggerKind,triggerCharacter:r.triggerCharacter,isRetrigger:a,activeSignatureHelp:u};if(!this.editor.hasModel())return!1;const n=this.editor.getModel(),t=this.editor.getPosition();this.state=new g.Pending(b.createCancelablePromise(l=>d.provideSignatureHelp(n,t,i,l)),u);try{const l=yield this.state.request;return s!==this.triggerId?(l==null||l.dispose(),!1):!l||!l.value.signatures||l.value.signatures.length===0?(l==null||l.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new g.Active(l.value),this._lastSignatureHelpResult.value=l,this._onChangedHints.fire(this.state.hints),!0)}catch(l){return s===this.triggerId&&(this.state=g.Default),N.onUnexpectedError(l),!1}})}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars=new S.CharacterSet,this.retriggerChars=new S.CharacterSet;const s=this.editor.getModel();if(!!s)for(const a of C.SignatureHelpProviderRegistry.ordered(s)){for(const u of a.signatureHelpTriggerCharacters||[])this.triggerChars.add(u.charCodeAt(0)),this.retriggerChars.add(u.charCodeAt(0));for(const u of a.signatureHelpRetriggerCharacters||[])this.retriggerChars.add(u.charCodeAt(0))}}onDidType(s){if(!!this.triggerOnType){const a=s.length-1,u=s.charCodeAt(a);(this.triggerChars.has(u)||this.isTriggered&&this.retriggerChars.has(u))&&this.trigger({triggerKind:C.SignatureHelpTriggerKind.TriggerCharacter,triggerCharacter:s.charAt(a)})}}onCursorChange(s){s.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:C.SignatureHelpTriggerKind.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:C.SignatureHelpTriggerKind.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(70).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}e.ParameterHintsModel=p,p.DEFAULT_DELAY=120;function c(o,s){switch(s.triggerKind){case C.SignatureHelpTriggerKind.Invoke:return s;case C.SignatureHelpTriggerKind.ContentChange:return o;case C.SignatureHelpTriggerKind.TriggerCharacter:default:return s}}});var _e=this&&this.__param||function(q,e){return function(b,N){e(b,N,q)}};define(Q[548],J([0,1,16]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestAlternatives=void 0;let N=class at{constructor(w,S){this._editor=w,this._index=0,this._ckOtherSuggestions=at.OtherSuggestions.bindTo(S)}dispose(){this.reset()}reset(){var w;this._ckOtherSuggestions.reset(),(w=this._listener)===null||w===void 0||w.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:w,index:S},C){if(w.items.length===0){this.reset();return}if(at._moveIndex(!0,w,S)===S){this.reset();return}this._acceptNext=C,this._model=w,this._index=S,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(w,S,C){let d=C;for(;d=(d+S.items.length+(w?1:-1))%S.items.length,!(d===C||!S.items[d].completion.additionalTextEdits););return d}next(){this._move(!0)}prev(){this._move(!1)}_move(w){if(!!this._model)try{this._ignore=!0,this._index=at._moveIndex(w,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};N.OtherSuggestions=new b.RawContextKey("hasOtherSuggestions",!1),N=Me([_e(1,b.IContextKeyService)],N),e.SuggestAlternatives=N}),define(Q[549],J([0,1,16]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordContextKey=void 0;let N=class Mt{constructor(w,S){this._editor=w,this._enabled=!1,this._ckAtEnd=Mt.AtEnd.bindTo(S),this._configListener=this._editor.onDidChangeConfiguration(C=>C.hasChanged(106)&&this._update()),this._update()}dispose(){var w;this._configListener.dispose(),(w=this._selectionListener)===null||w===void 0||w.dispose(),this._ckAtEnd.reset()}_update(){const w=this._editor.getOption(106)==="on";if(this._enabled!==w)if(this._enabled=w,this._enabled){const S=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const C=this._editor.getModel(),d=this._editor.getSelection(),g=C.getWordAtPosition(d.getStartPosition());if(!g){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(g.endColumn===d.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(S),S()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};N.AtEnd=new b.RawContextKey("atEndOfWord",!1),N=Me([_e(1,b.IContextKeyService)],N),e.WordContextKey=N}),define(Q[65],J([0,1,9,16]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CONTEXT_ACCESSIBILITY_MODE_ENABLED=e.IAccessibilityService=void 0,e.IAccessibilityService=b.createDecorator("accessibilityService"),e.CONTEXT_ACCESSIBILITY_MODE_ENABLED=new N.RawContextKey("accessibilityModeEnabled",!1)}),define(Q[250],J([0,1,521,16,17]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InputFocusedContextKey=e.IsWindowsContext=void 0,e.IsWindowsContext=new N.RawContextKey("isWindows",M.isWindows,b.localize(0,null)),e.InputFocusedContextKey="inputFocus"}),define(Q[68],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IContextMenuService=e.IContextViewService=void 0,e.IContextViewService=b.createDecorator("contextViewService"),e.IContextMenuService=b.createDecorator("contextMenuService")}),define(Q[184],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IDialogService=void 0,e.IDialogService=b.createDecorator("dialogService")}),define(Q[138],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ServiceCollection=void 0;class b{constructor(...M){this._entries=new Map;for(let[w,S]of M)this.set(w,S)}set(M,w){const S=this._entries.get(M);return this._entries.set(M,w),S}has(M){return this._entries.has(M)}get(M){return this._entries.get(M)}}e.ServiceCollection=b}),define(Q[550],J([0,1,12,533,238,9,138,15]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InstantiationService=void 0;const d=!1;class g extends Error{constructor(s){super("cyclic dependency between services");this.message=s.toString()}}class p{constructor(s=new S.ServiceCollection,a=!1,u){this._activeInstantiations=new Set,this._services=s,this._strict=a,this._parent=u,this._services.set(w.IInstantiationService,this)}createChild(s){return new p(s,this._strict,this)}invokeFunction(s,...a){let u=c.traceInvocation(s),r=!1;try{return s({get:(n,t)=>{if(r)throw b.illegalState("service accessor is only valid during the invocation of its target method");const l=this._getOrCreateServiceInstance(n,u);if(!l&&t!==w.optional)throw new Error(`[invokeFunction] unknown service '${n}'`);return l}},...a)}finally{r=!0,u.stop()}}createInstance(s,...a){let u,r;return s instanceof M.SyncDescriptor?(u=c.traceCreation(s.ctor),r=this._createInstance(s.ctor,s.staticArguments.concat(a),u)):(u=c.traceCreation(s),r=this._createInstance(s,a,u)),u.stop(),r}_createInstance(s,a=[],u){let r=w._util.getServiceDependencies(s).sort((t,l)=>t.index-l.index),i=[];for(const t of r){let l=this._getOrCreateServiceInstance(t.id,u);if(!l&&this._strict&&!t.optional)throw new Error(`[createInstance] ${s.name} depends on UNKNOWN service ${t.id}.`);i.push(l)}let n=r.length>0?r[0].index:a.length;if(a.length!==n){console.warn(`[createInstance] First service dependency of ${s.name} at position ${n+1} conflicts with ${a.length} static arguments`);let t=n-a.length;t>0?a=a.concat(new Array(t)):a=a.slice(0,n)}return new s(...[...a,...i])}_setServiceInstance(s,a){if(this._services.get(s)instanceof M.SyncDescriptor)this._services.set(s,a);else if(this._parent)this._parent._setServiceInstance(s,a);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(s){let a=this._services.get(s);return!a&&this._parent?this._parent._getServiceInstanceOrDescriptor(s):a}_getOrCreateServiceInstance(s,a){let u=this._getServiceInstanceOrDescriptor(s);return u instanceof M.SyncDescriptor?this._safeCreateAndCacheServiceInstance(s,u,a.branch(s,!0)):(a.branch(s,!1),u)}_safeCreateAndCacheServiceInstance(s,a,u){if(this._activeInstantiations.has(s))throw new Error(`illegal state - RECURSIVELY instantiating service '${s}'`);this._activeInstantiations.add(s);try{return this._createAndCacheServiceInstance(s,a,u)}finally{this._activeInstantiations.delete(s)}}_createAndCacheServiceInstance(s,a,u){const r=new N.Graph(t=>t.id.toString());let i=0;const n=[{id:s,desc:a,_trace:u}];for(;n.length;){const t=n.pop();if(r.lookupOrInsertNode(t),i++>1e3)throw new g(r);for(let l of w._util.getServiceDependencies(t.desc.ctor)){let h=this._getServiceInstanceOrDescriptor(l.id);if(!h&&!l.optional&&console.warn(`[createInstance] ${s} depends on ${l.id} which is NOT registered.`),h instanceof M.SyncDescriptor){const m={id:l.id,desc:h,_trace:t._trace.branch(l.id,!0)};r.insertEdge(t,m),n.push(m)}}}for(;;){const t=r.roots();if(t.length===0){if(!r.isEmpty())throw new g(r);break}for(const{data:l}of t){if(this._getServiceInstanceOrDescriptor(l.id)instanceof M.SyncDescriptor){const m=this._createServiceInstanceWithOwner(l.id,l.desc.ctor,l.desc.staticArguments,l.desc.supportsDelayedInstantiation,l._trace);this._setServiceInstance(l.id,m)}r.removeNode(l)}}return this._getServiceInstanceOrDescriptor(s)}_createServiceInstanceWithOwner(s,a,u=[],r,i){if(this._services.get(s)instanceof M.SyncDescriptor)return this._createServiceInstance(a,u,r,i);if(this._parent)return this._parent._createServiceInstanceWithOwner(s,a,u,r,i);throw new Error(`illegalState - creating UNKNOWN service instance ${a.name}`)}_createServiceInstance(s,a=[],u,r){if(u){const i=new C.IdleValue(()=>this._createInstance(s,a,r));return new Proxy(Object.create(null),{get(n,t){if(t in n)return n[t];let l=i.value,h=l[t];return typeof h!="function"||(h=h.bind(l),n[t]=h),h},set(n,t,l){return i.value[t]=l,!0}})}else return this._createInstance(s,a,r)}}e.InstantiationService=p;class c{constructor(s,a){this.type=s,this.name=a,this._start=Date.now(),this._dep=[]}static traceInvocation(s){return d?new c(1,s.name||s.toString().substring(0,42).replace(/\n/g,"")):c._None}static traceCreation(s){return d?new c(0,s.name):c._None}branch(s,a){let u=new c(2,s.toString());return this._dep.push([s,a,u]),u}stop(){let s=Date.now()-this._start;c._totals+=s;let a=!1;function u(i,n){let t=[],l=new Array(i+1).join(" ");for(const[h,m,_]of n._dep)if(m&&_){a=!0,t.push(`${l}CREATES -> ${h}`);let f=u(i+1,_);f&&t.push(f)}else t.push(`${l}uses -> ${h}`);return t.join(` +`)}let r=[`${this.type===0?"CREATE":"CALL"} ${this.name}`,`${u(1,this)}`,`DONE, took ${s.toFixed(2)}ms (grand total ${c._totals.toFixed(2)}ms)`];(s>2||a)&&console.log(r.join(` +`))}}c._None=new class extends c{constructor(){super(-1,null)}stop(){}branch(){return this}},c._totals=0}),define(Q[551],J([0,1,522,15,6,2]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractKeybindingService=void 0;class S extends w.Disposable{constructor(d,g,p,c,o){super();this._contextKeyService=d,this._commandService=g,this._telemetryService=p,this._notificationService=c,this._logService=o,this._onDidUpdateKeybindings=this._register(new M.Emitter),this._currentChord=null,this._currentChordChecker=new N.IntervalTimer,this._currentChordStatusMessage=null,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new N.TimeoutTimer,this._logging=!1}get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:M.Event.None}dispose(){super.dispose()}_log(d){this._logging&&this._logService.info(`[KeybindingService]: ${d}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(d){const g=this._getResolver().lookupPrimaryKeybinding(d);if(!!g)return g.resolvedKeybinding}dispatchEvent(d,g){return this._dispatch(d,g)}softDispatch(d,g){const p=this.resolveKeyboardEvent(d);if(p.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),null;const[c]=p.getDispatchParts();if(c===null)return null;const o=this._contextKeyService.getContext(g),s=this._currentChord?this._currentChord.keypress:null;return this._getResolver().resolve(o,s,c)}_enterChordMode(d,g){this._currentChord={keypress:d,label:g},this._currentChordStatusMessage=this._notificationService.status(b.localize(0,null,g));const p=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-p>5e3&&this._leaveChordMode()},500)}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChord=null}_dispatch(d,g){return this._doDispatch(this.resolveKeyboardEvent(d),g,!1)}_singleModifierDispatch(d,g){const p=this.resolveKeyboardEvent(d),[c]=p.getSingleModifierDispatchParts();return c!==null&&this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${c}.`),this._currentSingleModifier=c,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):c!==null&&c===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${c} ${c}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(p,g,!0)):(this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1)}_doDispatch(d,g,p=!1){let c=!1;if(d.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;let o=null,s=null;if(p){const[i]=d.getSingleModifierDispatchParts();o=i,s=i}else[o]=d.getDispatchParts(),s=this._currentChord?this._currentChord.keypress:null;if(o===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),c;const a=this._contextKeyService.getContext(g),u=d.getLabel(),r=this._getResolver().resolve(a,s,o);return this._logService.trace("KeybindingService#dispatch",u,r==null?void 0:r.commandId),r&&r.enterChord?(c=!0,this._enterChordMode(o,u),c):(this._currentChord&&(!r||!r.commandId)&&(this._notificationService.status(b.localize(1,null,this._currentChord.label,u),{hideAfter:10*1e3}),c=!0),this._leaveChordMode(),r&&r.commandId&&(r.bubble||(c=!0),typeof r.commandArgs=="undefined"?this._commandService.executeCommand(r.commandId).then(void 0,i=>this._notificationService.warn(i)):this._commandService.executeCommand(r.commandId,r.commandArgs).then(void 0,i=>this._notificationService.warn(i)),this._telemetryService.publicLog2("workbenchActionExecuted",{id:r.commandId,from:"keybinding"})),c)}mightProducePrintableCharacter(d){return d.ctrlKey||d.metaKey?!1:d.keyCode>=31&&d.keyCode<=56||d.keyCode>=21&&d.keyCode<=30}}e.AbstractKeybindingService=S}),define(Q[552],J([0,1,12,235,39]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseResolvedKeybinding=void 0;class w extends M.ResolvedKeybinding{constructor(C,d){super();if(d.length===0)throw b.illegalArgument("parts");this._os=C,this._parts=d}getLabel(){return N.UILabelProvider.toLabel(this._os,this._parts,C=>this._getLabel(C))}getAriaLabel(){return N.AriaLabelProvider.toLabel(this._os,this._parts,C=>this._getAriaLabel(C))}isChord(){return this._parts.length>1}getParts(){return this._parts.map(C=>this._getPart(C))}_getPart(C){return new M.ResolvedKeybindingPart(C.ctrlKey,C.shiftKey,C.altKey,C.metaKey,this._getLabel(C),this._getAriaLabel(C))}getDispatchParts(){return this._parts.map(C=>this._getDispatchPart(C))}getSingleModifierDispatchParts(){return this._parts.map(C=>this._getSingleModifierDispatchPart(C))}}e.BaseResolvedKeybinding=w}),define(Q[37],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IKeybindingService=void 0,e.IKeybindingService=b.createDecorator("keybindingService")}),define(Q[251],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KeybindingResolver=void 0;class b{constructor(S,C,d){this._log=d,this._defaultKeybindings=S,this._defaultBoundCommands=new Map;for(let g=0,p=S.length;g=0;a--)this._isTargetedForRemoval(S[a],c,o,p,s)&&S.splice(a,1)}return S.concat(d)}_addKeyPress(S,C){const d=this._map.get(S);if(typeof d=="undefined"){this._map.set(S,[C]),this._addToLookupMap(C);return}for(let g=d.length-1;g>=0;g--){let p=d[g];if(p.command!==C.command){const c=p.keypressParts.length>1,o=C.keypressParts.length>1;c&&o&&p.keypressParts[1]!==C.keypressParts[1]||b.whenIsEntirelyIncluded(p.when,C.when)&&this._removeFromLookupMap(p)}}d.push(C),this._addToLookupMap(C)}_addToLookupMap(S){if(!!S.command){let C=this._lookupMap.get(S.command);typeof C=="undefined"?(C=[S],this._lookupMap.set(S.command,C)):C.push(S)}}_removeFromLookupMap(S){if(!!S.command){let C=this._lookupMap.get(S.command);if(typeof C!="undefined"){for(let d=0,g=C.length;dc.type===9?c.expr:[c];let p=g(d).concat(g(C));for(let c=0;c1&&p.keypressParts[1]!==null?(this._log(`\\ From ${g.length} keybinding entries, matched chord, when: ${N(p.when)}, source: ${M(p)}.`),{enterChord:!0,leaveChord:!1,commandId:null,commandArgs:null,bubble:!1}):(this._log(`\\ From ${g.length} keybinding entries, matched ${p.command}, when: ${N(p.when)}, source: ${M(p)}.`),{enterChord:!1,leaveChord:p.keypressParts.length>1,commandId:p.command,commandArgs:p.commandArgs,bubble:p.bubble}):(this._log(`\\ From ${g.length} keybinding entries, no when clauses matched the context.`),null)}_findCommand(S,C){for(let d=C.length-1;d>=0;d--){let g=C[d];if(!!b.contextMatchesRules(S,g.when))return g}return null}static contextMatchesRules(S,C){return C?C.evaluate(S):!0}}e.KeybindingResolver=b;function N(w){return w?`${w.serialize()}`:"no when condition"}function M(w){return w.extensionId?w.isBuiltinExtension?`built-in extension ${w.extensionId}`:`user extension ${w.extensionId}`:w.isDefault?"built-in":"user"}}),define(Q[553],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeElementsAfterNulls=e.ResolvedKeybindingItem=void 0;class b{constructor(w,S,C,d,g,p,c){this.resolvedKeybinding=w,this.keypressParts=w?N(w.getDispatchParts()):[],w&&this.keypressParts.length===0&&(this.keypressParts=N(w.getSingleModifierDispatchParts())),this.bubble=S?S.charCodeAt(0)===94:!1,this.command=this.bubble?S.substr(1):S,this.commandArgs=C,this.when=d,this.isDefault=g,this.extensionId=p,this.isBuiltinExtension=c}}e.ResolvedKeybindingItem=b;function N(M){let w=[];for(let S=0,C=M.length;Sthis.layout()))}setContainer(C,d){this.contextView.setContainer(C,d||1)}showContextView(C,d,g){d?d!==this.container&&(this.container=d,this.setContainer(d,g?3:2)):this.container!==this.layoutService.container&&(this.container=this.layoutService.container,this.setContainer(this.container,1)),this.contextView.show(C);const p=N.toDisposable(()=>{this.currentViewDisposable===p&&this.hideContextView()});return this.currentViewDisposable=p,p}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(C){this.contextView.hide(C)}};w=Me([_e(0,M.ILayoutService)],w),e.ContextViewService=w}),define(Q[77],J([0,1,9,2,6]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LogService=e.ConsoleLogger=e.AbstractLogger=e.DEFAULT_LOG_LEVEL=e.LogLevel=e.ILogService=void 0,e.ILogService=b.createDecorator("logService");var w;(function(g){g[g.Trace=0]="Trace",g[g.Debug=1]="Debug",g[g.Info=2]="Info",g[g.Warning=3]="Warning",g[g.Error=4]="Error",g[g.Critical=5]="Critical",g[g.Off=6]="Off"})(w=e.LogLevel||(e.LogLevel={})),e.DEFAULT_LOG_LEVEL=w.Info;class S extends N.Disposable{constructor(){super(...arguments);this.level=e.DEFAULT_LOG_LEVEL,this._onDidChangeLogLevel=this._register(new M.Emitter)}setLevel(p){this.level!==p&&(this.level=p,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}}e.AbstractLogger=S;class C extends S{constructor(p=e.DEFAULT_LOG_LEVEL){super();this.setLevel(p)}trace(p,...c){this.getLevel()<=w.Trace&&console.log("%cTRACE","color: #888",p,...c)}debug(p,...c){this.getLevel()<=w.Debug&&console.log("%cDEBUG","background: #eee; color: #888",p,...c)}info(p,...c){this.getLevel()<=w.Info&&console.log("%c INFO","color: #33f",p,...c)}error(p,...c){this.getLevel()<=w.Error&&console.log("%c ERR","color: #f33",p,...c)}dispose(){}}e.ConsoleLogger=C;class d extends N.Disposable{constructor(p){super();this.logger=p,this._register(p)}getLevel(){return this.logger.getLevel()}trace(p,...c){this.logger.trace(p,...c)}debug(p,...c){this.logger.debug(p,...c)}info(p,...c){this.logger.info(p,...c)}error(p,...c){this.logger.error(p,...c)}}e.LogService=d}),define(Q[252],J([0,1,15,2,201,294,3,18,41,389,36,137,8,19,77,81,12]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorWorkerClient=e.EditorWorkerHost=e.EditorWorkerServiceImpl=void 0;const i=60*1e3,n=5*60*1e3;function t(L,I){let k=L.getModel(I);return!(!k||k.isTooLargeForSyncing())}let l=class extends N.Disposable{constructor(I,k,E){super();this._modelService=I,this._workerManager=this._register(new m(this._modelService)),this._logService=E,this._register(C.LinkProviderRegistry.register("*",{provideLinks:(T,O)=>t(this._modelService,T.uri)?this._workerManager.withWorker().then(A=>A.computeLinks(T.uri)).then(A=>A&&{links:A}):Promise.resolve({links:[]})})),this._register(C.CompletionProviderRegistry.register("*",new h(this._workerManager,k,this._modelService)))}dispose(){super.dispose()}canComputeDiff(I,k){return t(this._modelService,I)&&t(this._modelService,k)}computeDiff(I,k,E,T){return this._workerManager.withWorker().then(O=>O.computeDiff(I,k,E,T))}computeMoreMinimalEdits(I,k){if(s.isNonEmptyArray(k)){if(!t(this._modelService,I))return Promise.resolve(k);const E=u.StopWatch.create(!0),T=this._workerManager.withWorker().then(O=>O.computeMoreMinimalEdits(I,k));return T.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",I.toString(!0),E.elapsed())),Promise.race([T,b.timeout(1e3).then(()=>k)])}else return Promise.resolve(void 0)}canNavigateValueSet(I){return t(this._modelService,I)}navigateValueSet(I,k,E){return this._workerManager.withWorker().then(T=>T.navigateValueSet(I,k,E))}canComputeWordRanges(I){return t(this._modelService,I)}computeWordRanges(I,k){return this._workerManager.withWorker().then(E=>E.computeWordRanges(I,k))}};l=Me([_e(0,p.IModelService),_e(1,c.ITextResourceConfigurationService),_e(2,a.ILogService)],l),e.EditorWorkerServiceImpl=l;class h{constructor(I,k,E){this._debugDisplayName="wordbasedCompletions",this._workerManager=I,this._configurationService=k,this._modelService=E}provideCompletionItems(I,k){return Ie(this,void 0,void 0,function*(){const E=this._configurationService.getValue(I.uri,k,"editor");if(!!E.wordBasedSuggestions){const T=[];if(E.wordBasedSuggestionsMode==="currentDocument")t(this._modelService,I.uri)&&T.push(I.uri);else for(const W of this._modelService.getModels())!t(this._modelService,W.uri)||(W===I?T.unshift(W.uri):(E.wordBasedSuggestionsMode==="allDocuments"||W.getLanguageIdentifier().id===I.getLanguageIdentifier().id)&&T.push(W.uri));if(T.length!==0){const O=d.LanguageConfigurationRegistry.getWordDefinition(I.getLanguageIdentifier().id),A=I.getWordAtPosition(k),B=A?new S.Range(k.lineNumber,A.startColumn,k.lineNumber,A.endColumn):S.Range.fromPositions(k),F=B.setEndPosition(k.lineNumber,k.column),R=yield(yield this._workerManager.withWorker()).textualSuggest(T,A==null?void 0:A.word,O);if(!!R)return{duration:R.duration,suggestions:R.words.map(W=>({kind:18,label:W,insertText:W,range:{insert:F,replace:B}}))}}}})}}class m extends N.Disposable{constructor(I){super();this._modelService=I,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new b.IntervalTimer).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(n/2)),this._register(this._modelService.onModelRemoved(E=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){!this._editorWorkerClient||this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){!this._editorWorkerClient||new Date().getTime()-this._lastWorkerUsedTime>n&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new y(this._modelService,!1,"editorWorkerService")),Promise.resolve(this._editorWorkerClient)}}class _ extends N.Disposable{constructor(I,k,E){super();if(this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=I,this._modelService=k,!E){let T=new b.IntervalTimer;T.cancelAndSet(()=>this._checkStopModelSync(),Math.round(i/2)),this._register(T)}}dispose(){for(let I in this._syncedModels)N.dispose(this._syncedModels[I]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(I){for(const k of I){let E=k.toString();this._syncedModels[E]||this._beginModelSync(k),this._syncedModels[E]&&(this._syncedModelsLastUsedTime[E]=new Date().getTime())}}_checkStopModelSync(){let I=new Date().getTime(),k=[];for(let E in this._syncedModelsLastUsedTime)I-this._syncedModelsLastUsedTime[E]>i&&k.push(E);for(const E of k)this._stopModelSync(E)}_beginModelSync(I){let k=this._modelService.getModel(I);if(!!k&&!k.isTooLargeForSyncing()){let E=I.toString();this._proxy.acceptNewModel({url:k.uri.toString(),lines:k.getLinesContent(),EOL:k.getEOL(),versionId:k.getVersionId()});const T=new N.DisposableStore;T.add(k.onDidChangeContent(O=>{this._proxy.acceptModelChanged(E.toString(),O)})),T.add(k.onWillDispose(()=>{this._stopModelSync(E)})),T.add(N.toDisposable(()=>{this._proxy.acceptRemovedModel(E)})),this._syncedModels[E]=T}}_stopModelSync(I){let k=this._syncedModels[I];delete this._syncedModels[I],delete this._syncedModelsLastUsedTime[I],N.dispose(k)}}class f{constructor(I){this._instance=I,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class v{constructor(I){this._workerClient=I}fhr(I,k){return this._workerClient.fhr(I,k)}}e.EditorWorkerHost=v;class y extends N.Disposable{constructor(I,k,E){super();this._disposed=!1,this._modelService=I,this._keepIdleModels=k,this._workerFactory=new w.DefaultWorkerFactory(E),this._worker=null,this._modelManager=null}fhr(I,k){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new M.SimpleWorkerClient(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new v(this)))}catch(I){M.logOnceWebWorkerWarning(I),this._worker=new f(new g.EditorSimpleWorker(new v(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,I=>(M.logOnceWebWorkerWarning(I),this._worker=new f(new g.EditorSimpleWorker(new v(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(I){return this._modelManager||(this._modelManager=this._register(new _(I,this._modelService,this._keepIdleModels))),this._modelManager}_withSyncedResources(I){return this._disposed?Promise.reject(r.canceled()):this._getProxy().then(k=>(this._getOrCreateModelManager(k).ensureSyncedResources(I),k))}computeDiff(I,k,E,T){return this._withSyncedResources([I,k]).then(O=>O.computeDiff(I.toString(),k.toString(),E,T))}computeMoreMinimalEdits(I,k){return this._withSyncedResources([I]).then(E=>E.computeMoreMinimalEdits(I.toString(),k))}computeLinks(I){return this._withSyncedResources([I]).then(k=>k.computeLinks(I.toString()))}textualSuggest(I,k,E){return Ie(this,void 0,void 0,function*(){const T=yield this._withSyncedResources(I),O=E.source,A=o.regExpFlags(E);return T.textualSuggest(I.map(B=>B.toString()),k,O,A)})}computeWordRanges(I,k){return this._withSyncedResources([I]).then(E=>{let T=this._modelService.getModel(I);if(!T)return Promise.resolve(null);let O=d.LanguageConfigurationRegistry.getWordDefinition(T.getLanguageIdentifier().id),A=O.source,B=o.regExpFlags(O);return E.computeWordRanges(I.toString(),k,A,B)})}navigateValueSet(I,k,E){return this._withSyncedResources([I]).then(T=>{let O=this._modelService.getModel(I);if(!O)return null;let A=d.LanguageConfigurationRegistry.getWordDefinition(O.getLanguageIdentifier().id),B=A.source,F=o.regExpFlags(A);return T.navigateValueSet(I.toString(),k,E,B,F)})}dispose(){super.dispose(),this._disposed=!0}}e.EditorWorkerClient=y}),define(Q[253],J([0,1,18,77,135]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toMultilineTokens2=e.SemanticTokensProviderStyling=void 0;class w{constructor(p,c,o){this._legend=p,this._themeService=c,this._logService=o,this._hashTable=new d,this._hasWarnedOverlappingTokens=!1}getMetadata(p,c,o){const s=this._hashTable.get(p,c,o.id);let a;if(s)a=s.metadata,this._logService.getLevel()===N.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${p} / ${c}: foreground ${b.TokenMetadata.getForeground(a)}, fontStyle ${b.TokenMetadata.getFontStyle(a).toString(2)}`);else{let u=this._legend.tokenTypes[p];const r=[];if(u){let i=c;for(let t=0;i>0&&t>1;i>0&&this._logService.getLevel()===N.LogLevel.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${c.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),r.push("not-in-legend"));const n=this._themeService.getColorTheme().getTokenStyleMetadata(u,r,o.language);typeof n=="undefined"?a=2147483647:(a=0,typeof n.italic!="undefined"&&(a|=(n.italic?1:0)<<11|1),typeof n.bold!="undefined"&&(a|=(n.bold?2:0)<<11|2),typeof n.underline!="undefined"&&(a|=(n.underline?4:0)<<11|4),n.foreground&&(a|=n.foreground<<14|8),a===0&&(a=2147483647))}else this._logService.getLevel()===N.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${p} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),a=2147483647,u="not-in-legend";this._hashTable.add(p,c,o.id,a),this._logService.getLevel()===N.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${p} (${u}) / ${c} (${r.join(" ")}): foreground ${b.TokenMetadata.getForeground(a)}, fontStyle ${b.TokenMetadata.getFontStyle(a).toString(2)}`)}return a}warnOverlappingSemanticTokens(p,c){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,console.warn(`Overlapping semantic tokens detected at lineNumber ${p}, column ${c}`))}}e.SemanticTokensProviderStyling=w;function S(g,p,c){const o=g.data,s=g.data.length/5|0,a=Math.max(Math.ceil(s/1024),400),u=[];let r=0,i=1,n=0;for(;rt&&o[5*I]===0;)I--;if(I-1===t){let k=l;for(;k+1O&&(p.warnOverlappingSemanticTokens(T,O+1),v=this._growCount){const a=this._elements;this._currentLengthIndex++,this._currentLength=d._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{const d=this._foreignModuleHost?N.getAllMethodNames(this._foreignModuleHost):[];return C.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,d).then(g=>{this._foreignModuleCreateData=null;const p=(s,a)=>C.fmr(s,a),c=(s,a)=>function(){const u=Array.prototype.slice.call(arguments,0);return a(s,u)};let o={};for(const s of g)o[s]=c(s,p);return o})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(C){return this._withSyncedResources(C).then(d=>this.getProxy())}}}),define(Q[85],J([0,1,9,524,82]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerService=e.IMarkerData=e.MarkerSeverity=void 0;var w;(function(C){C[C.Hint=1]="Hint",C[C.Info=2]="Info",C[C.Warning=4]="Warning",C[C.Error=8]="Error"})(w=e.MarkerSeverity||(e.MarkerSeverity={})),function(C){function d(s,a){return a-s}C.compare=d;const g=Object.create(null);g[C.Error]=N.localize(0,null),g[C.Warning]=N.localize(1,null),g[C.Info]=N.localize(2,null);function p(s){return g[s]||""}C.toString=p;function c(s){switch(s){case M.default.Error:return C.Error;case M.default.Warning:return C.Warning;case M.default.Info:return C.Info;case M.default.Ignore:return C.Hint}}C.fromSeverity=c;function o(s){switch(s){case C.Error:return M.default.Error;case C.Warning:return M.default.Warning;case C.Info:return M.default.Info;case C.Hint:return M.default.Ignore}}C.toSeverity=o}(w=e.MarkerSeverity||(e.MarkerSeverity={}));var S;(function(C){const d="";function g(c){return p(c,!0)}C.makeKey=g;function p(c,o){let s=[d];return c.source?s.push(c.source.replace("\xA6","\\\xA6")):s.push(d),c.code?typeof c.code=="string"?s.push(c.code.replace("\xA6","\\\xA6")):s.push(c.code.value.replace("\xA6","\\\xA6")):s.push(d),c.severity!==void 0&&c.severity!==null?s.push(w.toString(c.severity)):s.push(d),c.message&&o?s.push(c.message.replace("\xA6","\\\xA6")):s.push(d),c.startLineNumber!==void 0&&c.startLineNumber!==null?s.push(c.startLineNumber.toString()):s.push(d),c.startColumn!==void 0&&c.startColumn!==null?s.push(c.startColumn.toString()):s.push(d),c.endLineNumber!==void 0&&c.endLineNumber!==null?s.push(c.endLineNumber.toString()):s.push(d),c.endColumn!==void 0&&c.endColumn!==null?s.push(c.endColumn.toString()):s.push(d),s.push(d),s.join("\xA6")}C.makeKeyOptionalMessage=p})(S=e.IMarkerData||(e.IMarkerData={})),e.IMarkerService=b.createDecorator("markerService")}),define(Q[557],J([0,1,85,24,6,2,3,8,19,9,74,71]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerNavigationService=e.MarkerList=e.MarkerCoordinate=void 0;class o{constructor(r,i,n){this.marker=r,this.index=i,this.total=n}}e.MarkerCoordinate=o;let s=class Tt{constructor(r,i){this._markerService=i,this._onDidChange=new M.Emitter,this.onDidChange=this._onDidChange.event,this._dispoables=new w.DisposableStore,this._markers=[],this._nextIdx=-1,N.URI.isUri(r)?this._resourceFilter=t=>t.toString()===r.toString():r&&(this._resourceFilter=r);const n=()=>{this._markers=this._markerService.read({resource:N.URI.isUri(r)?r:void 0,severities:b.MarkerSeverity.Error|b.MarkerSeverity.Warning|b.MarkerSeverity.Info}),typeof r=="function"&&(this._markers=this._markers.filter(t=>this._resourceFilter(t.resource))),this._markers.sort(Tt._compareMarker)};n(),this._dispoables.add(i.onMarkerChanged(t=>{(!this._resourceFilter||t.some(l=>this._resourceFilter(l)))&&(n(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(r){return!this._resourceFilter&&!r?!0:!this._resourceFilter||!r?!1:this._resourceFilter(r)}get selected(){const r=this._markers[this._nextIdx];return r&&new o(r,this._nextIdx+1,this._markers.length)}_initIdx(r,i,n){let t=!1,l=this._markers.findIndex(h=>h.resource.toString()===r.uri.toString());l<0&&(l=d.binarySearch(this._markers,{resource:r.uri},(h,m)=>C.compare(h.resource.toString(),m.resource.toString())),l<0&&(l=~l));for(let h=l;ht.resource.toString()===r.toString());if(!(n<0)){for(;nn[1])}}class p{constructor(s){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new C.ResourceMap,this._service=s,this._subscription=s.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(s){for(const a of s){const u=this._data.get(a);u&&this._substract(u);const r=this._resourceStats(a);this._add(r),this._data.set(a,r)}}_resourceStats(s){const a={errors:0,warnings:0,infos:0,unknowns:0};if(s.scheme===N.Schemas.inMemory||s.scheme===N.Schemas.walkThrough||s.scheme===N.Schemas.walkThroughSnippet)return a;for(const{severity:u}of this._service.read({resource:s}))u===S.MarkerSeverity.Error?a.errors+=1:u===S.MarkerSeverity.Warning?a.warnings+=1:u===S.MarkerSeverity.Info?a.infos+=1:a.unknowns+=1;return a}_substract(s){this.errors-=s.errors,this.warnings-=s.warnings,this.infos-=s.infos,this.unknowns-=s.unknowns}_add(s){this.errors+=s.errors,this.warnings+=s.warnings,this.infos+=s.infos,this.unknowns+=s.unknowns}}class c{constructor(){this._onMarkerChanged=new w.Emitter,this.onMarkerChanged=w.Event.debounce(this._onMarkerChanged.event,c._debouncer,0),this._data=new g,this._stats=new p(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(s,a){for(const u of a||[])this.changeOne(s,u,[])}changeOne(s,a,u){if(b.isFalsyOrEmpty(u))this._data.delete(a,s)&&this._onMarkerChanged.fire([a]);else{const r=[];for(const i of u){const n=c._toMarker(s,a,i);n&&r.push(n)}this._data.set(a,s,r),this._onMarkerChanged.fire([a])}}static _toMarker(s,a,u){let{code:r,severity:i,message:n,source:t,startLineNumber:l,startColumn:h,endLineNumber:m,endColumn:_,relatedInformation:f,tags:v}=u;if(!!n)return l=l>0?l:1,h=h>0?h:1,m=m>=l?m:l,_=_>0?_:h,{resource:a,owner:s,code:r,severity:i,message:n,source:t,startLineNumber:l,startColumn:h,endLineNumber:m,endColumn:_,relatedInformation:f,tags:v}}read(s=Object.create(null)){let{owner:a,resource:u,severities:r,take:i}=s;if((!i||i<0)&&(i=-1),a&&u){const n=this._data.get(u,a);if(n){const t=[];for(const l of n)if(c._accept(l,r)){const h=t.push(l);if(i>0&&h===i)break}return t}else return[]}else if(!a&&!u){const n=[];for(let t of this._data.values())for(let l of t)if(c._accept(l,r)){const h=n.push(l);if(i>0&&h===i)return n}return n}else{const n=this._data.values(u!=null?u:a),t=[];for(const l of n)for(const h of l)if(c._accept(h,r)){const m=t.push(h);if(i>0&&m===i)return t}return t}}static _accept(s,a){return a===void 0||(a&s.severity)===s.severity}static _debouncer(s,a){s||(c._dedupeMap=new C.ResourceMap,s=[]);for(const u of a)c._dedupeMap.has(u)||(c._dedupeMap.set(u,!0),s.push(u));return s}}e.MarkerService=c}),define(Q[32],J([0,1,82,9]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NoOpNotification=e.INotificationService=e.Severity=void 0,e.Severity=b.default,e.INotificationService=N.createDecorator("notificationService");class M{}e.NoOpNotification=M}),define(Q[58],J([0,1,2,8,24,9]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.matchesScheme=e.NullOpenerService=e.IOpenerService=void 0,e.IOpenerService=w.createDecorator("openerService"),e.NullOpenerService=Object.freeze({_serviceBrand:void 0,registerOpener(){return b.Disposable.None},registerValidator(){return b.Disposable.None},registerExternalUriResolver(){return b.Disposable.None},setDefaultExternalOpener(){},registerExternalOpener(){return b.Disposable.None},open(){return Ie(this,void 0,void 0,function*(){return!1})},resolveExternalUri(C){return Ie(this,void 0,void 0,function*(){return{resolved:C,dispose(){}}})}});function S(C,d){return M.URI.isUri(C)?N.equalsIgnoreCase(C.scheme,d):N.startsWithIgnoreCase(C,d+":")}e.matchesScheme=S}),define(Q[140],J([0,1,290,58,57,12,243,6,2,18]),function(q,e,b,N,M,w,S,C,d,g){"use strict";var p;Object.defineProperty(e,"__esModule",{value:!0}),e.MarkdownRenderer=void 0;let c=class Rt{constructor(s,a,u){this._options=s,this._modeService=a,this._openerService=u,this._onDidRenderAsync=new C.Emitter,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(s,a,u){const r=new d.DisposableStore;let i;return s?i=b.renderMarkdown(s,Object.assign(Object.assign({},this._getRenderOptions(r)),a),u):i=document.createElement("span"),{element:i,dispose:()=>r.dispose()}}_getRenderOptions(s){return{baseUrl:this._options.baseUrl,codeBlockRenderer:(a,u)=>Ie(this,void 0,void 0,function*(){var r,i,n,t;let l;a?l=this._modeService.getModeIdForLanguageName(a):this._options.editor&&(l=(r=this._options.editor.getModel())===null||r===void 0?void 0:r.getLanguageIdentifier().language),l||(l="plaintext"),this._modeService.triggerMode(l);const h=(i=yield g.TokenizationRegistry.getPromise(l))!==null&&i!==void 0?i:void 0,m=document.createElement("span");m.innerHTML=(t=(n=Rt._ttpTokenizer)===null||n===void 0?void 0:n.createHTML(u,h))!==null&&t!==void 0?t:S.tokenizeToString(u,h);let _=this._options.codeBlockFontFamily;return this._options.editor&&(_=this._options.editor.getOption(38).fontFamily),_&&(m.style.fontFamily=_),m}),asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:a=>this._openerService.open(a,{fromUserGesture:!0,allowContributedOpeners:!0}).catch(w.onUnexpectedError),disposeables:s}}}};c._ttpTokenizer=(p=window.trustedTypes)===null||p===void 0?void 0:p.createPolicy("tokenizeToString",{createHTML(o,s){return S.tokenizeToString(o,s)}}),c=Me([_e(1,M.IModeService),_e(2,N.IOpenerService)],c),e.MarkdownRenderer=c}),define(Q[559],J([0,1,7,23,71,51,199,43,44,24,28,26,531,58]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpenerService=void 0;let a=class{constructor(n){this._commandService=n}open(n){return Ie(this,void 0,void 0,function*(){if(!s.matchesScheme(n,C.Schemas.command))return!1;typeof n=="string"&&(n=g.URI.parse(n));let t=[];try{t=S.parse(decodeURIComponent(n.query))}catch(l){try{t=S.parse(n.query)}catch(h){}}return Array.isArray(t)||(t=[t]),yield this._commandService.executeCommand(n.path,...t),!0})}};a=Me([_e(0,c.ICommandService)],a);let u=class{constructor(n){this._editorService=n}open(n,t){return Ie(this,void 0,void 0,function*(){typeof n=="string"&&(n=g.URI.parse(n));let l;const h=/^L?(\d+)(?:,(\d+))?/.exec(n.fragment);return h&&(l={startLineNumber:parseInt(h[1]),startColumn:h[2]?parseInt(h[2]):1},n=n.with({fragment:""})),n.scheme===C.Schemas.file&&(n=d.normalizePath(n)),yield this._editorService.openCodeEditor({resource:n,options:Object.assign({selection:l,context:(t==null?void 0:t.fromUserGesture)?o.EditorOpenContext.USER:o.EditorOpenContext.API},t==null?void 0:t.editorOptions)},this._editorService.getFocusedCodeEditor(),t==null?void 0:t.openToSide),!0})}};u=Me([_e(0,p.ICodeEditorService)],u);let r=class{constructor(n,t){this._openers=new M.LinkedList,this._validators=new M.LinkedList,this._resolvers=new M.LinkedList,this._resolvedUriTargets=new w.ResourceMap(l=>l.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new M.LinkedList,this._defaultExternalOpener={openExternal:l=>Ie(this,void 0,void 0,function*(){return s.matchesScheme(l,C.Schemas.http)||s.matchesScheme(l,C.Schemas.https)?b.windowOpenNoOpener(l):window.location.href=l,!0})},this._openers.push({open:(l,h)=>Ie(this,void 0,void 0,function*(){return(h==null?void 0:h.openExternal)||s.matchesScheme(l,C.Schemas.mailto)||s.matchesScheme(l,C.Schemas.http)||s.matchesScheme(l,C.Schemas.https)?(yield this._doOpenExternal(l,h),!0):!1})}),this._openers.push(new a(t)),this._openers.push(new u(n))}registerOpener(n){return{dispose:this._openers.unshift(n)}}registerValidator(n){return{dispose:this._validators.push(n)}}registerExternalUriResolver(n){return{dispose:this._resolvers.push(n)}}setDefaultExternalOpener(n){this._defaultExternalOpener=n}registerExternalOpener(n){return{dispose:this._externalOpeners.push(n)}}open(n,t){var l;return Ie(this,void 0,void 0,function*(){const h=typeof n=="string"?g.URI.parse(n):n,m=(l=this._resolvedUriTargets.get(h))!==null&&l!==void 0?l:h;for(const _ of this._validators)if(!(yield _.shouldOpen(m)))return!1;for(const _ of this._openers)if(yield _.open(n,t))return!0;return!1})}resolveExternalUri(n,t){return Ie(this,void 0,void 0,function*(){for(const l of this._resolvers){const h=yield l.resolveExternalUri(n,t);if(h)return this._resolvedUriTargets.has(h.resolved)||this._resolvedUriTargets.set(h.resolved,n),h}return{resolved:n,dispose:()=>{}}})}_doOpenExternal(n,t){return Ie(this,void 0,void 0,function*(){const l=typeof n=="string"?g.URI.parse(n):n,{resolved:h}=yield this.resolveExternalUri(l,t);let m;if(typeof n=="string"&&l.toString()===h.toString()?m=n:m=encodeURI(h.toString(!0)),t==null?void 0:t.allowContributedOpeners){const _=typeof(t==null?void 0:t.allowContributedOpeners)=="string"?t==null?void 0:t.allowContributedOpeners:void 0;for(const f of this._externalOpeners)if(yield f.openExternal(m,{sourceUri:l,preferredOpenerId:_},N.CancellationToken.None))return!0}return this._defaultExternalOpener.openExternal(m,{sourceUri:l},N.CancellationToken.None)})}dispose(){this._validators.clear()}};r=Me([_e(0,p.ICodeEditorService),_e(1,c.ICommandService)],r),e.OpenerService=r}),define(Q[560],J([0,1,7,73,2,228,408,140,58,19]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ModesGlyphHoverWidget=void 0;class p{constructor(s){this._editor=s,this._lineNumber=-1,this._result=[]}setLineNumber(s){this._lineNumber=s,this._result=[]}clearResult(){this._result=[]}computeSync(){const s=r=>({value:r}),a=this._editor.getLineDecorations(this._lineNumber),u=[];if(!a)return u;for(const r of a)if(!!r.options.glyphMarginClassName){const i=r.options.glyphMarginHoverMessage;!i||N.isEmptyMarkdownString(i)||u.push(...g.asArray(i).map(s))}return u}onResult(s,a){this._result=this._result.concat(s)}getResult(){return this._result}getResultWithLoadingMessage(){return this.getResult()}}class c extends S.GlyphHoverWidget{constructor(s,a,u=d.NullOpenerService){super(c.ID,s);this._renderDisposeables=this._register(new M.DisposableStore),this._messages=[],this._lastLineNumber=-1,this._markdownRenderer=this._register(new C.MarkdownRenderer({editor:this._editor},a,u)),this._computer=new p(this._editor),this._hoverOperation=new w.HoverOperation(this._computer,r=>this._withResult(r),void 0,r=>this._withResult(r),300)}dispose(){this._hoverOperation.cancel(),super.dispose()}onModelDecorationsChanged(){this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._hoverOperation.start(0))}startShowingAt(s){this._lastLineNumber!==s&&(this._hoverOperation.cancel(),this.hide(),this._lastLineNumber=s,this._computer.setLineNumber(s),this._hoverOperation.start(0))}hide(){this._lastLineNumber=-1,this._hoverOperation.cancel(),super.hide()}_withResult(s){this._messages=s,this._messages.length>0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()}_renderMessages(s,a){this._renderDisposeables.clear();const u=document.createDocumentFragment();for(const r of a){const i=this._markdownRenderer.render(r.value);this._renderDisposeables.add(i),u.appendChild(b.$("div.hover-row",void 0,i.element))}this.updateContents(u),this.showAt(s)}}e.ModesGlyphHoverWidget=c,c.ID="editor.contrib.modesGlyphHoverWidget"}),define(Q[254],J([0,1,509,2,7,61,140,73,27,6,231,9]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestDetailsOverlay=e.SuggestDetailsWidget=e.canExpandCompletionItem=void 0;function o(u){return!!u&&Boolean(u.completion.documentation||u.completion.detail&&u.completion.detail!==u.completion.label)}e.canExpandCompletionItem=o;let s=class{constructor(r,i){this._editor=r,this._onDidClose=new g.Emitter,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new g.Emitter,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new N.DisposableStore,this._renderDisposeable=new N.DisposableStore,this._borderWidth=1,this._size=new M.Dimension(330,0),this.domNode=M.$(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=i.createInstance(S.MarkdownRenderer,{editor:r}),this._body=M.$(".body"),this._scrollbar=new w.DomScrollableElement(this._body,{}),M.append(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=M.append(this._body,M.$(".header")),this._close=M.append(this._header,M.$("span"+d.Codicon.close.cssSelector)),this._close.title=b.localize(0,null),this._type=M.append(this._header,M.$("p.type")),this._docs=M.append(this._body,M.$("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(38)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const r=this._editor.getOptions(),i=r.get(38),n=i.fontFamily,t=r.get(102)||i.fontSize,l=r.get(103)||i.lineHeight,h=i.fontWeight,m=`${t}px`,_=`${l}px`;this.domNode.style.fontSize=m,this.domNode.style.lineHeight=_,this.domNode.style.fontWeight=h,this.domNode.style.fontFeatureSettings=i.fontFeatureSettings,this._type.style.fontFamily=n,this._close.style.height=_,this._close.style.width=_}getLayoutInfo(){const r=this._editor.getOption(103)||this._editor.getOption(38).lineHeight,i=this._borderWidth,n=i*2;return{lineHeight:r,borderWidth:i,borderHeight:n,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=b.localize(1,null),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(r,i){var n;this._renderDisposeable.clear();let{detail:t,documentation:l}=r.completion;if(i){let h="";h+=`score: ${r.score[0]}${r.word?`, compared '${r.completion.filterText&&r.completion.filterText+" (filterText)"||typeof r.completion.label=="string"?r.completion.label:r.completion.label.name}' with '${r.word}'`:" (no prefix)"} +`,h+=`distance: ${r.distance}, see localityBonus-setting +`,h+=`index: ${r.idx}, based on ${r.completion.sortText&&`sortText: "${r.completion.sortText}"`||"label"} +`,h+=`commit characters: ${(n=r.completion.commitCharacters)===null||n===void 0?void 0:n.join("")} +`,l=new C.MarkdownString().appendCodeblock("empty",h),t=`Provider: ${r.provider._debugDisplayName}`}if(!i&&!o(r)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),t){const h=t.length>1e5?`${t.substr(0,1e5)}\u2026`:t;this._type.textContent=h,this._type.title=h,M.show(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(h))}else M.clearNode(this._type),this._type.title="",M.hide(this._type),this.domNode.classList.add("no-type");if(M.clearNode(this._docs),typeof l=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=l;else if(l){this._docs.classList.add("markdown-docs"),M.clearNode(this._docs);const h=this._markdownRenderer.render(l);this._docs.appendChild(h.element),this._renderDisposeable.add(h),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=h=>{h.preventDefault(),h.stopPropagation()},this._close.onclick=h=>{h.preventDefault(),h.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(r,i){const n=new M.Dimension(r,i);M.Dimension.equals(n,this._size)||(this._size=n,M.size(this.domNode,r,i)),this._scrollbar.scanDomNode()}scrollDown(r=8){this._body.scrollTop+=r}scrollUp(r=8){this._body.scrollTop-=r}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(r){this._borderWidth=r}get borderWidth(){return this._borderWidth}};s=Me([_e(1,c.IInstantiationService)],s),e.SuggestDetailsWidget=s;class a{constructor(r,i){this.widget=r,this._editor=i,this._disposables=new N.DisposableStore,this._added=!1,this._resizable=new p.ResizableHTMLElement,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(r.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n,t,l=0,h=0;this._disposables.add(this._resizable.onDidWillResize(()=>{n=this._topLeft,t=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(m=>{if(n&&t){this.widget.layout(m.dimension.width,m.dimension.height);let _=!1;m.west&&(h=t.width-m.dimension.width,_=!0),m.north&&(l=t.height-m.dimension.height,_=!0),_&&this._applyTopLeft({top:n.top+l,left:n.left+h})}m.done&&(n=void 0,t=void 0,l=0,h=0,this._userSize=m.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var m;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(m=this._userSize)!==null&&m!==void 0?m:this.widget.size)}))}dispose(){this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(r=!1){this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),r&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(r){var i;const n=M.getDomNodePagePosition(r);this._anchorBox=n,this._placeAtAnchor(this._anchorBox,(i=this._userSize)!==null&&i!==void 0?i:this.widget.size)}_placeAtAnchor(r,i){const n=M.getClientArea(document.body),t=this.widget.getLayoutInfo();let l,h,m=new M.Dimension(220,2*t.lineHeight),_=0,f=r.top,v=r.top+r.height-t.borderHeight,y,L,I=n.width-(r.left+r.width+t.borderWidth+t.horizontalPadding);_=-t.borderWidth+r.left+r.width,L=!0,l=new M.Dimension(I,n.height-r.top-t.borderHeight-t.verticalPadding),h=l.with(void 0,r.top+r.height-t.borderHeight-t.verticalPadding),i.width>I&&(r.left>I&&(I=r.left-t.borderWidth-t.horizontalPadding,L=!1,_=Math.max(t.horizontalPadding,r.left-i.width-t.borderWidth),l=l.with(I),h=l.with(void 0,h.height)),r.width>I*1.3&&n.height-(r.top+r.height)>r.height&&(I=r.width,_=r.left,f=-t.borderWidth+r.top+r.height,l=new M.Dimension(r.width-t.borderHeight,n.height-r.top-r.height-t.verticalPadding),h=l.with(void 0,r.top-t.verticalPadding),m=m.with(l.width)));let k=i.height,E=Math.max(l.height,h.height);k>E&&(k=E);let T;k<=l.height?(y=!0,T=l):(y=!1,T=h),this._applyTopLeft({left:_,top:y?f:v-k}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!y,L,y,!L),this._resizable.minSize=m,this._resizable.maxSize=T,this._resizable.layout(k,Math.min(T.width,i.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(r){this._topLeft=r,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}e.SuggestDetailsOverlay=a}),define(Q[59],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IEditorProgressService=e.Progress=void 0;class N{constructor(w){this.callback=w}report(w){this._value=w,this.callback(this._value)}}e.Progress=N,N.None=Object.freeze({report(){}}),e.IEditorProgressService=b.createDecorator("editorProgressService")}),define(Q[561],J([0,1,23,2,15]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PickerQuickAccessProvider=e.TriggerAction=void 0;var w;(function(g){g[g.NO_ACTION=0]="NO_ACTION",g[g.CLOSE_PICKER=1]="CLOSE_PICKER",g[g.REFRESH_PICKER=2]="REFRESH_PICKER",g[g.REMOVE_ITEM=3]="REMOVE_ITEM"})(w=e.TriggerAction||(e.TriggerAction={}));function S(g){const p=g;return Array.isArray(p.items)}function C(g){const p=g;return!!p.picks&&p.additionalPicks instanceof Promise}class d extends N.Disposable{constructor(p,c){super();this.prefix=p,this.options=c}provide(p,c){var o;const s=new N.DisposableStore;p.canAcceptInBackground=!!((o=this.options)===null||o===void 0?void 0:o.canAcceptInBackground),p.matchOnLabel=p.matchOnDescription=p.matchOnDetail=p.sortByLabel=!1;let a;const u=s.add(new N.MutableDisposable),r=()=>Ie(this,void 0,void 0,function*(){const i=u.value=new N.DisposableStore;a==null||a.dispose(!0),p.busy=!1,a=new b.CancellationTokenSource(c);const n=a.token,t=p.value.substr(this.prefix.length).trim(),l=this.getPicks(t,i,n),h=(m,_)=>{var f;let v,y;if(S(m)?(v=m.items,y=m.active):v=m,v.length===0){if(_)return!1;t.length>0&&((f=this.options)===null||f===void 0?void 0:f.noResultsPick)&&(v=[this.options.noResultsPick])}return p.items=v,y&&(p.activeItems=[y]),!0};if(l!==null)if(C(l)){let m=!1,_=!1;yield Promise.all([(()=>Ie(this,void 0,void 0,function*(){yield M.timeout(d.FAST_PICKS_RACE_DELAY),!n.isCancellationRequested&&(_||(m=h(l.picks,!0)))}))(),(()=>Ie(this,void 0,void 0,function*(){p.busy=!0;try{const f=yield l.additionalPicks;if(n.isCancellationRequested)return;let v,y;S(l.picks)?(v=l.picks.items,y=l.picks.active):v=l.picks;let L,I;if(S(f)?(L=f.items,I=f.active):L=f,L.length>0||!m){let k;if(!y&&!I){const E=p.activeItems[0];E&&v.indexOf(E)!==-1&&(k=E)}h({items:[...v,...L],active:y||I||k})}}finally{n.isCancellationRequested||(p.busy=!1),_=!0}}))()])}else if(!(l instanceof Promise))h(l);else{p.busy=!0;try{const m=yield l;if(n.isCancellationRequested)return;h(m)}finally{n.isCancellationRequested||(p.busy=!1)}}});return s.add(p.onDidChangeValue(()=>r())),r(),s.add(p.onDidAccept(i=>{const[n]=p.selectedItems;typeof(n==null?void 0:n.accept)=="function"&&(i.inBackground||p.hide(),n.accept(p.keyMods,i))})),s.add(p.onDidTriggerItemButton(({button:i,item:n})=>Ie(this,void 0,void 0,function*(){var t,l;if(typeof n.trigger=="function"){const h=(l=(t=n.buttons)===null||t===void 0?void 0:t.indexOf(i))!==null&&l!==void 0?l:-1;if(h>=0){const m=n.trigger(h,p.keyMods),_=typeof m=="number"?m:yield m;if(c.isCancellationRequested)return;switch(_){case w.NO_ACTION:break;case w.CLOSE_PICKER:p.hide();break;case w.REFRESH_PICKER:r();break;case w.REMOVE_ITEM:const f=p.items.indexOf(n);if(f!==-1){const v=p.items.slice();v.splice(f,1),p.items=v}break}}}}))),s}}e.PickerQuickAccessProvider=d,d.FAST_PICKS_RACE_DELAY=200});var mt=this&&this.__createBinding||(Object.create?function(q,e,b,N){N===void 0&&(N=b),Object.defineProperty(q,N,{enumerable:!0,get:function(){return e[b]}})}:function(q,e,b,N){N===void 0&&(N=b),q[N]=e[b]}),pt=this&&this.__exportStar||function(q,e){for(var b in q)b!=="default"&&!Object.prototype.hasOwnProperty.call(e,b)&&mt(e,q,b)};define(Q[78],J([0,1,9,202]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IQuickInputService=void 0,pt(N,e),e.IQuickInputService=b.createDecorator("quickInputService")}),define(Q[33],J([0,1,20,195]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Registry=void 0;class M{constructor(){this.data=new Map}add(S,C){N.ok(b.isString(S)),N.ok(b.isObject(C)),N.ok(!this.data.has(S),"There is already an extension with this id"),this.data.set(S,C)}as(S){return this.data.get(S)||null}}e.Registry=new M}),define(Q[141],J([0,1,458,6,18,41,33]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PLAINTEXT_LANGUAGE_IDENTIFIER=e.PLAINTEXT_EXTENSION=e.PLAINTEXT_MODE_ID=e.ModesRegistry=e.EditorModesRegistry=e.Extensions=void 0,e.Extensions={ModesRegistry:"editor.modesRegistry"};class C{constructor(){this._onDidChangeLanguages=new N.Emitter,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[],this._dynamicLanguages=[]}registerLanguage(g){return this._languages.push(g),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let p=0,c=this._languages.length;p"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],folding:{offSide:!0}},0)}),define(Q[562],J([0,1,43,44,141,237]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.cssEscape=e.detectModeId=e.getIconClasses=void 0;function S(g,p,c,o){const s=o===w.FileKind.ROOT_FOLDER?["rootfolder-icon"]:o===w.FileKind.FOLDER?["folder-icon"]:["file-icon"];if(c){let a;if(c.scheme===b.Schemas.data?a=N.DataUri.parseMetaData(c).get(N.DataUri.META_DATA_LABEL):a=d(N.basenameOrAuthority(c).toLowerCase()),o===w.FileKind.FOLDER)s.push(`${a}-name-folder-icon`);else{if(a){if(s.push(`${a}-name-file-icon`),a.length<=255){const r=a.split(".");for(let i=1;i0&&C.charAt(C.length-1)==="#"?C.substring(0,C.length-1):C}class w{constructor(){this._onDidChangeSchema=new N.Emitter,this.schemasById={}}registerSchema(d,g){this.schemasById[M(d)]=g,this._onDidChangeSchema.fire(d)}notifySchemaChanged(d){this._onDidChangeSchema.fire(d)}}const S=new w;b.Registry.add(e.Extensions.JSONContribution,S)}),define(Q[95],J([0,1,519,6,33,20,185]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validateProperty=e.getDefaultValue=e.overrideIdentifierFromKey=e.OVERRIDE_PROPERTY_PATTERN=e.resourceLanguageSettingsSchemaId=e.resourceSettings=e.windowSettings=e.machineOverridableSettings=e.machineSettings=e.applicationSettings=e.allSettings=e.Extensions=void 0,e.Extensions={Configuration:"base.contributions.configuration"},e.allSettings={properties:{},patternProperties:{}},e.applicationSettings={properties:{},patternProperties:{}},e.machineSettings={properties:{},patternProperties:{}},e.machineOverridableSettings={properties:{},patternProperties:{}},e.windowSettings={properties:{},patternProperties:{}},e.resourceSettings={properties:{},patternProperties:{}},e.resourceLanguageSettingsSchemaId="vscode://schemas/settings/resourceLanguage";const C=M.Registry.as(S.Extensions.JSONContribution);class d{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new N.Emitter,this._onDidUpdateConfiguration=new N.Emitter,this.defaultValues={},this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:b.localize(0,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.excludedConfigurationProperties={},C.registerSchema(e.resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema)}registerConfiguration(u,r=!0){this.registerConfigurations([u],r)}registerConfigurations(u,r=!0){const i=[];u.forEach(n=>{i.push(...this.validateAndRegisterProperties(n,r)),this.configurationContributors.push(n),this.registerJSONConfiguration(n)}),C.registerSchema(e.resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire(i)}registerOverrideIdentifiers(u){for(const r of u)this.overrideIdentifiers.add(r);this.updateOverridePropertyPatternKey()}validateAndRegisterProperties(u,r=!0,i=3){i=w.isUndefinedOrNull(u.scope)?i:u.scope;let n=[],t=u.properties;if(t)for(let h in t){if(r&&s(h)){delete t[h];continue}const m=t[h];if(this.updatePropertyDefaultValue(h,m),e.OVERRIDE_PROPERTY_PATTERN.test(h)?m.scope=void 0:m.scope=w.isUndefinedOrNull(m.scope)?i:m.scope,t[h].hasOwnProperty("included")&&!t[h].included){this.excludedConfigurationProperties[h]=t[h],delete t[h];continue}else this.configurationProperties[h]=t[h];!t[h].deprecationMessage&&t[h].markdownDeprecationMessage&&(t[h].deprecationMessage=t[h].markdownDeprecationMessage),n.push(h)}let l=u.allOf;if(l)for(let h of l)n.push(...this.validateAndRegisterProperties(h,r,i));return n}getConfigurationProperties(){return this.configurationProperties}registerJSONConfiguration(u){const r=i=>{let n=i.properties;if(n)for(const l in n)this.updateSchema(l,n[l]);let t=i.allOf;t&&t.forEach(r)};r(u)}updateSchema(u,r){switch(e.allSettings.properties[u]=r,r.scope){case 1:e.applicationSettings.properties[u]=r;break;case 2:e.machineSettings.properties[u]=r;break;case 6:e.machineOverridableSettings.properties[u]=r;break;case 3:e.windowSettings.properties[u]=r;break;case 4:e.resourceSettings.properties[u]=r;break;case 5:e.resourceSettings.properties[u]=r,this.resourceLanguageSettingsSchema.properties[u]=r;break}}updateOverridePropertyPatternKey(){for(const u of this.overrideIdentifiers.values()){const r=`[${u}]`,i={type:"object",description:b.localize(1,null),errorMessage:b.localize(2,null),$ref:e.resourceLanguageSettingsSchemaId};this.updatePropertyDefaultValue(r,i),e.allSettings.properties[r]=i,e.applicationSettings.properties[r]=i,e.machineSettings.properties[r]=i,e.machineOverridableSettings.properties[r]=i,e.windowSettings.properties[r]=i,e.resourceSettings.properties[r]=i}this._onDidSchemaChange.fire()}updatePropertyDefaultValue(u,r){let i=this.defaultValues[u];w.isUndefined(i)&&(i=r.default),w.isUndefined(i)&&(i=c(r.type)),r.default=i}}const g="\\[.*\\]$";e.OVERRIDE_PROPERTY_PATTERN=new RegExp(g);function p(a){return a.substring(1,a.length-1)}e.overrideIdentifierFromKey=p;function c(a){switch(Array.isArray(a)?a[0]:a){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}e.getDefaultValue=c;const o=new d;M.Registry.add(e.Extensions.Configuration,o);function s(a){return a.trim()?e.OVERRIDE_PROPERTY_PATTERN.test(a)?b.localize(4,null,a):o.getConfigurationProperties()[a]!==void 0?b.localize(5,null,a):null:b.localize(3,null)}e.validateProperty=s}),define(Q[186],J([0,1,453,6,2,40,19,38,126,163,95,33,196]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isDiffEditorConfigurationKey=e.isEditorConfigurationKey=e.editorConfigurationBaseNode=e.CommonEditorConfiguration=e.ComputedEditorOptions=e.TabFocus=void 0,e.TabFocus=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new N.Emitter,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(L){this._tabFocus!==L&&(this._tabFocus=L,this._onDidChangeTabFocus.fire(this._tabFocus))}};const s=Object.hasOwnProperty;class a{constructor(){this._values=[]}_read(I){return this._values[I]}get(I){return this._values[I]}_write(I,k){this._values[I]=k}}e.ComputedEditorOptions=a;class u{constructor(){this._values=[]}_read(I){return this._values[I]}_write(I,k){this._values[I]=k}}class r{static readOptions(I){const k=I,E=new u;for(const T of C.editorOptionsRegistry){const O=T.name==="_never_"?void 0:k[T.name];E._write(T.id,O)}return E}static validateOptions(I){const k=new C.ValidatedEditorOptions;for(const E of C.editorOptionsRegistry)k._write(E.id,E.validate(I._read(E.id)));return k}static computeOptions(I,k){const E=new a;for(const T of C.editorOptionsRegistry)E._write(T.id,T.compute(k,E,I._read(T.id)));return E}static _deepEquals(I,k){if(typeof I!="object"||typeof k!="object")return I===k;if(Array.isArray(I)||Array.isArray(k))return Array.isArray(I)&&Array.isArray(k)?S.equals(I,k):!1;for(let E in I)if(!r._deepEquals(I[E],k[E]))return!1;return!0}static checkEquals(I,k){const E=[];let T=!1;for(const O of C.editorOptionsRegistry){const A=!r._deepEquals(I._read(O.id),k._read(O.id));E[O.id]=A,A&&(T=!0)}return T?new C.ConfigurationChangedEvent(E):null}}function i(L){const I=L.wordWrap;I===!0?L.wordWrap="on":I===!1&&(L.wordWrap="off");const k=L.lineNumbers;k===!0?L.lineNumbers="on":k===!1&&(L.lineNumbers="off"),L.autoClosingBrackets===!1&&(L.autoClosingBrackets="never",L.autoClosingQuotes="never",L.autoSurround="never"),L.cursorBlinking==="visible"&&(L.cursorBlinking="solid");const O=L.renderWhitespace;O===!0?L.renderWhitespace="boundary":O===!1&&(L.renderWhitespace="none");const A=L.renderLineHighlight;A===!0?L.renderLineHighlight="line":A===!1&&(L.renderLineHighlight="none");const B=L.acceptSuggestionOnEnter;B===!0?L.acceptSuggestionOnEnter="on":B===!1&&(L.acceptSuggestionOnEnter="off");const F=L.tabCompletion;F===!1?L.tabCompletion="off":F===!0&&(L.tabCompletion="onlySnippets");const D=L.suggest;if(D&&typeof D.filteredTypes=="object"&&D.filteredTypes){const Y={};Y.method="showMethods",Y.function="showFunctions",Y.constructor="showConstructors",Y.field="showFields",Y.variable="showVariables",Y.class="showClasses",Y.struct="showStructs",Y.interface="showInterfaces",Y.module="showModules",Y.property="showProperties",Y.event="showEvents",Y.operator="showOperators",Y.unit="showUnits",Y.value="showValues",Y.constant="showConstants",Y.enum="showEnums",Y.enumMember="showEnumMembers",Y.keyword="showKeywords",Y.text="showWords",Y.color="showColors",Y.file="showFiles",Y.reference="showReferences",Y.folder="showFolders",Y.typeParameter="showTypeParameters",Y.snippet="showSnippets",o.forEach(Y,ee=>{const se=D.filteredTypes[ee.key];se===!1&&(D[ee.value]=se)})}const R=L.hover;R===!0?L.hover={enabled:!0}:R===!1&&(L.hover={enabled:!1});const W=L.parameterHints;W===!0?L.parameterHints={enabled:!0}:W===!1&&(L.parameterHints={enabled:!1});const x=L.autoIndent;x===!0?L.autoIndent="full":x===!1&&(L.autoIndent="advanced");const K=L.matchBrackets;K===!0?L.matchBrackets="always":K===!1&&(L.matchBrackets="never")}function n(L){const I=w.deepClone(L);return i(I),I}class t extends M.Disposable{constructor(I,k){super();this._onDidChange=this._register(new N.Emitter),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new N.Emitter),this.onDidChangeFast=this._onDidChangeFast.event,this.isSimpleWidget=I,this._isDominatedByLongLines=!1,this._computeOptionsMemory=new C.ComputeOptionsMemory,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._rawOptions=n(k),this._readOptions=r.readOptions(this._rawOptions),this._validatedOptions=r.validateOptions(this._readOptions),this._register(d.EditorZoom.onDidChangeZoomLevel(E=>this._recomputeOptions())),this._register(e.TabFocus.onDidChangeTabFocus(E=>this._recomputeOptions()))}observeReferenceElement(I){}updatePixelRatio(){}_recomputeOptions(){const I=this.options,k=this._computeInternalOptions();if(!I)this.options=k;else{const E=r.checkEquals(I,k);if(E===null)return;this.options=k,this._onDidChangeFast.fire(E),this._onDidChange.fire(E)}}getRawOptions(){return this._rawOptions}_computeInternalOptions(){const I=this._getEnvConfiguration(),k=g.BareFontInfo.createFromValidatedSettings(this._validatedOptions,I.zoomLevel,I.pixelRatio,this.isSimpleWidget),E={memory:this._computeOptionsMemory,outerWidth:I.outerWidth,outerHeight:I.outerHeight,fontInfo:this.readConfiguration(k),extraEditorClassName:I.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:I.emptySelectionClipboard,pixelRatio:I.pixelRatio,tabFocusMode:e.TabFocus.getTabFocusMode(),accessibilitySupport:I.accessibilitySupport};return r.computeOptions(this._validatedOptions,E)}static _subsetEquals(I,k){for(const E in k)if(s.call(k,E)){const T=k[E],O=I[E];if(O===T)continue;if(Array.isArray(O)&&Array.isArray(T)){if(!S.equals(O,T))return!1;continue}if(O&&typeof O=="object"&&T&&typeof T=="object"){if(!this._subsetEquals(O,T))return!1;continue}return!1}return!0}updateOptions(I){if(typeof I!="undefined"){const k=n(I);t._subsetEquals(this._rawOptions,k)||(this._rawOptions=w.mixin(this._rawOptions,k||{}),this._readOptions=r.readOptions(this._rawOptions),this._validatedOptions=r.validateOptions(this._readOptions),this._recomputeOptions())}}setIsDominatedByLongLines(I){this._isDominatedByLongLines=I,this._recomputeOptions()}setMaxLineNumber(I){const k=t._digitCount(I);this._lineNumbersDigitCount!==k&&(this._lineNumbersDigitCount=k,this._recomputeOptions())}setViewLineCount(I){this._viewLineCount!==I&&(this._viewLineCount=I,this._recomputeOptions())}static _digitCount(I){let k=0;for(;I;)I=Math.floor(I/10),k++;return k||1}}e.CommonEditorConfiguration=t,e.editorConfigurationBaseNode=Object.freeze({id:"editor",order:5,type:"object",title:b.localize(0,null),scope:5});const l=c.Registry.as(p.Extensions.Configuration),h=Object.assign(Object.assign({},e.editorConfigurationBaseNode),{properties:{"editor.tabSize":{type:"number",default:C.EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:b.localize(1,null)},"editor.insertSpaces":{type:"boolean",default:C.EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:b.localize(2,null)},"editor.detectIndentation":{type:"boolean",default:C.EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:b.localize(3,null)},"editor.trimAutoWhitespace":{type:"boolean",default:C.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:b.localize(4,null)},"editor.largeFileOptimizations":{type:"boolean",default:C.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:b.localize(5,null)},"editor.wordBasedSuggestions":{type:"boolean",default:!0,description:b.localize(6,null)},"editor.wordBasedSuggestionsMode":{enum:["currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[b.localize(7,null),b.localize(8,null),b.localize(9,null)],description:b.localize(10,null)},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[b.localize(11,null),b.localize(12,null),b.localize(13,null)],default:"configuredByTheme",description:b.localize(14,null)},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:b.localize(15,null)},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:b.localize(16,null)},"diffEditor.maxComputationTime":{type:"number",default:5e3,description:b.localize(17,null)},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:b.localize(18,null)},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:b.localize(19,null)},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:b.localize(20,null)},"diffEditor.codeLens":{type:"boolean",default:!1,description:b.localize(21,null)},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:"inherit",markdownEnumDescriptions:[b.localize(22,null),b.localize(23,null),b.localize(24,null)]}}});function m(L){return typeof L.type!="undefined"||typeof L.anyOf!="undefined"}for(const L of C.editorOptionsRegistry){const I=L.schema;if(typeof I!="undefined")if(m(I))h.properties[`editor.${L.name}`]=I;else for(let k in I)s.call(I,k)&&(h.properties[k]=I[k])}let _=null;function f(){return _===null&&(_=Object.create(null),Object.keys(h.properties).forEach(L=>{_[L]=!0})),_}function v(L){return f()[`editor.${L}`]||!1}e.isEditorConfigurationKey=v;function y(L){return f()[`diffEditor.${L}`]||!1}e.isDiffEditorConfigurationKey=y,l.registerConfiguration(h)}),define(Q[69],J([0,1,35,6,2,17,361,212,186,38,163]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Configuration=e.clearAllFontInfos=void 0;class c{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(r){const i=r.getId();return!!this._values[i]}get(r){const i=r.getId();return this._values[i]}put(r,i){const n=r.getId();this._keys[n]=r,this._values[n]=i}remove(r){const i=r.getId();delete this._keys[i],delete this._values[i]}getValues(){return Object.keys(this._keys).map(r=>this._values[r])}}function o(){s.INSTANCE.clearCache()}e.clearAllFontInfos=o;class s extends M.Disposable{constructor(){super();this._onDidChange=this._register(new N.Emitter),this.onDidChange=this._onDidChange.event,this._cache=new c,this._evictUntrustedReadingsTimeout=-1}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearCache(){this._cache=new c,this._onDidChange.fire()}_writeToCache(r,i){this._cache.put(r,i),!i.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){const r=this._cache.getValues();let i=!1;for(const n of r)n.isTrusted||(i=!0,this._cache.remove(n));i&&this._onDidChange.fire()}readConfiguration(r){if(!this._cache.has(r)){let i=s._actualReadConfiguration(r);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new p.FontInfo({zoomLevel:b.getZoomLevel(),pixelRatio:b.getPixelRatio(),fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(r,i)}return this._cache.get(r)}static createRequest(r,i,n,t){const l=new S.CharWidthRequest(r,i);return n.push(l),t&&t.push(l),l}static _actualReadConfiguration(r){const i=[],n=[],t=this.createRequest("n",0,i,n),l=this.createRequest("\uFF4D",0,i,null),h=this.createRequest(" ",0,i,n),m=this.createRequest("0",0,i,n),_=this.createRequest("1",0,i,n),f=this.createRequest("2",0,i,n),v=this.createRequest("3",0,i,n),y=this.createRequest("4",0,i,n),L=this.createRequest("5",0,i,n),I=this.createRequest("6",0,i,n),k=this.createRequest("7",0,i,n),E=this.createRequest("8",0,i,n),T=this.createRequest("9",0,i,n),O=this.createRequest("\u2192",0,i,n),A=this.createRequest("\uFFEB",0,i,null),B=this.createRequest("\xB7",0,i,n),F=this.createRequest(String.fromCharCode(11825),0,i,null);this.createRequest("|",0,i,n),this.createRequest("/",0,i,n),this.createRequest("-",0,i,n),this.createRequest("_",0,i,n),this.createRequest("i",0,i,n),this.createRequest("l",0,i,n),this.createRequest("m",0,i,n),this.createRequest("|",1,i,n),this.createRequest("_",1,i,n),this.createRequest("i",1,i,n),this.createRequest("l",1,i,n),this.createRequest("m",1,i,n),this.createRequest("n",1,i,n),this.createRequest("|",2,i,n),this.createRequest("_",2,i,n),this.createRequest("i",2,i,n),this.createRequest("l",2,i,n),this.createRequest("m",2,i,n),this.createRequest("n",2,i,n),S.readCharWidths(r,i);const D=Math.max(m.width,_.width,f.width,v.width,y.width,L.width,I.width,k.width,E.width,T.width);let R=r.fontFeatureSettings===g.EditorFontLigatures.OFF;const W=n[0].width;for(let Y=1,ee=n.length;R&&Y.001){R=!1;break}}let x=!0;R&&A.width!==W&&(x=!1),A.width>O.width&&(x=!1);const K=b.getTimeSinceLastZoomLevelChanged()>2e3;return new p.FontInfo({zoomLevel:b.getZoomLevel(),pixelRatio:b.getPixelRatio(),fontFamily:r.fontFamily,fontWeight:r.fontWeight,fontSize:r.fontSize,fontFeatureSettings:r.fontFeatureSettings,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,isMonospace:R,typicalHalfwidthCharacterWidth:t.width,typicalFullwidthCharacterWidth:l.width,canUseHalfwidthRightwardsArrow:x,spaceWidth:h.width,middotWidth:B.width,wsmiddotWidth:F.width,maxDigitWidth:D},K)}}s.INSTANCE=new s;class a extends d.CommonEditorConfiguration{constructor(r,i,n=null,t){super(r,i);this.accessibilityService=t,this._elementSizeObserver=this._register(new C.ElementSizeObserver(n,i.dimension,()=>this._recomputeOptions())),this._register(s.INSTANCE.onDidChange(()=>this._recomputeOptions())),this._validatedOptions.get(9)&&this._elementSizeObserver.startObserving(),this._register(b.onDidChangeZoomLevel(l=>this._recomputeOptions())),this._register(this.accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions())),this._recomputeOptions()}static applyFontInfoSlow(r,i){r.style.fontFamily=i.getMassagedFontFamily(),r.style.fontWeight=i.fontWeight,r.style.fontSize=i.fontSize+"px",r.style.fontFeatureSettings=i.fontFeatureSettings,r.style.lineHeight=i.lineHeight+"px",r.style.letterSpacing=i.letterSpacing+"px"}static applyFontInfo(r,i){r.setFontFamily(i.getMassagedFontFamily()),r.setFontWeight(i.fontWeight),r.setFontSize(i.fontSize),r.setFontFeatureSettings(i.fontFeatureSettings),r.setLineHeight(i.lineHeight),r.setLetterSpacing(i.letterSpacing)}observeReferenceElement(r){this._elementSizeObserver.observe(r)}updatePixelRatio(){this._recomputeOptions()}static _getExtraEditorClassName(){let r="";return!b.isSafari&&!b.isWebkitWebView&&(r+="no-user-select "),b.isSafari&&(r+="no-minimap-shadow "),w.isMacintosh&&(r+="mac "),r}_getEnvConfiguration(){return{extraEditorClassName:a._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:b.isWebKit||b.isFirefox,pixelRatio:b.getPixelRatio(),zoomLevel:b.getZoomLevel(),accessibilitySupport:this.accessibilityService.isScreenReaderOptimized()?2:this.accessibilityService.getAccessibilitySupport()}}readConfiguration(r){return s.INSTANCE.readConfiguration(r)}}e.Configuration=a}),define(Q[563],J([0,1,93,8,69,63]),function(q,e,b,N,M,w){"use strict";var S;Object.defineProperty(e,"__esModule",{value:!0}),e.DOMLineBreaksComputerFactory=void 0;const C=(S=window.trustedTypes)===null||S===void 0?void 0:S.createPolicy("domLineBreaksComputer",{createHTML:a=>a});class d{static create(){return new d}constructor(){}createLineBreaksComputer(u,r,i,n){r=r|0,i=+i;let t=[];return{addRequest:(l,h)=>{t.push(l)},finalize:()=>g(t,u,r,i,n)}}}e.DOMLineBreaksComputerFactory=d;function g(a,u,r,i,n){var t;if(i===-1){const A=[];for(let B=0,F=a.length;Bl?(F=0,D=0):R=l-K}const W=B.substr(F),x=p(W,D,r,R,m);_[A]=F,f[A]=D,v[A]=W,y[A]=x[0],L[A]=x[1]}const I=m.build(),k=(t=C==null?void 0:C.createHTML(I))!==null&&t!==void 0?t:I;h.innerHTML=k,h.style.position="absolute",h.style.top="10000",h.style.wordWrap="break-word",document.body.appendChild(h);let E=document.createRange();const T=Array.prototype.slice.call(h.children,0);let O=[];for(let A=0;A');const t=a.length;let l=u,h=0,m=[],_=[],f=0");for(let v=0;v"),m[v]=h,_[v]=l;const y=f;f=v+1"),m[a.length]=h,_[a.length]=l,n.appendASCIIString(""),[m,_]}function c(a,u,r,i){if(r.length<=1)return null;const n=Array.prototype.slice.call(u.children,0),t=[];try{o(a,n,i,0,null,r.length-1,null,t)}catch(l){return console.log(l),null}return t.length===0?null:(t.push(r.length),t)}function o(a,u,r,i,n,t,l,h){if(i!==t&&(n=n||s(a,u,r[i],r[i+1]),l=l||s(a,u,r[t],r[t+1]),!(Math.abs(n[0].top-l[0].top)<=.1))){if(i+1===t){h.push(t);return}const m=i+(t-i)/2|0,_=s(a,u,r[m],r[m+1]);o(a,u,r,i,n,m,_,h),o(a,u,r,m,_,t,l,h)}}function s(a,u,r,i){return a.setStart(u[r/16384|0].firstChild,r%16384),a.setEnd(u[i/16384|0].firstChild,i%16384),a.getClientRects()}}),define(Q[564],J([0,1,30,69,165,45]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarginViewOverlays=e.ContentViewOverlays=e.ViewOverlayLine=e.ViewOverlays=void 0;class S extends w.ViewPart{constructor(c){super(c);this._visibleLines=new M.VisibleLinesCollection(this),this.domNode=this._visibleLines.domNode,this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let c=0,o=this._dynamicOverlays.length;cs.shouldRender());for(let s=0,a=o.length;s'),a.appendASCIIString(u),a.appendASCIIString(""),!0)}layoutLine(c,o){this._domNode&&(this._domNode.setTop(o),this._domNode.setHeight(this._lineHeight))}}e.ViewOverlayLine=C;class d extends S{constructor(c){super(c);const s=this._context.configuration.options.get(124);this._contentWidth=s.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(c){const s=this._context.configuration.options.get(124);return this._contentWidth=s.contentWidth,super.onConfigurationChanged(c)||!0}onScrollChanged(c){return super.onScrollChanged(c)||c.scrollWidthChanged}_viewOverlaysRender(c){super._viewOverlaysRender(c),this.domNode.setWidth(Math.max(c.scrollWidth,this._contentWidth))}}e.ContentViewOverlays=d;class g extends S{constructor(c){super(c);const o=this._context.configuration.options,s=o.get(124);this._contentLeft=s.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),N.Configuration.applyFontInfo(this.domNode,o.get(38))}onConfigurationChanged(c){const o=this._context.configuration.options;N.Configuration.applyFontInfo(this.domNode,o.get(38));const s=o.get(124);return this._contentLeft=s.contentLeft,super.onConfigurationChanged(c)||!0}onScrollChanged(c){return super.onScrollChanged(c)||c.scrollHeightChanged}_viewOverlaysRender(c){super._viewOverlaysRender(c);const o=Math.min(c.scrollHeight,1e6);this.domNode.setHeight(o),this.domNode.setWidth(this._contentLeft)}}e.MarginViewOverlays=g}),define(Q[565],J([0,1,7,30,8,69,38,14,3,124]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewCursor=void 0;class p{constructor(s,a,u,r,i,n){this.top=s,this.left=a,this.width=u,this.height=r,this.textContent=i,this.textContentClassName=n}}class c{constructor(s){this._context=s;const a=this._context.configuration.options,u=a.get(38);this._cursorStyle=a.get(21),this._lineHeight=a.get(53),this._typicalHalfwidthCharacterWidth=u.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(a.get(24),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=N.createFastDomNode(document.createElement("div")),this._domNode.setClassName(`cursor ${g.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),w.Configuration.applyFontInfo(this._domNode,u),this._domNode.setDisplay("none"),this._position=new C.Position(1,1),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(s){const a=this._context.configuration.options,u=a.get(38);return this._cursorStyle=a.get(21),this._lineHeight=a.get(53),this._typicalHalfwidthCharacterWidth=u.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(a.get(24),this._typicalHalfwidthCharacterWidth),w.Configuration.applyFontInfo(this._domNode,u),!0}onCursorPositionChanged(s){return this._position=s,!0}_prepareRender(s){let a="";if(this._cursorStyle===S.TextEditorCursorStyle.Line||this._cursorStyle===S.TextEditorCursorStyle.LineThin){const f=s.visibleRangeForPosition(this._position);if(!f||f.outsideRenderedLine)return null;let v;if(this._cursorStyle===S.TextEditorCursorStyle.Line){if(v=b.computeScreenAwareSize(this._lineCursorWidth>0?this._lineCursorWidth:2),v>2){const I=this._context.model.getLineContent(this._position.lineNumber),k=M.nextCharLength(I,this._position.column-1);a=I.substr(this._position.column-1,k)}}else v=b.computeScreenAwareSize(1);let y=f.left;v>=2&&y>=1&&(y-=1);const L=s.getVerticalOffsetForLineNumber(this._position.lineNumber)-s.bigNumbersDelta;return new p(L,y,v,this._lineHeight,a,"")}const u=this._context.model.getLineContent(this._position.lineNumber),r=M.nextCharLength(u,this._position.column-1),i=s.linesVisibleRangesForRange(new d.Range(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+r),!1);if(!i||i.length===0)return null;const n=i[0];if(n.outsideRenderedLine||n.ranges.length===0)return null;const t=n.ranges[0],l=t.width<1?this._typicalHalfwidthCharacterWidth:t.width;let h="";if(this._cursorStyle===S.TextEditorCursorStyle.Block){const f=this._context.model.getViewLineData(this._position.lineNumber);a=u.substr(this._position.column-1,r);const v=f.tokens.findTokenIndexAtOffset(this._position.column-1);h=f.tokens.getClassName(v)}let m=s.getVerticalOffsetForLineNumber(this._position.lineNumber)-s.bigNumbersDelta,_=this._lineHeight;return(this._cursorStyle===S.TextEditorCursorStyle.Underline||this._cursorStyle===S.TextEditorCursorStyle.UnderlineThin)&&(m+=this._lineHeight-2,_=2),new p(m,t.left,l,_,a,h)}prepareRender(s){this._renderData=this._prepareRender(s)}render(s){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${g.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}e.ViewCursor=c}),define(Q[566],J([0,1,12,6,2,291,8,18,141,76,95,33]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguagesRegistry=void 0;const o=Object.prototype.hasOwnProperty;class s extends M.Disposable{constructor(u=!0,r=!1){super();this._onDidChange=this._register(new N.Emitter),this.onDidChange=this._onDidChange.event,this._warnOnOverwrite=r,this._nextLanguageId2=1,this._languageIdToLanguage=[],this._languageToLanguageId=Object.create(null),this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},u&&(this._initializeFromRegistry(),this._register(d.ModesRegistry.onDidChangeLanguages(i=>this._initializeFromRegistry())))}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={};const u=d.ModesRegistry.getLanguages();this._registerLanguages(u)}_registerLanguages(u){for(const r of u)this._registerLanguage(r);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(r=>{let i=this._languages[r];i.name&&(this._nameMap[i.name]=i.identifier),i.aliases.forEach(n=>{this._lowercaseNameMap[n.toLowerCase()]=i.identifier}),i.mimetypes.forEach(n=>{this._mimeTypesMap[n]=i.identifier})}),c.Registry.as(p.Extensions.Configuration).registerOverrideIdentifiers(d.ModesRegistry.getLanguages().map(r=>r.id)),this._onDidChange.fire()}_getLanguageId(u){if(this._languageToLanguageId[u])return this._languageToLanguageId[u];const r=this._nextLanguageId2++;return this._languageIdToLanguage[r]=u,this._languageToLanguageId[u]=r,r}_registerLanguage(u){const r=u.id;let i;if(o.call(this._languages,r))i=this._languages[r];else{const n=this._getLanguageId(r);i={identifier:new C.LanguageIdentifier(r,n),name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[]},this._languages[r]=i}this._mergeLanguage(i,u)}_mergeLanguage(u,r){const i=r.id;let n=null;if(Array.isArray(r.mimetypes)&&r.mimetypes.length>0&&(u.mimetypes.push(...r.mimetypes),n=r.mimetypes[0]),n||(n=`text/x-${i}`,u.mimetypes.push(n)),Array.isArray(r.extensions)){r.configuration?u.extensions=r.extensions.concat(u.extensions):u.extensions=u.extensions.concat(r.extensions);for(let h of r.extensions)w.registerTextMime({id:i,mime:n,extension:h},this._warnOnOverwrite)}if(Array.isArray(r.filenames))for(let h of r.filenames)w.registerTextMime({id:i,mime:n,filename:h},this._warnOnOverwrite),u.filenames.push(h);if(Array.isArray(r.filenamePatterns))for(let h of r.filenamePatterns)w.registerTextMime({id:i,mime:n,filepattern:h},this._warnOnOverwrite);if(typeof r.firstLine=="string"&&r.firstLine.length>0){let h=r.firstLine;h.charAt(0)!=="^"&&(h="^"+h);try{let m=new RegExp(h);S.regExpLeadsToEndlessLoop(m)||w.registerTextMime({id:i,mime:n,firstline:m},this._warnOnOverwrite)}catch(m){b.onUnexpectedError(m)}}u.aliases.push(i);let t=null;if(typeof r.aliases!="undefined"&&Array.isArray(r.aliases)&&(r.aliases.length===0?t=[null]:t=r.aliases),t!==null)for(const h of t)!h||h.length===0||u.aliases.push(h);let l=t!==null&&t.length>0;if(!(l&&t[0]===null)){let h=(l?t[0]:null)||i;(l||!u.name)&&(u.name=h)}r.configuration&&u.configurationFiles.push(r.configuration)}isRegisteredMode(u){return o.call(this._mimeTypesMap,u)?!0:o.call(this._languages,u)}getModeIdForLanguageNameLowercase(u){return o.call(this._lowercaseNameMap,u)?this._lowercaseNameMap[u].language:null}extractModeIds(u){return u?u.split(",").map(r=>r.trim()).map(r=>o.call(this._mimeTypesMap,r)?this._mimeTypesMap[r].language:r).filter(r=>o.call(this._languages,r)):[]}getLanguageIdentifier(u){if(u===g.NULL_MODE_ID||u===0)return g.NULL_LANGUAGE_IDENTIFIER;let r;if(typeof u=="string")r=u;else if(r=this._languageIdToLanguage[u],!r)return null;return o.call(this._languages,r)?this._languages[r].identifier:null}getModeIdsFromFilepathOrFirstLine(u,r){if(!u&&!r)return[];let i=w.guessMimeTypes(u,r);return this.extractModeIds(i.join(","))}}e.LanguagesRegistry=s}),define(Q[567],J([0,1,6,2,373,76,566,19]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ModeServiceImpl=void 0;class d extends N.Disposable{constructor(c,o){super();this._onDidChange=this._register(new b.Emitter),this.onDidChange=this._onDidChange.event,this._selector=o,this.languageIdentifier=this._selector(),this._register(c(()=>this._evaluate()))}_evaluate(){let c=this._selector();c.id!==this.languageIdentifier.id&&(this.languageIdentifier=c,this._onDidChange.fire(this.languageIdentifier))}}class g extends N.Disposable{constructor(c=!1){super();this._onDidCreateMode=this._register(new b.Emitter),this.onDidCreateMode=this._onDidCreateMode.event,this._onLanguagesMaybeChanged=this._register(new b.Emitter),this.onLanguagesMaybeChanged=this._onLanguagesMaybeChanged.event,this._instantiatedModes={},this._registry=this._register(new S.LanguagesRegistry(!0,c)),this._register(this._registry.onDidChange(()=>this._onLanguagesMaybeChanged.fire()))}isRegisteredMode(c){return this._registry.isRegisteredMode(c)}getModeIdForLanguageName(c){return this._registry.getModeIdForLanguageNameLowercase(c)}getModeIdByFilepathOrFirstLine(c,o){const s=this._registry.getModeIdsFromFilepathOrFirstLine(c,o);return C.firstOrDefault(s,null)}getModeId(c){const o=this._registry.extractModeIds(c);return C.firstOrDefault(o,null)}getLanguageIdentifier(c){return this._registry.getLanguageIdentifier(c)}create(c){return new d(this.onLanguagesMaybeChanged,()=>{const o=this.getModeId(c);return this._createModeAndGetLanguageIdentifier(o)})}createByFilepathOrFirstLine(c,o){return new d(this.onLanguagesMaybeChanged,()=>{const s=this.getModeIdByFilepathOrFirstLine(c,o);return this._createModeAndGetLanguageIdentifier(s)})}_createModeAndGetLanguageIdentifier(c){const o=this.getLanguageIdentifier(c||"plaintext")||w.NULL_LANGUAGE_IDENTIFIER;return this._getOrCreateMode(o.language),o}triggerMode(c){const o=this.getModeId(c);this._getOrCreateMode(o||"plaintext")}_getOrCreateMode(c){if(!this._instantiatedModes.hasOwnProperty(c)){let o=this.getLanguageIdentifier(c)||w.NULL_LANGUAGE_IDENTIFIER;this._instantiatedModes[c]=new M.FrankensteinMode(o),this._onDidCreateMode.fire(this._instantiatedModes[c])}return this._instantiatedModes[c]}}e.ModeServiceImpl=g}),define(Q[46],J([0,1,33,9,95]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDefaultValues=e.getConfigurationKeys=e.getConfigurationValue=e.removeFromValueTree=e.addToValueTree=e.toValuesTree=e.IConfigurationService=void 0,e.IConfigurationService=N.createDecorator("configurationService");function w(o,s){const a=Object.create(null);for(let u in o)S(a,u,o[u],s);return a}e.toValuesTree=w;function S(o,s,a,u){const r=s.split("."),i=r.pop();let n=o;for(let t=0;tconsole.error(`Conflict in default settings: ${r}`))}return o}e.getDefaultValues=c}),define(Q[568],J([0,1,2,65,6,16,46]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibilityService=void 0;let C=class extends b.Disposable{constructor(g,p){super();this._contextKeyService=g,this._configurationService=p,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new M.Emitter,this._accessibilityModeEnabledContext=N.CONTEXT_ACCESSIBILITY_MODE_ENABLED.bindTo(this._contextKeyService);const c=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(o=>{o.affectsConfiguration("editor.accessibilitySupport")&&(c(),this._onDidChangeScreenReaderOptimized.fire())})),c(),this.onDidChangeScreenReaderOptimized(()=>c())}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const g=this._configurationService.getValue("editor.accessibilitySupport");return g==="on"||g==="auto"&&this._accessibilitySupport===2}getAccessibilitySupport(){return this._accessibilitySupport}};C=Me([_e(0,w.IContextKeyService),_e(1,S.IConfigurationService)],C),e.AccessibilityService=C}),define(Q[569],J([0,1,51,19,20,40,24,95,46]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationChangeEvent=e.Configuration=e.DefaultConfigurationModel=e.ConfigurationModel=void 0;class g{constructor(a={},u=[],r=[]){this._contents=a,this._keys=u,this._overrides=r,this.isFrozen=!1}get contents(){return this.checkAndFreeze(this._contents)}get overrides(){return this.checkAndFreeze(this._overrides)}get keys(){return this.checkAndFreeze(this._keys)}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(a){return a?d.getConfigurationValue(this.contents,a):this.contents}override(a){const u=this.getContentsForOverrideIdentifer(a);if(!u||typeof u!="object"||!Object.keys(u).length)return this;let r={};for(const i of N.distinct([...Object.keys(this.contents),...Object.keys(u)])){let n=this.contents[i],t=u[i];t&&(typeof n=="object"&&typeof t=="object"?(n=w.deepClone(n),this.mergeContents(n,t)):n=t),r[i]=n}return new g(r,this.keys,this.overrides)}merge(...a){const u=w.deepClone(this.contents),r=w.deepClone(this.overrides),i=[...this.keys];for(const n of a){this.mergeContents(u,n.contents);for(const t of n.overrides){const[l]=r.filter(h=>N.equals(h.identifiers,t.identifiers));l?this.mergeContents(l.contents,t.contents):r.push(w.deepClone(t))}for(const t of n.keys)i.indexOf(t)===-1&&i.push(t)}return new g(u,i,r)}freeze(){return this.isFrozen=!0,this}mergeContents(a,u){for(const r of Object.keys(u)){if(r in a&&M.isObject(a[r])&&M.isObject(u[r])){this.mergeContents(a[r],u[r]);continue}a[r]=w.deepClone(u[r])}}checkAndFreeze(a){return this.isFrozen&&!Object.isFrozen(a)?w.deepFreeze(a):a}getContentsForOverrideIdentifer(a){for(const u of this.overrides)if(u.identifiers.indexOf(a)!==-1)return u.contents;return null}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(a,u){this.addKey(a),d.addToValueTree(this.contents,a,u,r=>{throw new Error(r)})}removeValue(a){this.removeKey(a)&&d.removeFromValueTree(this.contents,a)}addKey(a){let u=this.keys.length;for(let r=0;rconsole.error(`Conflict in default settings file: ${n}`))});super(a,u,r)}}e.DefaultConfigurationModel=p;class c{constructor(a,u,r=new g,i=new g,n=new b.ResourceMap,t=new g,l=new b.ResourceMap,h=!0){this._defaultConfiguration=a,this._localUserConfiguration=u,this._remoteUserConfiguration=r,this._workspaceConfiguration=i,this._folderConfigurations=n,this._memoryConfiguration=t,this._memoryConfigurationByResource=l,this._freeze=h,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new b.ResourceMap,this._userConfiguration=null}getValue(a,u,r){return this.getConsolidateConfigurationModel(u,r).getValue(a)}updateValue(a,u,r={}){let i;r.resource?(i=this._memoryConfigurationByResource.get(r.resource),i||(i=new g,this._memoryConfigurationByResource.set(r.resource,i))):i=this._memoryConfiguration,u===void 0?i.removeValue(a):i.setValue(a,u),r.resource||(this._workspaceConsolidatedConfiguration=null)}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration),this._freeze&&this._userConfiguration.freeze()),this._userConfiguration}getConsolidateConfigurationModel(a,u){let r=this.getConsolidatedConfigurationModelForResource(a,u);return a.overrideIdentifier?r.override(a.overrideIdentifier):r}getConsolidatedConfigurationModelForResource({resource:a},u){let r=this.getWorkspaceConsolidatedConfiguration();if(u&&a){const i=u.getFolder(a);i&&(r=this.getFolderConsolidatedConfiguration(i.uri)||r);const n=this._memoryConfigurationByResource.get(a);n&&(r=r.merge(n))}return r}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._freeze&&(this._workspaceConfiguration=this._workspaceConfiguration.freeze())),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(a){let u=this._foldersConsolidatedConfigurations.get(a);if(!u){const r=this.getWorkspaceConsolidatedConfiguration(),i=this._folderConfigurations.get(a);i?(u=r.merge(i),this._freeze&&(u=u.freeze()),this._foldersConsolidatedConfigurations.set(a,u)):u=r}return u}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((a,u)=>{const{contents:r,overrides:i,keys:n}=this._folderConfigurations.get(u);return a.push([u,{contents:r,overrides:i,keys:n}]),a},[])}}static parse(a){const u=this.parseConfigurationModel(a.defaults),r=this.parseConfigurationModel(a.user),i=this.parseConfigurationModel(a.workspace),n=a.folders.reduce((t,l)=>(t.set(S.URI.revive(l[0]),this.parseConfigurationModel(l[1])),t),new b.ResourceMap);return new c(u,r,new g,i,n,new g,new b.ResourceMap,!1)}static parseConfigurationModel(a){return new g(a.contents,a.keys,a.overrides).freeze()}}e.Configuration=c;class o{constructor(a,u,r,i){this.change=a,this.previous=u,this.currentConfiguraiton=r,this.currentWorkspace=i,this._previousConfiguration=void 0;const n=new Set;a.keys.forEach(l=>n.add(l)),a.overrides.forEach(([,l])=>l.forEach(h=>n.add(h))),this.affectedKeys=[...n.values()];const t=new g;this.affectedKeys.forEach(l=>t.setValue(l,{})),this.affectedKeysTree=t.contents}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=c.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(a,u){var r;if(this.doesAffectedKeysTreeContains(this.affectedKeysTree,a)){if(u){const i=this.previousConfiguration?this.previousConfiguration.getValue(a,u,(r=this.previous)===null||r===void 0?void 0:r.workspace):void 0,n=this.currentConfiguraiton.getValue(a,u,this.currentWorkspace);return!w.equals(i,n)}return!0}return!1}doesAffectedKeysTreeContains(a,u){let r=d.toValuesTree({[u]:!0},()=>{}),i;for(;typeof r=="object"&&(i=Object.keys(r)[0]);){if(a=a[i],!a)return!1;r=r[i]}return!0}}e.ConfigurationChangeEvent=o}),define(Q[570],J([0,1,6,54,2,51,520,26,46,16,251]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextKeyService=e.AbstractContextKeyService=e.Context=void 0;const c="data-keybinding-context";class o{constructor(f,v){this._id=f,this._parent=v,this._value=Object.create(null),this._value._contextId=f}setValue(f,v){return this._value[f]!==v?(this._value[f]=v,!0):!1}removeValue(f){return f in this._value?(delete this._value[f],!0):!1}getValue(f){const v=this._value[f];return typeof v=="undefined"&&this._parent?this._parent.getValue(f):v}}e.Context=o;class s extends o{constructor(){super(-1,null)}setValue(f,v){return!1}removeValue(f){return!1}getValue(f){}}s.INSTANCE=new s;class a extends o{constructor(f,v,y){super(f,null);this._configurationService=v,this._values=w.TernarySearchTree.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(L=>{if(L.source===6){const I=Array.from(N.Iterable.map(this._values,([k])=>k));this._values.clear(),y.fire(new i(I))}else{const I=[];for(const k of L.affectedKeys){const E=`config.${k}`,T=this._values.findSuperstr(E);T!==void 0&&(I.push(...N.Iterable.map(T,([O])=>O)),this._values.deleteSuperstr(E)),this._values.has(E)&&(I.push(E),this._values.delete(E))}y.fire(new i(I))}})}dispose(){this._listener.dispose()}getValue(f){if(f.indexOf(a._keyPrefix)!==0)return super.getValue(f);if(this._values.has(f))return this._values.get(f);const v=f.substr(a._keyPrefix.length),y=this._configurationService.getValue(v);let L;switch(typeof y){case"number":case"boolean":case"string":L=y;break;default:Array.isArray(y)?L=JSON.stringify(y):L=y}return this._values.set(f,L),L}setValue(f,v){return super.setValue(f,v)}removeValue(f){return super.removeValue(f)}}a._keyPrefix="config.";class u{constructor(f,v,y){this._service=f,this._key=v,this._defaultValue=y,this.reset()}set(f){this._service.setContext(this._key,f)}reset(){typeof this._defaultValue=="undefined"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class r{constructor(f){this.key=f}affectsSome(f){return f.has(this.key)}}class i{constructor(f){this.keys=f}affectsSome(f){for(const v of this.keys)if(f.has(v))return!0;return!1}}class n{constructor(f){this.events=f}affectsSome(f){for(const v of this.events)if(v.affectsSome(f))return!0;return!1}}class t{constructor(f){this._onDidChangeContext=new b.PauseableEmitter({merge:v=>new n(v)}),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=f}createKey(f,v){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new u(this,f,v)}bufferChangeEvents(f){this._onDidChangeContext.pause();try{f()}finally{this._onDidChangeContext.resume()}}createScoped(f){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new h(this,f)}contextMatchesRules(f){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const v=this.getContextValuesContainer(this._myContextId);return p.KeybindingResolver.contextMatchesRules(v,f)}getContextKeyValue(f){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(f)}setContext(f,v){if(!this._isDisposed){const y=this.getContextValuesContainer(this._myContextId);!y||y.setValue(f,v)&&this._onDidChangeContext.fire(new r(f))}}removeContext(f){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(f)&&this._onDidChangeContext.fire(new r(f))}getContext(f){return this._isDisposed?s.INSTANCE:this.getContextValuesContainer(m(f))}}e.AbstractContextKeyService=t;let l=class extends t{constructor(f){super(0);this._contexts=new Map,this._toDispose=new M.DisposableStore,this._lastContextId=0;const v=new a(this._myContextId,f,this._onDidChangeContext);this._contexts.set(this._myContextId,v),this._toDispose.add(v)}dispose(){this._onDidChangeContext.dispose(),this._isDisposed=!0,this._toDispose.dispose()}getContextValuesContainer(f){return this._isDisposed?s.INSTANCE:this._contexts.get(f)||s.INSTANCE}createChildContext(f=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");let v=++this._lastContextId;return this._contexts.set(v,new o(v,this.getContextValuesContainer(f))),v}disposeContext(f){this._isDisposed||this._contexts.delete(f)}};l=Me([_e(0,d.IConfigurationService)],l),e.ContextKeyService=l;class h extends t{constructor(f,v){super(f.createChildContext());if(this._parentChangeListener=new M.MutableDisposable,this._parent=f,this._updateParentChangeListener(),this._domNode=v,this._domNode.hasAttribute(c)){let y="";this._domNode.classList&&(y=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${y?": "+y:""}`)}this._domNode.setAttribute(c,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(this._onDidChangeContext.fire,this._onDidChangeContext)}dispose(){this._isDisposed||(this._onDidChangeContext.dispose(),this._parent.disposeContext(this._myContextId),this._parentChangeListener.dispose(),this._domNode.removeAttribute(c),this._isDisposed=!0)}getContextValuesContainer(f){return this._isDisposed?s.INSTANCE:this._parent.getContextValuesContainer(f)}createChildContext(f=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(f)}disposeContext(f){this._isDisposed||this._parent.disposeContext(f)}}function m(_){for(;_;){if(_.hasAttribute(c)){const f=_.getAttribute(c);return f?parseInt(f,10):NaN}_=_.parentElement}return 0}C.CommandsRegistry.registerCommand(g.SET_CONTEXT_COMMAND_ID,function(_,f,v){_.get(g.IContextKeyService).createKey(String(f),v)}),C.CommandsRegistry.registerCommand({id:"getContextKeyInfo",handler(){return[...g.RawContextKey.all()].sort((_,f)=>_.key.localeCompare(f.key))},description:{description:S.localize(0,null),args:[]}}),C.CommandsRegistry.registerCommand("_generateContextKeyInfo",function(){const _=[],f=new Set;for(let v of g.RawContextKey.all())f.has(v.key)||(f.add(v.key),_.push(v));_.sort((v,y)=>v.key.localeCompare(y.key)),console.log(JSON.stringify(_,void 0,2))})}),define(Q[86],J([0,1,39,17,26,33]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extensions=e.KeybindingsRegistry=void 0;class S{constructor(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(g){if(N.OS===1){if(g&&g.win)return g.win}else if(N.OS===2){if(g&&g.mac)return g.mac}else if(g&&g.linux)return g.linux;return g}registerKeybindingRule(g){const p=S.bindToCurrentPlatform(g);if(p&&p.primary){const c=b.createKeybinding(p.primary,N.OS);c&&this._registerDefaultKeybinding(c,g.id,g.args,g.weight,0,g.when)}if(p&&Array.isArray(p.secondary))for(let c=0,o=p.secondary.length;c=21&&g<=30||g>=31&&g<=56?!0:g===80||g===81||g===82||g===83||g===84||g===85||g===86||g===110||g===111||g===87||g===88||g===89||g===90||g===91||g===92}_assertNoCtrlAlt(g,p){g.ctrlKey&&g.altKey&&!g.metaKey&&S._mightProduceChar(g.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",g," for ",p)}_registerDefaultKeybinding(g,p,c,o,s,a){N.OS===1&&this._assertNoCtrlAlt(g.parts[0],p),this._coreKeybindings.push({keybinding:g,command:p,commandArgs:c,when:a,weight1:o,weight2:s,extensionId:null,isBuiltinExtension:!1}),this._cachedMergedKeybindings=null}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(C)),this._cachedMergedKeybindings.slice(0)}}e.KeybindingsRegistry=new S,e.Extensions={EditorModes:"platform.keybindingsRegistry"},w.Registry.add(e.Extensions.EditorModes,e.KeybindingsRegistry);function C(d,g){return d.weight1!==g.weight1?d.weight1-g.weight1:d.commandg.command?1:d.weight2-g.weight2}}),define(Q[571],J([0,1,16,432,86,433]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextScopedReplaceInput=e.ContextScopedFindInput=e.createAndBindHistoryNavigationWidgetScopedContextKeyService=e.HistoryNavigationEnablementContext=e.HistoryNavigationWidgetContext=void 0,e.HistoryNavigationWidgetContext="historyNavigationWidget",e.HistoryNavigationEnablementContext="historyNavigationEnabled";function S(o,s,a){new b.RawContextKey(a,s).bindTo(o)}function C(o,s){return o.createScoped(s.target)}function d(o,s){return o.getContext(document.activeElement).getValue(s)}function g(o,s){const a=C(o,s);S(a,s,e.HistoryNavigationWidgetContext);const u=new b.RawContextKey(e.HistoryNavigationEnablementContext,!0).bindTo(a);return{scopedContextKeyService:a,historyNavigationEnablement:u}}e.createAndBindHistoryNavigationWidgetScopedContextKeyService=g;let p=class extends N.FindInput{constructor(s,a,u,r,i=!1){super(s,a,i,u);this._register(g(r,{target:this.inputBox.element,historyNavigator:this.inputBox}).scopedContextKeyService)}};p=Me([_e(3,b.IContextKeyService)],p),e.ContextScopedFindInput=p;let c=class extends w.ReplaceInput{constructor(s,a,u,r,i=!1){super(s,a,i,u);this._register(g(r,{target:this.inputBox.element,historyNavigator:this.inputBox}).scopedContextKeyService)}};c=Me([_e(3,b.IContextKeyService)],c),e.ContextScopedReplaceInput=c,M.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:b.ContextKeyExpr.and(b.ContextKeyExpr.has(e.HistoryNavigationWidgetContext),b.ContextKeyExpr.equals(e.HistoryNavigationEnablementContext,!0)),primary:16,secondary:[512|16],handler:(o,s)=>{const a=d(o.get(b.IContextKeyService),e.HistoryNavigationWidgetContext);a&&a.historyNavigator.showPreviousValue()}}),M.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:b.ContextKeyExpr.and(b.ContextKeyExpr.has(e.HistoryNavigationWidgetContext),b.ContextKeyExpr.equals(e.HistoryNavigationEnablementContext,!0)),primary:18,secondary:[512|18],handler:(o,s)=>{const a=d(o.get(b.IContextKeyService),e.HistoryNavigationWidgetContext);a&&a.historyNavigator.showNextValue()}})}),define(Q[96],J([0,1,33,19,2]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickAccessRegistry=e.Extensions=e.DefaultQuickAccessFilterValue=void 0;var w;(function(C){C[C.PRESERVE=0]="PRESERVE",C[C.LAST=1]="LAST"})(w=e.DefaultQuickAccessFilterValue||(e.DefaultQuickAccessFilterValue={})),e.Extensions={Quickaccess:"workbench.contributions.quickaccess"};class S{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(d){return d.prefix.length===0?this.defaultProvider=d:this.providers.push(d),this.providers.sort((g,p)=>p.prefix.length-g.prefix.length),M.toDisposable(()=>{this.providers.splice(this.providers.indexOf(d),1),this.defaultProvider===d&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return N.coalesce([this.defaultProvider,...this.providers])}getQuickAccessProvider(d){return d&&this.providers.find(p=>d.startsWith(p.prefix))||void 0||this.defaultProvider}}e.QuickAccessRegistry=S,b.Registry.add(e.Extensions.Quickaccess,new S)}),define(Q[572],J([0,1,78,96,33,526,2]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HelpQuickAccessProvider=void 0;let C=class lt{constructor(g){this.quickInputService=g,this.registry=M.Registry.as(N.Extensions.Quickaccess)}provide(g){const p=new S.DisposableStore;p.add(g.onDidAccept(()=>{const[s]=g.selectedItems;s&&this.quickInputService.quickAccess.show(s.prefix,{preserveValue:!0})})),p.add(g.onDidChangeValue(s=>{const a=this.registry.getQuickAccessProvider(s.substr(lt.PREFIX.length));a&&a.prefix&&a.prefix!==lt.PREFIX&&this.quickInputService.quickAccess.show(a.prefix,{preserveValue:!0})}));const{editorProviders:c,globalProviders:o}=this.getQuickAccessProviders();return g.items=c.length===0||o.length===0?[...c.length===0?o:c]:[{label:w.localize(0,null),type:"separator"},...o,{label:w.localize(1,null),type:"separator"},...c],p}getQuickAccessProviders(){const g=[],p=[];for(const c of this.registry.getQuickAccessProviders().sort((o,s)=>o.prefix.localeCompare(s.prefix)))if(c.prefix!==lt.PREFIX)for(const o of c.helpEntries){const s=o.prefix||c.prefix,a=s||"\u2026";(o.needsEditor?p:g).push({prefix:s,label:a,ariaLabel:w.localize(2,null,a,o.description),description:o.description})}return{editorProviders:p,globalProviders:g}}};C.PREFIX="?",C=Me([_e(0,b.IQuickInputService)],C),e.HelpQuickAccessProvider=C}),define(Q[573],J([0,1,33,96,64,572]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),b.Registry.as(N.Extensions.Quickaccess).registerQuickAccessProvider({ctor:w.HelpQuickAccessProvider,prefix:"",helpEntries:[{description:M.QuickHelpNLS.helpQuickAccessActionLabel,needsEditor:!0}]})}),define(Q[574],J([0,1,78,2,96,33,23,9,88]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickAccessController=void 0;let g=class extends N.Disposable{constructor(c,o){super();this.quickInputService=c,this.instantiationService=o,this.registry=w.Registry.as(M.Extensions.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(c="",o){var s;const[a,u]=this.getOrInstantiateProvider(c),r=this.visibleQuickAccess,i=r==null?void 0:r.descriptor;if(r&&u&&i===u){c!==u.prefix&&!(o==null?void 0:o.preserveValue)&&(r.picker.value=c),this.adjustValueSelection(r.picker,u,o);return}if(u&&!(o==null?void 0:o.preserveValue)){let h;if(r&&i&&i!==u){const m=r.value.substr(i.prefix.length);m&&(h=`${u.prefix}${m}`)}if(!h){const m=a==null?void 0:a.defaultFilterValue;m===M.DefaultQuickAccessFilterValue.LAST?h=this.lastAcceptedPickerValues.get(u):typeof m=="string"&&(h=`${u.prefix}${m}`)}typeof h=="string"&&(c=h)}const n=new N.DisposableStore,t=n.add(this.quickInputService.createQuickPick());t.value=c,this.adjustValueSelection(t,u,o),t.placeholder=u==null?void 0:u.placeholder,t.quickNavigate=o==null?void 0:o.quickNavigateConfiguration,t.hideInput=!!t.quickNavigate&&!r,(typeof(o==null?void 0:o.itemActivation)=="number"||(o==null?void 0:o.quickNavigateConfiguration))&&(t.itemActivation=(s=o==null?void 0:o.itemActivation)!==null&&s!==void 0?s:b.ItemActivation.SECOND),t.contextKey=u==null?void 0:u.contextKey,t.filterValue=h=>h.substring(u?u.prefix.length:0),(u==null?void 0:u.placeholder)&&(t.ariaLabel=u==null?void 0:u.placeholder);const l=this.registerPickerListeners(t,a,u,c,n);a&&n.add(a.provide(t,l)),t.show()}adjustValueSelection(c,o,s){var a;let u;(s==null?void 0:s.preserveValue)?u=[c.value.length,c.value.length]:u=[(a=o==null?void 0:o.prefix.length)!==null&&a!==void 0?a:0,c.value.length],c.valueSelection=u}registerPickerListeners(c,o,s,a,u){const r=this.visibleQuickAccess={picker:c,descriptor:s,value:a};u.add(N.toDisposable(()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),u.add(c.onDidChangeValue(n=>{const[t]=this.getOrInstantiateProvider(n);t!==o?this.show(n,{preserveValue:!0}):r.value=n})),s&&u.add(c.onDidAccept(()=>{this.lastAcceptedPickerValues.set(s,c.value)}));const i=u.add(new S.CancellationTokenSource);return d.once(c.onDidHide)(()=>{c.selectedItems.length===0&&i.cancel(),u.dispose()}),i.token}getOrInstantiateProvider(c){const o=this.registry.getQuickAccessProvider(c);if(!o)return[void 0,void 0];let s=this.mapProviderToDescriptor.get(o);return s||(s=this.instantiationService.createInstance(o.ctor),this.mapProviderToDescriptor.set(o,s)),[s,o]}};g=Me([_e(0,b.IQuickInputService),_e(1,C.IInstantiationService)],g),e.QuickAccessController=g}),define(Q[79],J([0,1,9,6,2,20,293]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryStorageService=e.AbstractStorageService=e.WillSaveStateReason=e.IStorageService=void 0;const C="__$__targetStorageMarker";e.IStorageService=b.createDecorator("storageService");var d;(function(c){c[c.NONE=0]="NONE",c[c.SHUTDOWN=1]="SHUTDOWN"})(d=e.WillSaveStateReason||(e.WillSaveStateReason={}));class g extends M.Disposable{constructor(o={flushInterval:g.DEFAULT_FLUSH_INTERVAL}){super();this.options=o,this._onDidChangeValue=this._register(new N.PauseableEmitter),this._onDidChangeTarget=this._register(new N.PauseableEmitter),this._onWillSaveState=this._register(new N.Emitter),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._globalKeyTargets=void 0}emitDidChangeValue(o,s){s===C?(o===0?this._globalKeyTargets=void 0:o===1&&(this._workspaceKeyTargets=void 0),this._onDidChangeTarget.fire({scope:o})):this._onDidChangeValue.fire({scope:o,key:s,target:this.getKeyTargets(o)[s]})}get(o,s,a){var u;return(u=this.getStorage(s))===null||u===void 0?void 0:u.get(o,a)}getBoolean(o,s,a){var u;return(u=this.getStorage(s))===null||u===void 0?void 0:u.getBoolean(o,a)}getNumber(o,s,a){var u;return(u=this.getStorage(s))===null||u===void 0?void 0:u.getNumber(o,a)}store(o,s,a,u){if(w.isUndefinedOrNull(s)){this.remove(o,a);return}this.withPausedEmitters(()=>{var r;this.updateKeyTarget(o,a,u),(r=this.getStorage(a))===null||r===void 0||r.set(o,s)})}remove(o,s){this.withPausedEmitters(()=>{var a;this.updateKeyTarget(o,s,void 0),(a=this.getStorage(s))===null||a===void 0||a.delete(o)})}withPausedEmitters(o){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{o()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(o,s,a){var u,r;const i=this.getKeyTargets(s);typeof a=="number"?i[o]!==a&&(i[o]=a,(u=this.getStorage(s))===null||u===void 0||u.set(C,JSON.stringify(i))):typeof i[o]=="number"&&(delete i[o],(r=this.getStorage(s))===null||r===void 0||r.set(C,JSON.stringify(i)))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get globalKeyTargets(){return this._globalKeyTargets||(this._globalKeyTargets=this.loadKeyTargets(0)),this._globalKeyTargets}getKeyTargets(o){return o===0?this.globalKeyTargets:this.workspaceKeyTargets}loadKeyTargets(o){const s=this.get(C,o);if(s)try{return JSON.parse(s)}catch(a){}return Object.create(null)}}e.AbstractStorageService=g,g.DEFAULT_FLUSH_INTERVAL=60*1e3;class p extends g{constructor(){super();this.globalStorage=new S.Storage(new S.InMemoryStorageDatabase),this.workspaceStorage=new S.Storage(new S.InMemoryStorageDatabase),this._register(this.workspaceStorage.onDidChangeStorage(o=>this.emitDidChangeValue(1,o))),this._register(this.globalStorage.onDidChangeStorage(o=>this.emitDidChangeValue(0,o)))}getStorage(o){return o===0?this.globalStorage:this.workspaceStorage}}e.InMemoryStorageService=p}),define(Q[575],J([0,1,9,74,248,51,79,3,15,88]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensCache=e.ICodeLensCache=void 0,e.ICodeLensCache=b.createDecorator("ICodeLensCache");class p{constructor(s,a){this.lineCount=s,this.data=a}}let c=class{constructor(s){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new w.LRUCache(20,.75);const a="codelens/cache";d.runWhenIdle(()=>s.remove(a,1));const u="codelens/cache2",r=s.get(u,1,"{}");this._deserialize(r),g.once(s.onWillSaveState)(i=>{i.reason===S.WillSaveStateReason.SHUTDOWN&&s.store(u,this._serialize(),1,1)})}put(s,a){const u=a.lenses.map(n=>{var t;return{range:n.symbol.range,command:n.symbol.command&&{id:"",title:(t=n.symbol.command)===null||t===void 0?void 0:t.title}}}),r=new M.CodeLensModel;r.add({lenses:u,dispose:()=>{}},this._fakeProvider);const i=new p(s.getLineCount(),r);this._cache.set(s.uri.toString(),i)}get(s){const a=this._cache.get(s.uri.toString());return a&&a.lineCount===s.getLineCount()?a.data:void 0}delete(s){this._cache.delete(s.uri.toString())}_serialize(){const s=Object.create(null);for(const[a,u]of this._cache){const r=new Set;for(const i of u.data.lenses)r.add(i.symbol.range.startLineNumber);s[a]={lineCount:u.lineCount,lines:[...r.values()]}}return JSON.stringify(s)}_deserialize(s){try{const a=JSON.parse(s);for(const u in a){const r=a[u],i=[];for(const t of r.lines)i.push({range:new C.Range(t,1,t,11)});const n=new M.CodeLensModel;n.add({lenses:i,dispose(){}},this._fakeProvider),this._cache.set(u,new p(r.lineCount,n))}}catch(a){}}};c=Me([_e(0,S.IStorageService)],c),e.CodeLensCache=c,N.registerSingleton(e.ICodeLensCache,c)}),define(Q[576],J([0,1,51,79,18,2,15,9,46,74,57]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ISuggestMemoryService=e.SuggestMemoryService=e.PrefixMemory=e.LRUMemory=e.NoMemory=e.Memory=void 0;class c{constructor(i){this.name=i}select(i,n,t){if(t.length===0)return 0;let l=t[0].score[0];for(let h=0;hf&&L.type===t[v].completion.kind&&L.insertText===t[v].completion.insertText&&(f=L.touch,_=v),t[v].completion.preselect&&m===-1)return m=v}return _!==-1?_:m!==-1?m:0}toJSON(){return this._cache.toJSON()}fromJSON(i){this._cache.clear();let n=0;for(const[t,l]of i)l.touch=n,l.type=typeof l.type=="number"?l.type:M.completionKindFromString(l.type),this._cache.set(t,l);this._seq=this._cache.size}}e.LRUMemory=s;class a extends c{constructor(){super("recentlyUsedByPrefix");this._trie=b.TernarySearchTree.forStrings(),this._seq=0}memorize(i,n,t){const{word:l}=i.getWordUntilPosition(n),h=`${i.getLanguageIdentifier().language}/${l}`;this._trie.set(h,{type:t.completion.kind,insertText:t.completion.insertText,touch:this._seq++})}select(i,n,t){let{word:l}=i.getWordUntilPosition(n);if(!l)return super.select(i,n,t);let h=`${i.getLanguageIdentifier().language}/${l}`,m=this._trie.get(h);if(m||(m=this._trie.findSubstr(h)),m)for(let _=0;_i.push([t,n])),i.sort((n,t)=>-(n[1].touch-t[1].touch)).forEach((n,t)=>n[1].touch=t),i.slice(0,200)}fromJSON(i){if(this._trie.clear(),i.length>0){this._seq=i[0][1].touch+1;for(const[n,t]of i)t.type=typeof t.type=="number"?t.type:M.completionKindFromString(t.type),this._trie.set(n,t)}}}e.PrefixMemory=a;let u=class dt{constructor(i,n,t){this._storageService=i,this._modeService=n,this._configService=t,this._disposables=new w.DisposableStore,this._persistSoon=new S.RunOnceScheduler(()=>this._saveState(),500),this._disposables.add(i.onWillSaveState(l=>{l.reason===N.WillSaveStateReason.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(i,n,t){this._withStrategy(i,n).memorize(i,n,t),this._persistSoon.schedule()}select(i,n,t){return this._withStrategy(i,n).select(i,n,t)}_withStrategy(i,n){var t,l;const h=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:(t=this._modeService.getLanguageIdentifier(i.getLanguageIdAtPosition(n.lineNumber,n.column)))===null||t===void 0?void 0:t.language,resource:i.uri});if(((l=this._strategy)===null||l===void 0?void 0:l.name)!==h){this._saveState();const m=dt._strategyCtors.get(h)||o;this._strategy=new m;try{const f=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,v=this._storageService.get(`${dt._storagePrefix}/${h}`,f);v&&this._strategy.fromJSON(JSON.parse(v))}catch(_){}}return this._strategy}_saveState(){if(this._strategy){const n=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=JSON.stringify(this._strategy);this._storageService.store(`${dt._storagePrefix}/${this._strategy.name}`,t,n,1)}}};u._strategyCtors=new Map([["recentlyUsedByPrefix",a],["recentlyUsed",s],["first",o]]),u._storagePrefix="suggest/memories",u=Me([_e(0,N.IStorageService),_e(1,p.IModeService),_e(2,d.IConfigurationService)],u),e.SuggestMemoryService=u,e.ISuggestMemoryService=C.createDecorator("ISuggestMemories"),g.registerSingleton(e.ISuggestMemoryService,u,!0)}),define(Q[87],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITelemetryService=void 0,e.ITelemetryService=b.createDecorator("telemetryService")}),define(Q[577],J([0,1,525,561,2,66,20,51,79,46,9,37,26,87,12,32,437]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommandsHistory=e.AbstractCommandsQuickAccessProvider=void 0;let i=class ut extends N.PickerQuickAccessProvider{constructor(l,h,m,_,f,v){super(ut.PREFIX,l);this.options=l,this.instantiationService=h,this.keybindingService=m,this.commandService=_,this.telemetryService=f,this.notificationService=v,this.commandsHistory=this._register(this.instantiationService.createInstance(n))}getPicks(l,h,m){return Ie(this,void 0,void 0,function*(){const _=yield this.getCommandPicks(h,m);if(m.isCancellationRequested)return[];const f=[];for(const I of _){const k=S.withNullAsUndefined(ut.WORD_FILTER(l,I.label)),E=I.commandAlias?S.withNullAsUndefined(ut.WORD_FILTER(l,I.commandAlias)):void 0;k||E?(I.highlights={label:k,detail:this.options.showAlias?E:void 0},f.push(I)):l===I.commandId&&f.push(I)}const v=new Map;for(const I of f){const k=v.get(I.label);k?(I.description=I.commandId,k.description=k.commandId):v.set(I.label,I)}f.sort((I,k)=>{const E=this.commandsHistory.peek(I.commandId),T=this.commandsHistory.peek(k.commandId);return E&&T?E>T?-1:1:E?-1:T?1:I.label.localeCompare(k.label)});const y=[];let L=!1;for(let I=0;IIe(this,void 0,void 0,function*(){this.commandsHistory.push(k.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:k.commandId,from:"quick open"});try{yield this.commandService.executeCommand(k.commandId)}catch(O){a.isPromiseCanceledError(O)||this.notificationService.error(b.localize(3,null,k.label,r.toErrorMessage(O)))}})}))}return y})}};i.PREFIX=">",i.WORD_FILTER=w.or(w.matchesPrefix,w.matchesWords,w.matchesContiguousSubString),i=Me([_e(1,p.IInstantiationService),_e(2,c.IKeybindingService),_e(3,o.ICommandService),_e(4,s.ITelemetryService),_e(5,u.INotificationService)],i),e.AbstractCommandsQuickAccessProvider=i;let n=class qe extends M.Disposable{constructor(l,h){super();this.storageService=l,this.configurationService=h,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(()=>this.updateConfiguration()))}updateConfiguration(){this.configuredCommandsHistoryLength=qe.getConfiguredCommandHistoryLength(this.configurationService),qe.cache&&qe.cache.limit!==this.configuredCommandsHistoryLength&&(qe.cache.limit=this.configuredCommandsHistoryLength,qe.saveState(this.storageService))}load(){const l=this.storageService.get(qe.PREF_KEY_CACHE,0);let h;if(l)try{h=JSON.parse(l)}catch(_){}const m=qe.cache=new C.LRUCache(this.configuredCommandsHistoryLength,1);if(h){let _;h.usesLRU?_=h.entries:_=h.entries.sort((f,v)=>f.value-v.value),_.forEach(f=>m.set(f.key,f.value))}qe.counter=this.storageService.getNumber(qe.PREF_KEY_COUNTER,0,qe.counter)}push(l){!qe.cache||(qe.cache.set(l,qe.counter++),qe.saveState(this.storageService))}peek(l){var h;return(h=qe.cache)===null||h===void 0?void 0:h.peek(l)}static saveState(l){if(!!qe.cache){const h={usesLRU:!0,entries:[]};qe.cache.forEach((m,_)=>h.entries.push({key:_,value:m})),l.store(qe.PREF_KEY_CACHE,JSON.stringify(h),0,0),l.store(qe.PREF_KEY_COUNTER,qe.counter,0,0)}}static getConfiguredCommandHistoryLength(l){var h,m;const f=(m=(h=l.getValue().workbench)===null||h===void 0?void 0:h.commandPalette)===null||m===void 0?void 0:m.history;return typeof f=="number"?f:qe.DEFAULT_COMMANDS_HISTORY_LENGTH}};n.DEFAULT_COMMANDS_HISTORY_LENGTH=50,n.PREF_KEY_CACHE="commandPalette.mru.cache",n.PREF_KEY_COUNTER="commandPalette.mru.counter",n.counter=1,n=Me([_e(0,d.IStorageService),_e(1,g.IConfigurationService)],n),e.CommandsHistory=n}),define(Q[578],J([0,1,577,102]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEditorCommandsQuickAccessProvider=void 0;class M extends b.AbstractCommandsQuickAccessProvider{constructor(S,C,d,g,p,c){super(S,C,d,g,p,c)}getCodeEditorCommandPicks(){const S=this.activeTextEditorControl;if(!S)return[];const C=[];for(const d of S.getSupportedActions())C.push({commandId:d.id,commandAlias:d.alias,label:N.stripIcons(d.label)||d.id});return C}}e.AbstractEditorCommandsQuickAccessProvider=M}),define(Q[22],J([0,1,33,29,6,527,185,15]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.workbenchColorsSchemaId=e.resolveColorValue=e.oneOf=e.transparent=e.lighten=e.darken=e.problemsInfoIconForeground=e.problemsWarningIconForeground=e.problemsErrorIconForeground=e.minimapSliderActiveBackground=e.minimapSliderHoverBackground=e.minimapSliderBackground=e.minimapBackground=e.minimapWarning=e.minimapError=e.minimapSelection=e.minimapFindMatch=e.overviewRulerSelectionHighlightForeground=e.overviewRulerFindMatchForeground=e.snippetFinalTabstopHighlightBorder=e.snippetFinalTabstopHighlightBackground=e.snippetTabstopHighlightBorder=e.snippetTabstopHighlightBackground=e.menuSeparatorBackground=e.menuSelectionBorder=e.menuSelectionBackground=e.menuSelectionForeground=e.menuBackground=e.menuForeground=e.menuBorder=e.tableColumnsBorder=e.treeIndentGuidesStroke=e.listFilterWidgetNoMatchesOutline=e.listFilterWidgetOutline=e.listFilterWidgetBackground=e.listHighlightForeground=e.listDropBackground=e.listHoverForeground=e.listHoverBackground=e.listInactiveFocusOutline=e.listInactiveFocusBackground=e.listInactiveSelectionForeground=e.listInactiveSelectionBackground=e.listActiveSelectionForeground=e.listActiveSelectionBackground=e.listFocusOutline=e.listFocusForeground=e.listFocusBackground=e.diffDiagonalFill=e.diffBorder=e.diffRemovedOutline=e.diffInsertedOutline=e.diffRemoved=e.diffInserted=e.defaultRemoveColor=e.defaultInsertColor=e.editorLightBulbAutoFixForeground=e.editorLightBulbForeground=e.editorInlineHintBackground=e.editorInlineHintForeground=e.editorActiveLinkForeground=e.editorHoverStatusBarBackground=e.editorHoverBorder=e.editorHoverForeground=e.editorHoverBackground=e.editorHoverHighlight=e.editorFindRangeHighlightBorder=e.editorFindMatchHighlightBorder=e.editorFindMatchBorder=e.editorFindRangeHighlight=e.editorFindMatchHighlight=e.editorFindMatch=e.editorSelectionHighlightBorder=e.editorSelectionHighlight=e.editorInactiveSelection=e.editorSelectionForeground=e.editorSelectionBackground=e.pickerGroupBorder=e.pickerGroupForeground=e.quickInputListFocusBackground=e.quickInputTitleBackground=e.quickInputForeground=e.quickInputBackground=e.editorWidgetResizeBorder=e.editorWidgetBorder=e.editorWidgetForeground=e.editorWidgetBackground=e.editorForeground=e.editorBackground=e.editorHintBorder=e.editorHintForeground=e.editorInfoBorder=e.editorInfoForeground=e.editorInfoBackground=e.editorWarningBorder=e.editorWarningForeground=e.editorWarningBackground=e.editorErrorBorder=e.editorErrorForeground=e.editorErrorBackground=e.progressBarBackground=e.scrollbarSliderActiveBackground=e.scrollbarSliderHoverBackground=e.scrollbarSliderBackground=e.scrollbarShadow=e.badgeForeground=e.badgeBackground=e.buttonHoverBackground=e.buttonBackground=e.buttonForeground=e.selectForeground=e.selectBackground=e.inputValidationErrorBorder=e.inputValidationErrorForeground=e.inputValidationErrorBackground=e.inputValidationWarningBorder=e.inputValidationWarningForeground=e.inputValidationWarningBackground=e.inputValidationInfoBorder=e.inputValidationInfoForeground=e.inputValidationInfoBackground=e.inputActiveOptionForeground=e.inputActiveOptionBackground=e.inputActiveOptionBorder=e.inputBorder=e.inputForeground=e.inputBackground=e.widgetShadow=e.textCodeBlockBackground=e.textLinkForeground=e.activeContrastBorder=e.contrastBorder=e.focusBorder=e.iconForeground=e.errorForeground=e.foreground=e.registerColor=e.Extensions=void 0,e.Extensions={ColorContribution:"base.contributions.colors"};class d{constructor(){this._onDidChangeSchema=new M.Emitter,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(l,h,m,_=!1,f){let v={id:l,description:m,defaults:h,needsTransparency:_,deprecationMessage:f};this.colorsById[l]=v;let y={type:"string",description:m,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return f&&(y.deprecationMessage=f),this.colorSchema.properties[l]=y,this.colorReferenceSchema.enum.push(l),this.colorReferenceSchema.enumDescriptions.push(m),this._onDidChangeSchema.fire(),l}resolveDefaultColor(l,h){const m=this.colorsById[l];if(m&&m.defaults){const _=m.defaults[h.type];return r(_,h)}}getColorSchema(){return this.colorSchema}toString(){let l=(h,m)=>{let _=h.indexOf(".")===-1?0:1,f=m.indexOf(".")===-1?0:1;return _!==f?_-f:h.localeCompare(m)};return Object.keys(this.colorsById).sort(l).map(h=>`- \`${h}\`: ${this.colorsById[h].description}`).join(` +`)}}const g=new d;b.Registry.add(e.Extensions.ColorContribution,g);function p(t,l,h,m,_){return g.registerColor(t,l,h,m,_)}e.registerColor=p,e.foreground=p("foreground",{dark:"#CCCCCC",light:"#616161",hc:"#FFFFFF"},w.localize(0,null)),e.errorForeground=p("errorForeground",{dark:"#F48771",light:"#A1260D",hc:"#F48771"},w.localize(1,null)),e.iconForeground=p("icon.foreground",{dark:"#C5C5C5",light:"#424242",hc:"#FFFFFF"},w.localize(2,null)),e.focusBorder=p("focusBorder",{dark:"#007FD4",light:"#0090F1",hc:"#F38518"},w.localize(3,null)),e.contrastBorder=p("contrastBorder",{light:null,dark:null,hc:"#6FC3DF"},w.localize(4,null)),e.activeContrastBorder=p("contrastActiveBorder",{light:null,dark:null,hc:e.focusBorder},w.localize(5,null)),e.textLinkForeground=p("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},w.localize(6,null)),e.textCodeBlockBackground=p("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hc:N.Color.black},w.localize(7,null)),e.widgetShadow=p("widget.shadow",{dark:s(N.Color.black,.36),light:s(N.Color.black,.16),hc:null},w.localize(8,null)),e.inputBackground=p("input.background",{dark:"#3C3C3C",light:N.Color.white,hc:N.Color.black},w.localize(9,null)),e.inputForeground=p("input.foreground",{dark:e.foreground,light:e.foreground,hc:e.foreground},w.localize(10,null)),e.inputBorder=p("input.border",{dark:null,light:null,hc:e.contrastBorder},w.localize(11,null)),e.inputActiveOptionBorder=p("inputOption.activeBorder",{dark:"#007ACC00",light:"#007ACC00",hc:e.contrastBorder},w.localize(12,null)),e.inputActiveOptionBackground=p("inputOption.activeBackground",{dark:s(e.focusBorder,.4),light:s(e.focusBorder,.2),hc:N.Color.transparent},w.localize(13,null)),e.inputActiveOptionForeground=p("inputOption.activeForeground",{dark:N.Color.white,light:N.Color.black,hc:null},w.localize(14,null)),e.inputValidationInfoBackground=p("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hc:N.Color.black},w.localize(15,null)),e.inputValidationInfoForeground=p("inputValidation.infoForeground",{dark:null,light:null,hc:null},w.localize(16,null)),e.inputValidationInfoBorder=p("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hc:e.contrastBorder},w.localize(17,null)),e.inputValidationWarningBackground=p("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hc:N.Color.black},w.localize(18,null)),e.inputValidationWarningForeground=p("inputValidation.warningForeground",{dark:null,light:null,hc:null},w.localize(19,null)),e.inputValidationWarningBorder=p("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hc:e.contrastBorder},w.localize(20,null)),e.inputValidationErrorBackground=p("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hc:N.Color.black},w.localize(21,null)),e.inputValidationErrorForeground=p("inputValidation.errorForeground",{dark:null,light:null,hc:null},w.localize(22,null)),e.inputValidationErrorBorder=p("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hc:e.contrastBorder},w.localize(23,null)),e.selectBackground=p("dropdown.background",{dark:"#3C3C3C",light:N.Color.white,hc:N.Color.black},w.localize(24,null)),e.selectForeground=p("dropdown.foreground",{dark:"#F0F0F0",light:null,hc:N.Color.white},w.localize(25,null)),e.buttonForeground=p("button.foreground",{dark:N.Color.white,light:N.Color.white,hc:N.Color.white},w.localize(26,null)),e.buttonBackground=p("button.background",{dark:"#0E639C",light:"#007ACC",hc:null},w.localize(27,null)),e.buttonHoverBackground=p("button.hoverBackground",{dark:o(e.buttonBackground,.2),light:c(e.buttonBackground,.2),hc:null},w.localize(28,null)),e.badgeBackground=p("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hc:N.Color.black},w.localize(29,null)),e.badgeForeground=p("badge.foreground",{dark:N.Color.white,light:"#333",hc:N.Color.white},w.localize(30,null)),e.scrollbarShadow=p("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hc:null},w.localize(31,null)),e.scrollbarSliderBackground=p("scrollbarSlider.background",{dark:N.Color.fromHex("#797979").transparent(.4),light:N.Color.fromHex("#646464").transparent(.4),hc:s(e.contrastBorder,.6)},w.localize(32,null)),e.scrollbarSliderHoverBackground=p("scrollbarSlider.hoverBackground",{dark:N.Color.fromHex("#646464").transparent(.7),light:N.Color.fromHex("#646464").transparent(.7),hc:s(e.contrastBorder,.8)},w.localize(33,null)),e.scrollbarSliderActiveBackground=p("scrollbarSlider.activeBackground",{dark:N.Color.fromHex("#BFBFBF").transparent(.4),light:N.Color.fromHex("#000000").transparent(.6),hc:e.contrastBorder},w.localize(34,null)),e.progressBarBackground=p("progressBar.background",{dark:N.Color.fromHex("#0E70C0"),light:N.Color.fromHex("#0E70C0"),hc:e.contrastBorder},w.localize(35,null)),e.editorErrorBackground=p("editorError.background",{dark:null,light:null,hc:null},w.localize(36,null),!0),e.editorErrorForeground=p("editorError.foreground",{dark:"#F48771",light:"#E51400",hc:null},w.localize(37,null)),e.editorErrorBorder=p("editorError.border",{dark:null,light:null,hc:N.Color.fromHex("#E47777").transparent(.8)},w.localize(38,null)),e.editorWarningBackground=p("editorWarning.background",{dark:null,light:null,hc:null},w.localize(39,null),!0),e.editorWarningForeground=p("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hc:null},w.localize(40,null)),e.editorWarningBorder=p("editorWarning.border",{dark:null,light:null,hc:N.Color.fromHex("#FFCC00").transparent(.8)},w.localize(41,null)),e.editorInfoBackground=p("editorInfo.background",{dark:null,light:null,hc:null},w.localize(42,null),!0),e.editorInfoForeground=p("editorInfo.foreground",{dark:"#75BEFF",light:"#75BEFF",hc:null},w.localize(43,null)),e.editorInfoBorder=p("editorInfo.border",{dark:null,light:null,hc:N.Color.fromHex("#75BEFF").transparent(.8)},w.localize(44,null)),e.editorHintForeground=p("editorHint.foreground",{dark:N.Color.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hc:null},w.localize(45,null)),e.editorHintBorder=p("editorHint.border",{dark:null,light:null,hc:N.Color.fromHex("#eeeeee").transparent(.8)},w.localize(46,null)),e.editorBackground=p("editor.background",{light:"#fffffe",dark:"#1E1E1E",hc:N.Color.black},w.localize(47,null)),e.editorForeground=p("editor.foreground",{light:"#333333",dark:"#BBBBBB",hc:N.Color.white},w.localize(48,null)),e.editorWidgetBackground=p("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hc:"#0C141F"},w.localize(49,null)),e.editorWidgetForeground=p("editorWidget.foreground",{dark:e.foreground,light:e.foreground,hc:e.foreground},w.localize(50,null)),e.editorWidgetBorder=p("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hc:e.contrastBorder},w.localize(51,null)),e.editorWidgetResizeBorder=p("editorWidget.resizeBorder",{light:null,dark:null,hc:null},w.localize(52,null)),e.quickInputBackground=p("quickInput.background",{dark:e.editorWidgetBackground,light:e.editorWidgetBackground,hc:e.editorWidgetBackground},w.localize(53,null)),e.quickInputForeground=p("quickInput.foreground",{dark:e.editorWidgetForeground,light:e.editorWidgetForeground,hc:e.editorWidgetForeground},w.localize(54,null)),e.quickInputTitleBackground=p("quickInputTitle.background",{dark:new N.Color(new N.RGBA(255,255,255,.105)),light:new N.Color(new N.RGBA(0,0,0,.06)),hc:"#000000"},w.localize(55,null)),e.quickInputListFocusBackground=p("quickInput.list.focusBackground",{dark:"#062F4A",light:"#D6EBFF",hc:null},w.localize(56,null)),e.pickerGroupForeground=p("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hc:N.Color.white},w.localize(57,null)),e.pickerGroupBorder=p("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hc:N.Color.white},w.localize(58,null)),e.editorSelectionBackground=p("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hc:"#f3f518"},w.localize(59,null)),e.editorSelectionForeground=p("editor.selectionForeground",{light:null,dark:null,hc:"#000000"},w.localize(60,null)),e.editorInactiveSelection=p("editor.inactiveSelectionBackground",{light:s(e.editorSelectionBackground,.5),dark:s(e.editorSelectionBackground,.5),hc:s(e.editorSelectionBackground,.5)},w.localize(61,null),!0),e.editorSelectionHighlight=p("editor.selectionHighlightBackground",{light:u(e.editorSelectionBackground,e.editorBackground,.3,.6),dark:u(e.editorSelectionBackground,e.editorBackground,.3,.6),hc:null},w.localize(62,null),!0),e.editorSelectionHighlightBorder=p("editor.selectionHighlightBorder",{light:null,dark:null,hc:e.activeContrastBorder},w.localize(63,null)),e.editorFindMatch=p("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hc:null},w.localize(64,null)),e.editorFindMatchHighlight=p("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hc:null},w.localize(65,null),!0),e.editorFindRangeHighlight=p("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hc:null},w.localize(66,null),!0),e.editorFindMatchBorder=p("editor.findMatchBorder",{light:null,dark:null,hc:e.activeContrastBorder},w.localize(67,null)),e.editorFindMatchHighlightBorder=p("editor.findMatchHighlightBorder",{light:null,dark:null,hc:e.activeContrastBorder},w.localize(68,null)),e.editorFindRangeHighlightBorder=p("editor.findRangeHighlightBorder",{dark:null,light:null,hc:s(e.activeContrastBorder,.4)},w.localize(69,null),!0),e.editorHoverHighlight=p("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hc:"#ADD6FF26"},w.localize(70,null),!0),e.editorHoverBackground=p("editorHoverWidget.background",{light:e.editorWidgetBackground,dark:e.editorWidgetBackground,hc:e.editorWidgetBackground},w.localize(71,null)),e.editorHoverForeground=p("editorHoverWidget.foreground",{light:e.editorWidgetForeground,dark:e.editorWidgetForeground,hc:e.editorWidgetForeground},w.localize(72,null)),e.editorHoverBorder=p("editorHoverWidget.border",{light:e.editorWidgetBorder,dark:e.editorWidgetBorder,hc:e.editorWidgetBorder},w.localize(73,null)),e.editorHoverStatusBarBackground=p("editorHoverWidget.statusBarBackground",{dark:o(e.editorHoverBackground,.2),light:c(e.editorHoverBackground,.05),hc:e.editorWidgetBackground},w.localize(74,null)),e.editorActiveLinkForeground=p("editorLink.activeForeground",{dark:"#4E94CE",light:N.Color.blue,hc:N.Color.cyan},w.localize(75,null)),e.editorInlineHintForeground=p("editorInlineHint.foreground",{dark:e.editorWidgetBackground,light:e.editorWidgetForeground,hc:e.editorWidgetBackground},w.localize(76,null)),e.editorInlineHintBackground=p("editorInlineHint.background",{dark:e.editorWidgetForeground,light:e.editorWidgetBackground,hc:e.editorWidgetForeground},w.localize(77,null)),e.editorLightBulbForeground=p("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hc:"#FFCC00"},w.localize(78,null)),e.editorLightBulbAutoFixForeground=p("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},w.localize(79,null)),e.defaultInsertColor=new N.Color(new N.RGBA(155,185,85,.2)),e.defaultRemoveColor=new N.Color(new N.RGBA(255,0,0,.2)),e.diffInserted=p("diffEditor.insertedTextBackground",{dark:e.defaultInsertColor,light:e.defaultInsertColor,hc:null},w.localize(80,null),!0),e.diffRemoved=p("diffEditor.removedTextBackground",{dark:e.defaultRemoveColor,light:e.defaultRemoveColor,hc:null},w.localize(81,null),!0),e.diffInsertedOutline=p("diffEditor.insertedTextBorder",{dark:null,light:null,hc:"#33ff2eff"},w.localize(82,null)),e.diffRemovedOutline=p("diffEditor.removedTextBorder",{dark:null,light:null,hc:"#FF008F"},w.localize(83,null)),e.diffBorder=p("diffEditor.border",{dark:null,light:null,hc:e.contrastBorder},w.localize(84,null)),e.diffDiagonalFill=p("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hc:null},w.localize(85,null)),e.listFocusBackground=p("list.focusBackground",{dark:null,light:null,hc:null},w.localize(86,null)),e.listFocusForeground=p("list.focusForeground",{dark:null,light:null,hc:null},w.localize(87,null)),e.listFocusOutline=p("list.focusOutline",{dark:e.focusBorder,light:e.focusBorder,hc:e.activeContrastBorder},w.localize(88,null)),e.listActiveSelectionBackground=p("list.activeSelectionBackground",{dark:"#094771",light:"#0060C0",hc:null},w.localize(89,null)),e.listActiveSelectionForeground=p("list.activeSelectionForeground",{dark:N.Color.white,light:N.Color.white,hc:null},w.localize(90,null)),e.listInactiveSelectionBackground=p("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hc:null},w.localize(91,null)),e.listInactiveSelectionForeground=p("list.inactiveSelectionForeground",{dark:null,light:null,hc:null},w.localize(92,null)),e.listInactiveFocusBackground=p("list.inactiveFocusBackground",{dark:null,light:null,hc:null},w.localize(93,null)),e.listInactiveFocusOutline=p("list.inactiveFocusOutline",{dark:null,light:null,hc:null},w.localize(94,null)),e.listHoverBackground=p("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hc:null},w.localize(95,null)),e.listHoverForeground=p("list.hoverForeground",{dark:null,light:null,hc:null},w.localize(96,null)),e.listDropBackground=p("list.dropBackground",{dark:e.listFocusBackground,light:e.listFocusBackground,hc:null},w.localize(97,null)),e.listHighlightForeground=p("list.highlightForeground",{dark:"#0097fb",light:"#0066BF",hc:e.focusBorder},w.localize(98,null)),e.listFilterWidgetBackground=p("listFilterWidget.background",{light:"#efc1ad",dark:"#653723",hc:N.Color.black},w.localize(99,null)),e.listFilterWidgetOutline=p("listFilterWidget.outline",{dark:N.Color.transparent,light:N.Color.transparent,hc:"#f38518"},w.localize(100,null)),e.listFilterWidgetNoMatchesOutline=p("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hc:e.contrastBorder},w.localize(101,null)),e.treeIndentGuidesStroke=p("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hc:"#a9a9a9"},w.localize(102,null)),e.tableColumnsBorder=p("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hc:null},w.localize(103,null)),e.menuBorder=p("menu.border",{dark:null,light:null,hc:e.contrastBorder},w.localize(104,null)),e.menuForeground=p("menu.foreground",{dark:e.selectForeground,light:e.foreground,hc:e.selectForeground},w.localize(105,null)),e.menuBackground=p("menu.background",{dark:e.selectBackground,light:e.selectBackground,hc:e.selectBackground},w.localize(106,null)),e.menuSelectionForeground=p("menu.selectionForeground",{dark:e.listActiveSelectionForeground,light:e.listActiveSelectionForeground,hc:e.listActiveSelectionForeground},w.localize(107,null)),e.menuSelectionBackground=p("menu.selectionBackground",{dark:e.listActiveSelectionBackground,light:e.listActiveSelectionBackground,hc:e.listActiveSelectionBackground},w.localize(108,null)),e.menuSelectionBorder=p("menu.selectionBorder",{dark:null,light:null,hc:e.activeContrastBorder},w.localize(109,null)),e.menuSeparatorBackground=p("menu.separatorBackground",{dark:"#BBBBBB",light:"#888888",hc:e.contrastBorder},w.localize(110,null)),e.snippetTabstopHighlightBackground=p("editor.snippetTabstopHighlightBackground",{dark:new N.Color(new N.RGBA(124,124,124,.3)),light:new N.Color(new N.RGBA(10,50,100,.2)),hc:new N.Color(new N.RGBA(124,124,124,.3))},w.localize(111,null)),e.snippetTabstopHighlightBorder=p("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hc:null},w.localize(112,null)),e.snippetFinalTabstopHighlightBackground=p("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hc:null},w.localize(113,null)),e.snippetFinalTabstopHighlightBorder=p("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new N.Color(new N.RGBA(10,50,100,.5)),hc:"#525252"},w.localize(114,null)),e.overviewRulerFindMatchForeground=p("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hc:"#AB5A00"},w.localize(115,null),!0),e.overviewRulerSelectionHighlightForeground=p("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},w.localize(116,null),!0),e.minimapFindMatch=p("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hc:"#AB5A00"},w.localize(117,null),!0),e.minimapSelection=p("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hc:"#ffffff"},w.localize(118,null),!0),e.minimapError=p("minimap.errorHighlight",{dark:new N.Color(new N.RGBA(255,18,18,.7)),light:new N.Color(new N.RGBA(255,18,18,.7)),hc:new N.Color(new N.RGBA(255,50,50,1))},w.localize(119,null)),e.minimapWarning=p("minimap.warningHighlight",{dark:e.editorWarningForeground,light:e.editorWarningForeground,hc:e.editorWarningBorder},w.localize(120,null)),e.minimapBackground=p("minimap.background",{dark:null,light:null,hc:null},w.localize(121,null)),e.minimapSliderBackground=p("minimapSlider.background",{light:s(e.scrollbarSliderBackground,.5),dark:s(e.scrollbarSliderBackground,.5),hc:s(e.scrollbarSliderBackground,.5)},w.localize(122,null)),e.minimapSliderHoverBackground=p("minimapSlider.hoverBackground",{light:s(e.scrollbarSliderHoverBackground,.5),dark:s(e.scrollbarSliderHoverBackground,.5),hc:s(e.scrollbarSliderHoverBackground,.5)},w.localize(123,null)),e.minimapSliderActiveBackground=p("minimapSlider.activeBackground",{light:s(e.scrollbarSliderActiveBackground,.5),dark:s(e.scrollbarSliderActiveBackground,.5),hc:s(e.scrollbarSliderActiveBackground,.5)},w.localize(124,null)),e.problemsErrorIconForeground=p("problemsErrorIcon.foreground",{dark:e.editorErrorForeground,light:e.editorErrorForeground,hc:e.editorErrorForeground},w.localize(125,null)),e.problemsWarningIconForeground=p("problemsWarningIcon.foreground",{dark:e.editorWarningForeground,light:e.editorWarningForeground,hc:e.editorWarningForeground},w.localize(126,null)),e.problemsInfoIconForeground=p("problemsInfoIcon.foreground",{dark:e.editorInfoForeground,light:e.editorInfoForeground,hc:e.editorInfoForeground},w.localize(127,null));function c(t,l){return h=>{let m=r(t,h);if(m)return m.darken(l)}}e.darken=c;function o(t,l){return h=>{let m=r(t,h);if(m)return m.lighten(l)}}e.lighten=o;function s(t,l){return h=>{let m=r(t,h);if(m)return m.transparent(l)}}e.transparent=s;function a(...t){return l=>{for(let h of t){let m=r(h,l);if(m)return m}}}e.oneOf=a;function u(t,l,h,m){return _=>{let f=r(t,_);if(f){let v=r(l,_);return v?f.isDarkerThan(v)?N.Color.getLighterColor(f,v,h).transparent(m):N.Color.getDarkerColor(f,v,h).transparent(m):f.transparent(h*m)}}}function r(t,l){if(t!==null){if(typeof t=="string")return t[0]==="#"?N.Color.fromHex(t):l.getColor(t);if(t instanceof N.Color)return t;if(typeof t=="function")return t(l)}}e.resolveColorValue=r,e.workbenchColorsSchemaId="vscode://schemas/workbench-colors";let i=b.Registry.as(S.Extensions.JSONContribution);i.registerSchema(e.workbenchColorsSchemaId,g.getColorSchema());const n=new C.RunOnceScheduler(()=>i.notifySchemaChanged(e.workbenchColorsSchemaId),200);g.onDidChangeSchema(()=>{n.isScheduled()||n.schedule()})}),define(Q[116],J([0,1,22]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.attachMenuStyler=e.defaultMenuStyles=e.defaultListStyles=e.attachListStyler=e.attachBadgeStyler=e.attachStyler=e.computeStyles=void 0;function N(d,g){const p=Object.create(null);for(let c in g){const o=g[c];o&&(p[c]=b.resolveColorValue(o,d))}return p}e.computeStyles=N;function M(d,g,p){function c(o){const s=N(d.getColorTheme(),g);typeof p=="function"?p(s):p.style(s)}return c(d.getColorTheme()),d.onDidColorThemeChange(c)}e.attachStyler=M;function w(d,g,p){return M(g,{badgeBackground:p&&p.badgeBackground||b.badgeBackground,badgeForeground:p&&p.badgeForeground||b.badgeForeground,badgeBorder:b.contrastBorder},d)}e.attachBadgeStyler=w;function S(d,g,p){return M(g,Object.assign(Object.assign({},e.defaultListStyles),p||{}),d)}e.attachListStyler=S,e.defaultListStyles={listFocusBackground:b.listFocusBackground,listFocusForeground:b.listFocusForeground,listFocusOutline:b.listFocusOutline,listActiveSelectionBackground:b.listActiveSelectionBackground,listActiveSelectionForeground:b.listActiveSelectionForeground,listFocusAndSelectionBackground:b.listActiveSelectionBackground,listFocusAndSelectionForeground:b.listActiveSelectionForeground,listInactiveSelectionBackground:b.listInactiveSelectionBackground,listInactiveSelectionForeground:b.listInactiveSelectionForeground,listInactiveFocusBackground:b.listInactiveFocusBackground,listInactiveFocusOutline:b.listInactiveFocusOutline,listHoverBackground:b.listHoverBackground,listHoverForeground:b.listHoverForeground,listDropBackground:b.listDropBackground,listSelectionOutline:b.activeContrastBorder,listHoverOutline:b.activeContrastBorder,listFilterWidgetBackground:b.listFilterWidgetBackground,listFilterWidgetOutline:b.listFilterWidgetOutline,listFilterWidgetNoMatchesOutline:b.listFilterWidgetNoMatchesOutline,listMatchesShadow:b.widgetShadow,treeIndentGuidesStroke:b.treeIndentGuidesStroke,tableColumnsBorder:b.tableColumnsBorder},e.defaultMenuStyles={shadowColor:b.widgetShadow,borderColor:b.menuBorder,foregroundColor:b.menuForeground,backgroundColor:b.menuBackground,selectionForegroundColor:b.menuSelectionForeground,selectionBackgroundColor:b.menuSelectionBackground,selectionBorderColor:b.menuSelectionBorder,separatorColor:b.menuSeparatorBackground};function C(d,g,p){return M(g,Object.assign(Object.assign({},e.defaultMenuStyles),p),d)}e.attachMenuStyler=C}),define(Q[579],J([0,1,48,2,434,7,116,55,50,360]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenuHandler=void 0;class g{constructor(c,o,s,a,u){this.contextViewService=c,this.telemetryService=o,this.notificationService=s,this.keybindingService=a,this.themeService=u,this.focusToReturn=null,this.block=null,this.options={blockMouse:!0}}configure(c){this.options=c}showContextMenu(c){const o=c.getActions();if(!!o.length){this.focusToReturn=document.activeElement;let s,a=w.isHTMLElement(c.domForShadowRoot)?c.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>c.getAnchor(),canRelayout:!1,anchorAlignment:c.anchorAlignment,anchorAxisAlignment:c.anchorAxisAlignment,render:u=>{let r=c.getMenuClassName?c.getMenuClassName():"";r&&(u.className+=" "+r),this.options.blockMouse&&(this.block=u.appendChild(w.$(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",C.domEvent(this.block,w.EventType.MOUSE_DOWN)(t=>t.stopPropagation()));const i=new N.DisposableStore,n=c.actionRunner||new b.ActionRunner;return n.onBeforeRun(this.onActionRun,this,i),n.onDidRun(this.onDidActionRun,this,i),s=new M.Menu(u,o,{actionViewItemProvider:c.getActionViewItem,context:c.getActionsContext?c.getActionsContext():null,actionRunner:n,getKeyBinding:c.getKeyBinding?c.getKeyBinding:t=>this.keybindingService.lookupKeybinding(t.id)}),i.add(S.attachMenuStyler(s,this.themeService)),s.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,i),s.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,i),C.domEvent(window,w.EventType.BLUR)(()=>{this.contextViewService.hideContextView(!0)},null,i),C.domEvent(window,w.EventType.MOUSE_DOWN)(t=>{if(!t.defaultPrevented){let l=new d.StandardMouseEvent(t),h=l.target;if(!l.rightButton){for(;h;){if(h===u)return;h=h.parentElement}this.contextViewService.hideContextView(!0)}}},null,i),N.combinedDisposable(i,s)},focus:()=>{s&&s.focus(!!c.autoSelectFirstItem)},onHide:u=>{c.onHide&&c.onHide(!!u),this.block&&(this.block.remove(),this.block=null),this.focusToReturn&&this.focusToReturn.focus()}},a,!!a)}}onActionRun(c){this.telemetryService&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:c.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()}onDidActionRun(c){c.error&&this.notificationService.error(c.error)}}e.ContextMenuHandler=g}),define(Q[97],J([0,1]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorScheme=void 0;var b;(function(N){N.DARK="dark",N.LIGHT="light",N.HIGH_CONTRAST="hc"})(b=e.ColorScheme||(e.ColorScheme={}))}),define(Q[255],J([0,1,35,30,17,384,110,171,129,97,38]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewLine=e.ViewLineOptions=e.DomReadingContext=void 0;const c=function(){return M.isNative?!0:!(M.isLinux||b.isFirefox||b.isSafari)}();let o=!0;class s{constructor(_,f){this._domNode=_,this._clientRectDeltaLeft=0,this._clientRectDeltaLeftRead=!1,this.endNode=f}get clientRectDeltaLeft(){return this._clientRectDeltaLeftRead||(this._clientRectDeltaLeftRead=!0,this._clientRectDeltaLeft=this._domNode.getBoundingClientRect().left),this._clientRectDeltaLeft}}e.DomReadingContext=s;class a{constructor(_,f){this.themeType=f;const v=_.options,y=v.get(38);this.renderWhitespace=v.get(83),this.renderControlCharacters=v.get(77),this.spaceWidth=y.spaceWidth,this.middotWidth=y.middotWidth,this.wsmiddotWidth=y.wsmiddotWidth,this.useMonospaceOptimizations=y.isMonospace&&!v.get(26),this.canUseHalfwidthRightwardsArrow=y.canUseHalfwidthRightwardsArrow,this.lineHeight=v.get(53),this.stopRenderingLineAfter=v.get(100),this.fontLigatures=v.get(39)}equals(_){return this.themeType===_.themeType&&this.renderWhitespace===_.renderWhitespace&&this.renderControlCharacters===_.renderControlCharacters&&this.spaceWidth===_.spaceWidth&&this.middotWidth===_.middotWidth&&this.wsmiddotWidth===_.wsmiddotWidth&&this.useMonospaceOptimizations===_.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===_.canUseHalfwidthRightwardsArrow&&this.lineHeight===_.lineHeight&&this.stopRenderingLineAfter===_.stopRenderingLineAfter&&this.fontLigatures===_.fontLigatures}}e.ViewLineOptions=a;class u{constructor(_){this._options=_,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(_){if(this._renderedViewLine)this._renderedViewLine.domNode=N.createFastDomNode(_);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(_){this._isMaybeInvalid=!0,this._options=_}onSelectionChanged(){return this._options.themeType===g.ColorScheme.HIGH_CONTRAST||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(_,f,v,y){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const L=v.getViewLineRenderingData(_),I=this._options,k=C.LineDecoration.filter(L.inlineDecorations,_,L.minColumn,L.maxColumn);let E=null;if(I.themeType===g.ColorScheme.HIGH_CONTRAST||this._options.renderWhitespace==="selection"){const B=v.selections;for(const F of B)if(!(F.endLineNumber<_||F.startLineNumber>_)){const D=F.startLineNumber===_?F.startColumn:L.minColumn,R=F.endLineNumber===_?F.endColumn:L.maxColumn;D');const O=d.renderViewLine(T,y);y.appendASCIIString("");let A=null;return o&&c&&L.isBasicASCII&&I.useMonospaceOptimizations&&O.containsForeignElements===0&&L.content.length<300&&T.lineTokens.getCount()<100&&(A=new r(this._renderedViewLine?this._renderedViewLine.domNode:null,T,O.characterMapping)),A||(A=t(this._renderedViewLine?this._renderedViewLine.domNode:null,T,O.characterMapping,O.containsRTL,O.containsForeignElements)),this._renderedViewLine=A,!0}layoutLine(_,f){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(f),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(){return this._renderedViewLine?this._renderedViewLine.getWidth():0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof r:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof r?this._renderedViewLine.monospaceAssumptionsAreValid():o}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof r&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(_,f,v){if(!this._renderedViewLine)return null;_=_|0,f=f|0,_=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,_)),f=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,f));const y=this._renderedViewLine.input.stopRenderingLineAfter|0;let L=!1;y!==-1&&_>y+1&&f>y+1&&(L=!0),y!==-1&&_>y+1&&(_=y+1),y!==-1&&f>y+1&&(f=y+1);const I=this._renderedViewLine.getVisibleRangesForRange(_,f,v);return I&&I.length>0?new S.VisibleRanges(L,I):null}getColumnOfNodeOffset(_,f,v){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(_,f,v):1}}e.ViewLine=u,u.CLASS_NAME="view-line";class r{constructor(_,f,v){this.domNode=_,this.input=f,this._characterMapping=v,this._charWidth=f.spaceWidth}getWidth(){return this._getCharPosition(this._characterMapping.length)}getWidthIsFast(){return!0}monospaceAssumptionsAreValid(){if(!this.domNode)return o;const _=this.getWidth(),f=this.domNode.domNode.firstChild.offsetWidth;return Math.abs(_-f)>=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),o=!1),o}toSlowRenderedLine(){return t(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(_,f,v){const y=this._getCharPosition(_),L=this._getCharPosition(f);return[new S.HorizontalRange(y,L-y)]}_getCharPosition(_){const f=this._characterMapping.getAbsoluteOffsets();return f.length===0?0:Math.round(this._charWidth*f[_-1])}getColumnOfNodeOffset(_,f,v){const y=f.textContent.length;let L=-1;for(;f;)f=f.previousSibling,L++;return this._characterMapping.partDataToCharOffset(L,y,v)+1}}class i{constructor(_,f,v,y,L){if(this.domNode=_,this.input=f,this._characterMapping=v,this._isWhitespaceOnly=/^\s*$/.test(f.lineContent),this._containsForeignElements=L,this._cachedWidth=-1,this._pixelOffsetCache=null,!y||this._characterMapping.length===0){this._pixelOffsetCache=new Int32Array(Math.max(2,this._characterMapping.length+1));for(let I=0,k=this._characterMapping.length;I<=k;I++)this._pixelOffsetCache[I]=-1}}_getReadingTarget(_){return _.domNode.firstChild}getWidth(){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(_,f,v){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const y=this._readPixelOffset(this.domNode,_,v);if(y===-1)return null;const L=this._readPixelOffset(this.domNode,f,v);return L===-1?null:[new S.HorizontalRange(y,L-y)]}return this._readVisibleRangesForRange(this.domNode,_,f,v)}_readVisibleRangesForRange(_,f,v,y){if(f===v){const L=this._readPixelOffset(_,f,y);return L===-1?null:[new S.HorizontalRange(L,0)]}else return this._readRawVisibleRangesForRange(_,f,v,y)}_readPixelOffset(_,f,v){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth();const y=this._getReadingTarget(_);return y.firstChild?y.firstChild.offsetWidth:0}if(this._pixelOffsetCache!==null){const y=this._pixelOffsetCache[f];if(y!==-1)return y;const L=this._actualReadPixelOffset(_,f,v);return this._pixelOffsetCache[f]=L,L}return this._actualReadPixelOffset(_,f,v)}_actualReadPixelOffset(_,f,v){if(this._characterMapping.length===0){const T=w.RangeUtil.readHorizontalRanges(this._getReadingTarget(_),0,0,0,0,v.clientRectDeltaLeft,v.endNode);return!T||T.length===0?-1:T[0].left}if(f===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth();const y=this._characterMapping.charOffsetToPartData(f-1),L=d.CharacterMapping.getPartIndex(y),I=d.CharacterMapping.getCharIndex(y),k=w.RangeUtil.readHorizontalRanges(this._getReadingTarget(_),L,I,L,I,v.clientRectDeltaLeft,v.endNode);if(!k||k.length===0)return-1;const E=k[0].left;if(this.input.isBasicASCII){const T=this._characterMapping.getAbsoluteOffsets(),O=Math.round(this.input.spaceWidth*T[f-1]);if(Math.abs(O-E)<=1)return O}return E}_readRawVisibleRangesForRange(_,f,v,y){if(f===1&&v===this._characterMapping.length)return[new S.HorizontalRange(0,this.getWidth())];const L=this._characterMapping.charOffsetToPartData(f-1),I=d.CharacterMapping.getPartIndex(L),k=d.CharacterMapping.getCharIndex(L),E=this._characterMapping.charOffsetToPartData(v-1),T=d.CharacterMapping.getPartIndex(E),O=d.CharacterMapping.getCharIndex(E);return w.RangeUtil.readHorizontalRanges(this._getReadingTarget(_),I,k,T,O,y.clientRectDeltaLeft,y.endNode)}getColumnOfNodeOffset(_,f,v){const y=f.textContent.length;let L=-1;for(;f;)f=f.previousSibling,L++;return this._characterMapping.partDataToCharOffset(L,y,v)+1}}class n extends i{_readVisibleRangesForRange(_,f,v,y){const L=super._readVisibleRangesForRange(_,f,v,y);if(!L||L.length===0||f===v||f===1&&v===this._characterMapping.length)return L;if(!this.input.containsRTL){const I=this._readPixelOffset(_,v,y);if(I!==-1){const k=L[L.length-1];k.left=4&&m[0]===3&&m[3]===7}static isStrictChildOfViewLines(m){return m.length>4&&m[0]===3&&m[3]===7}static isChildOfScrollableElement(m){return m.length>=2&&m[0]===3&&m[1]===5}static isChildOfMinimap(m){return m.length>=2&&m[0]===3&&m[1]===8}static isChildOfContentWidgets(m){return m.length>=4&&m[0]===3&&m[3]===1}static isChildOfOverflowingContentWidgets(m){return m.length>=1&&m[0]===2}static isChildOfOverlayWidgets(m){return m.length>=2&&m[0]===3&&m[1]===4}}class s{constructor(m,_,f){this.model=m.model;const v=m.configuration.options;this.layoutInfo=v.get(124),this.viewDomNode=_.viewDomNode,this.lineHeight=v.get(53),this.stickyTabStops=v.get(99),this.typicalHalfwidthCharacterWidth=v.get(38).typicalHalfwidthCharacterWidth,this.lastRenderData=f,this._context=m,this._viewHelper=_}getZoneAtCoord(m){return s.getZoneAtCoord(this._context,m)}static getZoneAtCoord(m,_){const f=m.viewLayout.getWhitespaceAtVerticalOffset(_);if(f){const v=f.verticalOffset+f.height/2,y=m.model.getLineCount();let L=null,I,k=null;return f.afterLineNumber!==y&&(k=new w.Position(f.afterLineNumber+1,1)),f.afterLineNumber>0&&(L=new w.Position(f.afterLineNumber,m.model.getLineMaxColumn(f.afterLineNumber))),k===null?I=L:L===null?I=k:_=m.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,n._getMouseColumn(this.mouseContentHorizontalOffset,m.typicalHalfwidthCharacterWidth))}}class u extends a{constructor(m,_,f,v){super(m,_,f);this._ctx=m,v?(this.target=v,this.targetPath=N.PartFingerprints.collect(v,m.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array(0))}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset} + target: ${this.target?this.target.outerHTML:null}`}fulfill(m,_=null,f=null,v=null){let y=this.mouseColumn;return _&&_.columnL.contentLeft+L.width)){const I=m.getVerticalOffsetForLineNumber(L.position.lineNumber);if(I<=y&&y<=I+L.height)return _.fulfill(6,L.position)}}return null}static _hitTestViewZone(m,_){const f=m.getZoneAtCoord(_.mouseVerticalOffset);if(f){const v=_.isInContentArea?8:5;return _.fulfill(v,f.position,null,f)}return null}static _hitTestTextArea(m,_){return o.isTextArea(_.targetPath)?m.lastRenderData.lastTextareaPosition?_.fulfill(6,m.lastRenderData.lastTextareaPosition):_.fulfill(1,m.lastRenderData.lastTextareaPosition):null}static _hitTestMargin(m,_){if(_.isInMarginArea){const f=m.getFullLineRangeAtCoord(_.mouseVerticalOffset),v=f.range.getStartPosition();let y=Math.abs(_.pos.x-_.editorPos.x);const L={isAfterLines:f.isAfterLines,glyphMarginLeft:m.layoutInfo.glyphMarginLeft,glyphMarginWidth:m.layoutInfo.glyphMarginWidth,lineNumbersWidth:m.layoutInfo.lineNumbersWidth,offsetX:y};return y-=m.layoutInfo.glyphMarginLeft,y<=m.layoutInfo.glyphMarginWidth?_.fulfill(2,v,f.range,L):(y-=m.layoutInfo.glyphMarginWidth,y<=m.layoutInfo.lineNumbersWidth?_.fulfill(3,v,f.range,L):(y-=m.layoutInfo.lineNumbersWidth,_.fulfill(4,v,f.range,L)))}return null}static _hitTestViewLines(m,_,f){if(!o.isChildOfViewLines(_.targetPath))return null;if(m.isInTopPadding(_.mouseVerticalOffset))return _.fulfill(7,new w.Position(1,1),void 0,r);if(m.isAfterLines(_.mouseVerticalOffset)||m.isInBottomPadding(_.mouseVerticalOffset)){const y=m.model.getLineCount(),L=m.model.getLineMaxColumn(y);return _.fulfill(7,new w.Position(y,L),void 0,r)}if(f){if(o.isStrictChildOfViewLines(_.targetPath)){const y=m.getLineNumberAtVerticalOffset(_.mouseVerticalOffset);if(m.model.getLineLength(y)===0){const I=m.getLineWidth(y),k=i(_.mouseContentHorizontalOffset-I);return _.fulfill(7,new w.Position(y,1),void 0,k)}const L=m.getLineWidth(y);if(_.mouseContentHorizontalOffset>=L){const I=i(_.mouseContentHorizontalOffset-L),k=new w.Position(y,m.model.getLineMaxColumn(y));return _.fulfill(7,k,void 0,I)}}return _.fulfill(0)}const v=n._doHitTest(m,_);return v.position?n.createMouseTargetFromHitTestPosition(m,_,v.position.lineNumber,v.position.column):this._createMouseTarget(m,_.withTarget(v.hitTarget),!0)}static _hitTestMinimap(m,_){if(o.isChildOfMinimap(_.targetPath)){const f=m.getLineNumberAtVerticalOffset(_.mouseVerticalOffset),v=m.model.getLineMaxColumn(f);return _.fulfill(11,new w.Position(f,v))}return null}static _hitTestScrollbarSlider(m,_){if(o.isChildOfScrollableElement(_.targetPath)&&_.target&&_.target.nodeType===1){const f=_.target.className;if(f&&/\b(slider|scrollbar)\b/.test(f)){const v=m.getLineNumberAtVerticalOffset(_.mouseVerticalOffset),y=m.model.getLineMaxColumn(v);return _.fulfill(11,new w.Position(v,y))}}return null}static _hitTestScrollbar(m,_){if(o.isChildOfScrollableElement(_.targetPath)){const f=m.getLineNumberAtVerticalOffset(_.mouseVerticalOffset),v=m.model.getLineMaxColumn(f);return _.fulfill(11,new w.Position(f,v))}return null}getMouseColumn(m,_){const f=this._context.configuration.options,v=f.get(124),y=this._context.viewLayout.getCurrentScrollLeft()+_.x-m.x-v.contentLeft;return n._getMouseColumn(y,f.get(38).typicalHalfwidthCharacterWidth)}static _getMouseColumn(m,_){return m<0?1:Math.round(m/_)+1}static createMouseTargetFromHitTestPosition(m,_,f,v){const y=new w.Position(f,v),L=m.getLineWidth(f);if(_.mouseContentHorizontalOffset>L){const O=i(_.mouseContentHorizontalOffset-L);return _.fulfill(7,y,void 0,O)}const I=m.visibleRangeForPosition(f,v);if(!I)return _.fulfill(0,y);const k=I.left;if(_.mouseContentHorizontalOffset===k)return _.fulfill(6,y);const E=[];if(E.push({offset:I.left,column:v}),v>1){const O=m.visibleRangeForPosition(f,v-1);O&&E.push({offset:O.left,column:v-1})}const T=m.model.getLineMaxColumn(f);if(vO.offset-A.offset);for(let O=1;O=_.editorPos.y+m.layoutInfo.height&&(L=_.editorPos.y+m.layoutInfo.height-1);const I=new b.PageCoordinates(_.pos.x,L),k=this._actualDoHitTestWithCaretRangeFromPoint(m,I.toClientCoordinates());return k.position?k:this._actualDoHitTestWithCaretRangeFromPoint(m,_.pos.toClientCoordinates())}static _actualDoHitTestWithCaretRangeFromPoint(m,_){const f=d.getShadowRoot(m.viewDomNode);let v;if(f?typeof f.caretRangeFromPoint=="undefined"?v=t(f,_.clientX,_.clientY):v=f.caretRangeFromPoint(_.clientX,_.clientY):v=document.caretRangeFromPoint(_.clientX,_.clientY),!v||!v.startContainer)return{position:null,hitTarget:null};const y=v.startContainer;let L=null;if(y.nodeType===y.TEXT_NODE){const I=y.parentNode,k=I?I.parentNode:null,E=k?k.parentNode:null;if((E&&E.nodeType===E.ELEMENT_NODE?E.className:null)===M.ViewLine.CLASS_NAME)return{position:m.getPositionFromDOMInfo(I,v.startOffset),hitTarget:null};L=y.parentNode}else if(y.nodeType===y.ELEMENT_NODE){const I=y.parentNode,k=I?I.parentNode:null;if((k&&k.nodeType===k.ELEMENT_NODE?k.className:null)===M.ViewLine.CLASS_NAME)return{position:m.getPositionFromDOMInfo(y,y.textContent.length),hitTarget:null};L=y}return{position:null,hitTarget:L}}static _doHitTestWithCaretPositionFromPoint(m,_){const f=document.caretPositionFromPoint(_.clientX,_.clientY);if(f.offsetNode.nodeType===f.offsetNode.TEXT_NODE){const v=f.offsetNode.parentNode,y=v?v.parentNode:null,L=y?y.parentNode:null;return(L&&L.nodeType===L.ELEMENT_NODE?L.className:null)===M.ViewLine.CLASS_NAME?{position:m.getPositionFromDOMInfo(f.offsetNode.parentNode,f.offset),hitTarget:null}:{position:null,hitTarget:f.offsetNode.parentNode}}if(f.offsetNode.nodeType===f.offsetNode.ELEMENT_NODE){const v=f.offsetNode.parentNode,y=v&&v.nodeType===v.ELEMENT_NODE?v.className:null,L=v?v.parentNode:null,I=L&&L.nodeType===L.ELEMENT_NODE?L.className:null;if(y===M.ViewLine.CLASS_NAME){const k=f.offsetNode.childNodes[Math.min(f.offset,f.offsetNode.childNodes.length-1)];if(k)return{position:m.getPositionFromDOMInfo(k,0),hitTarget:null}}else if(I===M.ViewLine.CLASS_NAME)return{position:m.getPositionFromDOMInfo(f.offsetNode,0),hitTarget:null}}return{position:null,hitTarget:f.offsetNode}}static _snapToSoftTabBoundary(m,_){const f=_.getLineContent(m.lineNumber),{tabSize:v}=_.getTextModelOptions(),y=g.AtomicTabMoveOperations.atomicPosition(f,m.column-1,v,2);return y!==-1?new w.Position(m.lineNumber,y+1):m}static _doHitTest(m,_){let f;return typeof document.caretRangeFromPoint=="function"?f=this._doHitTestWithCaretRangeFromPoint(m,_):document.caretPositionFromPoint?f=this._doHitTestWithCaretPositionFromPoint(m,_.pos.toClientCoordinates()):f={position:null,hitTarget:null},f.position&&m.stickyTabStops&&(f.position=this._snapToSoftTabBoundary(f.position,m.model)),f}}e.MouseTargetFactory=n;function t(h,m,_){const f=document.createRange();let v=h.elementFromPoint(m,_);if(v!==null){for(;v&&v.firstChild&&v.firstChild.nodeType!==v.firstChild.TEXT_NODE&&v.lastChild&&v.lastChild.firstChild;)v=v.lastChild;const y=v.getBoundingClientRect(),L=window.getComputedStyle(v,null).getPropertyValue("font"),I=v.innerText;let k=y.left,E=0,T;if(m>y.left+y.width)E=I.length;else{const O=l.getInstance();for(let A=0;Athis._createMouseTarget(_,f),_=>this._getMouseColumn(_))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(124).height;const h=new d.EditorMouseEventFactory(this.viewHelper.viewDomNode);this._register(h.onContextMenu(this.viewHelper.viewDomNode,_=>this._onContextMenu(_,!0))),this._register(h.onMouseMoveThrottled(this.viewHelper.viewDomNode,_=>this._onMouseMove(_),s(this.mouseTargetFactory),a.MOUSE_MOVE_MINIMUM_TIME)),this._register(h.onMouseUp(this.viewHelper.viewDomNode,_=>this._onMouseUp(_))),this._register(h.onMouseLeave(this.viewHelper.viewDomNode,_=>this._onMouseLeave(_))),this._register(h.onMouseDown(this.viewHelper.viewDomNode,_=>this._onMouseDown(_)));const m=_=>{if(this.viewController.emitMouseWheel(_),!!this._context.configuration.options.get(62)){const f=new N.StandardWheelEvent(_);if(S.isMacintosh?(_.metaKey||_.ctrlKey)&&!_.shiftKey&&!_.altKey:_.ctrlKey&&!_.metaKey&&!_.shiftKey&&!_.altKey){const y=g.EditorZoom.getZoomLevel(),L=f.deltaY>0?1:-1;g.EditorZoom.setZoomLevel(y+L),f.preventDefault(),f.stopPropagation()}}};this._register(b.addDisposableListener(this.viewHelper.viewDomNode,b.EventType.MOUSE_WHEEL,m,{capture:!0,passive:!1})),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(n){if(n.hasChanged(124)){const t=this._context.configuration.options.get(124).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(n){return this._mouseDownOperation.onCursorStateChanged(n),!1}onFocusChanged(n){return!1}onScrollChanged(n){return this._mouseDownOperation.onScrollChanged(),!1}getTargetAtClientPoint(n,t){const h=new d.ClientCoordinates(n,t).toPageCoordinates(),m=d.createEditorPagePosition(this.viewHelper.viewDomNode);return h.ym.y+m.height||h.xm.x+m.width?null:this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),m,h,null)}_createMouseTarget(n,t){return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),n.editorPos,n.pos,t?n.target:null)}_getMouseColumn(n){return this.mouseTargetFactory.getMouseColumn(n.editorPos,n.pos)}_onContextMenu(n,t){this.viewController.emitContextMenu({event:n,target:this._createMouseTarget(n,t)})}_onMouseMove(n){this._mouseDownOperation.isActive()||n.timestamp{n.preventDefault(),this.viewHelper.focusTextArea()};if(y&&(l||m&&_))L(),this._mouseDownOperation.start(t.type,n);else if(h)n.preventDefault();else if(f){const I=t.detail;this.viewHelper.shouldSuppressMouseDownOnViewZone(I.viewZoneId)&&(L(),this._mouseDownOperation.start(t.type,n),n.preventDefault())}else v&&this.viewHelper.shouldSuppressMouseDownOnWidget(t.detail)&&(L(),n.preventDefault());this.viewController.emitMouseDown({event:n,target:t})}}e.MouseHandler=a,a.MOUSE_MOVE_MINIMUM_TIME=100;class u extends w.Disposable{constructor(n,t,l,h,m){super();this._context=n,this._viewController=t,this._viewHelper=l,this._createMouseTarget=h,this._getMouseColumn=m,this._mouseMoveMonitor=this._register(new d.GlobalEditorMouseMoveMonitor(this._viewHelper.viewDomNode)),this._onScrollTimeout=this._register(new M.TimeoutTimer),this._mouseState=new r,this._currentSelection=new c.Selection(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(n){this._lastMouseEvent=n,this._mouseState.setModifiers(n);const t=this._findMousePosition(n,!0);!t||(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:n,target:t}):this._dispatchMouse(t,!0))}start(n,t){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(n===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const l=this._findMousePosition(t,!0);if(!(!l||!l.position)){this._mouseState.trySetCount(t.detail,l.position),t.detail=this._mouseState.count;const h=this._context.configuration.options;if(!h.get(75)&&h.get(27)&&!h.get(15)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&l.type===6&&l.position&&this._currentSelection.containsPosition(l.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(t.target,t.buttons,s(null),m=>this._onMouseDownThenMove(m),m=>{const _=this._findMousePosition(this._lastMouseEvent,!0);m&&m instanceof KeyboardEvent?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:_?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(l,t.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(t.target,t.buttons,s(null),m=>this._onMouseDownThenMove(m),()=>this._stop()))}}_stop(){this._isActive=!1,this._onScrollTimeout.cancel()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onScrollChanged(){!this._isActive||this._onScrollTimeout.setIfNotSet(()=>{if(!!this._lastMouseEvent){const n=this._findMousePosition(this._lastMouseEvent,!1);!n||this._mouseState.isDragAndDrop||this._dispatchMouse(n,!0)}},10)}onCursorStateChanged(n){this._currentSelection=n.selections[0]}_getPositionOutsideEditor(n){const t=n.editorPos,l=this._context.model,h=this._context.viewLayout,m=this._getMouseColumn(n);if(n.posyt.y+t.height){const f=h.getCurrentScrollTop()+(n.posy-t.y),v=C.HitTestContext.getZoneAtCoord(this._context,f);if(v){const L=this._helpPositionJumpOverViewZone(v);if(L)return new C.MouseTarget(null,13,m,L)}const y=h.getLineNumberAtVerticalOffset(f);return new C.MouseTarget(null,13,m,new p.Position(y,l.getLineMaxColumn(y)))}const _=h.getLineNumberAtVerticalOffset(h.getCurrentScrollTop()+(n.posy-t.y));return n.posxt.x+t.width?new C.MouseTarget(null,13,m,new p.Position(_,l.getLineMaxColumn(_))):null}_findMousePosition(n,t){const l=this._getPositionOutsideEditor(n);if(l)return l;const h=this._createMouseTarget(n,t);if(!h.position)return null;if(h.type===8||h.type===5){const _=this._helpPositionJumpOverViewZone(h.detail);if(_)return new C.MouseTarget(h.element,h.type,h.mouseColumn,_,null,h.detail)}return h}_helpPositionJumpOverViewZone(n){const t=new p.Position(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),l=n.positionBefore,h=n.positionAfter;return l&&h?l.isBefore(t)?l:h:null}_dispatchMouse(n,t){!n.position||this._viewController.dispatchMouse({position:n.position,mouseColumn:n.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton})}}class r{constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}get count(){return this._lastMouseDownCount}setModifiers(n){this._altKey=n.altKey,this._ctrlKey=n.ctrlKey,this._metaKey=n.metaKey,this._shiftKey=n.shiftKey}setStartButtons(n){this._leftButton=n.leftButton,this._middleButton=n.middleButton}setStartedOnLineNumbers(n){this._startedOnLineNumbers=n}trySetCount(n,t){const l=new Date().getTime();l-this._lastSetMouseDownCountTime>r.CLEAR_MOUSE_DOWN_COUNT_TIME&&(n=1),this._lastSetMouseDownCountTime=l,n>this._lastMouseDownCount+1&&(n=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(n,this._lastMouseDownPositionEqualCount)}}r.CLEAR_MOUSE_DOWN_COUNT_TIME=400}),define(Q[581],J([0,1,7,17,60,2,580,162,151,164]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PointerHandler=e.PointerEventHandler=void 0;class p extends S.MouseHandler{constructor(a,u,r){super(a,u,r);this._register(M.Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(b.addDisposableListener(this.viewHelper.linesContentDomNode,M.EventType.Tap,n=>this.onTap(n))),this._register(b.addDisposableListener(this.viewHelper.linesContentDomNode,M.EventType.Change,n=>this.onChange(n))),this._register(b.addDisposableListener(this.viewHelper.linesContentDomNode,M.EventType.Contextmenu,n=>this._onContextMenu(new C.EditorMouseEvent(n,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(b.addDisposableListener(this.viewHelper.linesContentDomNode,"pointerdown",n=>{const t=n.pointerType;if(t==="mouse"){this._lastPointerType="mouse";return}else t==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const i=new C.EditorPointerEventFactory(this.viewHelper.viewDomNode);this._register(i.onPointerMoveThrottled(this.viewHelper.viewDomNode,n=>this._onMouseMove(n),S.createMouseMoveEventMerger(this.mouseTargetFactory),S.MouseHandler.MOUSE_MOVE_MINIMUM_TIME)),this._register(i.onPointerUp(this.viewHelper.viewDomNode,n=>this._onMouseUp(n))),this._register(i.onPointerLeave(this.viewHelper.viewDomNode,n=>this._onMouseLeave(n))),this._register(i.onPointerDown(this.viewHelper.viewDomNode,n=>this._onMouseDown(n)))}onTap(a){if(!(!a.initialTarget||!this.viewHelper.linesContentDomNode.contains(a.initialTarget))){a.preventDefault(),this.viewHelper.focusTextArea();const u=this._createMouseTarget(new C.EditorMouseEvent(a,this.viewHelper.viewDomNode),!1);u.position&&this.viewController.dispatchMouse({position:u.position,mouseColumn:u.position.column,startedOnLineNumbers:!1,mouseDownCount:a.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1})}}onChange(a){this._lastPointerType==="touch"&&this._context.model.deltaScrollNow(-a.translationX,-a.translationY)}_onMouseDown(a){a.browserEvent.pointerType!=="touch"&&super._onMouseDown(a)}}e.PointerEventHandler=p;class c extends S.MouseHandler{constructor(a,u,r){super(a,u,r);this._register(M.Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(b.addDisposableListener(this.viewHelper.linesContentDomNode,M.EventType.Tap,i=>this.onTap(i))),this._register(b.addDisposableListener(this.viewHelper.linesContentDomNode,M.EventType.Change,i=>this.onChange(i))),this._register(b.addDisposableListener(this.viewHelper.linesContentDomNode,M.EventType.Contextmenu,i=>this._onContextMenu(new C.EditorMouseEvent(i,this.viewHelper.viewDomNode),!1)))}onTap(a){a.preventDefault(),this.viewHelper.focusTextArea();const u=this._createMouseTarget(new C.EditorMouseEvent(a,this.viewHelper.viewDomNode),!1);if(u.position){const r=document.createEvent("CustomEvent");r.initEvent(g.TextAreaSyntethicEvents.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(r),this.viewController.moveTo(u.position)}}onChange(a){this._context.model.deltaScrollNow(-a.translationX,-a.translationY)}}class o extends w.Disposable{constructor(a,u,r){super();N.isIOS&&d.BrowserFeatures.pointerEvents?this.handler=this._register(new p(a,u,r)):window.TouchEvent?this.handler=this._register(new c(a,u,r)):this.handler=this._register(new S.MouseHandler(a,u,r))}getTargetAtClientPoint(a,u){return this.handler.getTargetAtClientPoint(a,u)}}e.PointerHandler=o}),define(Q[256],J([0,1,187]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewUserInputEvents=void 0;class N{constructor(S){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=S}emitKeyDown(S){this.onKeyDown&&this.onKeyDown(S)}emitKeyUp(S){this.onKeyUp&&this.onKeyUp(S)}emitContextMenu(S){this.onContextMenu&&this.onContextMenu(this._convertViewToModelMouseEvent(S))}emitMouseMove(S){this.onMouseMove&&this.onMouseMove(this._convertViewToModelMouseEvent(S))}emitMouseLeave(S){this.onMouseLeave&&this.onMouseLeave(this._convertViewToModelMouseEvent(S))}emitMouseDown(S){this.onMouseDown&&this.onMouseDown(this._convertViewToModelMouseEvent(S))}emitMouseUp(S){this.onMouseUp&&this.onMouseUp(this._convertViewToModelMouseEvent(S))}emitMouseDrag(S){this.onMouseDrag&&this.onMouseDrag(this._convertViewToModelMouseEvent(S))}emitMouseDrop(S){this.onMouseDrop&&this.onMouseDrop(this._convertViewToModelMouseEvent(S))}emitMouseDropCanceled(){this.onMouseDropCanceled&&this.onMouseDropCanceled()}emitMouseWheel(S){this.onMouseWheel&&this.onMouseWheel(S)}_convertViewToModelMouseEvent(S){return S.target?{event:S.event,target:this._convertViewToModelMouseTarget(S.target)}:S}_convertViewToModelMouseTarget(S){return N.convertViewToModelMouseTarget(S,this._coordinatesConverter)}static convertViewToModelMouseTarget(S,C){return new M(S.element,S.type,S.mouseColumn,S.position?C.convertViewPositionToModelPosition(S.position):null,S.range?C.convertViewRangeToModelRange(S.range):null,S.detail)}}e.ViewUserInputEvents=N;class M{constructor(S,C,d,g,p,c){this.element=S,this.type=C,this.mouseColumn=d,this.position=g,this.range=p,this.detail=c}toString(){return b.MouseTarget.toString(this)}}}),define(Q[582],J([0,1,17,15,69,165,45,255,14,3,110,124,323]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewLines=void 0;class o{constructor(){this._currentVisibleRange=new g.Range(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(i){this._currentVisibleRange=i}}class s{constructor(i,n,t,l,h,m){this.lineNumber=i,this.startColumn=n,this.endColumn=t,this.startScrollTop=l,this.stopScrollTop=h,this.scrollType=m,this.type="range",this.minLineNumber=i,this.maxLineNumber=i}}class a{constructor(i,n,t,l){this.selections=i,this.startScrollTop=n,this.stopScrollTop=t,this.scrollType=l,this.type="selections";let h=i[0].startLineNumber,m=i[0].endLineNumber;for(let _=1,f=i.length;_{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new N.RunOnceScheduler(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new o,this._horizontalRevealRequest=null}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new C.ViewLine(this._viewLineOptions)}onConfigurationChanged(i){this._visibleLines.onConfigurationChanged(i),i.hasChanged(125)&&(this._maxLineWidth=0);const n=this._context.configuration.options,t=n.get(38),l=n.get(125);return this._lineHeight=n.get(53),this._typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,this._isViewportWrapping=l.isViewportWrapping,this._revealHorizontalRightPadding=n.get(84),this._cursorSurroundingLines=n.get(22),this._cursorSurroundingLinesStyle=n.get(23),this._canUseLayerHinting=!n.get(25),M.Configuration.applyFontInfo(this.domNode,t),this._onOptionsMaybeChanged(),i.hasChanged(124)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const i=this._context.configuration,n=new C.ViewLineOptions(i,this._context.theme.type);if(!this._viewLineOptions.equals(n)){this._viewLineOptions=n;const t=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber();for(let h=t;h<=l;h++)this._visibleLines.getVisibleLine(h).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(i){const n=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();let l=!1;for(let h=n;h<=t;h++)l=this._visibleLines.getVisibleLine(h).onSelectionChanged()||l;return l}onDecorationsChanged(i){{const n=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let l=n;l<=t;l++)this._visibleLines.getVisibleLine(l).onDecorationsChanged()}return!0}onFlushed(i){const n=this._visibleLines.onFlushed(i);return this._maxLineWidth=0,n}onLinesChanged(i){return this._visibleLines.onLinesChanged(i)}onLinesDeleted(i){return this._visibleLines.onLinesDeleted(i)}onLinesInserted(i){return this._visibleLines.onLinesInserted(i)}onRevealRangeRequest(i){const n=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),i.source,i.range,i.selections,i.verticalType);if(n===-1)return!1;let t=this._context.viewLayout.validateScrollPosition({scrollTop:n});i.revealHorizontal?i.range&&i.range.startLineNumber!==i.range.endLineNumber?t={scrollTop:t.scrollTop,scrollLeft:0}:i.range?this._horizontalRevealRequest=new s(i.range.startLineNumber,i.range.startColumn,i.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),t.scrollTop,i.scrollType):i.selections&&i.selections.length>0&&(this._horizontalRevealRequest=new a(i.selections,this._context.viewLayout.getCurrentScrollTop(),t.scrollTop,i.scrollType)):this._horizontalRevealRequest=null;const h=Math.abs(this._context.viewLayout.getCurrentScrollTop()-t.scrollTop)<=this._lineHeight?1:i.scrollType;return this._context.model.setScrollPosition(t,h),!0}onScrollChanged(i){if(this._horizontalRevealRequest&&i.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&i.scrollTopChanged){const n=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),t=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(i.scrollTopt)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(i.scrollWidth),this._visibleLines.onScrollChanged(i)||!0}onTokensChanged(i){return this._visibleLines.onTokensChanged(i)}onZonesChanged(i){return this._context.model.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(i)}onThemeChanged(i){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(i,n){const t=this._getViewLineDomNode(i);if(t===null)return null;const l=this._getLineNumberFor(t);if(l===-1||l<1||l>this._context.model.getLineCount())return null;if(this._context.model.getLineMaxColumn(l)===1)return new d.Position(l,1);const h=this._visibleLines.getStartLineNumber(),m=this._visibleLines.getEndLineNumber();if(lm)return null;let _=this._visibleLines.getVisibleLine(l).getColumnOfNodeOffset(l,i,n);const f=this._context.model.getLineMinColumn(l);return _t?-1:this._visibleLines.getVisibleLine(i).getWidth()}linesVisibleRangesForRange(i,n){if(this.shouldRender())return null;const t=i.endLineNumber,l=g.Range.intersectRanges(i,this._lastRenderedData.getCurrentVisibleRange());if(!l)return null;let h=[],m=0;const _=new C.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);let f=0;n&&(f=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new d.Position(l.startLineNumber,1)).lineNumber);const v=this._visibleLines.getStartLineNumber(),y=this._visibleLines.getEndLineNumber();for(let L=l.startLineNumber;L<=l.endLineNumber;L++)if(!(Ly)){const I=L===l.startLineNumber?l.startColumn:1,k=L===l.endLineNumber?l.endColumn:this._context.model.getLineMaxColumn(L),E=this._visibleLines.getVisibleLine(L).getVisibleRangesForRange(I,k,_);if(!!E){if(n&&Lthis._visibleLines.getEndLineNumber()?null:this._visibleLines.getVisibleLine(i).getVisibleRangesForRange(n,t,new C.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot))}visibleRangeForPosition(i){const n=this._visibleRangesForLineRange(i.lineNumber,i.column,i.column);return n?new p.HorizontalPosition(n.outsideRenderedLine,n.ranges[0].left):null}updateLineWidths(){this._updateLineWidths(!1)}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidths(i){const n=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();let l=1,h=!0;for(let m=n;m<=t;m++){const _=this._visibleLines.getVisibleLine(m);if(i&&!_.getWidthIsFast()){h=!1;continue}l=Math.max(l,_.getWidth())}return h&&n===1&&t===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(l),h}_checkMonospaceFontAssumptions(){let i=-1,n=-1;const t=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber();for(let h=t;h<=l;h++){const m=this._visibleLines.getVisibleLine(h);if(m.needsMonospaceFontCheck()){const _=m.getWidth();_>n&&(n=_,i=h)}}if(i!==-1&&!this._visibleLines.getVisibleLine(i).monospaceAssumptionsAreValid())for(let h=t;h<=l;h++)this._visibleLines.getVisibleLine(h).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(i){if(this._visibleLines.renderLines(i),this._lastRenderedData.setCurrentVisibleRange(i.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const t=this._horizontalRevealRequest;if(i.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=i.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const l=this._computeScrollLeftToReveal(t);l&&(this._isViewportWrapping||this._ensureMaxLineWidth(l.maxHorizontalOffset),this._context.model.setScrollPosition({scrollLeft:l.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),b.isLinux&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const t=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber();for(let h=t;h<=l;h++)if(this._visibleLines.getVisibleLine(h).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const n=this._context.viewLayout.getCurrentScrollTop()-i.bigNumbersDelta;this._linesContent.setTop(-n),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(i){const n=Math.ceil(i);this._maxLineWidth0){let E=l[0].startLineNumber,T=l[0].endLineNumber;for(let O=1,A=l.length;O_){if(!v)return-1;k=y}else if(h===5||h===6)if(h===6&&m<=y&&L<=f)k=m;else{const E=Math.max(5*this._lineHeight,_*.2),T=y-E,O=L-_;k=Math.max(O,T)}else if(h===1||h===2)if(h===2&&m<=y&&L<=f)k=m;else{const E=(y+L)/2;k=Math.max(0,E-_/2)}else k=this._computeMinimumScrolling(m,f,y,L,h===3,h===4);return k}_computeScrollLeftToReveal(i){const n=this._context.viewLayout.getCurrentViewport(),t=n.left,l=t+n.width;let h=1073741824,m=0;if(i.type==="range"){const f=this._visibleRangesForLineRange(i.lineNumber,i.startColumn,i.endColumn);if(!f)return null;for(const v of f.ranges)h=Math.min(h,v.left),m=Math.max(m,v.left+v.width)}else for(const f of i.selections){if(f.startLineNumber!==f.endLineNumber)return null;const v=this._visibleRangesForLineRange(f.startLineNumber,f.startColumn,f.endColumn);if(!v)return null;for(const y of v.ranges)h=Math.min(h,y.left),m=Math.max(m,y.left+y.width)}return h=Math.max(0,h-u.HORIZONTAL_EXTRA_PX),m+=this._revealHorizontalRightPadding,i.type==="selections"&&m-h>n.width?null:{scrollLeft:this._computeMinimumScrolling(t,l,h,m),maxHorizontalOffset:m}}_computeMinimumScrolling(i,n,t,l,h,m){i=i|0,n=n|0,t=t|0,l=l|0,h=!!h,m=!!m;const _=n-i;if(l-t<_){if(h)return t;if(m)return Math.max(0,l-_);if(tn)return Math.max(0,l-_)}else return t;return i}}e.ViewLines=u,u.HORIZONTAL_EXTRA_PX=30}),define(Q[11],J([0,1,9,2,33,6,97,27]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Themable=e.registerThemingParticipant=e.Extensions=e.getThemeTypeSelector=e.ThemeIcon=e.themeColorFromId=e.ThemeColor=e.IThemeService=void 0,e.IThemeService=b.createDecorator("themeService");var d;(function(r){function i(n){return n&&typeof n=="object"&&typeof n.id=="string"}r.isThemeColor=i})(d=e.ThemeColor||(e.ThemeColor={}));function g(r){return{id:r}}e.themeColorFromId=g;var p;(function(r){function i(m){return m&&typeof m=="object"&&typeof m.id=="string"&&(typeof m.color=="undefined"||d.isThemeColor(m.color))}r.isThemeIcon=i;const n=new RegExp(`^\\$\\((${C.CSSIcon.iconNameExpression}(?:${C.CSSIcon.iconModifierExpression})?)\\)$`);function t(m){const _=n.exec(m);if(!!_){let[,f]=_;return{id:f}}}r.fromString=t;function l(m,_){let f=m.id;const v=f.lastIndexOf("~");return v!==-1&&(f=f.substring(0,v)),_&&(f=`${f}~${_}`),{id:f}}r.modify=l;function h(m,_){var f,v;return m.id===_.id&&((f=m.color)===null||f===void 0?void 0:f.id)===((v=_.color)===null||v===void 0?void 0:v.id)}r.isEqual=h,r.asClassNameArray=C.CSSIcon.asClassNameArray,r.asClassName=C.CSSIcon.asClassName,r.asCSSSelector=C.CSSIcon.asCSSSelector})(p=e.ThemeIcon||(e.ThemeIcon={}));function c(r){switch(r){case S.ColorScheme.DARK:return"vs-dark";case S.ColorScheme.HIGH_CONTRAST:return"hc-black";default:return"vs"}}e.getThemeTypeSelector=c,e.Extensions={ThemingContribution:"base.contributions.theming"};class o{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new w.Emitter}onColorThemeChange(i){return this.themingParticipants.push(i),this.onThemingParticipantAddedEmitter.fire(i),N.toDisposable(()=>{const n=this.themingParticipants.indexOf(i);this.themingParticipants.splice(n,1)})}getThemingParticipants(){return this.themingParticipants}}let s=new o;M.Registry.add(e.Extensions.ThemingContribution,s);function a(r){return s.onColorThemeChange(r)}e.registerThemingParticipant=a;class u extends N.Disposable{constructor(i){super();this.themeService=i,this.theme=i.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(n=>this.onThemeChange(n)))}onThemeChange(i){this.theme=i,this.updateStyles()}updateStyles(){}}e.Themable=u}),define(Q[583],J([0,1,7,2,8,24,362,107,53,11]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DecorationTypeOptionsProvider=e.DecorationSubTypeOptionsProvider=e.CodeEditorServiceImpl=e.GlobalStyleSheet=e.RefCountedStyleSheet=void 0;class p{constructor(t,l,h){this._parent=t,this._editorId=l,this._styleSheet=h,this._refCount=0}ref(){this._refCount++}unref(){var t;this._refCount--,this._refCount===0&&((t=this._styleSheet.parentNode)===null||t===void 0||t.removeChild(this._styleSheet),this._parent._removeEditorStyleSheets(this._editorId))}insertRule(t,l){this._styleSheet.sheet.insertRule(t,l)}removeRulesContainingSelector(t){b.removeCSSRulesContainingSelector(t,this._styleSheet)}}e.RefCountedStyleSheet=p;class c{constructor(t){this._styleSheet=t}ref(){}unref(){}insertRule(t,l){this._styleSheet.sheet.insertRule(t,l)}removeRulesContainingSelector(t){b.removeCSSRulesContainingSelector(t,this._styleSheet)}}e.GlobalStyleSheet=c;let o=class extends S.AbstractCodeEditorService{constructor(t,l){super();this._decorationOptionProviders=new Map,this._editorStyleSheets=new Map,this._globalStyleSheet=t||null,this._themeService=l}_getOrCreateGlobalStyleSheet(){return this._globalStyleSheet||(this._globalStyleSheet=new c(b.createStyleSheet())),this._globalStyleSheet}_getOrCreateStyleSheet(t){if(!t)return this._getOrCreateGlobalStyleSheet();const l=t.getContainerDomNode();if(!b.isInShadowDOM(l))return this._getOrCreateGlobalStyleSheet();const h=t.getId();if(!this._editorStyleSheets.has(h)){const m=new p(this,h,b.createStyleSheet(l));this._editorStyleSheets.set(h,m)}return this._editorStyleSheets.get(h)}_removeEditorStyleSheets(t){this._editorStyleSheets.delete(t)}registerDecorationType(t,l,h,m){let _=this._decorationOptionProviders.get(t);if(!_){const f=this._getOrCreateStyleSheet(m),v={styleSheet:f,key:t,parentTypeKey:h,options:l||Object.create(null)};h?_=new s(this._themeService,f,v):_=new a(this._themeService,f,v),this._decorationOptionProviders.set(t,_),this._onDecorationTypeRegistered.fire(t)}_.refCount++}removeDecorationType(t){const l=this._decorationOptionProviders.get(t);l&&(l.refCount--,l.refCount<=0&&(this._decorationOptionProviders.delete(t),l.dispose(),this.listCodeEditors().forEach(h=>h.removeDecorations(t))))}resolveDecorationOptions(t,l){const h=this._decorationOptionProviders.get(t);if(!h)throw new Error("Unknown decoration type key: "+t);return h.getOptions(this,l)}};o=Me([_e(1,g.IThemeService)],o),e.CodeEditorServiceImpl=o;class s{constructor(t,l,h){this._styleSheet=l,this._styleSheet.ref(),this._parentTypeKey=h.parentTypeKey,this.refCount=0,this._beforeContentRules=new r(3,h,t),this._afterContentRules=new r(4,h,t)}getOptions(t,l){const h=t.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(h.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(h.afterContentClassName=this._afterContentRules.className),h}dispose(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null),this._styleSheet.unref()}}e.DecorationSubTypeOptionsProvider=s;class a{constructor(t,l,h){this._disposables=new N.DisposableStore,this._styleSheet=l,this._styleSheet.ref(),this.refCount=0;const m=I=>{const k=new r(I,h,t);if(this._disposables.add(k),k.hasContent)return k.className},_=I=>{const k=new r(I,h,t);return this._disposables.add(k),k.hasContent?{className:k.className,hasLetterSpacing:k.hasLetterSpacing}:null};this.className=m(0);const f=_(1);f&&(this.inlineClassName=f.className,this.inlineClassNameAffectsLetterSpacing=f.hasLetterSpacing),this.beforeContentClassName=m(3),this.afterContentClassName=m(4),this.glyphMarginClassName=m(2);const v=h.options;this.isWholeLine=Boolean(v.isWholeLine),this.stickiness=v.rangeBehavior;const y=v.light&&v.light.overviewRulerColor||v.overviewRulerColor,L=v.dark&&v.dark.overviewRulerColor||v.overviewRulerColor;(typeof y!="undefined"||typeof L!="undefined")&&(this.overviewRuler={color:y||L,darkColor:L||y,position:v.overviewRulerLane||d.OverviewRulerLane.Center})}getOptions(t,l){return l?{inlineClassName:this.inlineClassName,beforeContentClassName:this.beforeContentClassName,afterContentClassName:this.afterContentClassName,className:this.className,glyphMarginClassName:this.glyphMarginClassName,isWholeLine:this.isWholeLine,overviewRuler:this.overviewRuler,stickiness:this.stickiness}:this}dispose(){this._disposables.dispose(),this._styleSheet.unref()}}e.DecorationTypeOptionsProvider=a;const u={color:"color:{0} !important;",opacity:"opacity:{0};",backgroundColor:"background-color:{0};",outline:"outline:{0};",outlineColor:"outline-color:{0};",outlineStyle:"outline-style:{0};",outlineWidth:"outline-width:{0};",border:"border:{0};",borderColor:"border-color:{0};",borderRadius:"border-radius:{0};",borderSpacing:"border-spacing:{0};",borderStyle:"border-style:{0};",borderWidth:"border-width:{0};",fontStyle:"font-style:{0};",fontWeight:"font-weight:{0};",fontSize:"font-size:{0};",fontFamily:"font-family:{0};",textDecoration:"text-decoration:{0};",cursor:"cursor:{0};",letterSpacing:"letter-spacing:{0};",gutterIconPath:"background:{0} center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:{0};",margin:"margin:{0};",padding:"padding:{0};",width:"width:{0};",height:"height:{0};"};class r{constructor(t,l,h){this._theme=h.getColorTheme(),this._ruleType=t,this._providerArgs=l,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;let m=i.getClassName(this._providerArgs.key,t);this._providerArgs.parentTypeKey&&(m=m+" "+i.getClassName(this._providerArgs.parentTypeKey,t)),this._className=m,this._unThemedSelector=i.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,t),this._buildCSS(),this._usesThemeColors?this._themeListener=h.onDidColorThemeChange(_=>{this._theme=h.getColorTheme(),this._removeCSS(),this._buildCSS()}):this._themeListener=null}dispose(){this._hasContent&&(this._removeCSS(),this._hasContent=!1),this._themeListener&&(this._themeListener.dispose(),this._themeListener=null)}get hasContent(){return this._hasContent}get hasLetterSpacing(){return this._hasLetterSpacing}get className(){return this._className}_buildCSS(){const t=this._providerArgs.options;let l,h,m;switch(this._ruleType){case 0:l=this.getCSSTextForModelDecorationClassName(t),h=this.getCSSTextForModelDecorationClassName(t.light),m=this.getCSSTextForModelDecorationClassName(t.dark);break;case 1:l=this.getCSSTextForModelDecorationInlineClassName(t),h=this.getCSSTextForModelDecorationInlineClassName(t.light),m=this.getCSSTextForModelDecorationInlineClassName(t.dark);break;case 2:l=this.getCSSTextForModelDecorationGlyphMarginClassName(t),h=this.getCSSTextForModelDecorationGlyphMarginClassName(t.light),m=this.getCSSTextForModelDecorationGlyphMarginClassName(t.dark);break;case 3:l=this.getCSSTextForModelDecorationContentClassName(t.before),h=this.getCSSTextForModelDecorationContentClassName(t.light&&t.light.before),m=this.getCSSTextForModelDecorationContentClassName(t.dark&&t.dark.before);break;case 4:l=this.getCSSTextForModelDecorationContentClassName(t.after),h=this.getCSSTextForModelDecorationContentClassName(t.light&&t.light.after),m=this.getCSSTextForModelDecorationContentClassName(t.dark&&t.dark.after);break;default:throw new Error("Unknown rule type: "+this._ruleType)}const _=this._providerArgs.styleSheet;let f=!1;l.length>0&&(_.insertRule(`${this._unThemedSelector} {${l}}`,0),f=!0),h.length>0&&(_.insertRule(`.vs${this._unThemedSelector} {${h}}`,0),f=!0),m.length>0&&(_.insertRule(`.vs-dark${this._unThemedSelector}, .hc-black${this._unThemedSelector} {${m}}`,0),f=!0),this._hasContent=f}_removeCSS(){this._providerArgs.styleSheet.removeRulesContainingSelector(this._unThemedSelector)}getCSSTextForModelDecorationClassName(t){if(!t)return"";const l=[];return this.collectCSSText(t,["backgroundColor"],l),this.collectCSSText(t,["outline","outlineColor","outlineStyle","outlineWidth"],l),this.collectBorderSettingsCSSText(t,l),l.join("")}getCSSTextForModelDecorationInlineClassName(t){if(!t)return"";const l=[];return this.collectCSSText(t,["fontStyle","fontWeight","textDecoration","cursor","color","opacity","letterSpacing"],l),t.letterSpacing&&(this._hasLetterSpacing=!0),l.join("")}getCSSTextForModelDecorationContentClassName(t){if(!t)return"";const l=[];if(typeof t!="undefined"){if(this.collectBorderSettingsCSSText(t,l),typeof t.contentIconPath!="undefined"&&l.push(M.format(u.contentIconPath,b.asCSSUrl(w.URI.revive(t.contentIconPath)))),typeof t.contentText=="string"){const m=t.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");l.push(M.format(u.contentText,m))}this.collectCSSText(t,["fontStyle","fontWeight","fontSize","fontFamily","textDecoration","color","opacity","backgroundColor","margin","padding"],l),this.collectCSSText(t,["width","height"],l)&&l.push("display:inline-block;")}return l.join("")}getCSSTextForModelDecorationGlyphMarginClassName(t){if(!t)return"";const l=[];return typeof t.gutterIconPath!="undefined"&&(l.push(M.format(u.gutterIconPath,b.asCSSUrl(w.URI.revive(t.gutterIconPath)))),typeof t.gutterIconSize!="undefined"&&l.push(M.format(u.gutterIconSize,t.gutterIconSize))),l.join("")}collectBorderSettingsCSSText(t,l){return this.collectCSSText(t,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],l)?(l.push(M.format("box-sizing: border-box;")),!0):!1}collectCSSText(t,l,h){const m=h.length;for(let _ of l){const f=this.resolveValue(t[_]);typeof f=="string"&&h.push(M.format(u[_],f))}return h.length!==m}resolveValue(t){if(C.isThemeColor(t)){this._usesThemeColors=!0;const l=this._theme.getColor(t.id);return l?l.toString():"transparent"}return t}}class i{static getClassName(t,l){return"ced-"+t+"-"+l}static getSelector(t,l,h){let m=".monaco-editor ."+this.getClassName(t,h);return l&&(m=m+"."+this.getClassName(l,h)),h===3?m+="::before":h===4&&(m+="::after"),m}}}),define(Q[584],J([0,1,7,30,61,45,11]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorScrollbar=void 0;class C extends w.ViewPart{constructor(g,p,c,o){super(g);const s=this._context.configuration.options,a=s.get(87),u=s.get(61),r=s.get(30),i=s.get(90),n={listenOnDomNode:c.domNode,className:"editor-scrollable "+S.getThemeTypeSelector(g.theme.type),useShadows:!1,lazyRender:!0,vertical:a.vertical,horizontal:a.horizontal,verticalHasArrows:a.verticalHasArrows,horizontalHasArrows:a.horizontalHasArrows,verticalScrollbarSize:a.verticalScrollbarSize,verticalSliderSize:a.verticalSliderSize,horizontalScrollbarSize:a.horizontalScrollbarSize,horizontalSliderSize:a.horizontalSliderSize,handleMouseWheel:a.handleMouseWheel,alwaysConsumeMouseWheel:a.alwaysConsumeMouseWheel,arrowSize:a.arrowSize,mouseWheelScrollSensitivity:u,fastScrollSensitivity:r,scrollPredominantAxis:i,scrollByPage:a.scrollByPage};this.scrollbar=this._register(new M.SmoothScrollableElement(p.domNode,n,this._context.viewLayout.getScrollable())),w.PartFingerprints.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=N.createFastDomNode(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const t=(l,h,m)=>{const _={};if(h){const f=l.scrollTop;f&&(_.scrollTop=this._context.viewLayout.getCurrentScrollTop()+f,l.scrollTop=0)}if(m){const f=l.scrollLeft;f&&(_.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+f,l.scrollLeft=0)}this._context.model.setScrollPosition(_,1)};this._register(b.addDisposableListener(c.domNode,"scroll",l=>t(c.domNode,!0,!0))),this._register(b.addDisposableListener(p.domNode,"scroll",l=>t(p.domNode,!0,!1))),this._register(b.addDisposableListener(o.domNode,"scroll",l=>t(o.domNode,!0,!1))),this._register(b.addDisposableListener(this.scrollbarDomNode.domNode,"scroll",l=>t(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const g=this._context.configuration.options,p=g.get(124);this.scrollbarDomNode.setLeft(p.contentLeft),g.get(59).side==="right"?this.scrollbarDomNode.setWidth(p.contentWidth+p.minimap.minimapWidth):this.scrollbarDomNode.setWidth(p.contentWidth),this.scrollbarDomNode.setHeight(p.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarMouseDown(g){this.scrollbar.delegateVerticalScrollbarMouseDown(g)}onConfigurationChanged(g){if(g.hasChanged(87)||g.hasChanged(61)||g.hasChanged(30)){const p=this._context.configuration.options,c=p.get(87),o=p.get(61),s=p.get(30),a=p.get(90),u={handleMouseWheel:c.handleMouseWheel,mouseWheelScrollSensitivity:o,fastScrollSensitivity:s,scrollPredominantAxis:a};this.scrollbar.updateOptions(u)}return g.hasChanged(124)&&this._setLayout(),!0}onScrollChanged(g){return!0}onThemeChanged(g){return this.scrollbar.updateClassName("editor-scrollable "+S.getThemeTypeSelector(this._context.theme.type)),!0}prepareRender(g){}render(g){this.scrollbar.renderNow()}}e.EditorScrollbar=C}),define(Q[585],J([0,1,7,30,90,2,17,8,165,45,38,3,216,244,63,22,11,21,60,365,53,88,326]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Minimap=void 0;const m=140,_=2;class f{constructor(A,B,F){const D=A.options,R=D.get(122),W=D.get(124),x=W.minimap,K=D.get(38),Y=D.get(59);this.renderMinimap=x.renderMinimap,this.size=Y.size,this.minimapHeightIsEditorHeight=x.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=D.get(89),this.showSlider=Y.showSlider,this.pixelRatio=R,this.typicalHalfwidthCharacterWidth=K.typicalHalfwidthCharacterWidth,this.lineHeight=D.get(53),this.minimapLeft=x.minimapLeft,this.minimapWidth=x.minimapWidth,this.minimapHeight=W.height,this.canvasInnerWidth=x.minimapCanvasInnerWidth,this.canvasInnerHeight=x.minimapCanvasInnerHeight,this.canvasOuterWidth=x.minimapCanvasOuterWidth,this.canvasOuterHeight=x.minimapCanvasOuterHeight,this.isSampling=x.minimapIsSampling,this.editorHeight=W.height,this.fontScale=x.minimapScale,this.minimapLineHeight=x.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.charRenderer=h.once(()=>t.MinimapCharRendererFactory.create(this.fontScale,K.fontFamily)),this.backgroundColor=f._getMinimapBackground(B,F)}static _getMinimapBackground(A,B){const F=A.getColor(u.minimapBackground);return F?new o.RGBA8(F.rgba.r,F.rgba.g,F.rgba.b,F.rgba.a):B.getColor(2)}equals(A){return this.renderMinimap===A.renderMinimap&&this.size===A.size&&this.minimapHeightIsEditorHeight===A.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===A.scrollBeyondLastLine&&this.showSlider===A.showSlider&&this.pixelRatio===A.pixelRatio&&this.typicalHalfwidthCharacterWidth===A.typicalHalfwidthCharacterWidth&&this.lineHeight===A.lineHeight&&this.minimapLeft===A.minimapLeft&&this.minimapWidth===A.minimapWidth&&this.minimapHeight===A.minimapHeight&&this.canvasInnerWidth===A.canvasInnerWidth&&this.canvasInnerHeight===A.canvasInnerHeight&&this.canvasOuterWidth===A.canvasOuterWidth&&this.canvasOuterHeight===A.canvasOuterHeight&&this.isSampling===A.isSampling&&this.editorHeight===A.editorHeight&&this.fontScale===A.fontScale&&this.minimapLineHeight===A.minimapLineHeight&&this.minimapCharWidth===A.minimapCharWidth&&this.backgroundColor&&this.backgroundColor.equals(A.backgroundColor)}}class v{constructor(A,B,F,D,R,W,x,K){this.scrollTop=A,this.scrollHeight=B,this.sliderNeeded=F,this._computedSliderRatio=D,this.sliderTop=R,this.sliderHeight=W,this.startLineNumber=x,this.endLineNumber=K}getDesiredScrollTopFromDelta(A){return Math.round(this.scrollTop+A/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(A){return Math.round((A-this.sliderHeight/2)/this._computedSliderRatio)}static create(A,B,F,D,R,W,x,K,Y,ee,se){const ne=A.pixelRatio,le=A.minimapLineHeight,X=Math.floor(A.canvasInnerHeight/le),z=A.lineHeight;if(A.minimapHeightIsEditorHeight){const ie=K*A.lineHeight+(A.scrollBeyondLastLine?R-A.lineHeight:0),oe=Math.max(1,Math.floor(R*R/ie)),ae=Math.max(0,A.minimapHeight-oe),G=ae/(ee-R),j=Y*G,te=ae>0,Z=Math.floor(A.canvasInnerHeight/A.minimapLineHeight);return new v(Y,ee,te,G,j,oe,1,Math.min(x,Z))}let P;if(W&&F!==x){const ie=F-B+1;P=Math.floor(ie*le/ne)}else{const ie=R/z;P=Math.floor(ie*le/ne)}let V;A.scrollBeyondLastLine?V=(x-1)*le/ne:V=Math.max(0,x*le/ne-P),V=Math.min(A.minimapHeight-P,V);const U=V/(ee-R),H=Y*U;let $=0;if(A.scrollBeyondLastLine&&($=R/z-1),X>=x+$){const ie=1,oe=x,ae=V>0;return new v(Y,ee,ae,U,H,P,ie,oe)}else{let ie=Math.max(1,Math.floor(B-H*ne/le));se&&se.scrollHeight===ee&&(se.scrollTop>Y&&(ie=Math.min(ie,se.startLineNumber)),se.scrollTopy.INVALID),this._renderedLines._set(A.startLineNumber,F)}linesEquals(A){if(!this.scrollEquals(A))return!1;const F=this._renderedLines._get().lines;for(let D=0,R=F.length;D1){for(let $=0,ie=x-1;$0&&this.minimapLines[F-1]>=A;)F--;let D=this.modelLineToMinimapLine(B)-1;for(;D+1B)return null}return[F+1,D+1]}decorationLineRangeToMinimapLineRange(A,B){let F=this.modelLineToMinimapLine(A),D=this.modelLineToMinimapLine(B);return A!==B&&D===F&&(D===this.minimapLines.length?F>1&&F--:D++),[F,D]}onLinesDeleted(A){const B=A.toLineNumber-A.fromLineNumber+1;let F=this.minimapLines.length,D=0;for(let R=this.minimapLines.length-1;R>=0&&!(this.minimapLines[R]=0&&!(this.minimapLines[F]0,scrollWidth:A.scrollWidth,scrollHeight:A.scrollHeight,viewportStartLineNumber:B,viewportEndLineNumber:F,viewportStartLineNumberVerticalOffset:A.getVerticalOffsetForLineNumber(B),scrollTop:A.scrollTop,scrollLeft:A.scrollLeft,viewportWidth:A.viewportWidth,viewportHeight:A.viewportHeight};this._actual.render(D)}_recreateLineSampling(){this._minimapSelections=null;const A=Boolean(this._samplingState),[B,F]=k.compute(this.options,this._context.model.getLineCount(),this._samplingState);if(this._samplingState=B,A&&this._samplingState)for(const D of F)switch(D.type){case"deleted":this._actual.onLinesDeleted(D.deleteFromLineNumber,D.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(D.insertFromLineNumber,D.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.model.getLineCount()}getRealLineCount(){return this._context.model.getLineCount()}getLineContent(A){return this._samplingState?this._context.model.getLineContent(this._samplingState.minimapLines[A-1]):this._context.model.getLineContent(A)}getMinimapLinesRenderingData(A,B,F){if(this._samplingState){let D=[];for(let R=0,W=B-A+1;R{if(F.preventDefault(),this._model.options.renderMinimap!==0&&!!this._lastRenderData){if(this._model.options.size!=="proportional"){if(F.leftButton&&this._lastRenderData){const Y=b.getDomNodePagePosition(this._slider.domNode),ee=Y.top+Y.height/2;this._startSliderDragging(F.buttons,F.posx,ee,F.posy,this._lastRenderData.renderedLayout)}return}const R=this._model.options.minimapLineHeight,W=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*F.browserEvent.offsetY;let K=Math.floor(W/R)+this._lastRenderData.renderedLayout.startLineNumber;K=Math.min(K,this._model.getLineCount()),this._model.revealLineNumber(K)}}),this._sliderMouseMoveMonitor=new M.GlobalMouseMoveMonitor,this._sliderMouseDownListener=b.addStandardDisposableListener(this._slider.domNode,"mousedown",F=>{F.preventDefault(),F.stopPropagation(),F.leftButton&&this._lastRenderData&&this._startSliderDragging(F.buttons,F.posx,F.posy,F.posy,this._lastRenderData.renderedLayout)}),this._gestureDisposable=n.Gesture.addTarget(this._domNode.domNode),this._sliderTouchStartListener=b.addDisposableListener(this._domNode.domNode,n.EventType.Start,F=>{F.preventDefault(),F.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(F))},{passive:!1}),this._sliderTouchMoveListener=b.addDisposableListener(this._domNode.domNode,n.EventType.Change,F=>{F.preventDefault(),F.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(F)},{passive:!1}),this._sliderTouchEndListener=b.addStandardDisposableListener(this._domNode.domNode,n.EventType.End,F=>{F.preventDefault(),F.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(A,B,F,D,R){this._slider.toggleClassName("active",!0);const W=(x,K)=>{const Y=Math.abs(K-B);if(S.isWindows&&Y>m){this._model.setScrollTop(R.scrollTop);return}const ee=x-F;this._model.setScrollTop(R.getDesiredScrollTopFromDelta(ee))};D!==F&&W(D,B),this._sliderMouseMoveMonitor.startMonitoring(this._slider.domNode,A,M.standardMouseMoveMerger,x=>W(x.posy,x.posx),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(A){const B=this._domNode.domNode.getBoundingClientRect().top,F=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(A.pageY-B);this._model.setScrollTop(F)}dispose(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){return this._model.options.showSlider==="always"?"minimap slider-always":"minimap slider-mouseover"}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new I(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(A,B){return this._lastRenderData?this._lastRenderData.onLinesChanged(A,B):!1}onLinesDeleted(A,B){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(A,B),!0}onLinesInserted(A,B){return this._lastRenderData&&this._lastRenderData.onLinesInserted(A,B),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(u.minimapSelection),this._renderDecorations=!0,!0}onTokensChanged(A){return this._lastRenderData?this._lastRenderData.onTokensChanged(A):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(A){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}A.scrollLeft+A.viewportWidth>=A.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const F=v.create(this._model.options,A.viewportStartLineNumber,A.viewportEndLineNumber,A.viewportStartLineNumberVerticalOffset,A.viewportHeight,A.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),A.scrollTop,A.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(F.sliderNeeded?"block":"none"),this._slider.setTop(F.sliderTop),this._slider.setHeight(F.sliderHeight);const D=A.scrollLeft/this._model.options.typicalHalfwidthCharacterWidth,R=Math.min(this._model.options.minimapWidth,Math.round(D*this._model.options.minimapCharWidth/this._model.options.pixelRatio));this._sliderHorizontal.setLeft(R),this._sliderHorizontal.setWidth(this._model.options.minimapWidth-R),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(F.sliderHeight),this.renderDecorations(F),this._lastRenderData=this.renderLines(F)}renderDecorations(A){if(this._renderDecorations){this._renderDecorations=!1;const B=this._model.getSelections(),F=this._model.getMinimapDecorationsInViewport(A.startLineNumber,A.endLineNumber),{canvasInnerWidth:D,canvasInnerHeight:R}=this._model.options,W=this._model.options.minimapLineHeight,x=this._model.options.minimapCharWidth,K=this._model.getOptions().tabSize,Y=this._decorationsCanvas.domNode.getContext("2d");Y.clearRect(0,0,D,R);const ee=new Map;for(let se=0;sethis._model.options.canvasInnerHeight)){let ne=B.get(W);const le=!ne;if(!ne){const $=this._model.getLineContent(W);ne=[p.MINIMAP_GUTTER_WIDTH];for(let ie=1;ie<$.length+1;ie++){const oe=$.charCodeAt(ie-1),ae=oe===9?Y*ee:C.isFullWidthCharacter(oe)?2*ee:ee;ne[ie]=ne[ie-1]+ae}B.set(W,ne)}const{startColumn:X,endColumn:z,startLineNumber:P,endLineNumber:V}=F,U=P===W?ne[X-1]:p.MINIMAP_GUTTER_WIDTH,H=V>W?ne.length-1:z-1;if(H>0){const $=ne[H]-U||2;this.renderDecoration(A,D,U,se,$,x)}le&&this.renderLineHighlight(A,D,se,x)}}renderLineHighlight(A,B,F,D){A.fillStyle=B&&B.transparent(.5).toString()||"",A.fillRect(p.MINIMAP_GUTTER_WIDTH,F,A.canvas.width,D)}renderDecoration(A,B,F,D,R,W){A.fillStyle=B&&B.toString()||"",A.fillRect(F,D,R,W)}renderLines(A){const B=A.startLineNumber,F=A.endLineNumber,D=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(A)){const Z=this._lastRenderData._get();return new L(A,Z.imageData,Z.lines)}const R=this._getBuffer();if(!R)return null;let[W,x,K]=T._renderUntouchedLines(R,B,F,D,this._lastRenderData);const Y=this._model.getMinimapLinesRenderingData(B,F,K),ee=this._model.getOptions().tabSize,se=this._model.options.backgroundColor,ne=this._model.tokensColorTracker,le=ne.backgroundIsLight(),X=this._model.options.renderMinimap,z=this._model.options.charRenderer(),P=this._model.options.fontScale,V=this._model.options.minimapCharWidth,H=(X===1?2:2+1)*P,$=D>H?Math.floor((D-H)/2):0;let ie=0;const oe=[];for(let Z=0,ue=F-B+1;Z=0&&teP)return;const te=X.charCodeAt(H);if(te===9){const Z=ee-(H+$)%ee;$+=Z-1,U+=Z*R}else if(te===32)U+=R;else{const Z=C.isFullWidthCharacter(te)?2:1;for(let ue=0;ueP)return}}}}}r.registerThemingParticipant((O,A)=>{const B=O.getColor(u.minimapBackground);B&&A.addRule(`.monaco-editor .minimap > canvas { opacity: ${B.rgba.a}; will-change: opacity; }`);const F=O.getColor(u.minimapSliderBackground);F&&A.addRule(`.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${F}; }`);const D=O.getColor(u.minimapSliderHoverBackground);D&&A.addRule(`.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${D}; }`);const R=O.getColor(u.minimapSliderActiveBackground);R&&A.addRule(`.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${R}; }`);const W=O.getColor(u.scrollbarShadow);W&&A.addRule(`.monaco-editor .minimap-shadow-visible { box-shadow: ${W} -6px 0 6px -6px inset; }`)})}),define(Q[586],J([0,1,30,45,22,11,329]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollDecorationViewPart=void 0;class S extends N.ViewPart{constructor(d){super(d);this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const p=this._context.configuration.options.get(87);this._useShadows=p.useShadows,this._domNode=b.createFastDomNode(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){const d=this._useShadows&&this._scrollTop>0;return this._shouldShow!==d?(this._shouldShow=d,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const g=this._context.configuration.options.get(124);g.minimap.renderMinimap===0||g.minimap.minimapWidth>0&&g.minimap.minimapLeft===0?this._width=g.width:this._width=g.width-g.minimap.minimapWidth-g.verticalScrollbarWidth}onConfigurationChanged(d){const p=this._context.configuration.options.get(87);return this._useShadows=p.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(d){return this._scrollTop=d.scrollTop,this._updateShouldShow()}prepareRender(d){}render(d){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}e.ScrollDecorationViewPart=S,w.registerThemingParticipant((C,d)=>{const g=C.getColor(M.scrollbarShadow);g&&d.addRule(`.monaco-editor .scroll-decoration { box-shadow: ${g} 0 6px 6px -6px inset; }`)})}),define(Q[587],J([0,1,94,22,11,330]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionsOverlay=void 0;class w{constructor(o){this.left=o.left,this.width=o.width,this.startStyle=null,this.endStyle=null}}class S{constructor(o,s){this.lineNumber=o,this.ranges=s}}function C(c){return new w(c)}function d(c){return new S(c.lineNumber,c.ranges.map(C))}class g extends b.DynamicViewOverlay{constructor(o){super();this._previousFrameVisibleRangesWithStyle=[],this._context=o;const s=this._context.configuration.options;this._lineHeight=s.get(53),this._roundedSelection=s.get(85),this._typicalHalfwidthCharacterWidth=s.get(38).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(o){const s=this._context.configuration.options;return this._lineHeight=s.get(53),this._roundedSelection=s.get(85),this._typicalHalfwidthCharacterWidth=s.get(38).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(o){return this._selections=o.selections.slice(0),!0}onDecorationsChanged(o){return!0}onFlushed(o){return!0}onLinesChanged(o){return!0}onLinesDeleted(o){return!0}onLinesInserted(o){return!0}onScrollChanged(o){return o.scrollTopChanged}onZonesChanged(o){return!0}_visibleRangesHaveGaps(o){for(let s=0,a=o.length;s1)return!0;return!1}_enrichVisibleRangesWithStyle(o,s,a){const u=this._typicalHalfwidthCharacterWidth/4;let r=null,i=null;if(a&&a.length>0&&s.length>0){const n=s[0].lineNumber;if(n===o.startLineNumber)for(let l=0;!r&&l=0;l--)a[l].lineNumber===t&&(i=a[l].ranges[0]);r&&!r.startStyle&&(r=null),i&&!i.startStyle&&(i=null)}for(let n=0,t=s.length;n0){const v=s[n-1].ranges[0].left,y=s[n-1].ranges[0].left+s[n-1].ranges[0].width;p(h-v)v&&(_.top=1),p(m-y)'}_actualRenderOneSelection(o,s,a,u){if(u.length!==0){const r=!!u[0].ranges[0].startStyle,i=this._lineHeight.toString(),n=(this._lineHeight-1).toString(),t=u[0].lineNumber,l=u[u.length-1].lineNumber;for(let h=0,m=u.length;h1,l)}this._previousFrameVisibleRangesWithStyle=r,this._renderResult=s.map(([i,n])=>i+n)}render(o,s){if(!this._renderResult)return"";const a=s-o;return a<0||a>=this._renderResult.length?"":this._renderResult[a]}}e.SelectionsOverlay=g,g.SELECTION_CLASS_NAME="selected-text",g.SELECTION_TOP_LEFT="top-left-radius",g.SELECTION_BOTTOM_LEFT="bottom-left-radius",g.SELECTION_TOP_RIGHT="top-right-radius",g.SELECTION_BOTTOM_RIGHT="bottom-right-radius",g.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",g.ROUNDED_PIECE_WIDTH=10,M.registerThemingParticipant((c,o)=>{const s=c.getColor(N.editorSelectionBackground);s&&o.addRule(`.monaco-editor .focused .selected-text { background-color: ${s}; }`);const a=c.getColor(N.editorInactiveSelection);a&&o.addRule(`.monaco-editor .selected-text { background-color: ${a}; }`);const u=c.getColor(N.editorSelectionForeground);u&&!u.isTransparent()&&o.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${u}; }`)});function p(c){return c<0?-c:c}}),define(Q[49],J([0,1,460,29,22,11]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.overviewRulerInfo=e.overviewRulerWarning=e.overviewRulerError=e.overviewRulerRangeHighlight=e.editorUnnecessaryCodeOpacity=e.editorUnnecessaryCodeBorder=e.editorGutter=e.editorOverviewRulerBackground=e.editorOverviewRulerBorder=e.editorBracketMatchBorder=e.editorBracketMatchBackground=e.editorCodeLensForeground=e.editorRuler=e.editorActiveLineNumber=e.editorLineNumbers=e.editorActiveIndentGuides=e.editorIndentGuides=e.editorWhitespaces=e.editorCursorBackground=e.editorCursorForeground=e.editorSymbolHighlightBorder=e.editorSymbolHighlight=e.editorRangeHighlightBorder=e.editorRangeHighlight=e.editorLineHighlightBorder=e.editorLineHighlight=void 0,e.editorLineHighlight=M.registerColor("editor.lineHighlightBackground",{dark:null,light:null,hc:null},b.localize(0,null)),e.editorLineHighlightBorder=M.registerColor("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},b.localize(1,null)),e.editorRangeHighlight=M.registerColor("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},b.localize(2,null),!0),e.editorRangeHighlightBorder=M.registerColor("editor.rangeHighlightBorder",{dark:null,light:null,hc:M.activeContrastBorder},b.localize(3,null),!0),e.editorSymbolHighlight=M.registerColor("editor.symbolHighlightBackground",{dark:M.editorFindMatchHighlight,light:M.editorFindMatchHighlight,hc:null},b.localize(4,null),!0),e.editorSymbolHighlightBorder=M.registerColor("editor.symbolHighlightBorder",{dark:null,light:null,hc:M.activeContrastBorder},b.localize(5,null),!0),e.editorCursorForeground=M.registerColor("editorCursor.foreground",{dark:"#AEAFAD",light:N.Color.black,hc:N.Color.white},b.localize(6,null)),e.editorCursorBackground=M.registerColor("editorCursor.background",null,b.localize(7,null)),e.editorWhitespaces=M.registerColor("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},b.localize(8,null)),e.editorIndentGuides=M.registerColor("editorIndentGuide.background",{dark:e.editorWhitespaces,light:e.editorWhitespaces,hc:e.editorWhitespaces},b.localize(9,null)),e.editorActiveIndentGuides=M.registerColor("editorIndentGuide.activeBackground",{dark:e.editorWhitespaces,light:e.editorWhitespaces,hc:e.editorWhitespaces},b.localize(10,null)),e.editorLineNumbers=M.registerColor("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:N.Color.white},b.localize(11,null));const S=M.registerColor("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:M.activeContrastBorder},b.localize(12,null),!1,b.localize(13,null));e.editorActiveLineNumber=M.registerColor("editorLineNumber.activeForeground",{dark:S,light:S,hc:S},b.localize(14,null)),e.editorRuler=M.registerColor("editorRuler.foreground",{dark:"#5A5A5A",light:N.Color.lightgrey,hc:N.Color.white},b.localize(15,null)),e.editorCodeLensForeground=M.registerColor("editorCodeLens.foreground",{dark:"#999999",light:"#999999",hc:"#999999"},b.localize(16,null)),e.editorBracketMatchBackground=M.registerColor("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},b.localize(17,null)),e.editorBracketMatchBorder=M.registerColor("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:M.contrastBorder},b.localize(18,null)),e.editorOverviewRulerBorder=M.registerColor("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},b.localize(19,null)),e.editorOverviewRulerBackground=M.registerColor("editorOverviewRuler.background",null,b.localize(20,null)),e.editorGutter=M.registerColor("editorGutter.background",{dark:M.editorBackground,light:M.editorBackground,hc:M.editorBackground},b.localize(21,null)),e.editorUnnecessaryCodeBorder=M.registerColor("editorUnnecessaryCode.border",{dark:null,light:null,hc:N.Color.fromHex("#fff").transparent(.8)},b.localize(22,null)),e.editorUnnecessaryCodeOpacity=M.registerColor("editorUnnecessaryCode.opacity",{dark:N.Color.fromHex("#000a"),light:N.Color.fromHex("#0007"),hc:null},b.localize(23,null));const C=new N.Color(new N.RGBA(0,122,204,.6));e.overviewRulerRangeHighlight=M.registerColor("editorOverviewRuler.rangeHighlightForeground",{dark:C,light:C,hc:C},b.localize(24,null),!0),e.overviewRulerError=M.registerColor("editorOverviewRuler.errorForeground",{dark:new N.Color(new N.RGBA(255,18,18,.7)),light:new N.Color(new N.RGBA(255,18,18,.7)),hc:new N.Color(new N.RGBA(255,50,50,1))},b.localize(25,null)),e.overviewRulerWarning=M.registerColor("editorOverviewRuler.warningForeground",{dark:M.editorWarningForeground,light:M.editorWarningForeground,hc:M.editorWarningBorder},b.localize(26,null)),e.overviewRulerInfo=M.registerColor("editorOverviewRuler.infoForeground",{dark:M.editorInfoForeground,light:M.editorInfoForeground,hc:M.editorInfoBorder},b.localize(27,null)),w.registerThemingParticipant((d,g)=>{const p=d.getColor(M.editorBackground);p&&g.addRule(`.monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: ${p}; }`);const c=d.getColor(M.editorForeground);c&&g.addRule(`.monaco-editor, .monaco-editor .inputarea.ime-input { color: ${c}; }`);const o=d.getColor(e.editorGutter);o&&g.addRule(`.monaco-editor .margin { background-color: ${o}; }`);const s=d.getColor(e.editorRangeHighlight);s&&g.addRule(`.monaco-editor .rangeHighlight { background-color: ${s}; }`);const a=d.getColor(e.editorRangeHighlightBorder);a&&g.addRule(`.monaco-editor .rangeHighlight { border: 1px ${d.type==="hc"?"dotted":"solid"} ${a}; }`);const u=d.getColor(e.editorSymbolHighlight);u&&g.addRule(`.monaco-editor .symbolHighlight { background-color: ${u}; }`);const r=d.getColor(e.editorSymbolHighlightBorder);r&&g.addRule(`.monaco-editor .symbolHighlight { border: 1px ${d.type==="hc"?"dotted":"solid"} ${r}; }`);const i=d.getColor(e.editorWhitespaces);i&&(g.addRule(`.monaco-editor .mtkw { color: ${i} !important; }`),g.addRule(`.monaco-editor .mtkz { color: ${i} !important; }`))})}),define(Q[588],J([0,1,94,49,19,11,21,318]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CurrentLineMarginHighlightOverlay=e.CurrentLineHighlightOverlay=e.AbstractLineHighlightOverlay=void 0;let C=!0;class d extends b.DynamicViewOverlay{constructor(o){super();this._context=o;const s=this._context.configuration.options,a=s.get(124);this._lineHeight=s.get(53),this._renderLineHighlight=s.get(80),this._renderLineHighlightOnlyWhenFocus=s.get(81),this._contentLeft=a.contentLeft,this._contentWidth=a.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new S.Selection(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let o=!1;const s=C?this._selections.slice(0,1):this._selections,a=s.map(r=>r.positionLineNumber);a.sort((r,i)=>r-i),M.equals(this._cursorLineNumbers,a)||(this._cursorLineNumbers=a,o=!0);const u=s.every(r=>r.isEmpty());return this._selectionIsEmpty!==u&&(this._selectionIsEmpty=u,o=!0),o}onThemeChanged(o){return this._readFromSelections()}onConfigurationChanged(o){const s=this._context.configuration.options,a=s.get(124);return this._lineHeight=s.get(53),this._renderLineHighlight=s.get(80),this._renderLineHighlightOnlyWhenFocus=s.get(81),this._contentLeft=a.contentLeft,this._contentWidth=a.contentWidth,!0}onCursorStateChanged(o){return this._selections=o.selections,this._readFromSelections()}onFlushed(o){return!0}onLinesDeleted(o){return!0}onLinesInserted(o){return!0}onScrollChanged(o){return o.scrollWidthChanged||o.scrollTopChanged}onZonesChanged(o){return!0}onFocusChanged(o){return this._renderLineHighlightOnlyWhenFocus?(this._focused=o.isFocused,!0):!1}prepareRender(o){if(!this._shouldRenderThis()){this._renderData=null;return}const s=this._renderOne(o),a=o.visibleRange.startLineNumber,u=o.visibleRange.endLineNumber,r=this._cursorLineNumbers.length;let i=0;const n=[];for(let t=a;t<=u;t++){const l=t-a;for(;i=this._renderData.length?"":this._renderData[a]}}e.AbstractLineHighlightOverlay=d;class g extends d{_renderOne(o){return`
    `}_shouldRenderThis(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderOther(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}e.CurrentLineHighlightOverlay=g;class p extends d{_renderOne(o){return`
    `}_shouldRenderMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderThis(){return!0}_shouldRenderOther(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}e.CurrentLineMarginHighlightOverlay=p,w.registerThemingParticipant((c,o)=>{C=!1;const s=c.getColor(N.editorLineHighlight);if(s&&(o.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${s}; }`),o.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${s}; border: none; }`)),!s||s.isTransparent()||c.defines(N.editorLineHighlightBorder)){const a=c.getColor(N.editorLineHighlightBorder);a&&(C=!0,o.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${a}; }`),o.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${a}; }`),c.type==="hc"&&(o.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),o.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}})}),define(Q[589],J([0,1,94,14,49,11,321]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentGuidesOverlay=void 0;class S extends b.DynamicViewOverlay{constructor(d){super();this._context=d,this._primaryLineNumber=0;const g=this._context.configuration.options,p=g.get(125),c=g.get(38);this._lineHeight=g.get(53),this._spaceWidth=c.spaceWidth,this._enabled=g.get(78),this._activeIndentEnabled=g.get(47),this._maxIndentLeft=p.wrappingColumn===-1?-1:p.wrappingColumn*c.typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(d){const g=this._context.configuration.options,p=g.get(125),c=g.get(38);return this._lineHeight=g.get(53),this._spaceWidth=c.spaceWidth,this._enabled=g.get(78),this._activeIndentEnabled=g.get(47),this._maxIndentLeft=p.wrappingColumn===-1?-1:p.wrappingColumn*c.typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(d){const g=d.selections[0],p=g.isEmpty()?g.positionLineNumber:0;return this._primaryLineNumber!==p?(this._primaryLineNumber=p,!0):!1}onDecorationsChanged(d){return!0}onFlushed(d){return!0}onLinesChanged(d){return!0}onLinesDeleted(d){return!0}onLinesInserted(d){return!0}onScrollChanged(d){return d.scrollTopChanged}onZonesChanged(d){return!0}onLanguageConfigurationChanged(d){return!0}prepareRender(d){if(!this._enabled){this._renderResult=null;return}const g=d.visibleRange.startLineNumber,p=d.visibleRange.endLineNumber,{indentSize:c}=this._context.model.getTextModelOptions(),o=c*this._spaceWidth,s=d.scrollWidth,a=this._lineHeight,u=this._context.model.getLinesIndentGuides(g,p);let r=0,i=0,n=0;if(this._activeIndentEnabled&&this._primaryLineNumber){const l=this._context.model.getActiveIndentGuide(this._primaryLineNumber,g,p);r=l.startLineNumber,i=l.endLineNumber,n=l.indent}const t=[];for(let l=g;l<=p;l++){const h=r<=l&&l<=i,m=l-g,_=u[m];let f="";if(_>=1){const v=d.visibleRangeForPosition(new N.Position(l,1));let y=v?v.left:0;for(let L=1;L<=_&&(f+=`
    `,y+=o,!(y>s||this._maxIndentLeft>0&&y>this._maxIndentLeft));L++);}t[m]=f}this._renderResult=t}render(d,g){if(!this._renderResult)return"";const p=g-d;return p<0||p>=this._renderResult.length?"":this._renderResult[p]}}e.IndentGuidesOverlay=S,w.registerThemingParticipant((C,d)=>{const g=C.getColor(M.editorIndentGuides);g&&d.addRule(`.monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 ${g} inset; }`);const p=C.getColor(M.editorActiveIndentGuides)||g;p&&d.addRule(`.monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 ${p} inset; }`)})}),define(Q[257],J([0,1,17,94,14,49,11,322]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineNumbersOverlay=void 0;class C extends N.DynamicViewOverlay{constructor(g){super();this._context=g,this._readConfig(),this._lastCursorModelPosition=new M.Position(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const g=this._context.configuration.options;this._lineHeight=g.get(53);const p=g.get(54);this._renderLineNumbers=p.renderType,this._renderCustomLineNumbers=p.renderFn,this._renderFinalNewline=g.get(79);const c=g.get(124);this._lineNumbersLeft=c.lineNumbersLeft,this._lineNumbersWidth=c.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(g){return this._readConfig(),!0}onCursorStateChanged(g){const p=g.selections[0].getPosition();this._lastCursorModelPosition=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(p);let c=!1;return this._activeLineNumber!==p.lineNumber&&(this._activeLineNumber=p.lineNumber,c=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(c=!0),c}onFlushed(g){return!0}onLinesChanged(g){return!0}onLinesDeleted(g){return!0}onLinesInserted(g){return!0}onScrollChanged(g){return g.scrollTopChanged}onZonesChanged(g){return!0}_getLineRenderLineNumber(g){const p=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new M.Position(g,1));if(p.column!==1)return"";const c=p.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(c);if(this._renderLineNumbers===2){const o=Math.abs(this._lastCursorModelPosition.lineNumber-c);return o===0?''+c+"":String(o)}return this._renderLineNumbers===3?this._lastCursorModelPosition.lineNumber===c||c%10==0?String(c):"":String(c)}prepareRender(g){if(this._renderLineNumbers===0){this._renderResult=null;return}const p=b.isLinux?this._lineHeight%2==0?" lh-even":" lh-odd":"",c=g.visibleRange.startLineNumber,o=g.visibleRange.endLineNumber,s='
    ',a=this._context.model.getLineCount(),u=[];for(let r=c;r<=o;r++){const i=r-c;if(!this._renderFinalNewline&&r===a&&this._context.model.getLineLength(r)===0){u[i]="";continue}const n=this._getLineRenderLineNumber(r);n?r===this._activeLineNumber?u[i]='
    '+n+"
    ":u[i]=s+n+"
    ":u[i]=""}this._renderResult=u}render(g,p){if(!this._renderResult)return"";const c=p-g;return c<0||c>=this._renderResult.length?"":this._renderResult[c]}}e.LineNumbersOverlay=C,C.CLASS_NAME="line-numbers",S.registerThemingParticipant((d,g)=>{const p=d.getColor(w.editorLineNumbers);p&&g.addRule(`.monaco-editor .line-numbers { color: ${p}; }`);const c=d.getColor(w.editorActiveLineNumber);c&&g.addRule(`.monaco-editor .line-numbers.active-line-number { color: ${c}; }`)})}),define(Q[590],J([0,1,445,35,30,17,8,69,164,214,45,257,223,38,106,14,3,21,124,317]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextAreaHandler=void 0;class t{constructor(y,L,I){this.top=y,this.left=L,this.width=I}setWidth(y){return new t(this.top,this.left,y)}}const l=N.isFirefox;class h extends p.ViewPart{constructor(y,L,I){super(y);this._primaryCursorPosition=new u.Position(1,1),this._primaryCursorVisibleRange=null,this._viewController=L,this._viewHelper=I,this._scrollLeft=0,this._scrollTop=0;const k=this._context.configuration.options,E=k.get(124);this._setAccessibilityOptions(k),this._contentLeft=E.contentLeft,this._contentWidth=E.contentWidth,this._contentHeight=E.height,this._fontInfo=k.get(38),this._lineHeight=k.get(53),this._emptySelectionClipboard=k.get(28),this._copyWithSyntaxHighlighting=k.get(18),this._visibleTextArea=null,this._selections=[new i.Selection(1,1,1,1)],this._modelSelections=[new i.Selection(1,1,1,1)],this._lastRenderPosition=null,this.textArea=M.createFastDomNode(document.createElement("textarea")),p.PartFingerprints.write(this.textArea,6),this.textArea.setClassName(`inputarea ${n.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this.textArea.setAttribute("wrap","off"),this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(k)),this.textArea.setAttribute("tabindex",String(k.get(107))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",b.localize(0,null)),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),w.isWeb&&k.get(75)&&this.textArea.setAttribute("readonly","true"),this.textAreaCover=M.createFastDomNode(document.createElement("div")),this.textAreaCover.setPosition("absolute");const T={getLineCount:()=>this._context.model.getLineCount(),getLineMaxColumn:A=>this._context.model.getLineMaxColumn(A),getValueInRange:(A,B)=>this._context.model.getValueInRange(A,B)},O={getDataToCopy:A=>{const B=this._context.model.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,w.isWindows),F=this._context.model.getEOL(),D=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),R=Array.isArray(B)?B:null,W=Array.isArray(B)?B.join(F):B;let x,K=null;if(A&&(d.CopyOptions.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&W.length<65536)){const Y=this._context.model.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);Y&&(x=Y.html,K=Y.mode)}return{isFromEmptySelection:D,multicursorText:R,text:W,html:x,mode:K}},getScreenReaderContent:A=>{if(this._accessibilitySupport===1){if(w.isMacintosh){const B=this._selections[0];if(B.isEmpty()){const F=B.getStartPosition();let D=this._getWordBeforePosition(F);if(D.length===0&&(D=this._getCharacterBeforePosition(F)),D.length>0)return new g.TextAreaState(D,D.length,D.length,F,F)}}return g.TextAreaState.EMPTY}if(N.isAndroid){const B=this._selections[0];if(B.isEmpty()){const F=B.getStartPosition(),[D,R]=this._getAndroidWordAtPosition(F);if(D.length>0)return new g.TextAreaState(D,R,R,F,F)}return g.TextAreaState.EMPTY}return g.PagedScreenReaderStrategy.fromEditorSelection(A,T,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(A,B,F)=>this._context.model.deduceModelPositionRelativeToViewPosition(A,B,F)};this._textAreaInput=this._register(new d.TextAreaInput(O,this.textArea)),this._register(this._textAreaInput.onKeyDown(A=>{this._viewController.emitKeyDown(A)})),this._register(this._textAreaInput.onKeyUp(A=>{this._viewController.emitKeyUp(A)})),this._register(this._textAreaInput.onPaste(A=>{let B=!1,F=null,D=null;A.metadata&&(B=this._emptySelectionClipboard&&!!A.metadata.isFromEmptySelection,F=typeof A.metadata.multicursorText!="undefined"?A.metadata.multicursorText:null,D=A.metadata.mode),this._viewController.paste(A.text,B,F,D)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(A=>{A.replacePrevCharCnt||A.replaceNextCharCnt||A.positionDelta?(g._debugComposition&&console.log(` => compositionType: <<${A.text}>>, ${A.replacePrevCharCnt}, ${A.replaceNextCharCnt}, ${A.positionDelta}`),this._viewController.compositionType(A.text,A.replacePrevCharCnt,A.replaceNextCharCnt,A.positionDelta)):(g._debugComposition&&console.log(` => type: <<${A.text}>>`),this._viewController.type(A.text))})),this._register(this._textAreaInput.onSelectionChangeRequest(A=>{this._viewController.setSelection(A)})),this._register(this._textAreaInput.onCompositionStart(A=>{const B=this._selections[0].startLineNumber,F=this._selections[0].startColumn+A.revealDeltaColumns;this._context.model.revealRange("keyboard",!0,new r.Range(B,F,B,F),0,1);const D=this._viewHelper.visibleRangeForPositionRelativeToEditor(B,F);D&&(this._visibleTextArea=new t(this._context.viewLayout.getVerticalOffsetForLineNumber(B),D.left,l?0:1),this._render()),this.textArea.setClassName(`inputarea ${n.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`),this._viewController.compositionStart(),this._context.model.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(A=>{!this._visibleTextArea||(this._visibleTextArea=this._visibleTextArea.setWidth(m(A.data,this._fontInfo)),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this._render(),this.textArea.setClassName(`inputarea ${n.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._viewController.compositionEnd(),this._context.model.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.model.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.model.setHasFocus(!1)}))}dispose(){super.dispose()}_getAndroidWordAtPosition(y){const L='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',I=this._context.model.getLineContent(y.lineNumber),k=a.getMapForWordSeparators(L);let E=!0,T=y.column,O=!0,A=y.column,B=0;for(;B<50&&(E||O);){if(E&&T<=1&&(E=!1),E){const F=I.charCodeAt(T-2);k.get(F)!==0?E=!1:T--}if(O&&A>I.length&&(O=!1),O){const F=I.charCodeAt(A-1);k.get(F)!==0?O=!1:A++}B++}return[I.substring(T-1,A-1),y.column-T]}_getWordBeforePosition(y){const L=this._context.model.getLineContent(y.lineNumber),I=a.getMapForWordSeparators(this._context.configuration.options.get(110));let k=y.column,E=0;for(;k>1;){const T=L.charCodeAt(k-2);if(I.get(T)!==0||E>50)return L.substring(k-1,y.column-1);E++,k--}return L.substring(0,y.column-1)}_getCharacterBeforePosition(y){if(y.column>1){const I=this._context.model.getLineContent(y.lineNumber).charAt(y.column-2);if(!S.isHighSurrogate(I.charCodeAt(0)))return I}return""}_getAriaLabel(y){return y.get(2)===1?b.localize(1,null,w.isLinux?"Shift+Alt+F1":"Alt+F1"):y.get(4)}_setAccessibilityOptions(y){this._accessibilitySupport=y.get(2);const L=y.get(3);this._accessibilitySupport===2&&L===s.EditorOptions.accessibilityPageSize.defaultValue?this._accessibilityPageSize=100:this._accessibilityPageSize=L}onConfigurationChanged(y){const L=this._context.configuration.options,I=L.get(124);return this._setAccessibilityOptions(L),this._contentLeft=I.contentLeft,this._contentWidth=I.contentWidth,this._contentHeight=I.height,this._fontInfo=L.get(38),this._lineHeight=L.get(53),this._emptySelectionClipboard=L.get(28),this._copyWithSyntaxHighlighting=L.get(18),this.textArea.setAttribute("aria-label",this._getAriaLabel(L)),this.textArea.setAttribute("tabindex",String(L.get(107))),w.isWeb&&y.hasChanged(75)&&(L.get(75)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")),y.hasChanged(2)&&this._textAreaInput.writeScreenReaderContent("strategy changed"),!0}onCursorStateChanged(y){return this._selections=y.selections.slice(0),this._modelSelections=y.modelSelections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0}onDecorationsChanged(y){return!0}onFlushed(y){return!0}onLinesChanged(y){return!0}onLinesDeleted(y){return!0}onLinesInserted(y){return!0}onScrollChanged(y){return this._scrollLeft=y.scrollLeft,this._scrollTop=y.scrollTop,!0}onZonesChanged(y){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(y){y.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",y.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),y.role&&this.textArea.setAttribute("role",y.role)}prepareRender(y){this._primaryCursorPosition=new u.Position(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=y.visibleRangeForPosition(this._primaryCursorPosition)}render(y){this._textAreaInput.writeScreenReaderContent("render"),this._render()}_render(){if(this._visibleTextArea){this._renderInsideEditor(null,this._visibleTextArea.top-this._scrollTop,this._contentLeft+this._visibleTextArea.left-this._scrollLeft,this._visibleTextArea.width,this._lineHeight);return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const y=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ythis._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const L=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(L<0||L>this._contentHeight){this._renderAtTopLeft();return}if(w.isMacintosh){this._renderInsideEditor(this._primaryCursorPosition,L,y,l?0:1,this._lineHeight);return}this._renderInsideEditor(this._primaryCursorPosition,L,y,l?0:1,l?0:1)}_renderInsideEditor(y,L,I,k,E){this._lastRenderPosition=y;const T=this.textArea,O=this.textAreaCover;C.Configuration.applyFontInfo(T,this._fontInfo),T.setTop(L),T.setLeft(I),T.setWidth(k),T.setHeight(E),O.setTop(0),O.setLeft(0),O.setWidth(0),O.setHeight(0)}_renderAtTopLeft(){this._lastRenderPosition=null;const y=this.textArea,L=this.textAreaCover;if(C.Configuration.applyFontInfo(y,this._fontInfo),y.setTop(0),y.setLeft(0),L.setTop(0),L.setLeft(0),l){y.setWidth(0),y.setHeight(0),L.setWidth(0),L.setHeight(0);return}y.setWidth(1),y.setHeight(1),L.setWidth(1),L.setHeight(1);const I=this._context.configuration.options;I.get(44)?L.setClassName("monaco-editor-background textAreaCover "+o.Margin.OUTER_CLASS_NAME):I.get(54).renderType!==0?L.setClassName("monaco-editor-background textAreaCover "+c.LineNumbersOverlay.CLASS_NAME):L.setClassName("monaco-editor-background textAreaCover")}}e.TextAreaHandler=h;function m(v,y){const I=document.createElement("canvas").getContext("2d");I.font=_(y);const k=I.measureText(v);return N.isFirefox?k.width+2:k.width}function _(v){return f("normal",v.fontWeight,v.fontSize,v.lineHeight,v.fontFamily)}function f(v,y,L,I,k){return`${v} normal ${y} ${L}px / ${I}px ${k}`}}),define(Q[591],J([0,1,30,29,45,14,18,49]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DecorationsOverviewRuler=void 0;class d{constructor(c,o){const s=c.options;this.lineHeight=s.get(53),this.pixelRatio=s.get(122),this.overviewRulerLanes=s.get(68),this.renderBorder=s.get(67);const a=o.getColor(C.editorOverviewRulerBorder);this.borderColor=a?a.toString():null,this.hideCursor=s.get(46);const u=o.getColor(C.editorCursorForeground);this.cursorColor=u?u.transparent(.7).toString():null,this.themeType=o.type;const r=s.get(59),i=r.enabled,n=r.side,t=i?o.getColor(C.editorOverviewRulerBackground)||S.TokenizationRegistry.getDefaultBackground():null;t===null||n==="left"?this.backgroundColor=null:this.backgroundColor=N.Color.Format.CSS.formatHex(t);const h=s.get(124).overviewRuler;this.top=h.top,this.right=h.right,this.domWidth=h.width,this.domHeight=h.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);const[m,_]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=m,this.w=_}_initLanes(c,o,s){const a=o-c;if(s>=3){const u=Math.floor(a/3),r=Math.floor(a/3),i=a-u-r,n=c,t=n+u,l=n+u+i;return[[0,n,t,n,l,n,t,n],[0,u,i,u+i,r,u+i+r,i+r,u+i+r]]}else if(s===2){const u=Math.floor(a/2),r=a-u,i=c,n=i+u;return[[0,i,i,i,n,i,i,i],[0,u,u,u,r,u+r,u+r,u+r]]}else{const u=c,r=a;return[[0,u,u,u,u,u,u,u],[0,r,r,r,r,r,r,r]]}}equals(c){return this.lineHeight===c.lineHeight&&this.pixelRatio===c.pixelRatio&&this.overviewRulerLanes===c.overviewRulerLanes&&this.renderBorder===c.renderBorder&&this.borderColor===c.borderColor&&this.hideCursor===c.hideCursor&&this.cursorColor===c.cursorColor&&this.themeType===c.themeType&&this.backgroundColor===c.backgroundColor&&this.top===c.top&&this.right===c.right&&this.domWidth===c.domWidth&&this.domHeight===c.domHeight&&this.canvasWidth===c.canvasWidth&&this.canvasHeight===c.canvasHeight}}class g extends M.ViewPart{constructor(c){super(c);this._domNode=b.createFastDomNode(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=S.TokenizationRegistry.onDidChange(o=>{o.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(c){const o=new d(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(o)?!1:(this._settings=o,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,c&&this._render(),!0)}onConfigurationChanged(c){return this._updateSettings(!1)}onCursorStateChanged(c){this._cursorPositions=[];for(let o=0,s=c.selections.length;oo&&(x=o-t),D=x-t,R=x+t}D>E+1||A!==I?(T!==0&&l.fillRect(h[I],k,m[I],E-k),I=A,k=D,E=R):R>E&&(E=R)}l.fillRect(h[I],k,m[I],E-k)}if(!this._settings.hideCursor&&this._settings.cursorColor){const f=2*this._settings.pixelRatio|0,v=f/2|0,y=this._settings.x[7],L=this._settings.w[7];l.fillStyle=this._settings.cursorColor;let I=-100,k=-100;for(let E=0,T=this._cursorPositions.length;Eo&&(A=o-v);const B=A-v,F=B+f;B>k+1?(E!==0&&l.fillRect(y,I,L,k-I),I=B,k=F):F>k&&(k=F)}l.fillRect(y,I,L,k-I)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(l.beginPath(),l.lineWidth=1,l.strokeStyle=this._settings.borderColor,l.moveTo(0,0),l.lineTo(0,o),l.stroke(),l.moveTo(0,0),l.lineTo(c,0),l.stroke())}}e.DecorationsOverviewRuler=g}),define(Q[592],J([0,1,30,45,49,11,328]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Rulers=void 0;class S extends N.ViewPart{constructor(d){super(d);this.domNode=b.createFastDomNode(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const g=this._context.configuration.options;this._rulers=g.get(86),this._typicalHalfwidthCharacterWidth=g.get(38).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(d){const g=this._context.configuration.options;return this._rulers=g.get(86),this._typicalHalfwidthCharacterWidth=g.get(38).typicalHalfwidthCharacterWidth,!0}onScrollChanged(d){return d.scrollHeightChanged}prepareRender(d){}_ensureRulersCount(){const d=this._renderedRulers.length,g=this._rulers.length;if(d!==g){if(d0;){const a=b.createFastDomNode(document.createElement("div"));a.setClassName("view-ruler"),a.setWidth(o),this.domNode.appendChild(a),this._renderedRulers.push(a),s--}return}let p=d-g;for(;p>0;){const c=this._renderedRulers.pop();this.domNode.removeChild(c),p--}}}render(d){this._ensureRulersCount();for(let g=0,p=this._rulers.length;g{const g=C.getColor(M.editorRuler);g&&d.addRule(`.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${g} inset; }`)})}),define(Q[593],J([0,1,30,15,45,565,38,49,11,331]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewCursors=void 0;class g extends M.ViewPart{constructor(c){super(c);const o=this._context.configuration.options;this._readOnly=o.get(75),this._cursorBlinking=o.get(19),this._cursorStyle=o.get(21),this._cursorSmoothCaretAnimation=o.get(20),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new w.ViewCursor(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=b.createFastDomNode(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new N.TimeoutTimer,this._cursorFlatBlinkInterval=new N.IntervalTimer,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(c){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(c){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(c){const o=this._context.configuration.options;this._readOnly=o.get(75),this._cursorBlinking=o.get(19),this._cursorStyle=o.get(21),this._cursorSmoothCaretAnimation=o.get(20),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(c);for(let s=0,a=this._secondaryCursors.length;so.length){const s=this._secondaryCursors.length-o.length;for(let a=0;a{for(let a=0,u=c.ranges.length;a{this._isVisible?this._hide():this._show()},g.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},g.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let c="cursors-layer";switch(this._selectionIsEmpty||(c+=" has-selection"),this._cursorStyle){case S.TextEditorCursorStyle.Line:c+=" cursor-line-style";break;case S.TextEditorCursorStyle.Block:c+=" cursor-block-style";break;case S.TextEditorCursorStyle.Underline:c+=" cursor-underline-style";break;case S.TextEditorCursorStyle.LineThin:c+=" cursor-line-thin-style";break;case S.TextEditorCursorStyle.BlockOutline:c+=" cursor-block-outline-style";break;case S.TextEditorCursorStyle.UnderlineThin:c+=" cursor-underline-thin-style";break;default:c+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:c+=" cursor-blink";break;case 2:c+=" cursor-smooth";break;case 3:c+=" cursor-phase";break;case 4:c+=" cursor-expand";break;case 5:c+=" cursor-solid";break;default:c+=" cursor-solid"}else c+=" cursor-solid";return this._cursorSmoothCaretAnimation&&(c+=" cursor-smooth-caret-animation"),c}_show(){this._primaryCursor.show();for(let c=0,o=this._secondaryCursors.length;c{const o=p.getColor(C.editorCursorForeground);if(o){let s=p.getColor(C.editorCursorBackground);s||(s=o.opposite()),c.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${o}; border-color: ${o}; color: ${s}; }`),p.type==="hc"&&c.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${s}; border-right: 1px solid ${s}; }`)}})}),define(Q[594],J([0,1,85,2,53,11,49,36,3,43,6,22]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerDecorationsService=void 0;function o(u){return u.toString()}class s extends N.Disposable{constructor(r){super();this.model=r,this._markersData=new Map,this._register(N.toDisposable(()=>{this.model.deltaDecorations([...this._markersData.keys()],[]),this._markersData.clear()}))}update(r,i){const n=[...this._markersData.keys()];this._markersData.clear();const t=this.model.deltaDecorations(n,i);for(let l=0;lthis._onModelAdded(n)),this._register(r.onModelAdded(this._onModelAdded,this)),this._register(r.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(r=>r.dispose()),this._markerDecorations.clear()}getMarker(r,i){const n=this._markerDecorations.get(o(r));return n&&n.getMarker(i)||null}_handleMarkerChange(r){r.forEach(i=>{const n=this._markerDecorations.get(o(i));n&&this._updateDecorations(n)})}_onModelAdded(r){const i=new s(r);this._markerDecorations.set(o(r.uri),i),this._updateDecorations(i)}_onModelRemoved(r){const i=this._markerDecorations.get(o(r.uri));i&&(i.dispose(),this._markerDecorations.delete(o(r.uri))),(r.uri.scheme===g.Schemas.inMemory||r.uri.scheme===g.Schemas.internal||r.uri.scheme===g.Schemas.vscode)&&this._markerService&&this._markerService.read({resource:r.uri}).map(n=>n.owner).forEach(n=>this._markerService.remove(n,[r.uri]))}_updateDecorations(r){const i=this._markerService.read({resource:r.model.uri,take:500});let n=i.map(t=>({range:this._createDecorationRange(r.model,t),options:this._createDecorationOption(t)}));r.update(i,n)&&this._onDidChangeMarker.fire(r.model)}_createDecorationRange(r,i){let n=d.Range.lift(i);if(i.severity===b.MarkerSeverity.Hint&&!this._hasMarkerTag(i,1)&&!this._hasMarkerTag(i,2)&&(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=r.validateRange(n),n.isEmpty()){let t=r.getWordAtPosition(n.getStartPosition());if(t)n=new d.Range(n.startLineNumber,t.startColumn,n.endLineNumber,t.endColumn);else{let l=r.getLineLastNonWhitespaceColumn(n.startLineNumber)||r.getLineMaxColumn(n.startLineNumber);l===1||(n.endColumn>=l?n=new d.Range(n.startLineNumber,l-1,n.endLineNumber,l):n=new d.Range(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn+1))}}else if(i.endColumn===Number.MAX_VALUE&&i.startColumn===1&&n.startLineNumber===n.endLineNumber){let t=r.getLineFirstNonWhitespaceColumn(i.startLineNumber);t=0:!1}};a=Me([_e(0,C.IModelService),_e(1,b.IMarkerService)],a),e.MarkerDecorationsService=a}),define(Q[595],J([0,1,7,90,6,2,31,467,37,11,22,60,27,337]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LightBulbWidget=void 0;var s;(function(u){u.Hidden={type:0};class r{constructor(n,t,l,h){this.actions=n,this.trigger=t,this.editorPosition=l,this.widgetPosition=h,this.type=1}}u.Showing=r})(s||(s={}));let a=class At extends w.Disposable{constructor(r,i,n,t){super();this._editor=r,this._quickFixActionId=i,this._preferredFixActionId=n,this._keybindingService=t,this._onClick=this._register(new M.Emitter),this.onClick=this._onClick.event,this._state=s.Hidden,this._domNode=document.createElement("div"),this._domNode.className=o.Codicon.lightBulb.classNames,this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(l=>{const h=this._editor.getModel();(this.state.type!==1||!h||this.state.editorPosition.lineNumber>=h.getLineCount())&&this.hide()})),c.Gesture.ignoreTarget(this._domNode),this._register(b.addStandardDisposableGenericMouseDownListner(this._domNode,l=>{if(this.state.type===1){this._editor.focus(),l.preventDefault();const{top:h,height:m}=b.getDomNodePagePosition(this._domNode),_=this._editor.getOption(53);let f=Math.floor(_/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{if((l.buttons&1)==1){this.hide();const h=new N.GlobalMouseMoveMonitor;h.startMonitoring(l.target,l.buttons,N.standardMouseMoveMerger,()=>{},()=>{h.dispose()})}})),this._register(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(51)&&!this._editor.getOption(51).enabled&&this.hide()})),this._updateLightBulbTitleAndIcon(),this._register(this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitleAndIcon,this))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(r,i,n){if(r.validActions.length<=0)return this.hide();const t=this._editor.getOptions();if(!t.get(51).enabled)return this.hide();const l=this._editor.getModel();if(!l)return this.hide();const{lineNumber:h,column:m}=l.validatePosition(n),_=l.getOptions().tabSize,f=t.get(38),v=l.getLineContent(h),y=S.TextModel.computeIndentLevel(v,_),L=f.spaceWidth*y>22,I=E=>E>2&&this._editor.getTopForLineNumber(E)===this._editor.getTopForLineNumber(E-1);let k=h;if(!L){if(h>1&&!I(h-1))k-=1;else if(!I(h+1))k+=1;else if(m*f.spaceWidth<22)return this.hide()}this.state=new s.Showing(r,i,n,{position:{lineNumber:k,column:1},preference:At._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state=s.Hidden,this._editor.layoutContentWidget(this)}get state(){return this._state}set state(r){this._state=r,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this.state.type===1&&this.state.actions.hasAutoFix){this._domNode.classList.remove(...o.Codicon.lightBulb.classNamesArray),this._domNode.classList.add(...o.Codicon.lightbulbAutofix.classNamesArray);const i=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(i){this.title=C.localize(0,null,i.getLabel());return}}this._domNode.classList.remove(...o.Codicon.lightbulbAutofix.classNamesArray),this._domNode.classList.add(...o.Codicon.lightBulb.classNamesArray);const r=this._keybindingService.lookupKeybinding(this._quickFixActionId);r?this.title=C.localize(1,null,r.getLabel()):this.title=C.localize(2,null)}set title(r){this._domNode.title=r}};a._posPref=[0],a=Me([_e(3,d.IKeybindingService)],a),e.LightBulbWidget=a,g.registerThemingParticipant((u,r)=>{var i;const n=(i=u.getColor(p.editorBackground))===null||i===void 0?void 0:i.transparent(.7),t=u.getColor(p.editorLightBulbForeground);t&&r.addRule(` + .monaco-editor .contentWidgets ${o.Codicon.lightBulb.cssSelector} { + color: ${t}; + background-color: ${n}; + }`);const l=u.getColor(p.editorLightBulbAutoFixForeground);l&&r.addRule(` + .monaco-editor .contentWidgets ${o.Codicon.lightbulbAutofix.cssSelector} { + color: ${l}; + background-color: ${n}; + }`)})}),define(Q[596],J([0,1,7,3,31,49,22,11,103,338]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensWidget=e.CodeLensHelper=void 0;class g{constructor(a,u,r){this.afterLineNumber=a,this.heightInPx=u,this._onHeight=r,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(a){this._lastHeight===void 0?this._lastHeight=a:this._lastHeight!==a&&(this._lastHeight=a,this._onHeight())}}class p{constructor(a,u,r){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=a,this._id=`codelens.widget-${p._idPool++}`,this.updatePosition(r),this._domNode=document.createElement("span"),this._domNode.className=`codelens-decoration ${u}`}withCommands(a,u){this._commands.clear();let r=[],i=!1;for(let n=0;n{_.symbol.command&&m.push(_.symbol),i.addDecoration({range:_.symbol.range,options:M.ModelDecorationOptions.EMPTY},v=>this._decorationIds[f]=v),h?h=N.Range.plusRange(h,_.symbol.range):h=N.Range.lift(_.symbol.range)}),this._viewZone=new g(h.startLineNumber-1,t,l),this._viewZoneId=n.addZone(this._viewZone),m.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(m,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new p(this._editor,this._className,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(a,u){this._decorationIds.forEach(a.removeDecoration,a),this._decorationIds=[],u&&u.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((a,u)=>{const r=this._editor.getModel().getDecorationRange(a),i=this._data[u].symbol;return!!(r&&N.Range.isEmpty(i.range)===r.isEmpty())})}updateCodeLensSymbols(a,u){this._decorationIds.forEach(u.removeDecoration,u),this._decorationIds=[],this._data=a,this._data.forEach((r,i)=>{u.addDecoration({range:r.symbol.range,options:M.ModelDecorationOptions.EMPTY},n=>this._decorationIds[i]=n)})}updateHeight(a,u){this._viewZone.heightInPx=a,u.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(a){if(!this._viewZone.domNode.hasAttribute("monaco-visible-view-zone"))return null;for(let u=0;u{const u=s.getColor(w.editorCodeLensForeground);u&&(a.addRule(`.monaco-editor .codelens-decoration { color: ${u}; }`),a.addRule(`.monaco-editor .codelens-decoration .codicon { color: ${u}; }`));const r=s.getColor(S.editorActiveLinkForeground);r&&(a.addRule(`.monaco-editor .codelens-decoration > a:hover { color: ${r} !important; }`),a.addRule(`.monaco-editor .codelens-decoration > a:hover .codicon { color: ${r} !important; }`))})}),define(Q[597],J([0,1,35,7,90,52,29,6,2,22,11,339]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPickerWidget=e.ColorPickerBody=e.ColorPickerHeader=void 0;const c=N.$;class o extends d.Disposable{constructor(l,h,m){super();this.model=h,this.domNode=c(".colorpicker-header"),N.append(l,this.domNode),this.pickedColorNode=N.append(this.domNode,c(".picked-color"));const _=N.append(this.domNode,c(".original-color"));_.style.backgroundColor=S.Color.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=m.getColorTheme().getColor(g.editorHoverBackground)||S.Color.white,this._register(p.registerThemingParticipant((f,v)=>{this.backgroundColor=f.getColor(g.editorHoverBackground)||S.Color.white})),this._register(N.addDisposableListener(this.pickedColorNode,N.EventType.CLICK,()=>this.model.selectNextColorPresentation())),this._register(N.addDisposableListener(_,N.EventType.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(h.onDidChangeColor(this.onDidChangeColor,this)),this._register(h.onDidChangePresentation(this.onDidChangePresentation,this)),this.pickedColorNode.style.backgroundColor=S.Color.Format.CSS.format(h.color)||"",this.pickedColorNode.classList.toggle("light",h.color.rgba.a<.5?this.backgroundColor.isLighter():h.color.isLighter())}onDidChangeColor(l){this.pickedColorNode.style.backgroundColor=S.Color.Format.CSS.format(l)||"",this.pickedColorNode.classList.toggle("light",l.rgba.a<.5?this.backgroundColor.isLighter():l.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:""}}e.ColorPickerHeader=o;class s extends d.Disposable{constructor(l,h,m){super();this.model=h,this.pixelRatio=m,this.domNode=c(".colorpicker-body"),N.append(l,this.domNode),this.saturationBox=new a(this.domNode,this.model,this.pixelRatio),this._register(this.saturationBox),this._register(this.saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this.saturationBox.onColorFlushed(this.flushColor,this)),this.opacityStrip=new r(this.domNode,this.model),this._register(this.opacityStrip),this._register(this.opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this.opacityStrip.onColorFlushed(this.flushColor,this)),this.hueStrip=new i(this.domNode,this.model),this._register(this.hueStrip),this._register(this.hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this.hueStrip.onColorFlushed(this.flushColor,this))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:l,v:h}){const m=this.model.color.hsva;this.model.color=new S.Color(new S.HSVA(m.h,l,h,m.a))}onDidOpacityChange(l){const h=this.model.color.hsva;this.model.color=new S.Color(new S.HSVA(h.h,h.s,h.v,l))}onDidHueChange(l){const h=this.model.color.hsva,m=(1-l)*360;this.model.color=new S.Color(new S.HSVA(m===360?0:m,h.s,h.v,h.a))}layout(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()}}e.ColorPickerBody=s;class a extends d.Disposable{constructor(l,h,m){super();this.model=h,this.pixelRatio=m,this._onDidChange=new C.Emitter,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new C.Emitter,this.onColorFlushed=this._onColorFlushed.event,this.domNode=c(".saturation-wrap"),N.append(l,this.domNode),this.canvas=document.createElement("canvas"),this.canvas.className="saturation-box",N.append(this.domNode,this.canvas),this.selection=c(".saturation-selection"),N.append(this.domNode,this.selection),this.layout(),this._register(N.addDisposableGenericMouseDownListner(this.domNode,_=>this.onMouseDown(_))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}onMouseDown(l){this.monitor=this._register(new M.GlobalMouseMoveMonitor);const h=N.getDomNodePagePosition(this.domNode);l.target!==this.selection&&this.onDidChangePosition(l.offsetX,l.offsetY),this.monitor.startMonitoring(l.target,l.buttons,M.standardMouseMoveMerger,_=>this.onDidChangePosition(_.posx-h.left,_.posy-h.top),()=>null);const m=N.addDisposableGenericMouseUpListner(document,()=>{this._onColorFlushed.fire(),m.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(l,h){const m=Math.max(0,Math.min(1,l/this.width)),_=Math.max(0,Math.min(1,1-h/this.height));this.paintSelection(m,_),this._onDidChange.fire({s:m,v:_})}layout(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();const l=this.model.color.hsva;this.paintSelection(l.s,l.v)}paint(){const l=this.model.color.hsva,h=new S.Color(new S.HSVA(l.h,1,1,1)),m=this.canvas.getContext("2d"),_=m.createLinearGradient(0,0,this.canvas.width,0);_.addColorStop(0,"rgba(255, 255, 255, 1)"),_.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),_.addColorStop(1,"rgba(255, 255, 255, 0)");const f=m.createLinearGradient(0,0,0,this.canvas.height);f.addColorStop(0,"rgba(0, 0, 0, 0)"),f.addColorStop(1,"rgba(0, 0, 0, 1)"),m.rect(0,0,this.canvas.width,this.canvas.height),m.fillStyle=S.Color.Format.CSS.format(h),m.fill(),m.fillStyle=_,m.fill(),m.fillStyle=f,m.fill()}paintSelection(l,h){this.selection.style.left=`${l*this.width}px`,this.selection.style.top=`${this.height-h*this.height}px`}onDidChangeColor(){this.monitor&&this.monitor.isMonitoring()||this.paint()}}class u extends d.Disposable{constructor(l,h){super();this.model=h,this._onDidChange=new C.Emitter,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new C.Emitter,this.onColorFlushed=this._onColorFlushed.event,this.domNode=N.append(l,c(".strip")),this.overlay=N.append(this.domNode,c(".overlay")),this.slider=N.append(this.domNode,c(".slider")),this.slider.style.top="0px",this._register(N.addDisposableGenericMouseDownListner(this.domNode,m=>this.onMouseDown(m))),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const l=this.getValue(this.model.color);this.updateSliderPosition(l)}onMouseDown(l){const h=this._register(new M.GlobalMouseMoveMonitor),m=N.getDomNodePagePosition(this.domNode);this.domNode.classList.add("grabbing"),l.target!==this.slider&&this.onDidChangeTop(l.offsetY),h.startMonitoring(l.target,l.buttons,M.standardMouseMoveMerger,f=>this.onDidChangeTop(f.posy-m.top),()=>null);const _=N.addDisposableGenericMouseUpListner(document,()=>{this._onColorFlushed.fire(),_.dispose(),h.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(l){const h=Math.max(0,Math.min(1,1-l/this.height));this.updateSliderPosition(h),this._onDidChange.fire(h)}updateSliderPosition(l){this.slider.style.top=`${(1-l)*this.height}px`}}class r extends u{constructor(l,h){super(l,h);this.domNode.classList.add("opacity-strip"),this._register(h.onDidChangeColor(this.onDidChangeColor,this)),this.onDidChangeColor(this.model.color)}onDidChangeColor(l){const{r:h,g:m,b:_}=l.rgba,f=new S.Color(new S.RGBA(h,m,_,1)),v=new S.Color(new S.RGBA(h,m,_,0));this.overlay.style.background=`linear-gradient(to bottom, ${f} 0%, ${v} 100%)`}getValue(l){return l.hsva.a}}class i extends u{constructor(l,h){super(l,h);this.domNode.classList.add("hue-strip")}getValue(l){return 1-l.hsva.h/360}}class n extends w.Widget{constructor(l,h,m,_){super();this.model=h,this.pixelRatio=m,this._register(b.onDidChangeZoomLevel(()=>this.layout()));const f=c(".colorpicker-widget");l.appendChild(f);const v=new o(f,this.model,_);this.body=new s(f,this.model,this.pixelRatio),this._register(v),this._register(this.body)}layout(){this.body.layout()}}e.ColorPickerWidget=n}),define(Q[598],J([0,1,3,53,31,22,11]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindDecorations=void 0;class C{constructor(g){this._editor=g,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.deltaDecorations(this._allDecorations(),[]),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const g=this._findScopeDecorationIds.map(p=>this._editor.getModel().getDecorationRange(p)).filter(p=>!!p);if(g.length)return g}return null}getStartPosition(){return this._startPosition}setStartPosition(g){this._startPosition=g,this.setCurrentFindMatch(null)}_getDecorationIndex(g){const p=this._decorations.indexOf(g);return p>=0?p+1:1}getCurrentMatchesPosition(g){let p=this._editor.getModel().getDecorationsInRange(g);for(const c of p){const o=c.options;if(o===C._FIND_MATCH_DECORATION||o===C._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(c.id)}return 0}setCurrentFindMatch(g){let p=null,c=0;if(g)for(let o=0,s=this._decorations.length;o{if(this._highlightedDecorationId!==null&&(o.changeDecorationOptions(this._highlightedDecorationId,C._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),p!==null&&(this._highlightedDecorationId=p,o.changeDecorationOptions(this._highlightedDecorationId,C._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(o.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),p!==null){let s=this._editor.getModel().getDecorationRange(p);if(s.startLineNumber!==s.endLineNumber&&s.endColumn===1){let a=s.endLineNumber-1,u=this._editor.getModel().getLineMaxColumn(a);s=new b.Range(s.startLineNumber,s.startColumn,a,u)}this._rangeHighlightDecorationId=o.addDecoration(s,C._RANGE_HIGHLIGHT_DECORATION)}}),c}set(g,p){this._editor.changeDecorations(c=>{let o=C._FIND_MATCH_DECORATION,s=[];if(g.length>1e3){o=C._FIND_MATCH_NO_OVERVIEW_DECORATION;const u=this._editor.getModel().getLineCount(),i=this._editor.getLayoutInfo().height/u,n=Math.max(2,Math.ceil(3/i));let t=g[0].range.startLineNumber,l=g[0].range.endLineNumber;for(let h=1,m=g.length;h=_.startLineNumber?_.endLineNumber>l&&(l=_.endLineNumber):(s.push({range:new b.Range(t,1,l,1),options:C._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),t=_.startLineNumber,l=_.endLineNumber)}s.push({range:new b.Range(t,1,l,1),options:C._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let a=new Array(g.length);for(let u=0,r=g.length;uc.removeDecoration(u)),this._findScopeDecorationIds=[]),(p==null?void 0:p.length)&&(this._findScopeDecorationIds=p.map(u=>c.addDecoration(u,C._FIND_SCOPE_DECORATION)))})}matchBeforePosition(g){if(this._decorations.length===0)return null;for(let p=this._decorations.length-1;p>=0;p--){let c=this._decorations[p],o=this._editor.getModel().getDecorationRange(c);if(!(!o||o.endLineNumber>g.lineNumber)){if(o.endLineNumberg.column))return o}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(g){if(this._decorations.length===0)return null;for(let p=0,c=this._decorations.length;pg.lineNumber)return s;if(!(s.startColumnthis.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(t=>{(t.reason===3||t.reason===5||t.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(t=>{this._ignoreModelContentChanged||(t.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(t=>this._onStateChanged(t))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,N.dispose(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(i){this._isDisposed||!this._editor.hasModel()||(i.searchString||i.isReplaceRevealed||i.isRegex||i.wholeWord||i.matchCase||i.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{i.searchScope?this.research(i.moveCursor,this._state.searchScope):this.research(i.moveCursor)},a)):i.searchScope?this.research(i.moveCursor,this._state.searchScope):this.research(i.moveCursor))}static _getSearchRange(i,n){return n||i.getFullModelRange()}research(i,n){let t=null;typeof n!="undefined"?n!==null&&(Array.isArray(n)?t=n:t=[n]):t=this._decorations.getFindScopes(),t!==null&&(t=t.map(_=>{if(_.startLineNumber!==_.endLineNumber){let f=_.endLineNumber;return _.endColumn===1&&(f=f-1),new S.Range(_.startLineNumber,1,f,this._editor.getModel().getLineMaxColumn(f))}return _}));let l=this._findMatches(t,!1,e.MATCHES_LIMIT);this._decorations.set(l,t);const h=this._editor.getSelection();let m=this._decorations.getCurrentMatchesPosition(h);if(m===0&&l.length>0){const _=s.findFirstInSorted(l.map(f=>f.range),f=>S.Range.compareRangesUsingStarts(f,h)>=0);m=_>0?_-1+1:m}this._state.changeMatchInfo(m,this._decorations.getCount(),void 0),i&&this._editor.getOption(31).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let i=this._decorations.getFindScope();return i&&this._editor.revealRangeInCenterIfOutsideViewport(i,0),!0}return!1}_setCurrentFindMatch(i){let n=this._decorations.setCurrentFindMatch(i);this._state.changeMatchInfo(n,this._decorations.getCount(),i),this._editor.setSelection(i),this._editor.revealRangeInCenterIfOutsideViewport(i,0)}_prevSearchPosition(i){let n=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:t,column:l}=i,h=this._editor.getModel();return n||l===1?(t===1?t=h.getLineCount():t--,l=h.getLineMaxColumn(t)):l--,new w.Position(t,l)}_moveToPrevMatch(i,n=!1){if(!this._state.canNavigateBack()){const y=this._decorations.matchAfterPosition(i);y&&this._setCurrentFindMatch(y);return}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0),{lineNumber:t,column:l}=i,h=this._editor.getModel();return n||l===h.getLineMaxColumn(t)?(t===h.getLineCount()?t=1:t++,l=1):l++,new w.Position(t,l)}_moveToNextMatch(i){if(!this._state.canNavigateForward()){const t=this._decorations.matchBeforePosition(i);t&&this._setCurrentFindMatch(t);return}if(this._decorations.getCount()u._getSearchRange(this._editor.getModel(),h));return this._editor.getModel().findMatches(this._state.searchString,l,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(110):null,n,t)}replaceAll(){if(!!this._hasMatches()){const i=this._decorations.getFindScopes();i===null&&this._state.matchesCount>=e.MATCHES_LIMIT?this._largeReplaceAll():this._regularReplaceAll(i),this.research(!1)}}_largeReplaceAll(){const n=new d.SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(110):null).parseSearchRequest();if(!!n){let t=n.regex;if(!t.multiline){let L="mu";t.ignoreCase&&(L+="i"),t.global&&(L+="g"),t=new RegExp(t.source,L)}const l=this._editor.getModel(),h=l.getValue(1),m=l.getFullModelRange(),_=this._getReplacePattern();let f;const v=this._state.preserveCase;_.hasReplacementPatterns||v?f=h.replace(t,function(){return _.buildReplaceString(arguments,v)}):f=h.replace(t,_.buildReplaceString(null,v));let y=new M.ReplaceCommandThatPreservesSelection(m,f,this._editor.getSelection());this._executeEditorCommand("replaceAll",y)}}_regularReplaceAll(i){const n=this._getReplacePattern();let t=this._findMatches(i,n.hasReplacementPatterns||this._state.preserveCase,1073741824),l=[];for(let m=0,_=t.length;m<_;m++)l[m]=n.buildReplaceString(t[m].matches,this._state.preserveCase);let h=new p.ReplaceAllCommand(this._editor.getSelection(),t.map(m=>m.range),l);this._executeEditorCommand("replaceAll",h)}selectAllMatches(){if(!!this._hasMatches()){let i=this._decorations.getFindScopes(),t=this._findMatches(i,!1,1073741824).map(h=>new C.Selection(h.range.startLineNumber,h.range.startColumn,h.range.endLineNumber,h.range.endColumn)),l=this._editor.getSelection();for(let h=0,m=t.length;hthis._hide(),2e3)),this._isVisible=!1,this._editor=c,this._state=o,this._keybindingService=s,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const u=a.getColorTheme().getColor(C.inputActiveOptionBorder),r=a.getColorTheme().getColor(C.inputActiveOptionForeground),i=a.getColorTheme().getColor(C.inputActiveOptionBackground);this.caseSensitive=this._register(new N.CaseSensitiveCheckbox({appendTitle:this._keybindingLabelFor(S.FIND_IDS.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,inputActiveOptionBorder:u,inputActiveOptionForeground:r,inputActiveOptionBackground:i})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new N.WholeWordsCheckbox({appendTitle:this._keybindingLabelFor(S.FIND_IDS.ToggleWholeWordCommand),isChecked:this._state.wholeWord,inputActiveOptionBorder:u,inputActiveOptionForeground:r,inputActiveOptionBackground:i})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new N.RegexCheckbox({appendTitle:this._keybindingLabelFor(S.FIND_IDS.ToggleRegexCommand),isChecked:this._state.isRegex,inputActiveOptionBorder:u,inputActiveOptionForeground:r,inputActiveOptionBackground:i})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(n=>{let t=!1;n.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),n.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),n.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()})),this._register(b.addDisposableNonBubblingMouseOutListener(this._domNode,n=>this._onMouseOut())),this._register(b.addDisposableListener(this._domNode,"mouseover",n=>this._onMouseOver())),this._applyTheme(a.getColorTheme()),this._register(a.onDidColorThemeChange(this._applyTheme.bind(this)))}_keybindingLabelFor(c){let o=this._keybindingService.lookupKeybinding(c);return o?` (${o.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return g.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseOut(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){!this._isVisible||(this._isVisible=!1,this._domNode.style.display="none")}_applyTheme(c){let o={inputActiveOptionBorder:c.getColor(C.inputActiveOptionBorder),inputActiveOptionForeground:c.getColor(C.inputActiveOptionForeground),inputActiveOptionBackground:c.getColor(C.inputActiveOptionBackground)};this.caseSensitive.style(o),this.wholeWords.style(o),this.regex.style(o)}}e.FindOptionsWidget=g,g.ID="editor.contrib.findOptionsWidget",d.registerThemingParticipant((p,c)=>{const o=p.getColor(C.editorWidgetBackground);o&&c.addRule(`.monaco-editor .findOptionsWidget { background-color: ${o}; }`);const s=p.getColor(C.editorWidgetForeground);s&&c.addRule(`.monaco-editor .findOptionsWidget { color: ${s}; }`);const a=p.getColor(C.widgetShadow);a&&c.addRule(`.monaco-editor .findOptionsWidget { box-shadow: 0 0 8px 2px ${a}; }`);const u=p.getColor(C.contrastBorder);u&&c.addRule(`.monaco-editor .findOptionsWidget { border: 2px solid ${u}; }`)})}),define(Q[600],J([0,1,6,2,3,142]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindReplaceState=void 0;function S(d,g){return d===1?!0:d===2?!1:g}class C extends N.Disposable{constructor(){super();this._onFindReplaceStateChange=this._register(new b.Emitter),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0}get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return S(this._isRegexOverride,this._isRegex)}get wholeWord(){return S(this._wholeWordOverride,this._wholeWord)}get matchCase(){return S(this._matchCaseOverride,this._matchCase)}get preserveCase(){return S(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}changeMatchInfo(g,p,c){let o={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1},s=!1;p===0&&(g=0),g>p&&(g=p),this._matchesPosition!==g&&(this._matchesPosition=g,o.matchesPosition=!0,s=!0),this._matchesCount!==p&&(this._matchesCount=p,o.matchesCount=!0,s=!0),typeof c!="undefined"&&(M.Range.equalsRange(this._currentMatch,c)||(this._currentMatch=c,o.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(o)}change(g,p,c=!0){var o;let s={moveCursor:p,updateHistory:c,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1},a=!1;const u=this.isRegex,r=this.wholeWord,i=this.matchCase,n=this.preserveCase;typeof g.searchString!="undefined"&&this._searchString!==g.searchString&&(this._searchString=g.searchString,s.searchString=!0,a=!0),typeof g.replaceString!="undefined"&&this._replaceString!==g.replaceString&&(this._replaceString=g.replaceString,s.replaceString=!0,a=!0),typeof g.isRevealed!="undefined"&&this._isRevealed!==g.isRevealed&&(this._isRevealed=g.isRevealed,s.isRevealed=!0,a=!0),typeof g.isReplaceRevealed!="undefined"&&this._isReplaceRevealed!==g.isReplaceRevealed&&(this._isReplaceRevealed=g.isReplaceRevealed,s.isReplaceRevealed=!0,a=!0),typeof g.isRegex!="undefined"&&(this._isRegex=g.isRegex),typeof g.wholeWord!="undefined"&&(this._wholeWord=g.wholeWord),typeof g.matchCase!="undefined"&&(this._matchCase=g.matchCase),typeof g.preserveCase!="undefined"&&(this._preserveCase=g.preserveCase),typeof g.searchScope!="undefined"&&(((o=g.searchScope)===null||o===void 0?void 0:o.every(t=>{var l;return(l=this._searchScope)===null||l===void 0?void 0:l.some(h=>!M.Range.equalsRange(h,t))}))||(this._searchScope=g.searchScope,s.searchScope=!0,a=!0)),typeof g.loop!="undefined"&&this._loop!==g.loop&&(this._loop=g.loop,s.loop=!0,a=!0),this._isRegexOverride=typeof g.isRegexOverride!="undefined"?g.isRegexOverride:0,this._wholeWordOverride=typeof g.wholeWordOverride!="undefined"?g.wholeWordOverride:0,this._matchCaseOverride=typeof g.matchCaseOverride!="undefined"?g.matchCaseOverride:0,this._preserveCaseOverride=typeof g.preserveCaseOverride!="undefined"?g.preserveCaseOverride:0,u!==this.isRegex&&(a=!0,s.isRegex=!0),r!==this.wholeWord&&(a=!0,s.wholeWord=!0),i!==this.matchCase&&(a=!0,s.matchCase=!0),n!==this.preserveCase&&(a=!0,s.preserveCase=!0),a&&this._onFindReplaceStateChange.fire(s)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=w.MATCHES_LIMIT}}e.FindReplaceState=C}),define(Q[601],J([0,1,132,67,175,205,115,11,116,7,484,159,44,2,9,37,66,157]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibilityProvider=e.OneReferenceRenderer=e.FileReferencesRenderer=e.IdentityProvider=e.StringRepresentationProvider=e.Delegate=e.DataSource=void 0;let n=class{constructor(I){this._resolverService=I}hasChildren(I){return I instanceof b.ReferencesModel||I instanceof b.FileReferences}getChildren(I){if(I instanceof b.ReferencesModel)return I.groups;if(I instanceof b.FileReferences)return I.resolve(this._resolverService).then(k=>k.children);throw new Error("bad tree")}};n=Me([_e(0,N.ITextModelService)],n),e.DataSource=n;class t{getHeight(){return 23}getTemplateId(I){return I instanceof b.FileReferences?_.id:v.id}}e.Delegate=t;let l=class{constructor(I){this._keybindingService=I}getKeyboardNavigationLabel(I){var k;if(I instanceof b.OneReference){const E=(k=I.parent.getPreview(I))===null||k===void 0?void 0:k.preview(I.range);if(E)return E.value}return o.basename(I.uri)}};l=Me([_e(0,u.IKeybindingService)],l),e.StringRepresentationProvider=l;class h{getId(I){return I instanceof b.OneReference?I.id:I.uri}}e.IdentityProvider=h;let m=class extends s.Disposable{constructor(I,k,E){super();this._uriLabel=k;const T=document.createElement("div");T.classList.add("reference-file"),this.file=this._register(new M.IconLabel(T,{supportHighlights:!0})),this.badge=new w.CountBadge(g.append(T,g.$(".count"))),this._register(d.attachBadgeStyler(this.badge,E)),I.appendChild(T)}set(I,k){let E=o.dirname(I.uri);this.file.setLabel(c.getBaseLabel(I.uri),this._uriLabel.getUriLabel(E,{relative:!0}),{title:this._uriLabel.getUriLabel(I.uri),matches:k});const T=I.children.length;this.badge.setCount(T),T>1?this.badge.setTitleFormat(p.localize(0,null,T)):this.badge.setTitleFormat(p.localize(1,null,T))}};m=Me([_e(1,S.ILabelService),_e(2,C.IThemeService)],m);let _=class Ot{constructor(I){this._instantiationService=I,this.templateId=Ot.id}renderTemplate(I){return this._instantiationService.createInstance(m,I)}renderElement(I,k,E){E.set(I.element,r.createMatches(I.filterData))}disposeTemplate(I){I.dispose()}};_.id="FileReferencesRenderer",_=Me([_e(0,a.IInstantiationService)],_),e.FileReferencesRenderer=_;class f{constructor(I){this.label=new i.HighlightedLabel(I,!1)}set(I,k){var E;const T=(E=I.parent.getPreview(I))===null||E===void 0?void 0:E.preview(I.range);if(!T||!T.value)this.label.set(`${o.basename(I.uri)}:${I.range.startLineNumber+1}:${I.range.startColumn+1}`);else{const{value:O,highlight:A}=T;k&&!r.FuzzyScore.isDefault(k)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(O,r.createMatches(k))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(O,[A]))}}}class v{constructor(){this.templateId=v.id}renderTemplate(I){return new f(I)}renderElement(I,k,E){E.set(I.element,I.filterData)}disposeTemplate(){}}e.OneReferenceRenderer=v,v.id="OneReferenceRenderer";class y{getWidgetAriaLabel(){return p.localize(2,null)}getAriaLabel(I){return I.ariaMessage}}e.AccessibilityProvider=y}),define(Q[258],J([0,1,53,11,49,2,108,20,88]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEditorNavigationQuickAccessProvider=void 0;class g{constructor(c){this.options=c,this.rangeHighlightDecorationId=void 0}provide(c,o){var s;const a=new w.DisposableStore;c.canAcceptInBackground=!!((s=this.options)===null||s===void 0?void 0:s.canAcceptInBackground),c.matchOnLabel=c.matchOnDescription=c.matchOnDetail=c.sortByLabel=!1;const u=a.add(new w.MutableDisposable);return u.value=this.doProvide(c,o),a.add(this.onDidActiveTextEditorControlChange(()=>{u.value=void 0,u.value=this.doProvide(c,o)})),a}doProvide(c,o){const s=new w.DisposableStore,a=this.activeTextEditorControl;if(a&&this.canProvideWithTextEditor(a)){const u={editor:a},r=S.getCodeEditor(a);if(r){let i=C.withNullAsUndefined(a.saveViewState());s.add(r.onDidChangeCursorPosition(()=>{i=C.withNullAsUndefined(a.saveViewState())})),u.restoreViewState=()=>{i&&a===this.activeTextEditorControl&&a.restoreViewState(i)},s.add(d.once(o.onCancellationRequested)(()=>{var n;return(n=u.restoreViewState)===null||n===void 0?void 0:n.call(u)}))}s.add(w.toDisposable(()=>this.clearDecorations(a))),s.add(this.provideWithTextEditor(u,c,o))}else s.add(this.provideWithoutTextEditor(c,o));return s}canProvideWithTextEditor(c){return!0}gotoLocation({editor:c},o){c.setSelection(o.range),c.revealRangeInCenter(o.range,0),o.preserveFocus||c.focus()}getModel(c){var o;return S.isDiffEditor(c)?(o=c.getModel())===null||o===void 0?void 0:o.modified:c.getModel()}addDecorations(c,o){c.changeDecorations(s=>{const a=[];this.rangeHighlightDecorationId&&(a.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),a.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const u=[{range:o,options:{className:"rangeHighlight",isWholeLine:!0}},{range:o,options:{overviewRuler:{color:N.themeColorFromId(M.overviewRulerRangeHighlight),position:b.OverviewRulerLane.Full}}}],[r,i]=s.deltaDecorations(a,u);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:i}})}clearDecorations(c){const o=this.rangeHighlightDecorationId;o&&(c.changeDecorations(s=>{s.deltaDecorations([o.overviewRulerDecorationId,o.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}e.AbstractEditorNavigationQuickAccessProvider=g}),define(Q[602],J([0,1,501,2,258,108]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractGotoLineQuickAccessProvider=void 0;class S extends M.AbstractEditorNavigationQuickAccessProvider{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(d){const g=b.localize(0,null);return d.items=[{label:g}],d.ariaLabel=g,N.Disposable.None}provideWithTextEditor(d,g,p){const c=d.editor,o=new N.DisposableStore;o.add(g.onDidAccept(u=>{const[r]=g.selectedItems;if(r){if(!this.isValidLineNumber(c,r.lineNumber))return;this.gotoLocation(d,{range:this.toRange(r.lineNumber,r.column),keyMods:g.keyMods,preserveFocus:u.inBackground}),u.inBackground||g.hide()}}));const s=()=>{const u=this.parsePosition(c,g.value.trim().substr(S.PREFIX.length)),r=this.getPickLabel(c,u.lineNumber,u.column);if(g.items=[{lineNumber:u.lineNumber,column:u.column,label:r}],g.ariaLabel=r,!this.isValidLineNumber(c,u.lineNumber)){this.clearDecorations(c);return}const i=this.toRange(u.lineNumber,u.column);c.revealRangeInCenter(i,0),this.addDecorations(c,i)};s(),o.add(g.onDidChangeValue(()=>s()));const a=w.getCodeEditor(c);return a&&a.getOptions().get(54).renderType===2&&(a.updateOptions({lineNumbers:"on"}),o.add(N.toDisposable(()=>a.updateOptions({lineNumbers:"relative"})))),o}toRange(d=1,g=1){return{startLineNumber:d,startColumn:g,endLineNumber:d,endColumn:g}}parsePosition(d,g){const p=g.split(/,|:|#/).map(o=>parseInt(o,10)).filter(o=>!isNaN(o)),c=this.lineCount(d)+1;return{lineNumber:p[0]>0?p[0]:c+p[0],column:p[1]}}getPickLabel(d,g,p){if(this.isValidLineNumber(d,g))return this.isValidColumn(d,g,p)?b.localize(1,null,g,p):b.localize(2,null,g);const c=d.getPosition()||{lineNumber:1,column:1},o=this.lineCount(d);return o>1?b.localize(3,null,c.lineNumber,c.column,o):b.localize(4,null,c.lineNumber,c.column)}isValidLineNumber(d,g){return!g||typeof g!="number"?!1:g>0&&g<=this.lineCount(d)}isValidColumn(d,g,p){if(!p||typeof p!="number")return!1;const c=this.getModel(d);if(!c)return!1;const o={lineNumber:g,column:p};return c.validatePosition(o).equals(o)}lineCount(d){var g,p;return(p=(g=this.getModel(d))===null||g===void 0?void 0:g.getLineCount())!==null&&p!==void 0?p:0}}e.AbstractGotoLineQuickAccessProvider=S,S.PREFIX=":"}),define(Q[603],J([0,1,502,23,2,3,258,18,245,8,286,27]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractGotoSymbolQuickAccessProvider=void 0;class o extends S.AbstractEditorNavigationQuickAccessProvider{constructor(r=Object.create(null)){super(r);this.options=r,r.canAcceptInBackground=!0}provideWithoutTextEditor(r){return this.provideLabelPick(r,b.localize(0,null)),M.Disposable.None}provideWithTextEditor(r,i,n){const t=r.editor,l=this.getModel(t);return l?C.DocumentSymbolProviderRegistry.has(l)?this.doProvideWithEditorSymbols(r,l,i,n):this.doProvideWithoutEditorSymbols(r,l,i,n):M.Disposable.None}doProvideWithoutEditorSymbols(r,i,n,t){const l=new M.DisposableStore;return this.provideLabelPick(n,b.localize(1,null)),(()=>Ie(this,void 0,void 0,function*(){!(yield this.waitForLanguageSymbolRegistry(i,l))||t.isCancellationRequested||l.add(this.doProvideWithEditorSymbols(r,i,n,t))}))(),l}provideLabelPick(r,i){r.items=[{label:i,index:0,kind:14}],r.ariaLabel=i}waitForLanguageSymbolRegistry(r,i){return Ie(this,void 0,void 0,function*(){if(C.DocumentSymbolProviderRegistry.has(r))return!0;let n;const t=new Promise(h=>n=h),l=i.add(C.DocumentSymbolProviderRegistry.onDidChange(()=>{C.DocumentSymbolProviderRegistry.has(r)&&(l.dispose(),n(!0))}));return i.add(M.toDisposable(()=>n(!1))),t})}doProvideWithEditorSymbols(r,i,n,t){const l=r.editor,h=new M.DisposableStore;h.add(n.onDidAccept(y=>{const[L]=n.selectedItems;L&&L.range&&(this.gotoLocation(r,{range:L.range.selection,keyMods:n.keyMods,preserveFocus:y.inBackground}),y.inBackground||n.hide())})),h.add(n.onDidTriggerItemButton(({item:y})=>{y&&y.range&&(this.gotoLocation(r,{range:y.range.selection,keyMods:n.keyMods,forceSideBySide:!0}),n.hide())}));const m=this.getDocumentSymbols(i,t);let _;const f=()=>Ie(this,void 0,void 0,function*(){_==null||_.dispose(!0),n.busy=!1,_=new N.CancellationTokenSource(t),n.busy=!0;try{const y=p.prepareQuery(n.value.substr(o.PREFIX.length).trim()),L=yield this.doGetSymbolPicks(m,y,void 0,_.token);if(t.isCancellationRequested)return;L.length>0?n.items=L:y.original.length>0?this.provideLabelPick(n,b.localize(2,null)):this.provideLabelPick(n,b.localize(3,null))}finally{t.isCancellationRequested||(n.busy=!1)}});h.add(n.onDidChangeValue(()=>f())),f();let v=!0;return h.add(n.onDidChangeActive(()=>{const[y]=n.activeItems;if(y&&y.range){if(v){v=!1;return}l.revealRangeInCenter(y.range.selection,0),this.addDecorations(l,y.range.decoration)}})),h}doGetSymbolPicks(r,i,n,t){return Ie(this,void 0,void 0,function*(){const l=yield r;if(t.isCancellationRequested)return[];const h=i.original.indexOf(o.SCOPE_PREFIX)===0,m=h?1:0;let _,f;i.values&&i.values.length>1?(_=p.pieceToQuery(i.values[0]),f=p.pieceToQuery(i.values.slice(1))):_=i;const v=[];for(let k=0;km){let K=!1;if(_!==i&&([F,D]=p.scoreFuzzy2(O,Object.assign(Object.assign({},i),{values:void 0}),m,A),typeof F=="number"&&(K=!0)),typeof F!="number"&&([F,D]=p.scoreFuzzy2(O,_,m,A),typeof F!="number"))continue;if(!K&&f){if(B&&f.original.length>0&&([R,W]=p.scoreFuzzy2(B,f)),typeof R!="number")continue;typeof F=="number"&&(F+=R)}}const x=E.tags&&E.tags.indexOf(1)>=0;v.push({index:k,kind:E.kind,score:F,label:O,ariaLabel:T,description:B,highlights:x?void 0:{label:D,description:W},range:{selection:w.Range.collapseToStart(E.selectionRange),decoration:E.range},strikethrough:x,buttons:(()=>{var K,Y;const ee=((K=this.options)===null||K===void 0?void 0:K.openSideBySideDirection)?(Y=this.options)===null||Y===void 0?void 0:Y.openSideBySideDirection():void 0;if(!!ee)return[{iconClass:ee==="right"?c.Codicon.splitHorizontal.classNames:c.Codicon.splitVertical.classNames,tooltip:ee==="right"?b.localize(4,null):b.localize(5,null)}]})()})}const y=v.sort((k,E)=>h?this.compareByKindAndScore(k,E):this.compareByScore(k,E));let L=[];if(h){let k,E,T=0;function I(){E&&typeof k=="number"&&T>0&&(E.label=g.format(a[k]||s,T))}for(const O of y)k!==O.kind?(I(),k=O.kind,T=1,E={type:"separator"},L.push(E)):T++,L.push(O);I()}else y.length>0&&(L=[{label:b.localize(6,null,v.length),type:"separator"},...y]);return L})}compareByScore(r,i){if(typeof r.score!="number"&&typeof i.score=="number")return 1;if(typeof r.score=="number"&&typeof i.score!="number")return-1;if(typeof r.score=="number"&&typeof i.score=="number"){if(r.score>i.score)return-1;if(r.scorei.index?1:0}compareByKindAndScore(r,i){const n=a[r.kind]||s,t=a[i.kind]||s,l=n.localeCompare(t);return l===0?this.compareByScore(r,i):l}getDocumentSymbols(r,i){return Ie(this,void 0,void 0,function*(){const n=yield d.OutlineModel.create(r,i);return i.isCancellationRequested?[]:n.asListOfDocumentSymbols()})}}e.AbstractGotoSymbolQuickAccessProvider=o,o.PREFIX="@",o.SCOPE_PREFIX=":",o.PREFIX_BY_CATEGORY=`${o.PREFIX}${o.SCOPE_PREFIX}`;const s=b.localize(7,null),a={[5]:b.localize(8,null),[11]:b.localize(9,null),[8]:b.localize(10,null),[12]:b.localize(11,null),[4]:b.localize(12,null),[22]:b.localize(13,null),[23]:b.localize(14,null),[24]:b.localize(15,null),[10]:b.localize(16,null),[2]:b.localize(17,null),[3]:b.localize(18,null),[25]:b.localize(19,null),[1]:b.localize(20,null),[6]:b.localize(21,null),[9]:b.localize(22,null),[21]:b.localize(23,null),[14]:b.localize(24,null),[0]:b.localize(25,null),[17]:b.localize(26,null),[15]:b.localize(27,null),[16]:b.localize(28,null),[18]:b.localize(29,null),[19]:b.localize(30,null),[7]:b.localize(31,null),[13]:b.localize(32,null)}}),define(Q[604],J([0,1,2,14,504,16,22,11,37,350]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RenameInputField=e.CONTEXT_RENAME_INPUT_VISIBLE=void 0,e.CONTEXT_RENAME_INPUT_VISIBLE=new w.RawContextKey("renameInputVisible",!1);let g=class{constructor(c,o,s,a,u){this._editor=c,this._acceptKeybindings=o,this._themeService=s,this._keybindingService=a,this._disposables=new b.DisposableStore,this.allowEditorOverflow=!0,this._visibleContextKey=e.CONTEXT_RENAME_INPUT_VISIBLE.bindTo(u),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(38)&&this._updateFont()})),this._disposables.add(s.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){if(!this._domNode){this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",M.localize(0,null)),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label);const c=()=>{var o,s;const[a,u]=this._acceptKeybindings;this._keybindingService.lookupKeybinding(a),this._label.innerText=M.localize(1,null,(o=this._keybindingService.lookupKeybinding(a))===null||o===void 0?void 0:o.getLabel(),(s=this._keybindingService.lookupKeybinding(u))===null||s===void 0?void 0:s.getLabel())};c(),this._disposables.add(this._keybindingService.onDidUpdateKeybindings(c)),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())}return this._domNode}_updateStyles(c){var o,s,a,u;if(!(!this._input||!this._domNode)){const r=c.getColor(S.widgetShadow);this._domNode.style.backgroundColor=String((o=c.getColor(S.editorWidgetBackground))!==null&&o!==void 0?o:""),this._domNode.style.boxShadow=r?` 0 0 8px 2px ${r}`:"",this._domNode.style.color=String((s=c.getColor(S.inputForeground))!==null&&s!==void 0?s:""),this._input.style.backgroundColor=String((a=c.getColor(S.inputBackground))!==null&&a!==void 0?a:"");const i=c.getColor(S.inputBorder);this._input.style.borderWidth=i?"1px":"0px",this._input.style.borderStyle=i?"solid":"none",this._input.style.borderColor=(u=i==null?void 0:i.toString())!==null&&u!==void 0?u:"none"}}_updateFont(){if(!(!this._input||!this._label)){const c=this._editor.getOption(38);this._input.style.fontFamily=c.fontFamily,this._input.style.fontWeight=c.fontWeight,this._input.style.fontSize=`${c.fontSize}px`,this._label.style.fontSize=`${c.fontSize*.8}px`}}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}afterRender(c){c||this.cancelInput(!0)}acceptInput(c){this._currentAcceptInput&&this._currentAcceptInput(c)}cancelInput(c){this._currentCancelInput&&this._currentCancelInput(c)}getInput(c,o,s,a,u,r){this._domNode.classList.toggle("preview",u),this._position=new N.Position(c.startLineNumber,c.startColumn),this._input.value=o,this._input.setAttribute("selectionStart",s.toString()),this._input.setAttribute("selectionEnd",a.toString()),this._input.size=Math.max((c.endColumn-c.startColumn)*1.1,20);const i=new b.DisposableStore;return new Promise(n=>{this._currentCancelInput=t=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,n(t),!0),this._currentAcceptInput=t=>{if(this._input.value.trim().length===0||this._input.value===o){this.cancelInput(!0);return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,n({newName:this._input.value,wantsPreview:u&&t})},r.onCancellationRequested(()=>this.cancelInput(!0)),i.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!1))),this._show()}).finally(()=>{i.dispose(),this._hide()})}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))},100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};g=Me([_e(2,C.IThemeService),_e(3,d.IKeybindingService),_e(4,w.IContextKeyService)],g),e.RenameInputField=g}),define(Q[259],J([0,1,512,11,22,27]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SYMBOL_ICON_VARIABLE_FOREGROUND=e.SYMBOL_ICON_UNIT_FOREGROUND=e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=e.SYMBOL_ICON_TEXT_FOREGROUND=e.SYMBOL_ICON_STRUCT_FOREGROUND=e.SYMBOL_ICON_STRING_FOREGROUND=e.SYMBOL_ICON_SNIPPET_FOREGROUND=e.SYMBOL_ICON_REFERENCE_FOREGROUND=e.SYMBOL_ICON_PROPERTY_FOREGROUND=e.SYMBOL_ICON_PACKAGE_FOREGROUND=e.SYMBOL_ICON_OPERATOR_FOREGROUND=e.SYMBOL_ICON_OBJECT_FOREGROUND=e.SYMBOL_ICON_NUMBER_FOREGROUND=e.SYMBOL_ICON_NULL_FOREGROUND=e.SYMBOL_ICON_NAMESPACE_FOREGROUND=e.SYMBOL_ICON_MODULE_FOREGROUND=e.SYMBOL_ICON_METHOD_FOREGROUND=e.SYMBOL_ICON_KEYWORD_FOREGROUND=e.SYMBOL_ICON_KEY_FOREGROUND=e.SYMBOL_ICON_INTERFACE_FOREGROUND=e.SYMBOL_ICON_FUNCTION_FOREGROUND=e.SYMBOL_ICON_FOLDER_FOREGROUND=e.SYMBOL_ICON_FILE_FOREGROUND=e.SYMBOL_ICON_FIELD_FOREGROUND=e.SYMBOL_ICON_EVENT_FOREGROUND=e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=e.SYMBOL_ICON_ENUMERATOR_FOREGROUND=e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=e.SYMBOL_ICON_CONSTANT_FOREGROUND=e.SYMBOL_ICON_COLOR_FOREGROUND=e.SYMBOL_ICON_CLASS_FOREGROUND=e.SYMBOL_ICON_BOOLEAN_FOREGROUND=e.SYMBOL_ICON_ARRAY_FOREGROUND=void 0,e.SYMBOL_ICON_ARRAY_FOREGROUND=M.registerColor("symbolIcon.arrayForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(0,null)),e.SYMBOL_ICON_BOOLEAN_FOREGROUND=M.registerColor("symbolIcon.booleanForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(1,null)),e.SYMBOL_ICON_CLASS_FOREGROUND=M.registerColor("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},b.localize(2,null)),e.SYMBOL_ICON_COLOR_FOREGROUND=M.registerColor("symbolIcon.colorForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(3,null)),e.SYMBOL_ICON_CONSTANT_FOREGROUND=M.registerColor("symbolIcon.constantForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(4,null)),e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=M.registerColor("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},b.localize(5,null)),e.SYMBOL_ICON_ENUMERATOR_FOREGROUND=M.registerColor("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},b.localize(6,null)),e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=M.registerColor("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},b.localize(7,null)),e.SYMBOL_ICON_EVENT_FOREGROUND=M.registerColor("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},b.localize(8,null)),e.SYMBOL_ICON_FIELD_FOREGROUND=M.registerColor("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},b.localize(9,null)),e.SYMBOL_ICON_FILE_FOREGROUND=M.registerColor("symbolIcon.fileForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(10,null)),e.SYMBOL_ICON_FOLDER_FOREGROUND=M.registerColor("symbolIcon.folderForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(11,null)),e.SYMBOL_ICON_FUNCTION_FOREGROUND=M.registerColor("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},b.localize(12,null)),e.SYMBOL_ICON_INTERFACE_FOREGROUND=M.registerColor("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},b.localize(13,null)),e.SYMBOL_ICON_KEY_FOREGROUND=M.registerColor("symbolIcon.keyForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(14,null)),e.SYMBOL_ICON_KEYWORD_FOREGROUND=M.registerColor("symbolIcon.keywordForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(15,null)),e.SYMBOL_ICON_METHOD_FOREGROUND=M.registerColor("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},b.localize(16,null)),e.SYMBOL_ICON_MODULE_FOREGROUND=M.registerColor("symbolIcon.moduleForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(17,null)),e.SYMBOL_ICON_NAMESPACE_FOREGROUND=M.registerColor("symbolIcon.namespaceForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(18,null)),e.SYMBOL_ICON_NULL_FOREGROUND=M.registerColor("symbolIcon.nullForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(19,null)),e.SYMBOL_ICON_NUMBER_FOREGROUND=M.registerColor("symbolIcon.numberForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(20,null)),e.SYMBOL_ICON_OBJECT_FOREGROUND=M.registerColor("symbolIcon.objectForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(21,null)),e.SYMBOL_ICON_OPERATOR_FOREGROUND=M.registerColor("symbolIcon.operatorForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(22,null)),e.SYMBOL_ICON_PACKAGE_FOREGROUND=M.registerColor("symbolIcon.packageForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(23,null)),e.SYMBOL_ICON_PROPERTY_FOREGROUND=M.registerColor("symbolIcon.propertyForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(24,null)),e.SYMBOL_ICON_REFERENCE_FOREGROUND=M.registerColor("symbolIcon.referenceForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(25,null)),e.SYMBOL_ICON_SNIPPET_FOREGROUND=M.registerColor("symbolIcon.snippetForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(26,null)),e.SYMBOL_ICON_STRING_FOREGROUND=M.registerColor("symbolIcon.stringForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(27,null)),e.SYMBOL_ICON_STRUCT_FOREGROUND=M.registerColor("symbolIcon.structForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(28,null)),e.SYMBOL_ICON_TEXT_FOREGROUND=M.registerColor("symbolIcon.textForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(29,null)),e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=M.registerColor("symbolIcon.typeParameterForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(30,null)),e.SYMBOL_ICON_UNIT_FOREGROUND=M.registerColor("symbolIcon.unitForeground",{dark:M.foreground,light:M.foreground,hc:M.foreground},b.localize(31,null)),e.SYMBOL_ICON_VARIABLE_FOREGROUND=M.registerColor("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},b.localize(32,null)),N.registerThemingParticipant((S,C)=>{const d=S.getColor(e.SYMBOL_ICON_ARRAY_FOREGROUND);d&&C.addRule(`${w.Codicon.symbolArray.cssSelector} { color: ${d}; }`);const g=S.getColor(e.SYMBOL_ICON_BOOLEAN_FOREGROUND);g&&C.addRule(`${w.Codicon.symbolBoolean.cssSelector} { color: ${g}; }`);const p=S.getColor(e.SYMBOL_ICON_CLASS_FOREGROUND);p&&C.addRule(`${w.Codicon.symbolClass.cssSelector} { color: ${p}; }`);const c=S.getColor(e.SYMBOL_ICON_METHOD_FOREGROUND);c&&C.addRule(`${w.Codicon.symbolMethod.cssSelector} { color: ${c}; }`);const o=S.getColor(e.SYMBOL_ICON_COLOR_FOREGROUND);o&&C.addRule(`${w.Codicon.symbolColor.cssSelector} { color: ${o}; }`);const s=S.getColor(e.SYMBOL_ICON_CONSTANT_FOREGROUND);s&&C.addRule(`${w.Codicon.symbolConstant.cssSelector} { color: ${s}; }`);const a=S.getColor(e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND);a&&C.addRule(`${w.Codicon.symbolConstructor.cssSelector} { color: ${a}; }`);const u=S.getColor(e.SYMBOL_ICON_ENUMERATOR_FOREGROUND);u&&C.addRule(` + ${w.Codicon.symbolValue.cssSelector},${w.Codicon.symbolEnum.cssSelector} { color: ${u}; }`);const r=S.getColor(e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND);r&&C.addRule(`${w.Codicon.symbolEnumMember.cssSelector} { color: ${r}; }`);const i=S.getColor(e.SYMBOL_ICON_EVENT_FOREGROUND);i&&C.addRule(`${w.Codicon.symbolEvent.cssSelector} { color: ${i}; }`);const n=S.getColor(e.SYMBOL_ICON_FIELD_FOREGROUND);n&&C.addRule(`${w.Codicon.symbolField.cssSelector} { color: ${n}; }`);const t=S.getColor(e.SYMBOL_ICON_FILE_FOREGROUND);t&&C.addRule(`${w.Codicon.symbolFile.cssSelector} { color: ${t}; }`);const l=S.getColor(e.SYMBOL_ICON_FOLDER_FOREGROUND);l&&C.addRule(`${w.Codicon.symbolFolder.cssSelector} { color: ${l}; }`);const h=S.getColor(e.SYMBOL_ICON_FUNCTION_FOREGROUND);h&&C.addRule(`${w.Codicon.symbolFunction.cssSelector} { color: ${h}; }`);const m=S.getColor(e.SYMBOL_ICON_INTERFACE_FOREGROUND);m&&C.addRule(`${w.Codicon.symbolInterface.cssSelector} { color: ${m}; }`);const _=S.getColor(e.SYMBOL_ICON_KEY_FOREGROUND);_&&C.addRule(`${w.Codicon.symbolKey.cssSelector} { color: ${_}; }`);const f=S.getColor(e.SYMBOL_ICON_KEYWORD_FOREGROUND);f&&C.addRule(`${w.Codicon.symbolKeyword.cssSelector} { color: ${f}; }`);const v=S.getColor(e.SYMBOL_ICON_MODULE_FOREGROUND);v&&C.addRule(`${w.Codicon.symbolModule.cssSelector} { color: ${v}; }`);const y=S.getColor(e.SYMBOL_ICON_NAMESPACE_FOREGROUND);y&&C.addRule(`${w.Codicon.symbolNamespace.cssSelector} { color: ${y}; }`);const L=S.getColor(e.SYMBOL_ICON_NULL_FOREGROUND);L&&C.addRule(`${w.Codicon.symbolNull.cssSelector} { color: ${L}; }`);const I=S.getColor(e.SYMBOL_ICON_NUMBER_FOREGROUND);I&&C.addRule(`${w.Codicon.symbolNumber.cssSelector} { color: ${I}; }`);const k=S.getColor(e.SYMBOL_ICON_OBJECT_FOREGROUND);k&&C.addRule(`${w.Codicon.symbolObject.cssSelector} { color: ${k}; }`);const E=S.getColor(e.SYMBOL_ICON_OPERATOR_FOREGROUND);E&&C.addRule(`${w.Codicon.symbolOperator.cssSelector} { color: ${E}; }`);const T=S.getColor(e.SYMBOL_ICON_PACKAGE_FOREGROUND);T&&C.addRule(`${w.Codicon.symbolPackage.cssSelector} { color: ${T}; }`);const O=S.getColor(e.SYMBOL_ICON_PROPERTY_FOREGROUND);O&&C.addRule(`${w.Codicon.symbolProperty.cssSelector} { color: ${O}; }`);const A=S.getColor(e.SYMBOL_ICON_REFERENCE_FOREGROUND);A&&C.addRule(`${w.Codicon.symbolReference.cssSelector} { color: ${A}; }`);const B=S.getColor(e.SYMBOL_ICON_SNIPPET_FOREGROUND);B&&C.addRule(`${w.Codicon.symbolSnippet.cssSelector} { color: ${B}; }`);const F=S.getColor(e.SYMBOL_ICON_STRING_FOREGROUND);F&&C.addRule(`${w.Codicon.symbolString.cssSelector} { color: ${F}; }`);const D=S.getColor(e.SYMBOL_ICON_STRUCT_FOREGROUND);D&&C.addRule(`${w.Codicon.symbolStruct.cssSelector} { color: ${D}; }`);const R=S.getColor(e.SYMBOL_ICON_TEXT_FOREGROUND);R&&C.addRule(`${w.Codicon.symbolText.cssSelector} { color: ${R}; }`);const W=S.getColor(e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND);W&&C.addRule(`${w.Codicon.symbolTypeParameter.cssSelector} { color: ${W}; }`);const x=S.getColor(e.SYMBOL_ICON_UNIT_FOREGROUND);x&&C.addRule(`${w.Codicon.symbolUnit.cssSelector} { color: ${x}; }`);const K=S.getColor(e.SYMBOL_ICON_VARIABLE_FOREGROUND);K&&C.addRule(`${w.Codicon.symbolVariable.cssSelector} { color: ${K}; }`)})}),define(Q[605],J([0,1,7,43,583,16,11]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneCodeEditorServiceImpl=void 0;let C=class extends M.CodeEditorServiceImpl{constructor(g,p,c){super(g,c);this.onCodeEditorAdd(()=>this._checkContextKey()),this.onCodeEditorRemove(()=>this._checkContextKey()),this._editorIsOpen=p.createKey("editorIsOpen",!1)}_checkContextKey(){let g=!1;for(const p of this.listCodeEditors())if(!p.isSimpleWidget){g=!0;break}this._editorIsOpen.set(g)}getActiveCodeEditor(){return null}openCodeEditor(g,p,c){return p?Promise.resolve(this.doOpenEditor(p,g)):Promise.resolve(null)}doOpenEditor(g,p){if(!this.findModel(g,p.resource)){if(p.resource){const s=p.resource.scheme;if(s===N.Schemas.http||s===N.Schemas.https)return b.windowOpenNoOpener(p.resource.toString()),g}return null}const o=p.options?p.options.selection:null;if(o)if(typeof o.endLineNumber=="number"&&typeof o.endColumn=="number")g.setSelection(o),g.revealRangeInCenter(o,1);else{const s={lineNumber:o.startLineNumber,column:o.startColumn};g.setPosition(s),g.revealPositionInCenter(s,1)}return g}findModel(g,p){const c=g.getModel();return c&&c.uri.toString()!==p.toString()?null:c}};C=Me([_e(1,w.IContextKeyService),_e(2,S.IThemeService)],C),e.StandaloneCodeEditorServiceImpl=C}),define(Q[606],J([0,1,49,22]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hc_black=e.vs_dark=e.vs=void 0,e.vs={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[N.editorBackground]:"#FFFFFE",[N.editorForeground]:"#000000",[N.editorInactiveSelection]:"#E5EBF1",[b.editorIndentGuides]:"#D3D3D3",[b.editorActiveIndentGuides]:"#939393",[N.editorSelectionHighlight]:"#ADD6FF4D"}},e.vs_dark={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[N.editorBackground]:"#1E1E1E",[N.editorForeground]:"#D4D4D4",[N.editorInactiveSelection]:"#3A3D41",[b.editorIndentGuides]:"#404040",[b.editorActiveIndentGuides]:"#707070",[N.editorSelectionHighlight]:"#ADD6FF26"}},e.hc_black={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[N.editorBackground]:"#000000",[N.editorForeground]:"#FFFFFF",[b.editorIndentGuides]:"#FFFFFF",[b.editorActiveIndentGuides]:"#FFFFFF"}}}),define(Q[34],J([0,1,48,9,16,26,2,6,11,54,71,27]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MenuItemAction=e.SubmenuItemAction=e.MenuRegistry=e.IMenuService=e.MenuId=e.isIMenuItem=void 0;function o(r){return r.command!==void 0}e.isIMenuItem=o;class s{constructor(i){this.id=s._idPool++,this._debugName=i}}e.MenuId=s,s._idPool=0,s.CommandPalette=new s("CommandPalette"),s.EditorContext=new s("EditorContext"),s.EditorContextPeek=new s("EditorContextPeek"),s.MenubarEditMenu=new s("MenubarEditMenu"),s.MenubarGoMenu=new s("MenubarGoMenu"),s.MenubarSelectionMenu=new s("MenubarSelectionMenu"),e.IMenuService=N.createDecorator("menuService"),e.MenuRegistry=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new C.Emitter,this.onDidChangeMenu=this._onDidChangeMenu.event,this._commandPaletteChangeEvent={has:r=>r===s.CommandPalette}}addCommand(r){return this.addCommands(g.Iterable.single(r))}addCommands(r){for(const i of r)this._commands.set(i.id,i);return this._onDidChangeMenu.fire(this._commandPaletteChangeEvent),S.toDisposable(()=>{let i=!1;for(const n of r)i=this._commands.delete(n.id)||i;i&&this._onDidChangeMenu.fire(this._commandPaletteChangeEvent)})}getCommand(r){return this._commands.get(r)}getCommands(){const r=new Map;return this._commands.forEach((i,n)=>r.set(n,i)),r}appendMenuItem(r,i){return this.appendMenuItems(g.Iterable.single({id:r,item:i}))}appendMenuItems(r){const i=new Set,n=new p.LinkedList;for(const{id:t,item:l}of r){let h=this._menuItems.get(t);h||(h=new p.LinkedList,this._menuItems.set(t,h)),n.push(h.push(l)),i.add(t)}return this._onDidChangeMenu.fire(i),S.toDisposable(()=>{if(n.size>0){for(let t of n)t();this._onDidChangeMenu.fire(i),n.clear()}})}getMenuItems(r){let i;return this._menuItems.has(r)?i=[...this._menuItems.get(r)]:i=[],r===s.CommandPalette&&this._appendImplicitItems(i),i}_appendImplicitItems(r){const i=new Set;for(const n of r)o(n)&&(i.add(n.command.id),n.alt&&i.add(n.alt.id));this._commands.forEach((n,t)=>{i.has(t)||r.push({command:n})})}};class a extends b.SubmenuAction{constructor(i,n,t,l){super(`submenuitem.${i.submenu.id}`,typeof i.title=="string"?i.title:i.title.value,[],"submenu");this.item=i,this._menuService=n,this._contextKeyService=t,this._options=l}get actions(){const i=[],n=this._menuService.createMenu(this.item.submenu,this._contextKeyService),t=n.getActions(this._options);n.dispose();for(const[,l]of t)l.length>0&&(i.push(...l),i.push(new b.Separator));return i.length&&i.pop(),i}}e.SubmenuItemAction=a;let u=class Pt{constructor(i,n,t,l,h){var m;if(this._commandService=h,this.id=i.id,this.label=typeof i.title=="string"?i.title:i.title.value,this.tooltip=(m=i.tooltip)!==null&&m!==void 0?m:"",this.enabled=!i.precondition||l.contextMatchesRules(i.precondition),this.checked=!1,i.toggled){const _=i.toggled.condition?i.toggled:{condition:i.toggled};this.checked=l.contextMatchesRules(_.condition),this.checked&&_.tooltip&&(this.tooltip=typeof _.tooltip=="string"?_.tooltip:_.tooltip.value)}this.item=i,this.alt=n?new Pt(n,void 0,t,l,h):void 0,this._options=t,d.ThemeIcon.isThemeIcon(i.icon)&&(this.class=c.CSSIcon.asClassName(i.icon))}dispose(){}run(...i){var n,t;let l=[];return((n=this._options)===null||n===void 0?void 0:n.arg)&&(l=[...l,this._options.arg]),((t=this._options)===null||t===void 0?void 0:t.shouldForwardArgs)&&(l=[...l,...i]),this._commandService.executeCommand(this.id,...l)}};u=Me([_e(3,M.IContextKeyService),_e(4,w.ICommandService)],u),e.MenuItemAction=u}),define(Q[13],J([0,1,447,24,28,14,36,67,34,26,16,86,33,87,20]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectAllCommand=e.RedoCommand=e.UndoCommand=e.EditorExtensionsRegistry=e.registerEditorContribution=e.registerInstantiatedEditorAction=e.registerMultiEditorAction=e.registerEditorAction=e.registerEditorCommand=e.registerModelCommand=e.registerModelAndPositionCommand=e.MultiEditorAction=e.EditorAction=e.EditorCommand=e.ProxyCommand=e.MultiCommand=e.Command=void 0;class u{constructor(A){this.id=A.id,this.precondition=A.precondition,this._kbOpts=A.kbOpts,this._menuOpts=A.menuOpts,this._description=A.description}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){let A=this._kbOpts.kbExpr;this.precondition&&(A?A=p.ContextKeyExpr.and(A,this.precondition):A=this.precondition),c.KeybindingsRegistry.registerCommandAndKeybindingRule({id:this.id,handler:(B,F)=>this.runCommand(B,F),weight:this._kbOpts.weight,args:this._kbOpts.args,when:A,primary:this._kbOpts.primary,secondary:this._kbOpts.secondary,win:this._kbOpts.win,linux:this._kbOpts.linux,mac:this._kbOpts.mac,description:this._description})}else g.CommandsRegistry.registerCommand({id:this.id,handler:(A,B)=>this.runCommand(A,B),description:this._description})}_registerMenuItem(A){d.MenuRegistry.appendMenuItem(A.menuId,{group:A.group,command:{id:this.id,title:A.title,icon:A.icon,precondition:this.precondition},when:A.when,order:A.order})}}e.Command=u;class r extends u{constructor(){super(...arguments);this._implementations=[]}addImplementation(A,B){return this._implementations.push([A,B]),this._implementations.sort((F,D)=>D[0]-F[0]),{dispose:()=>{for(let F=0;F{if(!!R.get(p.IContextKeyService).contextMatchesRules(a.withNullAsUndefined(this.precondition)))return this.runEditorCommand(R,D,B)})}}e.EditorCommand=n;class t extends n{constructor(A){super(t.convertOptions(A));this.label=A.label,this.alias=A.alias}static convertOptions(A){let B;Array.isArray(A.menuOpts)?B=A.menuOpts:A.menuOpts?B=[A.menuOpts]:B=[];function F(D){return D.menuId||(D.menuId=d.MenuId.EditorContext),D.title||(D.title=A.label),D.when=p.ContextKeyExpr.and(A.precondition,D.when),D}return Array.isArray(A.contextMenuOpts)?B.push(...A.contextMenuOpts.map(F)):A.contextMenuOpts&&B.push(F(A.contextMenuOpts)),A.menuOpts=B,A}runEditorCommand(A,B,F){return this.reportTelemetry(A,B),this.run(A,B,F||{})}reportTelemetry(A,B){A.get(s.ITelemetryService).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}e.EditorAction=t;class l extends t{constructor(){super(...arguments);this._implementations=[]}addImplementation(A,B){return this._implementations.push([A,B]),this._implementations.sort((F,D)=>D[0]-F[0]),{dispose:()=>{for(let F=0;Fnew Promise((K,Y)=>{try{const ee=A(x.object.textEditorModel,w.Position.lift(R),F.slice(2));K(ee)}catch(ee){Y(ee)}}).finally(()=>{x.dispose()}))})}e.registerModelAndPositionCommand=h;function m(O,A){g.CommandsRegistry.registerCommand(O,function(B,...F){const[D]=F;a.assertType(N.URI.isUri(D));const R=B.get(S.IModelService).getModel(D);return R?A(R,...F.slice(1)):B.get(C.ITextModelService).createModelReference(D).then(W=>new Promise((x,K)=>{try{const Y=A(W.object.textEditorModel,F.slice(1));x(Y)}catch(Y){K(Y)}}).finally(()=>{W.dispose()}))})}e.registerModelCommand=m;function _(O){return E.INSTANCE.registerEditorCommand(O),O}e.registerEditorCommand=_;function f(O){const A=new O;return E.INSTANCE.registerEditorAction(A),A}e.registerEditorAction=f;function v(O){return E.INSTANCE.registerEditorAction(O),O}e.registerMultiEditorAction=v;function y(O){E.INSTANCE.registerEditorAction(O)}e.registerInstantiatedEditorAction=y;function L(O,A){E.INSTANCE.registerEditorContribution(O,A)}e.registerEditorContribution=L;var I;(function(O){function A(W){return E.INSTANCE.getEditorCommand(W)}O.getEditorCommand=A;function B(){return E.INSTANCE.getEditorActions()}O.getEditorActions=B;function F(){return E.INSTANCE.getEditorContributions()}O.getEditorContributions=F;function D(W){return E.INSTANCE.getEditorContributions().filter(x=>W.indexOf(x.id)>=0)}O.getSomeEditorContributions=D;function R(){return E.INSTANCE.getDiffEditorContributions()}O.getDiffEditorContributions=R})(I=e.EditorExtensionsRegistry||(e.EditorExtensionsRegistry={}));const k={EditorCommonContributions:"editor.contributions"};class E{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(A,B){this.editorContributions.push({id:A,ctor:B})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(A){A.register(),this.editorActions.push(A)}getEditorActions(){return this.editorActions.slice(0)}registerEditorCommand(A){A.register(),this.editorCommands[A.id]=A}getEditorCommand(A){return this.editorCommands[A]||null}}E.INSTANCE=new E,o.Registry.add(k.EditorCommonContributions,E.INSTANCE);function T(O){return O.register(),O}e.UndoCommand=T(new r({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2048|56},menuOpts:[{menuId:d.MenuId.MenubarEditMenu,group:"1_do",title:b.localize(0,null),order:1},{menuId:d.MenuId.CommandPalette,group:"",title:b.localize(1,null),order:1}]})),T(new i(e.UndoCommand,{id:"default:undo",precondition:void 0})),e.RedoCommand=T(new r({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2048|55,secondary:[2048|1024|56],mac:{primary:2048|1024|56}},menuOpts:[{menuId:d.MenuId.MenubarEditMenu,group:"1_do",title:b.localize(2,null),order:2},{menuId:d.MenuId.CommandPalette,group:"",title:b.localize(3,null),order:1}]})),T(new i(e.RedoCommand,{id:"default:redo",precondition:void 0})),e.SelectAllCommand=T(new r({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2048|31},menuOpts:[{menuId:d.MenuId.MenubarSelectionMenu,group:"1_basic",title:b.localize(4,null),order:1},{menuId:d.MenuId.CommandPalette,group:"",title:b.localize(5,null),order:1}]}))}),define(Q[188],J([0,1,444,35,20,13,28,536,42,181,241,182,14,3,25,16,86]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CoreEditingCommands=e.CoreNavigationCommands=e.RevealLine_=e.EditorScroll_=e.CoreEditorCommand=void 0;const i=0;class n extends w.EditorCommand{runEditorCommand(E,T,O){const A=T._getViewModel();!A||this.runCoreEditorCommand(A,O||{})}}e.CoreEditorCommand=n;var t;(function(k){const E=function(O){if(!M.isObject(O))return!1;const A=O;return!(!M.isString(A.to)||!M.isUndefined(A.by)&&!M.isString(A.by)||!M.isUndefined(A.value)&&!M.isNumber(A.value)||!M.isUndefined(A.revealCursor)&&!M.isBoolean(A.revealCursor))};k.description={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:"Property-value pairs that can be passed through this argument:\n * 'to': A mandatory direction value.\n ```\n 'up', 'down'\n ```\n * 'by': Unit to move. Default is computed based on 'to' value.\n ```\n 'line', 'wrappedLine', 'page', 'halfPage'\n ```\n * 'value': Number of units to move. Default is '1'.\n * 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n ",constraint:E,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["up","down"]},by:{type:"string",enum:["line","wrappedLine","page","halfPage"]},value:{type:"number",default:1},revealCursor:{type:"boolean"}}}}]},k.RawDirection={Up:"up",Down:"down"},k.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage"};function T(O){let A;switch(O.to){case k.RawDirection.Up:A=1;break;case k.RawDirection.Down:A=2;break;default:return null}let B;switch(O.by){case k.RawUnit.Line:B=1;break;case k.RawUnit.WrappedLine:B=2;break;case k.RawUnit.Page:B=3;break;case k.RawUnit.HalfPage:B=4;break;default:B=2}const F=Math.floor(O.value||1),D=!!O.revealCursor;return{direction:A,unit:B,value:F,revealCursor:D,select:!!O.select}}k.parse=T})(t=e.EditorScroll_||(e.EditorScroll_={}));var l;(function(k){const E=function(T){if(!M.isObject(T))return!1;const O=T;return!(!M.isNumber(O.lineNumber)&&!M.isString(O.lineNumber)||!M.isUndefined(O.at)&&!M.isString(O.at))};k.description={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n * 'lineNumber': A mandatory line number value.\n * 'at': Logical position at which line has to be revealed.\n ```\n 'top', 'center', 'bottom'\n ```\n ",constraint:E,schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]},k.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}})(l=e.RevealLine_||(e.RevealLine_={}));class h{constructor(E){E.addImplementation(1e4,(T,O)=>{const A=T.get(S.ICodeEditorService).getFocusedCodeEditor();return A&&A.hasTextFocus()?this._runEditorCommand(T,A,O):!1}),E.addImplementation(1e3,(T,O)=>{const A=document.activeElement;return A&&["input","textarea"].indexOf(A.tagName.toLowerCase())>=0?(this.runDOMCommand(),!0):!1}),E.addImplementation(0,(T,O)=>{const A=T.get(S.ICodeEditorService).getActiveCodeEditor();return A?(A.focus(),this._runEditorCommand(T,A,O)):!1})}_runEditorCommand(E,T,O){const A=this.runEditorCommand(E,T,O);return A||!0}}var m;(function(k){class E extends n{constructor(z){super(z);this._inSelectionMode=z.inSelectionMode}runCoreEditorCommand(z,P){z.model.pushStackElement(),z.setCursorStates(P.source,3,[p.CursorMoveCommands.moveTo(z,z.getPrimaryCursorState(),this._inSelectionMode,P.position,P.viewPosition)]),z.revealPrimaryCursor(P.source,!0)}}k.MoveTo=w.registerEditorCommand(new E({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),k.MoveToSelect=w.registerEditorCommand(new E({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class T extends n{runCoreEditorCommand(z,P){z.model.pushStackElement();const V=this._getColumnSelectResult(z,z.getPrimaryCursorState(),z.getCursorColumnSelectData(),P);z.setCursorStates(P.source,3,V.viewStates.map(U=>d.CursorState.fromViewState(U))),z.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:V.fromLineNumber,fromViewVisualColumn:V.fromVisualColumn,toViewLineNumber:V.toLineNumber,toViewVisualColumn:V.toVisualColumn}),V.reversed?z.revealTopMostCursor(P.source):z.revealBottomMostCursor(P.source)}}k.ColumnSelect=w.registerEditorCommand(new class extends T{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(X,z,P,V){const U=X.model.validatePosition(V.position),H=X.coordinatesConverter.validateViewPosition(new o.Position(V.viewPosition.lineNumber,V.viewPosition.column),U);let $=V.doColumnSelect?P.fromViewLineNumber:H.lineNumber,ie=V.doColumnSelect?P.fromViewVisualColumn:V.mouseColumn-1;return C.ColumnSelection.columnSelect(X.cursorConfig,X,$,ie,H.lineNumber,V.mouseColumn-1)}}),k.CursorColumnSelectLeft=w.registerEditorCommand(new class extends T{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:2048|1024|512|15,linux:{primary:0}}})}_getColumnSelectResult(X,z,P,V){return C.ColumnSelection.columnSelectLeft(X.cursorConfig,X,P)}}),k.CursorColumnSelectRight=w.registerEditorCommand(new class extends T{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:2048|1024|512|17,linux:{primary:0}}})}_getColumnSelectResult(X,z,P,V){return C.ColumnSelection.columnSelectRight(X.cursorConfig,X,P)}});class O extends T{constructor(z){super(z);this._isPaged=z.isPaged}_getColumnSelectResult(z,P,V,U){return C.ColumnSelection.columnSelectUp(z.cursorConfig,z,V,this._isPaged)}}k.CursorColumnSelectUp=w.registerEditorCommand(new O({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:2048|1024|512|16,linux:{primary:0}}})),k.CursorColumnSelectPageUp=w.registerEditorCommand(new O({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:2048|1024|512|11,linux:{primary:0}}}));class A extends T{constructor(z){super(z);this._isPaged=z.isPaged}_getColumnSelectResult(z,P,V,U){return C.ColumnSelection.columnSelectDown(z.cursorConfig,z,V,this._isPaged)}}k.CursorColumnSelectDown=w.registerEditorCommand(new A({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:2048|1024|512|18,linux:{primary:0}}})),k.CursorColumnSelectPageDown=w.registerEditorCommand(new A({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:2048|1024|512|12,linux:{primary:0}}}));class B extends n{constructor(){super({id:"cursorMove",precondition:void 0,description:p.CursorMove.description})}runCoreEditorCommand(z,P){const V=p.CursorMove.parse(P);!V||this._runCursorMove(z,P.source,V)}_runCursorMove(z,P,V){z.model.pushStackElement(),z.setCursorStates(P,3,B._move(z,z.getCursorStates(),V)),z.revealPrimaryCursor(P,!0)}static _move(z,P,V){const U=V.select,H=V.value;switch(V.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return p.CursorMoveCommands.simpleMove(z,P,V.direction,U,H,V.unit);case 11:case 13:case 12:case 14:return p.CursorMoveCommands.viewportMove(z,P,V.direction,U,H);default:return null}}}k.CursorMoveImpl=B,k.CursorMove=w.registerEditorCommand(new B);class F extends n{constructor(z){super(z);this._staticArgs=z.args}runCoreEditorCommand(z,P){let V=this._staticArgs;this._staticArgs.value===-1&&(V={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:z.cursorConfig.pageSize}),z.model.pushStackElement(),z.setCursorStates(P.source,3,p.CursorMoveCommands.simpleMove(z,z.getCursorStates(),V.direction,V.select,V.value,V.unit)),z.revealPrimaryCursor(P.source,!0)}}k.CursorLeft=w.registerEditorCommand(new F({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:15,mac:{primary:15,secondary:[256|32]}}})),k.CursorLeftSelect=w.registerEditorCommand(new F({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:1024|15}})),k.CursorRight=w.registerEditorCommand(new F({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:17,mac:{primary:17,secondary:[256|36]}}})),k.CursorRightSelect=w.registerEditorCommand(new F({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:1024|17}})),k.CursorUp=w.registerEditorCommand(new F({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:16,mac:{primary:16,secondary:[256|46]}}})),k.CursorUpSelect=w.registerEditorCommand(new F({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:1024|16,secondary:[2048|1024|16],mac:{primary:1024|16},linux:{primary:1024|16}}})),k.CursorPageUp=w.registerEditorCommand(new F({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:11}})),k.CursorPageUpSelect=w.registerEditorCommand(new F({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:1024|11}})),k.CursorDown=w.registerEditorCommand(new F({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:18,mac:{primary:18,secondary:[256|44]}}})),k.CursorDownSelect=w.registerEditorCommand(new F({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:1024|18,secondary:[2048|1024|18],mac:{primary:1024|18},linux:{primary:1024|18}}})),k.CursorPageDown=w.registerEditorCommand(new F({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:12}})),k.CursorPageDownSelect=w.registerEditorCommand(new F({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:1024|12}})),k.CreateCursor=w.registerEditorCommand(new class extends n{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(X,z){let P;z.wholeLine?P=p.CursorMoveCommands.line(X,X.getPrimaryCursorState(),!1,z.position,z.viewPosition):P=p.CursorMoveCommands.moveTo(X,X.getPrimaryCursorState(),!1,z.position,z.viewPosition);const V=X.getCursorStates();if(V.length>1){const U=P.modelState?P.modelState.position:null,H=P.viewState?P.viewState.position:null;for(let $=0,ie=V.length;$H&&(U=H);const $=new s.Range(U,1,U,X.model.getLineMaxColumn(U));let ie=0;if(P.at)switch(P.at){case l.RawAtArgument.Top:ie=3;break;case l.RawAtArgument.Center:ie=1;break;case l.RawAtArgument.Bottom:ie=4;break;default:break}const oe=X.coordinatesConverter.convertModelRangeToViewRange($);X.revealRange(z.source,!1,oe,ie,0)}}),k.SelectAll=new class extends h{constructor(){super(w.SelectAllCommand)}runDOMCommand(){N.isFirefox&&(document.activeElement.focus(),document.activeElement.select()),document.execCommand("selectAll")}runEditorCommand(X,z,P){const V=z._getViewModel();!V||this.runCoreEditorCommand(V,P)}runCoreEditorCommand(X,z){X.model.pushStackElement(),X.setCursorStates("keyboard",3,[p.CursorMoveCommands.selectAll(X,X.getPrimaryCursorState())])}},k.SetSelection=w.registerEditorCommand(new class extends n{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(X,z){X.model.pushStackElement(),X.setCursorStates(z.source,3,[d.CursorState.fromModelSelection(z.selection)])}})})(m=e.CoreNavigationCommands||(e.CoreNavigationCommands={}));const _=u.ContextKeyExpr.and(a.EditorContextKeys.textInputFocus,a.EditorContextKeys.columnSelection);function f(k,E){r.KeybindingsRegistry.registerKeybindingRule({id:k,primary:E,when:_,weight:i+1})}f(m.CursorColumnSelectLeft.id,1024|15),f(m.CursorColumnSelectRight.id,1024|17),f(m.CursorColumnSelectUp.id,1024|16),f(m.CursorColumnSelectPageUp.id,1024|11),f(m.CursorColumnSelectDown.id,1024|18),f(m.CursorColumnSelectPageDown.id,1024|12);function v(k){return k.register(),k}var y;(function(k){class E extends w.EditorCommand{runEditorCommand(O,A,B){const F=A._getViewModel();!F||this.runCoreEditingCommand(A,F,B||{})}}k.CoreEditingCommand=E,k.LineBreakInsert=w.registerEditorCommand(new class extends E{constructor(){super({id:"lineBreakInsert",precondition:a.EditorContextKeys.writable,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|45}}})}runCoreEditingCommand(T,O,A){T.pushUndoStop(),T.executeCommands(this.id,c.TypeOperations.lineBreakInsert(O.cursorConfig,O.model,O.getCursorStates().map(B=>B.modelState.selection)))}}),k.Outdent=w.registerEditorCommand(new class extends E{constructor(){super({id:"outdent",precondition:a.EditorContextKeys.writable,kbOpts:{weight:i,kbExpr:u.ContextKeyExpr.and(a.EditorContextKeys.editorTextFocus,a.EditorContextKeys.tabDoesNotMoveFocus),primary:1024|2}})}runCoreEditingCommand(T,O,A){T.pushUndoStop(),T.executeCommands(this.id,c.TypeOperations.outdent(O.cursorConfig,O.model,O.getCursorStates().map(B=>B.modelState.selection))),T.pushUndoStop()}}),k.Tab=w.registerEditorCommand(new class extends E{constructor(){super({id:"tab",precondition:a.EditorContextKeys.writable,kbOpts:{weight:i,kbExpr:u.ContextKeyExpr.and(a.EditorContextKeys.editorTextFocus,a.EditorContextKeys.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(T,O,A){T.pushUndoStop(),T.executeCommands(this.id,c.TypeOperations.tab(O.cursorConfig,O.model,O.getCursorStates().map(B=>B.modelState.selection))),T.pushUndoStop()}}),k.DeleteLeft=w.registerEditorCommand(new class extends E{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:1,secondary:[1024|1],mac:{primary:1,secondary:[1024|1,256|38,256|1]}}})}runCoreEditingCommand(T,O,A){const[B,F]=g.DeleteOperations.deleteLeft(O.getPrevEditOperationType(),O.cursorConfig,O.model,O.getCursorStates().map(D=>D.modelState.selection));B&&T.pushUndoStop(),T.executeCommands(this.id,F),O.setPrevEditOperationType(2)}}),k.DeleteRight=w.registerEditorCommand(new class extends E{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:i,kbExpr:a.EditorContextKeys.textInputFocus,primary:20,mac:{primary:20,secondary:[256|34,256|20]}}})}runCoreEditingCommand(T,O,A){const[B,F]=g.DeleteOperations.deleteRight(O.getPrevEditOperationType(),O.cursorConfig,O.model,O.getCursorStates().map(D=>D.modelState.selection));B&&T.pushUndoStop(),T.executeCommands(this.id,F),O.setPrevEditOperationType(3)}}),k.Undo=new class extends h{constructor(){super(w.UndoCommand)}runDOMCommand(){document.execCommand("undo")}runEditorCommand(T,O,A){if(!(!O.hasModel()||O.getOption(75)===!0))return O.getModel().undo()}},k.Redo=new class extends h{constructor(){super(w.RedoCommand)}runDOMCommand(){document.execCommand("redo")}runEditorCommand(T,O,A){if(!(!O.hasModel()||O.getOption(75)===!0))return O.getModel().redo()}}})(y=e.CoreEditingCommands||(e.CoreEditingCommands={}));class L extends w.Command{constructor(E,T,O){super({id:E,precondition:void 0,description:O});this._handlerId=T}runCommand(E,T){const O=E.get(S.ICodeEditorService).getFocusedCodeEditor();!O||O.trigger("keyboard",this._handlerId,T)}}function I(k,E){v(new L("default:"+k,k)),v(new L(k,k,E))}I("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),I("replacePreviousChar"),I("compositionType"),I("compositionStart"),I("compositionEnd"),I("paste"),I("cut")}),define(Q[607],J([0,1,13,16,23,71,9,74,446]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorKeybindingCancellationTokenSource=void 0;const g=S.createDecorator("IEditorCancelService"),p=new N.RawContextKey("cancellableOperation",!1,d.localize(0,null));C.registerSingleton(g,class{constructor(){this._tokens=new WeakMap}add(o,s){let a=this._tokens.get(o);a||(a=o.invokeWithinContext(r=>{const i=p.bindTo(r.get(N.IContextKeyService)),n=new w.LinkedList;return{key:i,tokens:n}}),this._tokens.set(o,a));let u;return a.key.set(!0),u=a.tokens.push(s),()=>{u&&(u(),a.key.set(!a.tokens.isEmpty()),u=void 0)}}cancel(o){const s=this._tokens.get(o);if(!!s){const a=s.tokens.pop();a&&(a.cancel(),s.key.set(!s.tokens.isEmpty()))}}},!0);class c extends M.CancellationTokenSource{constructor(s,a){super(a);this.editor=s,this._unregister=s.invokeWithinContext(u=>u.get(g).add(s,this))}dispose(){this._unregister(),super.dispose()}}e.EditorKeybindingCancellationTokenSource=c,b.registerEditorCommand(new class extends b.EditorCommand{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:p})}runEditorCommand(o,s){o.get(g).cancel(s)}})}),define(Q[70],J([0,1,8,3,23,2,607]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StableEditorScrollState=e.TextModelCancellationTokenSource=e.EditorStateCancellationTokenSource=e.EditorState=void 0;class C{constructor(o,s){if(this.flags=s,(this.flags&1)!=0){const a=o.getModel();this.modelVersionId=a?b.format("{0}#{1}",a.uri.toString(),a.getVersionId()):null}else this.modelVersionId=null;(this.flags&4)!=0?this.position=o.getPosition():this.position=null,(this.flags&2)!=0?this.selection=o.getSelection():this.selection=null,(this.flags&8)!=0?(this.scrollLeft=o.getScrollLeft(),this.scrollTop=o.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(o){if(!(o instanceof C))return!1;const s=o;return!(this.modelVersionId!==s.modelVersionId||this.scrollLeft!==s.scrollLeft||this.scrollTop!==s.scrollTop||!this.position&&s.position||this.position&&!s.position||this.position&&s.position&&!this.position.equals(s.position)||!this.selection&&s.selection||this.selection&&!s.selection||this.selection&&s.selection&&!this.selection.equalsRange(s.selection))}validate(o){return this._equals(new C(o,this.flags))}}e.EditorState=C;class d extends S.EditorKeybindingCancellationTokenSource{constructor(o,s,a,u){super(o,u);this.editor=o,this._listener=new w.DisposableStore,s&4&&this._listener.add(o.onDidChangeCursorPosition(r=>{(!a||!N.Range.containsPosition(a,r.position))&&this.cancel()})),s&2&&this._listener.add(o.onDidChangeCursorSelection(r=>{(!a||!N.Range.containsRange(a,r.selection))&&this.cancel()})),s&8&&this._listener.add(o.onDidScrollChange(r=>this.cancel())),s&1&&(this._listener.add(o.onDidChangeModel(r=>this.cancel())),this._listener.add(o.onDidChangeModelContent(r=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}e.EditorStateCancellationTokenSource=d;class g extends M.CancellationTokenSource{constructor(o,s){super(s);this._listener=o.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}e.TextModelCancellationTokenSource=g;class p{constructor(o,s,a){this._visiblePosition=o,this._visiblePositionScrollDelta=s,this._cursorPosition=a}static capture(o){let s=null,a=0;if(o.getScrollTop()!==0){const u=o.getVisibleRanges();if(u.length>0){s=u[0].getStartPosition();const r=o.getTopForPosition(s.lineNumber,s.column);a=o.getScrollTop()-r}}return new p(s,a,o.getPosition())}restore(o){if(this._visiblePosition){const s=o.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);o.setScrollTop(s+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(o){const s=o.getPosition();if(!(!this._cursorPosition||!s)){const a=o.getTopForLineNumber(s.lineNumber)-o.getTopForLineNumber(this._cursorPosition.lineNumber);o.setScrollTop(o.getScrollTop()+a)}}}e.StableEditorScrollState=p}),define(Q[608],J([0,1,178,13]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerDecorationsContribution=void 0;let M=class{constructor(S,C){}dispose(){}};M.ID="editor.contrib.markerDecorations",M=Me([_e(1,b.IMarkerDecorationsService)],M),e.MarkerDecorationsContribution=M,N.registerEditorContribution(M.ID,M)}),define(Q[609],J([0,1,188,14,17]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewController=void 0;class w{constructor(C,d,g,p){this.configuration=C,this.viewModel=d,this.userInputEvents=g,this.commandDelegate=p}paste(C,d,g,p){this.commandDelegate.paste(C,d,g,p)}type(C){this.commandDelegate.type(C)}compositionType(C,d,g,p){this.commandDelegate.compositionType(C,d,g,p)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(C){b.CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:C})}_validateViewColumn(C){const d=this.viewModel.getLineMinColumn(C.lineNumber);return C.column=4?this._selectAll():C.mouseDownCount===3?this._hasMulticursorModifier(C)?C.inSelectionMode?this._lastCursorLineSelectDrag(C.position):this._lastCursorLineSelect(C.position):C.inSelectionMode?this._lineSelectDrag(C.position):this._lineSelect(C.position):C.mouseDownCount===2?this._hasMulticursorModifier(C)?this._lastCursorWordSelect(C.position):C.inSelectionMode?this._wordSelectDrag(C.position):this._wordSelect(C.position):this._hasMulticursorModifier(C)?this._hasNonMulticursorModifier(C)||(C.shiftKey?this._columnSelect(C.position,C.mouseColumn,!0):C.inSelectionMode?this._lastCursorMoveToSelect(C.position):this._createCursor(C.position,!1)):C.inSelectionMode?C.altKey?this._columnSelect(C.position,C.mouseColumn,!0):p?this._columnSelect(C.position,C.mouseColumn,!0):this._moveToSelect(C.position):this.moveTo(C.position)}_usualArgs(C){return C=this._validateViewColumn(C),{source:"mouse",position:this._convertViewToModelPosition(C),viewPosition:C}}moveTo(C){b.CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_moveToSelect(C){b.CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_columnSelect(C,d,g){C=this._validateViewColumn(C),b.CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(C),viewPosition:C,mouseColumn:d,doColumnSelect:g})}_createCursor(C,d){C=this._validateViewColumn(C),b.CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(C),viewPosition:C,wholeLine:d})}_lastCursorMoveToSelect(C){b.CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_wordSelect(C){b.CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_wordSelectDrag(C){b.CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_lastCursorWordSelect(C){b.CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_lineSelect(C){b.CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_lineSelectDrag(C){b.CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_lastCursorLineSelect(C){b.CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_lastCursorLineSelectDrag(C){b.CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(C))}_selectAll(){b.CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(C){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(C)}emitKeyDown(C){this.userInputEvents.emitKeyDown(C)}emitKeyUp(C){this.userInputEvents.emitKeyUp(C)}emitContextMenu(C){this.userInputEvents.emitContextMenu(C)}emitMouseMove(C){this.userInputEvents.emitMouseMove(C)}emitMouseLeave(C){this.userInputEvents.emitMouseLeave(C)}emitMouseUp(C){this.userInputEvents.emitMouseUp(C)}emitMouseDown(C){this.userInputEvents.emitMouseDown(C)}emitMouseDrag(C){this.userInputEvents.emitMouseDrag(C)}emitMouseDrop(C){this.userInputEvents.emitMouseDrop(C)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(C){this.userInputEvents.emitMouseWheel(C)}}e.ViewController=w}),define(Q[610],J([0,1,7,35,21,30,12,581,590,609,256,564,45,390,588,391,584,172,589,257,582,392,223,393,585,394,591,395,592,586,587,593,396,14,3,110,385,387,111,11,187]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y,L,I,k,E,T,O,A,B,F,D,R,W,x,K){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.View=void 0;class Y extends W.ViewEventHandler{constructor(ne,le,X,z,P,V){super();this._selections=[new M.Selection(1,1,1,1)],this._renderAnimationFrame=null;const U=new g.ViewController(le,z,P,ne);this._context=new D.ViewContext(le,X.getColorTheme(),z),this._configPixelRatio=this._configPixelRatio=this._context.configuration.options.get(122),this._context.addEventHandler(this),this._register(X.onDidColorThemeChange(te=>{this._context.theme.update(te),this._context.model.onDidColorThemeChange(),this.render(!0,!1)})),this._viewParts=[],this._textAreaHandler=new d.TextAreaHandler(this._context,U,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=w.createFastDomNode(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=w.createFastDomNode(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=w.createFastDomNode(document.createElement("div")),o.PartFingerprints.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new r.EditorScrollbar(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new l.ViewLines(this._context,this._linesContent),this._viewZones=new O.ViewZones(this._context),this._viewParts.push(this._viewZones);const H=new y.DecorationsOverviewRuler(this._context);this._viewParts.push(H);const $=new k.ScrollDecorationViewPart(this._context);this._viewParts.push($);const ie=new c.ContentViewOverlays(this._context);this._viewParts.push(ie),ie.addDynamicOverlay(new a.CurrentLineHighlightOverlay(this._context)),ie.addDynamicOverlay(new E.SelectionsOverlay(this._context)),ie.addDynamicOverlay(new n.IndentGuidesOverlay(this._context)),ie.addDynamicOverlay(new u.DecorationsOverlay(this._context));const oe=new c.MarginViewOverlays(this._context);this._viewParts.push(oe),oe.addDynamicOverlay(new a.CurrentLineMarginHighlightOverlay(this._context)),oe.addDynamicOverlay(new i.GlyphMarginOverlay(this._context)),oe.addDynamicOverlay(new _.MarginViewLineDecorationsOverlay(this._context)),oe.addDynamicOverlay(new h.LinesDecorationsOverlay(this._context)),oe.addDynamicOverlay(new t.LineNumbersOverlay(this._context));const ae=new m.Margin(this._context);ae.getDomNode().appendChild(this._viewZones.marginDomNode),ae.getDomNode().appendChild(oe.getDomNode()),this._viewParts.push(ae),this._contentWidgets=new s.ViewContentWidgets(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new T.ViewCursors(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new v.ViewOverlayWidgets(this._context),this._viewParts.push(this._overlayWidgets);const G=new I.Rulers(this._context);this._viewParts.push(G);const j=new f.Minimap(this._context);if(this._viewParts.push(j),H){const te=this._scrollbar.getOverviewRulerLayoutInfo();te.parent.insertBefore(H.getDomNode(),te.insertBefore)}this._linesContent.appendChild(ie.getDomNode()),this._linesContent.appendChild(G.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(ae.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild($.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(j.getDomNode()),this.domNode.appendChild(this._overflowGuardContainer),V?V.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new C.PointerHandler(this._context,U,this._createPointerHandlerHelper()))}_flushAccumulatedAndRenderNow(){this._renderNow()}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:ne=>{this._textAreaHandler.textArea.domNode.dispatchEvent(ne)},getLastRenderData:()=>{const ne=this._viewCursors.getLastRenderData()||[],le=this._textAreaHandler.getLastRenderData();return new K.PointerHandlerLastRenderData(ne,le)},shouldSuppressMouseDownOnViewZone:ne=>this._viewZones.shouldSuppressMouseDownOnViewZone(ne),shouldSuppressMouseDownOnWidget:ne=>this._contentWidgets.shouldSuppressMouseDownOnWidget(ne),getPositionFromDOMInfo:(ne,le)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(ne,le)),visibleRangeForPosition:(ne,le)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new A.Position(ne,le))),getLineWidth:ne=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(ne))}}_createTextAreaHandlerHelper(){return{visibleRangeForPositionRelativeToEditor:(ne,le)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new A.Position(ne,le)))}}_applyLayout(){const le=this._context.configuration.options.get(124);this.domNode.setWidth(le.width),this.domNode.setHeight(le.height),this._overflowGuardContainer.setWidth(le.width),this._overflowGuardContainer.setHeight(le.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){const ne=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(121)+" "+x.getThemeTypeSelector(this._context.theme.type)+ne}handleEvents(ne){super.handleEvents(ne),this._scheduleRender()}onConfigurationChanged(ne){return this._configPixelRatio=this._context.configuration.options.get(122),this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(ne){return this._selections=ne.selections,!1}onFocusChanged(ne){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(ne){return this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const ne of this._viewParts)ne.dispose();super.dispose()}_scheduleRender(){this._renderAnimationFrame===null&&(this._renderAnimationFrame=b.runAtThisOrScheduleAtNextAnimationFrame(this._onRenderScheduled.bind(this),100))}_onRenderScheduled(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()}_renderNow(){ee(()=>this._actualRender())}_getViewPartsToRender(){let ne=[],le=0;for(const X of this._viewParts)X.shouldRender()&&(ne[le++]=X);return ne}_actualRender(){if(!!b.isInDOM(this.domNode.domNode)){let ne=this._getViewPartsToRender();if(!(!this._viewLines.shouldRender()&&ne.length===0)){const le=this._context.viewLayout.getLinesViewportData();this._context.model.setViewport(le.startLineNumber,le.endLineNumber,le.centeredLineNumber);const X=new R.ViewportData(this._selections,le,this._context.viewLayout.getWhitespaceViewportData(),this._context.model);this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(X),this._viewLines.shouldRender()&&(this._viewLines.renderText(X),this._viewLines.onDidRender(),ne=this._getViewPartsToRender());const z=new F.RenderingContext(this._context.viewLayout,X,this._viewLines);for(const P of ne)P.prepareRender(z);for(const P of ne)P.render(z),P.onDidRender();Math.abs(N.getPixelRatio()-this._configPixelRatio)>.001&&this._context.configuration.updatePixelRatio()}}}delegateVerticalScrollbarMouseDown(ne){this._scrollbar.delegateVerticalScrollbarMouseDown(ne)}restoreState(ne){this._context.model.setScrollPosition({scrollTop:ne.scrollTop},1),this._context.model.tokenizeViewport(),this._renderNow(),this._viewLines.updateLineWidths(),this._context.model.setScrollPosition({scrollLeft:ne.scrollLeft},1)}getOffsetForColumn(ne,le){const X=this._context.model.validateModelPosition({lineNumber:ne,column:le}),z=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(X);this._flushAccumulatedAndRenderNow();const P=this._viewLines.visibleRangeForPosition(new A.Position(z.lineNumber,z.column));return P?P.left:-1}getTargetAtClientPoint(ne,le){const X=this._pointerHandler.getTargetAtClientPoint(ne,le);return X?p.ViewUserInputEvents.convertViewToModelMouseTarget(X,this._context.model.coordinatesConverter):null}createOverviewRuler(ne){return new L.OverviewRuler(this._context,ne)}change(ne){this._viewZones.changeViewZones(ne),this._scheduleRender()}render(ne,le){if(le){this._viewLines.forceShouldRender();for(const X of this._viewParts)X.forceShouldRender()}ne?this._flushAccumulatedAndRenderNow():this._scheduleRender()}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(ne){this._textAreaHandler.setAriaOptions(ne)}addContentWidget(ne){this._contentWidgets.addWidget(ne.widget),this.layoutContentWidget(ne),this._scheduleRender()}layoutContentWidget(ne){let le=ne.position&&ne.position.range||null;if(le===null){const z=ne.position?ne.position.position:null;z!==null&&(le=new B.Range(z.lineNumber,z.column,z.lineNumber,z.column))}const X=ne.position?ne.position.preference:null;this._contentWidgets.setWidgetPosition(ne.widget,le,X),this._scheduleRender()}removeContentWidget(ne){this._contentWidgets.removeWidget(ne.widget),this._scheduleRender()}addOverlayWidget(ne){this._overlayWidgets.addWidget(ne.widget),this.layoutOverlayWidget(ne),this._scheduleRender()}layoutOverlayWidget(ne){const le=ne.position?ne.position.preference:null;this._overlayWidgets.setWidgetPosition(ne.widget,le)&&this._scheduleRender()}removeOverlayWidget(ne){this._overlayWidgets.removeWidget(ne.widget),this._scheduleRender()}}e.View=Y;function ee(se){try{return se()}catch(ne){S.onUnexpectedError(ne)}}}),define(Q[143],J([0,1,448,7,12,6,2,43,69,13,28,610,256,38,242,42,14,3,21,217,107,25,18,49,22,540,26,16,9,138,32,11,65,20,397,563,136,608,334]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y,L,I,k,E,T,O,A,B,F,D){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorModeContext=e.BooleanEventEmitter=e.CodeEditorWidget=void 0;let R=0;class W{constructor(H,$,ie,oe,ae){this.model=H,this.viewModel=$,this.view=ie,this.hasRealView=oe,this.listenersToRemove=ae}dispose(){S.dispose(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}let x=class ct extends S.Disposable{constructor(H,$,ie,oe,ae,G,j,te,Z,ue){super();this._onDidDispose=this._register(new w.Emitter),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new w.Emitter),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new w.Emitter),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new w.Emitter),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new w.Emitter),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new w.Emitter),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeConfiguration=this._register(new w.Emitter),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new w.Emitter),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new w.Emitter),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new w.Emitter),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new w.Emitter),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new w.Emitter),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new K),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new K),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new w.Emitter),this.onWillType=this._onWillType.event,this._onDidType=this._register(new w.Emitter),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new w.Emitter),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new w.Emitter),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new w.Emitter),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new w.Emitter),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new w.Emitter),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new w.Emitter),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new w.Emitter),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new w.Emitter),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onContextMenu=this._register(new w.Emitter),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new w.Emitter),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new w.Emitter),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new w.Emitter),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new w.Emitter),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new w.Emitter),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new w.Emitter),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new w.Emitter),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new w.Emitter),this.onDidChangeViewZones=this._onDidChangeViewZones.event;const he=Object.assign({},$);this._domElement=H,this._overflowWidgetsDomNode=he.overflowWidgetsDomNode,delete he.overflowWidgetsDomNode,this._id=++R,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this.isSimpleWidget=ie.isSimpleWidget||!1,this._telemetryData=ie.telemetryData,this._configuration=this._register(this._createConfiguration(he,ue)),this._register(this._configuration.onDidChange(ce=>{this._onDidChangeConfiguration.fire(ce);const me=this._configuration.options;if(ce.hasChanged(124)){const Ce=me.get(124);this._onDidLayoutChange.fire(Ce)}})),this._contextKeyService=this._register(j.createScoped(this._domElement)),this._notificationService=Z,this._codeEditorService=ae,this._commandService=G,this._themeService=te,this._register(new Y(this,this._contextKeyService)),this._register(new ee(this,this._contextKeyService)),this._instantiationService=oe.createChild(new k.ServiceCollection([L.IContextKeyService,this._contextKeyService])),this._modelData=null,this._contributions={},this._actions={},this._focusTracker=new se(H),this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}),this._contentWidgets={},this._overlayWidgets={};let re;Array.isArray(ie.contributions)?re=ie.contributions:re=g.EditorExtensionsRegistry.getEditorContributions();for(const ce of re)try{const me=this._instantiationService.createInstance(ce.ctor,this);this._contributions[ce.id]=me}catch(me){M.onUnexpectedError(me)}g.EditorExtensionsRegistry.getEditorActions().forEach(ce=>{const me=new t.InternalEditorAction(ce.id,ce.label,ce.alias,A.withNullAsUndefined(ce.precondition),()=>this._instantiationService.invokeFunction(Ce=>Promise.resolve(ce.runEditorCommand(Ce,this,null))),this._contextKeyService);this._actions[me.id]=me}),this._codeEditorService.addCodeEditor(this)}_createConfiguration(H,$){return new d.Configuration(this.isSimpleWidget,H,this._domElement,$)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return l.EditorType.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();const H=Object.keys(this._contributions);for(let $=0,ie=H.length;$i.Range.lift($)))}getVisibleColumnFromPosition(H){if(!this._modelData)return H.column;const $=this._modelData.model.validatePosition(H),ie=this._modelData.model.getOptions().tabSize;return u.CursorColumns.visibleColumnFromColumn(this._modelData.model.getLineContent($.lineNumber),$.column,ie)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(H){if(!!this._modelData){if(!r.Position.isIPosition(H))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections("api",[{selectionStartLineNumber:H.lineNumber,selectionStartColumn:H.column,positionLineNumber:H.lineNumber,positionColumn:H.column}])}}_sendRevealRange(H,$,ie,oe){if(!!this._modelData){if(!i.Range.isIRange(H))throw new Error("Invalid arguments");const ae=this._modelData.model.validateRange(H),G=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(ae);this._modelData.viewModel.revealRange("api",ie,G,$,oe)}}revealLine(H,$=0){this._revealLine(H,0,$)}revealLineInCenter(H,$=0){this._revealLine(H,1,$)}revealLineInCenterIfOutsideViewport(H,$=0){this._revealLine(H,2,$)}revealLineNearTop(H,$=0){this._revealLine(H,5,$)}_revealLine(H,$,ie){if(typeof H!="number")throw new Error("Invalid arguments");this._sendRevealRange(new i.Range(H,1,H,1),$,!1,ie)}revealPosition(H,$=0){this._revealPosition(H,0,!0,$)}revealPositionInCenter(H,$=0){this._revealPosition(H,1,!0,$)}revealPositionInCenterIfOutsideViewport(H,$=0){this._revealPosition(H,2,!0,$)}revealPositionNearTop(H,$=0){this._revealPosition(H,5,!0,$)}_revealPosition(H,$,ie,oe){if(!r.Position.isIPosition(H))throw new Error("Invalid arguments");this._sendRevealRange(new i.Range(H.lineNumber,H.column,H.lineNumber,H.column),$,ie,oe)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(H){const $=n.Selection.isISelection(H),ie=i.Range.isIRange(H);if(!$&&!ie)throw new Error("Invalid arguments");if($)this._setSelectionImpl(H);else if(ie){const oe={selectionStartLineNumber:H.startLineNumber,selectionStartColumn:H.startColumn,positionLineNumber:H.endLineNumber,positionColumn:H.endColumn};this._setSelectionImpl(oe)}}_setSelectionImpl(H){if(!!this._modelData){const $=new n.Selection(H.selectionStartLineNumber,H.selectionStartColumn,H.positionLineNumber,H.positionColumn);this._modelData.viewModel.setSelections("api",[$])}}revealLines(H,$,ie=0){this._revealLines(H,$,0,ie)}revealLinesInCenter(H,$,ie=0){this._revealLines(H,$,1,ie)}revealLinesInCenterIfOutsideViewport(H,$,ie=0){this._revealLines(H,$,2,ie)}revealLinesNearTop(H,$,ie=0){this._revealLines(H,$,5,ie)}_revealLines(H,$,ie,oe){if(typeof H!="number"||typeof $!="number")throw new Error("Invalid arguments");this._sendRevealRange(new i.Range(H,1,$,1),ie,!1,oe)}revealRange(H,$=0,ie=!1,oe=!0){this._revealRange(H,ie?1:0,oe,$)}revealRangeInCenter(H,$=0){this._revealRange(H,1,!0,$)}revealRangeInCenterIfOutsideViewport(H,$=0){this._revealRange(H,2,!0,$)}revealRangeNearTop(H,$=0){this._revealRange(H,5,!0,$)}revealRangeNearTopIfOutsideViewport(H,$=0){this._revealRange(H,6,!0,$)}revealRangeAtTop(H,$=0){this._revealRange(H,3,!0,$)}_revealRange(H,$,ie,oe){if(!i.Range.isIRange(H))throw new Error("Invalid arguments");this._sendRevealRange(i.Range.lift(H),$,ie,oe)}setSelections(H,$="api",ie=0){if(!!this._modelData){if(!H||H.length===0)throw new Error("Invalid arguments");for(let oe=0,ae=H.length;oe$.isSupported()),H}getAction(H){return this._actions[H]||null}trigger(H,$,ie){switch(ie=ie||{},$){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(H);return;case"type":{const ae=ie;this._type(H,ae.text||"");return}case"replacePreviousChar":{const ae=ie;this._compositionType(H,ae.text||"",ae.replaceCharCnt||0,0,0);return}case"compositionType":{const ae=ie;this._compositionType(H,ae.text||"",ae.replacePrevCharCnt||0,ae.replaceNextCharCnt||0,ae.positionDelta||0);return}case"paste":{const ae=ie;this._paste(H,ae.text||"",ae.pasteOnNewLine||!1,ae.multicursorText||null,ae.mode||null);return}case"cut":this._cut(H);return}const oe=this.getAction($);if(oe){Promise.resolve(oe.run()).then(void 0,M.onUnexpectedError);return}!this._modelData||this._triggerEditorCommand(H,$,ie)||this._commandService.executeCommand($,ie)}_startComposition(){!this._modelData||(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(H){!this._modelData||(this._modelData.viewModel.endComposition(H),this._onDidCompositionEnd.fire())}_type(H,$){!this._modelData||$.length===0||(H==="keyboard"&&this._onWillType.fire($),this._modelData.viewModel.type($,H),H==="keyboard"&&this._onDidType.fire($))}_compositionType(H,$,ie,oe,ae){!this._modelData||this._modelData.viewModel.compositionType($,ie,oe,ae,H)}_paste(H,$,ie,oe,ae){if(!(!this._modelData||$.length===0)){const G=this._modelData.viewModel.getSelection().getStartPosition();this._modelData.viewModel.paste($,ie,oe,H);const j=this._modelData.viewModel.getSelection().getStartPosition();H==="keyboard"&&this._onDidPaste.fire({range:new i.Range(G.lineNumber,G.column,j.lineNumber,j.column),mode:ae})}}_cut(H){!this._modelData||this._modelData.viewModel.cut(H)}_triggerEditorCommand(H,$,ie){const oe=g.EditorExtensionsRegistry.getEditorCommand($);return oe?(ie=ie||{},ie.source=H,this._instantiationService.invokeFunction(ae=>{Promise.resolve(oe.runEditorCommand(ae,this,ie)).then(void 0,M.onUnexpectedError)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(75)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(75)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(H,$,ie){if(!this._modelData||this._configuration.options.get(75))return!1;let oe;return ie?Array.isArray(ie)?oe=()=>ie:oe=ie:oe=()=>null,this._modelData.viewModel.executeEdits(H,$,oe),!0}executeCommand(H,$){!this._modelData||this._modelData.viewModel.executeCommand($,H)}executeCommands(H,$){!this._modelData||this._modelData.viewModel.executeCommands($,H)}changeDecorations(H){return this._modelData?this._modelData.model.changeDecorations(H,this._id):null}getLineDecorations(H){return this._modelData?this._modelData.model.getLineDecorations(H,this._id,s.filterValidationDecorations(this._configuration.options)):null}deltaDecorations(H,$){return this._modelData?H.length===0&&$.length===0?H:this._modelData.model.deltaDecorations(H,$,this._id):[]}removeDecorations(H){const $=this._decorationTypeKeysToIds[H];$&&this.deltaDecorations($,[]),this._decorationTypeKeysToIds.hasOwnProperty(H)&&delete this._decorationTypeKeysToIds[H],this._decorationTypeSubtypes.hasOwnProperty(H)&&delete this._decorationTypeSubtypes[H]}getLayoutInfo(){return this._configuration.options.get(124)}createOverviewRuler(H){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(H)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarMouseDown(H){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarMouseDown(H)}layout(H){this._configuration.observeReferenceElement(H),this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(H){const $={widget:H,position:H.getPosition()};this._contentWidgets.hasOwnProperty(H.getId())&&console.warn("Overwriting a content widget with the same id."),this._contentWidgets[H.getId()]=$,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget($)}layoutContentWidget(H){const $=H.getId();if(this._contentWidgets.hasOwnProperty($)){const ie=this._contentWidgets[$];ie.position=H.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(ie)}}removeContentWidget(H){const $=H.getId();if(this._contentWidgets.hasOwnProperty($)){const ie=this._contentWidgets[$];delete this._contentWidgets[$],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(ie)}}addOverlayWidget(H){const $={widget:H,position:H.getPosition()};this._overlayWidgets.hasOwnProperty(H.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[H.getId()]=$,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget($)}layoutOverlayWidget(H){const $=H.getId();if(this._overlayWidgets.hasOwnProperty($)){const ie=this._overlayWidgets[$];ie.position=H.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(ie)}}removeOverlayWidget(H){const $=H.getId();if(this._overlayWidgets.hasOwnProperty($)){const ie=this._overlayWidgets[$];delete this._overlayWidgets[$],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(ie)}}changeViewZones(H){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(H)}getTargetAtClientPoint(H,$){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(H,$)}getScrolledVisiblePosition(H){if(!this._modelData||!this._modelData.hasRealView)return null;const $=this._modelData.model.validatePosition(H),ie=this._configuration.options,oe=ie.get(124),ae=ct._getVerticalOffsetForPosition(this._modelData,$.lineNumber,$.column)-this.getScrollTop(),G=this._modelData.view.getOffsetForColumn($.lineNumber,$.column)+oe.glyphMarginWidth+oe.lineNumbersWidth+oe.decorationsWidth-this.getScrollLeft();return{top:ae,left:G,height:ie.get(53)}}getOffsetForColumn(H,$){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(H,$)}render(H=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,H)}setAriaOptions(H){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(H)}applyFontInfo(H){d.Configuration.applyFontInfoSlow(H,this._configuration.options.get(38))}_attachModel(H){if(!H){this._modelData=null;return}const $=[];this._domElement.setAttribute("data-mode-id",H.getLanguageIdentifier().language),this._configuration.setIsDominatedByLongLines(H.isDominatedByLongLines()),this._configuration.setMaxLineNumber(H.getLineCount()),H.onBeforeAttached();const ie=new v.ViewModel(this._id,this._configuration,H,F.DOMLineBreaksComputerFactory.create(),B.MonospaceLineBreaksComputerFactory.create(this._configuration.options),G=>N.scheduleAtNextAnimationFrame(G));$.push(H.onDidChangeDecorations(G=>this._onDidChangeModelDecorations.fire(G))),$.push(H.onDidChangeLanguage(G=>{this._domElement.setAttribute("data-mode-id",H.getLanguageIdentifier().language),this._onDidChangeModelLanguage.fire(G)})),$.push(H.onDidChangeLanguageConfiguration(G=>this._onDidChangeModelLanguageConfiguration.fire(G))),$.push(H.onDidChangeContent(G=>this._onDidChangeModelContent.fire(G))),$.push(H.onDidChangeOptions(G=>this._onDidChangeModelOptions.fire(G))),$.push(H.onWillDispose(()=>this.setModel(null))),$.push(ie.onEvent(G=>{switch(G.kind){case 0:this._onDidContentSizeChange.fire(G);break;case 1:this._editorTextFocus.setValue(G.hasFocus);break;case 2:this._onDidScrollChange.fire(G);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidAttemptReadOnlyEdit.fire();break;case 5:{G.reachedMaxCursorCount&&this._notificationService.warn(b.localize(0,null,a.Cursor.MAX_CURSOR_COUNT));const j=[];for(let ue=0,he=G.selections.length;ue{this._paste("keyboard",ae,G,j,te)},type:ae=>{this._type("keyboard",ae)},compositionType:(ae,G,j,te)=>{this._compositionType("keyboard",ae,G,j,te)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:$={paste:(ae,G,j,te)=>{const Z={text:ae,pasteOnNewLine:G,multicursorText:j,mode:te};this._commandService.executeCommand("paste",Z)},type:ae=>{const G={text:ae};this._commandService.executeCommand("type",G)},compositionType:(ae,G,j,te)=>{if(j||te){const Z={text:ae,replacePrevCharCnt:G,replaceNextCharCnt:j,positionDelta:te};this._commandService.executeCommand("compositionType",Z)}else{const Z={text:ae,replaceCharCnt:G};this._commandService.executeCommand("replacePreviousChar",Z)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const ie=new o.ViewUserInputEvents(H.coordinatesConverter);return ie.onKeyDown=ae=>this._onKeyDown.fire(ae),ie.onKeyUp=ae=>this._onKeyUp.fire(ae),ie.onContextMenu=ae=>this._onContextMenu.fire(ae),ie.onMouseMove=ae=>this._onMouseMove.fire(ae),ie.onMouseLeave=ae=>this._onMouseLeave.fire(ae),ie.onMouseDown=ae=>this._onMouseDown.fire(ae),ie.onMouseUp=ae=>this._onMouseUp.fire(ae),ie.onMouseDrag=ae=>this._onMouseDrag.fire(ae),ie.onMouseDrop=ae=>this._onMouseDrop.fire(ae),ie.onMouseDropCanceled=ae=>this._onMouseDropCanceled.fire(ae),ie.onMouseWheel=ae=>this._onMouseWheel.fire(ae),[new c.View($,this._configuration,this._themeService,H,ie,this._overflowWidgetsDomNode),!0]}_postDetachModelCleanup(H){H&&H.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;const H=this._modelData.model,$=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),$&&this._domElement.contains($)&&this._domElement.removeChild($),H}_removeDecorationType(H){this._codeEditorService.removeDecorationType(H)}hasModel(){return this._modelData!==null}};x=Me([_e(3,I.IInstantiationService),_e(4,p.ICodeEditorService),_e(5,y.ICommandService),_e(6,L.IContextKeyService),_e(7,T.IThemeService),_e(8,E.INotificationService),_e(9,O.IAccessibilityService)],x),e.CodeEditorWidget=x;class K extends S.Disposable{constructor(){super();this._onDidChangeToTrue=this._register(new w.Emitter),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new w.Emitter),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(H){const $=H?2:1;this._value!==$&&(this._value=$,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}e.BooleanEventEmitter=K;class Y extends S.Disposable{constructor(H,$){super();this._editor=H,$.createKey("editorId",H.getId()),this._editorSimpleInput=h.EditorContextKeys.editorSimpleInput.bindTo($),this._editorFocus=h.EditorContextKeys.focus.bindTo($),this._textInputFocus=h.EditorContextKeys.textInputFocus.bindTo($),this._editorTextFocus=h.EditorContextKeys.editorTextFocus.bindTo($),this._editorTabMovesFocus=h.EditorContextKeys.tabMovesFocus.bindTo($),this._editorReadonly=h.EditorContextKeys.readOnly.bindTo($),this._inDiffEditor=h.EditorContextKeys.inDiffEditor.bindTo($),this._editorColumnSelection=h.EditorContextKeys.columnSelection.bindTo($),this._hasMultipleSelections=h.EditorContextKeys.hasMultipleSelections.bindTo($),this._hasNonEmptySelection=h.EditorContextKeys.hasNonEmptySelection.bindTo($),this._canUndo=h.EditorContextKeys.canUndo.bindTo($),this._canRedo=h.EditorContextKeys.canRedo.bindTo($),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const H=this._editor.getOptions();this._editorTabMovesFocus.set(H.get(123)),this._editorReadonly.set(H.get(75)),this._inDiffEditor.set(H.get(49)),this._editorColumnSelection.set(H.get(15))}_updateFromSelection(){const H=this._editor.getSelections();H?(this._hasMultipleSelections.set(H.length>1),this._hasNonEmptySelection.set(H.some($=>!$.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const H=this._editor.getModel();this._canUndo.set(Boolean(H&&H.canUndo())),this._canRedo.set(Boolean(H&&H.canRedo()))}}class ee extends S.Disposable{constructor(H,$){super();this._editor=H,this._contextKeyService=$,this._langId=h.EditorContextKeys.languageId.bindTo($),this._hasCompletionItemProvider=h.EditorContextKeys.hasCompletionItemProvider.bindTo($),this._hasCodeActionsProvider=h.EditorContextKeys.hasCodeActionsProvider.bindTo($),this._hasCodeLensProvider=h.EditorContextKeys.hasCodeLensProvider.bindTo($),this._hasDefinitionProvider=h.EditorContextKeys.hasDefinitionProvider.bindTo($),this._hasDeclarationProvider=h.EditorContextKeys.hasDeclarationProvider.bindTo($),this._hasImplementationProvider=h.EditorContextKeys.hasImplementationProvider.bindTo($),this._hasTypeDefinitionProvider=h.EditorContextKeys.hasTypeDefinitionProvider.bindTo($),this._hasHoverProvider=h.EditorContextKeys.hasHoverProvider.bindTo($),this._hasDocumentHighlightProvider=h.EditorContextKeys.hasDocumentHighlightProvider.bindTo($),this._hasDocumentSymbolProvider=h.EditorContextKeys.hasDocumentSymbolProvider.bindTo($),this._hasReferenceProvider=h.EditorContextKeys.hasReferenceProvider.bindTo($),this._hasRenameProvider=h.EditorContextKeys.hasRenameProvider.bindTo($),this._hasSignatureHelpProvider=h.EditorContextKeys.hasSignatureHelpProvider.bindTo($),this._hasInlineHintsProvider=h.EditorContextKeys.hasInlineHintsProvider.bindTo($),this._hasDocumentFormattingProvider=h.EditorContextKeys.hasDocumentFormattingProvider.bindTo($),this._hasDocumentSelectionFormattingProvider=h.EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo($),this._hasMultipleDocumentFormattingProvider=h.EditorContextKeys.hasMultipleDocumentFormattingProvider.bindTo($),this._hasMultipleDocumentSelectionFormattingProvider=h.EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider.bindTo($),this._isInWalkThrough=h.EditorContextKeys.isInWalkThroughSnippet.bindTo($);const ie=()=>this._update();this._register(H.onDidChangeModel(ie)),this._register(H.onDidChangeModelLanguage(ie)),this._register(m.CompletionProviderRegistry.onDidChange(ie)),this._register(m.CodeActionProviderRegistry.onDidChange(ie)),this._register(m.CodeLensProviderRegistry.onDidChange(ie)),this._register(m.DefinitionProviderRegistry.onDidChange(ie)),this._register(m.DeclarationProviderRegistry.onDidChange(ie)),this._register(m.ImplementationProviderRegistry.onDidChange(ie)),this._register(m.TypeDefinitionProviderRegistry.onDidChange(ie)),this._register(m.HoverProviderRegistry.onDidChange(ie)),this._register(m.DocumentHighlightProviderRegistry.onDidChange(ie)),this._register(m.DocumentSymbolProviderRegistry.onDidChange(ie)),this._register(m.ReferenceProviderRegistry.onDidChange(ie)),this._register(m.RenameProviderRegistry.onDidChange(ie)),this._register(m.DocumentFormattingEditProviderRegistry.onDidChange(ie)),this._register(m.DocumentRangeFormattingEditProviderRegistry.onDidChange(ie)),this._register(m.SignatureHelpProviderRegistry.onDidChange(ie)),this._register(m.InlineHintsProviderRegistry.onDidChange(ie)),ie()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()})}_update(){const H=this._editor.getModel();if(!H){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(H.getLanguageIdentifier().language),this._hasCompletionItemProvider.set(m.CompletionProviderRegistry.has(H)),this._hasCodeActionsProvider.set(m.CodeActionProviderRegistry.has(H)),this._hasCodeLensProvider.set(m.CodeLensProviderRegistry.has(H)),this._hasDefinitionProvider.set(m.DefinitionProviderRegistry.has(H)),this._hasDeclarationProvider.set(m.DeclarationProviderRegistry.has(H)),this._hasImplementationProvider.set(m.ImplementationProviderRegistry.has(H)),this._hasTypeDefinitionProvider.set(m.TypeDefinitionProviderRegistry.has(H)),this._hasHoverProvider.set(m.HoverProviderRegistry.has(H)),this._hasDocumentHighlightProvider.set(m.DocumentHighlightProviderRegistry.has(H)),this._hasDocumentSymbolProvider.set(m.DocumentSymbolProviderRegistry.has(H)),this._hasReferenceProvider.set(m.ReferenceProviderRegistry.has(H)),this._hasRenameProvider.set(m.RenameProviderRegistry.has(H)),this._hasSignatureHelpProvider.set(m.SignatureHelpProviderRegistry.has(H)),this._hasInlineHintsProvider.set(m.InlineHintsProviderRegistry.has(H)),this._hasDocumentFormattingProvider.set(m.DocumentFormattingEditProviderRegistry.has(H)||m.DocumentRangeFormattingEditProviderRegistry.has(H)),this._hasDocumentSelectionFormattingProvider.set(m.DocumentRangeFormattingEditProviderRegistry.has(H)),this._hasMultipleDocumentFormattingProvider.set(m.DocumentFormattingEditProviderRegistry.all(H).length+m.DocumentRangeFormattingEditProviderRegistry.all(H).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(m.DocumentRangeFormattingEditProviderRegistry.all(H).length>1),this._isInWalkThrough.set(H.uri.scheme===C.Schemas.walkThroughSnippet)})}}e.EditorModeContext=ee;class se extends S.Disposable{constructor(H){super();this._onChange=this._register(new w.Emitter),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(N.trackFocus(H)),this._register(this._domFocusTracker.onDidFocus(()=>{this._hasFocus=!0,this._onChange.fire(void 0)})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasFocus=!1,this._onChange.fire(void 0)}))}hasFocus(){return this._hasFocus}}const ne=encodeURIComponent("");function X(U){return ne+encodeURIComponent(U.toString())+le}const z=encodeURIComponent('');function V(U){return z+encodeURIComponent(U.toString())+P}T.registerThemingParticipant((U,H)=>{const $=U.getColor(f.editorErrorBorder);$&&H.addRule(`.monaco-editor .squiggly-error { border-bottom: 4px double ${$}; }`);const ie=U.getColor(f.editorErrorForeground);ie&&H.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${X(ie)}") repeat-x bottom left; }`);const oe=U.getColor(f.editorErrorBackground);oe&&H.addRule(`.monaco-editor .squiggly-error::before { display: block; content: ''; width: 100%; height: 100%; background: ${oe}; }`);const ae=U.getColor(f.editorWarningBorder);ae&&H.addRule(`.monaco-editor .squiggly-warning { border-bottom: 4px double ${ae}; }`);const G=U.getColor(f.editorWarningForeground);G&&H.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${X(G)}") repeat-x bottom left; }`);const j=U.getColor(f.editorWarningBackground);j&&H.addRule(`.monaco-editor .squiggly-warning::before { display: block; content: ''; width: 100%; height: 100%; background: ${j}; }`);const te=U.getColor(f.editorInfoBorder);te&&H.addRule(`.monaco-editor .squiggly-info { border-bottom: 4px double ${te}; }`);const Z=U.getColor(f.editorInfoForeground);Z&&H.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${X(Z)}") repeat-x bottom left; }`);const ue=U.getColor(f.editorInfoBackground);ue&&H.addRule(`.monaco-editor .squiggly-info::before { display: block; content: ''; width: 100%; height: 100%; background: ${ue}; }`);const he=U.getColor(f.editorHintBorder);he&&H.addRule(`.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${he}; }`);const re=U.getColor(f.editorHintForeground);re&&H.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${V(re)}") no-repeat bottom left; }`);const ce=U.getColor(_.editorUnnecessaryCodeOpacity);ce&&H.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${ce.rgba.a}; }`);const me=U.getColor(_.editorUnnecessaryCodeBorder);me&&H.addRule(`.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${me}; }`);const Ce=U.getColor(f.editorForeground)||"inherit";H.addRule(`.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${Ce}}`)})}),define(Q[144],J([0,1,40,28,143,26,16,9,32,11,65]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EmbeddedCodeEditorWidget=void 0;let c=class extends M.CodeEditorWidget{constructor(s,a,u,r,i,n,t,l,h,m){super(s,Object.assign(Object.assign({},u.getRawOptions()),{overflowWidgetsDomNode:u.getOverflowWidgetsDomNode()}),{},r,i,n,t,l,h,m);this._parentEditor=u,this._overwriteOptions=a,super.updateOptions(this._overwriteOptions),this._register(u.onDidChangeConfiguration(_=>this._onParentConfigurationChanged(_)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(s){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(s){b.mixin(this._overwriteOptions,s,!0),super.updateOptions(this._overwriteOptions)}};c=Me([_e(3,C.IInstantiationService),_e(4,N.ICodeEditorService),_e(5,w.ICommandService),_e(6,S.IContextKeyService),_e(7,g.IThemeService),_e(8,d.INotificationService),_e(9,p.IAccessibilityService)],c),e.EmbeddedCodeEditorWidget=c}),define(Q[611],J([0,1,13,461,25,21,39,16,73,47,335]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionAnchorSet=void 0,e.SelectionAnchorSet=new C.RawContextKey("selectionAnchorSet",!1);let p=class Ft{constructor(r,i){this.editor=r,this.selectionAnchorSetContextKey=e.SelectionAnchorSet.bindTo(i),this.modelChangeListener=r.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}static get(r){return r.getContribution(Ft.ID)}setSelectionAnchor(){if(this.editor.hasModel()){const r=this.editor.getPosition(),i=this.decorationId?[this.decorationId]:[],n=this.editor.deltaDecorations(i,[{range:w.Selection.fromPositions(r,r),options:{stickiness:1,hoverMessage:new d.MarkdownString().appendText(N.localize(0,null)),className:"selection-anchor"}}]);this.decorationId=n[0],this.selectionAnchorSetContextKey.set(!!this.decorationId),g.alert(N.localize(1,null,r.lineNumber,r.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const r=this.editor.getModel().getDecorationRange(this.decorationId);r&&this.editor.setPosition(r.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const r=this.editor.getModel().getDecorationRange(this.decorationId);if(r){const i=this.editor.getPosition();this.editor.setSelection(w.Selection.fromPositions(r.getStartPosition(),i)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){this.decorationId&&(this.editor.deltaDecorations([this.decorationId],[]),this.decorationId=void 0,this.selectionAnchorSetContextKey.set(!1))}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};p.ID="editor.contrib.selectionAnchorController",p=Me([_e(1,C.IContextKeyService)],p);class c extends b.EditorAction{constructor(){super({id:"editor.action.setSelectionAnchor",label:N.localize(2,null),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:M.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|32),weight:100}})}run(r,i){return Ie(this,void 0,void 0,function*(){p.get(i).setSelectionAnchor()})}}class o extends b.EditorAction{constructor(){super({id:"editor.action.goToSelectionAnchor",label:N.localize(3,null),alias:"Go to Selection Anchor",precondition:e.SelectionAnchorSet})}run(r,i){return Ie(this,void 0,void 0,function*(){p.get(i).goToSelectionAnchor()})}}class s extends b.EditorAction{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:N.localize(4,null),alias:"Select from Anchor to Cursor",precondition:e.SelectionAnchorSet,kbOpts:{kbExpr:M.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|41),weight:100}})}run(r,i){return Ie(this,void 0,void 0,function*(){p.get(i).selectFromAnchorToCursor()})}}class a extends b.EditorAction{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:N.localize(5,null),alias:"Cancel Selection Anchor",precondition:e.SelectionAnchorSet,kbOpts:{kbExpr:M.EditorContextKeys.editorTextFocus,primary:9,weight:100}})}run(r,i){return Ie(this,void 0,void 0,function*(){p.get(i).cancelSelectionAnchor()})}}b.registerEditorContribution(p.ID,p),b.registerEditorAction(c),b.registerEditorAction(o),b.registerEditorAction(s),b.registerEditorAction(a)}),define(Q[612],J([0,1,462,15,2,13,14,3,21,25,53,31,49,22,11,34,336]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketMatchingController=void 0;const r=s.registerColor("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},b.localize(0,null));class i extends w.EditorAction{constructor(){super({id:"editor.action.jumpToBracket",label:b.localize(1,null),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:2048|1024|88,weight:100}})}run(m,_){let f=l.get(_);!f||f.jumpToBracket()}}class n extends w.EditorAction{constructor(){super({id:"editor.action.selectToBracket",label:b.localize(2,null),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(m,_,f){const v=l.get(_);if(!!v){let y=!0;f&&f.selectBrackets===!1&&(y=!1),v.selectToBracket(y)}}}class t{constructor(m,_,f){this.position=m,this.brackets=_,this.options=f}}class l extends M.Disposable{constructor(m){super();this._editor=m,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=[],this._updateBracketsSoon=this._register(new N.RunOnceScheduler(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(58),this._updateBracketsSoon.schedule(),this._register(m.onDidChangeCursorPosition(_=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(m.onDidChangeModelContent(_=>{this._updateBracketsSoon.schedule()})),this._register(m.onDidChangeModel(_=>{this._lastBracketsData=[],this._decorations=[],this._updateBracketsSoon.schedule()})),this._register(m.onDidChangeModelLanguageConfiguration(_=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(m.onDidChangeConfiguration(_=>{_.hasChanged(58)&&(this._matchBrackets=this._editor.getOption(58),this._decorations=this._editor.deltaDecorations(this._decorations,[]),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))}static get(m){return m.getContribution(l.ID)}jumpToBracket(){if(!!this._editor.hasModel()){const m=this._editor.getModel(),_=this._editor.getSelections().map(f=>{const v=f.getStartPosition(),y=m.matchBracket(v);let L=null;if(y)y[0].containsPosition(v)?L=y[1].getStartPosition():y[1].containsPosition(v)&&(L=y[0].getStartPosition());else{const I=m.findEnclosingBrackets(v);if(I)L=I[0].getStartPosition();else{const k=m.findNextBracket(v);k&&k.range&&(L=k.range.getStartPosition())}}return L?new d.Selection(L.lineNumber,L.column,L.lineNumber,L.column):new d.Selection(v.lineNumber,v.column,v.lineNumber,v.column)});this._editor.setSelections(_),this._editor.revealRange(_[0])}}selectToBracket(m){if(!!this._editor.hasModel()){const _=this._editor.getModel(),f=[];this._editor.getSelections().forEach(v=>{const y=v.getStartPosition();let L=_.matchBracket(y);if(!L&&(L=_.findEnclosingBrackets(y),!L)){const E=_.findNextBracket(y);E&&E.range&&(L=_.matchBracket(E.range.getStartPosition()))}let I=null,k=null;if(L){L.sort(C.Range.compareRangesUsingStarts);const[E,T]=L;I=m?E.getStartPosition():E.getEndPosition(),k=m?T.getEndPosition():T.getStartPosition()}I&&k&&f.push(new d.Selection(I.lineNumber,I.column,k.lineNumber,k.column))}),f.length>0&&(this._editor.setSelections(f),this._editor.revealRange(f[0]))}}_updateBrackets(){if(this._matchBrackets!=="never"){this._recomputeBrackets();let m=[],_=0;for(const f of this._lastBracketsData){let v=f.brackets;v&&(m[_++]={range:v[0],options:f.options},m[_++]={range:v[1],options:f.options})}this._decorations=this._editor.deltaDecorations(this._decorations,m)}}_recomputeBrackets(){if(!this._editor.hasModel()){this._lastBracketsData=[],this._lastVersionId=0;return}const m=this._editor.getSelections();if(m.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const _=this._editor.getModel(),f=_.getVersionId();let v=[];this._lastVersionId===f&&(v=this._lastBracketsData);let y=[],L=0;for(let O=0,A=m.length;O1&&y.sort(S.Position.compare);let I=[],k=0,E=0,T=v.length;for(let O=0,A=y.length;O{const _=h.getColor(o.editorBracketMatchBackground);_&&m.addRule(`.monaco-editor .bracket-match { background-color: ${_}; }`);const f=h.getColor(o.editorBracketMatchBorder);f&&m.addRule(`.monaco-editor .bracket-match { border: 1px solid ${f}; }`)}),u.MenuRegistry.appendMenuItem(u.MenuId.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:b.localize(3,null)},order:2})}),define(Q[613],J([0,1,463,13,25,399]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class S extends N.EditorAction{constructor(p,c){super(c);this.left=p}run(p,c){if(!!c.hasModel()){let o=[],s=c.getSelections();for(const a of s)o.push(new w.MoveCaretCommand(a,this.left));c.pushUndoStop(),c.executeCommands(this.id,o),c.pushUndoStop()}}}class C extends S{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:b.localize(0,null),alias:"Move Selected Text Left",precondition:M.EditorContextKeys.writable})}}class d extends S{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:b.localize(1,null),alias:"Move Selected Text Right",precondition:M.EditorContextKeys.writable})}}N.registerEditorAction(C),N.registerEditorAction(d)}),define(Q[614],J([0,1,464,13,92,3,25,180]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class d extends N.EditorAction{constructor(){super({id:"editor.action.transposeLetters",label:b.localize(0,null),alias:"Transpose Letters",precondition:S.EditorContextKeys.writable,kbOpts:{kbExpr:S.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|50},weight:100}})}run(p,c){if(!!c.hasModel()){let o=c.getModel(),s=[],a=c.getSelections();for(let u of a)if(!!u.isEmpty()){let r=u.startLineNumber,i=u.startColumn,n=o.getLineMaxColumn(r);if(!(r===1&&(i===1||i===2&&n===2))){let t=i===n?u.getPosition():C.MoveOperations.rightPosition(o,u.getPosition().lineNumber,u.getPosition().column),l=C.MoveOperations.leftPosition(o,t.lineNumber,t.column),h=C.MoveOperations.leftPosition(o,l.lineNumber,l.column),m=o.getValueInRange(w.Range.fromPositions(h,l)),_=o.getValueInRange(w.Range.fromPositions(l,t)),f=w.Range.fromPositions(h,t);s.push(new M.ReplaceCommand(f,_+m))}}s.length>0&&(c.pushUndoStop(),c.executeCommands(this.id,s),c.pushUndoStop())}}}N.registerEditorAction(d)}),define(Q[615],J([0,1,465,35,17,164,13,28,25,34,84]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PasteAction=e.CopyAction=e.CutAction=void 0;const c="9_cutcopypaste",o=M.isNative||document.queryCommandSupported("cut"),s=M.isNative||document.queryCommandSupported("copy"),a=typeof navigator.clipboard=="undefined"||N.isFirefox?document.queryCommandSupported("paste"):!0;function u(n){return n.register(),n}e.CutAction=o?u(new S.MultiCommand({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:M.isNative?{primary:2048|54,win:{primary:2048|54,secondary:[1024|20]},weight:100}:void 0,menuOpts:[{menuId:g.MenuId.MenubarEditMenu,group:"2_ccp",title:b.localize(0,null),order:1},{menuId:g.MenuId.EditorContext,group:c,title:b.localize(1,null),when:d.EditorContextKeys.writable,order:1},{menuId:g.MenuId.CommandPalette,group:"",title:b.localize(2,null),order:1}]})):void 0,e.CopyAction=s?u(new S.MultiCommand({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:M.isNative?{primary:2048|33,win:{primary:2048|33,secondary:[2048|19]},weight:100}:void 0,menuOpts:[{menuId:g.MenuId.MenubarEditMenu,group:"2_ccp",title:b.localize(3,null),order:2},{menuId:g.MenuId.EditorContext,group:c,title:b.localize(4,null),order:2},{menuId:g.MenuId.CommandPalette,group:"",title:b.localize(5,null),order:1}]})):void 0,e.PasteAction=a?u(new S.MultiCommand({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:M.isNative?{primary:2048|52,win:{primary:2048|52,secondary:[1024|19]},linux:{primary:2048|52,secondary:[1024|19]},weight:100}:void 0,menuOpts:[{menuId:g.MenuId.MenubarEditMenu,group:"2_ccp",title:b.localize(6,null),order:3},{menuId:g.MenuId.EditorContext,group:c,title:b.localize(7,null),when:d.EditorContextKeys.writable,order:3},{menuId:g.MenuId.CommandPalette,group:"",title:b.localize(8,null),order:1}]})):void 0;class r extends S.EditorAction{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:b.localize(9,null),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:d.EditorContextKeys.textInputFocus,primary:0,weight:100}})}run(t,l){!l.hasModel()||!l.getOption(28)&&l.getSelection().isEmpty()||(w.CopyOptions.forceCopyWithSyntaxHighlighting=!0,l.focus(),document.execCommand("copy"),w.CopyOptions.forceCopyWithSyntaxHighlighting=!1)}}function i(n,t){!n||(n.addImplementation(1e4,(l,h)=>{const m=l.get(C.ICodeEditorService).getFocusedCodeEditor();if(m&&m.hasTextFocus()){const _=m.getOption(28),f=m.getSelection();return f&&f.isEmpty()&&!_||document.execCommand(t),!0}return!1}),n.addImplementation(0,(l,h)=>(document.execCommand(t),!0)))}i(e.CutAction,"cut"),i(e.CopyAction,"copy"),e.PasteAction&&(e.PasteAction.addImplementation(1e4,(n,t)=>{const l=n.get(C.ICodeEditorService),h=n.get(p.IClipboardService),m=l.getFocusedCodeEditor();return m&&m.hasTextFocus()?(!document.execCommand("paste")&&M.isWeb&&(()=>Ie(void 0,void 0,void 0,function*(){const f=yield h.readText();if(f!==""){const v=w.InMemoryClipboardMetadataManager.INSTANCE.get(f);let y=!1,L=null,I=null;v&&(y=m.getOption(28)&&!!v.isFromEmptySelection,L=typeof v.multicursorText!="undefined"?v.multicursorText:null,I=v.mode),m.trigger("keyboard","paste",{text:f,pasteOnNewLine:y,multicursorText:L,mode:I})}}))(),!0):!1}),e.PasteAction.addImplementation(0,(n,t)=>(document.execCommand("paste"),!0))),s&&S.registerEditorAction(r)}),define(Q[145],J([0,1,19,23,12,2,24,70,3,21,18,36,130,59,26]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCodeActions=e.CodeActionItem=e.fixAllCommandId=e.organizeImportsCommandId=e.sourceActionCommandId=e.refactorCommandId=e.codeActionCommandId=void 0,e.codeActionCommandId="editor.action.codeAction",e.refactorCommandId="editor.action.refactor",e.sourceActionCommandId="editor.action.sourceAction",e.organizeImportsCommandId="editor.action.organizeImports",e.fixAllCommandId="editor.action.fixAll";class u{constructor(m,_){this.action=m,this.provider=_}resolve(m){var _;return Ie(this,void 0,void 0,function*(){if(((_=this.provider)===null||_===void 0?void 0:_.resolveCodeAction)&&!this.action.edit){let f;try{f=yield this.provider.resolveCodeAction(this.action,m)}catch(v){M.onUnexpectedExternalError(v)}f&&(this.action.edit=f.edit)}return this})}}e.CodeActionItem=u;class r extends w.Disposable{constructor(m,_,f){super();this.documentation=_,this._register(f),this.allActions=b.mergeSort([...m],r.codeActionsComparator),this.validActions=this.allActions.filter(({action:v})=>!v.disabled)}static codeActionsComparator({action:m},{action:_}){return m.isPreferred&&!_.isPreferred?-1:!m.isPreferred&&_.isPreferred?1:b.isNonEmptyArray(m.diagnostics)?b.isNonEmptyArray(_.diagnostics)?m.diagnostics[0].message.localeCompare(_.diagnostics[0].message):-1:b.isNonEmptyArray(_.diagnostics)?1:0}get hasAutoFix(){return this.validActions.some(({action:m})=>!!m.kind&&o.CodeActionKind.QuickFix.contains(new o.CodeActionKind(m.kind))&&!!m.isPreferred)}}const i={actions:[],documentation:void 0};function n(h,m,_,f,v){var y;const L=_.filter||{},I={only:(y=L.include)===null||y===void 0?void 0:y.value,trigger:_.type},k=new C.TextModelCancellationTokenSource(h,v),E=t(h,L),T=new w.DisposableStore,O=E.map(B=>Ie(this,void 0,void 0,function*(){try{f.report(B);const F=yield B.provideCodeActions(h,m,I,k.token);if(F&&T.add(F),k.token.isCancellationRequested)return i;const D=((F==null?void 0:F.actions)||[]).filter(W=>W&&o.filtersAction(L,W)),R=l(B,D,L.include);return{actions:D.map(W=>new u(W,B)),documentation:R}}catch(F){if(M.isPromiseCanceledError(F))throw F;return M.onUnexpectedExternalError(F),i}})),A=p.CodeActionProviderRegistry.onDidChange(()=>{const B=p.CodeActionProviderRegistry.all(h);b.equals(B,E)||k.cancel()});return Promise.all(O).then(B=>{const F=b.flatten(B.map(R=>R.actions)),D=b.coalesce(B.map(R=>R.documentation));return new r(F,D,T)}).finally(()=>{A.dispose(),k.dispose()})}e.getCodeActions=n;function t(h,m){return p.CodeActionProviderRegistry.all(h).filter(_=>_.providedCodeActionKinds?_.providedCodeActionKinds.some(f=>o.mayIncludeActionsOfKind(m,new o.CodeActionKind(f))):!0)}function l(h,m,_){if(!!h.documentation){const f=h.documentation.map(v=>({kind:new o.CodeActionKind(v.kind),command:v.command}));if(_){let v;for(const y of f)y.kind.contains(_)&&(v?v.kind.contains(y.kind)&&(v=y):v=y);if(v)return v==null?void 0:v.command}for(const v of m)if(!!v.kind){for(const y of f)if(y.kind.contains(new o.CodeActionKind(v.kind)))return y.command}}}a.CommandsRegistry.registerCommand("_executeCodeActionProvider",function(h,m,_,f,v){return Ie(this,void 0,void 0,function*(){if(!(m instanceof S.URI))throw M.illegalArgument();const y=h.get(c.IModelService).getModel(m);if(!y)throw M.illegalArgument();const L=g.Selection.isISelection(_)?g.Selection.liftSelection(_):d.Range.isIRange(_)?y.validateRange(_):void 0;if(!L)throw M.illegalArgument();const I=typeof f=="string"?new o.CodeActionKind(f):void 0,k=yield n(y,L,{type:2,filter:{includeSourceActions:!0,include:I}},s.Progress.None,N.CancellationToken.None),E=[],T=Math.min(k.validActions.length,typeof v=="number"?v:0);for(let O=0;OO.action)}finally{setTimeout(()=>k.dispose(),100)}})})}),define(Q[616],J([0,1,7,48,12,150,2,14,18,145,130,68,37]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionKeybindingResolver=e.CodeActionMenu=void 0;class s extends N.Action{constructor(n,t){super(n.command?n.command.id:n.title,a(n.title),void 0,!n.disabled,t);this.action=n}}function a(i){return i.replace(/\r\n|\r|\n/g," ")}let u=class extends S.Disposable{constructor(n,t,l,h){super();this._editor=n,this._delegate=t,this._contextMenuService=l,this._visible=!1,this._showingActions=this._register(new S.MutableDisposable),this._keybindingResolver=new r({getKeybindings:()=>h.getKeybindings()})}get isVisible(){return this._visible}show(n,t,l,h){return Ie(this,void 0,void 0,function*(){const m=h.includeDisabledActions?t.allActions:t.validActions;if(!m.length){this._visible=!1;return}if(!this._editor.getDomNode())throw this._visible=!1,M.canceled();this._visible=!0,this._showingActions.value=t;const _=this.getMenuActions(n,m,t.documentation),f=C.Position.isIPosition(l)?this._toCoords(l):l||{x:0,y:0},v=this._keybindingResolver.getResolver();this._contextMenuService.showContextMenu({domForShadowRoot:this._editor.getDomNode(),getAnchor:()=>f,getActions:()=>_,onHide:()=>{this._visible=!1,this._editor.focus()},autoSelectFirstItem:!0,getKeyBinding:y=>y instanceof s?v(y.action):void 0})})}getMenuActions(n,t,l){var h,m;const _=L=>new s(L.action,()=>this._delegate.onSelectCodeAction(L)),f=t.map(_),v=[...l],y=this._editor.getModel();if(y&&f.length)for(const L of d.CodeActionProviderRegistry.all(y))L._getAdditionalMenuItems&&v.push(...L._getAdditionalMenuItems({trigger:n.type,only:(m=(h=n.filter)===null||h===void 0?void 0:h.include)===null||m===void 0?void 0:m.value},t.map(I=>I.action)));return v.length&&f.push(new N.Separator,...v.map(L=>_(new g.CodeActionItem({title:L.title,command:L},void 0)))),f}_toCoords(n){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(n,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(n),l=b.getDomNodePagePosition(this._editor.getDomNode()),h=l.left+t.left,m=l.top+t.top+t.height;return{x:h,y:m}}};u=Me([_e(2,c.IContextMenuService),_e(3,o.IKeybindingService)],u),e.CodeActionMenu=u;class r{constructor(n){this._keybindingProvider=n}getResolver(){const n=new w.Lazy(()=>this._keybindingProvider.getKeybindings().filter(t=>r.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let l=t.commandArgs;return t.command===g.organizeImportsCommandId?l={kind:p.CodeActionKind.SourceOrganizeImports.value}:t.command===g.fixAllCommandId&&(l={kind:p.CodeActionKind.SourceFixAll.value}),Object.assign({resolvedKeybinding:t.resolvedKeybinding},p.CodeActionCommandArgs.fromUser(l,{kind:p.CodeActionKind.None,apply:"never"}))}));return t=>{if(t.kind){const l=this.bestKeybindingForCodeAction(t,n.getValue());return l==null?void 0:l.resolvedKeybinding}}}bestKeybindingForCodeAction(n,t){if(!!n.kind){const l=new p.CodeActionKind(n.kind);return t.filter(h=>h.kind.contains(l)).filter(h=>h.preferred?n.isPreferred:!0).reduceRight((h,m)=>h?h.kind.contains(m.kind)?m:h:m,void 0)}}}e.CodeActionKeybindingResolver=r,r.codeActionCommands=[g.refactorCommandId,g.codeActionCommandId,g.sourceActionCommandId,g.organizeImportsCommandId,g.fixAllCommandId]});var tt=this&&this.__classPrivateFieldGet||function(q,e){if(!e.has(q))throw new TypeError("attempted to get private field on non-instance");return e.get(q)},_t=this&&this.__classPrivateFieldSet||function(q,e,b){if(!e.has(q))throw new TypeError("attempted to set private field on non-instance");return e.set(q,b),b};define(Q[617],J([0,1,15,12,6,2,44,3,18,16,59,145]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";var o;Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionModel=e.CodeActionsState=e.SUPPORTED_CODE_ACTIONS=void 0,e.SUPPORTED_CODE_ACTIONS=new g.RawContextKey("supportedCodeAction","");class s extends w.Disposable{constructor(n,t,l,h=250){super();this._editor=n,this._markerService=t,this._signalChange=l,this._delay=h,this._autoTriggerTimer=this._register(new b.TimeoutTimer),this._register(this._markerService.onMarkerChanged(m=>this._onMarkerChanges(m))),this._register(this._editor.onDidChangeCursorPosition(()=>this._onCursorChange()))}trigger(n){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(n);return this._createEventAndSignalChange(n,t)}_onMarkerChanges(n){const t=this._editor.getModel();!t||n.some(l=>S.isEqual(l,t.uri))&&this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:1})},this._delay)}_onCursorChange(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:1})},this._delay)}_getRangeOfMarker(n){const t=this._editor.getModel();if(!!t)for(const l of this._markerService.read({resource:t.uri})){const h=t.validateRange(l);if(C.Range.intersectRanges(h,n))return C.Range.lift(h)}}_getRangeOfSelectionUnlessWhitespaceEnclosed(n){if(!!this._editor.hasModel()){const t=this._editor.getModel(),l=this._editor.getSelection();if(l.isEmpty()&&n.type===1){const{lineNumber:h,column:m}=l.getPosition(),_=t.getLineContent(h);if(_.length===0)return;if(m===1){if(/\s/.test(_[0]))return}else if(m===t.getLineMaxColumn(h)){if(/\s/.test(_[_.length-1]))return}else if(/\s/.test(_[m-2])&&/\s/.test(_[m-1]))return}return l}}_createEventAndSignalChange(n,t){const l=this._editor.getModel();if(!t||!l){this._signalChange(void 0);return}const h=this._getRangeOfMarker(t),m=h?h.getStartPosition():t.getStartPosition(),_={trigger:n,selection:t,position:m};return this._signalChange(_),_}}var a;(function(i){i.Empty={type:0};class n{constructor(l,h,m,_){this.trigger=l,this.rangeOrSelection=h,this.position=m,this._cancellablePromise=_,this.type=1,this.actions=_.catch(f=>{if(N.isPromiseCanceledError(f))return u;throw f})}cancel(){this._cancellablePromise.cancel()}}i.Triggered=n})(a=e.CodeActionsState||(e.CodeActionsState={}));const u={allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1};class r extends w.Disposable{constructor(n,t,l,h){super();this._editor=n,this._markerService=t,this._progressService=h,this._codeActionOracle=this._register(new w.MutableDisposable),this._state=a.Empty,this._onDidChangeState=this._register(new M.Emitter),this.onDidChangeState=this._onDidChangeState.event,o.set(this,!1),this._supportedCodeActions=e.SUPPORTED_CODE_ACTIONS.bindTo(l),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(d.CodeActionProviderRegistry.onDidChange(()=>this._update())),this._update()}dispose(){tt(this,o)||(_t(this,o,!0),super.dispose(),this.setState(a.Empty,!0))}_update(){if(!tt(this,o)){this._codeActionOracle.value=void 0,this.setState(a.Empty);const n=this._editor.getModel();if(n&&d.CodeActionProviderRegistry.has(n)&&!this._editor.getOption(75)){const t=[];for(const l of d.CodeActionProviderRegistry.all(n))Array.isArray(l.providedCodeActionKinds)&&t.push(...l.providedCodeActionKinds);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new s(this._editor,this._markerService,l=>{var h;if(!l){this.setState(a.Empty);return}const m=b.createCancelablePromise(_=>c.getCodeActions(n,l.selection,l.trigger,p.Progress.None,_));l.trigger.type===2&&((h=this._progressService)===null||h===void 0||h.showWhile(m,250)),this.setState(new a.Triggered(l.trigger,l.selection,l.position,m))},void 0),this._codeActionOracle.value.trigger({type:1})}else this._supportedCodeActions.reset()}}trigger(n){this._codeActionOracle.value&&this._codeActionOracle.value.trigger(n)}setState(n,t){n!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=n,!t&&!tt(this,o)&&this._onDidChangeState.fire(n))}}e.CodeActionModel=r,o=new WeakMap}),define(Q[618],J([0,1,15,12,2,70,13,18,248,596,26,32,575,7,89,78,468,25,134]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensContribution=void 0;let t=class{constructor(h,m,_,f){this._editor=h,this._commandService=m,this._notificationService=_,this._codeLensCache=f,this._disposables=new M.DisposableStore,this._localToDispose=new M.DisposableStore,this._lenses=[],this._getCodeLensModelDelays=new n.LanguageFeatureRequestDelays(C.CodeLensProviderRegistry,250,2500),this._oldCodeLensModels=new M.DisposableStore,this._resolveCodeLensesDelays=new n.LanguageFeatureRequestDelays(C.CodeLensProviderRegistry,250,2500),this._resolveCodeLensesScheduler=new b.RunOnceScheduler(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDelays.min),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(v=>{(v.hasChanged(38)||v.hasChanged(13)||v.hasChanged(12))&&this._updateLensStyle(),v.hasChanged(11)&&this._onModelChange()})),this._disposables.add(C.CodeLensProviderRegistry.onDidChange(this._onModelChange,this)),this._onModelChange(),this._styleClassName="_"+a.hash(this._editor.getId()).toString(16),this._styleElement=s.createStyleSheet(s.isInShadowDOM(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0),this._updateLensStyle()}dispose(){var h;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(h=this._currentCodeLensModel)===null||h===void 0||h.dispose(),this._styleElement.remove()}_getLayoutInfo(){let h=this._editor.getOption(13),m;return!h||h<5?(h=this._editor.getOption(40)*.9|0,m=this._editor.getOption(53)):m=h*Math.max(1.3,this._editor.getOption(53)/this._editor.getOption(40))|0,{codeLensHeight:m,fontSize:h}}_updateLensStyle(){const{codeLensHeight:h,fontSize:m}=this._getLayoutInfo(),_=this._editor.getOption(12),f=this._editor.getOption(38),v=`--codelens-font-family${this._styleClassName}`;let y=` + .monaco-editor .codelens-decoration.${this._styleClassName} { line-height: ${h}px; font-size: ${m}px; padding-right: ${Math.round(m*.5)}px; font-feature-settings: ${f.fontFeatureSettings} } + .monaco-editor .codelens-decoration.${this._styleClassName} span.codicon { line-height: ${h}px; font-size: ${m}px; } + `;_&&(y+=`.monaco-editor .codelens-decoration.${this._styleClassName} { font-family: var(${v})}`),this._styleElement.textContent=y,this._editor.getContainerDomNode().style.setProperty(v,_!=null?_:"inherit"),this._editor.changeViewZones(L=>{for(let I of this._lenses)I.updateHeight(h,L)})}_localDispose(){var h,m,_;(h=this._getCodeLensModelPromise)===null||h===void 0||h.cancel(),this._getCodeLensModelPromise=void 0,(m=this._resolveCodeLensesPromise)===null||m===void 0||m.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(_=this._currentCodeLensModel)===null||_===void 0||_.dispose()}_onModelChange(){this._localDispose();const h=this._editor.getModel();if(!!h&&!!this._editor.getOption(11)){const m=this._codeLensCache.get(h);if(m&&this._renderCodeLensSymbols(m),!C.CodeLensProviderRegistry.has(h)){m&&this._localToDispose.add(b.disposableTimeout(()=>{const f=this._codeLensCache.get(h);m===f&&(this._codeLensCache.delete(h),this._onModelChange())},30*1e3));return}for(const f of C.CodeLensProviderRegistry.all(h))if(typeof f.onDidChange=="function"){let v=f.onDidChange(()=>_.schedule());this._localToDispose.add(v)}const _=new b.RunOnceScheduler(()=>{var f;const v=Date.now();(f=this._getCodeLensModelPromise)===null||f===void 0||f.cancel(),this._getCodeLensModelPromise=b.createCancelablePromise(y=>d.getCodeLensModel(h,y)),this._getCodeLensModelPromise.then(y=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=y,this._codeLensCache.put(h,y);const L=this._getCodeLensModelDelays.update(h,Date.now()-v);_.delay=L,this._renderCodeLensSymbols(y),this._resolveCodeLensesInViewport()},N.onUnexpectedError)},this._getCodeLensModelDelays.get(h));this._localToDispose.add(_),this._localToDispose.add(M.toDisposable(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(f=>{this._editor.changeViewZones(v=>{let y=[],L=-1;this._lenses.forEach(k=>{!k.isValid()||L===k.getLineNumber()?y.push(k):(k.update(v),L=k.getLineNumber())});let I=new g.CodeLensHelper;y.forEach(k=>{k.dispose(I,v),this._lenses.splice(this._lenses.indexOf(k),1)}),I.commit(f)})}),_.schedule()})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{_.schedule()})),this._localToDispose.add(this._editor.onDidScrollChange(f=>{f.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(M.toDisposable(()=>{if(this._editor.getModel()){const f=w.StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(v=>{this._editor.changeViewZones(y=>{this._disposeAllLenses(v,y)})}),f.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(f=>{if(f.target.type===9){let v=f.target.element;if((v==null?void 0:v.tagName)==="SPAN"&&(v=v.parentElement),(v==null?void 0:v.tagName)==="A")for(const y of this._lenses){let L=y.getCommand(v);if(L){this._commandService.executeCommand(L.id,...L.arguments||[]).catch(I=>this._notificationService.error(I));break}}}})),_.schedule()}}_disposeAllLenses(h,m){const _=new g.CodeLensHelper;for(const f of this._lenses)f.dispose(_,m);h&&_.commit(h),this._lenses.length=0}_renderCodeLensSymbols(h){if(!!this._editor.hasModel()){let m=this._editor.getModel().getLineCount(),_=[],f;for(let L of h.lenses){let I=L.symbol.range.startLineNumber;I<1||I>m||(f&&f[f.length-1].symbol.range.startLineNumber===I?f.push(L):(f=[L],_.push(f)))}const v=w.StableEditorScrollState.capture(this._editor),y=this._getLayoutInfo();this._editor.changeDecorations(L=>{this._editor.changeViewZones(I=>{const k=new g.CodeLensHelper;let E=0,T=0;for(;T<_.length&&Ethis._resolveCodeLensesInViewportSoon())),E++,T++)}for(;Ethis._resolveCodeLensesInViewportSoon())),T++;k.commit(L)})}),v.restore(this._editor)}}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var h;(h=this._resolveCodeLensesPromise)===null||h===void 0||h.cancel(),this._resolveCodeLensesPromise=void 0;const m=this._editor.getModel();if(!!m){const _=[],f=[];if(this._lenses.forEach(L=>{const I=L.computeIfNecessary(m);I&&(_.push(I),f.push(L))}),_.length!==0){const v=Date.now(),y=b.createCancelablePromise(L=>{const I=_.map((k,E)=>{const T=new Array(k.length),O=k.map((A,B)=>!A.symbol.command&&typeof A.provider.resolveCodeLens=="function"?Promise.resolve(A.provider.resolveCodeLens(m,A.symbol,L)).then(F=>{T[B]=F},N.onUnexpectedExternalError):(T[B]=A.symbol,Promise.resolve(void 0)));return Promise.all(O).then(()=>{!L.isCancellationRequested&&!f[E].isDisposed()&&f[E].updateCommands(T)})});return Promise.all(I)});this._resolveCodeLensesPromise=y,this._resolveCodeLensesPromise.then(()=>{const L=this._resolveCodeLensesDelays.update(m,Date.now()-v);this._resolveCodeLensesScheduler.delay=L,this._currentCodeLensModel&&this._codeLensCache.put(m,this._currentCodeLensModel),this._oldCodeLensModels.clear(),y===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},L=>{N.onUnexpectedError(L),y===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}}}getLenses(){return this._lenses}};t.ID="css.editor.codeLens",t=Me([_e(1,p.ICommandService),_e(2,c.INotificationService),_e(3,o.ICodeLensCache)],t),e.CodeLensContribution=t,S.registerEditorContribution(t.ID,t),S.registerEditorAction(class extends S.EditorAction{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:i.EditorContextKeys.hasCodeLensProvider,label:r.localize(0,null),alias:"Show CodeLens Commands For Current Line"})}run(h,m){return Ie(this,void 0,void 0,function*(){if(!!m.hasModel()){const _=h.get(u.IQuickInputService),f=h.get(p.ICommandService),v=h.get(c.INotificationService),y=m.getSelection().positionLineNumber,L=m.getContribution(t.ID),I=[];for(let E of L.getLenses())if(E.getLineNumber()===y)for(let T of E.getItems()){const{command:O}=T.symbol;O&&I.push({label:O.title,command:O})}if(I.length!==0){const k=yield _.pick(I,{canPickMany:!1});if(!!k)try{yield f.executeCommand(k.command.id,...k.command.arguments||[])}catch(E){v.error(E)}}}})}})}),define(Q[260],J([0,1,15,29,12,89,2,13,28,3,31,18,249,46]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorDetector=void 0;const a=500;let u=class Wt extends S.Disposable{constructor(i,n,t){super();this._editor=i,this._codeEditorService=n,this._configurationService=t,this._localToDispose=this._register(new S.DisposableStore),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=[],this._decorationsTypes=new Set,this._register(i.onDidChangeModel(()=>{this._isEnabled=this.isEnabled(),this.onModelChanged()})),this._register(i.onDidChangeModelLanguage(()=>this.onModelChanged())),this._register(c.ColorProviderRegistry.onDidChange(()=>this.onModelChanged())),this._register(i.onDidChangeConfiguration(()=>{let l=this._isEnabled;this._isEnabled=this.isEnabled(),l!==this._isEnabled&&(this._isEnabled?this.onModelChanged():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}isEnabled(){const i=this._editor.getModel();if(!i)return!1;const n=i.getLanguageIdentifier(),t=this._configurationService.getValue(n.language);if(t){const l=t.colorDecorators;if(l&&l.enable!==void 0&&!l.enable)return l.enable}return this._editor.getOption(14)}static get(i){return i.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}onModelChanged(){if(this.stop(),!!this._isEnabled){const i=this._editor.getModel();!i||!c.ColorProviderRegistry.has(i)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new b.TimeoutTimer,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},Wt.RECOMPUTE_TIME))})),this.beginCompute())}}beginCompute(){this._computePromise=b.createCancelablePromise(i=>{const n=this._editor.getModel();return n?o.getColors(n,i):Promise.resolve([])}),this._computePromise.then(i=>{this.updateDecorations(i),this.updateColorDecorators(i),this._computePromise=null},M.onUnexpectedError)}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(i){const n=i.map(t=>({range:{startLineNumber:t.colorInfo.range.startLineNumber,startColumn:t.colorInfo.range.startColumn,endLineNumber:t.colorInfo.range.endLineNumber,endColumn:t.colorInfo.range.endColumn},options:p.ModelDecorationOptions.EMPTY}));this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,n),this._colorDatas=new Map,this._decorationsIds.forEach((t,l)=>this._colorDatas.set(t,i[l]))}updateColorDecorators(i){let n=[],t={};for(let l=0;l{t[l]||this._codeEditorService.removeDecorationType(l)}),this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,n)}removeAllDecorations(){this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,[]),this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,[]),this._decorationsTypes.forEach(i=>{this._codeEditorService.removeDecorationType(i)})}getColorData(i){const n=this._editor.getModel();if(!n)return null;const t=n.getDecorationsInRange(g.Range.fromPositions(i,i)).filter(l=>this._colorDatas.has(l.id));return t.length===0?null:this._colorDatas.get(t[0].id)}};u.ID="editor.contrib.colorDetector",u.RECOMPUTE_TIME=1e3,u=Me([_e(1,d.ICodeEditorService),_e(2,s.IConfigurationService)],u),e.ColorDetector=u,C.registerEditorContribution(u.ID,u)}),define(Q[619],J([0,1,469,39,13,3,25,224,401,34]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class p extends M.EditorAction{constructor(r,i){super(i);this._type=r}run(r,i){if(!!i.hasModel()){const n=i.getModel(),t=[],l=n.getOptions(),h=i.getOption(16),m=i.getSelections().map((f,v)=>({selection:f,index:v,ignoreFirstLine:!1}));m.sort((f,v)=>w.Range.compareRangesUsingStarts(f.selection,v.selection));let _=m[0];for(let f=1;fthis._onContextMenu(m))),this._toDispose.add(this._editor.onMouseWheel(m=>{if(this._contextMenuIsBeingShownCount>0){const _=this._contextViewService.getContextViewElement(),f=m.srcElement;f.shadowRoot&&N.getShadowRoot(_)===f.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(m=>{m.keyCode===58&&(m.preventDefault(),m.stopPropagation(),this.showContextMenu())}))}static get(r){return r.getContribution(Bt.ID)}_onContextMenu(r){if(!!this._editor.hasModel()){if(!this._editor.getOption(17)){this._editor.focus(),r.target.position&&!this._editor.getSelection().containsPosition(r.target.position)&&this._editor.setPosition(r.target.position);return}if(r.target.type!==12&&(r.event.preventDefault(),!(r.target.type!==6&&r.target.type!==7&&r.target.type!==1))){if(this._editor.focus(),r.target.position){let n=!1;for(const t of this._editor.getSelections())if(t.containsPosition(r.target.position)){n=!0;break}n||this._editor.setPosition(r.target.position)}let i=null;r.target.type!==1&&(i={x:r.event.posx-1,width:2,y:r.event.posy-1,height:2}),this.showContextMenu(i)}}}showContextMenu(r){if(!!this._editor.getOption(17)&&!!this._editor.hasModel()){if(!this._contextMenuService){this._editor.focus();return}const i=this._getMenuActions(this._editor.getModel(),d.MenuId.EditorContext);i.length>0&&this._doShowContextMenu(i,r)}}_getMenuActions(r,i){const n=[],t=this._menuService.createMenu(i,this._contextKeyService),l=t.getActions({arg:r.uri});t.dispose();for(let h of l){const[,m]=h;let _=0;for(const f of m)if(f instanceof d.SubmenuItemAction){const v=this._getMenuActions(r,f.item.submenu);v.length>0&&(n.push(new M.SubmenuAction(f.id,f.label,v)),_++)}else n.push(f),_++;_&&n.push(new M.Separator)}return n.length&&n.pop(),n}_doShowContextMenu(r,i=null){if(!!this._editor.hasModel()){const n=this._editor.getOption(48);if(this._editor.updateOptions({hover:{enabled:!1}}),!i){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),l=N.getDomNodePagePosition(this._editor.getDomNode()),h=l.left+t.left,m=l.top+t.top+t.height;i={x:h,y:m}}this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:this._editor.getDomNode(),getAnchor:()=>i,getActions:()=>r,getActionViewItem:t=>{const l=this._keybindingFor(t);if(l)return new o.ActionViewItem(t,t,{label:!0,keybinding:l.getLabel(),isMenu:!0});const h=t;return typeof h.getActionViewItem=="function"?h.getActionViewItem():new o.ActionViewItem(t,t,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:t=>this._keybindingFor(t),onHide:t=>{this._contextMenuIsBeingShownCount--,this._editor.focus(),this._editor.updateOptions({hover:n})}})}}_keybindingFor(r){return this._keybindingService.lookupKeybinding(r.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};s.ID="editor.contrib.contextmenu",s=Me([_e(1,p.IContextMenuService),_e(2,p.IContextViewService),_e(3,g.IContextKeyService),_e(4,c.IKeybindingService),_e(5,d.IMenuService)],s),e.ContextMenuController=s;class a extends S.EditorAction{constructor(){super({id:"editor.action.showContextMenu",label:b.localize(0,null),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.textInputFocus,primary:1024|68,weight:100}})}run(r,i){s.get(i).showContextMenu()}}S.registerEditorContribution(s.ID,s),S.registerEditorAction(a)}),define(Q[621],J([0,1,471,2,13,25]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorRedo=e.CursorUndo=e.CursorUndoRedoController=void 0;class S{constructor(o){this.selections=o}equals(o){const s=this.selections.length,a=o.selections.length;if(s!==a)return!1;for(let u=0;u{this._undoStack=[],this._redoStack=[]})),this._register(o.onDidChangeModelContent(s=>{this._undoStack=[],this._redoStack=[]})),this._register(o.onDidChangeCursorSelection(s=>{if(!this._isCursorUndoRedo&&!!s.oldSelections&&s.oldModelVersionId===s.modelVersionId){const a=new S(s.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(a)||(this._undoStack.push(new C(a,o.getScrollTop(),o.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}}))}static get(o){return o.getContribution(d.ID)}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new C(new S(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new C(new S(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(o){this._isCursorUndoRedo=!0,this._editor.setSelections(o.cursorState.selections),this._editor.setScrollPosition({scrollTop:o.scrollTop,scrollLeft:o.scrollLeft}),this._isCursorUndoRedo=!1}}e.CursorUndoRedoController=d,d.ID="editor.contrib.cursorUndoRedoController";class g extends M.EditorAction{constructor(){super({id:"cursorUndo",label:b.localize(0,null),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:w.EditorContextKeys.textInputFocus,primary:2048|51,weight:100}})}run(o,s,a){d.get(s).cursorUndo()}}e.CursorUndo=g;class p extends M.EditorAction{constructor(){super({id:"cursorRedo",label:b.localize(1,null),alias:"Cursor Redo",precondition:void 0})}run(o,s,a){d.get(s).cursorRedo()}}e.CursorRedo=p,M.registerEditorContribution(d.ID,d),M.registerEditorAction(g),M.registerEditorAction(p)}),define(Q[622],J([0,1,2,17,13,14,3,21,402,31,340]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DragAndDropController=void 0;function p(o){return N.isMacintosh?o.altKey:o.ctrlKey}class c extends b.Disposable{constructor(s){super();this._editor=s,this._register(this._editor.onMouseDown(a=>this._onEditorMouseDown(a))),this._register(this._editor.onMouseUp(a=>this._onEditorMouseUp(a))),this._register(this._editor.onMouseDrag(a=>this._onEditorMouseDrag(a))),this._register(this._editor.onMouseDrop(a=>this._onEditorMouseDrop(a))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(a=>this.onEditorKeyDown(a))),this._register(this._editor.onKeyUp(a=>this.onEditorKeyUp(a))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._dndDecorationIds=[],this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(s){!this._editor.getOption(27)||this._editor.getOption(15)||(p(s)&&(this._modifierPressed=!0),this._mouseDown&&p(s)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(s){!this._editor.getOption(27)||this._editor.getOption(15)||(p(s)&&(this._modifierPressed=!1),this._mouseDown&&s.keyCode===c.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(s){this._mouseDown=!0}_onEditorMouseUp(s){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(s){let a=s.target;if(this._dragSelection===null){let r=(this._editor.getSelections()||[]).filter(i=>a.position&&i.containsPosition(a.position));if(r.length===1)this._dragSelection=r[0];else return}p(s.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),a.position&&(this._dragSelection.containsPosition(a.position)?this._removeDecoration():this.showAt(a.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(s){if(s.target&&(this._hitContent(s.target)||this._hitMargin(s.target))&&s.target.position){let a=new w.Position(s.target.position.lineNumber,s.target.position.column);if(this._dragSelection===null){let u=null;if(s.event.shiftKey){let r=this._editor.getSelection();if(r){const{selectionStartLineNumber:i,selectionStartColumn:n}=r;u=[new C.Selection(i,n,a.lineNumber,a.column)]}}else u=(this._editor.getSelections()||[]).map(r=>r.containsPosition(a)?new C.Selection(a.lineNumber,a.column,a.lineNumber,a.column):r);this._editor.setSelections(u||[],"mouse",3)}else(!this._dragSelection.containsPosition(a)||(p(s.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(a)||this._dragSelection.getStartPosition().equals(a)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(c.ID,new d.DragAndDropCommand(this._dragSelection,a,p(s.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(s){let a=[{range:new S.Range(s.lineNumber,s.column,s.lineNumber,s.column),options:c._DECORATION_OPTIONS}];this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,a),this._editor.revealPosition(s,1)}_removeDecoration(){this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,[])}_hitContent(s){return s.type===6||s.type===7}_hitMargin(s){return s.type===2||s.type===3||s.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}e.DragAndDropController=c,c.ID="editor.contrib.dragAndDrop",c.TRIGGER_KEY_VALUE=N.isMacintosh?6:5,c._DECORATION_OPTIONS=g.ModelDecorationOptions.register({className:"dnd-target"}),M.registerEditorContribution(c.ID,c)}),define(Q[623],J([0,1,476,13,126]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class w extends N.EditorAction{constructor(){super({id:"editor.action.fontZoomIn",label:b.localize(0,null),alias:"Editor Font Zoom In",precondition:void 0})}run(g,p){M.EditorZoom.setZoomLevel(M.EditorZoom.getZoomLevel()+1)}}class S extends N.EditorAction{constructor(){super({id:"editor.action.fontZoomOut",label:b.localize(1,null),alias:"Editor Font Zoom Out",precondition:void 0})}run(g,p){M.EditorZoom.setZoomLevel(M.EditorZoom.getZoomLevel()-1)}}class C extends N.EditorAction{constructor(){super({id:"editor.action.fontZoomReset",label:b.localize(2,null),alias:"Editor Font Zoom Reset",precondition:void 0})}run(g,p){M.EditorZoom.setZoomLevel(0)}}N.registerEditorAction(w),N.registerEditorAction(S),N.registerEditorAction(C)}),define(Q[261],J([0,1,47,19,23,12,24,70,108,14,3,21,18,75,36,226,477,532,9,71,26,20,54]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getOnTypeFormattingEdits=e.getDocumentFormattingEditsUntilResult=e.getDocumentRangeFormattingEditsUntilResult=e.formatDocumentWithProvider=e.formatDocumentWithSelectedProvider=e.formatDocumentRangesWithProvider=e.formatDocumentRangesWithSelectedProvider=e.FormattingConflicts=e.getRealAndSyntheticDocumentFormattersOrdered=e.alertFormattingEdits=void 0;function _(A){if(A=A.filter(R=>R.range),!!A.length){let{range:B}=A[0];for(let R=1;R0&&p.Range.areIntersectingOrTouching(Y[ee-1],ne)?Y[ee-1]=p.Range.fromPositions(Y[ee-1].getStartPosition(),ne.getEndPosition()):ee=Y.push(ne);const se=[];for(let ne of Y)try{const le=yield B.provideDocumentRangeFormattingEdits(x,ne,x.getFormattingOptions(),K.token),X=yield W.computeMoreMinimalEdits(x.uri,le);if(X&&se.push(...X),K.token.isCancellationRequested)return!0}finally{K.dispose()}if(se.length===0)return!1;if(d.isCodeEditor(F))u.FormattingEdit.execute(F,se,!0),_(se),F.revealPositionInCenterIfOutsideViewport(F.getPosition(),1);else{const[{range:ne}]=se,le=new c.Selection(ne.startLineNumber,ne.startColumn,ne.endLineNumber,ne.endColumn);x.pushEditOperations([le],se.map(X=>({text:X.text,range:p.Range.lift(X.range),forceMoveMarkers:!0})),X=>{for(const{range:z}of X)if(p.Range.areIntersectingOrTouching(z,le))return[new c.Selection(z.startLineNumber,z.startColumn,z.endLineNumber,z.endColumn)];return null})}return!0})}e.formatDocumentRangesWithProvider=L;function I(A,B,F,D,R){return Ie(this,void 0,void 0,function*(){const W=A.get(n.IInstantiationService),x=d.isCodeEditor(B)?B.getModel():B,K=f(x),Y=yield v.select(K,x,F);Y&&(D.report(Y),yield W.invokeFunction(k,Y,B,F,R))})}e.formatDocumentWithSelectedProvider=I;function k(A,B,F,D,R){return Ie(this,void 0,void 0,function*(){const W=A.get(s.IEditorWorkerService);let x,K;d.isCodeEditor(F)?(x=F.getModel(),K=new C.EditorStateCancellationTokenSource(F,1|4,void 0,R)):(x=F,K=new C.TextModelCancellationTokenSource(F,R));let Y;try{const ee=yield B.provideDocumentFormattingEdits(x,x.getFormattingOptions(),K.token);if(Y=yield W.computeMoreMinimalEdits(x.uri,ee),K.token.isCancellationRequested)return!0}finally{K.dispose()}if(!Y||Y.length===0)return!1;if(d.isCodeEditor(F))u.FormattingEdit.execute(F,Y,D!==2),D!==2&&(_(Y),F.revealPositionInCenterIfOutsideViewport(F.getPosition(),1));else{const[{range:ee}]=Y,se=new c.Selection(ee.startLineNumber,ee.startColumn,ee.endLineNumber,ee.endColumn);x.pushEditOperations([se],Y.map(ne=>({text:ne.text,range:p.Range.lift(ne.range),forceMoveMarkers:!0})),ne=>{for(const{range:le}of ne)if(p.Range.areIntersectingOrTouching(le,se))return[new c.Selection(le.startLineNumber,le.startColumn,le.endLineNumber,le.endColumn)];return null})}return!0})}e.formatDocumentWithProvider=k;function E(A,B,F,D,R){return Ie(this,void 0,void 0,function*(){const W=o.DocumentRangeFormattingEditProviderRegistry.ordered(B);for(const x of W){let K=yield Promise.resolve(x.provideDocumentRangeFormattingEdits(B,F,D,R)).catch(w.onUnexpectedExternalError);if(N.isNonEmptyArray(K))return yield A.computeMoreMinimalEdits(B.uri,K)}})}e.getDocumentRangeFormattingEditsUntilResult=E;function T(A,B,F,D){return Ie(this,void 0,void 0,function*(){const R=f(B);for(const W of R){let x=yield Promise.resolve(W.provideDocumentFormattingEdits(B,F,D)).catch(w.onUnexpectedExternalError);if(N.isNonEmptyArray(x))return yield A.computeMoreMinimalEdits(B.uri,x)}})}e.getDocumentFormattingEditsUntilResult=T;function O(A,B,F,D,R){const W=o.OnTypeFormattingEditProviderRegistry.ordered(B);return W.length===0||W[0].autoFormatTriggerCharacters.indexOf(D)<0?Promise.resolve(void 0):Promise.resolve(W[0].provideOnTypeFormattingEdits(B,F,D,R,M.CancellationToken.None)).catch(w.onUnexpectedExternalError).then(x=>A.computeMoreMinimalEdits(B.uri,x))}e.getOnTypeFormattingEdits=O,l.CommandsRegistry.registerCommand("_executeFormatRangeProvider",function(A,...B){const[F,D,R]=B;h.assertType(S.URI.isUri(F)),h.assertType(p.Range.isIRange(D));const W=A.get(a.IModelService).getModel(F);if(!W)throw w.illegalArgument("resource");return E(A.get(s.IEditorWorkerService),W,p.Range.lift(D),R,M.CancellationToken.None)}),l.CommandsRegistry.registerCommand("_executeFormatDocumentProvider",function(A,...B){const[F,D]=B;h.assertType(S.URI.isUri(F));const R=A.get(a.IModelService).getModel(F);if(!R)throw w.illegalArgument("resource");return T(A.get(s.IEditorWorkerService),R,D,M.CancellationToken.None)}),l.CommandsRegistry.registerCommand("_executeFormatOnTypeProvider",function(A,...B){const[F,D,R,W]=B;h.assertType(S.URI.isUri(F)),h.assertType(g.Position.isIPosition(D)),h.assertType(typeof R=="string");const x=A.get(a.IModelService).getModel(F);if(!x)throw w.illegalArgument("resource");return O(A.get(s.IEditorWorkerService),x,g.Position.lift(D),R,W)})}),define(Q[624],J([0,1,19,23,39,2,13,28,91,3,25,18,75,261,226,478,26,16,9,12,59]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let h=class{constructor(y,L){this._workerService=L,this._callOnDispose=new w.DisposableStore,this._callOnModel=new w.DisposableStore,this._editor=y,this._callOnDispose.add(y.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(y.onDidChangeModel(()=>this._update())),this._callOnDispose.add(y.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(c.OnTypeFormattingEditProviderRegistry.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){if(this._callOnModel.clear(),!!this._editor.getOption(43)&&!!this._editor.hasModel()){const y=this._editor.getModel(),[L]=c.OnTypeFormattingEditProviderRegistry.ordered(y);if(!(!L||!L.autoFormatTriggerCharacters)){let I=new d.CharacterSet;for(let k of L.autoFormatTriggerCharacters)I.add(k.charCodeAt(0));this._callOnModel.add(this._editor.onDidType(k=>{let E=k.charCodeAt(k.length-1);I.has(E)&&this._trigger(String.fromCharCode(E))}))}}}_trigger(y){if(!!this._editor.hasModel()&&!(this._editor.getSelections().length>1)){const L=this._editor.getModel(),I=this._editor.getPosition();let k=!1;const E=this._editor.onDidChangeModelContent(T=>{if(T.isFlush){k=!0,E.dispose();return}for(let O=0,A=T.changes.length;O{E.dispose(),!k&&b.isNonEmptyArray(T)&&(a.FormattingEdit.execute(this._editor,T,!0),s.alertFormattingEdits(T))},T=>{throw E.dispose(),T})}}};h.ID="editor.contrib.autoFormat",h=Me([_e(1,o.IEditorWorkerService)],h);let m=class{constructor(y,L){this.editor=y,this._instantiationService=L,this._callOnDispose=new w.DisposableStore,this._callOnModel=new w.DisposableStore,this._callOnDispose.add(y.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(y.onDidChangeModel(()=>this._update())),this._callOnDispose.add(y.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(c.DocumentRangeFormattingEditProviderRegistry.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),!!this.editor.getOption(42)&&(!this.editor.hasModel()||!c.DocumentRangeFormattingEditProviderRegistry.has(this.editor.getModel())||this._callOnModel.add(this.editor.onDidPaste(({range:y})=>this._trigger(y))))}_trigger(y){!this.editor.hasModel()||this.editor.getSelections().length>1||this._instantiationService.invokeFunction(s.formatDocumentRangesWithSelectedProvider,this.editor,y,2,l.Progress.None,N.CancellationToken.None).catch(t.onUnexpectedError)}};m.ID="editor.contrib.formatOnPaste",m=Me([_e(1,n.IInstantiationService)],m);class _ extends S.EditorAction{constructor(){super({id:"editor.action.formatDocument",label:u.localize(0,null),alias:"Format Document",precondition:i.ContextKeyExpr.and(p.EditorContextKeys.notInCompositeEditor,p.EditorContextKeys.writable,p.EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:1024|512|36,linux:{primary:2048|1024|39},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}run(y,L){return Ie(this,void 0,void 0,function*(){if(L.hasModel()){const I=y.get(n.IInstantiationService);yield y.get(l.IEditorProgressService).showWhile(I.invokeFunction(s.formatDocumentWithSelectedProvider,L,1,l.Progress.None,N.CancellationToken.None),250)}})}}class f extends S.EditorAction{constructor(){super({id:"editor.action.formatSelection",label:u.localize(1,null),alias:"Format Selection",precondition:i.ContextKeyExpr.and(p.EditorContextKeys.writable,p.EditorContextKeys.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:M.KeyChord(2048|41,2048|36),weight:100},contextMenuOpts:{when:p.EditorContextKeys.hasNonEmptySelection,group:"1_modification",order:1.31}})}run(y,L){return Ie(this,void 0,void 0,function*(){if(!!L.hasModel()){const I=y.get(n.IInstantiationService),k=L.getModel(),E=L.getSelections().map(O=>O.isEmpty()?new g.Range(O.startLineNumber,1,O.startLineNumber,k.getLineMaxColumn(O.startLineNumber)):O);yield y.get(l.IEditorProgressService).showWhile(I.invokeFunction(s.formatDocumentRangesWithSelectedProvider,L,E,1,l.Progress.None,N.CancellationToken.None),250)}})}}S.registerEditorContribution(h.ID,h),S.registerEditorContribution(m.ID,m),S.registerEditorAction(_),S.registerEditorAction(f),r.CommandsRegistry.registerCommand("editor.action.format",v=>Ie(void 0,void 0,void 0,function*(){const y=v.get(C.ICodeEditorService).getFocusedCodeEditor();if(!(!y||!y.hasModel())){const L=v.get(r.ICommandService);y.getSelection().isEmpty()?yield L.executeCommand("editor.action.formatDocument"):yield L.executeCommand("editor.action.formatSelection")}}))}),define(Q[262],J([0,1,23,12,13,18]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getReferencesAtPosition=e.getTypeDefinitionsAtPosition=e.getImplementationsAtPosition=e.getDeclarationsAtPosition=e.getDefinitionsAtPosition=void 0;function S(o,s,a,u){const i=a.ordered(o).map(n=>Promise.resolve(u(n,o,s)).then(void 0,t=>{N.onUnexpectedExternalError(t)}));return Promise.all(i).then(n=>{const t=[];for(let l of n)Array.isArray(l)?t.push(...l):l&&t.push(l);return t})}function C(o,s,a){return S(o,s,w.DefinitionProviderRegistry,(u,r,i)=>u.provideDefinition(r,i,a))}e.getDefinitionsAtPosition=C;function d(o,s,a){return S(o,s,w.DeclarationProviderRegistry,(u,r,i)=>u.provideDeclaration(r,i,a))}e.getDeclarationsAtPosition=d;function g(o,s,a){return S(o,s,w.ImplementationProviderRegistry,(u,r,i)=>u.provideImplementation(r,i,a))}e.getImplementationsAtPosition=g;function p(o,s,a){return S(o,s,w.TypeDefinitionProviderRegistry,(u,r,i)=>u.provideTypeDefinition(r,i,a))}e.getTypeDefinitionsAtPosition=p;function c(o,s,a,u){return S(o,s,w.ReferenceProviderRegistry,(r,i,n)=>Ie(this,void 0,void 0,function*(){const t=yield r.provideReferences(i,n,{includeDeclaration:!0},u);if(!a||!t||t.length!==2)return t;const l=yield r.provideReferences(i,n,{includeDeclaration:!1},u);return l&&l.length===1?l:t}))}e.getReferencesAtPosition=c,M.registerModelAndPositionCommand("_executeDefinitionProvider",(o,s)=>C(o,s,b.CancellationToken.None)),M.registerModelAndPositionCommand("_executeDeclarationProvider",(o,s)=>d(o,s,b.CancellationToken.None)),M.registerModelAndPositionCommand("_executeImplementationProvider",(o,s)=>g(o,s,b.CancellationToken.None)),M.registerModelAndPositionCommand("_executeTypeDefinitionProvider",(o,s)=>p(o,s,b.CancellationToken.None)),M.registerModelAndPositionCommand("_executeReferenceProvider",(o,s)=>c(o,s,!1,b.CancellationToken.None))}),define(Q[625],J([0,1,16,9,74,86,13,28,3,2,6,487,37,32,44]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ISymbolNavigationService=e.ctxHasSymbols=void 0,e.ctxHasSymbols=new b.RawContextKey("hasSymbols",!1),e.ISymbolNavigationService=N.createDecorator("ISymbolNavigationService");let u=class{constructor(n,t,l,h){this._editorService=t,this._notificationService=l,this._keybindingService=h,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=e.ctxHasSymbols.bindTo(n)}reset(){var n,t;this._ctxHasSymbols.reset(),(n=this._currentState)===null||n===void 0||n.dispose(),(t=this._currentMessage)===null||t===void 0||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(n){const t=n.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(n),this._ctxHasSymbols.set(!0),this._showMessage();const l=new r(this._editorService),h=l.onDidChange(m=>{if(!this._ignoreEditorChange){const _=this._editorService.getActiveCodeEditor();if(!!_){const f=_.getModel(),v=_.getPosition();if(!(!f||!v)){let y=!1,L=!1;for(const I of t.references)if(a.isEqual(I.uri,f.uri))y=!0,L=L||d.Range.containsPosition(I.range,v);else if(y)break;(!y||!L)&&this.reset()}}}});this._currentState=g.combinedDisposable(l,h)}revealNext(n){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:d.Range.collapseToStart(t.range),selectionRevealType:3}},n).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var n;(n=this._currentMessage)===null||n===void 0||n.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),l=t?c.localize(0,null,this._currentIdx+1,this._currentModel.references.length,t.getLabel()):c.localize(1,null,this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(l)}};u=Me([_e(0,b.IContextKeyService),_e(1,C.ICodeEditorService),_e(2,s.INotificationService),_e(3,o.IKeybindingService)],u),M.registerSingleton(e.ISymbolNavigationService,u,!0),S.registerEditorCommand(new class extends S.EditorCommand{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:e.ctxHasSymbols,kbOpts:{weight:100,primary:70}})}runEditorCommand(i,n){return i.get(e.ISymbolNavigationService).revealNext(n)}}),w.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:e.ctxHasSymbols,primary:9,handler(i){i.get(e.ISymbolNavigationService).reset()}});let r=class{constructor(n){this._listener=new Map,this._disposables=new g.DisposableStore,this._onDidChange=new p.Emitter,this.onDidChange=this._onDidChange.event,this._disposables.add(n.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(n.onCodeEditorAdd(this._onDidAddEditor,this)),n.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),g.dispose(this._listener.values())}_onDidAddEditor(n){this._listener.set(n,g.combinedDisposable(n.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:n})),n.onDidChangeModelContent(t=>this._onDidChange.fire({editor:n}))))}_onDidRemoveEditor(n){var t;(t=this._listener.get(n))===null||t===void 0||t.dispose(),this._listener.delete(n)}};r=Me([_e(0,C.ICodeEditorService)],r)}),define(Q[626],J([0,1,19,23,12,13,18]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getHover=void 0;function C(g,p,c){const s=S.HoverProviderRegistry.ordered(g).map(a=>Promise.resolve(a.provideHover(g,p,c)).then(u=>u&&d(u)?u:void 0,u=>{M.onUnexpectedExternalError(u)}));return Promise.all(s).then(b.coalesce)}e.getHover=C,w.registerModelAndPositionCommand("_executeHoverProvider",(g,p)=>C(g,p,N.CancellationToken.None));function d(g){const p=typeof g.range!="undefined",c=typeof g.contents!="undefined"&&g.contents&&g.contents.length>0;return p&&c}}),define(Q[627],J([0,1,489,7,73,2,3,140,19,58,57,18,626,14]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkdownHoverParticipant=e.MarkdownHover=void 0;const a=N.$;class u{constructor(n,t){this.range=n,this.contents=t}equals(n){return n instanceof u?M.markedStringsEquals(this.contents,n.contents):!1}}e.MarkdownHover=u;let r=class{constructor(n,t,l,h){this._editor=n,this._hover=t,this._modeService=l,this._openerService=h}createLoadingMessage(n){return new u(n,[new M.MarkdownString().appendText(b.localize(0,null))])}computeSync(n,t){if(!this._editor.hasModel())return[];const l=this._editor.getModel(),h=n.startLineNumber,m=l.getLineMaxColumn(h),_=[];for(const f of t){const v=f.range.startLineNumber===h?f.range.startColumn:1,y=f.range.endLineNumber===h?f.range.endColumn:m,L=f.options.hoverMessage;if(!(!L||M.isEmptyMarkdownString(L))){const I=new S.Range(n.startLineNumber,v,n.startLineNumber,y);_.push(new u(I,d.asArray(L)))}}return _}computeAsync(n,t){return Ie(this,void 0,void 0,function*(){if(!this._editor.hasModel()||!n)return Promise.resolve([]);const l=this._editor.getModel();if(!c.HoverProviderRegistry.has(l))return Promise.resolve([]);const h=yield o.getHover(l,new s.Position(n.startLineNumber,n.startColumn),t),m=[];for(const _ of h)if(!M.isEmptyMarkdownString(_.contents)){const f=_.range?S.Range.lift(_.range):n;m.push(new u(f,_.contents))}return m})}renderHoverParts(n,t){const l=new w.DisposableStore;for(const h of n)for(const m of h.contents)if(!M.isEmptyMarkdownString(m)){const _=a("div.hover-row.markdown-hover"),f=N.append(_,a("div.hover-contents")),v=l.add(new C.MarkdownRenderer({editor:this._editor},this._modeService,this._openerService));l.add(v.onDidRenderAsync(()=>{f.className="hover-contents code-hover-contents",this._hover.onContentsChanged()}));const y=l.add(v.render(m));f.appendChild(y.element),t.appendChild(_)}return l}};r=Me([_e(2,p.IModeService),_e(3,g.IOpenerService)],r),e.MarkdownHoverParticipant=r}),define(Q[628],J([0,1,491,3,21,25,13,75,409,70,11,49,31,15,12]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let u=class Ct{constructor(t,l){this.decorationIds=[],this.editor=t,this.editorWorkerService=l}static get(t){return t.getContribution(Ct.ID)}dispose(){}run(t,l){this.currentRequest&&this.currentRequest.cancel();const h=this.editor.getSelection(),m=this.editor.getModel();if(!(!m||!h)){let _=h;if(_.startLineNumber===_.endLineNumber){const f=new g.EditorState(this.editor,1|4),v=m.uri;return this.editorWorkerService.canNavigateValueSet(v)?(this.currentRequest=s.createCancelablePromise(y=>this.editorWorkerService.navigateValueSet(v,_,l)),this.currentRequest.then(y=>{if(!(!y||!y.range||!y.value)&&!!f.validate(this.editor)){let L=N.Range.lift(y.range),I=y.range,k=y.value.length-(_.endColumn-_.startColumn);I={startLineNumber:I.startLineNumber,startColumn:I.startColumn,endLineNumber:I.endLineNumber,endColumn:I.startColumn+y.value.length},k>1&&(_=new M.Selection(_.startLineNumber,_.startColumn,_.endLineNumber,_.endColumn+k-1));const E=new d.InPlaceReplaceCommand(L,_,y.value);this.editor.pushUndoStop(),this.editor.executeCommand(t,E),this.editor.pushUndoStop(),this.decorationIds=this.editor.deltaDecorations(this.decorationIds,[{range:I,options:Ct.DECORATION}]),this.decorationRemover&&this.decorationRemover.cancel(),this.decorationRemover=s.timeout(350),this.decorationRemover.then(()=>this.decorationIds=this.editor.deltaDecorations(this.decorationIds,[])).catch(a.onUnexpectedError)}}).catch(a.onUnexpectedError)):Promise.resolve(void 0)}}}};u.ID="editor.contrib.inPlaceReplaceController",u.DECORATION=o.ModelDecorationOptions.register({className:"valueSetReplacement"}),u=Me([_e(1,C.IEditorWorkerService)],u);class r extends S.EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.up",label:b.localize(0,null),alias:"Replace with Previous Value",precondition:w.EditorContextKeys.writable,kbOpts:{kbExpr:w.EditorContextKeys.editorTextFocus,primary:2048|1024|82,weight:100}})}run(t,l){const h=u.get(l);return h?h.run(this.id,!0):Promise.resolve(void 0)}}class i extends S.EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.down",label:b.localize(1,null),alias:"Replace with Next Value",precondition:w.EditorContextKeys.writable,kbOpts:{kbExpr:w.EditorContextKeys.editorTextFocus,primary:2048|1024|84,weight:100}})}run(t,l){const h=u.get(l);return h?h.run(this.id,!1):Promise.resolve(void 0)}}S.registerEditorContribution(u.ID,u),S.registerEditorAction(r),S.registerEditorAction(i),p.registerThemingParticipant((n,t)=>{const l=n.getColor(c.editorBracketMatchBorder);l&&t.addRule(`.monaco-editor.vs .valueSetReplacement { outline: solid 2px ${l}; }`)})}),define(Q[629],J([0,1,492,2,8,13,179,62,3,21,25,31,41,36,229,78]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentationToTabsCommand=e.IndentationToSpacesCommand=e.AutoIndentOnPaste=e.AutoIndentOnPasteCommand=e.ReindentSelectedLinesAction=e.ReindentLinesAction=e.DetectIndentation=e.IndentUsingSpaces=e.IndentUsingTabs=e.ChangeIndentationSizeAction=e.IndentationToTabsAction=e.IndentationToSpacesAction=e.getReindentEditOperations=void 0;function r(E,T,O,A){if(E.getLineCount()===1&&E.getLineMaxColumn(1)===1)return[];let B=o.LanguageConfigurationRegistry.getIndentationRules(E.getLanguageIdentifier().id);if(!B)return[];for(O=Math.min(O,E.getLineCount());T<=O&&B.unIndentedLinePattern;){let le=E.getLineContent(T);if(!B.unIndentedLinePattern.test(le))break;T++}if(T>O-1)return[];const{tabSize:F,indentSize:D,insertSpaces:R}=E.getOptions(),W=(le,X)=>(X=X||1,S.ShiftCommand.shiftIndent(le,le.length+X,F,D,R)),x=(le,X)=>(X=X||1,S.ShiftCommand.unshiftIndent(le,le.length+X,F,D,R));let K=[],Y,ee=E.getLineContent(T),se=ee;if(A!=null){Y=A;let le=M.getLeadingWhitespace(ee);se=Y+ee.substring(le.length),B.decreaseIndentPattern&&B.decreaseIndentPattern.test(se)&&(Y=x(Y),se=Y+ee.substring(le.length)),ee!==se&&K.push(C.EditOperation.replaceMove(new g.Selection(T,1,T,le.length+1),c.TextModel.normalizeIndentation(Y,D,R)))}else Y=M.getLeadingWhitespace(ee);let ne=Y;B.increaseIndentPattern&&B.increaseIndentPattern.test(se)?(ne=W(ne),Y=W(Y)):B.indentNextLinePattern&&B.indentNextLinePattern.test(se)&&(ne=W(ne)),T++;for(let le=T;le<=O;le++){let X=E.getLineContent(le),z=M.getLeadingWhitespace(X),P=ne+X.substring(z.length);B.decreaseIndentPattern&&B.decreaseIndentPattern.test(P)&&(ne=x(ne),Y=x(Y)),z!==ne&&K.push(C.EditOperation.replaceMove(new g.Selection(le,1,le,z.length+1),c.TextModel.normalizeIndentation(ne,D,R))),!(B.unIndentedLinePattern&&B.unIndentedLinePattern.test(X))&&(B.increaseIndentPattern&&B.increaseIndentPattern.test(P)?(Y=W(Y),ne=Y):B.indentNextLinePattern&&B.indentNextLinePattern.test(P)?ne=W(ne):ne=Y)}return K}e.getReindentEditOperations=r;class i extends w.EditorAction{constructor(){super({id:i.ID,label:b.localize(0,null),alias:"Convert Indentation to Spaces",precondition:p.EditorContextKeys.writable})}run(T,O){let A=O.getModel();if(!!A){let B=A.getOptions(),F=O.getSelection();if(!!F){const D=new I(F,B.tabSize);O.pushUndoStop(),O.executeCommands(this.id,[D]),O.pushUndoStop(),A.updateOptions({insertSpaces:!0})}}}}e.IndentationToSpacesAction=i,i.ID="editor.action.indentationToSpaces";class n extends w.EditorAction{constructor(){super({id:n.ID,label:b.localize(1,null),alias:"Convert Indentation to Tabs",precondition:p.EditorContextKeys.writable})}run(T,O){let A=O.getModel();if(!!A){let B=A.getOptions(),F=O.getSelection();if(!!F){const D=new k(F,B.tabSize);O.pushUndoStop(),O.executeCommands(this.id,[D]),O.pushUndoStop(),A.updateOptions({insertSpaces:!1})}}}}e.IndentationToTabsAction=n,n.ID="editor.action.indentationToTabs";class t extends w.EditorAction{constructor(T,O){super(O);this.insertSpaces=T}run(T,O){const A=T.get(u.IQuickInputService),B=T.get(s.IModelService);let F=O.getModel();if(!!F){let D=B.getCreationOptions(F.getLanguageIdentifier().language,F.uri,F.isForSimpleWidget);const R=[1,2,3,4,5,6,7,8].map(x=>({id:x.toString(),label:x.toString(),description:x===D.tabSize?b.localize(2,null):void 0})),W=Math.min(F.getOptions().tabSize-1,7);setTimeout(()=>{A.pick(R,{placeHolder:b.localize(3,null),activeItem:R[W]}).then(x=>{x&&F&&!F.isDisposed()&&F.updateOptions({tabSize:parseInt(x.label,10),insertSpaces:this.insertSpaces})})},50)}}}e.ChangeIndentationSizeAction=t;class l extends t{constructor(){super(!1,{id:l.ID,label:b.localize(4,null),alias:"Indent Using Tabs",precondition:void 0})}}e.IndentUsingTabs=l,l.ID="editor.action.indentUsingTabs";class h extends t{constructor(){super(!0,{id:h.ID,label:b.localize(5,null),alias:"Indent Using Spaces",precondition:void 0})}}e.IndentUsingSpaces=h,h.ID="editor.action.indentUsingSpaces";class m extends w.EditorAction{constructor(){super({id:m.ID,label:b.localize(6,null),alias:"Detect Indentation from Content",precondition:void 0})}run(T,O){const A=T.get(s.IModelService);let B=O.getModel();if(!!B){let F=A.getCreationOptions(B.getLanguageIdentifier().language,B.uri,B.isForSimpleWidget);B.detectIndentation(F.insertSpaces,F.tabSize)}}}e.DetectIndentation=m,m.ID="editor.action.detectIndentation";class _ extends w.EditorAction{constructor(){super({id:"editor.action.reindentlines",label:b.localize(7,null),alias:"Reindent Lines",precondition:p.EditorContextKeys.writable})}run(T,O){let A=O.getModel();if(!!A){let B=r(A,1,A.getLineCount());B.length>0&&(O.pushUndoStop(),O.executeEdits(this.id,B),O.pushUndoStop())}}}e.ReindentLinesAction=_;class f extends w.EditorAction{constructor(){super({id:"editor.action.reindentselectedlines",label:b.localize(8,null),alias:"Reindent Selected Lines",precondition:p.EditorContextKeys.writable})}run(T,O){let A=O.getModel();if(!!A){let B=O.getSelections();if(B!==null){let F=[];for(let D of B){let R=D.startLineNumber,W=D.endLineNumber;if(R!==W&&D.endColumn===1&&W--,R===1){if(R===W)continue}else R--;let x=r(A,R,W);F.push(...x)}F.length>0&&(O.pushUndoStop(),O.executeEdits(this.id,F),O.pushUndoStop())}}}}e.ReindentSelectedLinesAction=f;class v{constructor(T,O){this._initialSelection=O,this._edits=[],this._selectionId=null;for(let A of T)A.range&&typeof A.text=="string"&&this._edits.push(A)}getEditOperations(T,O){for(let B of this._edits)O.addEditOperation(d.Range.lift(B.range),B.text);let A=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(A=!0,this._selectionId=O.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(A=!0,this._selectionId=O.trackSelection(this._initialSelection,!1))),A||(this._selectionId=O.trackSelection(this._initialSelection))}computeCursorState(T,O){return O.getTrackedSelection(this._selectionId)}}e.AutoIndentOnPasteCommand=v;class y{constructor(T){this.callOnDispose=new N.DisposableStore,this.callOnModel=new N.DisposableStore,this.editor=T,this.callOnDispose.add(T.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(T.onDidChangeModel(()=>this.update())),this.callOnDispose.add(T.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(8)<4||this.editor.getOption(42))&&(!this.editor.hasModel()||this.callOnModel.add(this.editor.onDidPaste(({range:T})=>{this.trigger(T)})))}trigger(T){let O=this.editor.getSelections();if(!(O===null||O.length>1)){const A=this.editor.getModel();if(!!A&&!!A.isCheapToTokenize(T.getStartPosition().lineNumber)){const B=this.editor.getOption(8),{tabSize:F,indentSize:D,insertSpaces:R}=A.getOptions();let W=[],x={shiftIndent:se=>S.ShiftCommand.shiftIndent(se,se.length+1,F,D,R),unshiftIndent:se=>S.ShiftCommand.unshiftIndent(se,se.length+1,F,D,R)},K=T.startLineNumber;for(;K<=T.endLineNumber;){if(this.shouldIgnoreLine(A,K)){K++;continue}break}if(!(K>T.endLineNumber)){let Y=A.getLineContent(K);if(!/\S/.test(Y.substring(0,T.startColumn-1))){let se=o.LanguageConfigurationRegistry.getGoodIndentForLine(B,A,A.getLanguageIdentifier().id,K,x);if(se!==null){let ne=M.getLeadingWhitespace(Y),le=a.getSpaceCnt(se,F),X=a.getSpaceCnt(ne,F);if(le!==X){let z=a.generateIndent(le,F,R);W.push({range:new d.Range(K,1,K,ne.length+1),text:z}),Y=z+Y.substr(ne.length)}else{let z=o.LanguageConfigurationRegistry.getIndentMetadata(A,K);if(z===0||z===8)return}}}const ee=K;for(;KA.getLineTokens(le),getLanguageIdentifier:()=>A.getLanguageIdentifier(),getLanguageIdAtPosition:(le,X)=>A.getLanguageIdAtPosition(le,X),getLineContent:le=>le===ee?Y:A.getLineContent(le)},ne=o.LanguageConfigurationRegistry.getGoodIndentForLine(B,se,A.getLanguageIdentifier().id,K+1,x);if(ne!==null){let le=a.getSpaceCnt(ne,F),X=a.getSpaceCnt(M.getLeadingWhitespace(A.getLineContent(K+1)),F);if(le!==X){let z=le-X;for(let P=K+1;P<=T.endLineNumber;P++){let V=A.getLineContent(P),U=M.getLeadingWhitespace(V),$=a.getSpaceCnt(U,F)+z,ie=a.generateIndent($,F,R);ie!==U&&W.push({range:new d.Range(P,1,P,U.length+1),text:ie})}}}}if(W.length>0){this.editor.pushUndoStop();let se=new v(W,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",se),this.editor.pushUndoStop()}}}}}shouldIgnoreLine(T,O){T.forceTokenization(O);let A=T.getLineFirstNonWhitespaceColumn(O);if(A===0)return!0;let B=T.getLineTokens(O);if(B.getCount()>0){let F=B.findTokenIndexAtOffset(A);if(F>=0&&B.getStandardTokenType(F)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}}e.AutoIndentOnPaste=y,y.ID="editor.contrib.autoIndentOnPaste";function L(E,T,O,A){if(!(E.getLineCount()===1&&E.getLineMaxColumn(1)===1)){let B="";for(let D=0;Df.map(E=>Promise.resolve(k.provideInlineHints(_,E,v)).then(T=>{T&&y.push({list:T,provider:k})},T=>{N.onUnexpectedExternalError(T)}))));return yield Promise.all(I),y})}e.getInlineHints=h;let m=class{constructor(f,v,y){this._editor=f,this._codeEditorService=v,this._themeService=y,this._disposables=new w.DisposableStore,this._sessionDisposables=new w.DisposableStore,this._getInlineHintsDelays=new a.LanguageFeatureRequestDelays(d.InlineHintsProviderRegistry,250,2500),this._decorationsTypeIds=[],this._decorationIds=[],this._disposables.add(d.InlineHintsProviderRegistry.onDidChange(()=>this._update())),this._disposables.add(y.onDidColorThemeChange(()=>this._update())),this._disposables.add(f.onDidChangeModel(()=>this._update())),this._disposables.add(f.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(f.onDidChangeConfiguration(L=>{L.hasChanged(120)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(120).enabled){this._removeAllDecorations();return}const f=this._editor.getModel();if(!f||!d.InlineHintsProviderRegistry.has(f)){this._removeAllDecorations();return}const v=new b.RunOnceScheduler(()=>Ie(this,void 0,void 0,function*(){const L=Date.now(),I=new c.CancellationTokenSource;this._sessionDisposables.add(w.toDisposable(()=>I.dispose(!0)));const k=this._editor.getVisibleRangesPlusViewportAboveBelow(),E=yield h(f,k,I.token),T=this._getInlineHintsDelays.update(f,Date.now()-L);v.delay=T,this._updateHintsDecorators(E)}),this._getInlineHintsDelays.get(f));this._sessionDisposables.add(v),this._sessionDisposables.add(this._editor.onDidChangeModelContent(()=>v.schedule())),this._disposables.add(this._editor.onDidScrollChange(()=>v.schedule())),v.schedule();const y=new w.DisposableStore;this._sessionDisposables.add(y);for(const L of d.InlineHintsProviderRegistry.all(f))typeof L.onDidChangeInlineHints=="function"&&y.add(L.onDidChangeInlineHints(()=>v.schedule()))}_updateHintsDecorators(f){const{fontSize:v,fontFamily:y}=this._getLayoutInfo(),L=this._themeService.getColorTheme().getColor(p.editorInlineHintBackground),I=this._themeService.getColorTheme().getColor(p.editorInlineHintForeground),k=[],E=[];for(const{list:T}of f)for(let O=0;Ov)&&(y=v*.9|0);const L=f.fontFamily;return{fontSize:y,fontFamily:L}}_removeAllDecorations(){this._decorationIds=this._editor.deltaDecorations(this._decorationIds,[]),this._decorationsTypeIds.forEach(this._codeEditorService.removeDecorationType,this._codeEditorService),this._decorationsTypeIds=[]}};m.ID="editor.contrib.InlineHints",m=Me([_e(1,C.ICodeEditorService),_e(2,o.IThemeService)],m),e.InlineHintsController=m,S.registerEditorContribution(m.ID,m),r.CommandsRegistry.registerCommand("_executeInlineHintProvider",(_,...f)=>Ie(void 0,void 0,void 0,function*(){const[v,y]=f;n.assertType(i.URI.isUri(v)),n.assertType(s.Range.isIRange(y));const L=yield _.get(t.ITextModelService).createModelReference(v);try{const I=yield h(L.object.textEditorModel,[s.Range.lift(y)],c.CancellationToken.None);return g.flatten(I.map(k=>k.list)).sort((k,E)=>s.Range.compareRangesUsingStarts(k.range,E.range))}finally{L.dispose()}}))}),define(Q[631],J([0,1,493,39,188,13,92,366,182,62,14,3,21,25,410,542,411,34]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnakeCaseAction=e.TitleCaseAction=e.LowerCaseAction=e.UpperCaseAction=e.AbstractCaseAction=e.TransposeAction=e.JoinLinesAction=e.DeleteAllRightAction=e.DeleteAllLeftAction=e.AbstractDeleteAllToBoundaryAction=e.InsertLineAfterAction=e.InsertLineBeforeAction=e.IndentLinesAction=e.DeleteLinesAction=e.TrimTrailingWhitespaceAction=e.SortLinesDescendingAction=e.SortLinesAscendingAction=e.AbstractSortLinesAction=e.DuplicateSelectionAction=void 0;class n extends w.EditorAction{constructor(le,X){super(X);this.down=le}run(le,X){if(!!X.hasModel()){const z=X.getSelections().map((U,H)=>({selection:U,index:H,ignore:!1}));z.sort((U,H)=>c.Range.compareRangesUsingStarts(U.selection,H.selection));let P=z[0];for(let U=1;Unew p.Position(H.positionLineNumber,H.positionColumn)));let V=X.getSelection();if(V!==null){let U=new C.TrimTrailingWhitespaceCommand(V,P);X.pushUndoStop(),X.executeCommands(this.id,[U]),X.pushUndoStop()}}}e.TrimTrailingWhitespaceAction=I,I.ID="editor.action.trimTrailingWhitespace";class k extends w.EditorAction{constructor(){super({id:"editor.action.deleteLines",label:b.localize(13,null),alias:"Delete Line",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.textInputFocus,primary:2048|1024|41,weight:100}})}run(le,X){if(!!X.hasModel()){let z=this._getLinesToRemove(X),P=X.getModel();if(!(P.getLineCount()===1&&P.getLineMaxColumn(1)===1)){let V=0,U=[],H=[];for(let $=0,ie=z.length;$1&&(ae-=1,j=P.getLineMaxColumn(ae)),U.push(g.EditOperation.replace(new o.Selection(ae,j,G,te),"")),H.push(new o.Selection(ae-V,oe.positionColumn,ae-V,oe.positionColumn)),V+=oe.endLineNumber-oe.startLineNumber+1}X.pushUndoStop(),X.executeEdits(this.id,U,H),X.pushUndoStop()}}}_getLinesToRemove(le){let X=le.getSelections().map(V=>{let U=V.endLineNumber;return V.startLineNumberV.startLineNumber===U.startLineNumber?V.endLineNumber-U.endLineNumber:V.startLineNumber-U.startLineNumber);let z=[],P=X[0];for(let V=1;V=X[V].startLineNumber?P.endLineNumber=X[V].endLineNumber:(z.push(P),P=X[V]);return z.push(P),z}}e.DeleteLinesAction=k;class E extends w.EditorAction{constructor(){super({id:"editor.action.indentLines",label:b.localize(14,null),alias:"Indent Line",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:2048|89,weight:100}})}run(le,X){const z=X._getViewModel();!z||(X.pushUndoStop(),X.executeCommands(this.id,d.TypeOperations.indent(z.cursorConfig,X.getModel(),X.getSelections())),X.pushUndoStop())}}e.IndentLinesAction=E;class T extends w.EditorAction{constructor(){super({id:"editor.action.outdentLines",label:b.localize(15,null),alias:"Outdent Line",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:2048|87,weight:100}})}run(le,X){M.CoreEditingCommands.Outdent.runEditorCommand(le,X,null)}}class O extends w.EditorAction{constructor(){super({id:"editor.action.insertLineBefore",label:b.localize(16,null),alias:"Insert Line Above",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:2048|1024|3,weight:100}})}run(le,X){const z=X._getViewModel();!z||(X.pushUndoStop(),X.executeCommands(this.id,d.TypeOperations.lineInsertBefore(z.cursorConfig,X.getModel(),X.getSelections())))}}e.InsertLineBeforeAction=O;class A extends w.EditorAction{constructor(){super({id:"editor.action.insertLineAfter",label:b.localize(17,null),alias:"Insert Line Below",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:2048|3,weight:100}})}run(le,X){const z=X._getViewModel();!z||(X.pushUndoStop(),X.executeCommands(this.id,d.TypeOperations.lineInsertAfter(z.cursorConfig,X.getModel(),X.getSelections())))}}e.InsertLineAfterAction=A;class B extends w.EditorAction{run(le,X){if(!!X.hasModel()){const z=X.getSelection();let P=this._getRangesToDelete(X),V=[];for(let $=0,ie=P.length-1;$g.EditOperation.replace($,""));X.pushUndoStop(),X.executeEdits(this.id,H,U),X.pushUndoStop()}}}e.AbstractDeleteAllToBoundaryAction=B;class F extends B{constructor(){super({id:"deleteAllLeft",label:b.localize(18,null),alias:"Delete All Left",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.textInputFocus,primary:0,mac:{primary:2048|1},weight:100}})}_getEndCursorState(le,X){let z=null,P=[],V=0;return X.forEach(U=>{let H;if(U.endColumn===1&&V>0){let $=U.startLineNumber-V;H=new o.Selection($,U.startColumn,$,U.startColumn)}else H=new o.Selection(U.startLineNumber,U.startColumn,U.startLineNumber,U.startColumn);V+=U.endLineNumber-U.startLineNumber,U.intersectRanges(le)?z=H:P.push(H)}),z&&P.unshift(z),P}_getRangesToDelete(le){let X=le.getSelections();if(X===null)return[];let z=X,P=le.getModel();return P===null?[]:(z.sort(c.Range.compareRangesUsingStarts),z=z.map(V=>{if(V.isEmpty())if(V.startColumn===1){let U=Math.max(1,V.startLineNumber-1),H=V.startLineNumber===1?1:P.getLineContent(U).length+1;return new c.Range(U,H,V.startLineNumber,1)}else return new c.Range(V.startLineNumber,1,V.startLineNumber,V.startColumn);else return new c.Range(V.startLineNumber,1,V.endLineNumber,V.endColumn)}),z)}}e.DeleteAllLeftAction=F;class D extends B{constructor(){super({id:"deleteAllRight",label:b.localize(19,null),alias:"Delete All Right",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|41,secondary:[2048|20]},weight:100}})}_getEndCursorState(le,X){let z=null,P=[];for(let V=0,U=X.length,H=0;V{if(V.isEmpty()){const U=X.getLineMaxColumn(V.startLineNumber);return V.startColumn===U?new c.Range(V.startLineNumber,V.startColumn,V.startLineNumber+1,1):new c.Range(V.startLineNumber,V.startColumn,V.startLineNumber,U)}return V});return P.sort(c.Range.compareRangesUsingStarts),P}}e.DeleteAllRightAction=D;class R extends w.EditorAction{constructor(){super({id:"editor.action.joinLines",label:b.localize(20,null),alias:"Join Lines",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:0,mac:{primary:256|40},weight:100}})}run(le,X){let z=X.getSelections();if(z!==null){let P=X.getSelection();if(P!==null){z.sort(c.Range.compareRangesUsingStarts);let V=[],U=z.reduce((G,j)=>G.isEmpty()?G.endLineNumber===j.startLineNumber?(P.equalsSelection(G)&&(P=j),j):j.startLineNumber>G.endLineNumber+1?(V.push(G),j):new o.Selection(G.startLineNumber,G.startColumn,j.endLineNumber,j.endColumn):j.startLineNumber>G.endLineNumber?(V.push(G),j):new o.Selection(G.startLineNumber,G.startColumn,j.endLineNumber,j.endColumn));V.push(U);let H=X.getModel();if(H!==null){let $=[],ie=[],oe=P,ae=0;for(let G=0,j=V.length;G=1){let Ee=!0;Ce===""&&(Ee=!1),Ee&&(Ce.charAt(Ce.length-1)===" "||Ce.charAt(Ce.length-1)===" ")&&(Ee=!1,Ce=Ce.replace(/[\s\uFEFF\xA0]+$/g," "));let Ae=De.substr(Re-1);Ce+=(Ee?" ":"")+Ae,Ee?he=Ae.length+1:he=Ae.length}else he=0}let be=new c.Range(Z,ue,re,ce);if(!be.isEmpty()){let Le;te.isEmpty()?($.push(g.EditOperation.replace(be,Ce)),Le=new o.Selection(be.startLineNumber-ae,Ce.length-he+1,Z-ae,Ce.length-he+1)):te.startLineNumber===te.endLineNumber?($.push(g.EditOperation.replace(be,Ce)),Le=new o.Selection(te.startLineNumber-ae,te.startColumn,te.endLineNumber-ae,te.endColumn)):($.push(g.EditOperation.replace(be,Ce)),Le=new o.Selection(te.startLineNumber-ae,te.startColumn,te.startLineNumber-ae,Ce.length-me)),c.Range.intersectRanges(be,P)!==null?oe=Le:ie.push(Le)}ae+=be.endLineNumber-be.startLineNumber}ie.unshift(oe),X.pushUndoStop(),X.executeEdits(this.id,$,ie),X.pushUndoStop()}}}}}e.JoinLinesAction=R;class W extends w.EditorAction{constructor(){super({id:"editor.action.transpose",label:b.localize(21,null),alias:"Transpose characters around the cursor",precondition:s.EditorContextKeys.writable})}run(le,X){let z=X.getSelections();if(z!==null){let P=X.getModel();if(P!==null){let V=[];for(let U=0,H=z.length;U=oe){if(ie.lineNumber===P.getLineCount())continue;let ae=new c.Range(ie.lineNumber,Math.max(1,ie.column-1),ie.lineNumber+1,1),G=P.getValueInRange(ae).split("").reverse().join("");V.push(new S.ReplaceCommand(new o.Selection(ie.lineNumber,Math.max(1,ie.column-1),ie.lineNumber+1,1),G))}else{let ae=new c.Range(ie.lineNumber,Math.max(1,ie.column-1),ie.lineNumber,ie.column+1),G=P.getValueInRange(ae).split("").reverse().join("");V.push(new S.ReplaceCommandThatPreservesSelection(ae,G,new o.Selection(ie.lineNumber,ie.column+1,ie.lineNumber,ie.column+1)))}}}X.pushUndoStop(),X.executeCommands(this.id,V),X.pushUndoStop()}}}}e.TransposeAction=W;class x extends w.EditorAction{run(le,X){const z=X.getSelections();if(z!==null){const P=X.getModel();if(P!==null){const V=X.getOption(110),U=[];for(const H of z)if(H.isEmpty()){const $=H.getStartPosition(),ie=X.getConfiguredWordAtPosition($);if(!ie)continue;const oe=new c.Range($.lineNumber,ie.startColumn,$.lineNumber,ie.endColumn),ae=P.getValueInRange(oe);U.push(g.EditOperation.replace(oe,this._modifyText(ae,V)))}else{const $=P.getValueInRange(H);U.push(g.EditOperation.replace(H,this._modifyText($,V)))}X.pushUndoStop(),X.executeEdits(this.id,U),X.pushUndoStop()}}}}e.AbstractCaseAction=x;class K extends x{constructor(){super({id:"editor.action.transformToUppercase",label:b.localize(22,null),alias:"Transform to Uppercase",precondition:s.EditorContextKeys.writable})}_modifyText(le,X){return le.toLocaleUpperCase()}}e.UpperCaseAction=K;class Y extends x{constructor(){super({id:"editor.action.transformToLowercase",label:b.localize(23,null),alias:"Transform to Lowercase",precondition:s.EditorContextKeys.writable})}_modifyText(le,X){return le.toLocaleLowerCase()}}e.LowerCaseAction=Y;class ee extends x{constructor(){super({id:"editor.action.transformToTitlecase",label:b.localize(24,null),alias:"Transform to Title Case",precondition:s.EditorContextKeys.writable})}_modifyText(le,X){const P=(`\r + `+X).split("");let V="",U=!0;for(let H=0;H=0?(U=!0,V+=$):U?(U=!1,V+=$.toLocaleUpperCase()):V+=$.toLocaleLowerCase()}return V}}e.TitleCaseAction=ee;class se extends x{constructor(){super({id:"editor.action.transformToSnakecase",label:b.localize(25,null),alias:"Transform to Snake Case",precondition:s.EditorContextKeys.writable})}_modifyText(le,X){return le.replace(/(\p{Ll})(\p{Lu})/gmu,"$1_$2").replace(/([^\b_])(\p{Lu})(\p{Ll})/gmu,"$1_$2$3").toLocaleLowerCase()}}e.SnakeCaseAction=se,w.registerEditorAction(t),w.registerEditorAction(l),w.registerEditorAction(h),w.registerEditorAction(_),w.registerEditorAction(f),w.registerEditorAction(y),w.registerEditorAction(L),w.registerEditorAction(I),w.registerEditorAction(k),w.registerEditorAction(E),w.registerEditorAction(T),w.registerEditorAction(O),w.registerEditorAction(A),w.registerEditorAction(F),w.registerEditorAction(D),w.registerEditorAction(R),w.registerEditorAction(W),w.registerEditorAction(K),w.registerEditorAction(Y),w.registerEditorAction(ee),w.registerEditorAction(se)}),define(Q[632],J([0,1,494,13,19,2,14,23,3,18,15,31,16,25,24,28,12,8,22,11,29,41]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorLinkedEditingBackground=e.LinkedEditingAction=e.LinkedEditingContribution=e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=void 0,e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=new o.RawContextKey("LinkedEditingInputVisible",!1);const m="linked-editing-decoration";let _=class vt extends w.Disposable{constructor(I,k){super();this._debounceDuration=200,this._localToDispose=this._register(new w.DisposableStore),this._editor=I,this._enabled=!1,this._visibleContextKey=e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE.bindTo(k),this._currentDecorations=[],this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new w.DisposableStore),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize())),this._register(this._editor.onDidChangeConfiguration(E=>{(E.hasChanged(56)||E.hasChanged(76))&&this.reinitialize()})),this._register(g.LinkedEditingRangeProviderRegistry.onDidChange(()=>this.reinitialize())),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize())),this.reinitialize()}static get(I){return I.getContribution(vt.ID)}reinitialize(){const I=this._editor.getModel(),k=I!==null&&(this._editor.getOption(56)||this._editor.getOption(76))&&g.LinkedEditingRangeProviderRegistry.has(I);if(k!==this._enabled&&(this._enabled=k,this.clearRanges(),this._localToDispose.clear(),!(!k||I===null))){this._languageWordPattern=h.LanguageConfigurationRegistry.getWordDefinition(I.getLanguageIdentifier().id),this._localToDispose.add(I.onDidChangeLanguageConfiguration(()=>{this._languageWordPattern=h.LanguageConfigurationRegistry.getWordDefinition(I.getLanguageIdentifier().id)}));const E=new p.Delayer(this._debounceDuration),T=()=>{this._rangeUpdateTriggerPromise=E.trigger(()=>this.updateRanges(),this._debounceDuration)},O=new p.Delayer(0),A=B=>{this._rangeSyncTriggerPromise=O.trigger(()=>this._syncRanges(B))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{T()})),this._localToDispose.add(this._editor.onDidChangeModelContent(B=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const F=I.getDecorationRange(this._currentDecorations[0]);if(F&&B.changes.every(D=>F.intersectRanges(D.range))){A(this._currentDecorations);return}}T()})),this._localToDispose.add({dispose:()=>{E.cancel(),O.cancel()}}),this.updateRanges()}}_syncRanges(I){if(!(!this._editor.hasModel()||I!==this._currentDecorations||I.length===0)){const k=this._editor.getModel(),E=k.getDecorationRange(I[0]);if(!E||E.startLineNumber!==E.endLineNumber)return this.clearRanges();const T=k.getValueInRange(E);if(this._currentWordPattern){const A=T.match(this._currentWordPattern);if((A?A[0].length:0)!==T.length)return this.clearRanges()}let O=[];for(let A=1,B=I.length;A1){this.clearRanges();return}const E=this._editor.getModel(),T=E.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===T){if(k.equals(this._currentRequestPosition))return;if(this._currentDecorations&&this._currentDecorations.length>0){const A=E.getDecorationRange(this._currentDecorations[0]);if(A&&A.containsPosition(k))return}}this._currentRequestPosition=k,this._currentRequestModelVersion=T;const O=p.createCancelablePromise(A=>Ie(this,void 0,void 0,function*(){try{const B=yield y(E,k,A);if(O!==this._currentRequest||(this._currentRequest=null,T!==E.getVersionId()))return;let F=[];(B==null?void 0:B.ranges)&&(F=B.ranges),this._currentWordPattern=(B==null?void 0:B.wordPattern)||this._languageWordPattern;let D=!1;for(let W=0,x=F.length;W({range:W,options:vt.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations=this._editor.deltaDecorations(this._currentDecorations,R)}catch(B){r.isPromiseCanceledError(B)||r.onUnexpectedError(B),(this._currentRequest===O||!this._currentRequest)&&this.clearRanges()}}));return this._currentRequest=O,O})}};_.ID="editor.contrib.linkedEditing",_.DECORATION=c.ModelDecorationOptions.register({stickiness:0,className:m}),_=Me([_e(1,o.IContextKeyService)],_),e.LinkedEditingContribution=_;class f extends N.EditorAction{constructor(){super({id:"editor.action.linkedEditing",label:b.localize(0,null),alias:"Start Linked Editing",precondition:o.ContextKeyExpr.and(s.EditorContextKeys.writable,s.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:2048|1024|60,weight:100}})}runCommand(I,k){const E=I.get(u.ICodeEditorService),[T,O]=Array.isArray(k)&&k||[void 0,void 0];return a.URI.isUri(T)&&S.Position.isIPosition(O)?E.openCodeEditor({resource:T},E.getActiveCodeEditor()).then(A=>{!A||(A.setPosition(O),A.invokeWithinContext(B=>(this.reportTelemetry(B,A),this.run(B,A))))},r.onUnexpectedError):super.runCommand(I,k)}run(I,k){const E=_.get(k);return E?Promise.resolve(E.updateRanges(!0)):Promise.resolve()}}e.LinkedEditingAction=f;const v=N.EditorCommand.bindToContribution(_.get);N.registerEditorCommand(new v({id:"cancelLinkedEditingInput",precondition:e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE,handler:L=>L.clearRanges(),kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,weight:100+99,primary:9,secondary:[1024|9]}}));function y(L,I,k){const E=g.LinkedEditingRangeProviderRegistry.ordered(L);return p.first(E.map(T=>()=>Ie(this,void 0,void 0,function*(){try{return yield T.provideLinkedEditingRanges(L,I,k)}catch(O){r.onUnexpectedExternalError(O);return}})),T=>!!T&&M.isNonEmptyArray(T==null?void 0:T.ranges))}e.editorLinkedEditingBackground=n.registerColor("editor.linkedEditingBackground",{dark:l.Color.fromHex("#f00").transparent(.3),light:l.Color.fromHex("#f00").transparent(.3),hc:l.Color.fromHex("#f00").transparent(.3)},b.localize(1,null)),t.registerThemingParticipant((L,I)=>{const k=L.getColor(e.editorLinkedEditingBackground);k&&I.addRule(`.monaco-editor .${m} { background: ${k}; border-left-color: ${k}; }`)}),N.registerModelAndPositionCommand("_executeLinkedEditingProvider",(L,I)=>y(L,I,C.CancellationToken.None)),N.registerEditorContribution(_.ID,_),N.registerEditorAction(f)}),define(Q[633],J([0,1,495,15,23,12,73,2,17,13,31,18,227,546,32,58,22,11,24,43,44,346]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkDetector=void 0;function h(y,L){const I=y.url&&/^command:/i.test(y.url.toString()),k=y.tooltip?y.tooltip:I?b.localize(0,null):b.localize(1,null),E=L?d.isMacintosh?b.localize(2,null):b.localize(3,null):d.isMacintosh?b.localize(4,null):b.localize(5,null);if(y.url){let T="";if(/^command:/i.test(y.url.toString())){const A=y.url.toString().match(/^command:([^?#]+)/);if(A){const B=A[1];T=` "${b.localize(6,null,B)}"`}}return new S.MarkdownString("",!0).appendMarkdown(`[${k}](${y.url.toString(!0)}${T}) (${E})`)}else return new S.MarkdownString().appendText(`${k} (${E})`)}const m={general:p.ModelDecorationOptions.register({stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:p.ModelDecorationOptions.register({stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class _{constructor(L,I){this.link=L,this.decorationId=I}static decoration(L,I){return{range:L.range,options:_._getOptions(L,I,!1)}}static _getOptions(L,I,k){const E=Object.assign({},k?m.active:m.general);return E.hoverMessage=h(L,I),E}activate(L,I){L.changeDecorationOptions(this.decorationId,_._getOptions(this.link,I,!0))}deactivate(L,I){L.changeDecorationOptions(this.decorationId,_._getOptions(this.link,I,!1))}}let f=class bt{constructor(L,I,k){this.listenersToRemove=new C.DisposableStore,this.editor=L,this.openerService=I,this.notificationService=k;let E=new o.ClickLinkGesture(L);this.listenersToRemove.add(E),this.listenersToRemove.add(E.onMouseMoveOrRelevantKeyDown(([T,O])=>{this._onEditorMouseMove(T,O)})),this.listenersToRemove.add(E.onExecute(T=>{this.onEditorMouseUp(T)})),this.listenersToRemove.add(E.onCancel(T=>{this.cleanUpActiveLinkDecoration()})),this.enabled=L.getOption(57),this.listenersToRemove.add(L.onDidChangeConfiguration(T=>{const O=L.getOption(57);this.enabled!==O&&(this.enabled=O,this.updateDecorations([]),this.stop(),this.beginCompute())})),this.listenersToRemove.add(L.onDidChangeModelContent(T=>this.onChange())),this.listenersToRemove.add(L.onDidChangeModel(T=>this.onModelChanged())),this.listenersToRemove.add(L.onDidChangeModelLanguage(T=>this.onModelModeChanged())),this.listenersToRemove.add(c.LinkProviderRegistry.onDidChange(T=>this.onModelModeChanged())),this.timeout=new N.TimeoutTimer,this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null,this.beginCompute()}static get(L){return L.getContribution(bt.ID)}onModelChanged(){this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.beginCompute()}onModelModeChanged(){this.stop(),this.beginCompute()}onChange(){this.timeout.setIfNotSet(()=>this.beginCompute(),bt.RECOMPUTE_TIME)}beginCompute(){return Ie(this,void 0,void 0,function*(){if(!(!this.editor.hasModel()||!this.enabled)){const L=this.editor.getModel();if(!!c.LinkProviderRegistry.has(L)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=N.createCancelablePromise(I=>s.getLinks(L,I));try{this.activeLinksList=yield this.computePromise,this.updateDecorations(this.activeLinksList.links)}catch(I){w.onUnexpectedError(I)}finally{this.computePromise=null}}}})}updateDecorations(L){const I=this.editor.getOption(64)==="altKey";let k=[],E=Object.keys(this.currentOccurrences);for(let A=0,B=E.length;A{E.activate(T,k),this.activeLinkDecorationId=E.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const L=this.editor.getOption(64)==="altKey";if(this.activeLinkDecorationId){const I=this.currentOccurrences[this.activeLinkDecorationId];I&&this.editor.changeDecorations(k=>{I.deactivate(k,L)}),this.activeLinkDecorationId=null}}onEditorMouseUp(L){if(!!this.isEnabled(L)){const I=this.getLinkOccurrence(L.target.position);!I||this.openLinkOccurrence(I,L.hasSideBySideModifier,!0)}}openLinkOccurrence(L,I,k=!1){if(!!this.openerService){const{link:E}=L;E.resolve(M.CancellationToken.None).then(T=>{if(typeof T=="string"&&this.editor.hasModel()){const O=this.editor.getModel().uri;if(O.scheme===t.Schemas.file&&T.startsWith(`${t.Schemas.file}:`)){const A=n.URI.parse(T);if(A.scheme===t.Schemas.file){const B=l.originalFSPath(A);let F=null;B.startsWith("/./")?F=`.${B.substr(1)}`:B.startsWith("//./")&&(F=`.${B.substr(2)}`),F&&(T=l.joinPath(O,F))}}}return this.openerService.open(T,{openToSide:I,fromUserGesture:k,allowContributedOpeners:!0})},T=>{const O=T instanceof Error?T.message:T;O==="invalid"?this.notificationService.warn(b.localize(7,null,E.url.toString())):O==="missing"?this.notificationService.warn(b.localize(8,null)):w.onUnexpectedError(T)})}}getLinkOccurrence(L){if(!this.editor.hasModel()||!L)return null;const I=this.editor.getModel().getDecorationsInRange({startLineNumber:L.lineNumber,startColumn:L.column,endLineNumber:L.lineNumber,endColumn:L.column},0,!0);for(const k of I){const E=this.currentOccurrences[k.id];if(E)return E}return null}isEnabled(L,I){return Boolean(L.target.type===6&&(L.hasTriggerModifier||I&&I.keyCodeIsTriggerKey))}stop(){var L;this.timeout.cancel(),this.activeLinksList&&((L=this.activeLinksList)===null||L===void 0||L.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){this.listenersToRemove.dispose(),this.stop(),this.timeout.dispose()}};f.ID="editor.linkDetector",f.RECOMPUTE_TIME=1e3,f=Me([_e(1,u.IOpenerService),_e(2,a.INotificationService)],f),e.LinkDetector=f;class v extends g.EditorAction{constructor(){super({id:"editor.action.openLink",label:b.localize(9,null),alias:"Open Link",precondition:void 0})}run(L,I){let k=f.get(I);if(!!k&&!!I.hasModel()){let E=I.getSelections();for(let T of E){let O=k.getLinkOccurrence(T.getEndPosition());O&&k.openLinkOccurrence(O,!1)}}}}g.registerEditorContribution(f.ID,f),g.registerEditorAction(v),i.registerThemingParticipant((y,L)=>{const I=y.getColor(r.editorActiveLinkForeground);I&&L.addRule(`.monaco-editor .detected-link-active { color: ${I} !important; }`)})}),define(Q[146],J([0,1,496,15,2,47,3,13,16,11,22,97,347]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MessageController=void 0;let o=class St{constructor(r,i){this._messageWidget=new M.MutableDisposable,this._messageListeners=new M.DisposableStore,this._editor=r,this._visible=St.MESSAGE_VISIBLE.bindTo(i),this._editorListener=this._editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit())}static get(r){return r.getContribution(St.ID)}dispose(){this._editorListener.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(r,i){w.alert(r),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new a(this._editor,i,r),this._messageListeners.add(this._editor.onDidBlurEditorText(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(new N.TimeoutTimer(()=>this.closeMessage(),3e3));let n;this._messageListeners.add(this._editor.onMouseMove(t=>{!t.target.position||(n?n.containsPosition(t.target.position)||this.closeMessage():n=new S.Range(i.lineNumber-3,1,t.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(a.fadeOut(this._messageWidget.value))}_onDidAttemptReadOnlyEdit(){this._editor.hasModel()&&this.showMessage(b.localize(1,null),this._editor.getPosition())}};o.ID="editor.contrib.messageController",o.MESSAGE_VISIBLE=new d.RawContextKey("messageVisible",!1,b.localize(0,null)),o=Me([_e(1,d.IContextKeyService)],o),e.MessageController=o;const s=C.EditorCommand.bindToContribution(o.get);C.registerEditorCommand(new s({id:"leaveEditorMessage",precondition:o.MESSAGE_VISIBLE,handler:u=>u.closeMessage(),kbOpts:{weight:100+30,primary:9}}));class a{constructor(r,{lineNumber:i,column:n},t){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=r,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:n-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");const l=document.createElement("div");l.classList.add("anchor","top"),this._domNode.appendChild(l);const h=document.createElement("div");h.classList.add("message"),h.textContent=t,this._domNode.appendChild(h);const m=document.createElement("div");m.classList.add("anchor","below"),this._domNode.appendChild(m),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}static fadeOut(r){let i;const n=()=>{r.dispose(),clearTimeout(i),r.getDomNode().removeEventListener("animationend",n)};return i=setTimeout(n,110),r.getDomNode().addEventListener("animationend",n),r.getDomNode().classList.add("fadeOut"),{dispose:n}}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2]}}afterRender(r){this._domNode.classList.toggle("below",r===2)}}C.registerEditorContribution(o.ID,o),g.registerThemingParticipant((u,r)=>{const i=u.getColor(p.inputValidationInfoBorder);if(i){let l=u.type===c.ColorScheme.HIGH_CONTRAST?2:1;r.addRule(`.monaco-editor .monaco-editor-overlaymessage .anchor.below { border-top-color: ${i}; }`),r.addRule(`.monaco-editor .monaco-editor-overlaymessage .anchor.top { border-bottom-color: ${i}; }`),r.addRule(`.monaco-editor .monaco-editor-overlaymessage .message { border: ${l}px solid ${i}; }`)}const n=u.getColor(p.inputValidationInfoBackground);n&&r.addRule(`.monaco-editor .monaco-editor-overlaymessage .message { background-color: ${n}; }`);const t=u.getColor(p.inputValidationInfoForeground);t&&r.addRule(`.monaco-editor .monaco-editor-overlaymessage .message { color: ${t}; }`)})});var _t=this&&this.__classPrivateFieldSet||function(q,e,b){if(!e.has(q))throw new TypeError("attempted to set private field on non-instance");return e.set(q,b),b},tt=this&&this.__classPrivateFieldGet||function(q,e){if(!e.has(q))throw new TypeError("attempted to get private field on non-instance");return e.get(q)};define(Q[634],J([0,1,12,150,2,146,9,616,595]),function(q,e,b,N,M,w,S,C,d){"use strict";var g;Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionUi=void 0;let p=class extends M.Disposable{constructor(o,s,a,u,r){super();this._editor=o,this.delegate=u,this._activeCodeActions=this._register(new M.MutableDisposable),g.set(this,!1),this._codeActionWidget=new N.Lazy(()=>this._register(r.createInstance(C.CodeActionMenu,this._editor,{onSelectCodeAction:i=>Ie(this,void 0,void 0,function*(){this.delegate.applyCodeAction(i,!0)})}))),this._lightBulbWidget=new N.Lazy(()=>{const i=this._register(r.createInstance(d.LightBulbWidget,this._editor,s,a));return this._register(i.onClick(n=>this.showCodeActionList(n.trigger,n.actions,n,{includeDisabledActions:!1}))),i})}dispose(){_t(this,g,!0),super.dispose()}update(o){var s,a,u;return Ie(this,void 0,void 0,function*(){if(o.type!==1){(s=this._lightBulbWidget.rawValue)===null||s===void 0||s.hide();return}let r;try{r=yield o.actions}catch(i){b.onUnexpectedError(i);return}if(!tt(this,g))if(this._lightBulbWidget.getValue().update(r,o.trigger,o.position),o.trigger.type===2){if((a=o.trigger.filter)===null||a===void 0?void 0:a.include){const n=this.tryGetValidActionToApply(o.trigger,r);if(n){try{yield this.delegate.applyCodeAction(n,!1)}finally{r.dispose()}return}if(o.trigger.context){const t=this.getInvalidActionThatWouldHaveBeenApplied(o.trigger,r);if(t&&t.action.disabled){w.MessageController.get(this._editor).showMessage(t.action.disabled,o.trigger.context.position),r.dispose();return}}}const i=!!((u=o.trigger.filter)===null||u===void 0?void 0:u.include);if(o.trigger.context&&(!r.allActions.length||!i&&!r.validActions.length)){w.MessageController.get(this._editor).showMessage(o.trigger.context.notAvailableMessage,o.trigger.context.position),this._activeCodeActions.value=r,r.dispose();return}this._activeCodeActions.value=r,this._codeActionWidget.getValue().show(o.trigger,r,o.position,{includeDisabledActions:i})}else this._codeActionWidget.getValue().isVisible?r.dispose():this._activeCodeActions.value=r})}getInvalidActionThatWouldHaveBeenApplied(o,s){if(!!s.allActions.length&&(o.autoApply==="first"&&s.validActions.length===0||o.autoApply==="ifSingle"&&s.allActions.length===1))return s.allActions.find(({action:a})=>a.disabled)}tryGetValidActionToApply(o,s){if(!!s.validActions.length&&(o.autoApply==="first"&&s.validActions.length>0||o.autoApply==="ifSingle"&&s.validActions.length===1))return s.validActions[0]}showCodeActionList(o,s,a,u){return Ie(this,void 0,void 0,function*(){this._codeActionWidget.getValue().show(o,s,a,u)})}};g=new WeakMap,p=Me([_e(4,S.IInstantiationService)],p),e.CodeActionUi=p}),define(Q[263],J([0,1,23,150,2,8,13,133,25,145,634,146,466,26,16,9,85,32,59,87,617,130]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AutoFixAction=e.FixAllAction=e.OrganizeImportsAction=e.SourceAction=e.RefactorAction=e.CodeActionCommand=e.QuickFixAction=e.applyCodeAction=e.QuickFixController=void 0;function m(F){return a.ContextKeyExpr.regex(l.SUPPORTED_CODE_ACTIONS.keys()[0],new RegExp("(\\s|^)"+w.escapeRegExpCharacters(F.value)+"\\b"))}const _={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:o.localize(0,null)},apply:{type:"string",description:o.localize(1,null),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[o.localize(2,null),o.localize(3,null),o.localize(4,null)]},preferred:{type:"boolean",default:!1,description:o.localize(5,null)}}};let f=class xt extends M.Disposable{constructor(D,R,W,x,K){super();this._instantiationService=K,this._editor=D,this._model=this._register(new l.CodeActionModel(this._editor,R,W,x)),this._register(this._model.onDidChangeState(Y=>this.update(Y))),this._ui=new N.Lazy(()=>this._register(new p.CodeActionUi(D,I.Id,B.Id,{applyCodeAction:(Y,ee)=>Ie(this,void 0,void 0,function*(){try{yield this._applyCodeAction(Y)}finally{ee&&this._trigger({type:1,filter:{}})}})},this._instantiationService)))}static get(D){return D.getContribution(xt.ID)}update(D){this._ui.getValue().update(D)}showCodeActions(D,R,W){return this._ui.getValue().showCodeActionList(D,R,W,{includeDisabledActions:!1})}manualTriggerAtCurrentPosition(D,R,W){if(!!this._editor.hasModel()){c.MessageController.get(this._editor).closeMessage();const x=this._editor.getPosition();this._trigger({type:2,filter:R,autoApply:W,context:{notAvailableMessage:D,position:x}})}}_trigger(D){return this._model.trigger(D)}_applyCodeAction(D){return this._instantiationService.invokeFunction(v,D,this._editor)}};f.ID="editor.contrib.quickFixController",f=Me([_e(1,r.IMarkerService),_e(2,a.IContextKeyService),_e(3,n.IEditorProgressService),_e(4,u.IInstantiationService)],f),e.QuickFixController=f;function v(F,D,R){return Ie(this,void 0,void 0,function*(){const W=F.get(C.IBulkEditService),x=F.get(s.ICommandService),K=F.get(t.ITelemetryService),Y=F.get(i.INotificationService);if(K.publicLog2("codeAction.applyCodeAction",{codeActionTitle:D.action.title,codeActionKind:D.action.kind,codeActionIsPreferred:!!D.action.isPreferred}),yield D.resolve(b.CancellationToken.None),D.action.edit&&(yield W.apply(C.ResourceEdit.convert(D.action.edit),{editor:R,label:D.action.title})),D.action.command)try{yield x.executeCommand(D.action.command.id,...D.action.command.arguments||[])}catch(ee){const se=y(ee);Y.error(typeof se=="string"?se:o.localize(6,null))}})}e.applyCodeAction=v;function y(F){return typeof F=="string"?F:F instanceof Error&&typeof F.message=="string"?F.message:void 0}function L(F,D,R,W){if(F.hasModel()){const x=f.get(F);x&&x.manualTriggerAtCurrentPosition(D,R,W)}}class I extends S.EditorAction{constructor(){super({id:I.Id,label:o.localize(7,null),alias:"Quick Fix...",precondition:a.ContextKeyExpr.and(d.EditorContextKeys.writable,d.EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:2048|84,weight:100}})}run(D,R){return L(R,o.localize(8,null),void 0,void 0)}}e.QuickFixAction=I,I.Id="editor.action.quickFix";class k extends S.EditorCommand{constructor(){super({id:g.codeActionCommandId,precondition:a.ContextKeyExpr.and(d.EditorContextKeys.writable,d.EditorContextKeys.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:_}]}})}runEditorCommand(D,R,W){const x=h.CodeActionCommandArgs.fromUser(W,{kind:h.CodeActionKind.Empty,apply:"ifSingle"});return L(R,typeof(W==null?void 0:W.kind)=="string"?x.preferred?o.localize(9,null,W.kind):o.localize(10,null,W.kind):x.preferred?o.localize(11,null):o.localize(12,null),{include:x.kind,includeSourceActions:!0,onlyIncludePreferredActions:x.preferred},x.apply)}}e.CodeActionCommand=k;class E extends S.EditorAction{constructor(){super({id:g.refactorCommandId,label:o.localize(13,null),alias:"Refactor...",precondition:a.ContextKeyExpr.and(d.EditorContextKeys.writable,d.EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:2048|1024|48,mac:{primary:256|1024|48},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:a.ContextKeyExpr.and(d.EditorContextKeys.writable,m(h.CodeActionKind.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:_}]}})}run(D,R,W){const x=h.CodeActionCommandArgs.fromUser(W,{kind:h.CodeActionKind.Refactor,apply:"never"});return L(R,typeof(W==null?void 0:W.kind)=="string"?x.preferred?o.localize(14,null,W.kind):o.localize(15,null,W.kind):x.preferred?o.localize(16,null):o.localize(17,null),{include:h.CodeActionKind.Refactor.contains(x.kind)?x.kind:h.CodeActionKind.None,onlyIncludePreferredActions:x.preferred},x.apply)}}e.RefactorAction=E;class T extends S.EditorAction{constructor(){super({id:g.sourceActionCommandId,label:o.localize(18,null),alias:"Source Action...",precondition:a.ContextKeyExpr.and(d.EditorContextKeys.writable,d.EditorContextKeys.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:a.ContextKeyExpr.and(d.EditorContextKeys.writable,m(h.CodeActionKind.Source))},description:{description:"Source Action...",args:[{name:"args",schema:_}]}})}run(D,R,W){const x=h.CodeActionCommandArgs.fromUser(W,{kind:h.CodeActionKind.Source,apply:"never"});return L(R,typeof(W==null?void 0:W.kind)=="string"?x.preferred?o.localize(19,null,W.kind):o.localize(20,null,W.kind):x.preferred?o.localize(21,null):o.localize(22,null),{include:h.CodeActionKind.Source.contains(x.kind)?x.kind:h.CodeActionKind.None,includeSourceActions:!0,onlyIncludePreferredActions:x.preferred},x.apply)}}e.SourceAction=T;class O extends S.EditorAction{constructor(){super({id:g.organizeImportsCommandId,label:o.localize(23,null),alias:"Organize Imports",precondition:a.ContextKeyExpr.and(d.EditorContextKeys.writable,m(h.CodeActionKind.SourceOrganizeImports)),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:1024|512|45,weight:100}})}run(D,R){return L(R,o.localize(24,null),{include:h.CodeActionKind.SourceOrganizeImports,includeSourceActions:!0},"ifSingle")}}e.OrganizeImportsAction=O;class A extends S.EditorAction{constructor(){super({id:g.fixAllCommandId,label:o.localize(25,null),alias:"Fix All",precondition:a.ContextKeyExpr.and(d.EditorContextKeys.writable,m(h.CodeActionKind.SourceFixAll))})}run(D,R){return L(R,o.localize(26,null),{include:h.CodeActionKind.SourceFixAll,includeSourceActions:!0},"ifSingle")}}e.FixAllAction=A;class B extends S.EditorAction{constructor(){super({id:B.Id,label:o.localize(27,null),alias:"Auto Fix...",precondition:a.ContextKeyExpr.and(d.EditorContextKeys.writable,m(h.CodeActionKind.QuickFix)),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:512|1024|84,mac:{primary:2048|512|84},weight:100}})}run(D,R){return L(R,o.localize(28,null),{include:h.CodeActionKind.QuickFix,onlyIncludePreferredActions:!0},"ifSingle")}}e.AutoFixAction=B,B.Id="editor.action.autoFix"}),define(Q[635],J([0,1,13,263]),function(q,e,b,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),b.registerEditorContribution(N.QuickFixController.ID,N.QuickFixController),b.registerEditorAction(N.QuickFixAction),b.registerEditorAction(N.RefactorAction),b.registerEditorAction(N.SourceAction),b.registerEditorAction(N.OrganizeImportsAction),b.registerEditorAction(N.AutoFixAction),b.registerEditorAction(N.FixAllAction),b.registerEditorCommand(new N.CodeActionCommand)}),define(Q[636],J([0,1,503,12,16,59,13,25,604,18,14,47,3,146,70,32,133,24,28,23,2,15,77,9,33,95,137,20]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RenameAction=e.rename=void 0;class I{constructor(B,F){this.model=B,this.position=F,this._providerRenameIdx=0,this._providers=g.RenameProviderRegistry.ordered(B)}hasProvider(){return this._providers.length>0}resolveRenameLocation(B){return Ie(this,void 0,void 0,function*(){const F=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?F.join(` +`):void 0}:{range:o.Range.fromPositions(this.position),text:"",rejectReason:F.length>0?F.join(` +`):void 0}})}provideRenameEdits(B,F){return Ie(this,void 0,void 0,function*(){return this._provideRenameEdits(B,this._providerRenameIdx,[],F)})}_provideRenameEdits(B,F,D,R){return Ie(this,void 0,void 0,function*(){const W=this._providers[F];if(!W)return{edits:[],rejectReason:D.join(` +`)};const x=yield W.provideRenameEdits(this.model,this.position,B,R);if(x){if(x.rejectReason)return this._provideRenameEdits(B,F+1,D.concat(x.rejectReason),R)}else return this._provideRenameEdits(B,F+1,D.concat(b.localize(0,null)),R);return x})}}function k(A,B,F){return Ie(this,void 0,void 0,function*(){const D=new I(A,B),R=yield D.resolveRenameLocation(t.CancellationToken.None);return(R==null?void 0:R.rejectReason)?{edits:[],rejectReason:R.rejectReason}:D.provideRenameEdits(F,t.CancellationToken.None)})}e.rename=k;let E=class Vt{constructor(B,F,D,R,W,x,K){this.editor=B,this._instaService=F,this._notificationService=D,this._bulkEditService=R,this._progressService=W,this._logService=x,this._configService=K,this._dispoableStore=new l.DisposableStore,this._cts=new t.CancellationTokenSource,this._renameInputField=this._dispoableStore.add(new h.IdleValue(()=>this._dispoableStore.add(this._instaService.createInstance(d.RenameInputField,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))))}static get(B){return B.getContribution(Vt.ID)}dispose(){this._dispoableStore.dispose(),this._cts.dispose(!0)}run(){return Ie(this,void 0,void 0,function*(){if(this._cts.dispose(!0),!!this.editor.hasModel()){const B=this.editor.getPosition(),F=new I(this.editor.getModel(),B);if(!!F.hasProvider()){this._cts=new a.EditorStateCancellationTokenSource(this.editor,4|1);let D;try{const se=F.resolveRenameLocation(this._cts.token);this._progressService.showWhile(se,250),D=yield se}catch(se){s.MessageController.get(this.editor).showMessage(se||b.localize(1,null),B);return}if(!!D){if(D.rejectReason){s.MessageController.get(this.editor).showMessage(D.rejectReason,B);return}if(!this._cts.token.isCancellationRequested){this._cts.dispose(),this._cts=new a.EditorStateCancellationTokenSource(this.editor,4|1,D.range);let R=this.editor.getSelection(),W=0,x=D.text.length;!o.Range.isEmpty(R)&&!o.Range.spansMultipleLines(R)&&o.Range.containsRange(D.range,R)&&(W=Math.max(0,R.startColumn-D.range.startColumn),x=Math.min(D.range.endColumn,R.endColumn)-D.range.startColumn);const K=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),Y=yield this._renameInputField.value.getInput(D.range,D.text,W,x,K,this._cts.token);if(typeof Y=="boolean"){Y&&this.editor.focus();return}this.editor.focus();const ee=h.raceCancellation(F.provideRenameEdits(Y.newName,this._cts.token),this._cts.token).then(se=>Ie(this,void 0,void 0,function*(){if(!(!se||!this.editor.hasModel())){if(se.rejectReason){this._notificationService.info(se.rejectReason);return}this._bulkEditService.apply(r.ResourceEdit.convert(se),{editor:this.editor,showPreview:Y.wantsPreview,label:b.localize(2,null,D==null?void 0:D.text),quotableLabel:b.localize(3,null,D==null?void 0:D.text)}).then(ne=>{ne.ariaSummary&&c.alert(b.localize(4,null,D.text,Y.newName,ne.ariaSummary))}).catch(ne=>{this._notificationService.error(b.localize(5,null)),this._logService.error(ne)})}}),se=>{this._notificationService.error(b.localize(6,null)),this._logService.error(se)});return this._progressService.showWhile(ee,250),ee}}}}})}acceptRenameInput(B){this._renameInputField.value.acceptInput(B)}cancelRenameInput(){this._renameInputField.value.cancelInput(!0)}};E.ID="editor.contrib.renameController",E=Me([_e(1,_.IInstantiationService),_e(2,u.INotificationService),_e(3,r.IBulkEditService),_e(4,w.IEditorProgressService),_e(5,m.ILogService),_e(6,y.ITextResourceConfigurationService)],E);class T extends S.EditorAction{constructor(){super({id:"editor.action.rename",label:b.localize(7,null),alias:"Rename Symbol",precondition:M.ContextKeyExpr.and(C.EditorContextKeys.writable,C.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(B,F){const D=B.get(n.ICodeEditorService),[R,W]=Array.isArray(F)&&F||[void 0,void 0];return i.URI.isUri(R)&&p.Position.isIPosition(W)?D.openCodeEditor({resource:R},D.getActiveCodeEditor()).then(x=>{!x||(x.setPosition(W),x.invokeWithinContext(K=>(this.reportTelemetry(K,x),this.run(K,x))))},N.onUnexpectedError):super.runCommand(B,F)}run(B,F){const D=E.get(F);return D?D.run():Promise.resolve()}}e.RenameAction=T,S.registerEditorContribution(E.ID,E),S.registerEditorAction(T);const O=S.EditorCommand.bindToContribution(E.get);S.registerEditorCommand(new O({id:"acceptRenameInput",precondition:d.CONTEXT_RENAME_INPUT_VISIBLE,handler:A=>A.acceptRenameInput(!1),kbOpts:{weight:100+99,kbExpr:C.EditorContextKeys.focus,primary:3}})),S.registerEditorCommand(new O({id:"acceptRenameInputWithPreview",precondition:M.ContextKeyExpr.and(d.CONTEXT_RENAME_INPUT_VISIBLE,M.ContextKeyExpr.has("config.editor.rename.enablePreview")),handler:A=>A.acceptRenameInput(!0),kbOpts:{weight:100+99,kbExpr:C.EditorContextKeys.focus,primary:1024+3}})),S.registerEditorCommand(new O({id:"cancelRenameInput",precondition:d.CONTEXT_RENAME_INPUT_VISIBLE,handler:A=>A.cancelRenameInput(),kbOpts:{weight:100+99,kbExpr:C.EditorContextKeys.focus,primary:9,secondary:[1024|9]}})),S.registerModelAndPositionCommand("_executeDocumentRenameProvider",function(A,B,...F){const[D]=F;return L.assertType(typeof D=="string"),k(A,B,D)}),f.Registry.as(v.Extensions.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:b.localize(8,null),default:!0,type:"boolean"}}})}),define(Q[637],J([0,1,19,23,13,14,3,21,25,18,505,34,412,230,26,12]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.provideSelectionRanges=void 0;class r{constructor(_,f){this.index=_,this.ranges=f}mov(_){let f=this.index+(_?1:-1);if(f<0||f>=this.ranges.length)return this;const v=new r(f,this.ranges);return v.ranges[f].equalsRange(this.ranges[this.index])?v.mov(_):v}}class i{constructor(_){this._editor=_,this._ignoreSelection=!1}static get(_){return _.getContribution(i.ID)}dispose(){var _;(_=this._selectionListener)===null||_===void 0||_.dispose()}run(_){return Ie(this,void 0,void 0,function*(){if(!!this._editor.hasModel()){const f=this._editor.getSelections(),v=this._editor.getModel();if(!!g.SelectionRangeRegistry.has(v)&&(this._state||(yield h(v,f.map(L=>L.getPosition()),this._editor.getOption(97),N.CancellationToken.None).then(L=>{var I;if(!(!b.isNonEmptyArray(L)||L.length!==f.length)&&!(!this._editor.hasModel()||!b.equals(this._editor.getSelections(),f,(k,E)=>k.equalsSelection(E)))){for(let k=0;kE.containsPosition(f[k].getStartPosition())&&E.containsPosition(f[k].getEndPosition())),L[k].unshift(f[k]);this._state=L.map(k=>new r(0,k)),(I=this._selectionListener)===null||I===void 0||I.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var k;this._ignoreSelection||((k=this._selectionListener)===null||k===void 0||k.dispose(),this._state=void 0)})}})),!!this._state)){this._state=this._state.map(L=>L.mov(_));const y=this._state.map(L=>C.Selection.fromPositions(L.ranges[L.index].getStartPosition(),L.ranges[L.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(y)}finally{this._ignoreSelection=!1}}}})}}i.ID="editor.contrib.smartSelectController";class n extends M.EditorAction{constructor(_,f){super(f);this._forward=_}run(_,f){return Ie(this,void 0,void 0,function*(){let v=i.get(f);v&&(yield v.run(this._forward))})}}class t extends n{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:p.localize(0,null),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:1024|512|17,mac:{primary:2048|256|1024|17,secondary:[256|1024|17]},weight:100},menuOpts:{menuId:c.MenuId.MenubarSelectionMenu,group:"1_basic",title:p.localize(1,null),order:2}})}}a.CommandsRegistry.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class l extends n{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:p.localize(2,null),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:1024|512|15,mac:{primary:2048|256|1024|15,secondary:[256|1024|15]},weight:100},menuOpts:{menuId:c.MenuId.MenubarSelectionMenu,group:"1_basic",title:p.localize(3,null),order:3}})}}M.registerEditorContribution(i.ID,i),M.registerEditorAction(t),M.registerEditorAction(l),g.SelectionRangeRegistry.register("*",new o.WordSelectionRangeProvider);function h(m,_,f,v){return Ie(this,void 0,void 0,function*(){const y=g.SelectionRangeRegistry.all(m);y.length===1&&y.unshift(new s.BracketSelectionRangeProvider);let L=[],I=[];for(const k of y)L.push(Promise.resolve(k.provideSelectionRanges(m,_,v)).then(E=>{if(b.isNonEmptyArray(E)&&E.length===_.length)for(let T=0;T<_.length;T++){I[T]||(I[T]=[]);for(const O of E[T])S.Range.isIRange(O.range)&&S.Range.containsPosition(O.range,_[T])&&I[T].push(S.Range.lift(O.range))}},u.onUnexpectedExternalError));return yield Promise.all(L),I.map(k=>{if(k.length===0)return[];k.sort((A,B)=>w.Position.isBefore(A.getStartPosition(),B.getStartPosition())?1:w.Position.isBefore(B.getStartPosition(),A.getStartPosition())||w.Position.isBefore(A.getEndPosition(),B.getEndPosition())?-1:w.Position.isBefore(B.getEndPosition(),A.getEndPosition())?1:0);let E=[],T;for(const A of k)(!T||S.Range.containsRange(A,T)&&!S.Range.equalsRange(A,T))&&(E.push(A),T=A);if(!f.selectLeadingAndTrailingWhitespace)return E;let O=[E[0]];for(let A=1;A{this._resolveCache=void 0,this._isResolved=!1});this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,T)).then(A=>{Object.assign(this.completion,A),this._isResolved=!0,O.dispose()},A=>{b.isPromiseCanceledError(A)&&(this._resolveCache=void 0,this._isResolved=!1)})}return this._resolveCache})}}e.CompletionItem=i;class n{constructor(T=2,O=new Set,A=new Set){this.snippetSortOrder=T,this.kindFilter=O,this.providerFilter=A}}e.CompletionOptions=n,n.default=new n;let t;function l(){return t}e.getSnippetSuggestSupport=l;class h{constructor(T,O,A,B){this.items=T,this.needsClipboard=O,this.durations=A,this.disposable=B}}e.CompletionItemModel=h;function m(E,T,O=n.default,A={triggerKind:0},B=S.CancellationToken.None){return Ie(this,void 0,void 0,function*(){const F=new o.StopWatch(!0);T=T.clone();const D=E.getWordAtPosition(T),R=D?new C.Range(T.lineNumber,D.startColumn,T.lineNumber,D.endColumn):C.Range.fromPositions(T),W={replace:R,insert:R.setEndPosition(T.lineNumber,T.column)},x=[],K=new g.DisposableStore,Y=[];let ee=!1;const se=(le,X,z)=>{var P,V;if(!!X){for(let U of X.suggestions)O.kindFilter.has(U.kind)||(U.range||(U.range=W),U.sortText||(U.sortText=typeof U.label=="string"?U.label:U.label.name),!ee&&U.insertTextRules&&U.insertTextRules&4&&(ee=c.SnippetParser.guessNeedsClipboard(U.insertText)),x.push(new i(T,U,X,le)));g.isDisposable(X)&&K.add(X),Y.push({providerName:(P=le._debugDisplayName)!==null&&P!==void 0?P:"unkown_provider",elapsedProvider:(V=X.duration)!==null&&V!==void 0?V:-1,elapsedOverall:z.elapsed()})}},ne=(()=>Ie(this,void 0,void 0,function*(){if(!(!t||O.kindFilter.has(27))&&!(O.providerFilter.size>0&&!O.providerFilter.has(t))){const le=new o.StopWatch(!0),X=yield t.provideCompletionItems(E,T,A,B);se(t,X,le)}}))();for(let le of N.CompletionProviderRegistry.orderedGroups(E)){let X=x.length;if(yield Promise.all(le.map(z=>Ie(this,void 0,void 0,function*(){if(!(O.providerFilter.size>0&&!O.providerFilter.has(z)))try{const P=new o.StopWatch(!0),V=yield z.provideCompletionItems(E,T,A,B);se(z,V,P)}catch(P){b.onUnexpectedExternalError(P)}}))),X!==x.length||B.isCancellationRequested)break}return yield ne,B.isCancellationRequested?(K.dispose(),Promise.reject(b.canceled())):new h(x.sort(L(O.snippetSortOrder)),ee,{entries:Y,elapsed:F.elapsed()},K)})}e.provideSuggestionItems=m;function _(E,T){if(E.sortTextLow&&T.sortTextLow){if(E.sortTextLowT.sortTextLow)return 1}return E.completion.labelT.completion.label?1:E.completion.kind-T.completion.kind}function f(E,T){if(E.completion.kind!==T.completion.kind){if(E.completion.kind===27)return-1;if(T.completion.kind===27)return 1}return _(E,T)}function v(E,T){if(E.completion.kind!==T.completion.kind){if(E.completion.kind===27)return 1;if(T.completion.kind===27)return-1}return _(E,T)}const y=new Map;y.set(0,f),y.set(2,v),y.set(1,_);function L(E){return y.get(E)}e.getSuggestionComparator=L,s.CommandsRegistry.registerCommand("_executeCompletionItemProvider",(E,...T)=>Ie(void 0,void 0,void 0,function*(){const[O,A,B,F]=T;a.assertType(u.URI.isUri(O)),a.assertType(M.Position.isIPosition(A)),a.assertType(typeof B=="string"||!B),a.assertType(typeof F=="number"||!F);const D=yield E.get(r.ITextModelService).createModelReference(O);try{const R={incomplete:!1,suggestions:[]},W=[],x=yield m(D.object.textEditorModel,M.Position.lift(A),void 0,{triggerCharacter:B,triggerKind:B?1:0});for(const K of x.items)W.length<(F!=null?F:0)&&W.push(K.resolve(S.CancellationToken.None)),R.incomplete=R.incomplete||K.container.incomplete,R.suggestions.push(K.completion);try{return yield Promise.all(W),R}finally{setTimeout(()=>x.disposable.dispose(),100)}}finally{D.dispose()}}));const I=new class{constructor(){this.onlyOnceSuggestions=[]}provideCompletionItems(){let T={suggestions:this.onlyOnceSuggestions.slice(0)};return this.onlyOnceSuggestions.length=0,T}};N.CompletionProviderRegistry.register("*",I);function k(E,T){setTimeout(()=>{I.onlyOnceSuggestions.push(...T),E.getContribution("editor.contrib.suggestController").triggerSuggest(new Set().add(I))},0)}e.showSimpleSuggestions=k}),define(Q[264],J([0,1,513,47,13,186]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ToggleTabFocusModeAction=void 0;class S extends M.EditorAction{constructor(){super({id:S.ID,label:b.localize(0,null),alias:"Toggle Tab Key Moves Focus",precondition:void 0,kbOpts:{kbExpr:null,primary:2048|43,mac:{primary:256|1024|43},weight:100}})}run(d,g){const c=!w.TabFocus.getTabFocusMode();w.TabFocus.setTabFocusMode(c),c?N.alert(b.localize(1,null)):N.alert(b.localize(2,null))}}e.ToggleTabFocusModeAction=S,S.ID="editor.action.toggleTabFocusMode",M.registerEditorAction(S)}),define(Q[638],J([0,1,514,13,81]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class w extends N.EditorAction{constructor(){super({id:"editor.action.forceRetokenize",label:b.localize(0,null),alias:"Developer: Force Retokenize",precondition:void 0})}run(C,d){if(!!d.hasModel()){const g=d.getModel();g.resetTokenization();const p=new M.StopWatch(!0);g.forceTokenization(g.getLineCount()),p.stop(),console.log(`tokenization took ${p.elapsed()}`)}}}N.registerEditorAction(w)}),define(Q[639],J([0,1,515,2,13,28,184]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const C="ignoreUnusualLineTerminators";function d(c,o,s){c.setModelProperty(o.uri,C,s)}function g(c,o){return c.getModelProperty(o.uri,C)}let p=class extends N.Disposable{constructor(o,s,a){super();this._editor=o,this._dialogService=s,this._codeEditorService=a,this._config=this._editor.getOption(108),this._register(this._editor.onDidChangeConfiguration(u=>{u.hasChanged(108)&&(this._config=this._editor.getOption(108),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(u=>{u.isUndoing||this._checkForUnusualLineTerminators()}))}_checkForUnusualLineTerminators(){return Ie(this,void 0,void 0,function*(){if(this._config!=="off"&&!!this._editor.hasModel()){const o=this._editor.getModel();if(!!o.mightContainUnusualLineTerminators()&&g(this._codeEditorService,o)!==!0&&!this._editor.getOption(75)){if(this._config==="auto"){o.removeUnusualLineTerminators(this._editor.getSelections());return}if(!(yield this._dialogService.confirm({title:b.localize(0,null),message:b.localize(1,null),detail:b.localize(2,null),primaryButton:b.localize(3,null),secondaryButton:b.localize(4,null)})).confirmed){d(this._codeEditorService,o,!0);return}o.removeUnusualLineTerminators(this._editor.getSelections())}}})}};p.ID="editor.contrib.unusualLineTerminatorsDetector",p=Me([_e(1,S.IDialogService),_e(2,w.ICodeEditorService)],p),M.registerEditorContribution(p.ID,p)}),define(Q[640],J([0,1,516,19,15,23,12,2,13,3,25,53,31,18,16,22,11,47]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getOccurrencesAtPosition=void 0;const n=u.registerColor("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},b.localize(0,null),!0),t=u.registerColor("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},b.localize(1,null),!0),l=u.registerColor("editor.wordHighlightBorder",{light:null,dark:null,hc:u.activeContrastBorder},b.localize(2,null)),h=u.registerColor("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:u.activeContrastBorder},b.localize(3,null)),m=u.registerColor("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},b.localize(4,null),!0),_=u.registerColor("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},b.localize(5,null),!0),f=new a.RawContextKey("hasWordHighlights",!1);function v(D,R,W){const x=s.DocumentHighlightProviderRegistry.ordered(D);return M.first(x.map(K=>()=>Promise.resolve(K.provideDocumentHighlights(D,R,W)).then(void 0,S.onUnexpectedExternalError)),N.isNonEmptyArray)}e.getOccurrencesAtPosition=v;class y{constructor(R,W,x){this._wordRange=this._getCurrentWordRange(R,W),this.result=M.createCancelablePromise(K=>this._compute(R,W,x,K))}_getCurrentWordRange(R,W){const x=R.getWordAtPosition(W.getPosition());return x?new g.Range(W.startLineNumber,x.startColumn,W.startLineNumber,x.endColumn):null}isValid(R,W,x){const K=W.startLineNumber,Y=W.startColumn,ee=W.endColumn,se=this._getCurrentWordRange(R,W);let ne=Boolean(this._wordRange&&this._wordRange.equalsRange(se));for(let le=0,X=x.length;!ne&&le=ee&&(ne=!0)}return ne}cancel(){this.result.cancel()}}class L extends y{_compute(R,W,x,K){return v(R,W.getPosition(),K).then(Y=>Y||[])}}class I extends y{constructor(R,W,x){super(R,W,x);this._selectionIsEmpty=W.isEmpty()}_compute(R,W,x,K){return M.timeout(250,K).then(()=>{if(!W.isEmpty())return[];const Y=R.getWordAtPosition(W.getPosition());return!Y||Y.word.length>1e3?[]:R.findMatches(Y.word,!0,!1,!0,x,!1).map(se=>({range:se.range,kind:s.DocumentHighlightKind.Text}))})}isValid(R,W,x){const K=W.isEmpty();return this._selectionIsEmpty!==K?!1:super.isValid(R,W,x)}}function k(D,R,W){return s.DocumentHighlightProviderRegistry.has(D)?new L(D,R,W):new I(D,R,W)}d.registerModelAndPositionCommand("_executeDocumentHighlights",(D,R)=>v(D,R,w.CancellationToken.None));class E{constructor(R,W){this.toUnhook=new C.DisposableStore,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=R,this._hasWordHighlights=f.bindTo(W),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(66),this.model=this.editor.getModel(),this.toUnhook.add(R.onDidChangeCursorPosition(x=>{this._ignorePositionChangeEvent||!this.occurrencesHighlight||this._onPositionChanged(x)})),this.toUnhook.add(R.onDidChangeModelContent(x=>{this._stopAll()})),this.toUnhook.add(R.onDidChangeConfiguration(x=>{let K=this.editor.getOption(66);this.occurrencesHighlight!==K&&(this.occurrencesHighlight=K,this._stopAll())})),this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}hasDecorations(){return this._decorationIds.length>0}restore(){!this.occurrencesHighlight||this._run()}_getSortedHighlights(){return N.coalesce(this._decorationIds.map(R=>this.model.getDecorationRange(R)).sort(g.Range.compareRangesUsingStarts))}moveNext(){let R=this._getSortedHighlights(),x=(R.findIndex(Y=>Y.containsPosition(this.editor.getPosition()))+1)%R.length,K=R[x];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(K.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(K);const Y=this._getWord();if(Y){const ee=this.editor.getModel().getLineContent(K.startLineNumber);i.alert(`${ee}, ${x+1} of ${R.length} for '${Y.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let R=this._getSortedHighlights(),x=(R.findIndex(Y=>Y.containsPosition(this.editor.getPosition()))-1+R.length)%R.length,K=R[x];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(K.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(K);const Y=this._getWord();if(Y){const ee=this.editor.getModel().getLineContent(K.startLineNumber);i.alert(`${ee}, ${x+1} of ${R.length} for '${Y.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeDecorations(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))}_stopAll(){this._removeDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(R){if(!this.occurrencesHighlight){this._stopAll();return}if(R.reason!==3){this._stopAll();return}this._run()}_getWord(){let R=this.editor.getSelection(),W=R.startLineNumber,x=R.startColumn;return this.model.getWordAtPosition({lineNumber:W,column:x})}_run(){let R=this.editor.getSelection();if(R.startLineNumber!==R.endLineNumber){this._stopAll();return}let W=R.startColumn,x=R.endColumn;const K=this._getWord();if(!K||K.startColumn>W||K.endColumn{ee===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=se||[],this._beginRenderDecorations())},S.onUnexpectedError)}}_beginRenderDecorations(){let R=new Date().getTime(),W=this.lastCursorPositionChangeTime+250;R>=W?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},W-R)}renderDecorations(){this.renderDecorationsTimer=-1;let R=[];for(const W of this.workerRequestValue)W.range&&R.push({range:W.range,options:E._getDecorationOptions(W.kind)});this._decorationIds=this.editor.deltaDecorations(this._decorationIds,R),this._hasWordHighlights.set(this.hasDecorations())}static _getDecorationOptions(R){return R===s.DocumentHighlightKind.Write?this._WRITE_OPTIONS:R===s.DocumentHighlightKind.Text?this._TEXT_OPTIONS:this._REGULAR_OPTIONS}dispose(){this._stopAll(),this.toUnhook.dispose()}}E._WRITE_OPTIONS=o.ModelDecorationOptions.register({stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:r.themeColorFromId(_),position:c.OverviewRulerLane.Center}}),E._TEXT_OPTIONS=o.ModelDecorationOptions.register({stickiness:1,className:"selectionHighlight",overviewRuler:{color:r.themeColorFromId(u.overviewRulerSelectionHighlightForeground),position:c.OverviewRulerLane.Center}}),E._REGULAR_OPTIONS=o.ModelDecorationOptions.register({stickiness:1,className:"wordHighlight",overviewRuler:{color:r.themeColorFromId(m),position:c.OverviewRulerLane.Center}});let T=class zt extends C.Disposable{constructor(R,W){super();this.wordHighlighter=null;const x=()=>{R.hasModel()&&(this.wordHighlighter=new E(R,W))};this._register(R.onDidChangeModel(K=>{this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),x()})),x()}static get(R){return R.getContribution(zt.ID)}saveViewState(){return!!(this.wordHighlighter&&this.wordHighlighter.hasDecorations())}moveNext(){this.wordHighlighter&&this.wordHighlighter.moveNext()}moveBack(){this.wordHighlighter&&this.wordHighlighter.moveBack()}restoreViewState(R){this.wordHighlighter&&R&&this.wordHighlighter.restore()}dispose(){this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),super.dispose()}};T.ID="editor.contrib.wordHighlighter",T=Me([_e(1,a.IContextKeyService)],T);class O extends d.EditorAction{constructor(R,W){super(W);this._isNext=R}run(R,W){const x=T.get(W);!x||(this._isNext?x.moveNext():x.moveBack())}}class A extends O{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:b.localize(6,null),alias:"Go to Next Symbol Highlight",precondition:f,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:65,weight:100}})}}class B extends O{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:b.localize(7,null),alias:"Go to Previous Symbol Highlight",precondition:f,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:1024|65,weight:100}})}}class F extends d.EditorAction{constructor(){super({id:"editor.action.wordHighlight.trigger",label:b.localize(8,null),alias:"Trigger Symbol Highlight",precondition:f.toNegated(),kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:0,weight:100}})}run(R,W,x){const K=T.get(W);!K||K.restoreViewState(!0)}}d.registerEditorContribution(T.ID,T),d.registerEditorAction(A),d.registerEditorAction(B),d.registerEditorAction(F),r.registerThemingParticipant((D,R)=>{const W=D.getColor(u.editorSelectionHighlight);W&&(R.addRule(`.monaco-editor .focused .selectionHighlight { background-color: ${W}; }`),R.addRule(`.monaco-editor .selectionHighlight { background-color: ${W.transparent(.5)}; }`));const x=D.getColor(n);x&&R.addRule(`.monaco-editor .wordHighlight { background-color: ${x}; }`);const K=D.getColor(t);K&&R.addRule(`.monaco-editor .wordHighlightStrong { background-color: ${K}; }`);const Y=D.getColor(u.editorSelectionHighlightBorder);Y&&R.addRule(`.monaco-editor .selectionHighlight { border: 1px ${D.type==="hc"?"dotted":"solid"} ${Y}; box-sizing: border-box; }`);const ee=D.getColor(l);ee&&R.addRule(`.monaco-editor .wordHighlight { border: 1px ${D.type==="hc"?"dashed":"solid"} ${ee}; box-sizing: border-box; }`);const se=D.getColor(h);se&&R.addRule(`.monaco-editor .wordHighlightStrong { border: 1px ${D.type==="hc"?"dashed":"solid"} ${se}; box-sizing: border-box; }`)})}),define(Q[265],J([0,1,517,13,92,42,136,106,14,3,21,25,65,16,38,41,250]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeleteInsideWord=e.DeleteWordRight=e.DeleteWordEndRight=e.DeleteWordStartRight=e.DeleteWordLeft=e.DeleteWordEndLeft=e.DeleteWordStartLeft=e.DeleteWordRightCommand=e.DeleteWordLeftCommand=e.DeleteWordCommand=e.CursorWordAccessibilityRightSelect=e.CursorWordAccessibilityRight=e.CursorWordRightSelect=e.CursorWordEndRightSelect=e.CursorWordStartRightSelect=e.CursorWordRight=e.CursorWordEndRight=e.CursorWordStartRight=e.CursorWordAccessibilityLeftSelect=e.CursorWordAccessibilityLeft=e.CursorWordLeftSelect=e.CursorWordEndLeftSelect=e.CursorWordStartLeftSelect=e.CursorWordLeft=e.CursorWordEndLeft=e.CursorWordStartLeft=e.WordRightCommand=e.WordLeftCommand=e.MoveWordCommand=void 0;class i extends N.EditorCommand{constructor(z){super(z);this._inSelectionMode=z.inSelectionMode,this._wordNavigationType=z.wordNavigationType}runEditorCommand(z,P,V){if(!!P.hasModel()){const U=C.getMapForWordSeparators(P.getOption(110)),H=P.getModel(),ie=P.getSelections().map(oe=>{const ae=new d.Position(oe.positionLineNumber,oe.positionColumn),G=this._move(U,H,ae,this._wordNavigationType);return this._moveTo(oe,G,this._inSelectionMode)});if(H.pushStackElement(),P._getViewModel().setCursorStates("moveWordCommand",3,ie.map(oe=>w.CursorState.fromModelSelection(oe))),ie.length===1){const oe=new d.Position(ie[0].positionLineNumber,ie[0].positionColumn);P.revealPosition(oe,0)}}}_moveTo(z,P,V){return V?new p.Selection(z.selectionStartLineNumber,z.selectionStartColumn,P.lineNumber,P.column):new p.Selection(P.lineNumber,P.column,P.lineNumber,P.column)}}e.MoveWordCommand=i;class n extends i{_move(z,P,V,U){return S.WordOperations.moveWordLeft(z,P,V,U)}}e.WordLeftCommand=n;class t extends i{_move(z,P,V,U){return S.WordOperations.moveWordRight(z,P,V,U)}}e.WordRightCommand=t;class l extends n{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}e.CursorWordStartLeft=l;class h extends n{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}e.CursorWordEndLeft=h;class m extends n{constructor(){var z;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,(z=s.ContextKeyExpr.and(o.CONTEXT_ACCESSIBILITY_MODE_ENABLED,r.IsWindowsContext))===null||z===void 0?void 0:z.negate()),primary:2048|15,mac:{primary:512|15},weight:100}})}}e.CursorWordLeft=m;class _ extends n{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}e.CursorWordStartLeftSelect=_;class f extends n{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}e.CursorWordEndLeftSelect=f;class v extends n{constructor(){var z;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,(z=s.ContextKeyExpr.and(o.CONTEXT_ACCESSIBILITY_MODE_ENABLED,r.IsWindowsContext))===null||z===void 0?void 0:z.negate()),primary:2048|1024|15,mac:{primary:512|1024|15},weight:100}})}}e.CursorWordLeftSelect=v;class y extends n{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(z,P,V,U){return super._move(C.getMapForWordSeparators(a.EditorOptions.wordSeparators.defaultValue),P,V,U)}}e.CursorWordAccessibilityLeft=y;class L extends n{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(z,P,V,U){return super._move(C.getMapForWordSeparators(a.EditorOptions.wordSeparators.defaultValue),P,V,U)}}e.CursorWordAccessibilityLeftSelect=L;class I extends t{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}e.CursorWordStartRight=I;class k extends t{constructor(){var z;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,(z=s.ContextKeyExpr.and(o.CONTEXT_ACCESSIBILITY_MODE_ENABLED,r.IsWindowsContext))===null||z===void 0?void 0:z.negate()),primary:2048|17,mac:{primary:512|17},weight:100}})}}e.CursorWordEndRight=k;class E extends t{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}e.CursorWordRight=E;class T extends t{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}e.CursorWordStartRightSelect=T;class O extends t{constructor(){var z;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,(z=s.ContextKeyExpr.and(o.CONTEXT_ACCESSIBILITY_MODE_ENABLED,r.IsWindowsContext))===null||z===void 0?void 0:z.negate()),primary:2048|1024|17,mac:{primary:512|1024|17},weight:100}})}}e.CursorWordEndRightSelect=O;class A extends t{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}e.CursorWordRightSelect=A;class B extends t{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(z,P,V,U){return super._move(C.getMapForWordSeparators(a.EditorOptions.wordSeparators.defaultValue),P,V,U)}}e.CursorWordAccessibilityRight=B;class F extends t{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(z,P,V,U){return super._move(C.getMapForWordSeparators(a.EditorOptions.wordSeparators.defaultValue),P,V,U)}}e.CursorWordAccessibilityRightSelect=F;class D extends N.EditorCommand{constructor(z){super(z);this._whitespaceHeuristics=z.whitespaceHeuristics,this._wordNavigationType=z.wordNavigationType}runEditorCommand(z,P,V){if(!!P.hasModel()){const U=C.getMapForWordSeparators(P.getOption(110)),H=P.getModel(),$=P.getSelections(),ie=P.getOption(5),oe=P.getOption(7),ae=u.LanguageConfigurationRegistry.getAutoClosingPairs(H.getLanguageIdentifier().id),G=$.map(j=>{const te=this._delete({wordSeparators:U,model:H,selection:j,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingBrackets:ie,autoClosingQuotes:oe,autoClosingPairs:ae},this._wordNavigationType);return new M.ReplaceCommand(te,"")});P.pushUndoStop(),P.executeCommands(this.id,G),P.pushUndoStop()}}}e.DeleteWordCommand=D;class R extends D{_delete(z,P){let V=S.WordOperations.deleteWordLeft(z,P);return V||new g.Range(1,1,1,1)}}e.DeleteWordLeftCommand=R;class W extends D{_delete(z,P){let V=S.WordOperations.deleteWordRight(z,P);if(V)return V;const U=z.model.getLineCount(),H=z.model.getLineMaxColumn(U);return new g.Range(U,H,U,H)}}e.DeleteWordRightCommand=W;class x extends R{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:c.EditorContextKeys.writable})}}e.DeleteWordStartLeft=x;class K extends R{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:c.EditorContextKeys.writable})}}e.DeleteWordEndLeft=K;class Y extends R{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:c.EditorContextKeys.writable,kbOpts:{kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1,mac:{primary:512|1},weight:100}})}}e.DeleteWordLeft=Y;class ee extends W{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:c.EditorContextKeys.writable})}}e.DeleteWordStartRight=ee;class se extends W{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:c.EditorContextKeys.writable})}}e.DeleteWordEndRight=se;class ne extends W{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:c.EditorContextKeys.writable,kbOpts:{kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|20,mac:{primary:512|20},weight:100}})}}e.DeleteWordRight=ne;class le extends N.EditorAction{constructor(){super({id:"deleteInsideWord",precondition:c.EditorContextKeys.writable,label:b.localize(0,null),alias:"Delete Word"})}run(z,P,V){if(!!P.hasModel()){const U=C.getMapForWordSeparators(P.getOption(110)),H=P.getModel(),ie=P.getSelections().map(oe=>{const ae=S.WordOperations.deleteInsideWord(U,H,oe);return new M.ReplaceCommand(ae,"")});P.pushUndoStop(),P.executeCommands(this.id,ie),P.pushUndoStop()}}}e.DeleteInsideWord=le,N.registerEditorCommand(new l),N.registerEditorCommand(new h),N.registerEditorCommand(new m),N.registerEditorCommand(new _),N.registerEditorCommand(new f),N.registerEditorCommand(new v),N.registerEditorCommand(new I),N.registerEditorCommand(new k),N.registerEditorCommand(new E),N.registerEditorCommand(new T),N.registerEditorCommand(new O),N.registerEditorCommand(new A),N.registerEditorCommand(new y),N.registerEditorCommand(new L),N.registerEditorCommand(new B),N.registerEditorCommand(new F),N.registerEditorCommand(new x),N.registerEditorCommand(new K),N.registerEditorCommand(new Y),N.registerEditorCommand(new ee),N.registerEditorCommand(new se),N.registerEditorCommand(new ne),N.registerEditorAction(le)}),define(Q[641],J([0,1,13,136,3,25,265,26]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorWordPartRightSelect=e.CursorWordPartRight=e.WordPartRightCommand=e.CursorWordPartLeftSelect=e.CursorWordPartLeft=e.WordPartLeftCommand=e.DeleteWordPartRight=e.DeleteWordPartLeft=void 0;class d extends S.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:w.EditorContextKeys.writable,kbOpts:{kbExpr:w.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1},weight:100}})}_delete(i,n){let t=N.WordPartOperations.deleteWordPartLeft(i);return t||new M.Range(1,1,1,1)}}e.DeleteWordPartLeft=d;class g extends S.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:w.EditorContextKeys.writable,kbOpts:{kbExpr:w.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|20},weight:100}})}_delete(i,n){let t=N.WordPartOperations.deleteWordPartRight(i);if(t)return t;const l=i.model.getLineCount(),h=i.model.getLineMaxColumn(l);return new M.Range(l,h,l,h)}}e.DeleteWordPartRight=g;class p extends S.MoveWordCommand{_move(i,n,t,l){return N.WordPartOperations.moveWordPartLeft(i,n,t)}}e.WordPartLeftCommand=p;class c extends p{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:w.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|15},weight:100}})}}e.CursorWordPartLeft=c,C.CommandsRegistry.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class o extends p{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:w.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1024|15},weight:100}})}}e.CursorWordPartLeftSelect=o,C.CommandsRegistry.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class s extends S.MoveWordCommand{_move(i,n,t,l){return N.WordPartOperations.moveWordPartRight(i,n,t)}}e.WordPartRightCommand=s;class a extends s{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:w.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|17},weight:100}})}}e.CursorWordPartRight=a;class u extends s{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:w.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1024|17},weight:100}})}}e.CursorWordPartRightSelect=u,b.registerEditorCommand(new d),b.registerEditorCommand(new g),b.registerEditorCommand(new c),b.registerEditorCommand(new o),b.registerEditorCommand(new a),b.registerEditorCommand(new u)}),define(Q[642],J([0,1,7,30,156,47,52,2,17,8,24,13,25,264,16,9,37,58,22,11,64,354]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const h=new a.RawContextKey("accessibilityHelpWidgetVisible",!1);let m=class Ht extends C.Disposable{constructor(I,k){super();this._editor=I,this._widget=this._register(k.createInstance(f,this._editor))}static get(I){return I.getContribution(Ht.ID)}show(){this._widget.show()}hide(){this._widget.hide()}};m.ID="editor.contrib.accessibilityHelpController",m=Me([_e(1,u.IInstantiationService)],m);function _(L,I){return!L||L.length===0?l.AccessibilityHelpNLS.noSelection:L.length===1?I?g.format(l.AccessibilityHelpNLS.singleSelectionRange,L[0].positionLineNumber,L[0].positionColumn,I):g.format(l.AccessibilityHelpNLS.singleSelection,L[0].positionLineNumber,L[0].positionColumn):I?g.format(l.AccessibilityHelpNLS.multiSelectionRange,L.length,I):L.length>0?g.format(l.AccessibilityHelpNLS.multiSelection,L.length):""}let f=class ht extends S.Widget{constructor(I,k,E,T){super();this._contextKeyService=k,this._keybindingService=E,this._openerService=T,this._editor=I,this._isVisibleKey=h.bindTo(this._contextKeyService),this._domNode=N.createFastDomNode(document.createElement("div")),this._domNode.setClassName("accessibilityHelpWidget"),this._domNode.setDisplay("none"),this._domNode.setAttribute("role","dialog"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode=N.createFastDomNode(document.createElement("div")),this._contentDomNode.setAttribute("role","document"),this._domNode.appendChild(this._contentDomNode),this._isVisible=!1,this._register(this._editor.onDidLayoutChange(()=>{this._isVisible&&this._layout()})),this._register(b.addStandardDisposableListener(this._contentDomNode.domNode,"keydown",O=>{if(!!this._isVisible&&(O.equals(2048|35)&&(w.alert(l.AccessibilityHelpNLS.emergencyConfOn),this._editor.updateOptions({accessibilitySupport:"on"}),b.clearNode(this._contentDomNode.domNode),this._buildContent(),this._contentDomNode.domNode.focus(),O.preventDefault(),O.stopPropagation()),O.equals(2048|38))){w.alert(l.AccessibilityHelpNLS.openingDocs);let A=this._editor.getRawOptions().accessibilityHelpUrl;typeof A=="undefined"&&(A="https://go.microsoft.com/fwlink/?linkid=852450"),this._openerService.open(p.URI.parse(A)),O.preventDefault(),O.stopPropagation()}})),this.onblur(this._contentDomNode.domNode,()=>{this.hide()}),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ht.ID}getDomNode(){return this._domNode.domNode}getPosition(){return{preference:null}}show(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())}_descriptionForCommand(I,k,E){let T=this._keybindingService.lookupKeybinding(I);return T?g.format(k,T.getAriaLabel()):g.format(E,I)}_buildContent(){const I=this._editor.getOptions(),k=this._editor.getSelections();let E=0;if(k){const B=this._editor.getModel();B&&k.forEach(F=>{E+=B.getValueLengthInRange(F)})}let T=_(k,E);I.get(49)?I.get(75)?T+=l.AccessibilityHelpNLS.readonlyDiffEditor:T+=l.AccessibilityHelpNLS.editableDiffEditor:I.get(75)?T+=l.AccessibilityHelpNLS.readonlyEditor:T+=l.AccessibilityHelpNLS.editableEditor;const O=d.isMacintosh?l.AccessibilityHelpNLS.changeConfigToOnMac:l.AccessibilityHelpNLS.changeConfigToOnWinLinux;switch(I.get(2)){case 0:T+=` + + - `+O;break;case 2:T+=` + + - `+l.AccessibilityHelpNLS.auto_on;break;case 1:T+=` + + - `+l.AccessibilityHelpNLS.auto_off,T+=" "+O;break}I.get(123)?T+=` + + - `+this._descriptionForCommand(s.ToggleTabFocusModeAction.ID,l.AccessibilityHelpNLS.tabFocusModeOnMsg,l.AccessibilityHelpNLS.tabFocusModeOnMsgNoKb):T+=` + + - `+this._descriptionForCommand(s.ToggleTabFocusModeAction.ID,l.AccessibilityHelpNLS.tabFocusModeOffMsg,l.AccessibilityHelpNLS.tabFocusModeOffMsgNoKb);const A=d.isMacintosh?l.AccessibilityHelpNLS.openDocMac:l.AccessibilityHelpNLS.openDocWinLinux;T+=` + + - `+A,T+=` + +`+l.AccessibilityHelpNLS.outroMsg,this._contentDomNode.domNode.appendChild(M.renderFormattedText(T)),this._contentDomNode.domNode.setAttribute("aria-label",T)}hide(){!this._isVisible||(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,b.clearNode(this._contentDomNode.domNode),this._editor.focus())}_layout(){let I=this._editor.getLayoutInfo(),k=Math.max(5,Math.min(ht.WIDTH,I.width-40)),E=Math.max(5,Math.min(ht.HEIGHT,I.height-40));this._domNode.setWidth(k),this._domNode.setHeight(E);let T=Math.round((I.height-E)/2);this._domNode.setTop(T);let O=Math.round((I.width-k)/2);this._domNode.setLeft(O)}};f.ID="editor.contrib.accessibilityHelpWidget",f.WIDTH=500,f.HEIGHT=300,f=Me([_e(1,a.IContextKeyService),_e(2,r.IKeybindingService),_e(3,i.IOpenerService)],f);class v extends c.EditorAction{constructor(){super({id:"editor.action.showAccessibilityHelp",label:l.AccessibilityHelpNLS.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{primary:512|59,weight:100,linux:{primary:512|1024|59,secondary:[512|59]}}})}run(I,k){let E=m.get(k);E&&E.show()}}c.registerEditorContribution(m.ID,m),c.registerEditorAction(v);const y=c.EditorCommand.bindToContribution(m.get);c.registerEditorCommand(new y({id:"closeAccessibilityHelp",precondition:h,handler:L=>L.hide(),kbOpts:{weight:100+100,kbExpr:o.EditorContextKeys.focus,primary:9,secondary:[1024|9]}})),t.registerThemingParticipant((L,I)=>{const k=L.getColor(n.editorWidgetBackground);k&&I.addRule(`.monaco-editor .accessibilityHelpWidget { background-color: ${k}; }`);const E=L.getColor(n.editorWidgetForeground);E&&I.addRule(`.monaco-editor .accessibilityHelpWidget { color: ${E}; }`);const T=L.getColor(n.widgetShadow);T&&I.addRule(`.monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px ${T}; }`);const O=L.getColor(n.contrastBorder);O&&I.addRule(`.monaco-editor .accessibilityHelpWidget { border: 2px solid ${O}; }`)})}),define(Q[643],J([0,1,35,7,2,13,355]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IPadShowKeyboard=void 0;class S extends M.Disposable{constructor(g){super();this.editor=g,this.widget=null,b.isIPad&&(this._register(g.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const g=!this.editor.getOption(75);!this.widget&&g?this.widget=new C(this.editor):this.widget&&!g&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}e.IPadShowKeyboard=S,S.ID="editor.contrib.iPadShowKeyboard";class C extends M.Disposable{constructor(g){super();this.editor=g,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(N.addDisposableListener(this._domNode,"touchstart",p=>{this.editor.focus()})),this._register(N.addDisposableListener(this._domNode,"focus",p=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return C.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}C.ID="editor.contrib.ShowKeyboardWidget",w.registerEditorContribution(S.ID,S)}),define(Q[644],J([0,1,7,29,2,13,18,76,57,114,22,11,64,97,356]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let a=class Ut extends M.Disposable{constructor(l,h,m){super();this._editor=l,this._modeService=m,this._widget=null,this._register(this._editor.onDidChangeModel(_=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(_=>this.stop())),this._register(S.TokenizationRegistry.onDidChange(_=>this.stop())),this._register(this._editor.onKeyUp(_=>_.keyCode===9&&this.stop()))}static get(l){return l.getContribution(Ut.ID)}dispose(){this.stop(),super.dispose()}launch(){this._widget||!this._editor.hasModel()||(this._widget=new n(this._editor,this._modeService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};a.ID="editor.contrib.inspectTokens",a=Me([_e(1,g.IStandaloneThemeService),_e(2,d.IModeService)],a);class u extends w.EditorAction{constructor(){super({id:"editor.action.inspectTokens",label:o.InspectTokensNLS.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(l,h){let m=a.get(h);m&&m.launch()}}function r(t){let l="";for(let h=0,m=t.length;hC.NULL_STATE,tokenize:(h,m,_,f)=>C.nullTokenize(t.language,h,_,f),tokenize2:(h,m,_,f)=>C.nullTokenize2(t.id,h,_,f)}}class n extends M.Disposable{constructor(l,h){super();this.allowEditorOverflow=!0,this._editor=l,this._modeService=h,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=i(this._model.getLanguageIdentifier()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(m=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return n._ID}_compute(l){let h=this._getTokensAtLine(l.lineNumber),m=0;for(let L=h.tokens1.length-1;L>=0;L--){let I=h.tokens1[L];if(l.column-1>=I.offset){m=L;break}}let _=0;for(let L=h.tokens2.length>>>1;L>=0;L--)if(l.column-1>=h.tokens2[L<<1]){_=L;break}let f=this._model.getLineContent(l.lineNumber),v="";if(m{const h=t.getColor(p.editorHoverBorder);if(h){let f=t.type===s.ColorScheme.HIGH_CONTRAST?2:1;l.addRule(`.monaco-editor .tokens-inspect-widget { border: ${f}px solid ${h}; }`),l.addRule(`.monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: ${h}; }`)}const m=t.getColor(p.editorHoverBackground);m&&l.addRule(`.monaco-editor .tokens-inspect-widget { background-color: ${m}; }`);const _=t.getColor(p.editorHoverForeground);_&&l.addRule(`.monaco-editor .tokens-inspect-widget { color: ${_}; }`)})}),define(Q[645],J([0,1,33,96,64,28,578,20,9,37,26,87,32,13,25,78]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoLineAction=e.StandaloneCommandsQuickAccessProvider=void 0;let r=class extends S.AbstractEditorCommandsQuickAccessProvider{constructor(t,l,h,m,_,f){super({showAlias:!1},t,h,m,_,f);this.codeEditorService=l}get activeTextEditorControl(){return C.withNullAsUndefined(this.codeEditorService.getFocusedCodeEditor())}getCommandPicks(){return Ie(this,void 0,void 0,function*(){return this.getCodeEditorCommandPicks()})}};r=Me([_e(0,d.IInstantiationService),_e(1,w.ICodeEditorService),_e(2,g.IKeybindingService),_e(3,p.ICommandService),_e(4,c.ITelemetryService),_e(5,o.INotificationService)],r),e.StandaloneCommandsQuickAccessProvider=r,b.Registry.as(N.Extensions.Quickaccess).registerQuickAccessProvider({ctor:r,prefix:r.PREFIX,helpEntries:[{description:M.QuickCommandNLS.quickCommandHelp,needsEditor:!0}]});class i extends s.EditorAction{constructor(){super({id:"editor.action.quickCommand",label:M.QuickCommandNLS.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:a.EditorContextKeys.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(t){t.get(u.IQuickInputService).quickAccess.show(r.PREFIX)}}e.GotoLineAction=i,s.registerEditorAction(i)}),define(Q[646],J([0,1,602,33,96,28,20,64,6,13,25,78]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoLineAction=e.StandaloneGotoLineQuickAccessProvider=void 0;let o=class extends b.AbstractGotoLineQuickAccessProvider{constructor(u){super();this.editorService=u,this.onDidActiveTextEditorControlChange=d.Event.None}get activeTextEditorControl(){return S.withNullAsUndefined(this.editorService.getFocusedCodeEditor())}};o=Me([_e(0,w.ICodeEditorService)],o),e.StandaloneGotoLineQuickAccessProvider=o,N.Registry.as(M.Extensions.Quickaccess).registerQuickAccessProvider({ctor:o,prefix:o.PREFIX,helpEntries:[{description:C.GoToLineNLS.gotoLineActionLabel,needsEditor:!0}]});class s extends g.EditorAction{constructor(){super({id:"editor.action.gotoLine",label:C.GoToLineNLS.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:2048|37,mac:{primary:256|37},weight:100}})}run(u){u.get(c.IQuickInputService).quickAccess.show(o.PREFIX)}}e.GotoLineAction=s,g.registerEditorAction(s)}),define(Q[647],J([0,1,603,33,96,28,20,64,6,13,25,78,123,259]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoLineAction=e.StandaloneGotoSymbolQuickAccessProvider=void 0;let o=class extends b.AbstractGotoSymbolQuickAccessProvider{constructor(u){super();this.editorService=u,this.onDidActiveTextEditorControlChange=d.Event.None}get activeTextEditorControl(){return S.withNullAsUndefined(this.editorService.getFocusedCodeEditor())}};o=Me([_e(0,w.ICodeEditorService)],o),e.StandaloneGotoSymbolQuickAccessProvider=o,N.Registry.as(M.Extensions.Quickaccess).registerQuickAccessProvider({ctor:o,prefix:b.AbstractGotoSymbolQuickAccessProvider.PREFIX,helpEntries:[{description:C.QuickOutlineNLS.quickOutlineActionLabel,prefix:b.AbstractGotoSymbolQuickAccessProvider.PREFIX,needsEditor:!0},{description:C.QuickOutlineNLS.quickOutlineByCategoryActionLabel,prefix:b.AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY,needsEditor:!0}]});class s extends g.EditorAction{constructor(){super({id:"editor.action.quickOutline",label:C.QuickOutlineNLS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:p.EditorContextKeys.hasDocumentSymbolProvider,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:2048|1024|45,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(u){u.get(c.IQuickInputService).quickAccess.show(b.AbstractGotoSymbolQuickAccessProvider.PREFIX)}}e.GotoLineAction=s,g.registerEditorAction(s)}),define(Q[648],J([0,1,13,114,64]),function(q,e,b,N,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class w extends b.EditorAction{constructor(){super({id:"editor.action.toggleHighContrast",label:M.ToggleHighContrastNLS.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0});this._originalThemeName=null}run(C,d){const g=C.get(N.IStandaloneThemeService);this._originalThemeName?(g.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=g.getColorTheme().themeName,g.setTheme("hc-black"))}}b.registerEditorAction(w)}),define(Q[189],J([0,1,7,55,48,2,518,34,68,37,32,11,112,431,17,359]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createActionViewItem=e.SubmenuEntryActionViewItem=e.MenuEntryActionViewItem=e.createAndFillInActionBarActions=void 0;function u(h,m,_,f,v,y){const L=h.getActions(m);return i(L,_,!1,f,v,y),r(L)}e.createAndFillInActionBarActions=u;function r(h){const m=new w.DisposableStore;for(const[,_]of h)for(const f of _)m.add(f);return m}function i(h,m,_,f=L=>L==="navigation",v=Number.MAX_SAFE_INTEGER,y=()=>!1){let L,I;Array.isArray(m)?(L=m,I=m):(L=m.primary,I=m.secondary);const k=new Set;for(const[E,T]of h){let O;f(E)?O=L:(O=I,O.length>0&&O.push(new M.Separator));for(let A of T){_&&(A=A instanceof C.MenuItemAction&&A.alt?A.alt:A);const B=O.push(A);A instanceof M.SubmenuAction&&k.add({group:E,action:A,index:B-1})}}for(const{group:E,action:T,index:O}of k){const A=f(E)?L:I,B=T.actions;(B.length<=1||A.length+B.length-2<=v)&&y(T,E,A.length)&&A.splice(O,1,...B)}if(L!==I&&L.length>v){const E=L.splice(v,L.length-v);I.unshift(...E,new M.Separator)}}let n=class extends o.ActionViewItem{constructor(m,_,f){super(void 0,m,{icon:!!(m.class||m.item.icon),label:!m.class&&!m.item.icon});this._action=m,this._keybindingService=_,this._notificationService=f,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new w.MutableDisposable),this._altKey=b.ModifierKeyEmitter.getInstance()}get _commandAction(){return this._wantsAltCommand&&this._action.alt||this._action}onClick(m){m.preventDefault(),m.stopPropagation(),this.actionRunner.run(this._commandAction,this._context).catch(_=>this._notificationService.error(_))}render(m){super.render(m),m.classList.add("menu-entry"),this._updateItemClass(this._action.item);let _=!1,f=this._altKey.keyStatus.altKey||(a.isWindows||a.isLinux)&&this._altKey.keyStatus.shiftKey;const v=()=>{const y=_&&f;y!==this._wantsAltCommand&&(this._wantsAltCommand=y,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._action.alt&&this._register(this._altKey.event(y=>{f=y.altKey||(a.isWindows||a.isLinux)&&y.shiftKey,v()})),this._register(N.domEvent(m,"mouseleave")(y=>{_=!1,v()})),this._register(N.domEvent(m,"mouseenter")(y=>{_=!0,v()}))}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}updateTooltip(){if(this.label){const m=this._keybindingService.lookupKeybinding(this._commandAction.id),_=m&&m.getLabel(),f=this._commandAction.tooltip||this._commandAction.label;this.label.title=_?S.localize(0,null,f,_):f}}updateClass(){this.options.icon&&(this._commandAction!==this._action?this._action.alt&&this._updateItemClass(this._action.alt.item):this._action.alt&&this._updateItemClass(this._action.item))}_updateItemClass(m){var _;this._itemClassDispose.value=void 0;const{element:f,label:v}=this;if(!(!f||!v)){const y=this._commandAction.checked&&((_=m.toggled)===null||_===void 0?void 0:_.icon)?m.toggled.icon:m.icon;if(!!y)if(c.ThemeIcon.isThemeIcon(y)){const L=c.ThemeIcon.asClassName(y);v.classList.add(...L.split(" ")),this._itemClassDispose.value=w.toDisposable(()=>{v.classList.remove(...L.split(" "))})}else y.light&&v.style.setProperty("--menu-entry-icon-light",b.asCSSUrl(y.light)),y.dark&&v.style.setProperty("--menu-entry-icon-dark",b.asCSSUrl(y.dark)),v.classList.add("icon"),this._itemClassDispose.value=w.toDisposable(()=>{v.classList.remove("icon"),v.style.removeProperty("--menu-entry-icon-light"),v.style.removeProperty("--menu-entry-icon-dark")})}}};n=Me([_e(1,g.IKeybindingService),_e(2,p.INotificationService)],n),e.MenuEntryActionViewItem=n;let t=class extends s.DropdownMenuActionViewItem{constructor(m,_){super(m,{getActions:()=>m.actions},_,{menuAsChild:!0,classNames:c.ThemeIcon.isThemeIcon(m.item.icon)?c.ThemeIcon.asClassName(m.item.icon):void 0})}render(m){if(super.render(m),this.element){m.classList.add("menu-entry");const{icon:_}=this._action.item;_&&!c.ThemeIcon.isThemeIcon(_)&&(this.element.classList.add("icon"),_.light&&this.element.style.setProperty("--menu-entry-icon-light",b.asCSSUrl(_.light)),_.dark&&this.element.style.setProperty("--menu-entry-icon-dark",b.asCSSUrl(_.dark)))}}};t=Me([_e(1,d.IContextMenuService)],t),e.SubmenuEntryActionViewItem=t;function l(h,m){return m instanceof C.MenuItemAction?h.createInstance(n,m):m instanceof C.SubmenuItemAction?h.createInstance(t,m):void 0}e.createActionViewItem=l}),define(Q[118],J([0,1,7,83,48,29,6,40,28,144,543,500,16,9,74,13,22,27,189,349]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.peekViewEditorMatchHighlightBorder=e.peekViewEditorMatchHighlight=e.peekViewResultsMatchHighlight=e.peekViewEditorGutterBackground=e.peekViewEditorBackground=e.peekViewResultsSelectionForeground=e.peekViewResultsSelectionBackground=e.peekViewResultsFileForeground=e.peekViewResultsMatchForeground=e.peekViewResultsBackground=e.peekViewBorder=e.peekViewTitleInfoForeground=e.peekViewTitleForeground=e.peekViewTitleBackground=e.PeekViewWidget=e.getOuterEditor=e.PeekContext=e.IPeekViewService=void 0,e.IPeekViewService=s.createDecorator("IPeekViewService"),a.registerSingleton(e.IPeekViewService,class{constructor(){this._widgets=new Map}addExclusiveWidget(f,v){const y=this._widgets.get(f);y&&(y.listener.dispose(),y.widget.dispose());const L=()=>{const I=this._widgets.get(f);I&&I.widget===v&&(I.listener.dispose(),this._widgets.delete(f))};this._widgets.set(f,{widget:v,listener:v.onDidClose(L)})}});var t;(function(f){f.inPeekEditor=new o.RawContextKey("inReferenceSearchEditor",!0),f.notInPeekEditor=f.inPeekEditor.toNegated()})(t=e.PeekContext||(e.PeekContext={}));let l=class{constructor(v,y){v instanceof g.EmbeddedCodeEditorWidget&&t.inPeekEditor.bindTo(y)}dispose(){}};l.ID="editor.contrib.referenceController",l=Me([_e(1,o.IContextKeyService)],l),u.registerEditorContribution(l.ID,l);function h(f){let v=f.get(d.ICodeEditorService).getFocusedCodeEditor();return v instanceof g.EmbeddedCodeEditorWidget?v.getParentEditor():v}e.getOuterEditor=h;const m={headerBackgroundColor:w.Color.white,primaryHeadingColor:w.Color.fromHex("#333333"),secondaryHeadingColor:w.Color.fromHex("#6c6c6cb3")};let _=class extends p.ZoneWidget{constructor(v,y,L){super(v,y);this.instantiationService=L,this._onDidClose=new S.Emitter,this.onDidClose=this._onDidClose.event,C.mixin(this.options,m,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(v){let y=this.options;v.headerBackgroundColor&&(y.headerBackgroundColor=v.headerBackgroundColor),v.primaryHeadingColor&&(y.primaryHeadingColor=v.primaryHeadingColor),v.secondaryHeadingColor&&(y.secondaryHeadingColor=v.secondaryHeadingColor),super.style(v)}_applyStyles(){super._applyStyles();let v=this.options;this._headElement&&v.headerBackgroundColor&&(this._headElement.style.backgroundColor=v.headerBackgroundColor.toString()),this._primaryHeading&&v.primaryHeadingColor&&(this._primaryHeading.style.color=v.primaryHeadingColor.toString()),this._secondaryHeading&&v.secondaryHeadingColor&&(this._secondaryHeading.style.color=v.secondaryHeadingColor.toString()),this._bodyElement&&v.frameColor&&(this._bodyElement.style.borderColor=v.frameColor.toString())}_fillContainer(v){this.setCssClass("peekview-widget"),this._headElement=b.$(".head"),this._bodyElement=b.$(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),v.appendChild(this._headElement),v.appendChild(this._bodyElement)}_fillHead(v,y){const L=b.$(".peekview-title");b.append(this._headElement,L),b.addStandardDisposableListener(L,"click",E=>this._onTitleClick(E)),this._fillTitleIcon(L),this._primaryHeading=b.$("span.filename"),this._secondaryHeading=b.$("span.dirname"),this._metaHeading=b.$("span.meta"),b.append(L,this._primaryHeading,this._secondaryHeading,this._metaHeading);const I=b.$(".peekview-actions");b.append(this._headElement,I);const k=this._getActionBarOptions();this._actionbarWidget=new N.ActionBar(I,k),this._disposables.add(this._actionbarWidget),y||this._actionbarWidget.push(new M.Action("peekview.close",c.localize(0,null),i.Codicon.close.classNames,!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(v){}_getActionBarOptions(){return{actionViewItemProvider:n.createActionViewItem.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(v){}setTitle(v,y){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=v,this._primaryHeading.setAttribute("aria-label",v),y?this._secondaryHeading.innerText=y:b.clearNode(this._secondaryHeading))}setMetaTitle(v){this._metaHeading&&(v?(this._metaHeading.innerText=v,b.show(this._metaHeading)):b.hide(this._metaHeading))}_doLayout(v,y){if(!this._isShowing&&v<0){this.dispose();return}const L=Math.ceil(this.editor.getOption(53)*1.2),I=Math.round(v-(L+2));this._doLayoutHead(L,y),this._doLayoutBody(I,y)}_doLayoutHead(v,y){this._headElement&&(this._headElement.style.height=`${v}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(v,y){this._bodyElement&&(this._bodyElement.style.height=`${v}px`)}};_=Me([_e(2,s.IInstantiationService)],_),e.PeekViewWidget=_,e.peekViewTitleBackground=r.registerColor("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},c.localize(1,null)),e.peekViewTitleForeground=r.registerColor("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},c.localize(2,null)),e.peekViewTitleInfoForeground=r.registerColor("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161e6",hc:"#FFFFFF99"},c.localize(3,null)),e.peekViewBorder=r.registerColor("peekView.border",{dark:"#007acc",light:"#007acc",hc:r.contrastBorder},c.localize(4,null)),e.peekViewResultsBackground=r.registerColor("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:w.Color.black},c.localize(5,null)),e.peekViewResultsMatchForeground=r.registerColor("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:w.Color.white},c.localize(6,null)),e.peekViewResultsFileForeground=r.registerColor("peekViewResult.fileForeground",{dark:w.Color.white,light:"#1E1E1E",hc:w.Color.white},c.localize(7,null)),e.peekViewResultsSelectionBackground=r.registerColor("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},c.localize(8,null)),e.peekViewResultsSelectionForeground=r.registerColor("peekViewResult.selectionForeground",{dark:w.Color.white,light:"#6C6C6C",hc:w.Color.white},c.localize(9,null)),e.peekViewEditorBackground=r.registerColor("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:w.Color.black},c.localize(10,null)),e.peekViewEditorGutterBackground=r.registerColor("peekViewEditorGutter.background",{dark:e.peekViewEditorBackground,light:e.peekViewEditorBackground,hc:e.peekViewEditorBackground},c.localize(11,null)),e.peekViewResultsMatchHighlight=r.registerColor("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},c.localize(12,null)),e.peekViewEditorMatchHighlight=r.registerColor("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},c.localize(13,null)),e.peekViewEditorMatchHighlightBorder=r.registerColor("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:r.activeContrastBorder},c.localize(14,null))}),define(Q[649],J([0,1,7,83,2,117,511,189,34,16,9]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestWidgetStatus=void 0;class c extends C.MenuEntryActionViewItem{updateLabel(){const a=this._keybindingService.lookupKeybinding(this._action.id);if(!a)return super.updateLabel();this.label&&(this.label.textContent=S.localize(0,null,this._action.label,c.symbolPrintEnter(a)))}static symbolPrintEnter(a){var u;return(u=a.getLabel())===null||u===void 0?void 0:u.replace(/\benter\b/gi,"\u23CE")}}let o=class{constructor(a,u,r,i){this._menuService=r,this._contextKeyService=i,this._menuDisposables=new M.DisposableStore,this.element=b.append(a,b.$(".suggest-status-bar"));const n=t=>t instanceof d.MenuItemAction?u.createInstance(c,t):void 0;this._leftActions=new N.ActionBar(this.element,{actionViewItemProvider:n}),this._rightActions=new N.ActionBar(this.element,{actionViewItemProvider:n}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this.element.remove()}show(){const a=this._menuService.createMenu(w.suggestWidgetStatusbarMenu,this._contextKeyService),u=()=>{const r=[],i=[];for(let[n,t]of a.getActions())n==="left"?r.push(...t):i.push(...t);this._leftActions.clear(),this._leftActions.push(r),this._rightActions.clear(),this._rightActions.push(i)};this._menuDisposables.add(a.onDidChange(()=>u())),this._menuDisposables.add(a)}hide(){this._menuDisposables.clear()}};o=Me([_e(1,p.IInstantiationService),_e(2,d.IMenuService),_e(3,g.IContextKeyService)],o),e.SuggestWidgetStatus=o}),define(Q[650],J([0,1,15,6,2,34,26,16]),function(q,e,b,N,M,w,S,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MenuService=void 0;let d=class{constructor(c){this._commandService=c}createMenu(c,o,s=!1){return new g(c,s,this._commandService,o,this)}};d=Me([_e(0,S.ICommandService)],d),e.MenuService=d;let g=class et{constructor(c,o,s,a,u){this._id=c,this._fireEventsForSubmenuChanges=o,this._commandService=s,this._contextKeyService=a,this._menuService=u,this._dispoables=new M.DisposableStore,this._onDidChange=new N.Emitter,this.onDidChange=this._onDidChange.event,this._menuGroups=[],this._contextKeys=new Set,this._build();const r=new b.RunOnceScheduler(()=>this._build(),50);this._dispoables.add(r),this._dispoables.add(w.MenuRegistry.onDidChangeMenu(n=>{n.has(c)&&r.schedule()}));const i=new b.RunOnceScheduler(()=>this._onDidChange.fire(this),50);this._dispoables.add(i),this._dispoables.add(a.onDidChangeContext(n=>{n.affectsSome(this._contextKeys)&&i.schedule()}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}_build(){this._menuGroups.length=0,this._contextKeys.clear();const c=w.MenuRegistry.getMenuItems(this._id);let o;c.sort(et._compareMenuItems);for(let s of c){const a=s.group||"";(!o||o[0]!==a)&&(o=[a,[]],this._menuGroups.push(o)),o[1].push(s),this._collectContextKeys(s)}this._onDidChange.fire(this)}_collectContextKeys(c){if(et._fillInKbExprKeys(c.when,this._contextKeys),w.isIMenuItem(c)){if(c.command.precondition&&et._fillInKbExprKeys(c.command.precondition,this._contextKeys),c.command.toggled){const o=c.command.toggled.condition||c.command.toggled;et._fillInKbExprKeys(o,this._contextKeys)}}else this._fireEventsForSubmenuChanges&&w.MenuRegistry.getMenuItems(c.submenu).forEach(this._collectContextKeys,this)}getActions(c){const o=[];for(let s of this._menuGroups){const[a,u]=s,r=[];for(const i of u)if(this._contextKeyService.contextMatchesRules(i.when)){const n=w.isIMenuItem(i)?new w.MenuItemAction(i.command,i.alt,c,this._contextKeyService,this._commandService):new w.SubmenuItemAction(i,this._menuService,this._contextKeyService,c);r.push(n)}r.length>0&&o.push([a,r])}return o}static _fillInKbExprKeys(c,o){if(c)for(let s of c.keys())o.add(s)}static _compareMenuItems(c,o){let s=c.group,a=o.group;if(s!==a){if(s){if(!a)return-1}else return 1;if(s==="navigation")return-1;if(a==="navigation")return 1;let i=s.localeCompare(a);if(i!==0)return i}let u=c.order||0,r=o.order||0;return ur?1:et._compareTitles(w.isIMenuItem(c)?c.command.title:c.title,w.isIMenuItem(o)?o.command.title:o.title)}static _compareTitles(c,o){const s=typeof c=="string"?c:c.original,a=typeof o=="string"?o:o.original;return s.localeCompare(a)}};g=Me([_e(2,S.ICommandService),_e(3,C.IContextKeyService),_e(4,w.IMenuService)],g)}),define(Q[651],J([0,1,579,68,87,32,11,37,2,7]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenuService=void 0;let p=class extends d.Disposable{constructor(o,s,a,u,r){super();this.contextMenuHandler=new b.ContextMenuHandler(a,o,s,u,r)}configure(o){this.contextMenuHandler.configure(o)}showContextMenu(o){this.contextMenuHandler.showContextMenu(o),g.ModifierKeyEmitter.getInstance().resetKeyStatus()}};p=Me([_e(0,M.ITelemetryService),_e(1,w.INotificationService),_e(2,N.IContextViewService),_e(3,C.IKeybindingService),_e(4,S.IThemeService)],p),e.ContextMenuService=p}),define(Q[147],J([0,1,7,312,105,6,2,523,46,95,16,9,37,33,116,11,250,234,428,427,65,315]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkbenchCompressibleAsyncDataTree=e.WorkbenchAsyncDataTree=e.WorkbenchDataTree=e.WorkbenchCompressibleObjectTree=e.WorkbenchObjectTree=e.WorkbenchTable=e.WorkbenchPagedList=e.WorkbenchList=e.didBindWorkbenchListAutomaticKeyboardNavigation=e.WorkbenchListAutomaticKeyboardNavigation=e.WorkbenchListAutomaticKeyboardNavigationKey=e.WorkbenchListSupportsKeyboardNavigation=e.WorkbenchListMultiSelection=e.WorkbenchListDoubleSelection=e.WorkbenchListHasSelectionOrFocus=e.WorkbenchListFocusContextKey=e.WorkbenchListSupportsMultiSelectContextKey=e.ListService=e.IListService=void 0,e.IListService=c.createDecorator("listService");let m=class{constructor(oe){this._themeService=oe,this.disposables=new S.DisposableStore,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}get lastFocusedList(){return this._lastFocusedWidget}register(oe,ae){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;const j=new M.DefaultStyleController(b.createStyleSheet(),"");this.disposables.add(a.attachListStyler(j,this._themeService))}if(this.lists.some(j=>j.widget===oe))throw new Error("Cannot register the same widget multiple times");const G={widget:oe,extraContextKeys:ae};return this.lists.push(G),oe.getHTMLElement()===document.activeElement&&(this._lastFocusedWidget=oe),S.combinedDisposable(oe.onDidFocus(()=>this._lastFocusedWidget=oe),S.toDisposable(()=>this.lists.splice(this.lists.indexOf(G),1)),oe.onDidDispose(()=>{this.lists=this.lists.filter(j=>j!==G),this._lastFocusedWidget===oe&&(this._lastFocusedWidget=void 0)}))}dispose(){this.disposables.dispose()}};m=Me([_e(0,u.IThemeService)],m),e.ListService=m;const _=new p.RawContextKey("listFocus",!0);e.WorkbenchListSupportsMultiSelectContextKey=new p.RawContextKey("listSupportsMultiselect",!0),e.WorkbenchListFocusContextKey=p.ContextKeyExpr.and(_,p.ContextKeyExpr.not(r.InputFocusedContextKey)),e.WorkbenchListHasSelectionOrFocus=new p.RawContextKey("listHasSelectionOrFocus",!1),e.WorkbenchListDoubleSelection=new p.RawContextKey("listDoubleSelection",!1),e.WorkbenchListMultiSelection=new p.RawContextKey("listMultiSelection",!1),e.WorkbenchListSupportsKeyboardNavigation=new p.RawContextKey("listSupportsKeyboardNavigation",!0),e.WorkbenchListAutomaticKeyboardNavigationKey="listAutomaticKeyboardNavigation",e.WorkbenchListAutomaticKeyboardNavigation=new p.RawContextKey(e.WorkbenchListAutomaticKeyboardNavigationKey,!0),e.didBindWorkbenchListAutomaticKeyboardNavigation=!1;function f(ie,oe){const ae=ie.createScoped(oe.getHTMLElement());return _.bindTo(ae),ae}const v="workbench.list.multiSelectModifier",y="workbench.list.openMode",L="workbench.list.horizontalScrolling",I="workbench.list.keyboardNavigation",k="workbench.list.automaticKeyboardNavigation",E="workbench.tree.indent",T="workbench.tree.renderIndentGuides",O="workbench.list.smoothScrolling",A="workbench.tree.expandMode";function B(ie){return ie.getValue(v)==="alt"}class F extends S.Disposable{constructor(oe){super();this.configurationService=oe,this.useAltAsMultipleSelectionModifier=B(oe),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(oe=>{oe.affectsConfiguration(v)&&(this.useAltAsMultipleSelectionModifier=B(this.configurationService))}))}isSelectionSingleChangeEvent(oe){return this.useAltAsMultipleSelectionModifier?oe.browserEvent.altKey:M.isSelectionSingleChangeEvent(oe)}isSelectionRangeChangeEvent(oe){return M.isSelectionRangeChangeEvent(oe)}}function D(ie,oe,ae){const G=new S.DisposableStore,j=Object.assign({},ie);if(ie.multipleSelectionSupport!==!1&&!ie.multipleSelectionController){const te=new F(oe);j.multipleSelectionController=te,G.add(te)}return j.keyboardNavigationDelegate={mightProducePrintableCharacter(te){return ae.mightProducePrintableCharacter(te)}},j.smoothScrolling=oe.getValue(O),[j,G]}let R=class extends M.List{constructor(oe,ae,G,j,te,Z,ue,he,re,ce){const me=typeof te.horizontalScrolling!="undefined"?te.horizontalScrolling:re.getValue(L),[Ce,be]=D(te,re,ce);super(oe,ae,G,j,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},a.computeStyles(he.getColorTheme(),a.defaultListStyles)),Ce),{horizontalScrolling:me}));this.disposables.add(be),this.contextKeyService=f(Z,this),this.themeService=he,e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService).set(te.multipleSelectionSupport!==!1),this.listHasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=te.horizontalScrolling,this._useAltAsMultipleSelectionModifier=B(re),this.disposables.add(this.contextKeyService),this.disposables.add(ue.register(this)),te.overrideStyles&&this.updateStyles(te.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const De=this.getSelection(),Re=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(De.length>0||Re.length>0),this.listMultiSelection.set(De.length>1),this.listDoubleSelection.set(De.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const De=this.getSelection(),Re=this.getFocus();this.listHasSelectionOrFocus.set(De.length>0||Re.length>0)})),this.disposables.add(re.onDidChangeConfiguration(De=>{De.affectsConfiguration(v)&&(this._useAltAsMultipleSelectionModifier=B(re));let Re={};if(De.affectsConfiguration(L)&&this.horizontalScrolling===void 0){const Ee=re.getValue(L);Re=Object.assign(Object.assign({},Re),{horizontalScrolling:Ee})}if(De.affectsConfiguration(O)){const Ee=re.getValue(O);Re=Object.assign(Object.assign({},Re),{smoothScrolling:Ee})}Object.keys(Re).length>0&&this.updateOptions(Re)})),this.navigator=new Y(this,Object.assign({configurationService:re},te)),this.disposables.add(this.navigator)}updateOptions(oe){super.updateOptions(oe),oe.overrideStyles&&this.updateStyles(oe.overrideStyles)}updateStyles(oe){var ae;(ae=this._styler)===null||ae===void 0||ae.dispose(),this._styler=a.attachListStyler(this,this.themeService,oe)}dispose(){var oe;(oe=this._styler)===null||oe===void 0||oe.dispose(),super.dispose()}};R=Me([_e(5,p.IContextKeyService),_e(6,e.IListService),_e(7,u.IThemeService),_e(8,d.IConfigurationService),_e(9,o.IKeybindingService)],R),e.WorkbenchList=R;let W=class extends N.PagedList{constructor(oe,ae,G,j,te,Z,ue,he,re,ce){const me=typeof te.horizontalScrolling!="undefined"?te.horizontalScrolling:re.getValue(L),[Ce,be]=D(te,re,ce);super(oe,ae,G,j,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},a.computeStyles(he.getColorTheme(),a.defaultListStyles)),Ce),{horizontalScrolling:me}));this.disposables=new S.DisposableStore,this.disposables.add(be),this.contextKeyService=f(Z,this),this.themeService=he,this.horizontalScrolling=te.horizontalScrolling,e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService).set(te.multipleSelectionSupport!==!1),this._useAltAsMultipleSelectionModifier=B(re),this.disposables.add(this.contextKeyService),this.disposables.add(ue.register(this)),te.overrideStyles&&this.updateStyles(te.overrideStyles),te.overrideStyles&&this.disposables.add(a.attachListStyler(this,he,te.overrideStyles)),this.disposables.add(re.onDidChangeConfiguration(De=>{De.affectsConfiguration(v)&&(this._useAltAsMultipleSelectionModifier=B(re));let Re={};if(De.affectsConfiguration(L)&&this.horizontalScrolling===void 0){const Ee=re.getValue(L);Re=Object.assign(Object.assign({},Re),{horizontalScrolling:Ee})}if(De.affectsConfiguration(O)){const Ee=re.getValue(O);Re=Object.assign(Object.assign({},Re),{smoothScrolling:Ee})}Object.keys(Re).length>0&&this.updateOptions(Re)})),this.navigator=new Y(this,Object.assign({configurationService:re},te)),this.disposables.add(this.navigator)}updateOptions(oe){super.updateOptions(oe),oe.overrideStyles&&this.updateStyles(oe.overrideStyles)}updateStyles(oe){var ae;(ae=this._styler)===null||ae===void 0||ae.dispose(),this._styler=a.attachListStyler(this,this.themeService,oe)}dispose(){var oe;(oe=this._styler)===null||oe===void 0||oe.dispose(),this.disposables.dispose(),super.dispose()}};W=Me([_e(5,p.IContextKeyService),_e(6,e.IListService),_e(7,u.IThemeService),_e(8,d.IConfigurationService),_e(9,o.IKeybindingService)],W),e.WorkbenchPagedList=W;let x=class extends h.Table{constructor(oe,ae,G,j,te,Z,ue,he,re,ce,me){const Ce=typeof Z.horizontalScrolling!="undefined"?Z.horizontalScrolling:ce.getValue(L),[be,Le]=D(Z,ce,me);super(oe,ae,G,j,te,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},a.computeStyles(re.getColorTheme(),a.defaultListStyles)),be),{horizontalScrolling:Ce}));this.disposables=new S.DisposableStore,this.disposables.add(Le),this.contextKeyService=f(ue,this),this.themeService=re,e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService).set(Z.multipleSelectionSupport!==!1),this.listHasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=Z.horizontalScrolling,this._useAltAsMultipleSelectionModifier=B(ce),this.disposables.add(this.contextKeyService),this.disposables.add(he.register(this)),Z.overrideStyles&&this.updateStyles(Z.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const Re=this.getSelection(),Ee=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(Re.length>0||Ee.length>0),this.listMultiSelection.set(Re.length>1),this.listDoubleSelection.set(Re.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const Re=this.getSelection(),Ee=this.getFocus();this.listHasSelectionOrFocus.set(Re.length>0||Ee.length>0)})),this.disposables.add(ce.onDidChangeConfiguration(Re=>{Re.affectsConfiguration(v)&&(this._useAltAsMultipleSelectionModifier=B(ce));let Ee={};if(Re.affectsConfiguration(L)&&this.horizontalScrolling===void 0){const Ae=ce.getValue(L);Ee=Object.assign(Object.assign({},Ee),{horizontalScrolling:Ae})}if(Re.affectsConfiguration(O)){const Ae=ce.getValue(O);Ee=Object.assign(Object.assign({},Ee),{smoothScrolling:Ae})}Object.keys(Ee).length>0&&this.updateOptions(Ee)})),this.navigator=new ee(this,Object.assign({configurationService:ce},Z)),this.disposables.add(this.navigator)}updateOptions(oe){super.updateOptions(oe),oe.overrideStyles&&this.updateStyles(oe.overrideStyles)}updateStyles(oe){var ae;(ae=this._styler)===null||ae===void 0||ae.dispose(),this._styler=a.attachListStyler(this,this.themeService,oe)}dispose(){var oe;(oe=this._styler)===null||oe===void 0||oe.dispose(),this.disposables.dispose(),super.dispose()}};x=Me([_e(6,p.IContextKeyService),_e(7,e.IListService),_e(8,u.IThemeService),_e(9,d.IConfigurationService),_e(10,o.IKeybindingService)],x),e.WorkbenchTable=x;class K extends S.Disposable{constructor(oe,ae){var G,j;super();this.widget=oe,this._onDidOpen=this._register(new w.Emitter),this.onDidOpen=this._onDidOpen.event,this.openOnFocus=(G=ae==null?void 0:ae.openOnFocus)!==null&&G!==void 0?G:!1,this._register(w.Event.filter(this.widget.onDidChangeSelection,te=>te.browserEvent instanceof KeyboardEvent)(te=>this.onSelectionFromKeyboard(te))),this._register(this.widget.onPointer(te=>this.onPointer(te.element,te.browserEvent))),this._register(this.widget.onMouseDblClick(te=>this.onMouseDblClick(te.element,te.browserEvent))),this.openOnFocus&&this._register(w.Event.filter(this.widget.onDidChangeFocus,te=>te.browserEvent instanceof KeyboardEvent)(te=>this.onFocusFromKeyboard(te))),typeof(ae==null?void 0:ae.openOnSingleClick)!="boolean"&&(ae==null?void 0:ae.configurationService)?(this.openOnSingleClick=(ae==null?void 0:ae.configurationService.getValue(y))!=="doubleClick",this._register(ae==null?void 0:ae.configurationService.onDidChangeConfiguration(()=>{this.openOnSingleClick=(ae==null?void 0:ae.configurationService.getValue(y))!=="doubleClick"}))):this.openOnSingleClick=(j=ae==null?void 0:ae.openOnSingleClick)!==null&&j!==void 0?j:!0}onFocusFromKeyboard(oe){const ae=this.widget.getFocus();this.widget.setSelection(ae,oe.browserEvent);const G=oe.browserEvent,j=typeof G.preserveFocus=="boolean"?G.preserveFocus:!0,te=typeof G.pinned=="boolean"?G.pinned:!j,Z=!1;this._open(this.getSelectedElement(),j,te,Z,oe.browserEvent)}onSelectionFromKeyboard(oe){if(oe.elements.length===1){const ae=oe.browserEvent,G=typeof ae.preserveFocus=="boolean"?ae.preserveFocus:!0,j=typeof ae.pinned=="boolean"?ae.pinned:!G,te=!1;this._open(this.getSelectedElement(),G,j,te,oe.browserEvent)}}onPointer(oe,ae){if(!!this.openOnSingleClick&&ae.detail!==2){const j=ae.button===1,te=!0,Z=j,ue=ae.ctrlKey||ae.metaKey||ae.altKey;this._open(oe,te,Z,ue,ae)}}onMouseDblClick(oe,ae){if(!!ae){const G=!1,j=!0,te=ae.ctrlKey||ae.metaKey||ae.altKey;this._open(oe,G,j,te,ae)}}_open(oe,ae,G,j,te){!oe||this._onDidOpen.fire({editorOptions:{preserveFocus:ae,pinned:G,revealIfVisible:!0},sideBySide:j,element:oe,browserEvent:te})}}class Y extends K{constructor(oe,ae){super(oe,ae);this.widget=oe}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class ee extends K{constructor(oe,ae){super(oe,ae);this.widget=oe}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class se extends K{constructor(oe,ae){super(oe,ae);this.widget=oe}getSelectedElement(){var oe;return(oe=this.widget.getSelection()[0])!==null&&oe!==void 0?oe:void 0}}function ne(ie,oe){let ae=!1;return G=>{if(ae)return ae=!1,!1;const j=oe.softDispatch(G,ie);return j&&j.enterChord?(ae=!0,!1):(ae=!1,!0)}}let le=class extends i.ObjectTree{constructor(oe,ae,G,j,te,Z,ue,he,re,ce,me){const{options:Ce,getAutomaticKeyboardNavigation:be,disposable:Le}=U(ae,te,Z,re,ce,me);super(oe,ae,G,j,Ce);this.disposables.add(Le),this.internals=new H(this,te,be,te.overrideStyles,Z,ue,he,re,me),this.disposables.add(this.internals)}};le=Me([_e(5,p.IContextKeyService),_e(6,e.IListService),_e(7,u.IThemeService),_e(8,d.IConfigurationService),_e(9,o.IKeybindingService),_e(10,l.IAccessibilityService)],le),e.WorkbenchObjectTree=le;let X=class extends i.CompressibleObjectTree{constructor(oe,ae,G,j,te,Z,ue,he,re,ce,me){const{options:Ce,getAutomaticKeyboardNavigation:be,disposable:Le}=U(ae,te,Z,re,ce,me);super(oe,ae,G,j,Ce);this.disposables.add(Le),this.internals=new H(this,te,be,te.overrideStyles,Z,ue,he,re,me),this.disposables.add(this.internals)}updateOptions(oe={}){super.updateOptions(oe),oe.overrideStyles&&this.internals.updateStyleOverrides(oe.overrideStyles)}};X=Me([_e(5,p.IContextKeyService),_e(6,e.IListService),_e(7,u.IThemeService),_e(8,d.IConfigurationService),_e(9,o.IKeybindingService),_e(10,l.IAccessibilityService)],X),e.WorkbenchCompressibleObjectTree=X;let z=class extends t.DataTree{constructor(oe,ae,G,j,te,Z,ue,he,re,ce,me,Ce){const{options:be,getAutomaticKeyboardNavigation:Le,disposable:De}=U(ae,Z,ue,ce,me,Ce);super(oe,ae,G,j,te,be);this.disposables.add(De),this.internals=new H(this,Z,Le,Z.overrideStyles,ue,he,re,ce,Ce),this.disposables.add(this.internals)}updateOptions(oe={}){super.updateOptions(oe),oe.overrideStyles&&this.internals.updateStyleOverrides(oe.overrideStyles)}};z=Me([_e(6,p.IContextKeyService),_e(7,e.IListService),_e(8,u.IThemeService),_e(9,d.IConfigurationService),_e(10,o.IKeybindingService),_e(11,l.IAccessibilityService)],z),e.WorkbenchDataTree=z;let P=class extends n.AsyncDataTree{constructor(oe,ae,G,j,te,Z,ue,he,re,ce,me,Ce){const{options:be,getAutomaticKeyboardNavigation:Le,disposable:De}=U(ae,Z,ue,ce,me,Ce);super(oe,ae,G,j,te,be);this.disposables.add(De),this.internals=new H(this,Z,Le,Z.overrideStyles,ue,he,re,ce,Ce),this.disposables.add(this.internals)}get onDidOpen(){return this.internals.onDidOpen}updateOptions(oe={}){super.updateOptions(oe),oe.overrideStyles&&this.internals.updateStyleOverrides(oe.overrideStyles)}};P=Me([_e(6,p.IContextKeyService),_e(7,e.IListService),_e(8,u.IThemeService),_e(9,d.IConfigurationService),_e(10,o.IKeybindingService),_e(11,l.IAccessibilityService)],P),e.WorkbenchAsyncDataTree=P;let V=class extends n.CompressibleAsyncDataTree{constructor(oe,ae,G,j,te,Z,ue,he,re,ce,me,Ce,be){const{options:Le,getAutomaticKeyboardNavigation:De,disposable:Re}=U(ae,ue,he,me,Ce,be);super(oe,ae,G,j,te,Z,Le);this.disposables.add(Re),this.internals=new H(this,ue,De,ue.overrideStyles,he,re,ce,me,be),this.disposables.add(this.internals)}};V=Me([_e(7,p.IContextKeyService),_e(8,e.IListService),_e(9,u.IThemeService),_e(10,d.IConfigurationService),_e(11,o.IKeybindingService),_e(12,l.IAccessibilityService)],V),e.WorkbenchCompressibleAsyncDataTree=V;function U(ie,oe,ae,G,j,te){var Z;e.WorkbenchListSupportsKeyboardNavigation.bindTo(ae),e.didBindWorkbenchListAutomaticKeyboardNavigation||(e.WorkbenchListAutomaticKeyboardNavigation.bindTo(ae),e.didBindWorkbenchListAutomaticKeyboardNavigation=!0);const ue=()=>{let Le=ae.getContextKeyValue(e.WorkbenchListAutomaticKeyboardNavigationKey);return Le&&(Le=G.getValue(k)),Le},he=te.isScreenReaderOptimized(),re=oe.simpleKeyboardNavigation||he?"simple":G.getValue(I),ce=oe.horizontalScrolling!==void 0?oe.horizontalScrolling:G.getValue(L),[me,Ce]=D(oe,G,j),be=oe.additionalScrollHeight;return{getAutomaticKeyboardNavigation:ue,disposable:Ce,options:Object.assign(Object.assign({keyboardSupport:!1},me),{indent:G.getValue(E),renderIndentGuides:G.getValue(T),smoothScrolling:G.getValue(O),automaticKeyboardNavigation:ue(),simpleKeyboardNavigation:re==="simple",filterOnType:re==="filter",horizontalScrolling:ce,keyboardNavigationEventFilter:ne(ie,j),additionalScrollHeight:be,hideTwistiesOfChildlessElements:oe.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(Z=oe.expandOnlyOnTwistieClick)!==null&&Z!==void 0?Z:G.getValue(A)==="doubleClick"})}}let H=class{constructor(oe,ae,G,j,te,Z,ue,he,re){this.tree=oe,this.themeService=ue,this.disposables=[],this.contextKeyService=f(te,oe),e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService).set(ae.multipleSelectionSupport!==!1),this.hasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.hasDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.hasMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=B(he);const me=new Set;me.add(e.WorkbenchListAutomaticKeyboardNavigationKey);const Ce=()=>{const Le=re.isScreenReaderOptimized()?"simple":he.getValue(I);oe.updateOptions({simpleKeyboardNavigation:Le==="simple",filterOnType:Le==="filter"})};this.updateStyleOverrides(j),this.disposables.push(this.contextKeyService,Z.register(oe),oe.onDidChangeSelection(()=>{const be=oe.getSelection(),Le=oe.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(be.length>0||Le.length>0),this.hasMultiSelection.set(be.length>1),this.hasDoubleSelection.set(be.length===2)})}),oe.onDidChangeFocus(()=>{const be=oe.getSelection(),Le=oe.getFocus();this.hasSelectionOrFocus.set(be.length>0||Le.length>0)}),he.onDidChangeConfiguration(be=>{let Le={};if(be.affectsConfiguration(v)&&(this._useAltAsMultipleSelectionModifier=B(he)),be.affectsConfiguration(E)){const De=he.getValue(E);Le=Object.assign(Object.assign({},Le),{indent:De})}if(be.affectsConfiguration(T)){const De=he.getValue(T);Le=Object.assign(Object.assign({},Le),{renderIndentGuides:De})}if(be.affectsConfiguration(O)){const De=he.getValue(O);Le=Object.assign(Object.assign({},Le),{smoothScrolling:De})}if(be.affectsConfiguration(I)&&Ce(),be.affectsConfiguration(k)&&(Le=Object.assign(Object.assign({},Le),{automaticKeyboardNavigation:G()})),be.affectsConfiguration(L)&&ae.horizontalScrolling===void 0){const De=he.getValue(L);Le=Object.assign(Object.assign({},Le),{horizontalScrolling:De})}be.affectsConfiguration(A)&&ae.expandOnlyOnTwistieClick===void 0&&(Le=Object.assign(Object.assign({},Le),{expandOnlyOnTwistieClick:he.getValue(A)==="doubleClick"})),Object.keys(Le).length>0&&oe.updateOptions(Le)}),this.contextKeyService.onDidChangeContext(be=>{be.affectsSome(me)&&oe.updateOptions({automaticKeyboardNavigation:G()})}),re.onDidChangeScreenReaderOptimized(()=>Ce())),this.navigator=new se(oe,Object.assign({configurationService:he},ae)),this.disposables.push(this.navigator)}get onDidOpen(){return this.navigator.onDidOpen}updateStyleOverrides(oe){S.dispose(this.styler),this.styler=oe?a.attachListStyler(this.tree,this.themeService,oe):S.Disposable.None}dispose(){this.disposables=S.dispose(this.disposables),S.dispose(this.styler),this.styler=void 0}};H=Me([_e(4,p.IContextKeyService),_e(5,e.IListService),_e(6,u.IThemeService),_e(7,d.IConfigurationService),_e(8,l.IAccessibilityService)],H),s.Registry.as(g.Extensions.Configuration).registerConfiguration({id:"workbench",order:7,title:C.localize(0,null),type:"object",properties:{[v]:{type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[C.localize(1,null),C.localize(2,null)],default:"ctrlCmd",description:C.localize(3,null)},[y]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:C.localize(4,null)},[L]:{type:"boolean",default:!1,description:C.localize(5,null)},[E]:{type:"number",default:8,minimum:0,maximum:40,description:C.localize(6,null)},[T]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:C.localize(7,null)},[O]:{type:"boolean",default:!1,description:C.localize(8,null)},[I]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[C.localize(9,null),C.localize(10,null),C.localize(11,null)],default:"highlight",description:C.localize(12,null)},[k]:{type:"boolean",default:!0,markdownDescription:C.localize(13,null)},[A]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:C.localize(14,null)}}})}),define(Q[652],J([0,1,139,9,11,22,23,116,16,65,443,147,574]),function(q,e,b,N,M,w,S,C,d,g,p,c,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputService=void 0;let s=class extends M.Themable{constructor(u,r,i,n,t){super(i);this.instantiationService=u,this.contextKeyService=r,this.accessibilityService=n,this.layoutService=t,this.contexts=new Map}get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(o.QuickAccessController))),this._quickAccess}createController(u=this.layoutService,r){var i,n;const t={idPrefix:"quickInput_",container:u.container,ignoreFocusOut:()=>!1,isScreenReaderOptimized:()=>this.accessibilityService.isScreenReaderOptimized(),backKeybindingLabel:()=>{},setContextKey:h=>this.setContextKey(h),returnFocus:()=>u.focus(),createList:(h,m,_,f,v)=>this.instantiationService.createInstance(c.WorkbenchList,h,m,_,f,v),styles:this.computeStyles()},l=this._register(new p.QuickInputController(Object.assign(Object.assign({},t),r)));return l.layout(u.dimension,(n=(i=u.offset)===null||i===void 0?void 0:i.top)!==null&&n!==void 0?n:0),this._register(u.onDidLayout(h=>{var m,_;return l.layout(h,(_=(m=u.offset)===null||m===void 0?void 0:m.top)!==null&&_!==void 0?_:0)})),this._register(l.onShow(()=>this.resetContextKeys())),this._register(l.onHide(()=>this.resetContextKeys())),l}setContextKey(u){let r;u&&(r=this.contexts.get(u),r||(r=new d.RawContextKey(u,!1).bindTo(this.contextKeyService),this.contexts.set(u,r))),!(r&&r.get())&&(this.resetContextKeys(),r&&r.set(!0))}resetContextKeys(){this.contexts.forEach(u=>{u.get()&&u.reset()})}pick(u,r={},i=S.CancellationToken.None){return this.controller.pick(u,r,i)}createQuickPick(){return this.controller.createQuickPick()}updateStyles(){this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:Object.assign({},C.computeStyles(this.theme,{quickInputBackground:w.quickInputBackground,quickInputForeground:w.quickInputForeground,quickInputTitleBackground:w.quickInputTitleBackground,contrastBorder:w.contrastBorder,widgetShadow:w.widgetShadow})),inputBox:C.computeStyles(this.theme,{inputForeground:w.inputForeground,inputBackground:w.inputBackground,inputBorder:w.inputBorder,inputValidationInfoBackground:w.inputValidationInfoBackground,inputValidationInfoForeground:w.inputValidationInfoForeground,inputValidationInfoBorder:w.inputValidationInfoBorder,inputValidationWarningBackground:w.inputValidationWarningBackground,inputValidationWarningForeground:w.inputValidationWarningForeground,inputValidationWarningBorder:w.inputValidationWarningBorder,inputValidationErrorBackground:w.inputValidationErrorBackground,inputValidationErrorForeground:w.inputValidationErrorForeground,inputValidationErrorBorder:w.inputValidationErrorBorder}),countBadge:C.computeStyles(this.theme,{badgeBackground:w.badgeBackground,badgeForeground:w.badgeForeground,badgeBorder:w.contrastBorder}),button:C.computeStyles(this.theme,{buttonForeground:w.buttonForeground,buttonBackground:w.buttonBackground,buttonHoverBackground:w.buttonHoverBackground,buttonBorder:w.contrastBorder}),progressBar:C.computeStyles(this.theme,{progressBarBackground:w.progressBarBackground}),list:C.computeStyles(this.theme,{listBackground:w.quickInputBackground,listInactiveFocusForeground:w.listFocusForeground,listInactiveFocusBackground:w.quickInputListFocusBackground,listFocusOutline:w.activeContrastBorder,listInactiveFocusOutline:w.activeContrastBorder,pickerGroupBorder:w.pickerGroupBorder,pickerGroupForeground:w.pickerGroupForeground})}}};s=Me([_e(0,N.IInstantiationService),_e(1,d.IContextKeyService),_e(2,M.IThemeService),_e(3,g.IAccessibilityService),_e(4,b.ILayoutService)],s),e.QuickInputService=s}),define(Q[653],J([0,1,13,11,23,9,16,65,139,28,652,88,357]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputEditorWidget=e.QuickInputEditorContribution=e.StandaloneQuickInputServiceImpl=e.EditorScopedQuickInputServiceImpl=void 0;let o=class extends p.QuickInputService{constructor(i,n,t,l,h,m){super(n,t,l,h,m);this.host=void 0;const _=a.get(i);this.host={_serviceBrand:void 0,get container(){return _.widget.getDomNode()},get dimension(){return i.getLayoutInfo()},get onDidLayout(){return i.onDidLayoutChange},focus:()=>i.focus()}}createController(){return super.createController(this.host)}};o=Me([_e(1,w.IInstantiationService),_e(2,S.IContextKeyService),_e(3,N.IThemeService),_e(4,C.IAccessibilityService),_e(5,d.ILayoutService)],o),e.EditorScopedQuickInputServiceImpl=o;let s=class{constructor(i,n){this.instantiationService=i,this.codeEditorService=n,this.mapEditorToService=new Map}get activeService(){const i=this.codeEditorService.getFocusedCodeEditor();if(!i)throw new Error("Quick input service needs a focused editor to work.");let n=this.mapEditorToService.get(i);if(!n){const t=n=this.instantiationService.createInstance(o,i);this.mapEditorToService.set(i,n),c.once(i.onDidDispose)(()=>{t.dispose(),this.mapEditorToService.delete(i)})}return n}get quickAccess(){return this.activeService.quickAccess}pick(i,n={},t=M.CancellationToken.None){return this.activeService.pick(i,n,t)}createQuickPick(){return this.activeService.createQuickPick()}};s=Me([_e(0,w.IInstantiationService),_e(1,g.ICodeEditorService)],s),e.StandaloneQuickInputServiceImpl=s;class a{constructor(i){this.editor=i,this.widget=new u(this.editor)}static get(i){return i.getContribution(a.ID)}dispose(){this.widget.dispose()}}e.QuickInputEditorContribution=a,a.ID="editor.controller.quickInput";class u{constructor(i){this.codeEditor=i,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return u.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}e.QuickInputEditorWidget=u,u.ID="editor.contrib.quickInputWidget",b.registerEditorContribution(a.ID,a)}),define(Q[654],J([0,1,82,11,22,27]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SeverityIcon=void 0;var S;(function(C){function d(g){switch(g){case b.default.Ignore:return"severity-ignore "+w.Codicon.info.classNames;case b.default.Info:return w.Codicon.info.classNames;case b.default.Warning:return w.Codicon.warning.classNames;case b.default.Error:return w.Codicon.error.classNames;default:return""}}C.className=d})(S=e.SeverityIcon||(e.SeverityIcon={})),N.registerThemingParticipant((C,d)=>{const g=C.getColor(M.problemsErrorIconForeground);if(g){const o=w.Codicon.error.cssSelector;d.addRule(` + .monaco-editor .zone-widget ${o}, + .markers-panel .marker-icon${o}, + .extensions-viewlet > .extensions ${o} { + color: ${g}; + } + `)}const p=C.getColor(M.problemsWarningIconForeground);if(p){const o=w.Codicon.warning.cssSelector;d.addRule(` + .monaco-editor .zone-widget ${o}, + .markers-panel .marker-icon${o}, + .extensions-viewlet > .extensions ${o}, + .extension-editor ${o} { + color: ${p}; + } + `)}const c=C.getColor(M.problemsInfoIconForeground);if(c){const o=w.Codicon.info.cssSelector;d.addRule(` + .monaco-editor .zone-widget ${o}, + .markers-panel .marker-icon${o}, + .extensions-viewlet > .extensions ${o}, + .extension-editor ${o} { + color: ${c}; + } + `)}})}),define(Q[655],J([0,1,480,7,2,85,3,22,11,29,61,159,19,6,118,44,654,58,34,16,189,9,8,115,343]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorMarkerNavigationBackground=e.editorMarkerNavigationInfo=e.editorMarkerNavigationWarning=e.editorMarkerNavigationError=e.MarkerNavigationWidget=void 0;class f{constructor(E,T,O,A,B){this._openerService=A,this._labelService=B,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new M.DisposableStore,this._editor=T;const F=document.createElement("div");F.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),F.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),F.appendChild(this._relatedBlock),this._disposables.add(N.addStandardDisposableListener(this._relatedBlock,"click",D=>{D.preventDefault();const R=this._relatedDiagnostics.get(D.target);R&&O(R)})),this._scrollable=new p.ScrollableElement(F,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),E.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(D=>{F.style.left=`-${D.scrollLeft}px`,F.style.top=`-${D.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){M.dispose(this._disposables)}update(E){const{source:T,message:O,relatedInformation:A,code:B}=E;let F=((T==null?void 0:T.length)||0)+"()".length;B&&(typeof B=="string"?F+=B.length:F+=B.value.length);const D=m.splitLines(O);this._lines=D.length,this._longestLineLength=0;for(const Y of D)this._longestLineLength=Math.max(Y.length+F,this._longestLineLength);N.clearNode(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(E)),this._editor.applyFontInfo(this._messageBlock);let R=this._messageBlock;for(const Y of D)R=document.createElement("div"),R.innerText=Y,Y===""&&(R.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(R);if(T||B){const Y=document.createElement("span");if(Y.classList.add("details"),R.appendChild(Y),T){const ee=document.createElement("span");ee.innerText=T,ee.classList.add("source"),Y.appendChild(ee)}if(B)if(typeof B=="string"){const ee=document.createElement("span");ee.innerText=`(${B})`,ee.classList.add("code"),Y.appendChild(ee)}else{this._codeLink=N.$("a.code-link"),this._codeLink.setAttribute("href",`${B.target.toString()}`),this._codeLink.onclick=se=>{this._openerService.open(B.target),se.preventDefault(),se.stopPropagation()};const ee=N.append(this._codeLink,N.$("span"));ee.innerText=B.value,Y.appendChild(this._codeLink)}}if(N.clearNode(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),o.isNonEmptyArray(A)){const Y=this._relatedBlock.appendChild(document.createElement("div"));Y.style.paddingTop=`${Math.floor(this._editor.getOption(53)*.66)}px`,this._lines+=1;for(const ee of A){let se=document.createElement("div"),ne=document.createElement("a");ne.classList.add("filename"),ne.innerText=`${c.getBaseLabel(ee.resource)}(${ee.startLineNumber}, ${ee.startColumn}): `,ne.title=this._labelService.getUriLabel(ee.resource),this._relatedDiagnostics.set(ne,ee);let le=document.createElement("span");le.innerText=ee.message,se.appendChild(ne),se.appendChild(le),this._lines+=1,Y.appendChild(se)}}const W=this._editor.getOption(38),x=Math.ceil(W.typicalFullwidthCharacterWidth*this._longestLineLength*.75),K=W.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:x,scrollHeight:K})}layout(E,T){this._scrollable.getDomNode().style.height=`${E}px`,this._scrollable.getDomNode().style.width=`${T}px`,this._scrollable.setScrollDimensions({width:T,height:E})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(E){let T="";switch(E.severity){case w.MarkerSeverity.Error:T=b.localize(0,null);break;case w.MarkerSeverity.Warning:T=b.localize(1,null);break;case w.MarkerSeverity.Info:T=b.localize(2,null);break;case w.MarkerSeverity.Hint:T=b.localize(3,null);break}let O=b.localize(4,null,T,E.startLineNumber+":"+E.startColumn);const A=this._editor.getModel();return A&&E.startLineNumber<=A.getLineCount()&&E.startLineNumber>=1&&(O=`${A.getLineContent(E.startLineNumber)}, ${O}`),O}}let v=class Kt extends a.PeekViewWidget{constructor(E,T,O,A,B,F,D){super(E,{showArrow:!0,showFrame:!0,isAccessible:!0},B);this._themeService=T,this._openerService=O,this._menuService=A,this._contextKeyService=F,this._labelService=D,this._callOnDispose=new M.DisposableStore,this._onDidSelectRelatedInformation=new s.Emitter,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=w.MarkerSeverity.Warning,this._backgroundColor=g.Color.white,this._applyTheme(T.getColorTheme()),this._callOnDispose.add(T.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(E){this._backgroundColor=E.getColor(e.editorMarkerNavigationBackground);let T=e.editorMarkerNavigationError;this._severity===w.MarkerSeverity.Warning?T=e.editorMarkerNavigationWarning:this._severity===w.MarkerSeverity.Info&&(T=e.editorMarkerNavigationInfo);const O=E.getColor(T);this.style({arrowColor:O,frameColor:O,headerBackgroundColor:this._backgroundColor,primaryHeadingColor:E.getColor(a.peekViewTitleForeground),secondaryHeadingColor:E.getColor(a.peekViewTitleInfoForeground)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(E){super._fillHead(E),this._disposables.add(this._actionbarWidget.actionRunner.onBeforeRun(A=>this.editor.focus()));const T=[],O=this._menuService.createMenu(Kt.TitleMenu,this._contextKeyService);l.createAndFillInActionBarActions(O,void 0,T),this._actionbarWidget.push(T,{label:!1,icon:!0,index:0}),O.dispose()}_fillTitleIcon(E){this._icon=N.append(E,N.$(""))}_fillBody(E){this._parentContainer=E,E.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),E.appendChild(this._container),this._message=new f(this._container,this.editor,T=>this._onDidSelectRelatedInformation.fire(T),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(E,T,O){this._container.classList.remove("stale"),this._message.update(E),this._severity=E.severity,this._applyTheme(this._themeService.getColorTheme());let A=S.Range.lift(E);const B=this.editor.getPosition();let F=B&&A.containsPosition(B)?B:A.getStartPosition();super.show(F,this.computeRequiredHeight());const D=this.editor.getModel();if(D){const R=O>1?b.localize(5,null,T,O):b.localize(6,null,T,O);this.setTitle(u.basename(D.uri),R)}this._icon.className=`codicon ${r.SeverityIcon.className(w.MarkerSeverity.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(F,0),this.editor.focus()}updateMarker(E){this._container.classList.remove("stale"),this._message.update(E)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(E,T){super._doLayoutBody(E,T),this._heightInPixel=E,this._message.layout(E,T),this._container.style.height=`${E}px`}_onWidth(E){this._message.layout(this._heightInPixel,E)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};v.TitleMenu=new n.MenuId("gotoErrorTitleMenu"),v=Me([_e(1,d.IThemeService),_e(2,i.IOpenerService),_e(3,n.IMenuService),_e(4,h.IInstantiationService),_e(5,t.IContextKeyService),_e(6,_.ILabelService)],v),e.MarkerNavigationWidget=v;let y=C.oneOf(C.editorErrorForeground,C.editorErrorBorder),L=C.oneOf(C.editorWarningForeground,C.editorWarningBorder),I=C.oneOf(C.editorInfoForeground,C.editorInfoBorder);e.editorMarkerNavigationError=C.registerColor("editorMarkerNavigationError.background",{dark:y,light:y,hc:y},b.localize(7,null)),e.editorMarkerNavigationWarning=C.registerColor("editorMarkerNavigationWarning.background",{dark:L,light:L,hc:L},b.localize(8,null)),e.editorMarkerNavigationInfo=C.registerColor("editorMarkerNavigationInfo.background",{dark:I,light:I,hc:I},b.localize(9,null)),e.editorMarkerNavigationBackground=C.registerColor("editorMarkerNavigation.background",{dark:"#2D2D30",light:g.Color.white,hc:"#0C141F"},b.localize(10,null)),d.registerThemingParticipant((k,E)=>{const T=k.getColor(C.textLinkForeground);T&&(E.addRule(`.monaco-editor .marker-widget a { color: ${T}; }`),E.addRule(`.monaco-editor .marker-widget a.code-link span:hover { color: ${T}; }`))})}),define(Q[80],J([0,1,33,11,6,528,185,15,27]),function(q,e,b,N,M,w,S,C,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.widgetClose=e.iconsSchemaId=e.getIconRegistry=e.registerIcon=e.Extensions=void 0,e.Extensions={IconContribution:"base.contributions.icons"};class g{constructor(){this._onDidChange=new M.Emitter,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:w.localize(0,null)},fontCharacter:{type:"string",description:w.localize(1,null)}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${d.CSSIcon.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(i,n,t,l){const h=this.iconsById[i];if(h){if(t&&!h.description){h.description=t,this.iconSchema.properties[i].markdownDescription=`${t} $(${i})`;const f=this.iconReferenceSchema.enum.indexOf(i);f!==-1&&(this.iconReferenceSchema.enumDescriptions[f]=t),this._onDidChange.fire()}return h}let m={id:i,description:t,defaults:n,deprecationMessage:l};this.iconsById[i]=m;let _={$ref:"#/definitions/icons"};return l&&(_.deprecationMessage=l),t&&(_.markdownDescription=`${t}: $(${i})`),this.iconSchema.properties[i]=_,this.iconReferenceSchema.enum.push(i),this.iconReferenceSchema.enumDescriptions.push(t||""),this._onDidChange.fire(),{id:i}}getIcons(){return Object.keys(this.iconsById).map(i=>this.iconsById[i])}getIcon(i){return this.iconsById[i]}getIconSchema(){return this.iconSchema}getIconFont(i){return this.iconFontsById[i]}toString(){const i=(h,m)=>h.id.localeCompare(m.id),n=h=>{for(;N.ThemeIcon.isThemeIcon(h.defaults);)h=this.iconsById[h.defaults.id];return`codicon codicon-${h?h.id:""}`};let t=[];t.push("| preview | identifier | default codicon ID | description"),t.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const l=Object.keys(this.iconsById).map(h=>this.iconsById[h]);for(const h of l.filter(m=>!!m.description).sort(i))t.push(`||${h.id}|${N.ThemeIcon.isThemeIcon(h.defaults)?h.defaults.id:h.id}|${h.description||""}|`);t.push("| preview | identifier "),t.push("| ----------- | --------------------------------- |");for(const h of l.filter(m=>!N.ThemeIcon.isThemeIcon(m.defaults)).sort(i))t.push(`||${h.id}|`);return t.join(` +`)}}const p=new g;b.Registry.add(e.Extensions.IconContribution,p);function c(r,i,n,t){return p.registerIcon(r,i,n,t)}e.registerIcon=c;function o(){return p}e.getIconRegistry=o;function s(){for(const r of d.iconRegistry.all)p.registerIcon(r.id,r.definition,r.description);d.iconRegistry.onDidRegister(r=>p.registerIcon(r.id,r.definition,r.description))}s(),e.iconsSchemaId="vscode://schemas/icons";let a=b.Registry.as(S.Extensions.JSONContribution);a.registerSchema(e.iconsSchemaId,p.getIconSchema());const u=new C.RunOnceScheduler(()=>a.notifySchemaChanged(e.iconsSchemaId),200);p.onDidChange(()=>{u.isScheduled()||u.schedule()}),e.widgetClose=c("widget-close",d.Codicon.close,w.localize(2,null))}),define(Q[656],J([0,1,450,7,30,83,61,48,2,69,13,28,38,113,14,49,129,63,16,22,11,27,80,333]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m){"use strict";var _;Object.defineProperty(e,"__esModule",{value:!0}),e.DiffReview=void 0;const f=3;class v{constructor(F,D,R,W){this.originalLineStart=F,this.originalLineEnd=D,this.modifiedLineStart=R,this.modifiedLineEnd=W}getType(){return this.originalLineStart===0?1:this.modifiedLineStart===0?2:0}}class y{constructor(F){this.entries=F}}const L=m.registerIcon("diff-review-insert",h.Codicon.add,b.localize(0,null)),I=m.registerIcon("diff-review-remove",h.Codicon.remove,b.localize(1,null)),k=m.registerIcon("diff-review-close",h.Codicon.close,b.localize(2,null));class E extends d.Disposable{constructor(F){super();this._width=0,this._diffEditor=F,this._isVisible=!1,this.shadow=M.createFastDomNode(document.createElement("div")),this.shadow.setClassName("diff-review-shadow"),this.actionBarContainer=M.createFastDomNode(document.createElement("div")),this.actionBarContainer.setClassName("diff-review-actions"),this._actionBar=this._register(new w.ActionBar(this.actionBarContainer.domNode)),this._actionBar.push(new C.Action("diffreview.close",b.localize(3,null),"close-diff-review "+l.ThemeIcon.asClassName(k),!0,()=>(this.hide(),Promise.resolve(null))),{label:!1,icon:!0}),this.domNode=M.createFastDomNode(document.createElement("div")),this.domNode.setClassName("diff-review monaco-editor-background"),this._content=M.createFastDomNode(document.createElement("div")),this._content.setClassName("diff-review-content"),this._content.setAttribute("role","code"),this.scrollbar=this._register(new S.DomScrollableElement(this._content.domNode,{})),this.domNode.domNode.appendChild(this.scrollbar.getDomNode()),this._register(F.onDidUpdateDiff(()=>{!this._isVisible||(this._diffs=this._compute(),this._render())})),this._register(F.getModifiedEditor().onDidChangeCursorPosition(()=>{!this._isVisible||this._render()})),this._register(N.addStandardDisposableListener(this.domNode.domNode,"click",D=>{D.preventDefault();let R=N.findParentWithClass(D.target,"diff-review-row");R&&this._goToRow(R)})),this._register(N.addStandardDisposableListener(this.domNode.domNode,"keydown",D=>{(D.equals(18)||D.equals(2048|18)||D.equals(512|18))&&(D.preventDefault(),this._goToRow(this._getNextRow())),(D.equals(16)||D.equals(2048|16)||D.equals(512|16))&&(D.preventDefault(),this._goToRow(this._getPrevRow())),(D.equals(9)||D.equals(2048|9)||D.equals(512|9)||D.equals(1024|9))&&(D.preventDefault(),this.hide()),(D.equals(10)||D.equals(3))&&(D.preventDefault(),this.accept())})),this._diffs=[],this._currentDiff=null}prev(){let F=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let R=-1;for(let W=0,x=this._diffs.length;W0){const te=F[se-1];te.originalEndLineNumber===0?oe=te.originalStartLineNumber+1:oe=te.originalEndLineNumber+1,te.modifiedEndLineNumber===0?ae=te.modifiedStartLineNumber+1:ae=te.modifiedEndLineNumber+1}let G=$-f+1,j=ie-f+1;if(Goe){const te=oe-G;G=G+te,j=j+te}if(j>ae){const te=ae-j;G=G+te,j=j+te}U[H++]=new v($,G,ie,j)}W[x++]=new y(U)}let K=W[0].entries,Y=[],ee=0;for(let se=1,ne=W.length;sele)&&(le=he),re!==0&&(X===0||rez)&&(z=ce)}let P=document.createElement("div");P.className="diff-review-row";let V=document.createElement("div");V.className="diff-review-cell diff-review-summary";const U=le-ne+1,H=z-X+1;V.appendChild(document.createTextNode(`${Y+1}/${this._diffs.length}: @@ -${ne},${U} +${X},${H} @@`)),P.setAttribute("data-line",String(X));const $=j=>j===0?b.localize(4,null):j===1?b.localize(5,null):b.localize(6,null,j),ie=$(U),oe=$(H);P.setAttribute("aria-label",b.localize(7,null,Y+1,this._diffs.length,ne,ie,X,oe)),P.appendChild(V),P.setAttribute("role","listitem"),se.appendChild(P);const ae=D.get(53);let G=X;for(let j=0,te=ee.length;j>>0,ee=new Uint32Array(2);ee[0]=x.length,ee[1]=Y;const se=new s.LineTokens(ee,x),ne=i.ViewLineRenderingData.isBasicASCII(x,F.mightContainNonBasicASCII()),le=i.ViewLineRenderingData.containsRTL(x,ne,F.mightContainRTL());return r.renderViewLine2(new r.RenderLineInput(K.isMonospace&&!D.get(26),K.canUseHalfwidthRightwardsArrow,x,!1,ne,le,0,se,[],R,0,K.spaceWidth,K.middotWidth,K.wsmiddotWidth,D.get(100),D.get(83),D.get(77),D.get(39)!==o.EditorFontLigatures.OFF,null)).html}}e.DiffReview=E,E._ttPolicy=(_=window.trustedTypes)===null||_===void 0?void 0:_.createPolicy("diffReview",{createHTML:B=>B}),l.registerThemingParticipant((B,F)=>{const D=B.getColor(u.editorLineNumbers);D&&F.addRule(`.monaco-diff-editor .diff-review-line-number { color: ${D}; }`);const R=B.getColor(t.scrollbarShadow);R&&F.addRule(`.monaco-diff-editor .diff-review-shadow { box-shadow: ${R} 0 -6px 6px -6px inset; }`)});class T extends p.EditorAction{constructor(){super({id:"editor.action.diffReview.next",label:b.localize(13,null),alias:"Go to Next Difference",precondition:n.ContextKeyExpr.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:65,weight:100}})}run(F,D){const R=A(F);R&&R.diffReviewNext()}}class O extends p.EditorAction{constructor(){super({id:"editor.action.diffReview.prev",label:b.localize(14,null),alias:"Go to Previous Difference",precondition:n.ContextKeyExpr.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:1024|65,weight:100}})}run(F,D){const R=A(F);R&&R.diffReviewPrev()}}function A(B){const F=B.get(c.ICodeEditorService),D=F.listDiffEditors(),R=F.getActiveCodeEditor();if(!R)return null;for(let W=0,x=D.length;W!this._zonesMap[String(ce.id)])}clean(re){this._zones.length>0&&re.changeViewZones(ce=>{for(const me of this._zones)ce.removeZone(me)}),this._zones=[],this._zonesMap={},this._decorations=re.deltaDecorations(this._decorations,[])}apply(re,ce,me,Ce){const be=Ce?p.StableEditorScrollState.capture(re):null;re.changeViewZones(Le=>{for(const De of this._zones)Le.removeZone(De);for(const De of this._inlineDiffMargins)De.dispose();this._zones=[],this._zonesMap={},this._inlineDiffMargins=[];for(let De=0,Re=me.zones.length;Dehe});let X=class Ge extends d.Disposable{constructor(re,ce,me,Ce,be,Le,De,Re,Ee,Ae,Se,we){super();this._editorProgressService=we,this._onDidDispose=this._register(new C.Emitter),this.onDidDispose=this._onDidDispose.event,this._onDidUpdateDiff=this._register(new C.Emitter),this.onDidUpdateDiff=this._onDidUpdateDiff.event,this._onDidContentSizeChange=this._register(new C.Emitter),this._lastOriginalWarning=null,this._lastModifiedWarning=null,this._editorWorkerService=be,this._codeEditorService=Re,this._contextKeyService=this._register(Le.createScoped(re)),this._instantiationService=De.createChild(new y.ServiceCollection([f.IContextKeyService,this._contextKeyService])),this._contextKeyService.createKey("isInDiffEditor",!0),this._themeService=Ee,this._notificationService=Ae,this._id=++ee,this._state=0,this._updatingDiffProgress=null,this._domElement=re,ce=ce||{},this._renderSideBySide=!0,typeof ce.renderSideBySide!="undefined"&&(this._renderSideBySide=ce.renderSideBySide),this._maxComputationTime=5e3,typeof ce.maxComputationTime!="undefined"&&(this._maxComputationTime=ce.maxComputationTime),this._ignoreTrimWhitespace=!0,typeof ce.ignoreTrimWhitespace!="undefined"&&(this._ignoreTrimWhitespace=ce.ignoreTrimWhitespace),this._renderIndicators=!0,typeof ce.renderIndicators!="undefined"&&(this._renderIndicators=ce.renderIndicators),this._originalIsEditable=a.boolean(ce.originalEditable,!1),this._diffCodeLens=a.boolean(ce.diffCodeLens,!1),this._diffWordWrap=G(ce.diffWordWrap,"inherit"),typeof ce.isInEmbeddedEditor!="undefined"?this._contextKeyService.createKey("isInEmbeddedDiffEditor",ce.isInEmbeddedEditor):this._contextKeyService.createKey("isInEmbeddedDiffEditor",!1),this._renderOverviewRuler=!0,typeof ce.renderOverviewRuler!="undefined"&&(this._renderOverviewRuler=Boolean(ce.renderOverviewRuler)),this._updateDecorationsRunner=this._register(new S.RunOnceScheduler(()=>this._updateDecorations(),0)),this._containerDomElement=document.createElement("div"),this._containerDomElement.className=Ge._getClassName(this._themeService.getColorTheme(),this._renderSideBySide),this._containerDomElement.style.position="relative",this._containerDomElement.style.height="100%",this._domElement.appendChild(this._containerDomElement),this._overviewViewportDomElement=M.createFastDomNode(document.createElement("div")),this._overviewViewportDomElement.setClassName("diffViewport"),this._overviewViewportDomElement.setPosition("absolute"),this._overviewDomElement=document.createElement("div"),this._overviewDomElement.className="diffOverview",this._overviewDomElement.style.position="absolute",this._overviewDomElement.appendChild(this._overviewViewportDomElement.domNode),this._register(N.addStandardDisposableListener(this._overviewDomElement,"mousedown",fe=>{this._modifiedEditor.delegateVerticalScrollbarMouseDown(fe)})),this._renderOverviewRuler&&this._containerDomElement.appendChild(this._overviewDomElement),this._originalDomNode=document.createElement("div"),this._originalDomNode.className="editor original",this._originalDomNode.style.position="absolute",this._originalDomNode.style.height="100%",this._containerDomElement.appendChild(this._originalDomNode),this._modifiedDomNode=document.createElement("div"),this._modifiedDomNode.className="editor modified",this._modifiedDomNode.style.position="absolute",this._modifiedDomNode.style.height="100%",this._containerDomElement.appendChild(this._modifiedDomNode),this._beginUpdateDecorationsTimeout=-1,this._currentlyChangingViewZones=!1,this._diffComputationToken=0,this._originalEditorState=new Y(Se,Ce),this._modifiedEditorState=new Y(Se,Ce),this._isVisible=!0,this._isHandlingScrollEvent=!1,this._elementSizeObserver=this._register(new D.ElementSizeObserver(this._containerDomElement,ce.dimension,()=>this._onDidContainerSizeChanged())),ce.automaticLayout&&this._elementSizeObserver.startObserving(),this._diffComputationResult=null,this._originalEditor=this._createLeftHandSideEditor(ce,me.originalEditor||{}),this._modifiedEditor=this._createRightHandSideEditor(ce,me.modifiedEditor||{}),this._originalOverviewRuler=null,this._modifiedOverviewRuler=null,this._reviewPane=new s.DiffReview(this),this._containerDomElement.appendChild(this._reviewPane.domNode.domNode),this._containerDomElement.appendChild(this._reviewPane.shadow.domNode),this._containerDomElement.appendChild(this._reviewPane.actionBarContainer.domNode),this._enableSplitViewResizing=!0,typeof ce.enableSplitViewResizing!="undefined"&&(this._enableSplitViewResizing=ce.enableSplitViewResizing),this._renderSideBySide?this._setStrategy(new $(this._createDataSource(),this._enableSplitViewResizing)):this._setStrategy(new oe(this._createDataSource(),this._enableSplitViewResizing)),this._register(Ee.onDidColorThemeChange(fe=>{this._strategy&&this._strategy.applyColors(fe)&&this._updateDecorationsRunner.schedule(),this._containerDomElement.className=Ge._getClassName(this._themeService.getColorTheme(),this._renderSideBySide)}));const ye=A.EditorExtensionsRegistry.getDiffEditorContributions();for(const fe of ye)try{this._register(De.createInstance(fe.ctor,this))}catch(de){B.onUnexpectedError(de)}this._codeEditorService.addDiffEditor(this)}_setState(re){this._state!==re&&(this._state=re,this._updatingDiffProgress&&(this._updatingDiffProgress.done(),this._updatingDiffProgress=null),this._state===1&&(this._updatingDiffProgress=this._editorProgressService.show(!0,1e3)))}diffReviewNext(){this._reviewPane.next()}diffReviewPrev(){this._reviewPane.prev()}static _getClassName(re,ce){let me="monaco-diff-editor monaco-editor-background ";return ce&&(me+="side-by-side "),me+=k.getThemeTypeSelector(re.type),me}_recreateOverviewRulers(){!this._renderOverviewRuler||(this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._originalEditor.hasModel()&&(this._originalOverviewRuler=this._originalEditor.createOverviewRuler("original diffOverviewRuler"),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode())),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._modifiedEditor.hasModel()&&(this._modifiedOverviewRuler=this._modifiedEditor.createOverviewRuler("modified diffOverviewRuler"),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode())),this._layoutOverviewRulers())}_createLeftHandSideEditor(re,ce){const me=this._createInnerEditor(this._instantiationService,this._originalDomNode,this._adjustOptionsForLeftHandSide(re),ce);this._register(me.onDidScrollChange(be=>{this._isHandlingScrollEvent||!be.scrollTopChanged&&!be.scrollLeftChanged&&!be.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._modifiedEditor.setScrollPosition({scrollLeft:be.scrollLeft,scrollTop:be.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(me.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(me.onDidChangeConfiguration(be=>{!me.getModel()||(be.hasChanged(38)&&this._updateDecorationsRunner.schedule(),be.hasChanged(125)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(me.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()}));const Ce=this._contextKeyService.createKey("isInDiffLeftEditor",me.hasWidgetFocus());return this._register(me.onDidFocusEditorWidget(()=>Ce.set(!0))),this._register(me.onDidBlurEditorWidget(()=>Ce.set(!1))),this._register(me.onDidContentSizeChange(be=>{const Le=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+Ge.ONE_OVERVIEW_WIDTH,De=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:De,contentWidth:Le,contentHeightChanged:be.contentHeightChanged,contentWidthChanged:be.contentWidthChanged})})),me}_createRightHandSideEditor(re,ce){const me=this._createInnerEditor(this._instantiationService,this._modifiedDomNode,this._adjustOptionsForRightHandSide(re),ce);this._register(me.onDidScrollChange(be=>{this._isHandlingScrollEvent||!be.scrollTopChanged&&!be.scrollLeftChanged&&!be.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._originalEditor.setScrollPosition({scrollLeft:be.scrollLeft,scrollTop:be.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(me.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(me.onDidChangeConfiguration(be=>{!me.getModel()||(be.hasChanged(38)&&this._updateDecorationsRunner.schedule(),be.hasChanged(125)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(me.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()})),this._register(me.onDidChangeModelOptions(be=>{be.tabSize&&this._updateDecorationsRunner.schedule()}));const Ce=this._contextKeyService.createKey("isInDiffRightEditor",me.hasWidgetFocus());return this._register(me.onDidFocusEditorWidget(()=>Ce.set(!0))),this._register(me.onDidBlurEditorWidget(()=>Ce.set(!1))),this._register(me.onDidContentSizeChange(be=>{const Le=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+Ge.ONE_OVERVIEW_WIDTH,De=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:De,contentWidth:Le,contentHeightChanged:be.contentHeightChanged,contentWidthChanged:be.contentWidthChanged})})),me}_createInnerEditor(re,ce,me,Ce){return re.createInstance(o.CodeEditorWidget,ce,me,Ce)}dispose(){this._codeEditorService.removeDiffEditor(this),this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._renderOverviewRuler&&this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this._originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this._modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),super.dispose()}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return i.EditorType.IDiffEditor}getLineChanges(){return this._diffComputationResult?this._diffComputationResult.changes:null}getOriginalEditor(){return this._originalEditor}getModifiedEditor(){return this._modifiedEditor}updateOptions(re){let ce=!1;typeof re.renderSideBySide!="undefined"&&this._renderSideBySide!==re.renderSideBySide&&(this._renderSideBySide=re.renderSideBySide,ce=!0),typeof re.maxComputationTime!="undefined"&&(this._maxComputationTime=re.maxComputationTime,this._isVisible&&this._beginUpdateDecorationsSoon());let me=!1;typeof re.ignoreTrimWhitespace!="undefined"&&this._ignoreTrimWhitespace!==re.ignoreTrimWhitespace&&(this._ignoreTrimWhitespace=re.ignoreTrimWhitespace,me=!0),typeof re.renderIndicators!="undefined"&&this._renderIndicators!==re.renderIndicators&&(this._renderIndicators=re.renderIndicators,me=!0),me&&this._beginUpdateDecorations(),this._originalIsEditable=a.boolean(re.originalEditable,this._originalIsEditable),this._diffCodeLens=a.boolean(re.diffCodeLens,this._diffCodeLens),this._diffWordWrap=G(re.diffWordWrap,this._diffWordWrap),this._modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(re)),this._originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(re)),typeof re.enableSplitViewResizing!="undefined"&&(this._enableSplitViewResizing=re.enableSplitViewResizing),this._strategy.setEnableSplitViewResizing(this._enableSplitViewResizing),ce&&(this._renderSideBySide?this._setStrategy(new $(this._createDataSource(),this._enableSplitViewResizing)):this._setStrategy(new oe(this._createDataSource(),this._enableSplitViewResizing)),this._containerDomElement.className=Ge._getClassName(this._themeService.getColorTheme(),this._renderSideBySide)),typeof re.renderOverviewRuler!="undefined"&&this._renderOverviewRuler!==re.renderOverviewRuler&&(this._renderOverviewRuler=re.renderOverviewRuler,this._renderOverviewRuler?this._containerDomElement.appendChild(this._overviewDomElement):this._containerDomElement.removeChild(this._overviewDomElement))}getModel(){return{original:this._originalEditor.getModel(),modified:this._modifiedEditor.getModel()}}setModel(re){if(re&&(!re.original||!re.modified))throw new Error(re.original?"DiffEditorWidget.setModel: Modified model is null":"DiffEditorWidget.setModel: Original model is null");this._cleanViewZonesAndDecorations(),this._originalEditor.setModel(re?re.original:null),this._modifiedEditor.setModel(re?re.modified:null),this._updateDecorationsRunner.cancel(),re&&(this._originalEditor.setScrollTop(0),this._modifiedEditor.setScrollTop(0)),this._diffComputationResult=null,this._diffComputationToken++,this._setState(0),re&&(this._recreateOverviewRulers(),this._beginUpdateDecorations()),this._layoutOverviewViewport()}getDomNode(){return this._domElement}getVisibleColumnFromPosition(re){return this._modifiedEditor.getVisibleColumnFromPosition(re)}getPosition(){return this._modifiedEditor.getPosition()}setPosition(re){this._modifiedEditor.setPosition(re)}revealLine(re,ce=0){this._modifiedEditor.revealLine(re,ce)}revealLineInCenter(re,ce=0){this._modifiedEditor.revealLineInCenter(re,ce)}revealLineInCenterIfOutsideViewport(re,ce=0){this._modifiedEditor.revealLineInCenterIfOutsideViewport(re,ce)}revealLineNearTop(re,ce=0){this._modifiedEditor.revealLineNearTop(re,ce)}revealPosition(re,ce=0){this._modifiedEditor.revealPosition(re,ce)}revealPositionInCenter(re,ce=0){this._modifiedEditor.revealPositionInCenter(re,ce)}revealPositionInCenterIfOutsideViewport(re,ce=0){this._modifiedEditor.revealPositionInCenterIfOutsideViewport(re,ce)}revealPositionNearTop(re,ce=0){this._modifiedEditor.revealPositionNearTop(re,ce)}getSelection(){return this._modifiedEditor.getSelection()}getSelections(){return this._modifiedEditor.getSelections()}setSelection(re){this._modifiedEditor.setSelection(re)}setSelections(re){this._modifiedEditor.setSelections(re)}revealLines(re,ce,me=0){this._modifiedEditor.revealLines(re,ce,me)}revealLinesInCenter(re,ce,me=0){this._modifiedEditor.revealLinesInCenter(re,ce,me)}revealLinesInCenterIfOutsideViewport(re,ce,me=0){this._modifiedEditor.revealLinesInCenterIfOutsideViewport(re,ce,me)}revealLinesNearTop(re,ce,me=0){this._modifiedEditor.revealLinesNearTop(re,ce,me)}revealRange(re,ce=0,me=!1,Ce=!0){this._modifiedEditor.revealRange(re,ce,me,Ce)}revealRangeInCenter(re,ce=0){this._modifiedEditor.revealRangeInCenter(re,ce)}revealRangeInCenterIfOutsideViewport(re,ce=0){this._modifiedEditor.revealRangeInCenterIfOutsideViewport(re,ce)}revealRangeNearTop(re,ce=0){this._modifiedEditor.revealRangeNearTop(re,ce)}revealRangeNearTopIfOutsideViewport(re,ce=0){this._modifiedEditor.revealRangeNearTopIfOutsideViewport(re,ce)}revealRangeAtTop(re,ce=0){this._modifiedEditor.revealRangeAtTop(re,ce)}getSupportedActions(){return this._modifiedEditor.getSupportedActions()}saveViewState(){const re=this._originalEditor.saveViewState(),ce=this._modifiedEditor.saveViewState();return{original:re,modified:ce}}restoreViewState(re){if(re&&re.original&&re.modified){const ce=re;this._originalEditor.restoreViewState(ce.original),this._modifiedEditor.restoreViewState(ce.modified)}}layout(re){this._elementSizeObserver.observe(re)}focus(){this._modifiedEditor.focus()}hasTextFocus(){return this._originalEditor.hasTextFocus()||this._modifiedEditor.hasTextFocus()}trigger(re,ce,me){this._modifiedEditor.trigger(re,ce,me)}changeDecorations(re){return this._modifiedEditor.changeDecorations(re)}_onDidContainerSizeChanged(){this._doLayout()}_getReviewHeight(){return this._reviewPane.isVisible()?this._elementSizeObserver.getHeight():0}_layoutOverviewRulers(){if(!!this._renderOverviewRuler&&!(!this._originalOverviewRuler||!this._modifiedOverviewRuler)){const re=this._elementSizeObserver.getHeight(),ce=this._getReviewHeight(),me=Ge.ENTIRE_DIFF_OVERVIEW_WIDTH-2*Ge.ONE_OVERVIEW_WIDTH;this._modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:Ge.ONE_OVERVIEW_WIDTH,right:me+Ge.ONE_OVERVIEW_WIDTH,height:re-ce}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:Ge.ONE_OVERVIEW_WIDTH,height:re-ce}))}}_onViewZonesChanged(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()}_beginUpdateDecorationsSoon(){this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout(()=>this._beginUpdateDecorations(),Ge.UPDATE_DIFF_DECORATIONS_DELAY)}static _equals(re,ce){return!re&&!ce?!0:!re||!ce?!1:re.toString()===ce.toString()}_beginUpdateDecorations(){this._beginUpdateDecorationsTimeout=-1;const re=this._originalEditor.getModel(),ce=this._modifiedEditor.getModel();if(!(!re||!ce)){this._diffComputationToken++;const me=this._diffComputationToken;if(this._setState(1),!this._editorWorkerService.canComputeDiff(re.uri,ce.uri)){(!Ge._equals(re.uri,this._lastOriginalWarning)||!Ge._equals(ce.uri,this._lastModifiedWarning))&&(this._lastOriginalWarning=re.uri,this._lastModifiedWarning=ce.uri,this._notificationService.warn(b.localize(2,null)));return}this._editorWorkerService.computeDiff(re.uri,ce.uri,this._ignoreTrimWhitespace,this._maxComputationTime).then(Ce=>{me===this._diffComputationToken&&re===this._originalEditor.getModel()&&ce===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=Ce,this._updateDecorationsRunner.schedule(),this._onDidUpdateDiff.fire())},Ce=>{me===this._diffComputationToken&&re===this._originalEditor.getModel()&&ce===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=null,this._updateDecorationsRunner.schedule())})}}_cleanViewZonesAndDecorations(){this._originalEditorState.clean(this._originalEditor),this._modifiedEditorState.clean(this._modifiedEditor)}_updateDecorations(){if(!(!this._originalEditor.getModel()||!this._modifiedEditor.getModel())){const re=this._diffComputationResult?this._diffComputationResult.changes:[],ce=this._originalEditorState.getForeignViewZones(this._originalEditor.getWhitespaces()),me=this._modifiedEditorState.getForeignViewZones(this._modifiedEditor.getWhitespaces()),Ce=this._strategy.getEditorsDiffDecorations(re,this._ignoreTrimWhitespace,this._renderIndicators,ce,me);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this._originalEditor,this._originalOverviewRuler,Ce.original,!1),this._modifiedEditorState.apply(this._modifiedEditor,this._modifiedOverviewRuler,Ce.modified,!0)}finally{this._currentlyChangingViewZones=!1}}}_adjustOptionsForSubEditor(re){const ce=Object.assign({},re);return ce.inDiffEditor=!0,ce.automaticLayout=!1,ce.scrollbar=Object.assign({},ce.scrollbar||{}),ce.scrollbar.vertical="visible",ce.folding=!1,ce.codeLens=this._diffCodeLens,ce.fixedOverflowWidgets=!0,ce.minimap=Object.assign({},ce.minimap||{}),ce.minimap.enabled=!1,ce}_adjustOptionsForLeftHandSide(re){const ce=this._adjustOptionsForSubEditor(re);return this._renderSideBySide?ce.wordWrapOverride1=this._diffWordWrap:ce.wordWrapOverride1="off",re.originalAriaLabel&&(ce.ariaLabel=re.originalAriaLabel),ce.readOnly=!this._originalIsEditable,ce.extraEditorClassName="original-in-monaco-diff-editor",Object.assign(Object.assign({},ce),{dimension:{height:0,width:0}})}_adjustOptionsForRightHandSide(re){const ce=this._adjustOptionsForSubEditor(re);return re.modifiedAriaLabel&&(ce.ariaLabel=re.modifiedAriaLabel),ce.wordWrapOverride1=this._diffWordWrap,ce.revealHorizontalRightPadding=a.EditorOptions.revealHorizontalRightPadding.defaultValue+Ge.ENTIRE_DIFF_OVERVIEW_WIDTH,ce.scrollbar.verticalHasArrows=!1,ce.extraEditorClassName="modified-in-monaco-diff-editor",Object.assign(Object.assign({},ce),{dimension:{height:0,width:0}})}doLayout(){this._elementSizeObserver.observe(),this._doLayout()}_doLayout(){const re=this._elementSizeObserver.getWidth(),ce=this._elementSizeObserver.getHeight(),me=this._getReviewHeight(),Ce=this._strategy.layout();this._originalDomNode.style.width=Ce+"px",this._originalDomNode.style.left="0px",this._modifiedDomNode.style.width=re-Ce+"px",this._modifiedDomNode.style.left=Ce+"px",this._overviewDomElement.style.top="0px",this._overviewDomElement.style.height=ce-me+"px",this._overviewDomElement.style.width=Ge.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewDomElement.style.left=re-Ge.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewViewportDomElement.setWidth(Ge.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this._originalEditor.layout({width:Ce,height:ce-me}),this._modifiedEditor.layout({width:re-Ce-(this._renderOverviewRuler?Ge.ENTIRE_DIFF_OVERVIEW_WIDTH:0),height:ce-me}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(ce-me,re,me),this._layoutOverviewViewport()}_layoutOverviewViewport(){const re=this._computeOverviewViewport();re?(this._overviewViewportDomElement.setTop(re.top),this._overviewViewportDomElement.setHeight(re.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))}_computeOverviewViewport(){const re=this._modifiedEditor.getLayoutInfo();if(!re)return null;const ce=this._modifiedEditor.getScrollTop(),me=this._modifiedEditor.getScrollHeight(),Ce=Math.max(0,re.height),be=Math.max(0,Ce-2*0),Le=me>0?be/me:0,De=Math.max(0,Math.floor(re.height*Le)),Re=Math.floor(ce*Le);return{height:De,top:Re}}_createDataSource(){return{getWidth:()=>this._elementSizeObserver.getWidth(),getHeight:()=>this._elementSizeObserver.getHeight()-this._getReviewHeight(),getOptions:()=>({renderOverviewRuler:this._renderOverviewRuler}),getContainerDomNode:()=>this._containerDomElement,relayoutEditors:()=>{this._doLayout()},getOriginalEditor:()=>this._originalEditor,getModifiedEditor:()=>this._modifiedEditor}}_setStrategy(re){this._strategy&&this._strategy.dispose(),this._strategy=re,re.applyColors(this._themeService.getColorTheme()),this._diffComputationResult&&this._updateDecorations(),this._doLayout()}_getLineChangeAtOrBeforeLineNumber(re,ce){const me=this._diffComputationResult?this._diffComputationResult.changes:[];if(me.length===0||re=Re?Ce=Le+1:(Ce=Le,be=Le)}return me[Ce]}_getEquivalentLineForOriginalLineNumber(re){const ce=this._getLineChangeAtOrBeforeLineNumber(re,Re=>Re.originalStartLineNumber);if(!ce)return re;const me=ce.originalStartLineNumber+(ce.originalEndLineNumber>0?-1:0),Ce=ce.modifiedStartLineNumber+(ce.modifiedEndLineNumber>0?-1:0),be=ce.originalEndLineNumber>0?ce.originalEndLineNumber-ce.originalStartLineNumber+1:0,Le=ce.modifiedEndLineNumber>0?ce.modifiedEndLineNumber-ce.modifiedStartLineNumber+1:0,De=re-me;return De<=be?Ce+Math.min(De,Le):Ce+Le-be+De}_getEquivalentLineForModifiedLineNumber(re){const ce=this._getLineChangeAtOrBeforeLineNumber(re,Re=>Re.modifiedStartLineNumber);if(!ce)return re;const me=ce.originalStartLineNumber+(ce.originalEndLineNumber>0?-1:0),Ce=ce.modifiedStartLineNumber+(ce.modifiedEndLineNumber>0?-1:0),be=ce.originalEndLineNumber>0?ce.originalEndLineNumber-ce.originalStartLineNumber+1:0,Le=ce.modifiedEndLineNumber>0?ce.modifiedEndLineNumber-ce.modifiedStartLineNumber+1:0,De=re-Ce;return De<=Le?me+Math.min(De,be):me+be-Le+De}getDiffLineInformationForOriginal(re){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(re)}:null}getDiffLineInformationForModified(re){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(re)}:null}};X.ONE_OVERVIEW_WIDTH=15,X.ENTIRE_DIFF_OVERVIEW_WIDTH=30,X.UPDATE_DIFF_DECORATIONS_DELAY=200,X=Me([_e(3,O.IClipboardService),_e(4,t.IEditorWorkerService),_e(5,f.IContextKeyService),_e(6,v.IInstantiationService),_e(7,c.ICodeEditorService),_e(8,k.IThemeService),_e(9,L.INotificationService),_e(10,E.IContextMenuService),_e(11,F.IEditorProgressService)],X),e.DiffEditorWidget=X;class z extends d.Disposable{constructor(re){super();this._dataSource=re,this._insertColor=null,this._removeColor=null}applyColors(re){const ce=(re.getColor(I.diffInserted)||I.defaultInsertColor).transparent(2),me=(re.getColor(I.diffRemoved)||I.defaultRemoveColor).transparent(2),Ce=!ce.equals(this._insertColor)||!me.equals(this._removeColor);return this._insertColor=ce,this._removeColor=me,Ce}getEditorsDiffDecorations(re,ce,me,Ce,be){be=be.sort((Ee,Ae)=>Ee.afterLineNumber-Ae.afterLineNumber),Ce=Ce.sort((Ee,Ae)=>Ee.afterLineNumber-Ae.afterLineNumber);const Le=this._getViewZones(re,Ce,be,me),De=this._getOriginalEditorDecorations(re,ce,me),Re=this._getModifiedEditorDecorations(re,ce,me);return{original:{decorations:De.decorations,overviewZones:De.overviewZones,zones:Le.original},modified:{decorations:Re.decorations,overviewZones:Re.overviewZones,zones:Le.modified}}}}class P{constructor(re){this._source=re,this._index=-1,this.current=null,this.advance()}advance(){this._index++,this._indexOe.afterLineNumber-Fe.afterLineNumber,pe=(Oe,Fe)=>{if(Fe.domNode===null&&Oe.length>0){const Pe=Oe[Oe.length-1];if(Pe.afterLineNumber===Fe.afterLineNumber&&Pe.domNode===null){Pe.heightInLines+=Fe.heightInLines;return}}Oe.push(Fe)},ve=new P(this._modifiedForeignVZ),ke=new P(this._originalForeignVZ);let Ne=1,Te=1;for(let Oe=0,Fe=this._lineChanges.length;Oe<=Fe;Oe++){const Pe=Oe0?-1:0),ye=Pe.modifiedStartLineNumber+(Pe.modifiedEndLineNumber>0?-1:0),Se=Pe.originalEndLineNumber>0?V._getViewLineCount(this._originalEditor,Pe.originalStartLineNumber,Pe.originalEndLineNumber):0,Ae=Pe.modifiedEndLineNumber>0?V._getViewLineCount(this._modifiedEditor,Pe.modifiedStartLineNumber,Pe.modifiedEndLineNumber):0,fe=Math.max(Pe.originalStartLineNumber,Pe.originalEndLineNumber),de=Math.max(Pe.modifiedStartLineNumber,Pe.modifiedEndLineNumber)):(we+=1e7+Se,ye+=1e7+Ae,fe=we,de=ye);let xe=[],We=[];if(be){let Be;Pe?Pe.originalEndLineNumber>0?Be=Pe.originalStartLineNumber-Ne:Be=Pe.modifiedStartLineNumber-Te:Be=Le.getLineCount()-Ne;for(let He=0;Heje&&We.push({afterLineNumber:Ue,heightInLines:Ye-je,domNode:null,marginDomNode:null})}Pe&&(Ne=(Pe.originalEndLineNumber>0?Pe.originalEndLineNumber:Pe.originalStartLineNumber)+1,Te=(Pe.modifiedEndLineNumber>0?Pe.modifiedEndLineNumber:Pe.modifiedStartLineNumber)+1)}for(;ve.current&&ve.current.afterLineNumber<=de;){let Be;ve.current.afterLineNumber<=ye?Be=we-ye+ve.current.afterLineNumber:Be=fe;let He=null;Pe&&Pe.modifiedStartLineNumber<=ve.current.afterLineNumber&&ve.current.afterLineNumber<=Pe.modifiedEndLineNumber&&(He=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),xe.push({afterLineNumber:Be,heightInLines:ve.current.height/ce,domNode:null,marginDomNode:He}),ve.advance()}for(;ke.current&&ke.current.afterLineNumber<=fe;){let Be;ke.current.afterLineNumber<=we?Be=ye-we+ke.current.afterLineNumber:Be=de,We.push({afterLineNumber:Be,heightInLines:ke.current.height/re,domNode:null}),ke.advance()}if(Pe!==null&&j(Pe)){const Be=this._produceOriginalFromDiff(Pe,Se,Ae);Be&&xe.push(Be)}if(Pe!==null&&te(Pe)){const Be=this._produceModifiedFromDiff(Pe,Se,Ae);Be&&We.push(Be)}let ze=0,Ke=0;for(xe=xe.sort(ge),We=We.sort(ge);ze=He.heightInLines?(Be.heightInLines-=He.heightInLines,Ke++):(He.heightInLines-=Be.heightInLines,ze++)}for(;ze(ce.domNode||(ce.domNode=Z()),ce))}}function U(he,re,ce,me,Ce){return{range:new u.Range(he,re,ce,me),options:Ce}}const H={charDelete:n.ModelDecorationOptions.register({className:"char-delete"}),charDeleteWholeLine:n.ModelDecorationOptions.register({className:"char-delete",isWholeLine:!0}),charInsert:n.ModelDecorationOptions.register({className:"char-insert"}),charInsertWholeLine:n.ModelDecorationOptions.register({className:"char-insert",isWholeLine:!0}),lineInsert:n.ModelDecorationOptions.register({className:"line-insert",marginClassName:"line-insert",isWholeLine:!0}),lineInsertWithSign:n.ModelDecorationOptions.register({className:"line-insert",linesDecorationsClassName:"insert-sign "+k.ThemeIcon.asClassName(se),marginClassName:"line-insert",isWholeLine:!0}),lineDelete:n.ModelDecorationOptions.register({className:"line-delete",marginClassName:"line-delete",isWholeLine:!0}),lineDeleteWithSign:n.ModelDecorationOptions.register({className:"line-delete",linesDecorationsClassName:"delete-sign "+k.ThemeIcon.asClassName(ne),marginClassName:"line-delete",isWholeLine:!0}),lineDeleteMargin:n.ModelDecorationOptions.register({marginClassName:"line-delete"})};class $ extends z{constructor(re,ce){super(re);this._disableSash=ce===!1,this._sashRatio=null,this._sashPosition=null,this._startSashPosition=null,this._sash=this._register(new w.Sash(this._dataSource.getContainerDomNode(),this,{orientation:0})),this._disableSash&&(this._sash.state=0),this._sash.onDidStart(()=>this._onSashDragStart()),this._sash.onDidChange(me=>this._onSashDrag(me)),this._sash.onDidEnd(()=>this._onSashDragEnd()),this._sash.onDidReset(()=>this._onSashReset())}setEnableSplitViewResizing(re){const ce=re===!1;this._disableSash!==ce&&(this._disableSash=ce,this._sash.state=this._disableSash?0:3)}layout(re=this._sashRatio){const me=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?X.ENTIRE_DIFF_OVERVIEW_WIDTH:0);let Ce=Math.floor((re||.5)*me);const be=Math.floor(.5*me);return Ce=this._disableSash?be:Ce||be,me>$.MINIMUM_EDITOR_WIDTH*2?(Ce<$.MINIMUM_EDITOR_WIDTH&&(Ce=$.MINIMUM_EDITOR_WIDTH),Ce>me-$.MINIMUM_EDITOR_WIDTH&&(Ce=me-$.MINIMUM_EDITOR_WIDTH)):Ce=be,this._sashPosition!==Ce&&(this._sashPosition=Ce,this._sash.layout()),this._sashPosition}_onSashDragStart(){this._startSashPosition=this._sashPosition}_onSashDrag(re){const me=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?X.ENTIRE_DIFF_OVERVIEW_WIDTH:0),Ce=this.layout((this._startSashPosition+(re.currentX-re.startX))/me);this._sashRatio=Ce/me,this._dataSource.relayoutEditors()}_onSashDragEnd(){this._sash.layout()}_onSashReset(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()}getVerticalSashTop(re){return 0}getVerticalSashLeft(re){return this._sashPosition}getVerticalSashHeight(re){return this._dataSource.getHeight()}_getViewZones(re,ce,me){const Ce=this._dataSource.getOriginalEditor(),be=this._dataSource.getModifiedEditor();return new ie(re,ce,me,Ce,be).getViewZones()}_getOriginalEditorDecorations(re,ce,me){const Ce=this._dataSource.getOriginalEditor(),be=String(this._removeColor),Le={decorations:[],overviewZones:[]},De=Ce.getModel(),Re=Ce._getViewModel();for(const Ee of re)if(te(Ee)){Le.decorations.push({range:new u.Range(Ee.originalStartLineNumber,1,Ee.originalEndLineNumber,1073741824),options:me?H.lineDeleteWithSign:H.lineDelete}),(!j(Ee)||!Ee.charChanges)&&Le.decorations.push(U(Ee.originalStartLineNumber,1,Ee.originalEndLineNumber,1073741824,H.charDeleteWholeLine));const Ae=ue(De,Re,Ee.originalStartLineNumber,Ee.originalEndLineNumber);if(Le.overviewZones.push(new l.OverviewRulerZone(Ae.startLineNumber,Ae.endLineNumber,be)),Ee.charChanges){for(const Se of Ee.charChanges)if(te(Se))if(ce)for(let we=Se.originalStartLineNumber;we<=Se.originalEndLineNumber;we++){let ye,fe;we===Se.originalStartLineNumber?ye=Se.originalStartColumn:ye=De.getLineFirstNonWhitespaceColumn(we),we===Se.originalEndLineNumber?fe=Se.originalEndColumn:fe=De.getLineLastNonWhitespaceColumn(we),Le.decorations.push(U(we,ye,we,fe,H.charDelete))}else Le.decorations.push(U(Se.originalStartLineNumber,Se.originalStartColumn,Se.originalEndLineNumber,Se.originalEndColumn,H.charDelete))}}return Le}_getModifiedEditorDecorations(re,ce,me){const Ce=this._dataSource.getModifiedEditor(),be=String(this._insertColor),Le={decorations:[],overviewZones:[]},De=Ce.getModel(),Re=Ce._getViewModel();for(const Ee of re)if(j(Ee)){Le.decorations.push({range:new u.Range(Ee.modifiedStartLineNumber,1,Ee.modifiedEndLineNumber,1073741824),options:me?H.lineInsertWithSign:H.lineInsert}),(!te(Ee)||!Ee.charChanges)&&Le.decorations.push(U(Ee.modifiedStartLineNumber,1,Ee.modifiedEndLineNumber,1073741824,H.charInsertWholeLine));const Ae=ue(De,Re,Ee.modifiedStartLineNumber,Ee.modifiedEndLineNumber);if(Le.overviewZones.push(new l.OverviewRulerZone(Ae.startLineNumber,Ae.endLineNumber,be)),Ee.charChanges){for(const Se of Ee.charChanges)if(j(Se))if(ce)for(let we=Se.modifiedStartLineNumber;we<=Se.modifiedEndLineNumber;we++){let ye,fe;we===Se.modifiedStartLineNumber?ye=Se.modifiedStartColumn:ye=De.getLineFirstNonWhitespaceColumn(we),we===Se.modifiedEndLineNumber?fe=Se.modifiedEndColumn:fe=De.getLineLastNonWhitespaceColumn(we),Le.decorations.push(U(we,ye,we,fe,H.charInsert))}else Le.decorations.push(U(Se.modifiedStartLineNumber,Se.modifiedStartColumn,Se.modifiedEndLineNumber,Se.modifiedEndColumn,H.charInsert))}}return Le}}$.MINIMUM_EDITOR_WIDTH=100;class ie extends V{constructor(re,ce,me,Ce,be){super(re,ce,me,Ce,be)}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){return null}_produceOriginalFromDiff(re,ce,me){return me>ce?{afterLineNumber:Math.max(re.originalStartLineNumber,re.originalEndLineNumber),heightInLines:me-ce,domNode:null}:null}_produceModifiedFromDiff(re,ce,me){return ce>me?{afterLineNumber:Math.max(re.modifiedStartLineNumber,re.modifiedEndLineNumber),heightInLines:ce-me,domNode:null}:null}}class oe extends z{constructor(re,ce){super(re);this._decorationsLeft=re.getOriginalEditor().getLayoutInfo().decorationsLeft,this._register(re.getOriginalEditor().onDidLayoutChange(me=>{this._decorationsLeft!==me.decorationsLeft&&(this._decorationsLeft=me.decorationsLeft,re.relayoutEditors())}))}setEnableSplitViewResizing(re){}_getViewZones(re,ce,me,Ce){const be=this._dataSource.getOriginalEditor(),Le=this._dataSource.getModifiedEditor();return new ae(re,ce,me,be,Le,Ce).getViewZones()}_getOriginalEditorDecorations(re,ce,me){const Ce=String(this._removeColor),be={decorations:[],overviewZones:[]},Le=this._dataSource.getOriginalEditor(),De=Le.getModel(),Re=Le._getViewModel();for(const Ee of re)if(te(Ee)){be.decorations.push({range:new u.Range(Ee.originalStartLineNumber,1,Ee.originalEndLineNumber,1073741824),options:H.lineDeleteMargin});const Ae=ue(De,Re,Ee.originalStartLineNumber,Ee.originalEndLineNumber);be.overviewZones.push(new l.OverviewRulerZone(Ae.startLineNumber,Ae.endLineNumber,Ce))}return be}_getModifiedEditorDecorations(re,ce,me){const Ce=this._dataSource.getModifiedEditor(),be=String(this._insertColor),Le={decorations:[],overviewZones:[]},De=Ce.getModel(),Re=Ce._getViewModel();for(const Ee of re)if(j(Ee)){Le.decorations.push({range:new u.Range(Ee.modifiedStartLineNumber,1,Ee.modifiedEndLineNumber,1073741824),options:me?H.lineInsertWithSign:H.lineInsert});const Ae=ue(De,Re,Ee.modifiedStartLineNumber,Ee.modifiedEndLineNumber);if(Le.overviewZones.push(new l.OverviewRulerZone(Ae.startLineNumber,Ae.endLineNumber,be)),Ee.charChanges){for(const Se of Ee.charChanges)if(j(Se))if(ce)for(let we=Se.modifiedStartLineNumber;we<=Se.modifiedEndLineNumber;we++){let ye,fe;we===Se.modifiedStartLineNumber?ye=Se.modifiedStartColumn:ye=De.getLineFirstNonWhitespaceColumn(we),we===Se.modifiedEndLineNumber?fe=Se.modifiedEndColumn:fe=De.getLineLastNonWhitespaceColumn(we),Le.decorations.push(U(we,ye,we,fe,H.charInsert))}else Le.decorations.push(U(Se.modifiedStartLineNumber,Se.modifiedStartColumn,Se.modifiedEndLineNumber,Se.modifiedEndColumn,H.charInsert))}else Le.decorations.push(U(Ee.modifiedStartLineNumber,1,Ee.modifiedEndLineNumber,1073741824,H.charInsertWholeLine))}return Le}layout(){return Math.max(5,this._decorationsLeft)}}class ae extends V{constructor(re,ce,me,Ce,be,Le){super(re,ce,me,Ce,be);this._originalModel=Ce.getModel(),this._renderIndicators=Le,this._pendingLineChange=[],this._pendingViewZones=[],this._lineBreaksComputer=this._modifiedEditor._getViewModel().createLineBreaksComputer()}getViewZones(){const re=super.getViewZones();return this._finalize(re),re}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){const re=document.createElement("div");return re.className="inline-added-margin-view-zone",re}_produceOriginalFromDiff(re,ce,me){const Ce=document.createElement("div");return Ce.className="inline-added-margin-view-zone",{afterLineNumber:Math.max(re.originalStartLineNumber,re.originalEndLineNumber),heightInLines:me,domNode:document.createElement("div"),marginDomNode:Ce}}_produceModifiedFromDiff(re,ce,me){const Ce=document.createElement("div");Ce.className=`view-lines line-delete ${W.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`;const be=document.createElement("div");be.className="inline-deleted-margin-view-zone";const Le={shouldNotShrink:!0,afterLineNumber:re.modifiedEndLineNumber===0?re.modifiedStartLineNumber:re.modifiedStartLineNumber-1,heightInLines:ce,minWidthInPx:0,domNode:Ce,marginDomNode:be,diff:{originalStartLineNumber:re.originalStartLineNumber,originalEndLineNumber:re.originalEndLineNumber,modifiedStartLineNumber:re.modifiedStartLineNumber,modifiedEndLineNumber:re.modifiedEndLineNumber,originalModel:this._originalModel,viewLineCounts:null}};for(let De=re.originalStartLineNumber;De<=re.originalEndLineNumber;De++)this._lineBreaksComputer.addRequest(this._originalModel.getLineContent(De),null);return this._pendingLineChange.push(re),this._pendingViewZones.push(Le),Le}_finalize(re){const ce=this._modifiedEditor.getOptions(),me=this._modifiedEditor.getModel().getOptions().tabSize,Ce=ce.get(38),be=ce.get(26),Le=Ce.typicalHalfwidthCharacterWidth,De=ce.get(88),Re=this._originalModel.mightContainNonBasicASCII(),Ee=this._originalModel.mightContainRTL(),Ae=ce.get(53),we=ce.get(124).decorationsWidth,ye=ce.get(100),fe=ce.get(83),de=ce.get(77),ge=ce.get(39),pe=this._lineBreaksComputer.finalize();let ve=0;for(let ke=0;ke0,We=r.createStringBuilder(1e4);let ze=0,Ke=0,Be=null;for(let Ue=Ne.originalStartLineNumber;Ue<=Ne.originalEndLineNumber;Ue++){const Ye=Ue-Ne.originalStartLineNumber,je=this._originalModel.getLineTokens(Ue),Xe=je.getLineContent(),$e=pe[ve++],Ze=h.LineDecoration.filter(Pe,Ue,1,Xe.length+1);if($e){let Qe=0;for(const Je of $e.breakOffsets){const nt=je.sliceAndInflate(Qe,Je,0),si=Xe.substring(Qe,Je);ze=Math.max(ze,this._renderOriginalLine(Ke++,si,nt,h.LineDecoration.extractWrapped(Ze,Qe,Je),xe,Re,Ee,Ce,be,Ae,we,ye,fe,de,ge,me,We,Fe)),Qe=Je}for(Be||(Be=[]);Be.lengthke.afterLineNumber-Ne.afterLineNumber)}_renderOriginalLine(re,ce,me,Ce,be,Le,De,Re,Ee,Ae,Se,we,ye,fe,de,ge,pe,ve){pe.appendASCIIString('
    ');const ke=_.ViewLineRenderingData.isBasicASCII(ce,Le),Ne=_.ViewLineRenderingData.containsRTL(ce,ke,De),Te=m.renderViewLine(new m.RenderLineInput(Re.isMonospace&&!Ee,Re.canUseHalfwidthRightwardsArrow,ce,!1,ke,Ne,0,me,Ce,ge,0,Re.spaceWidth,Re.middotWidth,Re.wsmiddotWidth,we,ye,fe,de!==a.EditorFontLigatures.OFF,null),pe);if(pe.appendASCIIString("
    "),this._renderIndicators){const Fe=document.createElement("div");Fe.className=`delete-sign ${k.ThemeIcon.asClassName(ne)}`,Fe.setAttribute("style",`position:absolute;top:${re*Ae}px;width:${Se}px;height:${Ae}px;right:0;`),ve.appendChild(Fe)}const Oe=Te.characterMapping.getAbsoluteOffsets();return Oe.length>0?Oe[Oe.length-1]:0}}function G(he,re){return a.stringSet(he,re,["off","on","inherit"])}function j(he){return he.modifiedEndLineNumber>0}function te(he){return he.originalEndLineNumber>0}function Z(){const he=document.createElement("div");return he.className="diagonal-fill",he}function ue(he,re,ce,me){const Ce=he.getLineCount();return ce=Math.min(Ce,Math.max(1,ce)),me=Math.min(Ce,Math.max(1,me)),re.coordinatesConverter.convertModelRangeToViewRange(new u.Range(ce,he.getLineMinColumn(ce),me,he.getLineMaxColumn(me)))}k.registerThemingParticipant((he,re)=>{const ce=he.getColor(I.diffInserted);ce&&(re.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { background-color: ${ce}; }`),re.addRule(`.monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: ${ce}; }`),re.addRule(`.monaco-editor .inline-added-margin-view-zone { background-color: ${ce}; }`));const me=he.getColor(I.diffRemoved);me&&(re.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { background-color: ${me}; }`),re.addRule(`.monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: ${me}; }`),re.addRule(`.monaco-editor .inline-deleted-margin-view-zone { background-color: ${me}; }`));const Ce=he.getColor(I.diffInsertedOutline);Ce&&re.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${he.type==="hc"?"dashed":"solid"} ${Ce}; }`);const be=he.getColor(I.diffRemovedOutline);be&&re.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${he.type==="hc"?"dashed":"solid"} ${be}; }`);const Le=he.getColor(I.scrollbarShadow);Le&&re.addRule(`.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${Le}; }`);const De=he.getColor(I.diffBorder);De&&re.addRule(`.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${De}; }`);const Re=he.getColor(I.scrollbarSliderBackground);Re&&re.addRule(` + .monaco-diff-editor .diffViewport { + background: ${Re}; + } + `);const Ee=he.getColor(I.scrollbarSliderHoverBackground);Ee&&re.addRule(` + .monaco-diff-editor .diffViewport:hover { + background: ${Ee}; + } + `);const Ae=he.getColor(I.scrollbarSliderActiveBackground);Ae&&re.addRule(` + .monaco-diff-editor .diffViewport:active { + background: ${Ae}; + } + `);const Se=he.getColor(I.diffDiagonalFill);re.addRule(` + .monaco-editor .diagonal-fill { + background-image: linear-gradient( + -45deg, + ${Se} 12.5%, + #0000 12.5%, #0000 50%, + ${Se} 50%, ${Se} 62.5%, + #0000 62.5%, #0000 100% + ); + background-size: 8px 8px; + } + `)})}),define(Q[657],J([0,1,473,7,47,160,104,52,15,12,2,17,8,3,142,22,11,571,27,80,341]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleButton=e.FindWidget=e.FindWidgetViewZone=e.findNextMatchIcon=e.findPreviousMatchIcon=e.findReplaceAllIcon=e.findReplaceIcon=void 0;const l=t.registerIcon("find-selection",n.Codicon.selection,b.localize(0,null)),h=t.registerIcon("find-collapsed",n.Codicon.chevronRight,b.localize(1,null)),m=t.registerIcon("find-expanded",n.Codicon.chevronDown,b.localize(2,null));e.findReplaceIcon=t.registerIcon("find-replace",n.Codicon.replace,b.localize(3,null)),e.findReplaceAllIcon=t.registerIcon("find-replace-all",n.Codicon.replaceAll,b.localize(4,null)),e.findPreviousMatchIcon=t.registerIcon("find-previous-match",n.Codicon.arrowUp,b.localize(5,null)),e.findNextMatchIcon=t.registerIcon("find-next-match",n.Codicon.arrowDown,b.localize(6,null));const _=b.localize(7,null),f=b.localize(8,null),v=b.localize(9,null),y=b.localize(10,null),L=b.localize(11,null),I=b.localize(12,null),k=b.localize(13,null),E=b.localize(14,null),T=b.localize(15,null),O=b.localize(16,null),A=b.localize(17,null),B=b.localize(18,null,a.MATCHES_LIMIT),F=b.localize(19,null),D=b.localize(20,null),R=419,x=275-54;let K=69;const Y=33,ee="ctrlEnterReplaceAll.windows.donotask",se=c.isMacintosh?256:2048;class ne{constructor(U){this.afterLineNumber=U,this.heightInPx=Y,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}e.FindWidgetViewZone=ne;function le(V,U,H){const $=!!U.match(/\n/);if(H&&$&&H.selectionStart>0){V.stopPropagation();return}}function X(V,U,H){const $=!!U.match(/\n/);if(H&&$&&H.selectionEndthis._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(Z=>this._onStateChanged(Z))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(Z=>{if(Z.hasChanged(75)&&(this._codeEditor.getOption(75)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),Z.hasChanged(124)&&this._tryUpdateWidgetWidth(),Z.hasChanged(2)&&this.updateAccessibilitySupport(),Z.hasChanged(31)){const ue=this._codeEditor.getOption(31).addExtraSpaceOnTop;ue&&!this._viewZone&&(this._viewZone=new ne(0),this._showViewZone()),!ue&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(()=>Ie(this,void 0,void 0,function*(){if(this._isVisible){let Z=yield this._controller.getGlobalBufferTerm();Z&&Z!==this._state.searchString&&(this._state.change({searchString:Z},!1),this._findInput.select())}}))),this._findInputFocused=a.CONTEXT_FIND_INPUT_FOCUSED.bindTo(ae),this._findFocusTracker=this._register(N.trackFocus(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=a.CONTEXT_REPLACE_INPUT_FOCUSED.bindTo(ae),this._replaceFocusTracker=this._register(N.trackFocus(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(31).addExtraSpaceOnTop&&(this._viewZone=new ne(0)),this._applyTheme(G.getColorTheme()),this._register(G.onDidColorThemeChange(this._applyTheme.bind(this))),this._register(this._codeEditor.onDidChangeModel(()=>{!this._isVisible||(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(Z=>{if(Z.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return z.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(U){if(U.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(U.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),U.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),U.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(75)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=N.getTotalWidth(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(U.isRevealed||U.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),U.isRegex&&this._findInput.setRegex(this._state.isRegex),U.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),U.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),U.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),U.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),U.searchString||U.matchesCount||U.matchesPosition){let H=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",H),this._updateMatchesCount(),this._updateButtons()}(U.searchString||U.currentMatch)&&this._layoutViewZone(),U.updateHistory&&this._delayedUpdateHistory(),U.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,g.onUnexpectedError)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=K+"px",this._state.matchesCount>=a.MATCHES_LIMIT?this._matchesCount.title=B:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);let U;if(this._state.matchesCount>0){let H=String(this._state.matchesCount);this._state.matchesCount>=a.MATCHES_LIMIT&&(H+="+");let $=String(this._state.matchesPosition);$==="0"&&($="?"),U=o.format(F,$,H)}else U=D;this._matchesCount.appendChild(document.createTextNode(U)),M.alert(this._getAriaLabel(U,this._state.currentMatch,this._state.searchString)),K=Math.max(K,this._matchesCount.clientWidth)}_getAriaLabel(U,H,$){if(U===D)return $===""?b.localize(21,null,U):b.localize(22,null,U,$);if(H){const ie=b.localize(23,null,U,$,H.startLineNumber+":"+H.startColumn),oe=this._codeEditor.getModel();return oe&&H.startLineNumber<=oe.getLineCount()&&H.startLineNumber>=1?`${oe.getLineContent(H.startLineNumber)}, ${ie}`:ie}return b.localize(24,null,U,$)}_updateToggleSelectionFindButton(){let U=this._codeEditor.getSelection(),H=U?U.startLineNumber!==U.endLineNumber||U.startColumn!==U.endColumn:!1,$=this._toggleSelectionFind.checked;this._isVisible&&($||H)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let U=this._state.searchString.length>0,H=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&U&&H&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&U&&H&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&U),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&U),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let $=!this._codeEditor.getOption(75);this._toggleReplaceBtn.setEnabled(this._isVisible&&$)}_reveal(){if(this._revealTimeouts.forEach(U=>{clearTimeout(U)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const U=this._codeEditor.getSelection();switch(this._codeEditor.getOption(31).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":const $=!!U&&U.startLineNumber!==U.endLineNumber;this._toggleSelectionFind.checked=$;break;default:break}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let H=!0;if(this._codeEditor.getOption(31).seedSearchStringFromSelection&&U){const $=this._codeEditor.getDomNode();if($){const ie=N.getDomNodePagePosition($),oe=this._codeEditor.getScrolledVisiblePosition(U.getStartPosition()),ae=ie.left+(oe?oe.left:0),G=oe?oe.top:0;if(this._viewZone&&GU.startLineNumber&&(H=!1);const j=N.getTopLeftOffset(this._domNode).left;ae>j&&(H=!1);const te=this._codeEditor.getScrolledVisiblePosition(U.getEndPosition());ie.left+(te?te.left:0)>j&&(H=!1)}}}this._showViewZone(H)}}_hide(U){this._revealTimeouts.forEach(H=>{clearTimeout(H)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),U&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(U){if(!this._codeEditor.getOption(31).addExtraSpaceOnTop){this._removeViewZone();return}if(!!this._isVisible){const $=this._viewZone;this._viewZoneId!==void 0||!$||this._codeEditor.changeViewZones(ie=>{$.heightInPx=this._getHeight(),this._viewZoneId=ie.addZone($),this._codeEditor.setScrollTop(U||this._codeEditor.getScrollTop()+$.heightInPx)})}}_showViewZone(U=!0){if(!!this._isVisible&&!!this._codeEditor.getOption(31).addExtraSpaceOnTop){this._viewZone===void 0&&(this._viewZone=new ne(0));const $=this._viewZone;this._codeEditor.changeViewZones(ie=>{if(this._viewZoneId!==void 0){const oe=this._getHeight();if(oe===$.heightInPx)return;let ae=oe-$.heightInPx;$.heightInPx=oe,ie.layoutZone(this._viewZoneId),U&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+ae);return}else{let oe=this._getHeight();if(oe-=this._codeEditor.getOption(69).top,oe<=0)return;$.heightInPx=oe,this._viewZoneId=ie.addZone($),U&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+oe)}})}}_removeViewZone(){this._codeEditor.changeViewZones(U=>{this._viewZoneId!==void 0&&(U.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_applyTheme(U){let H={inputActiveOptionBorder:U.getColor(u.inputActiveOptionBorder),inputActiveOptionBackground:U.getColor(u.inputActiveOptionBackground),inputActiveOptionForeground:U.getColor(u.inputActiveOptionForeground),inputBackground:U.getColor(u.inputBackground),inputForeground:U.getColor(u.inputForeground),inputBorder:U.getColor(u.inputBorder),inputValidationInfoBackground:U.getColor(u.inputValidationInfoBackground),inputValidationInfoForeground:U.getColor(u.inputValidationInfoForeground),inputValidationInfoBorder:U.getColor(u.inputValidationInfoBorder),inputValidationWarningBackground:U.getColor(u.inputValidationWarningBackground),inputValidationWarningForeground:U.getColor(u.inputValidationWarningForeground),inputValidationWarningBorder:U.getColor(u.inputValidationWarningBorder),inputValidationErrorBackground:U.getColor(u.inputValidationErrorBackground),inputValidationErrorForeground:U.getColor(u.inputValidationErrorForeground),inputValidationErrorBorder:U.getColor(u.inputValidationErrorBorder)};this._findInput.style(H),this._replaceInput.style(H),this._toggleSelectionFind.style(H)}_tryUpdateWidgetWidth(){if(!!this._isVisible&&!!N.isInDOM(this._domNode)){const U=this._codeEditor.getLayoutInfo();if(U.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const $=U.width,ie=U.minimap.minimapWidth;let oe=!1,ae=!1,G=!1;if(this._resized&&N.getTotalWidth(this._domNode)>R){this._domNode.style.maxWidth=`${$-28-ie-15}px`,this._replaceInput.width=N.getTotalWidth(this._findInput.domNode);return}if(R+28+ie>=$&&(ae=!0),R+28+ie-K>=$&&(G=!0),R+28+ie-K>=$+50&&(oe=!0),this._domNode.classList.toggle("collapsed-find-widget",oe),this._domNode.classList.toggle("narrow-find-widget",G),this._domNode.classList.toggle("reduced-find-widget",ae),!G&&!oe&&(this._domNode.style.maxWidth=`${$-28-ie-15}px`),this._resized){this._findInput.inputBox.layout();let j=this._findInput.inputBox.element.clientWidth;j>0&&(this._replaceInput.width=j)}else this._isReplaceVisible&&(this._replaceInput.width=N.getTotalWidth(this._findInput.domNode))}}_getHeight(){let U=0;return U+=4,U+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(U+=4,U+=this._replaceInput.inputBox.height+2),U+=4,U}_tryUpdateHeight(){const U=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===U?!1:(this._cachedHeight=U,this._domNode.style.height=`${U}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(!!this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){let U=this._codeEditor.getSelections();U.map(H=>{H.endColumn===1&&H.endLineNumber>H.startLineNumber&&(H=H.setEndPosition(H.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(H.endLineNumber-1)));const $=this._state.currentMatch;return H.startLineNumber!==H.endLineNumber&&!s.Range.equalsRange(H,$)?H:null}).filter(H=>!!H),U.length&&this._state.change({searchScope:U},!0)}}_onFindInputMouseDown(U){U.middleButton&&U.stopPropagation()}_onFindInputKeyDown(U){if(U.equals(se|3)){this._findInput.inputBox.insertAtCursor(` +`),U.preventDefault();return}if(U.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),U.preventDefault();return}if(U.equals(2048|18)){this._codeEditor.focus(),U.preventDefault();return}if(U.equals(16))return le(U,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(U.equals(18))return X(U,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(U){if(U.equals(se|3)){c.isWindows&&c.isNative&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(b.localize(25,null)),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(ee,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(` +`),U.preventDefault();return}if(U.equals(2)){this._findInput.focusOnCaseSensitive(),U.preventDefault();return}if(U.equals(1024|2)){this._findInput.focus(),U.preventDefault();return}if(U.equals(2048|18)){this._codeEditor.focus(),U.preventDefault();return}if(U.equals(16))return le(U,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(U.equals(18))return X(U,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(U){return 0}_keybindingLabelFor(U){let H=this._keybindingService.lookupKeybinding(U);return H?` (${H.getLabel()})`:""}_buildDomNode(){const U=!0,H=!0;this._findInput=this._register(new i.ContextScopedFindInput(null,this._contextViewProvider,{width:x,label:_,placeholder:f,appendCaseSensitiveLabel:this._keybindingLabelFor(a.FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(a.FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(a.FIND_IDS.ToggleRegexCommand),validation:j=>{if(j.length===0||!this._findInput.getRegex())return null;try{return new RegExp(j,"gu"),null}catch(te){return{content:te.message}}},flexibleHeight:U,flexibleWidth:H,flexibleMaxHeight:118},this._contextKeyService,!0)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(j=>this._onFindInputKeyDown(j))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(j=>{j.equals(1024|2)&&this._isReplaceVisible&&(this._replaceInput.focus(),j.preventDefault())})),this._register(this._findInput.onRegexKeyDown(j=>{j.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),j.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(j=>{this._tryUpdateHeight()&&this._showViewZone()})),c.isLinux&&this._register(this._findInput.onMouseDown(j=>this._onFindInputMouseDown(j))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new P({label:v+this._keybindingLabelFor(a.FIND_IDS.PreviousMatchFindAction),icon:e.findPreviousMatchIcon,onTrigger:()=>{this._codeEditor.getAction(a.FIND_IDS.PreviousMatchFindAction).run().then(void 0,g.onUnexpectedError)}})),this._nextBtn=this._register(new P({label:y+this._keybindingLabelFor(a.FIND_IDS.NextMatchFindAction),icon:e.findNextMatchIcon,onTrigger:()=>{this._codeEditor.getAction(a.FIND_IDS.NextMatchFindAction).run().then(void 0,g.onUnexpectedError)}}));let $=document.createElement("div");$.className="find-part",$.appendChild(this._findInput.domNode);const ie=document.createElement("div");ie.className="find-actions",$.appendChild(ie),ie.appendChild(this._matchesCount),ie.appendChild(this._prevBtn.domNode),ie.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new w.Checkbox({icon:l,title:L+this._keybindingLabelFor(a.FIND_IDS.ToggleSearchScopeCommand),isChecked:!1})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let j=this._codeEditor.getSelections();j.map(te=>(te.endColumn===1&&te.endLineNumber>te.startLineNumber&&(te=te.setEndPosition(te.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(te.endLineNumber-1))),te.isEmpty()?null:te)).filter(te=>!!te),j.length&&this._state.change({searchScope:j},!0)}}else this._state.change({searchScope:null},!0)})),ie.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new P({label:I+this._keybindingLabelFor(a.FIND_IDS.CloseFindWidgetCommand),icon:t.widgetClose,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:j=>{j.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),j.preventDefault())}})),ie.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new i.ContextScopedReplaceInput(null,void 0,{label:k,placeholder:E,appendPreserveCaseLabel:this._keybindingLabelFor(a.FIND_IDS.TogglePreserveCaseCommand),history:[],flexibleHeight:U,flexibleWidth:H,flexibleMaxHeight:118},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(j=>this._onReplaceInputKeyDown(j))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(j=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(j=>{j.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),j.preventDefault())})),this._replaceBtn=this._register(new P({label:T+this._keybindingLabelFor(a.FIND_IDS.ReplaceOneAction),icon:e.findReplaceIcon,onTrigger:()=>{this._controller.replace()},onKeyDown:j=>{j.equals(1024|2)&&(this._closeBtn.focus(),j.preventDefault())}})),this._replaceAllBtn=this._register(new P({label:O+this._keybindingLabelFor(a.FIND_IDS.ReplaceAllAction),icon:e.findReplaceAllIcon,onTrigger:()=>{this._controller.replaceAll()}}));let oe=document.createElement("div");oe.className="replace-part",oe.appendChild(this._replaceInput.domNode);const ae=document.createElement("div");ae.className="replace-actions",oe.appendChild(ae),ae.appendChild(this._replaceBtn.domNode),ae.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new P({label:A,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=N.getTotalWidth(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width=`${R}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild($),this._domNode.appendChild(oe),this._resizeSash=new S.Sash(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let G=R;this._register(this._resizeSash.onDidStart(()=>{G=N.getTotalWidth(this._domNode)})),this._register(this._resizeSash.onDidChange(j=>{this._resized=!0;let te=G+j.startX-j.currentX;if(!(teZ||(this._domNode.style.width=`${te}px`,this._isReplaceVisible&&(this._replaceInput.width=N.getTotalWidth(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}})),this._register(this._resizeSash.onDidReset(()=>{const j=N.getTotalWidth(this._domNode);if(!(j{this._opts.onTrigger(),$.preventDefault()}),this.onkeydown(this._domNode,$=>{if($.equals(10)||$.equals(3)){this._opts.onTrigger(),$.preventDefault();return}this._opts.onKeyDown&&this._opts.onKeyDown($)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(U){this._domNode.classList.toggle("disabled",!U),this._domNode.setAttribute("aria-disabled",String(!U)),this._domNode.tabIndex=U?0:-1}setExpanded(U){this._domNode.setAttribute("aria-expanded",String(!!U)),U?(this._domNode.classList.remove(...r.ThemeIcon.asClassNameArray(h)),this._domNode.classList.add(...r.ThemeIcon.asClassNameArray(m))):(this._domNode.classList.remove(...r.ThemeIcon.asClassNameArray(m)),this._domNode.classList.add(...r.ThemeIcon.asClassNameArray(h)))}}e.SimpleButton=P,r.registerThemingParticipant((V,U)=>{const H=(re,ce)=>{ce&&U.addRule(`.monaco-editor ${re} { background-color: ${ce}; }`)};H(".findMatch",V.getColor(u.editorFindMatchHighlight)),H(".currentFindMatch",V.getColor(u.editorFindMatch)),H(".findScope",V.getColor(u.editorFindRangeHighlight));const $=V.getColor(u.editorWidgetBackground);H(".find-widget",$);const ie=V.getColor(u.widgetShadow);ie&&U.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${ie}; }`);const oe=V.getColor(u.editorFindMatchHighlightBorder);oe&&U.addRule(`.monaco-editor .findMatch { border: 1px ${V.type==="hc"?"dotted":"solid"} ${oe}; box-sizing: border-box; }`);const ae=V.getColor(u.editorFindMatchBorder);ae&&U.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${ae}; padding: 1px; box-sizing: border-box; }`);const G=V.getColor(u.editorFindRangeHighlightBorder);G&&U.addRule(`.monaco-editor .findScope { border: 1px ${V.type==="hc"?"dashed":"solid"} ${G}; }`);const j=V.getColor(u.contrastBorder);j&&U.addRule(`.monaco-editor .find-widget { border: 1px solid ${j}; }`);const te=V.getColor(u.editorWidgetForeground);te&&U.addRule(`.monaco-editor .find-widget { color: ${te}; }`);const Z=V.getColor(u.errorForeground);Z&&U.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${Z}; }`);const ue=V.getColor(u.editorWidgetResizeBorder);if(ue)U.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${ue}; }`);else{const re=V.getColor(u.editorWidgetBorder);re&&U.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${re}; }`)}const he=V.getColor(u.focusBorder);he&&U.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${he}; }`)})}),define(Q[267],J([0,1,472,15,2,8,13,25,142,599,600,657,34,84,16,68,37,79,11,32,28]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StartFindReplaceAction=e.PreviousSelectionMatchFindAction=e.NextSelectionMatchFindAction=e.SelectionMatchFindAction=e.PreviousMatchFindAction2=e.PreviousMatchFindAction=e.NextMatchFindAction2=e.NextMatchFindAction=e.MatchFindAction=e.StartFindWithSelectionAction=e.StartFindAction=e.FindController=e.CommonFindController=e.getSelectionSearchString=void 0;const h=524288;function m(F,D="single"){if(!F.hasModel())return null;const R=F.getSelection();if(D==="single"&&R.startLineNumber===R.endLineNumber||D==="multiple"){if(R.isEmpty()){const W=F.getConfiguredWordAtPosition(R.getStartPosition());if(W)return W.word}else if(F.getModel().getValueLengthInRange(R)this._onStateChanged(K))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let K=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),K&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(31).loop})}))}get editor(){return this._editor}static get(D){return D.getContribution(qt.ID)}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(D){this.saveQueryState(D),D.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),D.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(D){D.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,0),D.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,0),D.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,0),D.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,0)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!d.CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let D=this._editor.getSelections();D.map(R=>(R.endColumn===1&&R.endLineNumber>R.startLineNumber&&(R=R.setEndPosition(R.endLineNumber-1,this._editor.getModel().getLineMaxColumn(R.endLineNumber-1))),R.isEmpty()?null:R)).filter(R=>!!R),D.length&&this._state.change({searchScope:D},!0)}}setSearchString(D){this._state.isRegex&&(D=w.escapeRegExpCharacters(D)),this._state.change({searchString:D},!1)}highlightFindOptions(D=!1){}_start(D){return Ie(this,void 0,void 0,function*(){if(this.disposeModel(),!!this._editor.hasModel()){let R={isRevealed:!0};if(D.seedSearchStringFromSelection==="single"){let W=m(this._editor,D.seedSearchStringFromSelection);W&&(this._state.isRegex?R.searchString=w.escapeRegExpCharacters(W):R.searchString=W)}else if(D.seedSearchStringFromSelection==="multiple"&&!D.updateSearchScope){let W=m(this._editor,D.seedSearchStringFromSelection);W&&(R.searchString=W)}if(!R.searchString&&D.seedSearchStringFromGlobalClipboard){let W=yield this.getGlobalBufferTerm();if(!this._editor.hasModel())return;W&&(R.searchString=W)}if(D.forceRevealReplace?R.isReplaceRevealed=!0:this._findWidgetVisible.get()||(R.isReplaceRevealed=!1),D.updateSearchScope){let W=this._editor.getSelections();W.some(x=>!x.isEmpty())&&(R.searchScope=W)}R.loop=D.loop,this._state.change(R,!1),this._model||(this._model=new d.FindModelBoundToEditorModel(this._editor,this._state))}})}start(D){return this._start(D)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}getGlobalBufferTerm(){return Ie(this,void 0,void 0,function*(){return this._editor.getOption(31).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""})}setGlobalBufferTerm(D){this._editor.getOption(31).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(D)}};_.ID="editor.contrib.findController",_=Me([_e(1,a.IContextKeyService),_e(2,i.IStorageService),_e(3,s.IClipboardService)],_),e.CommonFindController=_;let f=class extends _{constructor(D,R,W,x,K,Y,ee,se){super(D,W,ee,se);this._contextViewService=R,this._keybindingService=x,this._themeService=K,this._notificationService=Y,this._widget=null,this._findOptionsWidget=null}_start(D){const R=Object.create(null,{_start:{get:()=>super._start}});return Ie(this,void 0,void 0,function*(){this._widget||this._createFindWidget();const W=this._editor.getSelection();let x=!1;switch(this._editor.getOption(31).autoFindInSelection){case"always":x=!0;break;case"never":x=!1;break;case"multiline":x=!!W&&W.startLineNumber!==W.endLineNumber;break;default:break}D.updateSearchScope=x,yield R._start.call(this,D),this._widget&&(D.shouldFocus===2?this._widget.focusReplaceInput():D.shouldFocus===1&&this._widget.focusFindInput())})}highlightFindOptions(D=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!D?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new c.FindWidget(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new g.FindOptionsWidget(this._editor,this._state,this._keybindingService,this._themeService))}};f=Me([_e(1,u.IContextViewService),_e(2,a.IContextKeyService),_e(3,r.IKeybindingService),_e(4,n.IThemeService),_e(5,t.INotificationService),_e(6,i.IStorageService),_e(7,s.IClipboardService)],f),e.FindController=f,e.StartFindAction=S.registerMultiEditorAction(new S.MultiEditorAction({id:d.FIND_IDS.StartFindAction,label:b.localize(0,null),alias:"Find",precondition:a.ContextKeyExpr.or(C.EditorContextKeys.focus,a.ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2048|36,weight:100},menuOpts:{menuId:o.MenuId.MenubarEditMenu,group:"3_find",title:b.localize(1,null),order:1}})),e.StartFindAction.addImplementation(0,(F,D)=>{const R=F.get(l.ICodeEditorService),W=R.getFocusedCodeEditor()||R.getActiveCodeEditor();if(!W)return!1;const x=_.get(W);return x?x.start({forceRevealReplace:!1,seedSearchStringFromSelection:W.getOption(31).seedSearchStringFromSelection?"single":"none",seedSearchStringFromGlobalClipboard:W.getOption(31).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:W.getOption(31).loop}):!1});class v extends S.EditorAction{constructor(){super({id:d.FIND_IDS.StartFindWithSelection,label:b.localize(2,null),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2048|35},weight:100}})}run(D,R){return Ie(this,void 0,void 0,function*(){let W=_.get(R);W&&(yield W.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:R.getOption(31).loop}),W.setGlobalBufferTerm(W.getState().searchString))})}}e.StartFindWithSelectionAction=v;class y extends S.EditorAction{run(D,R){return Ie(this,void 0,void 0,function*(){let W=_.get(R);W&&!this._run(W)&&(yield W.start({forceRevealReplace:!1,seedSearchStringFromSelection:W.getState().searchString.length===0&&R.getOption(31).seedSearchStringFromSelection?"single":"none",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:R.getOption(31).loop}),this._run(W))})}}e.MatchFindAction=y;class L extends y{constructor(){super({id:d.FIND_IDS.NextMatchFindAction,label:b.localize(3,null),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.focus,primary:61,mac:{primary:2048|37,secondary:[61]},weight:100}})}_run(D){return D.moveToNextMatch()?(D.editor.pushUndoStop(),!0):!1}}e.NextMatchFindAction=L;class I extends y{constructor(){super({id:d.FIND_IDS.NextMatchFindAction,label:b.localize(4,null),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:a.ContextKeyExpr.and(C.EditorContextKeys.focus,d.CONTEXT_FIND_INPUT_FOCUSED),primary:3,weight:100}})}_run(D){return D.moveToNextMatch()?(D.editor.pushUndoStop(),!0):!1}}e.NextMatchFindAction2=I;class k extends y{constructor(){super({id:d.FIND_IDS.PreviousMatchFindAction,label:b.localize(5,null),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.focus,primary:1024|61,mac:{primary:2048|1024|37,secondary:[1024|61]},weight:100}})}_run(D){return D.moveToPrevMatch()}}e.PreviousMatchFindAction=k;class E extends y{constructor(){super({id:d.FIND_IDS.PreviousMatchFindAction,label:b.localize(6,null),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:a.ContextKeyExpr.and(C.EditorContextKeys.focus,d.CONTEXT_FIND_INPUT_FOCUSED),primary:1024|3,weight:100}})}_run(D){return D.moveToPrevMatch()}}e.PreviousMatchFindAction2=E;class T extends S.EditorAction{run(D,R){return Ie(this,void 0,void 0,function*(){let W=_.get(R);if(!!W){let x=m(R);x&&W.setSearchString(x),this._run(W)||(yield W.start({forceRevealReplace:!1,seedSearchStringFromSelection:R.getOption(31).seedSearchStringFromSelection?"single":"none",seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:R.getOption(31).loop}),this._run(W))}})}}e.SelectionMatchFindAction=T;class O extends T{constructor(){super({id:d.FIND_IDS.NextSelectionMatchFindAction,label:b.localize(7,null),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.focus,primary:2048|61,weight:100}})}_run(D){return D.moveToNextMatch()}}e.NextSelectionMatchFindAction=O;class A extends T{constructor(){super({id:d.FIND_IDS.PreviousSelectionMatchFindAction,label:b.localize(8,null),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.focus,primary:2048|1024|61,weight:100}})}_run(D){return D.moveToPrevMatch()}}e.PreviousSelectionMatchFindAction=A,e.StartFindReplaceAction=S.registerMultiEditorAction(new S.MultiEditorAction({id:d.FIND_IDS.StartFindReplaceAction,label:b.localize(9,null),alias:"Replace",precondition:a.ContextKeyExpr.or(C.EditorContextKeys.focus,a.ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2048|38,mac:{primary:2048|512|36},weight:100},menuOpts:{menuId:o.MenuId.MenubarEditMenu,group:"3_find",title:b.localize(10,null),order:2}})),e.StartFindReplaceAction.addImplementation(0,(F,D)=>{const R=F.get(l.ICodeEditorService),W=R.getFocusedCodeEditor()||R.getActiveCodeEditor();if(!W||!W.hasModel()||W.getOption(75))return!1;const x=_.get(W);if(!x)return!1;const K=W.getSelection(),Y=x.isFindInputFocused(),ee=!K.isEmpty()&&K.startLineNumber===K.endLineNumber&&W.getOption(31).seedSearchStringFromSelection&&!Y,se=Y||ee?2:1;return x.start({forceRevealReplace:!0,seedSearchStringFromSelection:ee?"single":"none",seedSearchStringFromGlobalClipboard:W.getOption(31).seedSearchStringFromSelection,shouldFocus:se,shouldAnimate:!0,updateSearchScope:!1,loop:W.getOption(31).loop})}),S.registerEditorContribution(_.ID,f),S.registerEditorAction(v),S.registerEditorAction(L),S.registerEditorAction(I),S.registerEditorAction(k),S.registerEditorAction(E),S.registerEditorAction(O),S.registerEditorAction(A);const B=S.EditorCommand.bindToContribution(_.get);S.registerEditorCommand(new B({id:d.FIND_IDS.CloseFindWidgetCommand,precondition:d.CONTEXT_FIND_WIDGET_VISIBLE,handler:F=>F.closeFindWidget(),kbOpts:{weight:100+5,kbExpr:a.ContextKeyExpr.and(C.EditorContextKeys.focus,a.ContextKeyExpr.not("isComposing")),primary:9,secondary:[1024|9]}})),S.registerEditorCommand(new B({id:d.FIND_IDS.ToggleCaseSensitiveCommand,precondition:void 0,handler:F=>F.toggleCaseSensitive(),kbOpts:{weight:100+5,kbExpr:C.EditorContextKeys.focus,primary:d.ToggleCaseSensitiveKeybinding.primary,mac:d.ToggleCaseSensitiveKeybinding.mac,win:d.ToggleCaseSensitiveKeybinding.win,linux:d.ToggleCaseSensitiveKeybinding.linux}})),S.registerEditorCommand(new B({id:d.FIND_IDS.ToggleWholeWordCommand,precondition:void 0,handler:F=>F.toggleWholeWords(),kbOpts:{weight:100+5,kbExpr:C.EditorContextKeys.focus,primary:d.ToggleWholeWordKeybinding.primary,mac:d.ToggleWholeWordKeybinding.mac,win:d.ToggleWholeWordKeybinding.win,linux:d.ToggleWholeWordKeybinding.linux}})),S.registerEditorCommand(new B({id:d.FIND_IDS.ToggleRegexCommand,precondition:void 0,handler:F=>F.toggleRegex(),kbOpts:{weight:100+5,kbExpr:C.EditorContextKeys.focus,primary:d.ToggleRegexKeybinding.primary,mac:d.ToggleRegexKeybinding.mac,win:d.ToggleRegexKeybinding.win,linux:d.ToggleRegexKeybinding.linux}})),S.registerEditorCommand(new B({id:d.FIND_IDS.ToggleSearchScopeCommand,precondition:void 0,handler:F=>F.toggleSearchScope(),kbOpts:{weight:100+5,kbExpr:C.EditorContextKeys.focus,primary:d.ToggleSearchScopeKeybinding.primary,mac:d.ToggleSearchScopeKeybinding.mac,win:d.ToggleSearchScopeKeybinding.win,linux:d.ToggleSearchScopeKeybinding.linux}})),S.registerEditorCommand(new B({id:d.FIND_IDS.TogglePreserveCaseCommand,precondition:void 0,handler:F=>F.togglePreserveCase(),kbOpts:{weight:100+5,kbExpr:C.EditorContextKeys.focus,primary:d.TogglePreserveCaseKeybinding.primary,mac:d.TogglePreserveCaseKeybinding.mac,win:d.TogglePreserveCaseKeybinding.win,linux:d.TogglePreserveCaseKeybinding.linux}})),S.registerEditorCommand(new B({id:d.FIND_IDS.ReplaceOneAction,precondition:d.CONTEXT_FIND_WIDGET_VISIBLE,handler:F=>F.replace(),kbOpts:{weight:100+5,kbExpr:C.EditorContextKeys.focus,primary:2048|1024|22}})),S.registerEditorCommand(new B({id:d.FIND_IDS.ReplaceOneAction,precondition:d.CONTEXT_FIND_WIDGET_VISIBLE,handler:F=>F.replace(),kbOpts:{weight:100+5,kbExpr:a.ContextKeyExpr.and(C.EditorContextKeys.focus,d.CONTEXT_REPLACE_INPUT_FOCUSED),primary:3}})),S.registerEditorCommand(new B({id:d.FIND_IDS.ReplaceAllAction,precondition:d.CONTEXT_FIND_WIDGET_VISIBLE,handler:F=>F.replaceAll(),kbOpts:{weight:100+5,kbExpr:C.EditorContextKeys.focus,primary:2048|512|3}})),S.registerEditorCommand(new B({id:d.FIND_IDS.ReplaceAllAction,precondition:d.CONTEXT_FIND_WIDGET_VISIBLE,handler:F=>F.replaceAll(),kbOpts:{weight:100+5,kbExpr:a.ContextKeyExpr.and(C.EditorContextKeys.focus,d.CONTEXT_REPLACE_INPUT_FOCUSED),primary:void 0,mac:{primary:2048|3}}})),S.registerEditorCommand(new B({id:d.FIND_IDS.SelectAllMatchesAction,precondition:d.CONTEXT_FIND_WIDGET_VISIBLE,handler:F=>F.selectAllMatches(),kbOpts:{weight:100+5,kbExpr:C.EditorContextKeys.focus,primary:512|3}}))}),define(Q[658],J([0,1,31,27,475,80,11]),function(q,e,b,N,M,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingDecorationProvider=e.foldingCollapsedIcon=e.foldingExpandedIcon=void 0,e.foldingExpandedIcon=w.registerIcon("folding-expanded",N.Codicon.chevronDown,M.localize(0,null)),e.foldingCollapsedIcon=w.registerIcon("folding-collapsed",N.Codicon.chevronRight,M.localize(1,null));class C{constructor(g){this.editor=g,this.autoHideFoldingControls=!0,this.showFoldingHighlights=!0}getDecorationOption(g,p){return p?C.HIDDEN_RANGE_DECORATION:g?this.showFoldingHighlights?C.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:C.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?C.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:C.EXPANDED_VISUAL_DECORATION}deltaDecorations(g,p){return this.editor.deltaDecorations(g,p)}changeDecorations(g){return this.editor.changeDecorations(g)}}e.FoldingDecorationProvider=C,C.COLLAPSED_VISUAL_DECORATION=b.ModelDecorationOptions.register({stickiness:1,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:S.ThemeIcon.asClassName(e.foldingCollapsedIcon)}),C.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=b.ModelDecorationOptions.register({stickiness:1,afterContentClassName:"inline-folded",className:"folded-background",isWholeLine:!0,firstLineDecorationClassName:S.ThemeIcon.asClassName(e.foldingCollapsedIcon)}),C.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=b.ModelDecorationOptions.register({stickiness:1,isWholeLine:!0,firstLineDecorationClassName:S.ThemeIcon.asClassName(e.foldingExpandedIcon)}),C.EXPANDED_VISUAL_DECORATION=b.ModelDecorationOptions.register({stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+S.ThemeIcon.asClassName(e.foldingExpandedIcon)}),C.HIDDEN_RANGE_DECORATION=b.ModelDecorationOptions.register({stickiness:1})}),define(Q[659],J([0,1,474,20,8,15,39,2,13,405,658,25,406,41,541,18,225,407,12,16,11,22,342]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorFoldForeground=e.foldBackgroundBackground=e.FoldingController=void 0;const m=new t.RawContextKey("foldingEnabled",!1);let _=class $t extends C.Disposable{constructor(W,x){super();this.contextKeyService=x,this.localToDispose=this._register(new C.DisposableStore),this.editor=W;const K=this.editor.getOptions();this._isEnabled=K.get(33),this._useFoldingProviders=K.get(34)!=="indentation",this._unfoldOnClickAfterEndOfLine=K.get(36),this._restoringViewState=!1,this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingStateMemento=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new p.FoldingDecorationProvider(W),this.foldingDecorationProvider.autoHideFoldingControls=K.get(94)==="mouseover",this.foldingDecorationProvider.showFoldingHighlights=K.get(35),this.foldingEnabled=m.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(Y=>{if(Y.hasChanged(33)&&(this._isEnabled=this.editor.getOptions().get(33),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),Y.hasChanged(94)||Y.hasChanged(35)){const ee=this.editor.getOptions();this.foldingDecorationProvider.autoHideFoldingControls=ee.get(94)==="mouseover",this.foldingDecorationProvider.showFoldingHighlights=ee.get(35),this.onModelContentChanged()}Y.hasChanged(34)&&(this._useFoldingProviders=this.editor.getOptions().get(34)!=="indentation",this.onFoldingStrategyChanged()),Y.hasChanged(36)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(36))})),this.onModelChanged()}static get(W){return W.getContribution($t.ID)}saveViewState(){let W=this.editor.getModel();if(!W||!this._isEnabled||W.isTooLargeForTokenization())return{};if(this.foldingModel){let x=this.foldingModel.isInitialized?this.foldingModel.getMemento():this.hiddenRangeModel.getMemento(),K=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:x,lineCount:W.getLineCount(),provider:K}}}restoreViewState(W){let x=this.editor.getModel();if(!(!x||!this._isEnabled||x.isTooLargeForTokenization()||!this.hiddenRangeModel)&&!(!W||!W.collapsedRegions||W.lineCount!==x.getLineCount())){(W.provider===r.ID_SYNTAX_PROVIDER||W.provider===i.ID_INIT_PROVIDER)&&(this.foldingStateMemento=W);const K=W.collapsedRegions;if(this.hiddenRangeModel.applyMemento(K)){const Y=this.getFoldingModel();Y&&Y.then(ee=>{if(ee){this._restoringViewState=!0;try{ee.applyMemento(K)}finally{this._restoringViewState=!1}}}).then(void 0,n.onUnexpectedError)}}}onModelChanged(){this.localToDispose.clear();let W=this.editor.getModel();!this._isEnabled||!W||W.isTooLargeForTokenization()||(this.foldingModel=new g.FoldingModel(W,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new o.HiddenRangeModel(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(x=>this.onHiddenRangesChanges(x))),this.updateScheduler=new w.Delayer(200),this.cursorChangedScheduler=new w.RunOnceScheduler(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(u.FoldingRangeProviderRegistry.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(()=>this.onModelContentChanged())),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(x=>this.onEditorMouseDown(x))),this.localToDispose.add(this.editor.onMouseUp(x=>this.onEditorMouseUp(x))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler&&this.updateScheduler.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.foldingStateMemento=null,this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null}}),this.onModelContentChanged())}onFoldingStrategyChanged(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()}getRangeProvider(W){if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new a.IndentRangeProvider(W),this._useFoldingProviders&&this.foldingModel){let x=u.FoldingRangeProviderRegistry.ordered(this.foldingModel.textModel);if(x.length===0&&this.foldingStateMemento&&this.foldingStateMemento.collapsedRegions)return this.rangeProvider=new i.InitializingRangeProvider(W,this.foldingStateMemento.collapsedRegions,()=>{this.foldingStateMemento=null,this.onFoldingStrategyChanged()},3e4);x.length>0&&(this.rangeProvider=new r.SyntaxRangeProvider(W,x,()=>this.onModelContentChanged()))}return this.foldingStateMemento=null,this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onModelContentChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const W=this.foldingModel;if(!W)return null;let x=this.foldingRegionPromise=w.createCancelablePromise(K=>this.getRangeProvider(W.textModel).compute(K));return x.then(K=>{if(K&&x===this.foldingRegionPromise){let Y=this.editor.getSelections(),ee=Y?Y.map(se=>se.startLineNumber):[];W.update(K,ee)}return W})}).then(void 0,W=>(n.onUnexpectedError(W),null)))}onHiddenRangesChanges(W){if(this.hiddenRangeModel&&W.length&&!this._restoringViewState){let x=this.editor.getSelections();x&&this.hiddenRangeModel.adjustSelections(x)&&this.editor.setSelections(x)}this.editor.setHiddenAreas(W)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const W=this.getFoldingModel();!W||W.then(x=>{if(x){let K=this.editor.getSelections();if(K&&K.length>0){let Y=[];for(let ee of K){let se=ee.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(se)&&Y.push(...x.getAllRegionsAtLine(se,ne=>ne.isCollapsed&&se>ne.startLineNumber))}Y.length&&(x.toggleCollapseState(Y),this.reveal(K[0].getPosition()))}}}).then(void 0,n.onUnexpectedError)}onEditorMouseDown(W){if(this.mouseDownInfo=null,!(!this.hiddenRangeModel||!W.target||!W.target.range)&&!(!W.event.leftButton&&!W.event.middleButton)){const x=W.target.range;let K=!1;switch(W.target.type){case 4:const Y=W.target.detail,ee=W.target.element.offsetLeft;if(Y.offsetX-ee<5)return;K=!0;break;case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!W.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){let ne=this.editor.getModel();if(ne&&x.startColumn===ne.getLineMaxColumn(x.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:x.startLineNumber,iconClicked:K}}}onEditorMouseUp(W){const x=this.getFoldingModel();if(!(!x||!this.mouseDownInfo||!W.target)){let K=this.mouseDownInfo.lineNumber,Y=this.mouseDownInfo.iconClicked,ee=W.target.range;if(!(!ee||ee.startLineNumber!==K)){if(Y){if(W.target.type!==4)return}else{let se=this.editor.getModel();if(!se||ee.startColumn!==se.getLineMaxColumn(K))return}x.then(se=>{if(se){let ne=se.getRegionAtLine(K);if(ne&&ne.startLineNumber===K){let le=ne.isCollapsed;if(Y||le){let X=[],z=W.event.middleButton||W.event.shiftKey;if(z)for(const P of se.getRegionsInside(ne))P.isCollapsed===le&&X.push(P);(le||!z||X.length===0)&&X.push(ne),se.toggleCollapseState(X),this.reveal({lineNumber:K,column:1})}}}}).then(void 0,n.onUnexpectedError)}}}reveal(W){this.editor.revealPositionInCenterIfOutsideViewport(W,0)}};_.ID="editor.contrib.folding",_=Me([_e(1,t.IContextKeyService)],_),e.FoldingController=_;class f extends d.EditorAction{runEditorCommand(W,x,K){let Y=_.get(x);if(!!Y){let ee=Y.getFoldingModel();if(ee)return this.reportTelemetry(W,x),ee.then(se=>{if(se){this.invoke(Y,se,x,K);const ne=x.getSelection();ne&&Y.reveal(ne.getStartPosition())}})}}getSelectedLines(W){let x=W.getSelections();return x?x.map(K=>K.startLineNumber):[]}getLineNumbers(W,x){return W&&W.selectionLines?W.selectionLines.map(K=>K+1):this.getSelectedLines(x)}run(W,x){}}function v(R){if(!N.isUndefined(R)){if(!N.isObject(R))return!1;const W=R;if(!N.isUndefined(W.levels)&&!N.isNumber(W.levels)||!N.isUndefined(W.direction)&&!N.isString(W.direction)||!N.isUndefined(W.selectionLines)&&(!N.isArray(W.selectionLines)||!W.selectionLines.every(N.isNumber)))return!1}return!0}class y extends f{constructor(){super({id:"editor.unfold",label:b.localize(0,null),alias:"Unfold",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:2048|1024|89,mac:{primary:2048|512|89},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument: + * 'levels': Number of levels to unfold. If not set, defaults to 1. + * 'direction': If 'up', unfold given number of levels up otherwise unfolds down. + * 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used. + `,constraint:v,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(W,x,K,Y){let ee=Y&&Y.levels||1,se=this.getLineNumbers(Y,K);Y&&Y.direction==="up"?g.setCollapseStateLevelsUp(x,!1,ee,se):g.setCollapseStateLevelsDown(x,!1,ee,se)}}class L extends f{constructor(){super({id:"editor.unfoldRecursively",label:b.localize(1,null),alias:"Unfold Recursively",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|89),weight:100}})}invoke(W,x,K,Y){g.setCollapseStateLevelsDown(x,!1,Number.MAX_VALUE,this.getSelectedLines(K))}}class I extends f{constructor(){super({id:"editor.fold",label:b.localize(2,null),alias:"Fold",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:2048|1024|87,mac:{primary:2048|512|87},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument: + * 'levels': Number of levels to fold. + * 'direction': If 'up', folds given number of levels up otherwise folds down. + * 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used. + If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead. + `,constraint:v,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(W,x,K,Y){let ee=this.getLineNumbers(Y,K);const se=Y&&Y.levels,ne=Y&&Y.direction;typeof se!="number"&&typeof ne!="string"?g.setCollapseStateUp(x,!0,ee):ne==="up"?g.setCollapseStateLevelsUp(x,!0,se||1,ee):g.setCollapseStateLevelsDown(x,!0,se||1,ee)}}class k extends f{constructor(){super({id:"editor.toggleFold",label:b.localize(3,null),alias:"Toggle Fold",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|42),weight:100}})}invoke(W,x,K){let Y=this.getSelectedLines(K);g.toggleCollapseState(x,1,Y)}}class E extends f{constructor(){super({id:"editor.foldRecursively",label:b.localize(4,null),alias:"Fold Recursively",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|87),weight:100}})}invoke(W,x,K){let Y=this.getSelectedLines(K);g.setCollapseStateLevelsDown(x,!0,Number.MAX_VALUE,Y)}}class T extends f{constructor(){super({id:"editor.foldAllBlockComments",label:b.localize(5,null),alias:"Fold All Block Comments",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|85),weight:100}})}invoke(W,x,K){if(x.regions.hasTypes())g.setCollapseStateForType(x,u.FoldingRangeKind.Comment.value,!0);else{const Y=K.getModel();if(!Y)return;let ee=s.LanguageConfigurationRegistry.getComments(Y.getLanguageIdentifier().id);if(ee&&ee.blockCommentStartToken){let se=new RegExp("^\\s*"+M.escapeRegExpCharacters(ee.blockCommentStartToken));g.setCollapseStateForMatchingLines(x,se,!0)}}}}class O extends f{constructor(){super({id:"editor.foldAllMarkerRegions",label:b.localize(6,null),alias:"Fold All Regions",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|29),weight:100}})}invoke(W,x,K){if(x.regions.hasTypes())g.setCollapseStateForType(x,u.FoldingRangeKind.Region.value,!0);else{const Y=K.getModel();if(!Y)return;let ee=s.LanguageConfigurationRegistry.getFoldingRules(Y.getLanguageIdentifier().id);if(ee&&ee.markers&&ee.markers.start){let se=new RegExp(ee.markers.start);g.setCollapseStateForMatchingLines(x,se,!0)}}}}class A extends f{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:b.localize(7,null),alias:"Unfold All Regions",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|30),weight:100}})}invoke(W,x,K){if(x.regions.hasTypes())g.setCollapseStateForType(x,u.FoldingRangeKind.Region.value,!1);else{const Y=K.getModel();if(!Y)return;let ee=s.LanguageConfigurationRegistry.getFoldingRules(Y.getLanguageIdentifier().id);if(ee&&ee.markers&&ee.markers.start){let se=new RegExp(ee.markers.start);g.setCollapseStateForMatchingLines(x,se,!1)}}}}class B extends f{constructor(){super({id:"editor.foldAll",label:b.localize(8,null),alias:"Fold All",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|21),weight:100}})}invoke(W,x,K){g.setCollapseStateLevelsDown(x,!0)}}class F extends f{constructor(){super({id:"editor.unfoldAll",label:b.localize(9,null),alias:"Unfold All",precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|40),weight:100}})}invoke(W,x,K){g.setCollapseStateLevelsDown(x,!1)}}class D extends f{getFoldingLevel(){return parseInt(this.id.substr(D.ID_PREFIX.length))}invoke(W,x,K){g.setCollapseStateAtLevel(x,this.getFoldingLevel(),!0,this.getSelectedLines(K))}}D.ID_PREFIX="editor.foldLevel",D.ID=R=>D.ID_PREFIX+R,d.registerEditorContribution(_.ID,_),d.registerEditorAction(y),d.registerEditorAction(L),d.registerEditorAction(I),d.registerEditorAction(E),d.registerEditorAction(B),d.registerEditorAction(F),d.registerEditorAction(T),d.registerEditorAction(O),d.registerEditorAction(A),d.registerEditorAction(k);for(let R=1;R<=7;R++)d.registerInstantiatedEditorAction(new D({id:D.ID(R),label:b.localize(10,null,R),alias:`Fold Level ${R}`,precondition:m,kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:S.KeyChord(2048|41,2048|21+R),weight:100}}));e.foldBackgroundBackground=h.registerColor("editor.foldBackground",{light:h.transparent(h.editorSelectionBackground,.3),dark:h.transparent(h.editorSelectionBackground,.3),hc:null},b.localize(11,null),!0),e.editorFoldForeground=h.registerColor("editorGutter.foldingControlForeground",{dark:h.iconForeground,light:h.iconForeground,hc:h.iconForeground},b.localize(12,null)),l.registerThemingParticipant((R,W)=>{const x=R.getColor(e.foldBackgroundBackground);x&&W.addRule(`.monaco-editor .folded-background { background-color: ${x}; }`);const K=R.getColor(e.editorFoldForeground);K&&W.addRule(` + .monaco-editor .cldr${l.ThemeIcon.asCSSSelector(p.foldingExpandedIcon)}, + .monaco-editor .cldr${l.ThemeIcon.asCSSSelector(p.foldingCollapsedIcon)} { + color: ${K} !important; + } + `)})}),define(Q[268],J([0,1,479,2,16,14,3,13,25,655,28,34,27,9,557,80]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NextMarkerAction=e.MarkerController=void 0;let r=class gt{constructor(v,y,L,I,k){this._markerNavigationService=y,this._contextKeyService=L,this._editorService=I,this._instantiationService=k,this._sessionDispoables=new N.DisposableStore,this._editor=v,this._widgetVisible=m.bindTo(this._contextKeyService)}static get(v){return v.getContribution(gt.ID)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(v){if(this._model&&this._model.matches(v))return this._model;let y=!1;return this._model&&(y=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(v),y&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(g.MarkerNavigationWidget,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(L=>{var I,k,E;(!((I=this._model)===null||I===void 0?void 0:I.selected)||!S.Range.containsPosition((k=this._model)===null||k===void 0?void 0:k.selected.marker,L.position))&&((E=this._model)===null||E===void 0||E.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!(!this._widget||!this._widget.position||!this._model)){const L=this._model.find(this._editor.getModel().uri,this._widget.position);L?this._widget.updateMarker(L.marker):this._widget.showStale()}})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(L=>{this._editorService.openCodeEditor({resource:L.resource,options:{pinned:!0,revealIfOpened:!0,selection:S.Range.lift(L).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(v=!0){this._cleanUp(),v&&this._editor.focus()}showAtMarker(v){if(this._editor.hasModel()){const y=this._getOrCreateModel(this._editor.getModel().uri);y.resetIndex(),y.move(!0,this._editor.getModel(),new w.Position(v.startLineNumber,v.startColumn)),y.selected&&this._widget.showAtMarker(y.selected.marker,y.selected.index,y.selected.total)}}nagivate(v,y){return Ie(this,void 0,void 0,function*(){if(this._editor.hasModel()){const L=this._getOrCreateModel(y?void 0:this._editor.getModel().uri);if(L.move(v,this._editor.getModel(),this._editor.getPosition()),!L.selected)return;if(L.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const I=yield this._editorService.openCodeEditor({resource:L.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:L.selected.marker}},this._editor);I&&(gt.get(I).close(),gt.get(I).nagivate(v,y))}else this._widget.showAtMarker(L.selected.marker,L.selected.index,L.selected.total)}})}};r.ID="editor.contrib.markerController",r=Me([_e(1,a.IMarkerNavigationService),_e(2,M.IContextKeyService),_e(3,p.ICodeEditorService),_e(4,s.IInstantiationService)],r),e.MarkerController=r;class i extends C.EditorAction{constructor(v,y,L){super(L);this._next=v,this._multiFile=y}run(v,y){return Ie(this,void 0,void 0,function*(){y.hasModel()&&r.get(y).nagivate(this._next,this._multiFile)})}}class n extends i{constructor(){super(!0,!1,{id:n.ID,label:n.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:d.EditorContextKeys.focus,primary:512|66,weight:100},menuOpts:{menuId:g.MarkerNavigationWidget.TitleMenu,title:n.LABEL,icon:u.registerIcon("marker-navigation-next",o.Codicon.chevronDown,b.localize(1,null)),group:"navigation",order:1}})}}e.NextMarkerAction=n,n.ID="editor.action.marker.next",n.LABEL=b.localize(0,null);class t extends i{constructor(){super(!1,!1,{id:t.ID,label:t.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:d.EditorContextKeys.focus,primary:1024|512|66,weight:100},menuOpts:{menuId:g.MarkerNavigationWidget.TitleMenu,title:n.LABEL,icon:u.registerIcon("marker-navigation-previous",o.Codicon.chevronUp,b.localize(3,null)),group:"navigation",order:2}})}}t.ID="editor.action.marker.prev",t.LABEL=b.localize(2,null);class l extends i{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:b.localize(4,null),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:d.EditorContextKeys.focus,primary:66,weight:100},menuOpts:{menuId:c.MenuId.MenubarGoMenu,title:b.localize(5,null),group:"6_problem_nav",order:1}})}}class h extends i{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:b.localize(6,null),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:d.EditorContextKeys.focus,primary:1024|66,weight:100},menuOpts:{menuId:c.MenuId.MenubarGoMenu,title:b.localize(7,null),group:"6_problem_nav",order:2}})}}C.registerEditorContribution(r.ID,r),C.registerEditorAction(n),C.registerEditorAction(t),C.registerEditorAction(l),C.registerEditorAction(h);const m=new M.RawContextKey("markersNavigationVisible",!1),_=C.EditorCommand.bindToContribution(r.get);C.registerEditorCommand(new _({id:"closeMarkersNavigation",precondition:m,handler:f=>f.close(),kbOpts:{weight:100+50,kbExpr:d.EditorContextKeys.focus,primary:9,secondary:[1024|9]}}))}),define(Q[660],J([0,1,490,7,2,3,19,85,44,178,12,58,268,37,15,145,263,130,59,209]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerHoverParticipant=e.MarkerHover=void 0;const l=N.$;class h{constructor(v,y){this.range=v,this.marker=y}equals(v){return v instanceof h?C.IMarkerData.makeKey(this.marker)===C.IMarkerData.makeKey(v.marker):!1}}e.MarkerHover=h;const m={type:2,filter:{include:i.CodeActionKind.QuickFix}};let _=class{constructor(v,y,L,I,k){this._editor=v,this._hover=y,this._markerDecorationsService=L,this._keybindingService=I,this._openerService=k,this.recentMarkerCodeActionsInfo=void 0}computeSync(v,y){if(!this._editor.hasModel())return[];const L=this._editor.getModel(),I=v.startLineNumber,k=L.getLineMaxColumn(I),E=[];for(const T of y){const O=T.range.startLineNumber===I?T.range.startColumn:1,A=T.range.endLineNumber===I?T.range.endColumn:k,B=this._markerDecorationsService.getMarker(L.uri,T);if(!!B){const F=new w.Range(v.startLineNumber,O,v.startLineNumber,A);E.push(new h(F,B))}}return E}renderHoverParts(v,y){if(!v.length)return M.Disposable.None;const L=new M.DisposableStore;v.forEach(k=>y.appendChild(this.renderMarkerHover(k,L)));const I=v.length===1?v[0]:v.sort((k,E)=>C.MarkerSeverity.compare(k.marker.severity,E.marker.severity))[0];return y.appendChild(this.renderMarkerStatusbar(I,L)),L}renderMarkerHover(v,y){const L=l("div.hover-row"),I=N.append(L,l("div.marker.hover-contents")),{source:k,message:E,code:T,relatedInformation:O}=v.marker;this._editor.applyFontInfo(I);const A=N.append(I,l("span"));if(A.style.whiteSpace="pre-wrap",A.innerText=E,k||T)if(T&&typeof T!="string"){const B=l("span");if(k){const W=N.append(B,l("span"));W.innerText=k}const F=N.append(B,l("a.code-link"));F.setAttribute("href",T.target.toString()),y.add(N.addDisposableListener(F,"click",W=>{this._openerService.open(T.target),W.preventDefault(),W.stopPropagation()}));const D=N.append(F,l("span"));D.innerText=T.value;const R=N.append(I,B);R.style.opacity="0.6",R.style.paddingLeft="6px"}else{const B=N.append(I,l("span"));B.style.opacity="0.6",B.style.paddingLeft="6px",B.innerText=k&&T?`${k}(${T})`:k||`(${T})`}if(S.isNonEmptyArray(O))for(const{message:B,resource:F,startLineNumber:D,startColumn:R}of O){const W=N.append(I,l("div"));W.style.marginTop="8px";const x=N.append(W,l("a"));x.innerText=`${d.basename(F)}(${D}, ${R}): `,x.style.cursor="pointer",y.add(N.addDisposableListener(x,"click",Y=>{Y.stopPropagation(),Y.preventDefault(),this._openerService&&this._openerService.open(F,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:D,startColumn:R}}}).catch(p.onUnexpectedError)}));const K=N.append(W,l("span"));K.innerText=B,this._editor.applyFontInfo(K)}return L}renderMarkerStatusbar(v,y){const L=l("div.hover-row.status-bar"),I=N.append(L,l("div.actions"));if((v.marker.severity===C.MarkerSeverity.Error||v.marker.severity===C.MarkerSeverity.Warning||v.marker.severity===C.MarkerSeverity.Info)&&y.add(this.renderAction(I,{label:b.localize(0,null),commandId:o.NextMarkerAction.ID,run:()=>{this._hover.hide(),o.MarkerController.get(this._editor).showAtMarker(v.marker),this._editor.focus()}})),!this._editor.getOption(75)){const k=N.append(I,l("div"));this.recentMarkerCodeActionsInfo&&(C.IMarkerData.makeKey(this.recentMarkerCodeActionsInfo.marker)===C.IMarkerData.makeKey(v.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(k.textContent=b.localize(1,null)):this.recentMarkerCodeActionsInfo=void 0);const E=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?M.Disposable.None:y.add(a.disposableTimeout(()=>k.textContent=b.localize(2,null),200));k.textContent||(k.textContent=String.fromCharCode(160));const T=this.getCodeActions(v.marker);y.add(M.toDisposable(()=>T.cancel())),T.then(O=>{if(E.dispose(),this.recentMarkerCodeActionsInfo={marker:v.marker,hasCodeActions:O.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){O.dispose(),k.textContent=b.localize(3,null);return}k.style.display="none";let A=!1;y.add(M.toDisposable(()=>{A||O.dispose()})),y.add(this.renderAction(I,{label:b.localize(4,null),commandId:r.QuickFixAction.Id,run:B=>{A=!0;const F=r.QuickFixController.get(this._editor),D=N.getDomNodePagePosition(B);this._hover.hide(),F.showCodeActions(m,O,{x:D.left+6,y:D.top+D.height+6})}}))})}return L}renderAction(v,y){const L=this._keybindingService.lookupKeybinding(y.commandId),I=L?L.getLabel():null;return t.renderHoverAction(v,y,I)}getCodeActions(v){return a.createCancelablePromise(y=>u.getCodeActions(this._editor.getModel(),new w.Range(v.startLineNumber,v.startColumn,v.endLineNumber,v.endColumn),m,n.Progress.None,y))}};_=Me([_e(2,g.IMarkerDecorationsService),_e(3,s.IKeybindingService),_e(4,c.IOpenerService)],_),e.MarkerHoverParticipant=_}),define(Q[661],J([0,1,7,23,29,2,14,3,31,18,249,260,400,597,228,11,19,22,52,209,660,627]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ModesContentHoverWidget=void 0;class m{constructor(I,k,E){this.range=I,this.color=k,this.provider=E}equals(I){return!1}}class _{constructor(I,k){this.owner=I,this.data=k}}class f{constructor(I,k,E){this._markerHoverParticipant=k,this._markdownHoverParticipant=E,this._editor=I,this._result=[],this._range=null}setRange(I){this._range=I,this._result=[]}clearResult(){this._result=[]}computeAsync(I){return Ie(this,void 0,void 0,function*(){return!this._editor.hasModel()||!this._range?Promise.resolve([]):(yield this._markdownHoverParticipant.computeAsync(this._range,I)).map(E=>new _(this._markdownHoverParticipant,E))})}computeSync(){if(!this._editor.hasModel()||!this._range)return[];const I=this._editor.getModel(),k=this._range,E=k.startLineNumber;if(E>this._editor.getModel().getLineCount())return[];const T=I.getLineMaxColumn(E),O=this._editor.getLineDecorations(E).filter(R=>{if(R.options.isWholeLine)return!0;const W=R.range.startLineNumber===E?R.range.startColumn:1,x=R.range.endLineNumber===E?R.range.endColumn:T;return!(W>k.startColumn||k.endColumn>x)});let A=[];const B=c.ColorDetector.get(this._editor);for(const R of O){const W=B.getColorData(R.range.getStartPosition());if(W){const{color:x,range:K}=W.colorInfo;A.push(new _(null,new m(C.Range.lift(K),x,W.provider)));break}}const F=this._markdownHoverParticipant.computeSync(this._range,O);A=A.concat(F.map(R=>new _(this._markdownHoverParticipant,R)));const D=this._markerHoverParticipant.computeSync(this._range,O);return A=A.concat(D.map(R=>new _(this._markerHoverParticipant,R))),r.coalesce(A)}onResult(I,k){k?this._result=I.concat(this._result):this._result=this._result.concat(I)}getResult(){return this._result.slice(0)}getResultWithLoadingMessage(){if(this._range){const I=new _(this._markdownHoverParticipant,this._markdownHoverParticipant.createLoadingMessage(this._range));return this._result.slice(0).concat([I])}return this._result.slice(0)}}class v extends n.Widget{constructor(I,k,E,T){super();this._hoverVisibleKey=k,this._themeService=T,this.allowEditorOverflow=!0,this._markerHoverParticipant=E.createInstance(l.MarkerHoverParticipant,I,this),this._markdownHoverParticipant=E.createInstance(h.MarkdownHoverParticipant,I,this),this._hover=this._register(new t.HoverWidget),this._id=v.ID,this._editor=I,this._isVisible=!1,this._stoleFocus=!1,this._renderDisposable=null,this.onkeydown(this._hover.containerDomNode,O=>{O.equals(9)&&this.hide()}),this._register(this._editor.onDidChangeConfiguration(O=>{O.hasChanged(38)&&this._updateFont()})),this._editor.onDidLayoutChange(()=>this.layout()),this.layout(),this._editor.addContentWidget(this),this._showAtPosition=null,this._showAtRange=null,this._stoleFocus=!1,this._messages=[],this._lastRange=null,this._computer=new f(this._editor,this._markerHoverParticipant,this._markdownHoverParticipant),this._highlightDecorations=[],this._isChangingDecorations=!1,this._shouldFocus=!1,this._colorPicker=null,this._hoverOperation=new a.HoverOperation(this._computer,O=>this._withResult(O,!0),null,O=>this._withResult(O,!1),this._editor.getOption(48).delay),this._register(b.addStandardDisposableListener(this.getDomNode(),b.EventType.FOCUS,()=>{this._colorPicker&&this.getDomNode().classList.add("colorpicker-hover")})),this._register(b.addStandardDisposableListener(this.getDomNode(),b.EventType.BLUR,()=>{this.getDomNode().classList.remove("colorpicker-hover")})),this._register(I.onDidChangeConfiguration(()=>{this._hoverOperation.setHoverTime(this._editor.getOption(48).delay)})),this._register(g.TokenizationRegistry.onDidChange(()=>{this._isVisible&&this._lastRange&&this._messages.length>0&&(this._messages=this._messages.map(O=>{var A,B;if(O.data instanceof m&&!!((A=this._lastRange)===null||A===void 0?void 0:A.intersectRanges(O.data.range))&&((B=this._colorPicker)===null||B===void 0?void 0:B.model.color)){const F=this._colorPicker.model.color,D={red:F.rgba.r/255,green:F.rgba.g/255,blue:F.rgba.b/255,alpha:F.rgba.a};return new _(O.owner,new m(O.data.range,D,O.data.provider))}else return O}),this._hover.contentsDomNode.textContent="",this._renderMessages(this._lastRange,this._messages))}))}dispose(){this._hoverOperation.cancel(),this._editor.removeContentWidget(this),super.dispose()}getId(){return this._id}getDomNode(){return this._hover.containerDomNode}showAt(I,k,E){this._showAtPosition=I,this._showAtRange=k,this._hoverVisibleKey.set(!0),this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=E,E&&this._hover.containerDomNode.focus()}getPosition(){return this._isVisible?{position:this._showAtPosition,range:this._showAtRange,preference:[1,2]}:null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(k=>this._editor.applyFontInfo(k))}_updateContents(I){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(I),this._updateFont(),this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}layout(){const I=Math.max(this._editor.getLayoutInfo().height/4,250),{fontSize:k,lineHeight:E}=this._editor.getOption(38);this._hover.contentsDomNode.style.fontSize=`${k}px`,this._hover.contentsDomNode.style.lineHeight=`${E}px`,this._hover.contentsDomNode.style.maxHeight=`${I}px`,this._hover.contentsDomNode.style.maxWidth=`${Math.max(this._editor.getLayoutInfo().width*.66,500)}px`}onModelDecorationsChanged(){this._isChangingDecorations||this._isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start(0))}startShowingAt(I,k,E){if(!(this._lastRange&&this._lastRange.equalsRange(I))){if(this._hoverOperation.cancel(),this._isVisible)if(!this._showAtPosition||this._showAtPosition.lineNumber!==I.startLineNumber)this.hide();else{let T=[];for(let O=0,A=this._messages.length;O=I.endColumn&&T.push(B)}if(T.length>0){if(y(T,this._messages))return;this._renderMessages(I,T)}else this.hide()}this._lastRange=I,this._computer.setRange(I),this._shouldFocus=E,this._hoverOperation.start(k)}}hide(){this._lastRange=null,this._hoverOperation.cancel(),this._isVisible&&(setTimeout(()=>{this._isVisible||this._hoverVisibleKey.set(!1)},0),this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus()),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[]),this._isChangingDecorations=!1,this._renderDisposable&&(this._renderDisposable.dispose(),this._renderDisposable=null),this._colorPicker=null}isColorPickerVisible(){return!!this._colorPicker}onContentsChanged(){this._hover.onContentsChanged()}_withResult(I,k){this._messages=I,this._lastRange&&this._messages.length>0?this._renderMessages(this._lastRange,this._messages):k&&this.hide()}_renderMessages(I,k){this._renderDisposable&&(this._renderDisposable.dispose(),this._renderDisposable=null),this._colorPicker=null;let E=1073741824,T=k[0].data.range?C.Range.lift(k[0].data.range):null,O=document.createDocumentFragment(),A=!1;const B=new w.DisposableStore,F=[],D=[];k.forEach(R=>{const W=R.data;if(!!W.range)if(E=Math.min(E,W.range.startColumn),T=T?C.Range.plusRange(T,W.range):C.Range.lift(W.range),W instanceof m){A=!0;const{red:x,green:K,blue:Y,alpha:ee}=W.color,se=new M.RGBA(Math.round(x*255),Math.round(K*255),Math.round(Y*255),ee),ne=new M.Color(se);if(!this._editor.hasModel())return;const le=this._editor.getModel();let X=new C.Range(W.range.startLineNumber,W.range.startColumn,W.range.endLineNumber,W.range.endColumn),z={range:W.range,color:W.color};const P=new o.ColorPickerModel(ne,[],0),V=new s.ColorPickerWidget(O,P,this._editor.getOption(122),this._themeService);p.getColorPresentations(le,z,W.provider,N.CancellationToken.None).then(U=>{if(P.colorPresentations=U||[],!!this._editor.hasModel()){const H=this._editor.getModel().getValueInRange(W.range);P.guessColorPresentation(ne,H);const $=()=>{let G,j;if(P.presentation.textEdit){G=[P.presentation.textEdit],j=new C.Range(P.presentation.textEdit.range.startLineNumber,P.presentation.textEdit.range.startColumn,P.presentation.textEdit.range.endLineNumber,P.presentation.textEdit.range.endColumn);const te=this._editor.getModel()._setTrackedRange(null,j,3);this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",G),j=this._editor.getModel()._getTrackedRange(te)||j}else G=[{identifier:null,range:X,text:P.presentation.label,forceMoveMarkers:!1}],j=X.setEndPosition(X.endLineNumber,X.startColumn+P.presentation.label.length),this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",G);P.presentation.additionalTextEdits&&(G=[...P.presentation.additionalTextEdits],this._editor.executeEdits("colorpicker",G),this.hide()),this._editor.pushUndoStop(),X=j},ie=G=>p.getColorPresentations(le,{range:X,color:{red:G.rgba.r/255,green:G.rgba.g/255,blue:G.rgba.b/255,alpha:G.rgba.a}},W.provider,N.CancellationToken.None).then(j=>{P.colorPresentations=j||[]}),oe=P.onColorFlushed(G=>{ie(G).then($)}),ae=P.onDidChangeColor(ie);this._colorPicker=V,this.showAt(X.getStartPosition(),X,this._shouldFocus),this._updateContents(O),this._colorPicker.layout(),this._renderDisposable=w.combinedDisposable(oe,ae,V,B)}})}else W instanceof l.MarkerHover?F.push(W):W instanceof h.MarkdownHover&&D.push(W)}),D.length>0&&B.add(this._markdownHoverParticipant.renderHoverParts(D,O)),F.length&&B.add(this._markerHoverParticipant.renderHoverParts(F,O)),this._renderDisposable=B,!A&&O.hasChildNodes()&&(this.showAt(new S.Position(I.startLineNumber,E),T,this._shouldFocus),this._updateContents(O)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,T?[{range:T,options:v._DECORATION_OPTIONS}]:[]),this._isChangingDecorations=!1}}e.ModesContentHoverWidget=v,v.ID="editor.contrib.modesContentHoverWidget",v._DECORATION_OPTIONS=d.ModelDecorationOptions.register({className:"hoverHighlight"});function y(L,I){if(L.length!==I.length)return!1;for(let k=0;k{const k=L.getColor(i.textLinkForeground);k&&I.addRule(`.monaco-hover .hover-contents a.code-link span:hover { color: ${k}; }`)})}),define(Q[662],J([0,1,497,15,39,2,13,241,3,21,25,53,31,18,267,34,22,11,16]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionHighlighter=e.CompatChangeAll=e.SelectHighlightsAction=e.MoveSelectionToPreviousFindMatchAction=e.MoveSelectionToNextFindMatchAction=e.AddSelectionToPreviousFindMatchAction=e.AddSelectionToNextFindMatchAction=e.MultiCursorSelectionControllerAction=e.MultiCursorSelectionController=e.MultiCursorSession=e.MultiCursorSessionResult=e.InsertCursorBelow=e.InsertCursorAbove=void 0;class t extends S.EditorAction{constructor(){super({id:"editor.action.insertCursorAbove",label:b.localize(0,null),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2048|512|16,linux:{primary:1024|512|16,secondary:[2048|1024|16]},weight:100},menuOpts:{menuId:u.MenuId.MenubarSelectionMenu,group:"3_multi",title:b.localize(1,null),order:2}})}run(x,K,Y){if(!!K.hasModel()){const ee=Y&&Y.logicalLine===!0,se=K._getViewModel();se.cursorConfig.readOnly||(se.pushStackElement(),se.setCursorStates(Y.source,3,C.CursorMoveCommands.addCursorUp(se,se.getCursorStates(),ee)),se.revealTopMostCursor(Y.source))}}}e.InsertCursorAbove=t;class l extends S.EditorAction{constructor(){super({id:"editor.action.insertCursorBelow",label:b.localize(2,null),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2048|512|18,linux:{primary:1024|512|18,secondary:[2048|1024|18]},weight:100},menuOpts:{menuId:u.MenuId.MenubarSelectionMenu,group:"3_multi",title:b.localize(3,null),order:3}})}run(x,K,Y){if(!!K.hasModel()){const ee=Y&&Y.logicalLine===!0,se=K._getViewModel();se.cursorConfig.readOnly||(se.pushStackElement(),se.setCursorStates(Y.source,3,C.CursorMoveCommands.addCursorDown(se,se.getCursorStates(),ee)),se.revealBottomMostCursor(Y.source))}}}e.InsertCursorBelow=l;class h extends S.EditorAction{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:b.localize(4,null),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:1024|512|39,weight:100},menuOpts:{menuId:u.MenuId.MenubarSelectionMenu,group:"3_multi",title:b.localize(5,null),order:4}})}getCursorsForSelection(x,K,Y){if(!x.isEmpty()){for(let ee=x.startLineNumber;ee1&&Y.push(new g.Selection(x.endLineNumber,x.endColumn,x.endLineNumber,x.endColumn))}}run(x,K){if(!!K.hasModel()){const Y=K.getModel(),ee=K.getSelections();let se=[];ee.forEach(ne=>this.getCursorsForSelection(ne,Y,se)),se.length>0&&K.setSelections(se)}}}class m extends S.EditorAction{constructor(){super({id:"editor.action.addCursorsToBottom",label:b.localize(6,null),alias:"Add Cursors To Bottom",precondition:void 0})}run(x,K){if(!!K.hasModel()){const Y=K.getSelections(),ee=K.getModel().getLineCount();let se=[];for(let ne=Y[0].startLineNumber;ne<=ee;ne++)se.push(new g.Selection(ne,Y[0].startColumn,ne,Y[0].endColumn));se.length>0&&K.setSelections(se)}}}class _ extends S.EditorAction{constructor(){super({id:"editor.action.addCursorsToTop",label:b.localize(7,null),alias:"Add Cursors To Top",precondition:void 0})}run(x,K){if(!!K.hasModel()){const Y=K.getSelections();let ee=[];for(let se=Y[0].startLineNumber;se>=1;se--)ee.push(new g.Selection(se,Y[0].startColumn,se,Y[0].endColumn));ee.length>0&&K.setSelections(ee)}}}class f{constructor(x,K,Y){this.selections=x,this.revealRange=K,this.revealScrollType=Y}}e.MultiCursorSessionResult=f;class v{constructor(x,K,Y,ee,se,ne,le){this._editor=x,this.findController=K,this.isDisconnectedFromFindController=Y,this.searchText=ee,this.wholeWord=se,this.matchCase=ne,this.currentMatch=le}static create(x,K){if(!x.hasModel())return null;const Y=K.getState();if(!x.hasTextFocus()&&Y.isRevealed&&Y.searchString.length>0)return new v(x,K,!1,Y.searchString,Y.wholeWord,Y.matchCase,null);let ee=!1,se,ne;const le=x.getSelections();le.length===1&&le[0].isEmpty()?(ee=!0,se=!0,ne=!0):(se=Y.wholeWord,ne=Y.matchCase);const X=x.getSelection();let z,P=null;if(X.isEmpty()){const V=x.getConfiguredWordAtPosition(X.getStartPosition());if(!V)return null;z=V.word,P=new g.Selection(X.startLineNumber,V.startColumn,X.startLineNumber,V.endColumn)}else z=x.getModel().getValueInRange(X).replace(/\r\n/g,` +`);return new v(x,K,ee,z,se,ne,P)}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const x=this._getNextMatch();if(!x)return null;const K=this._editor.getSelections();return new f(K.concat(x),x,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const x=this._getNextMatch();if(!x)return null;const K=this._editor.getSelections();return new f(K.slice(0,K.length-1).concat(x),x,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const ee=this.currentMatch;return this.currentMatch=null,ee}this.findController.highlightFindOptions();const x=this._editor.getSelections(),K=x[x.length-1],Y=this._editor.getModel().findNextMatch(this.searchText,K.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(110):null,!1);return Y?new g.Selection(Y.range.startLineNumber,Y.range.startColumn,Y.range.endLineNumber,Y.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const x=this._getPreviousMatch();if(!x)return null;const K=this._editor.getSelections();return new f(K.concat(x),x,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const x=this._getPreviousMatch();if(!x)return null;const K=this._editor.getSelections();return new f(K.slice(0,K.length-1).concat(x),x,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const ee=this.currentMatch;return this.currentMatch=null,ee}this.findController.highlightFindOptions();const x=this._editor.getSelections(),K=x[x.length-1],Y=this._editor.getModel().findPreviousMatch(this.searchText,K.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(110):null,!1);return Y?new g.Selection(Y.range.startLineNumber,Y.range.startColumn,Y.range.endLineNumber,Y.range.endColumn):null}selectAll(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(110):null,!1,1073741824)):[]}}e.MultiCursorSession=v;class y extends w.Disposable{constructor(x){super();this._sessionDispose=this._register(new w.DisposableStore),this._editor=x,this._ignoreSelectionChange=!1,this._session=null}static get(x){return x.getContribution(y.ID)}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(x){if(!this._session){const K=v.create(this._editor,x);if(!K)return;this._session=K;const Y={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(Y.wholeWordOverride=1,Y.matchCaseOverride=1,Y.isRegexOverride=2),x.getState().change(Y,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(ee=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(x.getState().onFindReplaceStateChange(ee=>{(ee.matchCase||ee.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const x={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(x,!1)}this._session=null}_setSelections(x){this._ignoreSelectionChange=!0,this._editor.setSelections(x),this._ignoreSelectionChange=!1}_expandEmptyToWord(x,K){if(!K.isEmpty())return K;const Y=this._editor.getConfiguredWordAtPosition(K.getStartPosition());return Y?new g.Selection(K.startLineNumber,Y.startColumn,K.startLineNumber,Y.endColumn):K}_applySessionResult(x){!x||(this._setSelections(x.selections),x.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(x.revealRange,x.revealScrollType))}getSession(x){return this._session}addSelectionToNextFindMatch(x){if(!!this._editor.hasModel()){if(!this._session){const K=this._editor.getSelections();if(K.length>1){const ee=x.getState().matchCase;if(!D(this._editor.getModel(),K,ee)){const ne=this._editor.getModel();let le=[];for(let X=0,z=K.length;X0&&Y.isRegex)K=this._editor.getModel().findMatches(Y.searchString,!0,Y.isRegex,Y.matchCase,Y.wholeWord?this._editor.getOption(110):null,!1,1073741824);else{if(this._beginSessionIfNeeded(x),!this._session)return;K=this._session.selectAll()}if(Y.searchScope){const ee=Y.searchScope;let se=[];K.forEach(ne=>{ee.forEach(le=>{ne.range.endLineNumber<=le.endLineNumber&&ne.range.startLineNumber>=le.startLineNumber&&se.push(ne)})}),K=se}if(K.length>0){const ee=this._editor.getSelection();for(let se=0,ne=K.length;senew g.Selection(se.range.startLineNumber,se.range.startColumn,se.range.endLineNumber,se.range.endColumn)))}}}}e.MultiCursorSelectionController=y,y.ID="editor.contrib.multiCursorController";class L extends S.EditorAction{run(x,K){const Y=y.get(K);if(!!Y){const ee=a.CommonFindController.get(K);!ee||this._run(Y,ee)}}}e.MultiCursorSelectionControllerAction=L;class I extends L{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:b.localize(8,null),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:2048|34,weight:100},menuOpts:{menuId:u.MenuId.MenubarSelectionMenu,group:"3_multi",title:b.localize(9,null),order:5}})}_run(x,K){x.addSelectionToNextFindMatch(K)}}e.AddSelectionToNextFindMatchAction=I;class k extends L{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:b.localize(10,null),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:u.MenuId.MenubarSelectionMenu,group:"3_multi",title:b.localize(11,null),order:6}})}_run(x,K){x.addSelectionToPreviousFindMatch(K)}}e.AddSelectionToPreviousFindMatchAction=k;class E extends L{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:b.localize(12,null),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:M.KeyChord(2048|41,2048|34),weight:100}})}_run(x,K){x.moveSelectionToNextFindMatch(K)}}e.MoveSelectionToNextFindMatchAction=E;class T extends L{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:b.localize(13,null),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(x,K){x.moveSelectionToPreviousFindMatch(K)}}e.MoveSelectionToPreviousFindMatchAction=T;class O extends L{constructor(){super({id:"editor.action.selectHighlights",label:b.localize(14,null),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:2048|1024|42,weight:100},menuOpts:{menuId:u.MenuId.MenubarSelectionMenu,group:"3_multi",title:b.localize(15,null),order:7}})}_run(x,K){x.selectAll(K)}}e.SelectHighlightsAction=O;class A extends L{constructor(){super({id:"editor.action.changeAll",label:b.localize(16,null),alias:"Change All Occurrences",precondition:n.ContextKeyExpr.and(p.EditorContextKeys.writable,p.EditorContextKeys.editorTextFocus),kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2048|60,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(x,K){x.selectAll(K)}}e.CompatChangeAll=A;class B{constructor(x,K,Y,ee){this.searchText=x,this.matchCase=K,this.wordSeparators=Y,this.modelVersionId=ee}static softEquals(x,K){return!x&&!K?!0:!x||!K?!1:x.searchText===K.searchText&&x.matchCase===K.matchCase&&x.wordSeparators===K.wordSeparators&&x.modelVersionId===K.modelVersionId}}class F extends w.Disposable{constructor(x){super();this.editor=x,this._isEnabled=x.getOption(92),this.decorations=[],this.updateSoon=this._register(new N.RunOnceScheduler(()=>this._update(),300)),this.state=null,this._register(x.onDidChangeConfiguration(K=>{this._isEnabled=x.getOption(92)})),this._register(x.onDidChangeCursorSelection(K=>{!this._isEnabled||(K.selection.isEmpty()?K.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(x.onDidChangeModel(K=>{this._setState(null)})),this._register(x.onDidChangeModelContent(K=>{this._isEnabled&&this.updateSoon.schedule()})),this._register(a.CommonFindController.get(x).getState().onFindReplaceStateChange(K=>{this._update()}))}_update(){this._setState(F._createState(this._isEnabled,this.editor))}static _createState(x,K){if(!x||!K.hasModel())return null;const Y=K.getSelection();if(Y.startLineNumber!==Y.endLineNumber)return null;const ee=y.get(K);if(!ee)return null;const se=a.CommonFindController.get(K);if(!se)return null;let ne=ee.getSession(se);if(!ne){const z=K.getSelections();if(z.length>1){const V=se.getState().matchCase;if(!D(K.getModel(),z,V))return null}ne=v.create(K,se)}if(!ne||ne.currentMatch||/^[ \t]+$/.test(ne.searchText)||ne.searchText.length>200)return null;const le=se.getState(),X=le.matchCase;if(le.isRevealed){let z=le.searchString;X||(z=z.toLowerCase());let P=ne.searchText;if(X||(P=P.toLowerCase()),z===P&&ne.matchCase===le.matchCase&&ne.wholeWord===le.wholeWord&&!le.isRegex)return null}return new B(ne.searchText,ne.matchCase,ne.wholeWord?K.getOption(110):null,K.getModel().getVersionId())}_setState(x){if(B.softEquals(this.state,x)){this.state=x;return}if(this.state=x,!this.state){this.decorations=this.editor.deltaDecorations(this.decorations,[]);return}if(!!this.editor.hasModel()){const K=this.editor.getModel();if(!K.isTooLargeForTokenization()){const Y=s.DocumentHighlightProviderRegistry.has(K)&&this.editor.getOption(66);let ee=K.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(X=>X.range);ee.sort(d.Range.compareRangesUsingStarts);let se=this.editor.getSelections();se.sort(d.Range.compareRangesUsingStarts);let ne=[];for(let X=0,z=0,P=ee.length,V=se.length;X=V)ne.push(U),X++;else{const H=d.Range.compareRangesUsingStarts(U,se[z]);H<0?((se[z].isEmpty()||!d.Range.areIntersecting(U,se[z]))&&ne.push(U),X++):(H>0||X++,z++)}}const le=ne.map(X=>({range:X,options:Y?F._SELECTION_HIGHLIGHT:F._SELECTION_HIGHLIGHT_OVERVIEW}));this.decorations=this.editor.deltaDecorations(this.decorations,le)}}}dispose(){this._setState(null),super.dispose()}}e.SelectionHighlighter=F,F.ID="editor.contrib.selectionHighlighter",F._SELECTION_HIGHLIGHT_OVERVIEW=o.ModelDecorationOptions.register({stickiness:1,className:"selectionHighlight",overviewRuler:{color:i.themeColorFromId(r.overviewRulerSelectionHighlightForeground),position:c.OverviewRulerLane.Center}}),F._SELECTION_HIGHLIGHT=o.ModelDecorationOptions.register({stickiness:1,className:"selectionHighlight"});function D(W,x,K){const Y=R(W,x[0],!K);for(let ee=1,se=x.length;ee{T?(this.show(),this.render(T)):this.hide()}))}createParamaterHintDOMNodes(){const L=m(".editor-widget.parameter-hints-widget"),I=b.append(L,m(".phwrapper"));I.tabIndex=-1;const k=b.append(I,m(".controls")),E=b.append(k,m(".button"+u.ThemeIcon.asCSSSelector(f))),T=b.append(k,m(".overloads")),O=b.append(k,m(".button"+u.ThemeIcon.asCSSSelector(_))),A=N.stop(N.domEvent(E,"click"));this._register(A(this.previous,this));const B=N.stop(N.domEvent(O,"click"));this._register(B(this.next,this));const F=m(".body"),D=new w.DomScrollableElement(F,{});this._register(D),I.appendChild(D.getDomNode());const R=b.append(F,m(".signature")),W=b.append(F,m(".docs"));L.style.userSelect="text",this.domNodes={element:L,signature:R,overloads:T,docs:W,scrollbar:D},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(K=>{this.visible&&this.editor.layoutContentWidget(this)}));const x=()=>{if(!!this.domNodes){const K=this.editor.getOption(38);this.domNodes.element.style.fontSize=`${K.fontSize}px`}};x(),this._register(S.Event.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(K=>K.hasChanged(38)).on(x,null)),this._register(this.editor.onDidLayoutChange(K=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParamaterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes&&this.domNodes.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),!!this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes&&this.domNodes.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(L){var I;if(this.renderDisposeables.clear(),!!this.domNodes){const k=L.signatures.length>1;this.domNodes.element.classList.toggle("multiple",k),this.keyMultipleSignatures.set(k),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const E=L.signatures[L.activeSignature];if(!!E){const T=b.append(this.domNodes.signature,m(".code")),O=this.editor.getOption(38);T.style.fontSize=`${O.fontSize}px`,T.style.fontFamily=O.fontFamily;const A=E.parameters.length>0,B=(I=E.activeParameter)!==null&&I!==void 0?I:L.activeParameter;if(A)this.renderParameters(T,E,B);else{const R=b.append(T,m("span"));R.textContent=E.label}const F=E.parameters[B];if(F==null?void 0:F.documentation){const R=m("span.documentation");if(typeof F.documentation=="string")R.textContent=F.documentation;else{const W=this.renderMarkdownDocs(F.documentation);R.appendChild(W.element)}b.append(this.domNodes.docs,m("p",{},R))}if(E.documentation!==void 0)if(typeof E.documentation=="string")b.append(this.domNodes.docs,m("p",{},E.documentation));else{const R=this.renderMarkdownDocs(E.documentation);b.append(this.domNodes.docs,R.element)}const D=this.hasDocs(E,F);if(this.domNodes.signature.classList.toggle("has-docs",D),this.domNodes.docs.classList.toggle("empty",!D),this.domNodes.overloads.textContent=String(L.activeSignature+1).padStart(L.signatures.length.toString().length,"0")+"/"+L.signatures.length,F){const R=this.getParameterLabel(E,B);this.announcedLabel!==R&&(M.alert(c.localize(2,null,R)),this.announcedLabel=R)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}}}renderMarkdownDocs(L){const I=this.renderDisposeables.add(this.markdownRenderer.render(L,{asyncRenderCallback:()=>{var k;(k=this.domNodes)===null||k===void 0||k.scrollbar.scanDomNode()}}));return I.element.classList.add("markdown-docs"),I}hasDocs(L,I){return!!(I&&typeof I.documentation=="string"&&t.assertIsDefined(I.documentation).length>0||I&&typeof I.documentation=="object"&&t.assertIsDefined(I.documentation).value.length>0||L.documentation&&typeof L.documentation=="string"&&t.assertIsDefined(L.documentation).length>0||L.documentation&&typeof L.documentation=="object"&&t.assertIsDefined(L.documentation.value).length>0)}renderParameters(L,I,k){const[E,T]=this.getParameterLabelOffsets(I,k),O=document.createElement("span");O.textContent=I.label.substring(0,E);const A=document.createElement("span");A.textContent=I.label.substring(E,T),A.className="parameter active";const B=document.createElement("span");B.textContent=I.label.substring(T),b.append(L,O,A,B)}getParameterLabel(L,I){const k=L.parameters[I];return Array.isArray(k.label)?L.label.substring(k.label[0],k.label[1]):k.label}getParameterLabelOffsets(L,I){const k=L.parameters[I];if(k){if(Array.isArray(k.label))return k.label;if(k.label.length){const E=new RegExp(`(\\W|^)${i.escapeRegExpCharacters(k.label)}(?=\\W|$)`,"g");E.test(L.label);const T=E.lastIndex-k.label.length;return T>=0?[T,E.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}cancel(){this.model.cancel()}getDomNode(){return this.domNodes||this.createParamaterHintDOMNodes(),this.domNodes.element}getId(){return jt.ID}trigger(L){this.model.trigger(L,0)}updateMaxHeight(){if(!!this.domNodes){const I=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=I;const k=this.domNodes.element.getElementsByClassName("phwrapper");k.length&&(k[0].style.maxHeight=I)}}};v.ID="editor.widget.parameterHintsWidget",v=Me([_e(1,o.IContextKeyService),_e(2,s.IOpenerService),_e(3,d.IModeService)],v),e.ParameterHintsWidget=v,u.registerThemingParticipant((y,L)=>{const I=y.getColor(a.editorHoverBorder);if(I){const A=y.type===l.ColorScheme.HIGH_CONTRAST?2:1;L.addRule(`.monaco-editor .parameter-hints-widget { border: ${A}px solid ${I}; }`),L.addRule(`.monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid ${I.transparent(.5)}; }`),L.addRule(`.monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid ${I.transparent(.5)}; }`)}const k=y.getColor(a.editorHoverBackground);k&&L.addRule(`.monaco-editor .parameter-hints-widget { background-color: ${k}; }`);const E=y.getColor(a.textLinkForeground);E&&L.addRule(`.monaco-editor .parameter-hints-widget a { color: ${E}; }`);const T=y.getColor(a.editorHoverForeground);T&&L.addRule(`.monaco-editor .parameter-hints-widget { color: ${T}; }`);const O=y.getColor(a.textCodeBlockBackground);O&&L.addRule(`.monaco-editor .parameter-hints-widget code { background-color: ${O}; }`)})}),define(Q[664],J([0,1,498,2,9,25,16,13,663,183,18]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TriggerParameterHintsAction=void 0;let c=class Gt extends N.Disposable{constructor(r,i){super();this.editor=r,this.widget=this._register(i.createInstance(d.ParameterHintsWidget,this.editor))}static get(r){return r.getContribution(Gt.ID)}cancel(){this.widget.cancel()}previous(){this.widget.previous()}next(){this.widget.next()}trigger(r){this.widget.trigger(r)}};c.ID="editor.controller.parameterHints",c=Me([_e(1,M.IInstantiationService)],c);class o extends C.EditorAction{constructor(){super({id:"editor.action.triggerParameterHints",label:b.localize(0,null),alias:"Trigger Parameter Hints",precondition:w.EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:w.EditorContextKeys.editorTextFocus,primary:2048|1024|10,weight:100}})}run(r,i){const n=c.get(i);n&&n.trigger({triggerKind:p.SignatureHelpTriggerKind.Invoke})}}e.TriggerParameterHintsAction=o,C.registerEditorContribution(c.ID,c),C.registerEditorAction(o);const s=100+75,a=C.EditorCommand.bindToContribution(c.get);C.registerEditorCommand(new a({id:"closeParameterHints",precondition:g.Context.Visible,handler:u=>u.cancel(),kbOpts:{weight:s,kbExpr:w.EditorContextKeys.focus,primary:9,secondary:[1024|9]}})),C.registerEditorCommand(new a({id:"showPrevParameterHint",precondition:S.ContextKeyExpr.and(g.Context.Visible,g.Context.MultipleSignatures),handler:u=>u.previous(),kbOpts:{weight:s,kbExpr:w.EditorContextKeys.focus,primary:16,secondary:[512|16],mac:{primary:16,secondary:[512|16,256|46]}}})),C.registerEditorCommand(new a({id:"showNextParameterHint",precondition:S.ContextKeyExpr.and(g.Context.Visible,g.Context.MultipleSignatures),handler:u=>u.next(),kbOpts:{weight:s,kbExpr:w.EditorContextKeys.focus,primary:18,secondary:[512|18],mac:{primary:18,secondary:[512|18,256|44]}}}))}),define(Q[665],J([0,1,510,66,2,7,11,57,18,175,562,36,24,237,19,254,27,6,80]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n){"use strict";var t;Object.defineProperty(e,"__esModule",{value:!0}),e.ItemRenderer=e.suggestMoreInfoIcon=e.getAriaId=void 0;function l(_){return`suggest-aria-id:${_}`}e.getAriaId=l,e.suggestMoreInfoIcon=n.registerIcon("suggest-more-info",r.Codicon.chevronRight,b.localize(0,null));const h=new(t=class ft{extract(f,v){if(f.textLabel.match(ft._regexStrict))return v[0]=f.textLabel,!0;if(f.completion.detail&&f.completion.detail.match(ft._regexStrict))return v[0]=f.completion.detail,!0;if(typeof f.completion.documentation=="string"){const y=ft._regexRelaxed.exec(f.completion.documentation);if(y&&(y.index===0||y.index+y[0].length===f.completion.documentation.length))return v[0]=y[0],!0}return!1}},t._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,t._regexStrict=new RegExp(`^${t._regexRelaxed.source}$`,"i"),t);let m=class{constructor(f,v,y,L){this._editor=f,this._modelService=v,this._modeService=y,this._themeService=L,this._onDidToggleDetails=new i.Emitter,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(f){const v=Object.create(null);v.disposables=new M.DisposableStore,v.root=f,v.root.classList.add("show-file-icons"),v.icon=w.append(f,w.$(".icon")),v.colorspan=w.append(v.icon,w.$("span.colorspan"));const y=w.append(f,w.$(".contents")),L=w.append(y,w.$(".main"));v.iconContainer=w.append(L,w.$(".icon-label.codicon")),v.left=w.append(L,w.$("span.left")),v.right=w.append(L,w.$("span.right")),v.iconLabel=new g.IconLabel(v.left,{supportHighlights:!0,supportIcons:!0}),v.disposables.add(v.iconLabel),v.parametersLabel=w.append(v.left,w.$("span.signature-label")),v.qualifierLabel=w.append(v.left,w.$("span.qualifier-label")),v.detailsLabel=w.append(v.right,w.$("span.details-label")),v.readMore=w.append(v.right,w.$("span.readMore"+S.ThemeIcon.asCSSSelector(e.suggestMoreInfoIcon))),v.readMore.title=b.localize(1,null);const I=()=>{const k=this._editor.getOptions(),E=k.get(38),T=E.fontFamily,O=E.fontFeatureSettings,A=k.get(102)||E.fontSize,B=k.get(103)||E.lineHeight,F=E.fontWeight,D=`${A}px`,R=`${B}px`;v.root.style.fontSize=D,v.root.style.fontWeight=F,L.style.fontFamily=T,L.style.fontFeatureSettings=O,L.style.lineHeight=R,v.icon.style.height=R,v.icon.style.width=R,v.readMore.style.height=R,v.readMore.style.width=R};return I(),v.disposables.add(this._editor.onDidChangeConfiguration(k=>{(k.hasChanged(38)||k.hasChanged(102)||k.hasChanged(103))&&I()})),v}renderElement(f,v,y){var L,I,k;const{completion:E}=f,T=typeof E.label=="string"?E.label:E.label.name;y.root.id=l(v),y.colorspan.style.backgroundColor="";const O={labelEscapeNewLines:!0,matches:N.createMatches(f.score)};let A=[];if(E.kind===19&&h.extract(f,A))y.icon.className="icon customcolor",y.iconContainer.className="icon hide",y.colorspan.style.backgroundColor=A[0];else if(E.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){y.icon.className="icon hide",y.iconContainer.className="icon hide";const B=p.getIconClasses(this._modelService,this._modeService,o.URI.from({scheme:"fake",path:T}),s.FileKind.FILE),F=p.getIconClasses(this._modelService,this._modeService,o.URI.from({scheme:"fake",path:E.detail}),s.FileKind.FILE);O.extraClasses=B.length>F.length?B:F}else E.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(y.icon.className="icon hide",y.iconContainer.className="icon hide",O.extraClasses=a.flatten([p.getIconClasses(this._modelService,this._modeService,o.URI.from({scheme:"fake",path:T}),s.FileKind.FOLDER),p.getIconClasses(this._modelService,this._modeService,o.URI.from({scheme:"fake",path:E.detail}),s.FileKind.FOLDER)])):(y.icon.className="icon hide",y.iconContainer.className="",y.iconContainer.classList.add("suggest-icon",...d.completionKindToCssClass(E.kind).split(" ")));E.tags&&E.tags.indexOf(1)>=0&&(O.extraClasses=(O.extraClasses||[]).concat(["deprecated"]),O.matches=[]),y.iconLabel.setLabel(T,void 0,O),typeof E.label=="string"?(y.parametersLabel.textContent="",y.qualifierLabel.textContent="",y.detailsLabel.textContent=(E.detail||"").replace(/\n.*$/m,""),y.root.classList.add("string-label"),y.root.title=""):(y.parametersLabel.textContent=(E.label.parameters||"").replace(/\n.*$/m,""),y.qualifierLabel.textContent=(E.label.qualifier||"").replace(/\n.*$/m,""),y.detailsLabel.textContent=(E.label.type||"").replace(/\n.*$/m,""),y.root.classList.remove("string-label"),y.root.title=`${T}${(L=E.label.parameters)!==null&&L!==void 0?L:""} ${(I=E.label.qualifier)!==null&&I!==void 0?I:""} ${(k=E.label.type)!==null&&k!==void 0?k:""}`),this._editor.getOption(101).showInlineDetails?w.show(y.detailsLabel):w.hide(y.detailsLabel),u.canExpandCompletionItem(f)?(y.right.classList.add("can-expand-details"),w.show(y.readMore),y.readMore.onmousedown=B=>{B.stopPropagation(),B.preventDefault()},y.readMore.onclick=B=>{B.stopPropagation(),B.preventDefault(),this._onDidToggleDetails.fire()}):(y.right.classList.remove("can-expand-details"),w.hide(y.readMore),y.readMore.onmousedown=null,y.readMore.onclick=null)}disposeTemplate(f){f.disposables.dispose()}};m=Me([_e(1,c.IModelService),_e(2,C.IModeService),_e(3,S.IThemeService)],m),e.ItemRenderer=m}),define(Q[666],J([0,1,508,8,7,6,12,2,105,16,117,116,11,22,79,15,9,254,649,665,231,144,100,352,123,259]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestContentWidget=e.SuggestWidget=e.editorSuggestWidgetHighlightForeground=e.editorSuggestWidgetSelectedBackground=e.editorSuggestWidgetForeground=e.editorSuggestWidgetBorder=e.editorSuggestWidgetBackground=void 0,e.editorSuggestWidgetBackground=s.registerColor("editorSuggestWidget.background",{dark:s.editorWidgetBackground,light:s.editorWidgetBackground,hc:s.editorWidgetBackground},b.localize(0,null)),e.editorSuggestWidgetBorder=s.registerColor("editorSuggestWidget.border",{dark:s.editorWidgetBorder,light:s.editorWidgetBorder,hc:s.editorWidgetBorder},b.localize(1,null)),e.editorSuggestWidgetForeground=s.registerColor("editorSuggestWidget.foreground",{dark:s.editorForeground,light:s.editorForeground,hc:s.editorForeground},b.localize(2,null)),e.editorSuggestWidgetSelectedBackground=s.registerColor("editorSuggestWidget.selectedBackground",{dark:s.quickInputListFocusBackground,light:s.quickInputListFocusBackground,hc:s.quickInputListFocusBackground},b.localize(3,null)),e.editorSuggestWidgetHighlightForeground=s.registerColor("editorSuggestWidget.highlightForeground",{dark:s.listHighlightForeground,light:s.listHighlightForeground,hc:s.listHighlightForeground},b.localize(4,null));class _{constructor(L,I){this._service=L,this._key=`suggestWidget.size/${I.getEditorType()}/${I instanceof h.EmbeddedCodeEditorWidget}`}restore(){var L;const I=(L=this._service.get(this._key,0))!==null&&L!==void 0?L:"";try{const k=JSON.parse(I);if(M.Dimension.is(k))return M.Dimension.lift(k)}catch(k){}}store(L){this._service.store(this._key,JSON.stringify(L),0,1)}reset(){this._service.remove(this._key,0)}}let f=class wt{constructor(L,I,k,E,T){this.editor=L,this._storageService=I,this._state=0,this._isAuto=!1,this._ignoreFocusEvents=!1,this._explainMode=!1,this._showTimeout=new u.TimeoutTimer,this._disposables=new C.DisposableStore,this._onDidSelect=new w.Emitter,this._onDidFocus=new w.Emitter,this._onDidHide=new w.Emitter,this._onDidShow=new w.Emitter,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new w.Emitter,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new l.ResizableHTMLElement,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new v(this,L),this._persistedSize=new _(I,L);class O{constructor(x,K,Y=!1,ee=!1){this.persistedSize=x,this.currentSize=K,this.persistHeight=Y,this.persistWidth=ee}}let A;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),A=new O(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(W=>{var x,K,Y,ee;if(this._resize(W.dimension.width,W.dimension.height),A&&(A.persistHeight=A.persistHeight||!!W.north||!!W.south,A.persistWidth=A.persistWidth||!!W.east||!!W.west),!!W.done){if(A){const{itemHeight:se,defaultSize:ne}=this.getLayoutInfo(),le=Math.round(se/2);let{width:X,height:z}=this.element.size;(!A.persistHeight||Math.abs(A.currentSize.height-z)<=le)&&(z=(K=(x=A.persistedSize)===null||x===void 0?void 0:x.height)!==null&&K!==void 0?K:ne.height),(!A.persistWidth||Math.abs(A.currentSize.width-X)<=le)&&(X=(ee=(Y=A.persistedSize)===null||Y===void 0?void 0:Y.width)!==null&&ee!==void 0?ee:ne.width),this._persistedSize.store(new M.Dimension(X,z))}this._contentWidget.unlockPreference(),A=void 0}})),this._messageElement=M.append(this.element.domNode,M.$(".message")),this._listElement=M.append(this.element.domNode,M.$(".tree"));const B=T.createInstance(i.SuggestDetailsWidget,this.editor);B.onDidClose(this.toggleDetails,this,this._disposables),this._details=new i.SuggestDetailsOverlay(B,this.editor);const F=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(101).showIcons);F();const D=T.createInstance(t.ItemRenderer,this.editor);this._disposables.add(D),this._disposables.add(D.onDidToggleDetails(()=>this.toggleDetails())),this._list=new d.List("SuggestWidget",this._listElement,{getHeight:W=>this.getLayoutInfo().itemHeight,getTemplateId:W=>"suggestion"},[D],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,accessibilityProvider:{getRole:()=>"option",getAriaLabel:W=>{const x=typeof W.completion.label=="string"?W.completion.label:W.completion.label.name;if(W.isResolved&&this._isDetailsVisible()){const{documentation:K,detail:Y}=W.completion,ee=N.format("{0}{1}",Y||"",K?typeof K=="string"?K:K.value:"");return b.localize(7,null,x,ee)}else return x},getWidgetAriaLabel:()=>b.localize(8,null),getWidgetRole:()=>"listbox"}}),this._status=T.createInstance(n.SuggestWidgetStatus,this.element.domNode);const R=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(101).showStatusBar);R(),this._disposables.add(c.attachListStyler(this._list,E,{listInactiveFocusBackground:e.editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:s.activeContrastBorder})),this._disposables.add(E.onDidColorThemeChange(W=>this._onThemeChange(W))),this._onThemeChange(E.getColorTheme()),this._disposables.add(this._list.onMouseDown(W=>this._onListMouseDownOrTap(W))),this._disposables.add(this._list.onTap(W=>this._onListMouseDownOrTap(W))),this._disposables.add(this._list.onDidChangeSelection(W=>this._onListSelection(W))),this._disposables.add(this._list.onDidChangeFocus(W=>this._onListFocus(W))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(W=>{W.hasChanged(101)&&(R(),F())})),this._ctxSuggestWidgetVisible=p.Context.Visible.bindTo(k),this._ctxSuggestWidgetDetailsVisible=p.Context.DetailsVisible.bindTo(k),this._ctxSuggestWidgetMultipleSuggestions=p.Context.MultipleSuggestions.bindTo(k),this._disposables.add(M.addStandardDisposableListener(this._details.widget.domNode,"keydown",W=>{this._onDetailsKeydown.fire(W)})),this._disposables.add(this.editor.onMouseDown(W=>this._onEditorMouseDown(W)))}dispose(){var L;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(L=this._loadingTimeout)===null||L===void 0||L.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(L){this._details.widget.domNode.contains(L.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(L.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(L){typeof L.element=="undefined"||typeof L.index=="undefined"||(L.browserEvent.preventDefault(),L.browserEvent.stopPropagation(),this._select(L.element,L.index))}_onListSelection(L){L.elements.length&&this._select(L.elements[0],L.indexes[0])}_select(L,I){const k=this._completionModel;k&&(this._onDidSelect.fire({item:L,index:I,model:k}),this.editor.focus())}_onThemeChange(L){const I=L.getColor(e.editorSuggestWidgetBackground);I&&(this.element.domNode.style.backgroundColor=I.toString(),this._messageElement.style.backgroundColor=I.toString(),this._details.widget.domNode.style.backgroundColor=I.toString());const k=L.getColor(e.editorSuggestWidgetBorder);k&&(this.element.domNode.style.borderColor=k.toString(),this._messageElement.style.borderColor=k.toString(),this._status.element.style.borderTopColor=k.toString(),this._details.widget.domNode.style.borderColor=k.toString(),this._detailsBorderColor=k.toString());const E=L.getColor(s.focusBorder);E&&(this._detailsFocusBorderColor=E.toString()),this._details.widget.borderWidth=L.type==="hc"?2:1}_onListFocus(L){var I;if(!this._ignoreFocusEvents){if(!L.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0});return}if(!!this._completionModel){const k=L.elements[0],E=L.indexes[0];k!==this._focusedItem&&((I=this._currentSuggestionDetails)===null||I===void 0||I.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=k,this._list.reveal(E),this._currentSuggestionDetails=u.createCancelablePromise(T=>Ie(this,void 0,void 0,function*(){const O=u.disposableTimeout(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250);T.onCancellationRequested(()=>O.dispose());const A=yield k.resolve(T);return O.dispose(),A})),this._currentSuggestionDetails.then(()=>{E>=this._list.length||k!==this._list.element(E)||(this._ignoreFocusEvents=!0,this._list.splice(E,1,[k]),this._list.setFocus([E]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:t.getAriaId(E)}))}).catch(S.onUnexpectedError)),this._onDidFocus.fire({item:k,index:E,model:this._completionModel})}}}_setState(L){if(this._state!==L)switch(this._state=L,this.element.domNode.classList.toggle("frozen",L===4),this.element.domNode.classList.remove("message"),L){case 0:M.hide(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=wt.LOADING_MESSAGE,M.hide(this._listElement,this._status.element),M.show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=wt.NO_SUGGESTIONS_MESSAGE,M.hide(this._listElement,this._status.element),M.show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 3:M.hide(this._messageElement),M.show(this._listElement,this._status.element),this._show();break;case 4:M.hide(this._messageElement),M.show(this._listElement,this._status.element),this._show();break;case 5:M.hide(this._messageElement),M.show(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(L,I){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!L,this._isAuto||(this._loadingTimeout=u.disposableTimeout(()=>this._setState(1),I)))}showSuggestions(L,I,k,E){var T,O;if(this._contentWidget.setPosition(this.editor.getPosition()),(T=this._loadingTimeout)===null||T===void 0||T.dispose(),(O=this._currentSuggestionDetails)===null||O===void 0||O.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==L&&(this._completionModel=L),k&&this._state!==2&&this._state!==0){this._setState(4);return}const A=this._completionModel.items.length,B=A===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(A>1),B){this._setState(E?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._list.splice(0,this._list.length,this._completionModel.items),this._setState(k?4:3),this._list.reveal(I,0),this._list.setFocus([I]),this._layout(this.element.size),this._detailsBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsBorderColor)}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._detailsBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsBorderColor)):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._detailsFocusBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsFocusBorderColor))}toggleDetails(){this._isDetailsVisible()?(this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):i.canExpandCompletionItem(this._list.getFocusedElements()[0])&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(L){this._details.show(),L?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}toggleExplainMode(){this._list.getFocusedElements()[0]&&this._isDetailsVisible()&&(this._explainMode=!this._explainMode,this.showDetails(!1))}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var L;(L=this._loadingTimeout)===null||L===void 0||L.dispose(),this._setState(0),this._onDidHide.fire(this);const I=this._persistedSize.restore(),k=Math.ceil(this.getLayoutInfo().itemHeight*4.3);I&&I.heightF&&(B=F);const D=this._completionModel?this._completionModel.stats.pLabelLen*O.typicalHalfwidthCharacterWidth:B,R=O.statusBarHeight+this._list.contentHeight+O.borderHeight,W=O.itemHeight+O.statusBarHeight,x=M.getDomNodePagePosition(this.editor.getDomNode()),K=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),Y=x.top+K.top+K.height,ee=Math.min(T.height-Y-O.verticalPadding,R),se=Math.min(x.top+K.top-O.verticalPadding,R);let ne=Math.min(Math.max(se,ee)+O.borderHeight,R);A===((I=this._cappedHeight)===null||I===void 0?void 0:I.capped)&&(A=this._cappedHeight.wanted),Ane&&(A=ne),A>ee?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),ne=se):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),ne=ee),this.element.preferredSize=new M.Dimension(D,O.defaultSize.height),this.element.maxSize=new M.Dimension(F,ne),this.element.minSize=new M.Dimension(220,W),this._cappedHeight=A===R?{wanted:(E=(k=this._cappedHeight)===null||k===void 0?void 0:k.wanted)!==null&&E!==void 0?E:L.height,capped:A}:void 0}this._resize(B,A)}}_resize(L,I){const{width:k,height:E}=this.element.maxSize;L=Math.min(k,L),I=Math.min(E,I);const{statusBarHeight:T}=this.getLayoutInfo();this._list.layout(I-T,L),this._listElement.style.height=`${I-T}px`,this.element.layout(I,L),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode)}getLayoutInfo(){const L=this.editor.getOption(38),I=m.clamp(this.editor.getOption(103)||L.lineHeight,8,1e3),k=!this.editor.getOption(101).showStatusBar||this._state===2||this._state===1?0:I,E=this._details.widget.borderWidth,T=2*E;return{itemHeight:I,statusBarHeight:k,borderWidth:E,borderHeight:T,typicalHalfwidthCharacterWidth:L.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new M.Dimension(430,k+12*I+T)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(L){this._storageService.store("expandSuggestionDocs",L,0,0)}};f.LOADING_MESSAGE=b.localize(5,null),f.NO_SUGGESTIONS_MESSAGE=b.localize(6,null),f=Me([_e(1,a.IStorageService),_e(2,g.IContextKeyService),_e(3,o.IThemeService),_e(4,r.IInstantiationService)],f),e.SuggestWidget=f;class v{constructor(L,I){this._widget=L,this._editor=I,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:L,width:I}=this._widget.element.size,{borderWidth:k,horizontalPadding:E}=this._widget.getLayoutInfo();return new M.Dimension(I+2*k+E,L+2*k)}afterRender(L){this._widget._afterRender(L)}setPreference(L){this._preferenceLocked||(this._preference=L)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(L){this._position=L}}e.SuggestContentWidget=v,o.registerThemingParticipant((y,L)=>{const I=y.getColor(e.editorSuggestWidgetHighlightForeground);I&&L.addRule(`.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight { color: ${I}; }`);const k=y.getColor(e.editorSuggestWidgetForeground);k&&L.addRule(`.monaco-editor .suggest-widget, .monaco-editor .suggest-details { color: ${k}; }`);const E=y.getColor(s.textLinkForeground);E&&L.addRule(`.monaco-editor .suggest-details a { color: ${E}; }`);const T=y.getColor(s.textCodeBlockBackground);T&&L.addRule(`.monaco-editor .suggest-details code { background-color: ${T}; }`)})}),define(Q[667],J([0,1,11,80,7,6]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getIconsStyleSheet=void 0;function S(){const C=new w.Emitter,d=N.getIconRegistry();return d.onDidChange(()=>C.fire()),{onDidChange:C.event,getCSS(){const g={},p=o=>{let s=o.defaults;for(;b.ThemeIcon.isThemeIcon(s);){const u=d.getIcon(s.id);if(!u)return;s=u.defaults}const a=s.fontId;if(a){const u=d.getIconFont(a);if(u)return g[a]=u,`.codicon-${o.id}:before { content: '${s.fontCharacter}'; font-family: ${M.asCSSPropertyValue(a)}; }`}return`.codicon-${o.id}:before { content: '${s.fontCharacter}'; }`},c=[];for(let o of d.getIcons()){const s=p(o);s&&c.push(s)}for(let o in g){const a=g[o].definition.src.map(u=>`${M.asCSSUrl(u.location)} format('${u.format}')`).join(", ");c.push(`@font-face { src: ${a}; font-family: ${M.asCSSPropertyValue(o)}; }`)}return c.join(` +`)}}}e.getIconsStyleSheet=S}),define(Q[668],J([0,1,7,29,6,18,381,606,33,22,11,2,97,667]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneThemeServiceImpl=void 0;const a="vs",u="vs-dark",r="hc-black",i=d.Registry.as(g.Extensions.ColorContribution),n=d.Registry.as(p.Extensions.ThemingContribution);class t{constructor(v,y){this.semanticHighlighting=!1,this.themeData=y;let L=y.base;v.length>0?(l(v)?this.id=v:this.id=L+" "+v,this.themeName=v):(this.id=L,this.themeName=L),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const v=new Map;for(let y in this.themeData.colors)v.set(y,N.Color.fromHex(this.themeData.colors[y]));if(this.themeData.inherit){let y=h(this.themeData.base);for(let L in y.colors)v.has(L)||v.set(L,N.Color.fromHex(y.colors[L]))}this.colors=v}return this.colors}getColor(v,y){const L=this.getColors().get(v);if(L)return L;if(y!==!1)return this.getDefault(v)}getDefault(v){let y=this.defaultColors[v];return y||(y=i.resolveDefaultColor(v,this),this.defaultColors[v]=y,y)}defines(v){return Object.prototype.hasOwnProperty.call(this.getColors(),v)}get type(){switch(this.base){case a:return o.ColorScheme.LIGHT;case r:return o.ColorScheme.HIGH_CONTRAST;default:return o.ColorScheme.DARK}}get tokenTheme(){if(!this._tokenTheme){let v=[],y=[];if(this.themeData.inherit){let L=h(this.themeData.base);v=L.rules,L.encodedTokensColors&&(y=L.encodedTokensColors)}v=v.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(y=this.themeData.encodedTokensColors),this._tokenTheme=S.TokenTheme.createFromRawTokenTheme(v,y)}return this._tokenTheme}getTokenStyleMetadata(v,y,L){const k=this.tokenTheme._match([v].concat(y).join(".")).metadata,E=w.TokenMetadata.getForeground(k),T=w.TokenMetadata.getFontStyle(k);return{foreground:E,italic:Boolean(T&1),bold:Boolean(T&2),underline:Boolean(T&4)}}}function l(f){return f===a||f===u||f===r}function h(f){switch(f){case a:return C.vs;case u:return C.vs_dark;case r:return C.hc_black}}function m(f){let v=h(f);return new t(f,v)}class _ extends c.Disposable{constructor(){super();this._onColorThemeChange=this._register(new M.Emitter),this.onDidColorThemeChange=this._onColorThemeChange.event,this._environment=Object.create(null),this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(a,m(a)),this._knownThemes.set(u,m(u)),this._knownThemes.set(r,m(r));const v=s.getIconsStyleSheet();this._codiconCSS=v.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS} +${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(a),v.onDidChange(()=>{this._codiconCSS=v.getCSS(),this._updateCSS()}),window.matchMedia("(forced-colors: active)").addEventListener("change",()=>{this._updateActualTheme()})}registerEditorContainer(v){return b.isInShadowDOM(v)?this._registerShadowDomContainer(v):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=b.createStyleSheet(),this._globalStyleElement.className="monaco-colors",this._globalStyleElement.textContent=this._allCSS,this._styleElements.push(this._globalStyleElement)),c.Disposable.None}_registerShadowDomContainer(v){const y=b.createStyleSheet(v);return y.className="monaco-colors",y.textContent=this._allCSS,this._styleElements.push(y),{dispose:()=>{for(let L=0;L{L.base===v&&L.notifyBaseUpdated()}),this._theme.themeName===v&&this.setTheme(v)}getColorTheme(){return this._theme}setColorMapOverride(v){this._colorMapOverride=v,this._updateThemeOrColorMap()}setTheme(v){let y;this._knownThemes.has(v)?y=this._knownThemes.get(v):y=this._knownThemes.get(a),this._desiredTheme=y,this._updateActualTheme()}_updateActualTheme(){const v=this._autoDetectHighContrast&&window.matchMedia("(forced-colors: active)").matches?this._knownThemes.get(r):this._desiredTheme;this._theme!==v&&(this._theme=v,this._updateThemeOrColorMap())}setAutoDetectHighContrast(v){this._autoDetectHighContrast=v,this._updateActualTheme()}_updateThemeOrColorMap(){let v=[],y={},L={addRule:k=>{y[k]||(v.push(k),y[k]=!0)}};n.getThemingParticipants().forEach(k=>k(this._theme,L,this._environment));const I=this._colorMapOverride||this._theme.tokenTheme.getColorMap();L.addRule(S.generateTokensCSSForColorMap(I)),this._themeCSS=v.join(` +`),this._updateCSS(),w.TokenizationRegistry.setColorMap(I),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS} +${this._themeCSS}`,this._styleElements.forEach(v=>v.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}}e.StandaloneThemeServiceImpl=_}),define(Q[148],J([0,1,9]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UndoRedoSource=e.UndoRedoGroup=e.ResourceEditStackSnapshot=e.IUndoRedoService=void 0,e.IUndoRedoService=b.createDecorator("undoRedoService");class N{constructor(C,d){this.resource=C,this.elements=d}}e.ResourceEditStackSnapshot=N;class M{constructor(){this.id=M._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}e.UndoRedoGroup=M,M._ID=0,M.None=new M;class w{constructor(){this.id=w._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}e.UndoRedoSource=w,w._ID=0,w.None=new w}),define(Q[269],J([0,1,6,2,17,12,38,31,18,141,137,46,15,23,11,77,148,89,236,43,253,247]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ModelSemanticColoring=e.isSemanticColoringEnabled=e.SEMANTIC_HIGHLIGHTING_SETTING_ID=e.ModelServiceImpl=void 0;function m(B){return B.toString()}function _(B){const F=new i.StringSHA1,D=B.createSnapshot();let R;for(;R=D.read();)F.update(R);return F.digest()}class f{constructor(F,D,R){this._modelEventListeners=new N.DisposableStore,this.model=F,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(F.onWillDispose(()=>D(F))),this._modelEventListeners.add(F.onDidChangeLanguage(W=>R(F,W)))}_disposeLanguageSelection(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(),this._languageSelectionListener=null),this._languageSelection&&(this._languageSelection.dispose(),this._languageSelection=null)}dispose(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()}setLanguage(F){this._disposeLanguageSelection(),this._languageSelection=F,this._languageSelectionListener=this._languageSelection.onDidChange(()=>this.model.setMode(F.languageIdentifier)),this.model.setMode(F.languageIdentifier)}}const v=M.isLinux||M.isMacintosh?1:2;class y{constructor(F,D,R,W,x,K,Y,ee){this.uri=F,this.initialUndoRedoSnapshot=D,this.time=R,this.sharesUndoRedoStack=W,this.heapSize=x,this.sha1=K,this.versionId=Y,this.alternativeVersionId=ee}}function L(B){return B.scheme===t.Schemas.file||B.scheme===t.Schemas.vscodeRemote||B.scheme===t.Schemas.userData||B.scheme==="fake-fs"}let I=class st extends N.Disposable{constructor(F,D,R,W,x){super();this._configurationService=F,this._resourcePropertiesService=D,this._themeService=R,this._logService=W,this._undoRedoService=x,this._onModelAdded=this._register(new b.Emitter),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new b.Emitter),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new b.Emitter),this.onModelModeChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._semanticStyling=this._register(new T(this._themeService,this._logService)),this._register(this._configurationService.onDidChangeConfiguration(()=>this._updateModelOptions())),this._updateModelOptions(),this._register(new E(this,this._themeService,this._configurationService,this._semanticStyling))}static _readModelOptions(F,D){let R=S.EDITOR_MODEL_DEFAULTS.tabSize;if(F.editor&&typeof F.editor.tabSize!="undefined"){const le=parseInt(F.editor.tabSize,10);isNaN(le)||(R=le),R<1&&(R=1)}let W=R;if(F.editor&&typeof F.editor.indentSize!="undefined"&&F.editor.indentSize!=="tabSize"){const le=parseInt(F.editor.indentSize,10);isNaN(le)||(W=le),W<1&&(W=1)}let x=S.EDITOR_MODEL_DEFAULTS.insertSpaces;F.editor&&typeof F.editor.insertSpaces!="undefined"&&(x=F.editor.insertSpaces==="false"?!1:Boolean(F.editor.insertSpaces));let K=v;const Y=F.eol;Y===`\r +`?K=2:Y===` +`&&(K=1);let ee=S.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;F.editor&&typeof F.editor.trimAutoWhitespace!="undefined"&&(ee=F.editor.trimAutoWhitespace==="false"?!1:Boolean(F.editor.trimAutoWhitespace));let se=S.EDITOR_MODEL_DEFAULTS.detectIndentation;F.editor&&typeof F.editor.detectIndentation!="undefined"&&(se=F.editor.detectIndentation==="false"?!1:Boolean(F.editor.detectIndentation));let ne=S.EDITOR_MODEL_DEFAULTS.largeFileOptimizations;return F.editor&&typeof F.editor.largeFileOptimizations!="undefined"&&(ne=F.editor.largeFileOptimizations==="false"?!1:Boolean(F.editor.largeFileOptimizations)),{isForSimpleWidget:D,tabSize:R,indentSize:W,insertSpaces:x,detectIndentation:se,defaultEOL:K,trimAutoWhitespace:ee,largeFileOptimizations:ne}}_getEOL(F,D){if(F)return this._resourcePropertiesService.getEOL(F,D);const R=this._configurationService.getValue("files.eol",{overrideIdentifier:D});return R&&R!=="auto"?R:M.OS===3||M.OS===2?` +`:`\r +`}_shouldRestoreUndoStack(){const F=this._configurationService.getValue("files.restoreUndoStack");return typeof F=="boolean"?F:!0}getCreationOptions(F,D,R){let W=this._modelCreationOptionsByLanguageAndResource[F+D];if(!W){const x=this._configurationService.getValue("editor",{overrideIdentifier:F,resource:D}),K=this._getEOL(D,F);W=st._readModelOptions({editor:x,eol:K},R),this._modelCreationOptionsByLanguageAndResource[F+D]=W}return W}_updateModelOptions(){const F=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const D=Object.keys(this._models);for(let R=0,W=D.length;RF){const D=[];for(this._disposedModels.forEach(R=>{R.sharesUndoRedoStack||D.push(R)}),D.sort((R,W)=>R.time-W.time);D.length>0&&this._disposedModelsHeapSize>F;){const R=D.shift();this._removeDisposedModel(R.uri),R.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(R.initialUndoRedoSnapshot)}}}_createModelData(F,D,R,W){const x=this.getCreationOptions(D.language,R,W),K=new C.TextModel(F,x,D,R,this._undoRedoService);if(R&&this._disposedModels.has(m(R))){const se=this._removeDisposedModel(R),ne=this._undoRedoService.getElements(R),le=_(K)===se.sha1;if(le||se.sharesUndoRedoStack){for(const X of ne.past)n.isEditStackElement(X)&&X.matchesResource(R)&&X.setModel(K);for(const X of ne.future)n.isEditStackElement(X)&&X.matchesResource(R)&&X.setModel(K);this._undoRedoService.setElementsValidFlag(R,!0,X=>n.isEditStackElement(X)&&X.matchesResource(R)),le&&(K._overwriteVersionId(se.versionId),K._overwriteAlternativeVersionId(se.alternativeVersionId),K._overwriteInitialUndoRedoSnapshot(se.initialUndoRedoSnapshot))}else se.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(se.initialUndoRedoSnapshot)}const Y=m(K.uri);if(this._models[Y])throw new Error("ModelService: Cannot add model because it already exists!");const ee=new f(K,se=>this._onWillDispose(se),(se,ne)=>this._onDidChangeLanguage(se,ne));return this._models[Y]=ee,ee}createModel(F,D,R,W=!1){let x;return D?(x=this._createModelData(F,D.languageIdentifier,R,W),this.setMode(x.model,D)):x=this._createModelData(F,g.PLAINTEXT_LANGUAGE_IDENTIFIER,R,W),this._onModelAdded.fire(x.model),x.model}setMode(F,D){if(!!D){const R=this._models[m(F.uri)];!R||R.setLanguage(D)}}getModels(){const F=[],D=Object.keys(this._models);for(let R=0,W=D.length;R0||ee.future.length>0){for(const se of ee.past)n.isEditStackElement(se)&&se.matchesResource(F.uri)&&(x=!0,K+=se.heapSize(F.uri),se.setModel(F.uri));for(const se of ee.future)n.isEditStackElement(se)&&se.matchesResource(F.uri)&&(x=!0,K+=se.heapSize(F.uri),se.setModel(F.uri))}}const Y=st.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK;if(x)if(!W&&K>Y){const ee=R.model.getInitialUndoRedoSnapshot();ee!==null&&this._undoRedoService.restoreSnapshot(ee)}else this._ensureDisposedModelsHeapSize(Y-K),this._undoRedoService.setElementsValidFlag(F.uri,!1,ee=>n.isEditStackElement(ee)&&ee.matchesResource(F.uri)),this._insertDisposedModel(new y(F.uri,R.model.getInitialUndoRedoSnapshot(),Date.now(),W,K,_(F),F.getVersionId(),F.getAlternativeVersionId()));else if(!W){const ee=R.model.getInitialUndoRedoSnapshot();ee!==null&&this._undoRedoService.restoreSnapshot(ee)}delete this._models[D],R.dispose(),delete this._modelCreationOptionsByLanguageAndResource[F.getLanguageIdentifier().language+F.uri],this._onModelRemoved.fire(F)}_onDidChangeLanguage(F,D){const R=D.oldLanguage,W=F.getLanguageIdentifier().language,x=this.getCreationOptions(R,F.uri,F.isForSimpleWidget),K=this.getCreationOptions(W,F.uri,F.isForSimpleWidget);st._setModelOptionsForModel(F,K,x),this._onModelModeChanged.fire({model:F,oldModeId:R})}};I.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,I=Me([_e(0,c.IConfigurationService),_e(1,p.ITextResourcePropertiesService),_e(2,a.IThemeService),_e(3,u.ILogService),_e(4,r.IUndoRedoService)],I),e.ModelServiceImpl=I,e.SEMANTIC_HIGHLIGHTING_SETTING_ID="editor.semanticHighlighting";function k(B,F,D){var R;const W=(R=D.getValue(e.SEMANTIC_HIGHLIGHTING_SETTING_ID,{overrideIdentifier:B.getLanguageIdentifier().language,resource:B.uri}))===null||R===void 0?void 0:R.enabled;return typeof W=="boolean"?W:F.getColorTheme().semanticHighlighting}e.isSemanticColoringEnabled=k;class E extends N.Disposable{constructor(F,D,R,W){super();this._watchers=Object.create(null),this._semanticStyling=W;const x=ee=>{this._watchers[ee.uri.toString()]=new A(ee,D,this._semanticStyling)},K=(ee,se)=>{se.dispose(),delete this._watchers[ee.uri.toString()]},Y=()=>{for(let ee of F.getModels()){const se=this._watchers[ee.uri.toString()];k(ee,D,R)?se||x(ee):se&&K(ee,se)}};this._register(F.onModelAdded(ee=>{k(ee,D,R)&&x(ee)})),this._register(F.onModelRemoved(ee=>{const se=this._watchers[ee.uri.toString()];se&&K(ee,se)})),this._register(R.onDidChangeConfiguration(ee=>{ee.affectsConfiguration(e.SEMANTIC_HIGHLIGHTING_SETTING_ID)&&Y()})),this._register(D.onDidColorThemeChange(Y))}}class T extends N.Disposable{constructor(F,D){super();this._themeService=F,this._logService=D,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}get(F){return this._caches.has(F)||this._caches.set(F,new l.SemanticTokensProviderStyling(F.getLegend(),this._themeService,this._logService)),this._caches.get(F)}}class O{constructor(F,D,R){this._provider=F,this.resultId=D,this.data=R}dispose(){this._provider.releaseDocumentSemanticTokens(this.resultId)}}class A extends N.Disposable{constructor(F,D,R){super();this._isDisposed=!1,this._model=F,this._semanticStyling=R,this._fetchDocumentSemanticTokens=this._register(new o.RunOnceScheduler(()=>this._fetchDocumentSemanticTokensNow(),A.FETCH_DOCUMENT_SEMANTIC_TOKENS_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule()}));const W=()=>{N.dispose(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const x of d.DocumentSemanticTokensProviderRegistry.all(F))typeof x.onDidChange=="function"&&this._documentProvidersChangeListeners.push(x.onDidChange(()=>this._fetchDocumentSemanticTokens.schedule(0)))};W(),this._register(d.DocumentSemanticTokensProviderRegistry.onDidChange(()=>{W(),this._fetchDocumentSemanticTokens.schedule()})),this._register(D.onDidColorThemeChange(x=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule()})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(!this._currentDocumentRequestCancellationTokenSource){const F=new s.CancellationTokenSource,D=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,R=h.getDocumentSemanticTokens(this._model,D,F.token);if(!R){this._currentDocumentResponse&&this._model.setSemanticTokens(null,!1);return}const{provider:W,request:x}=R;this._currentDocumentRequestCancellationTokenSource=F;const K=[],Y=this._model.onDidChangeContent(se=>{K.push(se)}),ee=this._semanticStyling.get(W);x.then(se=>{this._currentDocumentRequestCancellationTokenSource=null,Y.dispose(),this._setDocumentSemanticTokens(W,se||null,ee,K)},se=>{se&&(w.isPromiseCanceledError(se)||typeof se.message=="string"&&se.message.indexOf("busy")!==-1)||w.onUnexpectedError(se),this._currentDocumentRequestCancellationTokenSource=null,Y.dispose(),K.length>0&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule())})}}static _copy(F,D,R,W,x){for(let K=0;K{W.length>0&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule()};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){F&&D&&F.releaseDocumentSemanticTokens(D.resultId);return}if(!F||!R){this._model.setSemanticTokens(null,!1);return}if(!D){this._model.setSemanticTokens(null,!0),K();return}if(h.isSemanticTokensEdits(D)){if(!x){this._model.setSemanticTokens(null,!0);return}if(D.edits.length===0)D={resultId:D.resultId,data:x.data};else{let Y=0;for(const X of D.edits)Y+=(X.data?X.data.length:0)-X.deleteCount;const ee=x.data,se=new Uint32Array(ee.length+Y);let ne=ee.length,le=se.length;for(let X=D.edits.length-1;X>=0;X--){const z=D.edits[X],P=ne-(z.start+z.deleteCount);P>0&&(A._copy(ee,ne-P,se,le-P,P),le-=P),z.data&&(A._copy(z.data,0,se,le-z.data.length,z.data.length),le-=z.data.length),ne=z.start}ne>0&&A._copy(ee,0,se,0,ne),D={resultId:D.resultId,data:se}}}if(h.isSemanticTokens(D)){this._currentDocumentResponse=new O(F,D.resultId,D.data);const Y=l.toMultilineTokens2(D,R,this._model.getLanguageIdentifier());if(W.length>0)for(const ee of W)for(const se of Y)for(const ne of ee.changes)se.applyEdit(ne.range,ne.text);this._model.setSemanticTokens(Y,!0)}else this._model.setSemanticTokens(null,!0);K()}}e.ModelSemanticColoring=A,A.FETCH_DOCUMENT_SEMANTIC_TOKENS_DELAY=300}),define(Q[669],J([0,1,7,29,6,2,43,44,144,3,31,67,601,485,9,115,147,22,11,118,132,210,148,37,345]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReferenceWidget=e.LayoutData=void 0;class f{constructor(k,E){this._editor=k,this._model=E,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new w.DisposableStore,this._callOnModelChange=new w.DisposableStore,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const k=this._editor.getModel();if(!!k){for(let E of this._model.references)if(E.uri.toString()===k.uri.toString()){this._addDecorations(E.parent);return}}}_addDecorations(k){if(!!this._editor.hasModel()){this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const E=[],T=[];for(let A=0,B=k.children.length;A{A.equals(9)&&(this._keybindingService.dispatchEvent(A,A.target),A.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(y,"ReferencesWidget",this._treeContainer,new o.Delegate,[this._instantiationService.createInstance(o.FileReferencesRenderer),this._instantiationService.createInstance(o.OneReferenceRenderer)],this._instantiationService.createInstance(o.DataSource),T),this._splitView.addView({onDidChange:M.Event.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:A=>{this._preview.layout({height:this._dim.height,width:A})}},h.Sizing.Distribute),this._splitView.addView({onDidChange:M.Event.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:A=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${A}px`,this._tree.layout(this._dim.height,A)}},h.Sizing.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));let O=(A,B)=>{A instanceof l.OneReference&&(B==="show"&&this._revealReference(A,!1),this._onDidSelectReference.fire({element:A,kind:B,source:"tree"}))};this._tree.onDidOpen(A=>{A.sideBySide?O(A.element,"side"):A.editorOptions.pinned?O(A.element,"goto"):O(A.element,"show")}),b.hide(this._treeContainer)}_onWidth(k){this._dim&&this._doLayoutBody(this._dim.height,k)}_doLayoutBody(k,E){super._doLayoutBody(k,E),this._dim=new b.Dimension(E,k),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(E),this._splitView.resizeView(0,E*this.layoutData.ratio)}setSelection(k){return this._revealReference(k,!0).then(()=>{!this._model||(this._tree.setSelection([k]),this._tree.setFocus([k]))})}setModel(k){return this._disposeOnNewModel.clear(),this._model=k,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=s.localize(1,null),b.show(this._messageContainer),Promise.resolve(void 0)):(b.hide(this._messageContainer),this._decorationsManager=new f(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(k=>this._tree.rerender(k))),this._disposeOnNewModel.add(this._preview.onMouseDown(k=>{const{event:E,target:T}=k;if(E.detail===2){const O=this._getFocusedReference();!O||this._onDidSelectReference.fire({element:{uri:O.uri,range:T.range},kind:E.ctrlKey||E.metaKey||E.altKey?"side":"open",source:"editor"})}})),this.container.classList.add("results-loaded"),b.show(this._treeContainer),b.show(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[k]=this._tree.getFocus();if(k instanceof l.OneReference)return k;if(k instanceof l.FileReferences&&k.children.length>0)return k.children[0]}revealReference(k){return Ie(this,void 0,void 0,function*(){yield this._revealReference(k,!1),this._onDidSelectReference.fire({element:k,kind:"goto",source:"tree"})})}_revealReference(k,E){return Ie(this,void 0,void 0,function*(){if(this._revealedReference!==k){this._revealedReference=k,k.uri.scheme!==S.Schemas.inMemory?this.setTitle(C.basenameOrAuthority(k.uri),this._uriLabel.getUriLabel(C.dirname(k.uri))):this.setTitle(s.localize(2,null));const T=this._textModelResolverService.createModelReference(k.uri);this._tree.getInput()===k.parent?this._tree.reveal(k):(E&&this._tree.reveal(k.parent),yield this._tree.expand(k.parent),this._tree.reveal(k));const O=yield T;if(!this._model){O.dispose();return}w.dispose(this._previewModelReference);const A=O.object;if(A){const B=this._preview.getModel()===A.textEditorModel?0:1,F=g.Range.lift(k.range).collapseToStart();this._previewModelReference=O,this._preview.setModel(A.textEditorModel),this._preview.setSelection(F),this._preview.revealRangeInCenter(F,B)}else this._preview.setModel(this._previewNotAvailableMessage),O.dispose()}})}};L=Me([_e(3,n.IThemeService),_e(4,c.ITextModelService),_e(5,a.IInstantiationService),_e(6,t.IPeekViewService),_e(7,u.ILabelService),_e(8,m.IUndoRedoService),_e(9,_.IKeybindingService)],L),e.ReferenceWidget=L,n.registerThemingParticipant((I,k)=>{const E=I.getColor(t.peekViewResultsMatchHighlight);E&&k.addRule(`.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { background-color: ${E}; }`);const T=I.getColor(t.peekViewEditorMatchHighlight);T&&k.addRule(`.monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: ${T}; }`);const O=I.getColor(t.peekViewEditorMatchHighlightBorder);O&&k.addRule(`.monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid ${O}; box-sizing: border-box; }`);const A=I.getColor(i.activeContrastBorder);A&&k.addRule(`.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { border: 1px dotted ${A}; box-sizing: border-box; }`);const B=I.getColor(t.peekViewResultsBackground);B&&k.addRule(`.monaco-editor .reference-zone-widget .ref-tree { background-color: ${B}; }`);const F=I.getColor(t.peekViewResultsMatchForeground);F&&k.addRule(`.monaco-editor .reference-zone-widget .ref-tree { color: ${F}; }`);const D=I.getColor(t.peekViewResultsFileForeground);D&&k.addRule(`.monaco-editor .reference-zone-widget .ref-tree .reference-file { color: ${D}; }`);const R=I.getColor(t.peekViewResultsSelectionBackground);R&&k.addRule(`.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { background-color: ${R}; }`);const W=I.getColor(t.peekViewResultsSelectionForeground);W&&k.addRule(`.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { color: ${W} !important; }`);const x=I.getColor(t.peekViewEditorBackground);x&&k.addRule(`.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input { background-color: ${x};}`);const K=I.getColor(t.peekViewEditorGutterBackground);K&&k.addRule(`.monaco-editor .reference-zone-widget .preview .monaco-editor .margin { background-color: ${K};}`)})}),define(Q[270],J([0,1,483,12,2,28,9,16,46,79,132,669,3,14,32,15,118,147,86,39,26]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReferencesController=e.ctxReferenceSearchVisible=void 0,e.ctxReferenceSearchVisible=new C.RawContextKey("referenceSearchVisible",!1);let h=class yt{constructor(f,v,y,L,I,k,E,T){this._defaultTreeKeyboardSupport=f,this._editor=v,this._editorService=L,this._notificationService=I,this._instantiationService=k,this._storageService=E,this._configurationService=T,this._disposables=new M.DisposableStore,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=e.ctxReferenceSearchVisible.bindTo(y)}static get(f){return f.getContribution(yt.ID)}dispose(){var f,v;this._referenceSearchVisible.reset(),this._disposables.dispose(),(f=this._widget)===null||f===void 0||f.dispose(),(v=this._model)===null||v===void 0||v.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(f,v,y){let L;if(this._widget&&(L=this._widget.position),this.closeWidget(),!(!!L&&f.containsPosition(L))){this._peekMode=y,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const I="peekViewLayout",k=c.LayoutData.fromJSON(this._storageService.get(I,0,"{}"));this._widget=this._instantiationService.createInstance(c.ReferenceWidget,this._editor,this._defaultTreeKeyboardSupport,k),this._widget.setTitle(b.localize(0,null)),this._widget.show(f),this._disposables.add(this._widget.onDidClose(()=>{v.cancel(),this._widget&&(this._storageService.store(I,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(T=>{let{element:O,kind:A}=T;if(!!O)switch(A){case"open":(T.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(O,!1,!1);break;case"side":this.openReference(O,!0,!1);break;case"goto":y?this._gotoReference(O):this.openReference(O,!1,!0);break}}));const E=++this._requestIdPool;v.then(T=>{var O;if(E!==this._requestIdPool||!this._widget){T.dispose();return}return(O=this._model)===null||O===void 0||O.dispose(),this._model=T,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(b.localize(1,null,this._model.title,this._model.references.length));let A=this._editor.getModel().uri,B=new s.Position(f.startLineNumber,f.startColumn),F=this._model.nearestReference(A,B);if(F)return this._widget.setSelection(F).then(()=>{this._widget&&this._editor.getOption(71)==="editor"&&this._widget.focusOnPreviewEditor()})}})},T=>{this._notificationService.error(T)})}}changeFocusBetweenPreviewAndReferences(){!this._widget||(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}goToNextOrPreviousReference(f){return Ie(this,void 0,void 0,function*(){if(!(!this._editor.hasModel()||!this._model||!this._widget)){const v=this._widget.position;if(!!v){const y=this._model.nearestReference(this._editor.getModel().uri,v);if(!!y){const L=this._model.nextOrPreviousReference(y,f),I=this._editor.hasTextFocus(),k=this._widget.isPreviewEditorFocused();yield this._widget.setSelection(L),yield this._gotoReference(L),I?this._editor.focus():this._widget&&k&&this._widget.focusOnPreviewEditor()}}}})}revealReference(f){return Ie(this,void 0,void 0,function*(){!this._editor.hasModel()||!this._model||!this._widget||(yield this._widget.revealReference(f))})}closeWidget(f=!0){var v,y;(v=this._widget)===null||v===void 0||v.dispose(),(y=this._model)===null||y===void 0||y.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,f&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(f){this._widget&&this._widget.hide(),this._ignoreModelChangeEvent=!0;const v=o.Range.lift(f.range).collapseToStart();return this._editorService.openCodeEditor({resource:f.uri,options:{selection:v}},this._editor).then(y=>{var L;if(this._ignoreModelChangeEvent=!1,!y||!this._widget){this.closeWidget();return}if(this._editor===y)this._widget.show(v),this._widget.focusOnReferenceTree();else{const I=yt.get(y),k=this._model.clone();this.closeWidget(),y.focus(),I.toggleWidget(v,u.createCancelablePromise(E=>Promise.resolve(k)),(L=this._peekMode)!==null&&L!==void 0?L:!1)}},y=>{this._ignoreModelChangeEvent=!1,N.onUnexpectedError(y)})}openReference(f,v,y){v||this.closeWidget();const{uri:L,range:I}=f;this._editorService.openCodeEditor({resource:L,options:{selection:I,pinned:y}},this._editor,v)}};h.ID="editor.contrib.referencesController",h=Me([_e(2,C.IContextKeyService),_e(3,w.ICodeEditorService),_e(4,a.INotificationService),_e(5,S.IInstantiationService),_e(6,g.IStorageService),_e(7,d.IConfigurationService)],h),e.ReferencesController=h;function m(_,f){const v=r.getOuterEditor(_);if(!!v){let y=h.get(v);y&&f(y)}}n.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:t.KeyChord(2048|41,60),when:C.ContextKeyExpr.or(e.ctxReferenceSearchVisible,r.PeekContext.inPeekEditor),handler(_){m(_,f=>{f.changeFocusBetweenPreviewAndReferences()})}}),n.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToNextReference",weight:100-10,primary:62,secondary:[70],when:C.ContextKeyExpr.or(e.ctxReferenceSearchVisible,r.PeekContext.inPeekEditor),handler(_){m(_,f=>{f.goToNextOrPreviousReference(!0)})}}),n.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:100-10,primary:1024|62,secondary:[1024|70],when:C.ContextKeyExpr.or(e.ctxReferenceSearchVisible,r.PeekContext.inPeekEditor),handler(_){m(_,f=>{f.goToNextOrPreviousReference(!1)})}}),l.CommandsRegistry.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),l.CommandsRegistry.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),l.CommandsRegistry.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),l.CommandsRegistry.registerCommand("closeReferenceSearch",_=>m(_,f=>f.closeWidget())),n.KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:100-101,primary:9,secondary:[1024|9],when:C.ContextKeyExpr.and(r.PeekContext.inPeekEditor,C.ContextKeyExpr.not("config.editor.stablePeek"))}),n.KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:200+50,primary:9,secondary:[1024|9],when:C.ContextKeyExpr.and(e.ctxReferenceSearchVisible,C.ContextKeyExpr.not("config.editor.stablePeek"))}),n.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2048|18]},when:C.ContextKeyExpr.and(e.ctxReferenceSearchVisible,i.WorkbenchListFocusContextKey),handler(_){var f;const y=(f=_.get(i.IListService).lastFocusedList)===null||f===void 0?void 0:f.getFocus();Array.isArray(y)&&y[0]instanceof p.OneReference&&m(_,L=>L.revealReference(y[0]))}}),n.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2048|3,mac:{primary:256|3},when:C.ContextKeyExpr.and(e.ctxReferenceSearchVisible,i.WorkbenchListFocusContextKey),handler(_){var f;const y=(f=_.get(i.IListService).lastFocusedList)===null||f===void 0?void 0:f.getFocus();Array.isArray(y)&&y[0]instanceof p.OneReference&&m(_,L=>L.openReference(y[0],!0,!0))}}),l.CommandsRegistry.registerCommand("openReference",_=>{var f;const y=(f=_.get(i.IListService).lastFocusedList)===null||f===void 0?void 0:f.getFocus();Array.isArray(y)&&y[0]instanceof p.OneReference&&m(_,L=>L.openReference(y[0],!1,!0))})}),define(Q[271],J([0,1,47,15,39,17,108,13,28,14,3,25,18,146,118,270,132,481,34,16,32,59,262,26,70,625,35,24,9,20,144]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y,L,I,k,E){"use strict";var T,O,A,B,F,D,R,W;Object.defineProperty(e,"__esModule",{value:!0}),e.DefinitionAction=void 0,n.MenuRegistry.appendMenuItem(n.MenuId.EditorContext,{submenu:n.MenuId.EditorContextPeek,title:i.localize(0,null),group:"navigation",order:100});class x extends C.EditorAction{constructor(P,V){super(V);this._configuration=P}run(P,V){if(!V.hasModel())return Promise.resolve(void 0);const U=P.get(l.INotificationService),H=P.get(d.ICodeEditorService),$=P.get(h.IEditorProgressService),ie=P.get(v.ISymbolNavigationService),oe=V.getModel(),ae=V.getPosition(),G=new f.EditorStateCancellationTokenSource(V,1|4),j=N.raceCancellation(this._getLocationModel(oe,ae,G.token),G.token).then(te=>Ie(this,void 0,void 0,function*(){if(!(!te||G.token.isCancellationRequested)){b.alert(te.ariaMessage);let Z;if(te.referenceAt(oe.uri,ae)){const he=this._getAlternativeCommand(V);he!==this.id&&(Z=V.getAction(he))}const ue=te.references.length;if(ue===0){if(!this._configuration.muteMessage){const he=oe.getWordAtPosition(ae);s.MessageController.get(V).showMessage(this._getNoResultFoundMessage(he),ae)}}else if(ue===1&&Z)Z.run();else return this._onResult(H,ie,V,te)}}),te=>{U.error(te)}).finally(()=>{G.dispose()});return $.showWhile(j,250),j}_onResult(P,V,U,H){return Ie(this,void 0,void 0,function*(){const $=this._getGoToPreference(U);if(!(U instanceof E.EmbeddedCodeEditorWidget)&&(this._configuration.openInPeek||$==="peek"&&H.references.length>1))this._openInPeek(U,H);else{const ie=H.firstReference(),oe=H.references.length>1&&$==="gotoAndPeek",ae=yield this._openReference(U,P,ie,this._configuration.openToSide,!oe);oe&&ae?this._openInPeek(ae,H):H.dispose(),$==="goto"&&V.put(ie)}})}_openReference(P,V,U,H,$){return Ie(this,void 0,void 0,function*(){let ie;if(o.isLocationLink(U)&&(ie=U.targetSelectionRange),ie||(ie=U.range),!!ie){const oe=yield V.openCodeEditor({resource:U.uri,options:{selection:p.Range.collapseToStart(ie),selectionRevealType:3}},P,H);if(!!oe){if($){const ae=oe.getModel(),G=oe.deltaDecorations([],[{range:ie,options:{className:"symbolHighlight"}}]);setTimeout(()=>{oe.getModel()===ae&&oe.deltaDecorations(G,[])},350)}return oe}}})}_openInPeek(P,V){let U=u.ReferencesController.get(P);U&&P.hasModel()?U.toggleWidget(P.getSelection(),N.createCancelablePromise(H=>Promise.resolve(V)),this._configuration.openInPeek):V.dispose()}}class K extends x{_getLocationModel(P,V,U){return Ie(this,void 0,void 0,function*(){return new r.ReferencesModel(yield m.getDefinitionsAtPosition(P,V,U),i.localize(1,null))})}_getNoResultFoundMessage(P){return P&&P.word?i.localize(2,null,P.word):i.localize(3,null)}_getAlternativeCommand(P){return P.getOption(45).alternativeDefinitionCommand}_getGoToPreference(P){return P.getOption(45).multipleDefinitions}}e.DefinitionAction=K;const Y=w.isWeb&&!y.isStandalone?2048|70:70;C.registerEditorAction((T=class Lt extends K{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Lt.id,label:i.localize(4,null),alias:"Go to Definition",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasDefinitionProvider,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:Y,weight:100},contextMenuOpts:{group:"navigation",order:1.1},menuOpts:{menuId:n.MenuId.MenubarGoMenu,group:"4_symbol_nav",order:2,title:i.localize(5,null)}});_.CommandsRegistry.registerCommandAlias("editor.action.goToDeclaration",Lt.id)}},T.id="editor.action.revealDefinition",T)),C.registerEditorAction((O=class Et extends K{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Et.id,label:i.localize(6,null),alias:"Open Definition to the Side",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasDefinitionProvider,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:M.KeyChord(2048|41,Y),weight:100}});_.CommandsRegistry.registerCommandAlias("editor.action.openDeclarationToTheSide",Et.id)}},O.id="editor.action.revealDefinitionAside",O)),C.registerEditorAction((A=class Dt extends K{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Dt.id,label:i.localize(7,null),alias:"Peek Definition",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasDefinitionProvider,a.PeekContext.notInPeekEditor,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:512|70,linux:{primary:2048|1024|68},weight:100},contextMenuOpts:{menuId:n.MenuId.EditorContextPeek,group:"peek",order:2}});_.CommandsRegistry.registerCommandAlias("editor.action.previewDeclaration",Dt.id)}},A.id="editor.action.peekDefinition",A));class ee extends x{_getLocationModel(P,V,U){return Ie(this,void 0,void 0,function*(){return new r.ReferencesModel(yield m.getDeclarationsAtPosition(P,V,U),i.localize(8,null))})}_getNoResultFoundMessage(P){return P&&P.word?i.localize(9,null,P.word):i.localize(10,null)}_getAlternativeCommand(P){return P.getOption(45).alternativeDeclarationCommand}_getGoToPreference(P){return P.getOption(45).multipleDeclarations}}C.registerEditorAction((B=class Yt extends ee{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Yt.id,label:i.localize(11,null),alias:"Go to Declaration",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasDeclarationProvider,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{group:"navigation",order:1.3},menuOpts:{menuId:n.MenuId.MenubarGoMenu,group:"4_symbol_nav",order:3,title:i.localize(12,null)}})}_getNoResultFoundMessage(P){return P&&P.word?i.localize(13,null,P.word):i.localize(14,null)}},B.id="editor.action.revealDeclaration",B)),C.registerEditorAction(class extends ee{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",label:i.localize(15,null),alias:"Peek Declaration",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasDeclarationProvider,a.PeekContext.notInPeekEditor,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:n.MenuId.EditorContextPeek,group:"peek",order:3}})}});class se extends x{_getLocationModel(P,V,U){return Ie(this,void 0,void 0,function*(){return new r.ReferencesModel(yield m.getTypeDefinitionsAtPosition(P,V,U),i.localize(16,null))})}_getNoResultFoundMessage(P){return P&&P.word?i.localize(17,null,P.word):i.localize(18,null)}_getAlternativeCommand(P){return P.getOption(45).alternativeTypeDefinitionCommand}_getGoToPreference(P){return P.getOption(45).multipleTypeDefinitions}}C.registerEditorAction((F=class Zt extends se{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Zt.ID,label:i.localize(19,null),alias:"Go to Type Definition",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasTypeDefinitionProvider,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:0,weight:100},contextMenuOpts:{group:"navigation",order:1.4},menuOpts:{menuId:n.MenuId.MenubarGoMenu,group:"4_symbol_nav",order:3,title:i.localize(20,null)}})}},F.ID="editor.action.goToTypeDefinition",F)),C.registerEditorAction((D=class Xt extends se{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Xt.ID,label:i.localize(21,null),alias:"Peek Type Definition",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasTypeDefinitionProvider,a.PeekContext.notInPeekEditor,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:n.MenuId.EditorContextPeek,group:"peek",order:4}})}},D.ID="editor.action.peekTypeDefinition",D));class ne extends x{_getLocationModel(P,V,U){return Ie(this,void 0,void 0,function*(){return new r.ReferencesModel(yield m.getImplementationsAtPosition(P,V,U),i.localize(22,null))})}_getNoResultFoundMessage(P){return P&&P.word?i.localize(23,null,P.word):i.localize(24,null)}_getAlternativeCommand(P){return P.getOption(45).alternativeImplementationCommand}_getGoToPreference(P){return P.getOption(45).multipleImplementations}}C.registerEditorAction((R=class Qt extends ne{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Qt.ID,label:i.localize(25,null),alias:"Go to Implementations",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasImplementationProvider,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:2048|70,weight:100},menuOpts:{menuId:n.MenuId.MenubarGoMenu,group:"4_symbol_nav",order:4,title:i.localize(26,null)},contextMenuOpts:{group:"navigation",order:1.45}})}},R.ID="editor.action.goToImplementation",R)),C.registerEditorAction((W=class Jt extends ne{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Jt.ID,label:i.localize(27,null),alias:"Peek Implementations",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasImplementationProvider,a.PeekContext.notInPeekEditor,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:2048|1024|70,weight:100},contextMenuOpts:{menuId:n.MenuId.EditorContextPeek,group:"peek",order:5}})}},W.ID="editor.action.peekImplementation",W));class le extends x{_getNoResultFoundMessage(P){return P?i.localize(28,null,P.word):i.localize(29,null)}_getAlternativeCommand(P){return P.getOption(45).alternativeReferenceCommand}_getGoToPreference(P){return P.getOption(45).multipleReferences}}C.registerEditorAction(class extends le{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",label:i.localize(30,null),alias:"Go to References",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasReferenceProvider,a.PeekContext.notInPeekEditor,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:1024|70,weight:100},contextMenuOpts:{group:"navigation",order:1.45},menuOpts:{menuId:n.MenuId.MenubarGoMenu,group:"4_symbol_nav",order:5,title:i.localize(31,null)}})}_getLocationModel(P,V,U){return Ie(this,void 0,void 0,function*(){return new r.ReferencesModel(yield m.getReferencesAtPosition(P,V,!0,U),i.localize(32,null))})}}),C.registerEditorAction(class extends le{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",label:i.localize(33,null),alias:"Peek References",precondition:t.ContextKeyExpr.and(c.EditorContextKeys.hasReferenceProvider,a.PeekContext.notInPeekEditor,c.EditorContextKeys.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:n.MenuId.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(P,V,U){return Ie(this,void 0,void 0,function*(){return new r.ReferencesModel(yield m.getReferencesAtPosition(P,V,!1,U),i.localize(34,null))})}});class X extends x{constructor(P,V,U){super(P,{id:"editor.action.goToLocation",label:i.localize(35,null),alias:"Go To Any Symbol",precondition:t.ContextKeyExpr.and(a.PeekContext.notInPeekEditor,c.EditorContextKeys.isInWalkThroughSnippet.toNegated())});this._references=V,this._gotoMultipleBehaviour=U}_getLocationModel(P,V,U){return Ie(this,void 0,void 0,function*(){return new r.ReferencesModel(this._references,i.localize(36,null))})}_getNoResultFoundMessage(P){return P&&i.localize(37,null,P.word)||""}_getGoToPreference(P){var V;return(V=this._gotoMultipleBehaviour)!==null&&V!==void 0?V:P.getOption(45).multipleReferences}_getAlternativeCommand(){return""}}_.CommandsRegistry.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:L.URI},{name:"position",description:"The position at which to start",constraint:g.Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:(z,P,V,U,H,$,ie)=>Ie(void 0,void 0,void 0,function*(){k.assertType(L.URI.isUri(P)),k.assertType(g.Position.isIPosition(V)),k.assertType(Array.isArray(U)),k.assertType(typeof H=="undefined"||typeof H=="string"),k.assertType(typeof ie=="undefined"||typeof ie=="boolean");const oe=z.get(d.ICodeEditorService),ae=yield oe.openCodeEditor({resource:P},oe.getFocusedCodeEditor());if(S.isCodeEditor(ae))return ae.setPosition(V),ae.revealPositionInCenterIfOutsideViewport(V,0),ae.invokeWithinContext(G=>{const j=new class extends X{_getNoResultFoundMessage(te){return $||super._getNoResultFoundMessage(te)}}({muteMessage:!Boolean($),openInPeek:Boolean(ie),openToSide:!1},U,H);G.get(I.IInstantiationService).invokeFunction(j.run.bind(j),ae)})})}),_.CommandsRegistry.registerCommand({id:"editor.action.peekLocations",description:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:L.URI},{name:"position",description:"The position at which to start",constraint:g.Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:(z,P,V,U,H)=>Ie(void 0,void 0,void 0,function*(){z.get(_.ICommandService).executeCommand("editor.action.goToLocations",P,V,U,H,void 0,!0)})}),_.CommandsRegistry.registerCommand({id:"editor.action.findReferences",handler:(z,P,V)=>{k.assertType(L.URI.isUri(P)),k.assertType(g.Position.isIPosition(V));const U=z.get(d.ICodeEditorService);return U.openCodeEditor({resource:P},U.getFocusedCodeEditor()).then(H=>{if(!(!S.isCodeEditor(H)||!H.hasModel())){const $=u.ReferencesController.get(H);if(!!$){const ie=N.createCancelablePromise(ae=>m.getReferencesAtPosition(H.getModel(),g.Position.lift(V),!1,ae).then(G=>new r.ReferencesModel(G,i.localize(38,null)))),oe=new p.Range(V.lineNumber,V.column,V.lineNumber,V.column);return Promise.resolve($.toggleWidget(oe,ie,!1))}}})}}),_.CommandsRegistry.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations")}),define(Q[272],J([0,1,482,15,12,73,57,3,18,13,262,2,67,11,22,70,271,227,14,20,118,16,344]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoDefinitionAtPositionEditorContribution=void 0;let m=class rt{constructor(f,v,y){this.textModelResolverService=v,this.modeService=y,this.toUnhook=new c.DisposableStore,this.toUnhookForKeyboard=new c.DisposableStore,this.linkDecorations=[],this.currentWordAtPosition=null,this.previousPromise=null,this.editor=f;let L=new i.ClickLinkGesture(f);this.toUnhook.add(L),this.toUnhook.add(L.onMouseMoveOrRelevantKeyDown(([I,k])=>{this.startFindDefinitionFromMouse(I,t.withNullAsUndefined(k))})),this.toUnhook.add(L.onExecute(I=>{this.isEnabled(I)&&this.gotoDefinition(I.target.position,I.hasSideBySideModifier).then(()=>{this.removeLinkDecorations()},k=>{this.removeLinkDecorations(),M.onUnexpectedError(k)})})),this.toUnhook.add(L.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(f){return f.getContribution(rt.ID)}startFindDefinitionFromCursor(f){return this.startFindDefinition(f).then(()=>{this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(v=>{v&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))})}startFindDefinitionFromMouse(f,v){if(!(f.target.type===9&&this.linkDecorations.length>0)){if(!this.editor.hasModel()||!this.isEnabled(f,v)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const y=f.target.position;this.startFindDefinition(y)}}startFindDefinition(f){var v;this.toUnhookForKeyboard.clear();const y=f?(v=this.editor.getModel())===null||v===void 0?void 0:v.getWordAtPosition(f):null;if(!y)return this.currentWordAtPosition=null,this.removeLinkDecorations(),Promise.resolve(0);if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===y.startColumn&&this.currentWordAtPosition.endColumn===y.endColumn&&this.currentWordAtPosition.word===y.word)return Promise.resolve(0);this.currentWordAtPosition=y;let L=new u.EditorState(this.editor,4|1|2|8);return this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=N.createCancelablePromise(I=>this.findDefinition(f,I)),this.previousPromise.then(I=>{if(!I||!I.length||!L.validate(this.editor)){this.removeLinkDecorations();return}if(I.length>1)this.addDecoration(new C.Range(f.lineNumber,y.startColumn,f.lineNumber,y.endColumn),new w.MarkdownString().appendText(b.localize(0,null,I.length)));else{let k=I[0];if(!k.uri)return;this.textModelResolverService.createModelReference(k.uri).then(E=>{if(!E.object||!E.object.textEditorModel){E.dispose();return}const{object:{textEditorModel:T}}=E,{startLineNumber:O}=k.range;if(O<1||O>T.getLineCount()){E.dispose();return}const A=this.getPreviewValue(T,O,k);let B;k.originSelectionRange?B=C.Range.lift(k.originSelectionRange):B=new C.Range(f.lineNumber,y.startColumn,f.lineNumber,y.endColumn);const F=this.modeService.getModeIdByFilepathOrFirstLine(T.uri);this.addDecoration(B,new w.MarkdownString().appendCodeblock(F||"",A)),E.dispose()})}}).then(void 0,M.onUnexpectedError)}getPreviewValue(f,v,y){let L=y.targetSelectionRange?y.range:this.getPreviewRangeBasedOnBrackets(f,v);return L.endLineNumber-L.startLineNumber>=rt.MAX_SOURCE_PREVIEW_LINES&&(L=this.getPreviewRangeBasedOnIndentation(f,v)),this.stripIndentationFromPreviewRange(f,v,L)}stripIndentationFromPreviewRange(f,v,y){let I=f.getLineFirstNonWhitespaceColumn(v);for(let E=v+1;Ey)return new C.Range(v,1,y+1,1);k=f.findNextBracket(new n.Position(T,O))}return new C.Range(v,1,y+1,1)}addDecoration(f,v){const y={range:f,options:{inlineClassName:"goto-definition-link",hoverMessage:v}};this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[y])}removeLinkDecorations(){this.linkDecorations.length>0&&(this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[]))}isEnabled(f,v){return this.editor.hasModel()&&f.isNoneOrSingleMouseDown&&f.target.type===6&&(f.hasTriggerModifier||(v?v.keyCodeIsTriggerKey:!1))&&d.DefinitionProviderRegistry.has(this.editor.getModel())}findDefinition(f,v){const y=this.editor.getModel();return y?p.getDefinitionsAtPosition(y,f,v):Promise.resolve(null)}gotoDefinition(f,v){return this.editor.setPosition(f),this.editor.invokeWithinContext(y=>{const L=!v&&this.editor.getOption(72)&&!this.isInPeekEditor(y);return new r.DefinitionAction({openToSide:v,openInPeek:L,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}).run(y,this.editor)})}isInPeekEditor(f){const v=f.get(h.IContextKeyService);return l.PeekContext.inPeekEditor.getValue(v)}dispose(){this.toUnhook.dispose()}};m.ID="editor.contrib.gotodefinitionatposition",m.MAX_SOURCE_PREVIEW_LINES=8,m=Me([_e(1,o.ITextModelService),_e(2,S.IModeService)],m),e.GotoDefinitionAtPositionEditorContribution=m,g.registerEditorContribution(m.ID,m),s.registerThemingParticipant((_,f)=>{const v=_.getColor(a.editorActiveLinkForeground);v&&f.addRule(`.monaco-editor .goto-definition-link { color: ${v} !important; }`)})}),define(Q[273],J([0,1,488,39,2,13,3,25,57,661,560,58,22,11,272,16,9]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ModesHoverController=void 0;let i=class ei{constructor(h,m,_,f,v,y){this._editor=h,this._instantiationService=m,this._openerService=_,this._modeService=f,this._themeService=v,this._toUnhook=new M.DisposableStore,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(L=>{L.hasChanged(48)&&(this._unhookEvents(),this._hookEvents())}),this._hoverVisibleKey=C.EditorContextKeys.hoverVisible.bindTo(y)}static get(h){return h.getContribution(ei.ID)}_hookEvents(){const h=()=>this._hideWidgets(),m=this._editor.getOption(48);this._isHoverEnabled=m.enabled,this._isHoverSticky=m.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(_=>this._onEditorMouseDown(_))),this._toUnhook.add(this._editor.onMouseUp(_=>this._onEditorMouseUp(_))),this._toUnhook.add(this._editor.onMouseMove(_=>this._onEditorMouseMove(_))),this._toUnhook.add(this._editor.onKeyDown(_=>this._onKeyDown(_))),this._toUnhook.add(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged()))):(this._toUnhook.add(this._editor.onMouseMove(_=>this._onEditorMouseMove(_))),this._toUnhook.add(this._editor.onKeyDown(_=>this._onKeyDown(_)))),this._toUnhook.add(this._editor.onMouseLeave(h)),this._toUnhook.add(this._editor.onDidChangeModel(h)),this._toUnhook.add(this._editor.onDidScrollChange(_=>this._onEditorScrollChanged(_)))}_unhookEvents(){this._toUnhook.clear()}_onModelDecorationsChanged(){var h,m;(h=this._contentWidget)===null||h===void 0||h.onModelDecorationsChanged(),(m=this._glyphWidget)===null||m===void 0||m.onModelDecorationsChanged()}_onEditorScrollChanged(h){(h.scrollTopChanged||h.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(h){this._isMouseDown=!0;const m=h.target.type;if(m===9&&h.target.detail===g.ModesContentHoverWidget.ID){this._hoverClicked=!0;return}m===12&&h.target.detail===p.ModesGlyphHoverWidget.ID||(m!==12&&h.target.detail!==p.ModesGlyphHoverWidget.ID&&(this._hoverClicked=!1),this._hideWidgets())}_onEditorMouseUp(h){this._isMouseDown=!1}_onEditorMouseMove(h){var m,_,f,v,y,L;let I=h.target.type;if(!(this._isMouseDown&&this._hoverClicked)&&!(this._isHoverSticky&&I===9&&h.target.detail===g.ModesContentHoverWidget.ID)&&!(this._isHoverSticky&&!((_=(m=h.event.browserEvent.view)===null||m===void 0?void 0:m.getSelection())===null||_===void 0?void 0:_.isCollapsed))&&!(!this._isHoverSticky&&I===9&&h.target.detail===g.ModesContentHoverWidget.ID&&((f=this._contentWidget)===null||f===void 0?void 0:f.isColorPickerVisible()))&&!(this._isHoverSticky&&I===12&&h.target.detail===p.ModesGlyphHoverWidget.ID)){if(I===7){const k=this._editor.getOption(38).typicalHalfwidthCharacterWidth/2,E=h.target.detail;E&&!E.isAfterLines&&typeof E.horizontalDistanceToText=="number"&&E.horizontalDistanceToTextT.startsWith("ced-colorBox"))&&h.target.range.endColumn-h.target.range.startColumn==1?new S.Range(h.target.range.startLineNumber,h.target.range.startColumn+1,h.target.range.endLineNumber,h.target.range.endColumn+1):h.target.range;this._contentWidget||(this._contentWidget=new g.ModesContentHoverWidget(this._editor,this._hoverVisibleKey,this._instantiationService,this._themeService)),this._contentWidget.startShowingAt(E,0,!1)}}else I===2?((L=this._contentWidget)===null||L===void 0||L.hide(),this._isHoverEnabled&&h.target.position&&(this._glyphWidget||(this._glyphWidget=new p.ModesGlyphHoverWidget(this._editor,this._modeService,this._openerService)),this._glyphWidget.startShowingAt(h.target.position.lineNumber))):this._hideWidgets()}}_onKeyDown(h){h.keyCode!==5&&h.keyCode!==6&&h.keyCode!==57&&h.keyCode!==4&&this._hideWidgets()}_hideWidgets(){var h,m,_;this._isMouseDown&&this._hoverClicked&&((h=this._contentWidget)===null||h===void 0?void 0:h.isColorPickerVisible())||(this._hoverClicked=!1,(m=this._glyphWidget)===null||m===void 0||m.hide(),(_=this._contentWidget)===null||_===void 0||_.hide())}isColorPickerVisible(){var h;return((h=this._contentWidget)===null||h===void 0?void 0:h.isColorPickerVisible())||!1}showContentHover(h,m,_){this._contentWidget||(this._contentWidget=new g.ModesContentHoverWidget(this._editor,this._hoverVisibleKey,this._instantiationService,this._themeService)),this._contentWidget.startShowingAt(h,m,_)}dispose(){var h,m;this._unhookEvents(),this._toUnhook.dispose(),this._didChangeConfigurationHandler.dispose(),(h=this._glyphWidget)===null||h===void 0||h.dispose(),(m=this._contentWidget)===null||m===void 0||m.dispose()}};i.ID="editor.contrib.hover",i=Me([_e(1,r.IInstantiationService),_e(2,c.IOpenerService),_e(3,d.IModeService),_e(4,s.IThemeService),_e(5,u.IContextKeyService)],i),e.ModesHoverController=i;class n extends w.EditorAction{constructor(){super({id:"editor.action.showHover",label:b.localize(0,null),alias:"Show Hover",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:N.KeyChord(2048|41,2048|39),weight:100}})}run(h,m){if(!!m.hasModel()){let _=i.get(m);if(!!_){const f=m.getPosition(),v=new S.Range(f.lineNumber,f.column,f.lineNumber,f.column),y=m.getOption(2)===2;_.showContentHover(v,1,y)}}}}class t extends w.EditorAction{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:b.localize(1,null),alias:"Show Definition Preview Hover",precondition:void 0})}run(h,m){let _=i.get(m);if(!!_){const f=m.getPosition();if(!!f){const v=new S.Range(f.lineNumber,f.column,f.lineNumber,f.column),L=a.GotoDefinitionAtPositionEditorContribution.get(m).startFindDefinitionFromCursor(f);L?L.then(()=>{_.showContentHover(v,1,!0)}):_.showContentHover(v,1,!0)}}}}w.registerEditorContribution(i.ID,i),w.registerEditorAction(n),w.registerEditorAction(t),s.registerThemingParticipant((l,h)=>{const m=l.getColor(o.editorHoverHighlight);m&&h.addRule(`.monaco-editor .hoverHighlight { background-color: ${m}; }`);const _=l.getColor(o.editorHoverBackground);_&&h.addRule(`.monaco-editor .monaco-hover { background-color: ${_}; }`);const f=l.getColor(o.editorHoverBorder);f&&(h.addRule(`.monaco-editor .monaco-hover { border: 1px solid ${f}; }`),h.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${f.transparent(.5)}; }`),h.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${f.transparent(.5)}; }`),h.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${f.transparent(.5)}; }`));const v=l.getColor(o.textLinkForeground);v&&h.addRule(`.monaco-editor .monaco-hover a { color: ${v}; }`);const y=l.getColor(o.editorHoverForeground);y&&h.addRule(`.monaco-editor .monaco-hover { color: ${y}; }`);const L=l.getColor(o.editorHoverStatusBarBackground);L&&h.addRule(`.monaco-editor .monaco-hover .hover-row .actions { background-color: ${L}; }`);const I=l.getColor(o.textCodeBlockBackground);I&&h.addRule(`.monaco-editor .monaco-hover code { background-color: ${I}; }`)})}),define(Q[670],J([0,1,2,13,273,3,260]),function(q,e,b,N,M,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorContribution=void 0;class S extends b.Disposable{constructor(d){super();this._editor=d,this._register(d.onMouseDown(g=>this.onMouseDown(g)))}dispose(){super.dispose()}onMouseDown(d){var g;if(d.target.type===6&&!![...((g=d.target.element)===null||g===void 0?void 0:g.classList.values())||[]].find(s=>s.startsWith("ced-colorBox"))&&!!d.target.range){const o=this._editor.getContribution(M.ModesHoverController.ID);if(!o.isColorPickerVisible()){const s=new w.Range(d.target.range.startLineNumber,d.target.range.startColumn+1,d.target.range.endLineNumber,d.target.range.endColumn+1);o.showContentHover(s,0,!1)}}}}e.ColorContribution=S,S.ID="editor.contrib.colorContribution",N.registerEditorContribution(S.ID,S)}),define(Q[671],J([0,1,15,2,13,18,36,253,11,46,269,247]),function(q,e,b,N,M,w,S,C,d,g,p,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let o=class extends N.Disposable{constructor(a,u,r,i){super();this._modelService=u,this._themeService=r,this._configurationService=i,this._editor=a,this._tokenizeViewport=new b.RunOnceScheduler(()=>this._tokenizeViewportNow(),100),this._outstandingRequests=[],this._register(this._editor.onDidScrollChange(()=>{this._tokenizeViewport.schedule()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),this._tokenizeViewport.schedule()})),this._register(this._editor.onDidChangeModelContent(n=>{this._cancelAll(),this._tokenizeViewport.schedule()})),this._register(w.DocumentRangeSemanticTokensProviderRegistry.onDidChange(()=>{this._cancelAll(),this._tokenizeViewport.schedule()})),this._register(this._configurationService.onDidChangeConfiguration(n=>{n.affectsConfiguration(p.SEMANTIC_HIGHLIGHTING_SETTING_ID)&&(this._cancelAll(),this._tokenizeViewport.schedule())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),this._tokenizeViewport.schedule()}))}_cancelAll(){for(const a of this._outstandingRequests)a.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(a){for(let u=0,r=this._outstandingRequests.length;uthis._requestRange(a,n,u,r)))}}}_requestRange(a,u,r,i){const n=a.getVersionId(),t=b.createCancelablePromise(l=>Promise.resolve(r.provideDocumentRangeSemanticTokens(a,u,l)));return t.then(l=>{!l||a.isDisposed()||a.getVersionId()!==n||a.setPartialSemanticTokens(u,C.toMultilineTokens2(l,i,a.getLanguageIdentifier()))}).then(()=>this._removeOutstandingRequest(t),()=>this._removeOutstandingRequest(t)),t}};o.ID="editor.contrib.viewportSemanticTokens",o=Me([_e(1,S.IModelService),_e(2,d.IThemeService),_e(3,g.IConfigurationService)],o),M.registerEditorContribution(o.ID,o)}),define(Q[672],J([0,1,13,28,270,46,16,9,32,79]),function(q,e,b,N,M,w,S,C,d,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneReferencesController=void 0;let p=class extends M.ReferencesController{constructor(o,s,a,u,r,i,n){super(!0,o,s,a,u,r,i,n)}};p=Me([_e(1,S.IContextKeyService),_e(2,N.ICodeEditorService),_e(3,d.INotificationService),_e(4,C.IInstantiationService),_e(5,g.IStorageService),_e(6,w.IConfigurationService)],p),e.StandaloneReferencesController=p,b.registerEditorContribution(M.ReferencesController.ID,p)}),define(Q[673],J([0,1,529,148,12,74,184,82,43,32,2]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UndoRedoService=void 0;const c=!1;function o(_){return _.scheme===d.Schemas.file?_.fsPath:_.path}let s=0;class a{constructor(f,v,y,L,I,k,E){this.id=++s,this.type=0,this.actual=f,this.label=f.label,this.confirmBeforeUndo=f.confirmBeforeUndo||!1,this.resourceLabel=v,this.strResource=y,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=L,this.groupOrder=I,this.sourceId=k,this.sourceOrder=E,this.isValid=!0}setValid(f){this.isValid=f}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class u{constructor(f,v){this.resourceLabel=f,this.reason=v}}class r{constructor(){this.elements=new Map}createMessage(){const f=[],v=[];for(const[,L]of this.elements)(L.reason===0?f:v).push(L.resourceLabel);let y=[];return f.length>0&&y.push(b.localize(0,null,f.join(", "))),v.length>0&&y.push(b.localize(1,null,v.join(", "))),y.join(` +`)}get size(){return this.elements.size}has(f){return this.elements.has(f)}set(f,v){this.elements.set(f,v)}delete(f){return this.elements.delete(f)}}class i{constructor(f,v,y,L,I,k,E){this.id=++s,this.type=1,this.actual=f,this.label=f.label,this.confirmBeforeUndo=f.confirmBeforeUndo||!1,this.resourceLabels=v,this.strResources=y,this.groupId=L,this.groupOrder=I,this.sourceId=k,this.sourceOrder=E,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(f,v,y){this.removedResources||(this.removedResources=new r),this.removedResources.has(v)||this.removedResources.set(v,new u(f,y))}setValid(f,v,y){y?this.invalidatedResources&&(this.invalidatedResources.delete(v),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new r),this.invalidatedResources.has(v)||this.invalidatedResources.set(v,new u(f,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class n{constructor(f,v){this.resourceLabel=f,this.strResource=v,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const f of this._past)f.type===1&&f.removeResource(this.resourceLabel,this.strResource,0);for(const f of this._future)f.type===1&&f.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let f=[];f.push(`* ${this.strResource}:`);for(let v=0;v=0;v--)f.push(` * [REDO] ${this._future[v]}`);return f.join(` +`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(f,v){f.type===1?f.setValid(this.resourceLabel,this.strResource,v):f.setValid(v)}setElementsValidFlag(f,v){for(const y of this._past)v(y.actual)&&this._setElementValidFlag(y,f);for(const y of this._future)v(y.actual)&&this._setElementValidFlag(y,f)}pushElement(f){for(const v of this._future)v.type===1&&v.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(f),this.versionId++}createSnapshot(f){const v=[];for(let y=0,L=this._past.length;y=0;y--)v.push(this._future[y].id);return new N.ResourceEditStackSnapshot(f,v)}restoreSnapshot(f){const v=f.elements.length;let y=!0,L=0,I=-1;for(let E=0,T=this._past.length;E=v||O.id!==f.elements[L])&&(y=!1,I=0),!y&&O.type===1&&O.removeResource(this.resourceLabel,this.strResource,0)}let k=-1;for(let E=this._future.length-1;E>=0;E--,L++){const T=this._future[E];y&&(L>=v||T.id!==f.elements[L])&&(y=!1,k=E),!y&&T.type===1&&T.removeResource(this.resourceLabel,this.strResource,0)}I!==-1&&(this._past=this._past.slice(0,I)),k!==-1&&(this._future=this._future.slice(k+1)),this.versionId++}getElements(){const f=[],v=[];for(const y of this._past)f.push(y.actual);for(const y of this._future)v.push(y.actual);return{past:f,future:v}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(f,v){for(let y=this._past.length-1;y>=0;y--)if(this._past[y]===f){v.has(this.strResource)?this._past[y]=v.get(this.strResource):this._past.splice(y,1);break}this.versionId++}splitFutureWorkspaceElement(f,v){for(let y=this._future.length-1;y>=0;y--)if(this._future[y]===f){v.has(this.strResource)?this._future[y]=v.get(this.strResource):this._future.splice(y,1);break}this.versionId++}moveBackward(f){this._past.pop(),this._future.push(f),this.versionId++}moveForward(f){this._future.pop(),this._past.push(f),this.versionId++}}class t{constructor(f){this.editStacks=f,this._versionIds=[];for(let v=0,y=this.editStacks.length;vv.sourceOrder)&&(v=k,y=L)}return[v,y]}canUndo(f){if(f instanceof N.UndoRedoSource){const[,y]=this._findClosestUndoElementWithSource(f.id);return!!y}const v=this.getUriComparisonKey(f);return this._editStacks.has(v)?this._editStacks.get(v).hasPastElements():!1}_onError(f,v){M.onUnexpectedError(f);for(const y of v.strResources)this.removeElements(y);this._notificationService.error(f)}_acquireLocks(f){for(const v of f.editStacks)if(v.locked)throw new Error("Cannot acquire edit stack lock");for(const v of f.editStacks)v.locked=!0;return()=>{for(const v of f.editStacks)v.locked=!1}}_safeInvokeWithLocks(f,v,y,L,I){const k=this._acquireLocks(y);let E;try{E=v()}catch(T){return k(),L.dispose(),this._onError(T,f)}return E?E.then(()=>(k(),L.dispose(),I()),T=>(k(),L.dispose(),this._onError(T,f))):(k(),L.dispose(),I())}_invokeWorkspacePrepare(f){return Ie(this,void 0,void 0,function*(){if(typeof f.actual.prepareUndoRedo=="undefined")return p.Disposable.None;const v=f.actual.prepareUndoRedo();return typeof v=="undefined"?p.Disposable.None:v})}_invokeResourcePrepare(f,v){if(f.actual.type!==1||typeof f.actual.prepareUndoRedo=="undefined")return v(p.Disposable.None);const y=f.actual.prepareUndoRedo();return y?p.isDisposable(y)?v(y):y.then(L=>v(L)):v(p.Disposable.None)}_getAffectedEditStacks(f){const v=[];for(const y of f.strResources)v.push(this._editStacks.get(y)||l);return new t(v)}_tryToSplitAndUndo(f,v,y,L){if(v.canSplit())return this._splitPastWorkspaceElement(v,y),this._notificationService.info(L),new m(this._undo(f,0,!0));for(const I of v.strResources)this.removeElements(I);return this._notificationService.info(L),new m}_checkWorkspaceUndo(f,v,y,L){if(v.removedResources)return this._tryToSplitAndUndo(f,v,v.removedResources,b.localize(2,null,v.label,v.removedResources.createMessage()));if(L&&v.invalidatedResources)return this._tryToSplitAndUndo(f,v,v.invalidatedResources,b.localize(3,null,v.label,v.invalidatedResources.createMessage()));const I=[];for(const E of y.editStacks)E.getClosestPastElement()!==v&&I.push(E.resourceLabel);if(I.length>0)return this._tryToSplitAndUndo(f,v,null,b.localize(4,null,v.label,I.join(", ")));const k=[];for(const E of y.editStacks)E.locked&&k.push(E.resourceLabel);return k.length>0?this._tryToSplitAndUndo(f,v,null,b.localize(5,null,v.label,k.join(", "))):y.isValid()?null:this._tryToSplitAndUndo(f,v,null,b.localize(6,null,v.label))}_workspaceUndo(f,v,y){const L=this._getAffectedEditStacks(v),I=this._checkWorkspaceUndo(f,v,L,!1);return I?I.returnValue:this._confirmAndExecuteWorkspaceUndo(f,v,L,y)}_isPartOfUndoGroup(f){if(!f.groupId)return!1;for(const[,v]of this._editStacks){const y=v.getClosestPastElement();if(!!y){if(y===f){const L=v.getSecondClosestPastElement();if(L&&L.groupId===f.groupId)return!0}if(y.groupId===f.groupId)return!0}}return!1}_confirmAndExecuteWorkspaceUndo(f,v,y,L){return Ie(this,void 0,void 0,function*(){if(v.canSplit()&&!this._isPartOfUndoGroup(v)){const E=yield this._dialogService.show(C.default.Info,b.localize(7,null,v.label),[b.localize(8,null,y.editStacks.length),b.localize(9,null),b.localize(10,null)],{cancelId:2});if(E.choice===2)return;if(E.choice===1)return this._splitPastWorkspaceElement(v,null),this._undo(f,0,!0);const T=this._checkWorkspaceUndo(f,v,y,!1);if(T)return T.returnValue;L=!0}let I;try{I=yield this._invokeWorkspacePrepare(v)}catch(E){return this._onError(E,v)}const k=this._checkWorkspaceUndo(f,v,y,!0);if(k)return I.dispose(),k.returnValue;for(const E of y.editStacks)E.moveBackward(v);return this._safeInvokeWithLocks(v,()=>v.actual.undo(),y,I,()=>this._continueUndoInGroup(v.groupId,L))})}_resourceUndo(f,v,y){if(!v.isValid){f.flushAllElements();return}if(f.locked){const L=b.localize(11,null,v.label);this._notificationService.info(L);return}return this._invokeResourcePrepare(v,L=>(f.moveBackward(v),this._safeInvokeWithLocks(v,()=>v.actual.undo(),new t([f]),L,()=>this._continueUndoInGroup(v.groupId,y))))}_findClosestUndoElementInGroup(f){if(!f)return[null,null];let v=null,y=null;for(const[L,I]of this._editStacks){const k=I.getClosestPastElement();!k||k.groupId===f&&(!v||k.groupOrder>v.groupOrder)&&(v=k,y=L)}return[v,y]}_continueUndoInGroup(f,v){if(!!f){const[,y]=this._findClosestUndoElementInGroup(f);if(y)return this._undo(y,0,v)}}undo(f){if(f instanceof N.UndoRedoSource){const[,v]=this._findClosestUndoElementWithSource(f.id);return v?this._undo(v,f.id,!1):void 0}return typeof f=="string"?this._undo(f,0,!1):this._undo(this.getUriComparisonKey(f),0,!1)}_undo(f,v=0,y){if(!!this._editStacks.has(f)){const L=this._editStacks.get(f),I=L.getClosestPastElement();if(!!I){if(I.groupId){const[E,T]=this._findClosestUndoElementInGroup(I.groupId);if(I!==E&&T)return this._undo(T,v,y)}if((I.sourceId!==v||I.confirmBeforeUndo)&&!y)return this._confirmAndContinueUndo(f,v,I);try{return I.type===1?this._workspaceUndo(f,I,y):this._resourceUndo(L,I,y)}finally{c&&this._print("undo")}}}}_confirmAndContinueUndo(f,v,y){return Ie(this,void 0,void 0,function*(){if((yield this._dialogService.show(C.default.Info,b.localize(12,null,y.label),[b.localize(13,null),b.localize(14,null)],{cancelId:1})).choice!==1)return this._undo(f,v,!0)})}_findClosestRedoElementWithSource(f){if(!f)return[null,null];let v=null,y=null;for(const[L,I]of this._editStacks){const k=I.getClosestFutureElement();!k||k.sourceId===f&&(!v||k.sourceOrder0)return this._tryToSplitAndRedo(f,v,null,b.localize(17,null,v.label,I.join(", ")));const k=[];for(const E of y.editStacks)E.locked&&k.push(E.resourceLabel);return k.length>0?this._tryToSplitAndRedo(f,v,null,b.localize(18,null,v.label,k.join(", "))):y.isValid()?null:this._tryToSplitAndRedo(f,v,null,b.localize(19,null,v.label))}_workspaceRedo(f,v){const y=this._getAffectedEditStacks(v),L=this._checkWorkspaceRedo(f,v,y,!1);return L?L.returnValue:this._executeWorkspaceRedo(f,v,y)}_executeWorkspaceRedo(f,v,y){return Ie(this,void 0,void 0,function*(){let L;try{L=yield this._invokeWorkspacePrepare(v)}catch(k){return this._onError(k,v)}const I=this._checkWorkspaceRedo(f,v,y,!0);if(I)return L.dispose(),I.returnValue;for(const k of y.editStacks)k.moveForward(v);return this._safeInvokeWithLocks(v,()=>v.actual.redo(),y,L,()=>this._continueRedoInGroup(v.groupId))})}_resourceRedo(f,v){if(!v.isValid){f.flushAllElements();return}if(f.locked){const y=b.localize(20,null,v.label);this._notificationService.info(y);return}return this._invokeResourcePrepare(v,y=>(f.moveForward(v),this._safeInvokeWithLocks(v,()=>v.actual.redo(),new t([f]),y,()=>this._continueRedoInGroup(v.groupId))))}_findClosestRedoElementInGroup(f){if(!f)return[null,null];let v=null,y=null;for(const[L,I]of this._editStacks){const k=I.getClosestFutureElement();!k||k.groupId===f&&(!v||k.groupOrderthis.findModel(U,P),U=>this.findModel(U.getOriginalEditor(),P)||this.findModel(U.getModifiedEditor(),P))),V?Promise.resolve(new C.ImmortalReference(new k(V))):Promise.reject(new Error("Model not found"))}findModel(P,V){let U=this.modelService.getModel(V);return U&&U.uri.toString()!==V.toString()?null:U}};T=Me([_e(0,i.IModelService)],T),e.SimpleEditorModelResolverService=T;class O{show(){return O.NULL_PROGRESS_RUNNER}showWhile(P,V){return Ie(this,void 0,void 0,function*(){yield P})}}e.SimpleEditorProgressService=O,O.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class A{confirm(P){return this.doConfirm(P).then(V=>({confirmed:V,checkboxChecked:!1}))}doConfirm(P){let V=P.message;return P.detail&&(V=V+` + +`+P.detail),Promise.resolve(window.confirm(V))}show(P,V,U,H){return Promise.resolve({choice:0})}}e.SimpleDialogService=A;class B{info(P){return this.notify({severity:g.default.Info,message:P})}warn(P){return this.notify({severity:g.default.Warning,message:P})}error(P){return this.notify({severity:g.default.Error,message:P})}notify(P){switch(P.severity){case g.default.Error:console.error(P.message);break;case g.default.Warning:console.warn(P.message);break;default:console.log(P.message);break}return B.NO_OP}status(P,V){return C.Disposable.None}}e.SimpleNotificationService=B,B.NO_OP=new y.NoOpNotification;class F{constructor(P){this._onWillExecuteCommand=new w.Emitter,this._onDidExecuteCommand=new w.Emitter,this._instantiationService=P}executeCommand(P,...V){const U=n.CommandsRegistry.getCommand(P);if(!U)return Promise.reject(new Error(`command '${P}' not found`));try{this._onWillExecuteCommand.fire({commandId:P,args:V});const H=this._instantiationService.invokeFunction.apply(this._instantiationService,[U.handler,...V]);return this._onDidExecuteCommand.fire({commandId:P,args:V}),Promise.resolve(H)}catch(H){return Promise.reject(H)}}}e.StandaloneCommandService=F;class D extends h.AbstractKeybindingService{constructor(P,V,U,H,$,ie){super(P,V,U,H,$);this._cachedResolver=null,this._dynamicKeybindings=[],this._register(N.addDisposableListener(ie,N.EventType.KEY_DOWN,oe=>{const ae=new M.StandardKeyboardEvent(oe);this._dispatch(ae,ae.target)&&(ae.preventDefault(),ae.stopPropagation())})),this._register(N.addDisposableListener(window,N.EventType.KEY_UP,oe=>{const ae=new M.StandardKeyboardEvent(oe);this._singleModifierDispatch(ae,ae.target)&&ae.preventDefault()}))}addDynamicKeybinding(P,V,U,H){const $=S.createKeybinding(V,d.OS),ie=new C.DisposableStore;return $&&(this._dynamicKeybindings.push({keybinding:$,command:P,when:H,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}),ie.add(C.toDisposable(()=>{for(let oe=0;oethis._log(U))}return this._cachedResolver}_documentHasFocus(){return document.hasFocus()}_toNormalizedKeybindingItems(P,V){let U=[],H=0;for(const $ of P){const ie=$.when||void 0,oe=$.keybinding;if(!oe)U[H++]=new f.ResolvedKeybindingItem(void 0,$.command,$.commandArgs,ie,V,null,!1);else{const ae=this.resolveKeybinding(oe);for(const G of ae)U[H++]=new f.ResolvedKeybindingItem(G,$.command,$.commandArgs,ie,V,null,!1)}}return U}resolveKeybinding(P){return[new v.USLayoutResolvedKeybinding(P,d.OS)]}resolveKeyboardEvent(P){let V=new S.SimpleKeybinding(P.ctrlKey,P.shiftKey,P.altKey,P.metaKey,P.keyCode).toChord();return new v.USLayoutResolvedKeybinding(V,d.OS)}}e.StandaloneKeybindingService=D;function R(z){return z&&typeof z=="object"&&(!z.overrideIdentifier||typeof z.overrideIdentifier=="string")&&(!z.resource||z.resource instanceof p.URI)}class W{constructor(){this._onDidChangeConfiguration=new w.Emitter,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._configuration=new l.Configuration(new l.DefaultConfigurationModel,new l.ConfigurationModel)}getValue(P,V){const U=typeof P=="string"?P:void 0,H=R(P)?P:R(V)?V:{};return this._configuration.getValue(U,H,void 0)}updateValues(P){const V={data:this._configuration.toData()};let U=[];for(const H of P){const[$,ie]=H;this.getValue($)!==ie&&(this._configuration.updateValue($,ie),U.push($))}if(U.length>0){const H=new l.ConfigurationChangeEvent({keys:U,overrides:[]},V,this._configuration);H.source=7,H.sourceConfig=null,this._onDidChangeConfiguration.fire(H)}return Promise.resolve()}}e.SimpleConfigurationService=W;class x{constructor(P){this.configurationService=P,this._onDidChangeConfiguration=new w.Emitter,this.configurationService.onDidChangeConfiguration(V=>{this._onDidChangeConfiguration.fire({affectedKeys:V.affectedKeys,affectsConfiguration:(U,H)=>V.affectsConfiguration(H)})})}getValue(P,V,U){const $=(u.Position.isIPosition(V)?V:null)?typeof U=="string"?U:void 0:typeof V=="string"?V:void 0;return typeof $=="undefined"?this.configurationService.getValue():this.configurationService.getValue($)}}e.SimpleResourceConfigurationService=x;let K=class{constructor(P){this.configurationService=P}getEOL(P,V){const U=this.configurationService.getValue("files.eol",{overrideIdentifier:V,resource:P});return U&&U!=="auto"?U:d.isLinux||d.isMacintosh?` +`:`\r +`}};K=Me([_e(0,t.IConfigurationService)],K),e.SimpleResourcePropertiesService=K;class Y{publicLog(P,V){return Promise.resolve(void 0)}publicLog2(P,V){return this.publicLog(P,V)}}e.StandaloneTelemetryService=Y;class ee{constructor(){const P=p.URI.from({scheme:ee.SCHEME,authority:"model",path:"/"});this.workspace={id:"4064f6ec-cb38-4ad0-af64-ee6467e63c82",folders:[new L.WorkspaceFolder({uri:P,name:"",index:0})]}}getWorkspace(){return this.workspace}}e.SimpleWorkspaceContextService=ee,ee.SCHEME="inmemory";function se(z,P,V){if(!!P&&z instanceof W){let U=[];Object.keys(P).forEach(H=>{s.isEditorConfigurationKey(H)&&U.push([`editor.${H}`,P[H]]),V&&s.isDiffEditorConfigurationKey(H)&&U.push([`diffEditor.${H}`,P[H]])}),U.length>0&&z.updateValues(U)}}e.updateConfigurationService=se;class ne{constructor(P){this._modelService=P}hasPreviewHandler(){return!1}apply(P,V){return Ie(this,void 0,void 0,function*(){const U=new Map;for(let ie of P){if(!(ie instanceof o.ResourceTextEdit))throw new Error("bad edit - only text edits are supported");const oe=this._modelService.getModel(ie.resource);if(!oe)throw new Error("bad edit - model not found");if(typeof ie.versionId=="number"&&oe.getVersionId()!==ie.versionId)throw new Error("bad state - model changed in the meantime");let ae=U.get(oe);ae||(ae=[],U.set(oe,ae)),ae.push(a.EditOperation.replaceMove(r.Range.lift(ie.textEdit.range),ie.textEdit.text))}let H=0,$=0;for(const[ie,oe]of U)ie.pushStackElement(),ie.pushEditOperations([],oe,()=>[]),ie.pushStackElement(),$+=1,H+=oe.length;return{ariaSummary:b.format(I.SimpleServicesNLS.bulkEditServiceSummary,H,$)}})}}e.SimpleBulkEditService=ne;class le{getUriLabel(P,V){return P.scheme==="file"?P.fsPath:P.path}}e.SimpleUriLabelService=le;class X{constructor(P,V){this._codeEditorService=P,this._container=V,this.onDidLayout=w.Event.None}get dimension(){return this._dimension||(this._dimension=N.getClientArea(window.document.body)),this._dimension}get container(){return this._container}focus(){var P;(P=this._codeEditorService.getFocusedCodeEditor())===null||P===void 0||P.focus()}}e.SimpleLayoutService=X}),define(Q[674],J([0,1,47,2,28,143,266,217,75,191,114,34,26,46,16,68,9,37,32,11,65,64,84,59,36,57]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createTextModel=e.StandaloneDiffEditor=e.StandaloneEditor=e.StandaloneCodeEditor=void 0;let y=0,L=!1;function I(){L||(L=!0,b.setARIAContainer(document.body))}let k=class extends w.CodeEditorWidget{constructor(F,D,R,W,x,K,Y,ee,se,ne){const le=Object.assign({},D);le.ariaLabel=le.ariaLabel||h.StandaloneCodeEditorNLS.editorViewAccessibleLabel,le.ariaLabel=le.ariaLabel+";"+h.StandaloneCodeEditorNLS.accessibilityHelpMessage,super(F,le,{},R,W,x,K,ee,se,ne),Y instanceof g.StandaloneKeybindingService?this._standaloneKeybindingService=Y:this._standaloneKeybindingService=null,I()}addCommand(F,D,R){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;let W="DYNAMIC_"+ ++y,x=a.ContextKeyExpr.deserialize(R);return this._standaloneKeybindingService.addDynamicKeybinding(W,F,D,x),W}createContextKey(F,D){return this._contextKeyService.createKey(F,D)}addAction(F){if(typeof F.id!="string"||typeof F.label!="string"||typeof F.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),N.Disposable.None;const D=F.id,R=F.label,W=a.ContextKeyExpr.and(a.ContextKeyExpr.equals("editorId",this.getId()),a.ContextKeyExpr.deserialize(F.precondition)),x=F.keybindings,K=a.ContextKeyExpr.and(W,a.ContextKeyExpr.deserialize(F.keybindingContext)),Y=F.contextMenuGroupId||null,ee=F.contextMenuOrder||0,se=(z,...P)=>Promise.resolve(F.run(this,...P)),ne=new N.DisposableStore,le=this.getId()+":"+D;if(ne.add(o.CommandsRegistry.registerCommand(le,se)),Y){let z={command:{id:le,title:R},when:W,group:Y,order:ee};ne.add(c.MenuRegistry.appendMenuItem(c.MenuId.EditorContext,z))}if(Array.isArray(x))for(const z of x)ne.add(this._standaloneKeybindingService.addDynamicKeybinding(le,z,se,K));let X=new C.InternalEditorAction(le,R,R,W,se,this._contextKeyService);return this._actions[D]=X,ne.add(N.toDisposable(()=>{delete this._actions[D]})),ne}};k=Me([_e(2,r.IInstantiationService),_e(3,M.ICodeEditorService),_e(4,o.ICommandService),_e(5,a.IContextKeyService),_e(6,i.IKeybindingService),_e(7,t.IThemeService),_e(8,n.INotificationService),_e(9,l.IAccessibilityService)],k),e.StandaloneCodeEditor=k;let E=class extends k{constructor(F,D,R,W,x,K,Y,ee,se,ne,le,X,z,P,V){const U=Object.assign({},D);g.updateConfigurationService(X,U,!1);const H=ne.registerEditorContainer(F);typeof U.theme=="string"&&ne.setTheme(U.theme),typeof U.autoDetectHighContrast!="undefined"&&ne.setAutoDetectHighContrast(Boolean(U.autoDetectHighContrast));let $=U.model;delete U.model,super(F,U,W,x,K,Y,ee,ne,le,z),this._contextViewService=se,this._configurationService=X,this._standaloneThemeService=ne,this._register(R),this._register(H);let ie;if(typeof $=="undefined"?(ie=O(P,V,U.value||"",U.language||"text/plain",void 0),this._ownsModel=!0):(ie=$,this._ownsModel=!1),this._attachModel(ie),ie){let oe={oldModelUrl:null,newModelUrl:ie.uri};this._onDidChangeModel.fire(oe)}}dispose(){super.dispose()}updateOptions(F){g.updateConfigurationService(this._configurationService,F,!1),typeof F.theme=="string"&&this._standaloneThemeService.setTheme(F.theme),typeof F.autoDetectHighContrast!="undefined"&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(F.autoDetectHighContrast)),super.updateOptions(F)}_attachModel(F){super._attachModel(F),this._modelData&&this._contextViewService.setContainer(this._modelData.view.domNode.domNode)}_postDetachModelCleanup(F){super._postDetachModelCleanup(F),F&&this._ownsModel&&(F.dispose(),this._ownsModel=!1)}};E=Me([_e(3,r.IInstantiationService),_e(4,M.ICodeEditorService),_e(5,o.ICommandService),_e(6,a.IContextKeyService),_e(7,i.IKeybindingService),_e(8,u.IContextViewService),_e(9,p.IStandaloneThemeService),_e(10,n.INotificationService),_e(11,s.IConfigurationService),_e(12,l.IAccessibilityService),_e(13,f.IModelService),_e(14,v.IModeService)],E),e.StandaloneEditor=E;let T=class extends S.DiffEditorWidget{constructor(F,D,R,W,x,K,Y,ee,se,ne,le,X,z,P,V){const U=Object.assign({},D);g.updateConfigurationService(X,U,!0);const H=ne.registerEditorContainer(F);typeof U.theme=="string"&&ne.setTheme(U.theme),typeof U.autoDetectHighContrast!="undefined"&&ne.setAutoDetectHighContrast(Boolean(U.autoDetectHighContrast)),super(F,U,{},V,ee,x,W,se,ne,le,z,P),this._contextViewService=Y,this._configurationService=X,this._standaloneThemeService=ne,this._register(R),this._register(H),this._contextViewService.setContainer(this._containerDomElement)}dispose(){super.dispose()}updateOptions(F){g.updateConfigurationService(this._configurationService,F,!0),typeof F.theme=="string"&&this._standaloneThemeService.setTheme(F.theme),typeof F.autoDetectHighContrast!="undefined"&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(F.autoDetectHighContrast)),super.updateOptions(F)}_createInnerEditor(F,D,R){return F.createInstance(k,D,R)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(F,D,R){return this.getModifiedEditor().addCommand(F,D,R)}createContextKey(F,D){return this.getModifiedEditor().createContextKey(F,D)}addAction(F){return this.getModifiedEditor().addAction(F)}};T=Me([_e(3,r.IInstantiationService),_e(4,a.IContextKeyService),_e(5,i.IKeybindingService),_e(6,u.IContextViewService),_e(7,d.IEditorWorkerService),_e(8,M.ICodeEditorService),_e(9,p.IStandaloneThemeService),_e(10,n.INotificationService),_e(11,s.IConfigurationService),_e(12,u.IContextMenuService),_e(13,_.IEditorProgressService),_e(14,m.IClipboardService)],T),e.StandaloneDiffEditor=T;function O(B,F,D,R,W){if(D=D||"",!R){const x=D.indexOf(` +`);let K=D;return x!==-1&&(K=D.substring(0,x)),A(B,D,F.createByFilepathOrFirstLine(W||null,K),W)}return A(B,D,F.create(R),W)}e.createTextModel=O;function A(B,F,D,R){return B.createModel(F,D,R)}}),define(Q[274],J([0,1,2,133,28,75,252,57,567,36,269,137,191,605,668,114,34,26,46,570,16,651,68,555,184,9,550,138,37,115,147,77,558,85,32,59,79,87,11,190,650,178,594,65,139,74,568,84,530,148,673,653,78]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y,L,I,k,E,T,O,A,B,F,D,R,W,x,K,Y,ee,se,ne,le,X,z,P,V,U,H,$){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DynamicStandaloneServices=e.StaticServices=void 0;var ie;(function(ae){const G=new L.ServiceCollection;class j{constructor(ce,me){this._serviceId=ce,this._factory=me,this._value=null}get id(){return this._serviceId}get(ce){if(!this._value){if(ce&&(this._value=ce[this._serviceId.toString()]),this._value||(this._value=this._factory(ce)),!this._value)throw new Error("Service "+this._serviceId+" is missing!");G.set(this._serviceId,this._value)}return this._value}}ae.LazyStaticService=j;let te=[];function Z(re,ce){let me=new j(re,ce);return te.push(me),me}function ue(re){let ce=new L.ServiceCollection;for(const[Ce,be]of le.getSingletonServiceDescriptors())ce.set(Ce,be);for(let Ce in re)re.hasOwnProperty(Ce)&&ce.set(v.createDecorator(Ce),re[Ce]);te.forEach(Ce=>ce.set(Ce.id,Ce.get(re)));let me=new y.InstantiationService(ce,!0);return ce.set(v.IInstantiationService,me),[ce,me]}ae.init=ue,ae.instantiationService=Z(v.IInstantiationService,()=>new y.InstantiationService(G,!0));const he=new o.SimpleConfigurationService;ae.configurationService=Z(n.IConfigurationService,()=>he),ae.resourceConfigurationService=Z(c.ITextResourceConfigurationService,()=>new o.SimpleResourceConfigurationService(he)),ae.resourcePropertiesService=Z(c.ITextResourcePropertiesService,()=>new o.SimpleResourcePropertiesService(he)),ae.contextService=Z(x.IWorkspaceContextService,()=>new o.SimpleWorkspaceContextService),ae.labelService=Z(k.ILabelService,()=>new o.SimpleUriLabelService),ae.telemetryService=Z(R.ITelemetryService,()=>new o.StandaloneTelemetryService),ae.dialogService=Z(f.IDialogService,()=>new o.SimpleDialogService),ae.notificationService=Z(B.INotificationService,()=>new o.SimpleNotificationService),ae.markerService=Z(A.IMarkerService,()=>new O.MarkerService),ae.modeService=Z(C.IModeService,re=>new d.ModeServiceImpl),ae.standaloneThemeService=Z(u.IStandaloneThemeService,()=>new a.StandaloneThemeServiceImpl),ae.logService=Z(T.ILogService,()=>new T.LogService(new T.ConsoleLogger)),ae.undoRedoService=Z(V.IUndoRedoService,re=>new U.UndoRedoService(ae.dialogService.get(re),ae.notificationService.get(re))),ae.modelService=Z(g.IModelService,re=>new p.ModelServiceImpl(ae.configurationService.get(re),ae.resourcePropertiesService.get(re),ae.standaloneThemeService.get(re),ae.logService.get(re),ae.undoRedoService.get(re))),ae.markerDecorationsService=Z(Y.IMarkerDecorationsService,re=>new ee.MarkerDecorationsService(ae.modelService.get(re),ae.markerService.get(re))),ae.contextKeyService=Z(l.IContextKeyService,re=>new t.ContextKeyService(ae.configurationService.get(re))),ae.codeEditorService=Z(M.ICodeEditorService,re=>new s.StandaloneCodeEditorServiceImpl(null,ae.contextKeyService.get(re),ae.standaloneThemeService.get(re))),ae.editorProgressService=Z(F.IEditorProgressService,()=>new o.SimpleEditorProgressService),ae.storageService=Z(D.IStorageService,()=>new D.InMemoryStorageService),ae.editorWorkerService=Z(w.IEditorWorkerService,re=>new S.EditorWorkerServiceImpl(ae.modelService.get(re),ae.resourceConfigurationService.get(re),ae.logService.get(re)))})(ie=e.StaticServices||(e.StaticServices={}));class oe extends b.Disposable{constructor(G,j){super();const[te,Z]=ie.init(j);this._serviceCollection=te,this._instantiationService=Z;const ue=this.get(n.IConfigurationService),he=this.get(B.INotificationService),re=this.get(R.ITelemetryService),ce=this.get(W.IThemeService),me=this.get(T.ILogService),Ce=this.get(l.IContextKeyService);let be=(Ae,Se)=>{let we=null;return j&&(we=j[Ae.toString()]),we||(we=Se()),this._serviceCollection.set(Ae,we),we};be(se.IAccessibilityService,()=>new X.AccessibilityService(Ce,ue)),be(E.IListService,()=>new E.ListService(ce));let Le=be(i.ICommandService,()=>new o.StandaloneCommandService(this._instantiationService)),De=be(I.IKeybindingService,()=>this._register(new o.StandaloneKeybindingService(Ce,Le,re,he,me,G))),Re=be(ne.ILayoutService,()=>new o.SimpleLayoutService(ie.codeEditorService.get(M.ICodeEditorService),G));be($.IQuickInputService,()=>new H.StandaloneQuickInputServiceImpl(Z,ie.codeEditorService.get(M.ICodeEditorService)));let Ee=be(m.IContextViewService,()=>this._register(new _.ContextViewService(Re)));be(z.IClipboardService,()=>new P.BrowserClipboardService),be(m.IContextMenuService,()=>{const Ae=new h.ContextMenuService(re,he,Ee,De,ce);return Ae.configure({blockMouse:!1}),this._register(Ae)}),be(r.IMenuService,()=>new K.MenuService(Le)),be(N.IBulkEditService,()=>new o.SimpleBulkEditService(ie.modelService.get(g.IModelService)))}get(G){let j=this._serviceCollection.get(G);if(!j)throw new Error("Missing service "+G);return j}set(G,j){this._serviceCollection.set(G,j)}has(G){return this._serviceCollection.has(G)}}e.DynamicStandaloneServices=oe}),define(Q[675],J([0,1,28,559,215,38,163,107,53,18,76,75,57,67,556,169,544,191,674,274,114,26,46,16,68,9,37,32,58,65,69,59,84,8,36,358]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y,L,I,k,E,T,O,A,B){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMonacoEditorAPI=e.registerCommand=e.remeasureFonts=e.setTheme=e.defineTheme=e.tokenize=e.colorizeModelLine=e.colorize=e.colorizeElement=e.createWebWorker=e.onDidChangeModelLanguage=e.onWillDisposeModel=e.onDidCreateModel=e.getModels=e.getModel=e.onDidChangeMarkers=e.getModelMarkers=e.setModelMarkers=e.setModelLanguage=e.createModel=e.createDiffNavigator=e.createDiffEditor=e.onDidCreateEditor=e.create=void 0;function F(he,re,ce){let me=new t.DynamicStandaloneServices(he,re),Ce=null;me.has(s.ITextModelService)||(Ce=new i.SimpleEditorModelResolverService(t.StaticServices.modelService.get()),me.set(s.ITextModelService,Ce)),me.has(I.IOpenerService)||me.set(I.IOpenerService,new N.OpenerService(me.get(b.ICodeEditorService),me.get(h.ICommandService)));let be=ce(me);return Ce&&Ce.setEditor(be),be}function D(he,re,ce){return F(he,ce||{},me=>new n.StandaloneEditor(he,re,me,me.get(v.IInstantiationService),me.get(b.ICodeEditorService),me.get(h.ICommandService),me.get(_.IContextKeyService),me.get(y.IKeybindingService),me.get(f.IContextViewService),me.get(l.IStandaloneThemeService),me.get(L.INotificationService),me.get(m.IConfigurationService),me.get(k.IAccessibilityService),me.get(B.IModelService),me.get(o.IModeService)))}e.create=D;function R(he){return t.StaticServices.codeEditorService.get().onCodeEditorAdd(re=>{he(re)})}e.onDidCreateEditor=R;function W(he,re,ce){return F(he,ce||{},me=>new n.StandaloneDiffEditor(he,re,me,me.get(v.IInstantiationService),me.get(_.IContextKeyService),me.get(y.IKeybindingService),me.get(f.IContextViewService),me.get(c.IEditorWorkerService),me.get(b.ICodeEditorService),me.get(l.IStandaloneThemeService),me.get(L.INotificationService),me.get(m.IConfigurationService),me.get(f.IContextMenuService),me.get(T.IEditorProgressService),me.get(O.IClipboardService)))}e.createDiffEditor=W;function x(he,re){return new M.DiffNavigator(he,re)}e.createDiffNavigator=x;function K(he,re,ce){return n.createTextModel(t.StaticServices.modelService.get(),t.StaticServices.modeService.get(),he,re,ce)}e.createModel=K;function Y(he,re){t.StaticServices.modelService.get().setMode(he,t.StaticServices.modeService.get().create(re))}e.setModelLanguage=Y;function ee(he,re,ce){he&&t.StaticServices.markerService.get().changeOne(re,he.uri,ce)}e.setModelMarkers=ee;function se(he){return t.StaticServices.markerService.get().read(he)}e.getModelMarkers=se;function ne(he){return t.StaticServices.markerService.get().onMarkerChanged(he)}e.onDidChangeMarkers=ne;function le(he){return t.StaticServices.modelService.get().getModel(he)}e.getModel=le;function X(){return t.StaticServices.modelService.get().getModels()}e.getModels=X;function z(he){return t.StaticServices.modelService.get().onModelAdded(he)}e.onDidCreateModel=z;function P(he){return t.StaticServices.modelService.get().onModelRemoved(he)}e.onWillDisposeModel=P;function V(he){return t.StaticServices.modelService.get().onModelModeChanged(re=>{he({model:re.model,oldLanguage:re.oldModeId})})}e.onDidChangeModelLanguage=V;function U(he){return a.createWebWorker(t.StaticServices.modelService.get(),he)}e.createWebWorker=U;function H(he,re){const ce=t.StaticServices.standaloneThemeService.get();return ce.registerEditorContainer(he),r.Colorizer.colorizeElement(ce,t.StaticServices.modeService.get(),he,re)}e.colorizeElement=H;function $(he,re,ce){return t.StaticServices.standaloneThemeService.get().registerEditorContainer(document.body),r.Colorizer.colorize(t.StaticServices.modeService.get(),he,re,ce)}e.colorize=$;function ie(he,re,ce=4){return t.StaticServices.standaloneThemeService.get().registerEditorContainer(document.body),r.Colorizer.colorizeModelLine(he,re,ce)}e.colorizeModelLine=ie;function oe(he){let re=g.TokenizationRegistry.get(he);return re||{getInitialState:()=>p.NULL_STATE,tokenize:(ce,me,Ce,be)=>p.nullTokenize(he,ce,Ce,be)}}function ae(he,re){t.StaticServices.modeService.get().triggerMode(re);let me=oe(re),Ce=A.splitLines(he),be=[],Le=me.getInitialState();for(let De=0,Re=Ce.length;De{H.getId()===P&&(U.dispose(),V())});return U}e.onLanguage=u;function r(P,V){let U=g.StaticServices.modeService.get().getLanguageIdentifier(P);if(!U)throw new Error(`Cannot set configuration for unknown language ${P}`);return S.LanguageConfigurationRegistry.register(U,V,100)}e.setLanguageConfiguration=r;class i{constructor(V,U){this._languageIdentifier=V,this._actual=U}getInitialState(){return this._actual.getInitialState()}tokenize(V,U,H,$){if(typeof this._actual.tokenize=="function")return n.adaptTokenize(this._languageIdentifier.language,this._actual,V,H,$);throw new Error("Not supported!")}tokenize2(V,U,H){let $=this._actual.tokenizeEncoded(V,H);return new M.TokenizationResult2($.tokens,$.endState)}}e.EncodedTokenizationSupport2Adapter=i;class n{constructor(V,U,H){this._standaloneThemeService=V,this._languageIdentifier=U,this._actual=H}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(V,U,H){let $=[],ie=0;for(let oe=0,ae=V.length;oe0&&ie[oe-1]===ue)){let he=Z.startIndex;j===0?he=0:het($)?new i(U,$):new n(g.StaticServices.standaloneThemeService.get(),U,$);return l(V)?w.TokenizationRegistry.registerPromise(P,V.then($=>H($))):w.TokenizationRegistry.register(P,H(V))}e.setTokensProvider=m;function _(P,V){const U=H=>c.createTokenizationSupport(g.StaticServices.modeService.get(),g.StaticServices.standaloneThemeService.get(),P,p.compile(P,H));return l(V)?w.TokenizationRegistry.registerPromise(P,V.then(H=>U(H))):w.TokenizationRegistry.register(P,U(V))}e.setMonarchTokensProvider=_;function f(P,V){return w.ReferenceProviderRegistry.register(P,V)}e.registerReferenceProvider=f;function v(P,V){return w.RenameProviderRegistry.register(P,V)}e.registerRenameProvider=v;function y(P,V){return w.SignatureHelpProviderRegistry.register(P,V)}e.registerSignatureHelpProvider=y;function L(P,V){return w.HoverProviderRegistry.register(P,{provideHover:(U,H,$)=>{let ie=U.getWordAtPosition(H);return Promise.resolve(V.provideHover(U,H,$)).then(oe=>{if(!!oe)return!oe.range&&ie&&(oe.range=new N.Range(H.lineNumber,ie.startColumn,H.lineNumber,ie.endColumn)),oe.range||(oe.range=new N.Range(H.lineNumber,H.column,H.lineNumber,H.column)),oe})}})}e.registerHoverProvider=L;function I(P,V){return w.DocumentSymbolProviderRegistry.register(P,V)}e.registerDocumentSymbolProvider=I;function k(P,V){return w.DocumentHighlightProviderRegistry.register(P,V)}e.registerDocumentHighlightProvider=k;function E(P,V){return w.LinkedEditingRangeProviderRegistry.register(P,V)}e.registerLinkedEditingRangeProvider=E;function T(P,V){return w.DefinitionProviderRegistry.register(P,V)}e.registerDefinitionProvider=T;function O(P,V){return w.ImplementationProviderRegistry.register(P,V)}e.registerImplementationProvider=O;function A(P,V){return w.TypeDefinitionProviderRegistry.register(P,V)}e.registerTypeDefinitionProvider=A;function B(P,V){return w.CodeLensProviderRegistry.register(P,V)}e.registerCodeLensProvider=B;function F(P,V){return w.CodeActionProviderRegistry.register(P,{provideCodeActions:(U,H,$,ie)=>{let oe=g.StaticServices.markerService.get().read({resource:U.uri}).filter(ae=>N.Range.areIntersectingOrTouching(ae,H));return V.provideCodeActions(U,H,{markers:oe,only:$.only},ie)}})}e.registerCodeActionProvider=F;function D(P,V){return w.DocumentFormattingEditProviderRegistry.register(P,V)}e.registerDocumentFormattingEditProvider=D;function R(P,V){return w.DocumentRangeFormattingEditProviderRegistry.register(P,V)}e.registerDocumentRangeFormattingEditProvider=R;function W(P,V){return w.OnTypeFormattingEditProviderRegistry.register(P,V)}e.registerOnTypeFormattingEditProvider=W;function x(P,V){return w.LinkProviderRegistry.register(P,V)}e.registerLinkProvider=x;function K(P,V){return w.CompletionProviderRegistry.register(P,V)}e.registerCompletionItemProvider=K;function Y(P,V){return w.ColorProviderRegistry.register(P,V)}e.registerColorProvider=Y;function ee(P,V){return w.FoldingRangeProviderRegistry.register(P,V)}e.registerFoldingRangeProvider=ee;function se(P,V){return w.DeclarationProviderRegistry.register(P,V)}e.registerDeclarationProvider=se;function ne(P,V){return w.SelectionRangeRegistry.register(P,V)}e.registerSelectionRangeProvider=ne;function le(P,V){return w.DocumentSemanticTokensProviderRegistry.register(P,V)}e.registerDocumentSemanticTokensProvider=le;function X(P,V){return w.DocumentRangeSemanticTokensProviderRegistry.register(P,V)}e.registerDocumentRangeSemanticTokensProvider=X;function z(){return{register:o,getLanguages:s,onLanguage:u,getEncodedLanguageId:a,setLanguageConfiguration:r,setColorMap:h,setTokensProvider:m,setMonarchTokensProvider:_,registerReferenceProvider:f,registerRenameProvider:v,registerCompletionItemProvider:K,registerSignatureHelpProvider:y,registerHoverProvider:L,registerDocumentSymbolProvider:I,registerDocumentHighlightProvider:k,registerLinkedEditingRangeProvider:E,registerDefinitionProvider:T,registerImplementationProvider:O,registerTypeDefinitionProvider:A,registerCodeLensProvider:B,registerCodeActionProvider:F,registerDocumentFormattingEditProvider:D,registerDocumentRangeFormattingEditProvider:R,registerOnTypeFormattingEditProvider:W,registerLinkProvider:x,registerColorProvider:Y,registerFoldingRangeProvider:ee,registerDeclarationProvider:se,registerSelectionRangeProvider:ne,registerDocumentSemanticTokensProvider:le,registerDocumentRangeSemanticTokensProvider:X,DocumentHighlightKind:d.DocumentHighlightKind,CompletionItemKind:d.CompletionItemKind,CompletionItemTag:d.CompletionItemTag,CompletionItemInsertTextRule:d.CompletionItemInsertTextRule,SymbolKind:d.SymbolKind,SymbolTag:d.SymbolTag,IndentAction:d.IndentAction,CompletionTriggerKind:d.CompletionTriggerKind,SignatureHelpTriggerKind:d.SignatureHelpTriggerKind,InlineHintKind:d.InlineHintKind,FoldingRangeKind:w.FoldingRangeKind}}e.createMonacoLanguagesAPI=z}),define(Q[677],J([0,1,38,220,675,676,17,261]),function(q,e,b,N,M,w,S,C){"use strict";var d;Object.defineProperty(e,"__esModule",{value:!0}),e.languages=e.editor=e.Token=e.Uri=e.MarkerTag=e.MarkerSeverity=e.SelectionDirection=e.Selection=e.Range=e.Position=e.KeyMod=e.KeyCode=e.Emitter=e.CancellationTokenSource=void 0,b.EditorOptions.wrappingIndent.defaultValue=0,b.EditorOptions.glyphMargin.defaultValue=!1,b.EditorOptions.autoIndent.defaultValue=3,b.EditorOptions.overviewRulerLanes.defaultValue=2,C.FormattingConflicts.setFormatterSelector((p,c,o)=>Promise.resolve(p[0]));const g=N.createMonacoBaseAPI();g.editor=M.createMonacoEditorAPI(),g.languages=w.createMonacoLanguagesAPI(),e.CancellationTokenSource=g.CancellationTokenSource,e.Emitter=g.Emitter,e.KeyCode=g.KeyCode,e.KeyMod=g.KeyMod,e.Position=g.Position,e.Range=g.Range,e.Selection=g.Selection,e.SelectionDirection=g.SelectionDirection,e.MarkerSeverity=g.MarkerSeverity,e.MarkerTag=g.MarkerTag,e.Uri=g.Uri,e.Token=g.Token,e.editor=g.editor,e.languages=g.languages,(((d=S.globals.MonacoEnvironment)===null||d===void 0?void 0:d.globalAPI)||typeof define=="function"&&define.amd)&&(self.monaco=g),typeof self.require!="undefined"&&typeof self.require.config=="function"&&self.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]})}),define(Q[678],J([0,1,24]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toWorkspaceIdentifier=e.isSingleFolderWorkspaceIdentifier=e.WORKSPACE_EXTENSION=void 0,e.WORKSPACE_EXTENSION="code-workspace";function N(w){const S=w;return typeof(S==null?void 0:S.id)=="string"&&b.URI.isUri(S.uri)}e.isSingleFolderWorkspaceIdentifier=N;function M(w){if(w.configuration)return{id:w.id,configPath:w.configuration};if(w.folders.length===1)return{id:w.id,uri:w.folders[0].uri}}e.toWorkspaceIdentifier=M}),define(Q[679],J([0,1,506,72,44,131,41,8,678,159,292]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RandomBasedVariableResolver=e.WorkspaceBasedVariableResolver=e.TimeBasedVariableResolver=e.CommentBasedVariableResolver=e.ClipboardBasedVariableResolver=e.ModelBasedVariableResolver=e.SelectionBasedVariableResolver=e.CompositeSnippetVariableResolver=void 0;class c{constructor(l){this._delegates=l}resolve(l){for(const h of this._delegates){let m=h.resolve(l);if(m!==void 0)return m}}}e.CompositeSnippetVariableResolver=c;class o{constructor(l,h,m,_){this._model=l,this._selection=h,this._selectionIdx=m,this._overtypingCapturer=_}resolve(l){const{name:h}=l;if(h==="SELECTION"||h==="TM_SELECTED_TEXT"){let m=this._model.getValueInRange(this._selection)||void 0,_=this._selection.startLineNumber!==this._selection.endLineNumber;if(!m&&this._overtypingCapturer){const f=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);f&&(m=f.value,_=f.multiline)}if(m&&_&&l.snippet){const f=this._model.getLineContent(this._selection.startLineNumber),v=C.getLeadingWhitespace(f,0,this._selection.startColumn-1);let y=v;l.snippet.walk(I=>I===l?!1:(I instanceof w.Text&&(y=C.getLeadingWhitespace(C.splitLines(I.value).pop())),!0));const L=C.commonPrefixLength(y,v);m=m.replace(/(\r\n|\r|\n)(.*)/g,(I,k,E)=>`${k}${y.substr(L)}${E}`)}return m}else{if(h==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(h==="TM_CURRENT_WORD"){const m=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return m&&m.word||void 0}else{if(h==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(h==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber)}}}}e.SelectionBasedVariableResolver=o;class s{constructor(l,h){this._labelService=l,this._model=h}resolve(l){const{name:h}=l;if(h==="TM_FILENAME")return N.basename(this._model.uri.fsPath);if(h==="TM_FILENAME_BASE"){const m=N.basename(this._model.uri.fsPath),_=m.lastIndexOf(".");return _<=0?m:m.slice(0,_)}else{if(h==="TM_DIRECTORY"&&this._labelService)return N.dirname(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(M.dirname(this._model.uri));if(h==="TM_FILEPATH"&&this._labelService)return this._labelService.getUriLabel(this._model.uri);if(h==="RELATIVE_FILEPATH"&&this._labelService)return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}e.ModelBasedVariableResolver=s;class a{constructor(l,h,m,_){this._readClipboardText=l,this._selectionIdx=h,this._selectionCount=m,this._spread=_}resolve(l){if(l.name==="CLIPBOARD"){const h=this._readClipboardText();if(!!h){if(this._spread){const m=h.split(/\r\n|\n|\r/).filter(_=>!C.isFalsyOrWhitespace(_));if(m.length===this._selectionCount)return m[this._selectionIdx]}return h}}}}e.ClipboardBasedVariableResolver=a;class u{constructor(l,h){this._model=l,this._selection=h}resolve(l){const{name:h}=l,m=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),_=S.LanguageConfigurationRegistry.getComments(m);if(!!_){if(h==="LINE_COMMENT")return _.lineCommentToken||void 0;if(h==="BLOCK_COMMENT_START")return _.blockCommentStartToken||void 0;if(h==="BLOCK_COMMENT_END")return _.blockCommentEndToken||void 0}}}e.CommentBasedVariableResolver=u;class r{resolve(l){const{name:h}=l;if(h==="CURRENT_YEAR")return String(new Date().getFullYear());if(h==="CURRENT_YEAR_SHORT")return String(new Date().getFullYear()).slice(-2);if(h==="CURRENT_MONTH")return String(new Date().getMonth().valueOf()+1).padStart(2,"0");if(h==="CURRENT_DATE")return String(new Date().getDate().valueOf()).padStart(2,"0");if(h==="CURRENT_HOUR")return String(new Date().getHours().valueOf()).padStart(2,"0");if(h==="CURRENT_MINUTE")return String(new Date().getMinutes().valueOf()).padStart(2,"0");if(h==="CURRENT_SECOND")return String(new Date().getSeconds().valueOf()).padStart(2,"0");if(h==="CURRENT_DAY_NAME")return r.dayNames[new Date().getDay()];if(h==="CURRENT_DAY_NAME_SHORT")return r.dayNamesShort[new Date().getDay()];if(h==="CURRENT_MONTH_NAME")return r.monthNames[new Date().getMonth()];if(h==="CURRENT_MONTH_NAME_SHORT")return r.monthNamesShort[new Date().getMonth()];if(h==="CURRENT_SECONDS_UNIX")return String(Math.floor(Date.now()/1e3))}}e.TimeBasedVariableResolver=r,r.dayNames=[b.localize(0,null),b.localize(1,null),b.localize(2,null),b.localize(3,null),b.localize(4,null),b.localize(5,null),b.localize(6,null)],r.dayNamesShort=[b.localize(7,null),b.localize(8,null),b.localize(9,null),b.localize(10,null),b.localize(11,null),b.localize(12,null),b.localize(13,null)],r.monthNames=[b.localize(14,null),b.localize(15,null),b.localize(16,null),b.localize(17,null),b.localize(18,null),b.localize(19,null),b.localize(20,null),b.localize(21,null),b.localize(22,null),b.localize(23,null),b.localize(24,null),b.localize(25,null)],r.monthNamesShort=[b.localize(26,null),b.localize(27,null),b.localize(28,null),b.localize(29,null),b.localize(30,null),b.localize(31,null),b.localize(32,null),b.localize(33,null),b.localize(34,null),b.localize(35,null),b.localize(36,null),b.localize(37,null)];class i{constructor(l){this._workspaceService=l}resolve(l){if(!!this._workspaceService){const h=d.toWorkspaceIdentifier(this._workspaceService.getWorkspace());if(!!h){if(l.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(h);if(l.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(h)}}}_resolveWorkspaceName(l){if(d.isSingleFolderWorkspaceIdentifier(l))return N.basename(l.uri.path);let h=N.basename(l.configPath.path);return h.endsWith(d.WORKSPACE_EXTENSION)&&(h=h.substr(0,h.length-d.WORKSPACE_EXTENSION.length-1)),h}_resoveWorkspacePath(l){if(d.isSingleFolderWorkspaceIdentifier(l))return g.normalizeDriveLetter(l.uri.fsPath);let h=N.basename(l.configPath.path),m=l.configPath.fsPath;return m.endsWith(h)&&(m=m.substr(0,m.length-h.length-1)),m?g.normalizeDriveLetter(m):"/"}}e.WorkspaceBasedVariableResolver=i;class n{resolve(l){const{name:h}=l;if(h==="RANDOM")return Math.random().toString().slice(-6);if(h==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(h==="UUID")return p.generateUuid()}}e.RandomBasedVariableResolver=n}),define(Q[680],J([0,1,19,2,8,62,3,21,31,190,9,131,679,11,22,115,351]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetSession=e.OneSnippet=void 0,s.registerThemingParticipant((t,l)=>{function h(m){const _=t.getColor(m);return _?_.toString():"transparent"}l.addRule(`.monaco-editor .snippet-placeholder { background-color: ${h(a.snippetTabstopHighlightBackground)}; outline-color: ${h(a.snippetTabstopHighlightBorder)}; }`),l.addRule(`.monaco-editor .finish-snippet-placeholder { background-color: ${h(a.snippetFinalTabstopHighlightBackground)}; outline-color: ${h(a.snippetFinalTabstopHighlightBorder)}; }`)});class r{constructor(l,h,m,_){this._editor=l,this._snippet=h,this._offset=m,this._snippetLineLeadingWhitespace=_,this._nestingLevel=1,this._placeholderGroups=b.groupBy(h.placeholders,c.Placeholder.compareByIndex),this._placeholderGroupsIdx=-1}dispose(){this._placeholderDecorations&&this._editor.deltaDecorations([...this._placeholderDecorations.values()],[]),this._placeholderGroups.length=0}_initDecorations(){if(!this._placeholderDecorations){this._placeholderDecorations=new Map;const l=this._editor.getModel();this._editor.changeDecorations(h=>{for(const m of this._snippet.placeholders){const _=this._snippet.offset(m),f=this._snippet.fullLen(m),v=S.Range.fromPositions(l.getPositionAt(this._offset+_),l.getPositionAt(this._offset+_+f)),y=m.isFinalTabstop?r._decor.inactiveFinal:r._decor.inactive,L=h.addDecoration(v,y);this._placeholderDecorations.set(m,L)}})}}move(l){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){let _=[];for(const f of this._placeholderGroups[this._placeholderGroupsIdx])if(f.transform){const v=this._placeholderDecorations.get(f),y=this._editor.getModel().getDecorationRange(v),L=this._editor.getModel().getValueInRange(y),I=f.transform.resolve(L).split(/\r\n|\r|\n/);for(let k=1;k0&&this._editor.executeEdits("snippet.placeholderTransform",_)}let h=!1;l===!0&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,h=!0);const m=this._editor.getModel().changeDecorations(_=>{const f=new Set,v=[];for(const y of this._placeholderGroups[this._placeholderGroupsIdx]){const L=this._placeholderDecorations.get(y),I=this._editor.getModel().getDecorationRange(L);v.push(new C.Selection(I.startLineNumber,I.startColumn,I.endLineNumber,I.endColumn)),h=h&&this._hasPlaceholderBeenCollapsed(y),_.changeDecorationOptions(L,y.isFinalTabstop?r._decor.activeFinal:r._decor.active),f.add(y);for(const k of this._snippet.enclosingPlaceholders(y)){const E=this._placeholderDecorations.get(k);_.changeDecorationOptions(E,k.isFinalTabstop?r._decor.activeFinal:r._decor.active),f.add(k)}}for(const[y,L]of this._placeholderDecorations)f.has(y)||_.changeDecorationOptions(L,y.isFinalTabstop?r._decor.inactiveFinal:r._decor.inactive);return v});return h?this.move(l):m!=null?m:[]}_hasPlaceholderBeenCollapsed(l){let h=l;for(;h;){if(h instanceof c.Placeholder){const m=this._placeholderDecorations.get(h);if(this._editor.getModel().getDecorationRange(m).isEmpty()&&h.toString().length>0)return!0}h=h.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}computePossibleSelections(){const l=new Map;for(const h of this._placeholderGroups){let m;for(const _ of h){if(_.isFinalTabstop)break;m||(m=[],l.set(_.index,m));const f=this._placeholderDecorations.get(_),v=this._editor.getModel().getDecorationRange(f);if(!v){l.delete(_.index);break}m.push(v)}}return l}get choice(){return this._placeholderGroups[this._placeholderGroupsIdx][0].choice}merge(l){const h=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(m=>{for(const _ of this._placeholderGroups[this._placeholderGroupsIdx]){const f=l.shift();console.assert(!f._placeholderDecorations);const v=f._snippet.placeholderInfo.last.index;for(const L of f._snippet.placeholderInfo.all)L.isFinalTabstop?L.index=_.index+(v+1)/this._nestingLevel:L.index=_.index+L.index/this._nestingLevel;this._snippet.replace(_,f._snippet.children);const y=this._placeholderDecorations.get(_);m.removeDecoration(y),this._placeholderDecorations.delete(_);for(const L of f._snippet.placeholders){const I=f._snippet.offset(L),k=f._snippet.fullLen(L),E=S.Range.fromPositions(h.getPositionAt(f._offset+I),h.getPositionAt(f._offset+I+k)),T=m.addDecoration(E,r._decor.inactive);this._placeholderDecorations.set(L,T)}}this._placeholderGroups=b.groupBy(this._snippet.placeholders,c.Placeholder.compareByIndex)})}}e.OneSnippet=r,r._decor={active:d.ModelDecorationOptions.register({stickiness:0,className:"snippet-placeholder"}),inactive:d.ModelDecorationOptions.register({stickiness:1,className:"snippet-placeholder"}),activeFinal:d.ModelDecorationOptions.register({stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:d.ModelDecorationOptions.register({stickiness:1,className:"finish-snippet-placeholder"})};const i={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};class n{constructor(l,h,m=i){this._templateMerges=[],this._snippets=[],this._editor=l,this._template=h,this._options=m}static adjustWhitespace(l,h,m,_,f){const v=l.getLineContent(h.lineNumber),y=M.getLeadingWhitespace(v,0,h.column-1);let L;return m.walk(I=>{if(!(I instanceof c.Text)||I.parent instanceof c.Choice)return!0;const k=I.value.split(/\r\n|\r|\n/);if(_){const T=m.offset(I);if(T===0)k[0]=l.normalizeIndentation(k[0]);else{L=L!=null?L:m.toString();let O=L.charCodeAt(T-1);(O===10||O===13)&&(k[0]=l.normalizeIndentation(y+k[0]))}for(let O=1;Ox.get(g.IWorkspaceContextService,p.optional)),O=l.invokeWithinContext(x=>new o.ModelBasedVariableResolver(x.get(u.ILabelService,p.optional),E)),A=()=>y;let B=0,F=E.getValueInRange(n.adjustSelection(E,l.getSelection(),m,0)),D=E.getValueInRange(n.adjustSelection(E,l.getSelection(),0,_)),R=E.getLineFirstNonWhitespaceColumn(l.getSelection().positionLineNumber);const W=l.getSelections().map((x,K)=>({selection:x,idx:K})).sort((x,K)=>S.Range.compareRangesUsingStarts(x.selection,K.selection));for(const{selection:x,idx:K}of W){let Y=n.adjustSelection(E,x,m,0),ee=n.adjustSelection(E,x,0,_);F!==E.getValueInRange(Y)&&(Y=x),D!==E.getValueInRange(ee)&&(ee=x);const se=x.setStartPosition(Y.startLineNumber,Y.startColumn).setEndPosition(ee.endLineNumber,ee.endColumn),ne=new c.SnippetParser().parse(h,!0,f),le=se.getStartPosition(),X=n.adjustWhitespace(E,le,ne,v||K>0&&R!==E.getLineFirstNonWhitespaceColumn(x.positionLineNumber),!0);ne.resolveVariables(new o.CompositeSnippetVariableResolver([O,new o.ClipboardBasedVariableResolver(A,K,W.length,l.getOption(65)==="spread"),new o.SelectionBasedVariableResolver(E,x,K,L),new o.CommentBasedVariableResolver(E,x),new o.TimeBasedVariableResolver,new o.WorkspaceBasedVariableResolver(T),new o.RandomBasedVariableResolver]));const z=E.getOffsetAt(le)+B;B+=ne.toString().length-E.getValueLengthInRange(se),I[K]=w.EditOperation.replace(se,ne.toString()),I[K].identifier={major:K,minor:0},k[K]=new r(l,ne,z,X)}return{edits:I,snippets:k}}dispose(){N.dispose(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!!this._editor.hasModel()){const{edits:l,snippets:h}=n.createEditsAndSnippets(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer);this._snippets=h,this._editor.executeEdits("snippet",l,m=>this._snippets[0].hasPlaceholder?this._move(!0):m.filter(_=>!!_.identifier).map(_=>C.Selection.fromPositions(_.range.getEndPosition()))),this._editor.revealRange(this._editor.getSelections()[0])}}merge(l,h=i){if(!!this._editor.hasModel()){this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,l]);const{edits:m,snippets:_}=n.createEditsAndSnippets(this._editor,l,h.overwriteBefore,h.overwriteAfter,!0,h.adjustWhitespace,h.clipboardText,h.overtypingCapturer);this._editor.executeEdits("snippet",m,f=>{for(const v of this._snippets)v.merge(_);return console.assert(_.length===0),this._snippets[0].hasPlaceholder?this._move(void 0):f.filter(v=>!!v.identifier).map(v=>C.Selection.fromPositions(v.range.getEndPosition()))})}}next(){const l=this._move(!0);this._editor.setSelections(l),this._editor.revealPositionInCenterIfOutsideViewport(l[0].getPosition())}prev(){const l=this._move(!1);this._editor.setSelections(l),this._editor.revealPositionInCenterIfOutsideViewport(l[0].getPosition())}_move(l){const h=[];for(const m of this._snippets){const _=m.move(l);h.push(..._)}return h}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get choice(){return this._snippets[0].choice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const l=this._editor.getSelections();if(l.length{f.push(..._.get(v))})}l.sort(S.Range.compareRangesUsingStarts);for(let[m,_]of h){if(_.length!==l.length){h.delete(m);continue}_.sort(S.Range.compareRangesUsingStarts);for(let f=0;f<_.length;f++)if(!_[f].containsRange(l[f])){h.delete(m);continue}}return h.size>0}}e.SnippetSession=n}),define(Q[192],J([0,1,2,13,3,21,25,117,16,77,680]),function(q,e,b,N,M,w,S,C,d,g,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetController2=void 0;const c={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let o=class ot{constructor(u,r,i){this._editor=u,this._logService=r,this._snippetListener=new b.DisposableStore,this._modelVersionId=-1,this._inSnippet=ot.InSnippetMode.bindTo(i),this._hasNextTabstop=ot.HasNextTabstop.bindTo(i),this._hasPrevTabstop=ot.HasPrevTabstop.bindTo(i)}static get(u){return u.getContribution(ot.ID)}dispose(){var u;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(u=this._session)===null||u===void 0||u.dispose(),this._snippetListener.dispose()}insert(u,r){try{this._doInsert(u,typeof r=="undefined"?c:Object.assign(Object.assign({},c),r))}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",u),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(u,r){!this._editor.hasModel()||(this._snippetListener.clear(),r.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(u,r):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new p.SnippetSession(this._editor,u,r),this._session.insert()),r.undoStopAfter&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(i=>i.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState())))}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{choice:u}=this._session;if(!u){this._currentChoice=void 0;return}if(this._currentChoice!==u){this._currentChoice=u,this._editor.setSelections(this._editor.getSelections().map(i=>w.Selection.fromPositions(i.getStartPosition())));const[r]=u.options;C.showSimpleSuggestions(this._editor,u.options.map((i,n)=>({kind:13,label:i.value,insertText:i.value,sortText:"a".repeat(n+1),range:M.Range.fromPositions(this._editor.getPosition(),this._editor.getPosition().delta(0,r.value.length))})))}}finish(){for(;this._inSnippet.get();)this.next()}cancel(u=!1){var r;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),(r=this._session)===null||r===void 0||r.dispose(),this._session=void 0,this._modelVersionId=-1,u&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session&&this._session.prev(),this._updateState()}next(){this._session&&this._session.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};o.ID="snippetController2",o.InSnippetMode=new d.RawContextKey("inSnippetMode",!1),o.HasNextTabstop=new d.RawContextKey("hasNextTabstop",!1),o.HasPrevTabstop=new d.RawContextKey("hasPrevTabstop",!1),o=Me([_e(1,g.ILogService),_e(2,d.IContextKeyService)],o),e.SnippetController2=o,N.registerEditorContribution(o.ID,o);const s=N.EditorCommand.bindToContribution(o.get);N.registerEditorCommand(new s({id:"jumpToNextSnippetPlaceholder",precondition:d.ContextKeyExpr.and(o.InSnippetMode,o.HasNextTabstop),handler:a=>a.next(),kbOpts:{weight:100+30,kbExpr:S.EditorContextKeys.editorTextFocus,primary:2}})),N.registerEditorCommand(new s({id:"jumpToPrevSnippetPlaceholder",precondition:d.ContextKeyExpr.and(o.InSnippetMode,o.HasPrevTabstop),handler:a=>a.prev(),kbOpts:{weight:100+30,kbExpr:S.EditorContextKeys.editorTextFocus,primary:1024|2}})),N.registerEditorCommand(new s({id:"leaveSnippet",precondition:o.InSnippetMode,handler:a=>a.cancel(!0),kbOpts:{weight:100+30,kbExpr:S.EditorContextKeys.editorTextFocus,primary:9,secondary:[1024|9]}})),N.registerEditorCommand(new s({id:"acceptSnippet",precondition:o.InSnippetMode,handler:a=>a.finish()}))}),define(Q[681],J([0,1,15,12,6,2,21,18,413,117,192,23,75,416,8,84,87,77]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestModel=e.LineContext=void 0;class n{constructor(h,m,_,f){this.leadingLineContent=h.getLineContent(m.lineNumber).substr(0,m.column-1),this.leadingWord=h.getWordUntilPosition(m),this.lineNumber=m.lineNumber,this.column=m.column,this.auto=_,this.shy=f}static shouldAutoTrigger(h){if(!h.hasModel())return!1;const m=h.getModel(),_=h.getPosition();m.tokenizeIfCheap(_.lineNumber);const f=m.getWordAtPosition(_);return!(!f||f.endColumn!==_.column||!isNaN(Number(f.word)))}}e.LineContext=n;let t=class ti{constructor(h,m,_,f,v){this._editor=h,this._editorWorkerService=m,this._clipboardService=_,this._telemetryService=f,this._logService=v,this._toDispose=new w.DisposableStore,this._quickSuggestDelay=10,this._triggerCharacterListener=new w.DisposableStore,this._triggerQuickSuggest=new b.TimeoutTimer,this._state=0,this._completionDisposables=new w.DisposableStore,this._onDidCancel=new M.Emitter,this._onDidTrigger=new M.Emitter,this._onDidSuggest=new M.Emitter,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new S.Selection(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters(),this._updateQuickSuggest()})),this._toDispose.add(C.CompletionProviderRegistry.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(L=>{this._onCursorChange(L)}));let y=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{y=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{y=!1,this._refilterCompletionItems()})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{y||this._refilterCompletionItems()})),this._updateTriggerCharacters(),this._updateQuickSuggest()}dispose(){w.dispose(this._triggerCharacterListener),w.dispose([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateQuickSuggest(){this._quickSuggestDelay=this._editor.getOption(74),(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&this._quickSuggestDelay!==0||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),!(this._editor.getOption(75)||!this._editor.hasModel()||!this._editor.getOption(104))){const h=new Map;for(const _ of C.CompletionProviderRegistry.all(this._editor.getModel()))for(const f of _.triggerCharacters||[]){let v=h.get(f);v||(v=new Set,v.add(g.getSnippetSuggestSupport()),h.set(f,v)),v.add(_)}const m=_=>{if(!_){const y=this._editor.getPosition();_=this._editor.getModel().getLineContent(y.lineNumber).substr(0,y.column-1)}let f="";a.isLowSurrogate(_.charCodeAt(_.length-1))?a.isHighSurrogate(_.charCodeAt(_.length-2))&&(f=_.substr(_.length-2)):f=_.charAt(_.length-1);const v=h.get(f);if(v){const y=this._completionModel?{items:this._completionModel.adopt(v),clipboardText:this._completionModel.clipboardText}:void 0;this.trigger({auto:!0,shy:!1,triggerCharacter:f},Boolean(this._completionModel),v,y)}};this._triggerCharacterListener.add(this._editor.onDidType(m)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(m))}}get state(){return this._state}cancel(h=!1){var m;this._state!==0&&(this._triggerQuickSuggest.cancel(),(m=this._requestToken)===null||m===void 0||m.cancel(),this._requestToken=void 0,this._state=0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:h}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._state!==0&&(!this._editor.hasModel()||!C.CompletionProviderRegistry.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._state===2,shy:!1},!0))}_onCursorChange(h){if(!!this._editor.hasModel()){const m=this._editor.getModel(),_=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!h.selection.isEmpty()||h.reason!==0&&h.reason!==3||h.source!=="keyboard"&&h.source!=="deleteLeft"){this.cancel();return}if(!!C.CompletionProviderRegistry.has(m))if(this._state===0&&h.reason===0){if(this._editor.getOption(73)===!1||!_.containsRange(this._currentSelection)&&!_.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition())||this._editor.getOption(101).snippetsPreventQuickSuggestions&&p.SnippetController2.get(this._editor).isInSnippet())return;this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._state===0&&!!n.shouldAutoTrigger(this._editor)&&!!this._editor.hasModel()){const f=this._editor.getModel(),v=this._editor.getPosition(),y=this._editor.getOption(73);if(y!==!1){if(y!==!0){f.tokenizeIfCheap(v.lineNumber);const L=f.getLineTokens(v.lineNumber),I=L.getStandardTokenType(L.findTokenIndexAtOffset(Math.max(v.column-1-1,0)));if(!(y.other&&I===0||y.comments&&I===1||y.strings&&I===2))return}this.trigger({auto:!0,shy:!1})}}},this._quickSuggestDelay)}else this._state!==0&&h.reason===3&&this._refilterCompletionItems()}}_refilterCompletionItems(){Promise.resolve().then(()=>{if(this._state!==0&&!!this._editor.hasModel()){const h=this._editor.getModel(),m=this._editor.getPosition(),_=new n(h,m,this._state===2,!1);this._onNewContext(_)}})}trigger(h,m=!1,_,f){var v;if(!!this._editor.hasModel()){const y=this._editor.getModel(),L=h.auto,I=new n(y,this._editor.getPosition(),L,h.shy);this.cancel(m),this._state=L?2:1,this._onDidTrigger.fire({auto:L,shy:h.shy,position:this._editor.getPosition()}),this._context=I;let k={triggerKind:(v=h.triggerKind)!==null&&v!==void 0?v:0};h.triggerCharacter&&(k={triggerKind:1,triggerCharacter:h.triggerCharacter}),this._requestToken=new c.CancellationTokenSource;const E=this._editor.getOption(96);let T=1;switch(E){case"top":T=0;break;case"bottom":T=2;break}const O=ti._createItemKindFilter(this._editor),A=s.WordDistance.create(this._editorWorkerService,this._editor),B=g.provideSuggestionItems(y,this._editor.getPosition(),new g.CompletionOptions(T,O,_),k,this._requestToken.token);Promise.all([B,A]).then(([F,D])=>Ie(this,void 0,void 0,function*(){var R;if((R=this._requestToken)===null||R===void 0||R.dispose(),!!this._editor.hasModel()){let W=f==null?void 0:f.clipboardText;if(!W&&F.needsClipboard&&(W=yield this._clipboardService.readText()),this._state!==0){const x=this._editor.getModel();let K=F.items;if(f){const ee=g.getSuggestionComparator(T);K=K.concat(f.items).sort(ee)}const Y=new n(x,this._editor.getPosition(),L,h.shy);this._completionModel=new d.CompletionModel(K,this._context.column,{leadingLineContent:Y.leadingLineContent,characterCountDelta:Y.column-this._context.column},D,this._editor.getOption(101),this._editor.getOption(96),W),this._completionDisposables.add(F.disposable),this._onNewContext(Y),this._reportDurationsTelemetry(F.durations)}}})).catch(N.onUnexpectedError)}}_reportDurationsTelemetry(h){this._telemetryGate++%230==0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(h)}),this._logService.debug("suggest.durations.json",h)})}static _createItemKindFilter(h){const m=new Set;h.getOption(96)==="none"&&m.add(27);const f=h.getOption(101);return f.showMethods||m.add(0),f.showFunctions||m.add(1),f.showConstructors||m.add(2),f.showFields||m.add(3),f.showVariables||m.add(4),f.showClasses||m.add(5),f.showStructs||m.add(6),f.showInterfaces||m.add(7),f.showModules||m.add(8),f.showProperties||m.add(9),f.showEvents||m.add(10),f.showOperators||m.add(11),f.showUnits||m.add(12),f.showValues||m.add(13),f.showConstants||m.add(14),f.showEnums||m.add(15),f.showEnumMembers||m.add(16),f.showKeywords||m.add(17),f.showWords||m.add(18),f.showColors||m.add(19),f.showFiles||m.add(20),f.showReferences||m.add(21),f.showColors||m.add(22),f.showFolders||m.add(23),f.showTypeParameters||m.add(24),f.showSnippets||m.add(27),f.showUsers||m.add(25),f.showIssues||m.add(26),m}_onNewContext(h){if(!!this._context){if(h.lineNumber!==this._context.lineNumber){this.cancel();return}if(a.getLeadingWhitespace(h.leadingLineContent)!==a.getLeadingWhitespace(this._context.leadingLineContent)){this.cancel();return}if(h.columnthis._context.leadingWord.startColumn){const m=new Set(C.CompletionProviderRegistry.all(this._editor.getModel()));for(let f of this._completionModel.allProvider)m.delete(f);const _=this._completionModel.adopt(new Set);this.trigger({auto:this._context.auto,shy:!1},!0,m,{items:_,clipboardText:this._completionModel.clipboardText});return}if(h.column>this._context.column&&this._completionModel.incomplete.size>0&&h.leadingWord.word.length!==0){const{incomplete:m}=this._completionModel,_=this._completionModel.adopt(m);this.trigger({auto:this._state===2,shy:!1,triggerKind:2},!0,m,{items:_,clipboardText:this._completionModel.clipboardText})}else{let m=this._completionModel.lineContext,_=!1;if(this._completionModel.lineContext={leadingLineContent:h.leadingLineContent,characterCountDelta:h.column-this._context.column},this._completionModel.items.length===0){if(n.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0,_&&h.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:_})}}}}};t=Me([_e(1,o.IEditorWorkerService),_e(2,u.IClipboardService),_e(3,r.ITelemetryService),_e(4,i.ILogService)],t),e.SuggestModel=t}),define(Q[682],J([0,1,47,19,12,39,2,70,13,62,3,25,192,131,576,507,26,16,9,86,117,548,681,666,549,6,15,20,414,415,14,17,34,23,77,81]),function(q,e,b,N,M,w,S,C,d,g,p,c,o,s,a,u,r,i,n,t,l,h,m,_,f,v,y,L,I,k,E,T,O,A,B,F){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TriggerSuggestAction=e.SuggestController=void 0;let D=!1;class R{constructor(se,ne){if(this._model=se,this._position=ne,se.getLineMaxColumn(ne.lineNumber)!==ne.column){const X=se.getOffsetAt(ne),z=se.getPositionAt(X+1);this._marker=se.deltaDecorations([],[{range:p.Range.fromPositions(ne,z),options:{stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(se){if(this._model.isDisposed()||this._position.lineNumber!==se.lineNumber)return 0;if(this._marker){const ne=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(ne.getStartPosition())-this._model.getOffsetAt(se)}else return this._model.getLineMaxColumn(se.lineNumber)-se.column}}let W=class ii{constructor(se,ne,le,X,z,P){this._memoryService=ne,this._commandService=le,this._contextKeyService=X,this._instantiationService=z,this._logService=P,this._lineSuffix=new S.MutableDisposable,this._toDispose=new S.DisposableStore,this.editor=se,this.model=z.createInstance(m.SuggestModel,this.editor);const V=l.Context.InsertMode.bindTo(X);V.set(se.getOption(101).insertMode),this.model.onDidTrigger(()=>V.set(se.getOption(101).insertMode)),this.widget=this._toDispose.add(new y.IdleValue(()=>{const $=this._instantiationService.createInstance(_.SuggestWidget,this.editor);this._toDispose.add($),this._toDispose.add($.onDidSelect(j=>this._insertSuggestion(j,0),this));const ie=new I.CommitCharacterController(this.editor,$,j=>this._insertSuggestion(j,2));this._toDispose.add(ie),this._toDispose.add(this.model.onDidSuggest(j=>{j.completionModel.items.length===0&&ie.reset()}));const oe=l.Context.MakesTextEdit.bindTo(this._contextKeyService),ae=l.Context.HasInsertAndReplaceRange.bindTo(this._contextKeyService),G=l.Context.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(S.toDisposable(()=>{oe.reset(),ae.reset(),G.reset()})),this._toDispose.add($.onDidFocus(({item:j})=>{const te=this.editor.getPosition(),Z=j.editStart.column,ue=te.column;let he=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!j.completion.command&&!j.completion.additionalTextEdits&&!(j.completion.insertTextRules&4)&&ue-Z===j.completion.insertText.length&&(he=this.editor.getModel().getValueInRange({startLineNumber:te.lineNumber,startColumn:Z,endLineNumber:te.lineNumber,endColumn:ue})!==j.completion.insertText),oe.set(he),ae.set(!E.Position.equals(j.editInsertEnd,j.editReplaceEnd)),G.set(Boolean(j.provider.resolveCompletionItem)||Boolean(j.completion.documentation)||j.completion.detail!==j.completion.label)})),this._toDispose.add($.onDetailsKeyDown(j=>{if(j.toKeybinding().equals(new w.SimpleKeybinding(!0,!1,!1,!1,33))||T.isMacintosh&&j.toKeybinding().equals(new w.SimpleKeybinding(!1,!1,!1,!0,33))){j.stopPropagation();return}j.toKeybinding().isModifierKey()||this.editor.focus()})),$})),this._overtypingCapturer=this._toDispose.add(new y.IdleValue(()=>this._toDispose.add(new k.OvertypingCapturer(this.editor,this.model)))),this._alternatives=this._toDispose.add(new y.IdleValue(()=>this._toDispose.add(new h.SuggestAlternatives(this.editor,this._contextKeyService)))),this._toDispose.add(z.createInstance(f.WordContextKey,se)),this._toDispose.add(this.model.onDidTrigger($=>{this.widget.value.showTriggered($.auto,$.shy?250:50),this._lineSuffix.value=new R(this.editor.getModel(),$.position)})),this._toDispose.add(this.model.onDidSuggest($=>{if(!$.shy){let ie=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),$.completionModel.items);this.widget.value.showSuggestions($.completionModel,ie,$.isFrozen,$.auto)}})),this._toDispose.add(this.model.onDidCancel($=>{$.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{D||(this.model.cancel(),this.model.clear())}));let U=l.Context.AcceptSuggestionsOnEnter.bindTo(X),H=()=>{const $=this.editor.getOption(1);U.set($==="on"||$==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>H())),H()}static get(se){return se.getContribution(ii.ID)}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose()}_insertSuggestion(se,ne){if(!se||!se.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!!this.editor.hasModel()){const le=this.editor.getModel(),X=le.getAlternativeVersionId(),{item:z}=se,P=[],V=new A.CancellationTokenSource;ne&1||this.editor.pushUndoStop();const U=this.getOverwriteInfo(z,Boolean(ne&8));if(this._memoryService.memorize(le,this.editor.getPosition(),z),Array.isArray(z.completion.additionalTextEdits)){const $=C.StableEditorScrollState.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",z.completion.additionalTextEdits.map(ie=>g.EditOperation.replace(p.Range.lift(ie.range),ie.text))),$.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!z.isResolved){const $=new F.StopWatch(!0);let ie;const oe=le.onDidChangeContent(te=>{if(te.isFlush){V.cancel(),oe.dispose();return}for(let Z of te.changes){const ue=p.Range.getEndPosition(Z.range);(!ie||E.Position.isBefore(ue,ie))&&(ie=ue)}});let ae=ne;ne|=2;let G=!1,j=this.editor.onWillType(()=>{j.dispose(),G=!0,ae&2||this.editor.pushUndoStop()});P.push(z.resolve(V.token).then(()=>{if(!z.completion.additionalTextEdits||V.token.isCancellationRequested||ie&&z.completion.additionalTextEdits.some(Z=>E.Position.isBefore(ie,p.Range.getStartPosition(Z.range))))return!1;G&&this.editor.pushUndoStop();const te=C.StableEditorScrollState.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",z.completion.additionalTextEdits.map(Z=>g.EditOperation.replace(p.Range.lift(Z.range),Z.text))),te.restoreRelativeVerticalPositionOfCursor(this.editor),(G||!(ae&2))&&this.editor.pushUndoStop(),!0}).then(te=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",$.elapsed(),te),oe.dispose(),j.dispose()}))}let{insertText:H}=z.completion;z.completion.insertTextRules&4||(H=s.SnippetParser.escape(H)),o.SnippetController2.get(this.editor).insert(H,{overwriteBefore:U.overwriteBefore,overwriteAfter:U.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(z.completion.insertTextRules&1),clipboardText:se.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),ne&2||this.editor.pushUndoStop(),z.completion.command?z.completion.command.id===x.id?this.model.trigger({auto:!0,shy:!1},!0):(P.push(this._commandService.executeCommand(z.completion.command.id,...z.completion.command.arguments?[...z.completion.command.arguments]:[]).catch(M.onUnexpectedError)),this.model.cancel()):this.model.cancel(),ne&4&&this._alternatives.value.set(se,$=>{for(V.cancel();le.canUndo();){X!==le.getAlternativeVersionId()&&le.undo(),this._insertSuggestion($,1|2|(ne&8?8:0));break}}),this._alertCompletionItem(z),Promise.all(P).finally(()=>{this.model.clear(),V.dispose()})}}getOverwriteInfo(se,ne){L.assertType(this.editor.hasModel());let le=this.editor.getOption(101).insertMode==="replace";ne&&(le=!le);const X=se.position.column-se.editStart.column,z=(le?se.editReplaceEnd.column:se.editInsertEnd.column)-se.position.column,P=this.editor.getPosition().column-se.position.column,V=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:X+P,overwriteAfter:z+V}}_alertCompletionItem({completion:se}){const ne=typeof se.label=="string"?se.label:se.label.name;if(N.isNonEmptyArray(se.additionalTextEdits)){let le=u.localize(0,null,ne,se.additionalTextEdits.length);b.alert(le)}}triggerSuggest(se){this.editor.hasModel()&&(this.model.trigger({auto:!1,shy:!1},!1,se),this.editor.revealLine(this.editor.getPosition().lineNumber,0),this.editor.focus())}triggerSuggestAndAcceptBest(se){if(!!this.editor.hasModel()){const ne=this.editor.getPosition(),le=()=>{ne.equals(this.editor.getPosition())&&this._commandService.executeCommand(se.fallback)},X=z=>{if(z.completion.insertTextRules&4||z.completion.additionalTextEdits)return!0;const P=this.editor.getPosition(),V=z.editStart.column,U=P.column;return U-V!==z.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:P.lineNumber,startColumn:V,endLineNumber:P.lineNumber,endColumn:U})!==z.completion.insertText};v.Event.once(this.model.onDidTrigger)(z=>{let P=[];v.Event.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{S.dispose(P),le()},void 0,P),this.model.onDidSuggest(({completionModel:V})=>{if(S.dispose(P),V.items.length===0){le();return}const U=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),V.items),H=V.items[U];if(!X(H)){le();return}this.editor.pushUndoStop(),this._insertSuggestion({index:U,item:H,model:V},4|1|2)},void 0,P)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealLine(ne.lineNumber,0),this.editor.focus()}}acceptSelectedSuggestion(se,ne){const le=this.widget.value.getFocusedItem();let X=0;se&&(X|=4),ne&&(X|=8),this._insertSuggestion(le,X)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}};W.ID="editor.contrib.suggestController",W=Me([_e(1,a.ISuggestMemoryService),_e(2,r.ICommandService),_e(3,i.IContextKeyService),_e(4,n.IInstantiationService),_e(5,B.ILogService)],W),e.SuggestController=W;class x extends d.EditorAction{constructor(){super({id:x.id,label:u.localize(1,null),alias:"Trigger Suggest",precondition:i.ContextKeyExpr.and(c.EditorContextKeys.writable,c.EditorContextKeys.hasCompletionItemProvider),kbOpts:{kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|10,secondary:[2048|39],mac:{primary:256|10,secondary:[512|9,2048|39]},weight:100}})}run(se,ne){const le=W.get(ne);!le||le.triggerSuggest()}}e.TriggerSuggestAction=x,x.id="editor.action.triggerSuggest",d.registerEditorContribution(W.ID,W),d.registerEditorAction(x);const K=100+90,Y=d.EditorCommand.bindToContribution(W.get);d.registerEditorCommand(new Y({id:"acceptSelectedSuggestion",precondition:l.Context.Visible,handler(ee){ee.acceptSelectedSuggestion(!0,!1)}})),t.KeybindingsRegistry.registerKeybindingRule({id:"acceptSelectedSuggestion",when:i.ContextKeyExpr.and(l.Context.Visible,c.EditorContextKeys.textInputFocus),primary:2,weight:K}),t.KeybindingsRegistry.registerKeybindingRule({id:"acceptSelectedSuggestion",when:i.ContextKeyExpr.and(l.Context.Visible,c.EditorContextKeys.textInputFocus,l.Context.AcceptSuggestionsOnEnter,l.Context.MakesTextEdit),primary:3,weight:K}),O.MenuRegistry.appendMenuItem(l.suggestWidgetStatusbarMenu,{command:{id:"acceptSelectedSuggestion",title:u.localize(2,null)},group:"left",order:1,when:l.Context.HasInsertAndReplaceRange.toNegated()}),O.MenuRegistry.appendMenuItem(l.suggestWidgetStatusbarMenu,{command:{id:"acceptSelectedSuggestion",title:u.localize(3,null)},group:"left",order:1,when:i.ContextKeyExpr.and(l.Context.HasInsertAndReplaceRange,l.Context.InsertMode.isEqualTo("insert"))}),O.MenuRegistry.appendMenuItem(l.suggestWidgetStatusbarMenu,{command:{id:"acceptSelectedSuggestion",title:u.localize(4,null)},group:"left",order:1,when:i.ContextKeyExpr.and(l.Context.HasInsertAndReplaceRange,l.Context.InsertMode.isEqualTo("replace"))}),d.registerEditorCommand(new Y({id:"acceptAlternativeSelectedSuggestion",precondition:i.ContextKeyExpr.and(l.Context.Visible,c.EditorContextKeys.textInputFocus),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|3,secondary:[1024|2]},handler(ee){ee.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:l.suggestWidgetStatusbarMenu,group:"left",order:2,when:i.ContextKeyExpr.and(l.Context.HasInsertAndReplaceRange,l.Context.InsertMode.isEqualTo("insert")),title:u.localize(5,null)},{menuId:l.suggestWidgetStatusbarMenu,group:"left",order:2,when:i.ContextKeyExpr.and(l.Context.HasInsertAndReplaceRange,l.Context.InsertMode.isEqualTo("replace")),title:u.localize(6,null)}]})),r.CommandsRegistry.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),d.registerEditorCommand(new Y({id:"hideSuggestWidget",precondition:l.Context.Visible,handler:ee=>ee.cancelSuggestWidget(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:9,secondary:[1024|9]}})),d.registerEditorCommand(new Y({id:"selectNextSuggestion",precondition:i.ContextKeyExpr.and(l.Context.Visible,l.Context.MultipleSuggestions),handler:ee=>ee.selectNextSuggestion(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:18,secondary:[2048|18],mac:{primary:18,secondary:[2048|18,256|44]}}})),d.registerEditorCommand(new Y({id:"selectNextPageSuggestion",precondition:i.ContextKeyExpr.and(l.Context.Visible,l.Context.MultipleSuggestions),handler:ee=>ee.selectNextPageSuggestion(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:12,secondary:[2048|12]}})),d.registerEditorCommand(new Y({id:"selectLastSuggestion",precondition:i.ContextKeyExpr.and(l.Context.Visible,l.Context.MultipleSuggestions),handler:ee=>ee.selectLastSuggestion()})),d.registerEditorCommand(new Y({id:"selectPrevSuggestion",precondition:i.ContextKeyExpr.and(l.Context.Visible,l.Context.MultipleSuggestions),handler:ee=>ee.selectPrevSuggestion(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:16,secondary:[2048|16],mac:{primary:16,secondary:[2048|16,256|46]}}})),d.registerEditorCommand(new Y({id:"selectPrevPageSuggestion",precondition:i.ContextKeyExpr.and(l.Context.Visible,l.Context.MultipleSuggestions),handler:ee=>ee.selectPrevPageSuggestion(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:11,secondary:[2048|11]}})),d.registerEditorCommand(new Y({id:"selectFirstSuggestion",precondition:i.ContextKeyExpr.and(l.Context.Visible,l.Context.MultipleSuggestions),handler:ee=>ee.selectFirstSuggestion()})),d.registerEditorCommand(new Y({id:"toggleSuggestionDetails",precondition:l.Context.Visible,handler:ee=>ee.toggleSuggestionDetails(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|10,mac:{primary:256|10}},menuOpts:[{menuId:l.suggestWidgetStatusbarMenu,group:"right",order:1,when:i.ContextKeyExpr.and(l.Context.DetailsVisible,l.Context.CanResolve),title:u.localize(7,null)},{menuId:l.suggestWidgetStatusbarMenu,group:"right",order:1,when:i.ContextKeyExpr.and(l.Context.DetailsVisible.toNegated(),l.Context.CanResolve),title:u.localize(8,null)}]})),d.registerEditorCommand(new Y({id:"toggleExplainMode",precondition:l.Context.Visible,handler:ee=>ee.toggleExplainMode(),kbOpts:{weight:100,primary:2048|85}})),d.registerEditorCommand(new Y({id:"toggleSuggestionFocus",precondition:l.Context.Visible,handler:ee=>ee.toggleSuggestionFocus(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|512|10,mac:{primary:256|512|10}}})),d.registerEditorCommand(new Y({id:"insertBestCompletion",precondition:i.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,i.ContextKeyExpr.equals("config.editor.tabCompletion","on"),f.WordContextKey.AtEnd,l.Context.Visible.toNegated(),h.SuggestAlternatives.OtherSuggestions.toNegated(),o.SnippetController2.InSnippetMode.toNegated()),handler:(ee,se)=>{ee.triggerSuggestAndAcceptBest(L.isObject(se)?Object.assign({fallback:"tab"},se):{fallback:"tab"})},kbOpts:{weight:K,primary:2}})),d.registerEditorCommand(new Y({id:"insertNextSuggestion",precondition:i.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,i.ContextKeyExpr.equals("config.editor.tabCompletion","on"),h.SuggestAlternatives.OtherSuggestions,l.Context.Visible.toNegated(),o.SnippetController2.InSnippetMode.toNegated()),handler:ee=>ee.acceptNextSuggestion(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:2}})),d.registerEditorCommand(new Y({id:"insertPrevSuggestion",precondition:i.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,i.ContextKeyExpr.equals("config.editor.tabCompletion","on"),h.SuggestAlternatives.OtherSuggestions,l.Context.Visible.toNegated(),o.SnippetController2.InSnippetMode.toNegated()),handler:ee=>ee.acceptPrevSuggestion(),kbOpts:{weight:K,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|2}})),d.registerEditorAction(class extends d.EditorAction{constructor(){super({id:"editor.action.resetSuggestSize",label:u.localize(9,null),alias:"Reset Suggest Widget Size",precondition:void 0})}run(ee,se){W.get(se).resetWidgetSize()}})}),define(Q[683],J([0,1,188,143,266,215,611,612,613,614,615,635,618,670,619,620,621,622,267,659,623,624,545,271,272,268,273,629,630,628,631,632,633,662,664,636,637,192,682,638,264,639,671,640,265,641,64,123]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})});var mt=this&&this.__createBinding||(Object.create?function(q,e,b,N){N===void 0&&(N=b),Object.defineProperty(q,N,{enumerable:!0,get:function(){return e[b]}})}:function(q,e,b,N){N===void 0&&(N=b),q[N]=e[b]}),pt=this&&this.__exportStar||function(q,e){for(var b in q)b!=="default"&&!Object.prototype.hasOwnProperty.call(e,b)&&mt(e,q,b)};define(Q[686],J([0,1,677,683,642,643,644,573,646,647,645,672,648]),function(q,e,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),pt(b,e)})}).call(this); + + +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-typescript version: 4.3.1(d4e91e07d8144e428885c93029b3d3cbf1994c33) + * Released under the MIT license + * https://github.com/Microsoft/monaco-typescript/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/language/typescript/lib/typescriptServicesMetadata",["require","exports"],(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.typescriptVersion=void 0,e.typescriptVersion="4.2.3"})),define("vs/language/typescript/fillers/monaco-editor-core",['vs/editor/editor.api'],(function(){return self.monaco})),define("vs/language/typescript/monaco.contribution",["require","exports","./lib/typescriptServicesMetadata","./fillers/monaco-editor-core"],(function(t,e,i,n){"use strict";var r,o,s,a,c;Object.defineProperty(e,"__esModule",{value:!0}),e.getJavaScriptWorker=e.getTypeScriptWorker=e.javascriptDefaults=e.typescriptDefaults=e.typescriptVersion=e.ModuleResolutionKind=e.ScriptTarget=e.NewLineKind=e.JsxEmit=e.ModuleKind=void 0,function(t){t[t.None=0]="None",t[t.CommonJS=1]="CommonJS",t[t.AMD=2]="AMD",t[t.UMD=3]="UMD",t[t.System=4]="System",t[t.ES2015=5]="ES2015",t[t.ESNext=99]="ESNext"}(r=e.ModuleKind||(e.ModuleKind={})),function(t){t[t.None=0]="None",t[t.Preserve=1]="Preserve",t[t.React=2]="React",t[t.ReactNative=3]="ReactNative",t[t.ReactJSX=4]="ReactJSX",t[t.ReactJSXDev=5]="ReactJSXDev"}(o=e.JsxEmit||(e.JsxEmit={})),function(t){t[t.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",t[t.LineFeed=1]="LineFeed"}(s=e.NewLineKind||(e.NewLineKind={})),function(t){t[t.ES3=0]="ES3",t[t.ES5=1]="ES5",t[t.ES2015=2]="ES2015",t[t.ES2016=3]="ES2016",t[t.ES2017=4]="ES2017",t[t.ES2018=5]="ES2018",t[t.ES2019=6]="ES2019",t[t.ES2020=7]="ES2020",t[t.ESNext=99]="ESNext",t[t.JSON=100]="JSON",t[t.Latest=99]="Latest"}(a=e.ScriptTarget||(e.ScriptTarget={})),function(t){t[t.Classic=1]="Classic",t[t.NodeJs=2]="NodeJs"}(c=e.ModuleResolutionKind||(e.ModuleResolutionKind={}));var p=function(){function t(t,e,i){this._onDidChange=new n.Emitter,this._onDidExtraLibsChange=new n.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(e),this.setWorkerOptions(i),this._onDidExtraLibsChangeTimeout=-1}return Object.defineProperty(t.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onDidExtraLibsChange",{get:function(){return this._onDidExtraLibsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"workerOptions",{get:function(){return this._workerOptions},enumerable:!1,configurable:!0}),t.prototype.getExtraLibs=function(){return this._extraLibs},t.prototype.addExtraLib=function(t,e){var i,n=this;if(i=void 0===e?"ts:extralib-"+Math.random().toString(36).substring(2,15):e,this._extraLibs[i]&&this._extraLibs[i].content===t)return{dispose:function(){}};var r=1;return this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(r=this._extraLibs[i].version+1),this._extraLibs[i]={content:t,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:function(){var t=n._extraLibs[i];t&&t.version===r&&(delete n._extraLibs[i],n._removedExtraLibs[i]=r,n._fireOnDidExtraLibsChangeSoon())}}},t.prototype.setExtraLibs=function(t){for(var e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(var i=0,n=t;i console.log", weil "log" vor Kurzem abgeschlossen wurde.','W\xE4hlen Sie Vorschl\xE4ge basierend auf fr\xFCheren Pr\xE4fixen aus, die diese Vorschl\xE4ge abgeschlossen haben, z.B. "co -> console" und "con ->" const".',"Steuert, wie Vorschl\xE4ge bei Anzeige der Vorschlagsliste vorab ausgew\xE4hlt werden.","Die Tab-Vervollst\xE4ndigung f\xFCgt den passendsten Vorschlag ein, wenn auf Tab gedr\xFCckt wird.","Tab-Vervollst\xE4ndigungen deaktivieren.",'Codeausschnitte per Tab vervollst\xE4ndigen, wenn die Pr\xE4fixe \xFCbereinstimmen. Funktioniert am besten, wenn "quickSuggestions" deaktiviert sind.',"Tab-Vervollst\xE4ndigungen aktivieren.","Ungew\xF6hnliche Zeilenabschlusszeichen werden automatisch entfernt.","Ungew\xF6hnliche Zeilenabschlusszeichen werden ignoriert.","Zum Entfernen ungew\xF6hnlicher Zeilenabschlusszeichen wird eine Eingabeaufforderung angezeigt.","Entfernen Sie un\xFCbliche Zeilenabschlusszeichen, die Probleme verursachen k\xF6nnen.","Das Einf\xFCgen und L\xF6schen von Leerzeichen erfolgt nach Tabstopps.","Zeichen, die als Worttrennzeichen verwendet werden, wenn wortbezogene Navigationen oder Vorg\xE4nge ausgef\xFChrt werden.","Zeilenumbr\xFCche erfolgen nie.","Der Zeilenumbruch erfolgt an der Breite des Anzeigebereichs.",'Der Zeilenumbruch erfolgt bei "#editor.wordWrapColumn#".','Der Zeilenumbruch erfolgt beim Mindestanzeigebereich und "#editor.wordWrapColumn".',"Steuert, wie der Zeilenumbruch durchgef\xFChrt werden soll.",'Steuert die umschlie\xDFende Spalte des Editors, wenn "#editor.wordWrap#" den Wert "wordWrapColumn" oder "bounded" aufweist.',"Kein Einzug. Umbrochene Zeilen beginnen bei Spalte 1.","Umbrochene Zeilen erhalten den gleichen Einzug wie das \xFCbergeordnete Element.","Umbrochene Zeilen erhalten + 1 Einzug auf das \xFCbergeordnete Element.","Umgebrochene Zeilen werden im Vergleich zum \xFCbergeordneten Element +2 einger\xFCckt.","Steuert die Einr\xFCckung der umbrochenen Zeilen.","Es wird angenommen, dass alle Zeichen gleich breit sind. Dies ist ein schneller Algorithmus, der f\xFCr Festbreitenschriftarten und bestimmte Alphabete (wie dem lateinischen), bei denen die Glyphen gleich breit sind, korrekt funktioniert.","Delegiert die Berechnung von Umbruchpunkten an den Browser. Dies ist ein langsamer Algorithmus, der bei gro\xDFen Dateien Code Freezes verursachen kann, aber in allen F\xE4llen korrekt funktioniert.","Steuert den Algorithmus, der Umbruchpunkte berechnet."],"vs/editor/common/editorContextKeys":["Gibt an, ob der Editor-Text den Fokus besitzt (Cursor blinkt).","Gibt an, ob der Editor oder ein Editor-Widget den Fokus besitzt (z.\xA0B. ob der Fokus sich im Suchwidget befindet).","Gibt an, ob ein Editor oder eine Rich-Text-Eingabe den Fokus besitzt (Cursor blinkt).","Gibt an, ob der Editor schreibgesch\xFCtzt ist.","Gibt an, ob der Kontext ein Diff-Editor ist.",'Gibt an, ob "editor.columnSelection" aktiviert ist.',"Gibt an, ob im Editor Text ausgew\xE4hlt ist.","Gibt an, ob der Editor \xFCber Mehrfachauswahl verf\xFCgt.","Gibt an, ob die TAB-TASTE den Fokus aus dem Editor verschiebt.","Gibt an, ob Hover im Editor sichtbar ist.","Gibt an, ob der Editor Bestandteil eines gr\xF6\xDFeren Editors ist (z.\xA0B. Notebooks).","Der Sprachbezeichner des Editors.","Gibt an, ob der Editor \xFCber einen Vervollst\xE4ndigungselementanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Codeaktionsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen CodeLens-Anbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Definitionsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Deklarationsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Implementierungsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Typdefinitionsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Hoveranbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Dokumenthervorhebungsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Dokumentsymbolanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Verweisanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Umbenennungsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Signaturhilfeanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Inlinehinweisanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Dokumentformatierungsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber einen Anbieter f\xFCr Dokumentauswahlformatierung verf\xFCgt.","Gibt an, ob der Editor \xFCber mehrere Dokumentformatierungsanbieter verf\xFCgt.","Gibt an, ob der Editor \xFCber mehrere Anbieter f\xFCr Dokumentauswahlformatierung verf\xFCgt."],"vs/editor/common/model/editStack":["Eingabe"],"vs/editor/common/modes/modesRegistry":["Nur-Text"],"vs/editor/common/standaloneStrings":["Keine Auswahl","Zeile {0}, Spalte {1} ({2} ausgew\xE4hlt)","Zeile {0}, Spalte {1}","{0} Auswahlen ({1} Zeichen ausgew\xE4hlt)","{0} Auswahlen",'Die Einstellung "accessibilitySupport" wird jetzt in "on" ge\xE4ndert.',"Die Dokumentationsseite zur Barrierefreiheit des Editors wird ge\xF6ffnet."," in einem schreibgesch\xFCtzten Bereich eines Diff-Editors."," in einem Bereich eines Diff-Editors."," in einem schreibgesch\xFCtzten Code-Editor"," in einem Code-Editor","Dr\xFCcken Sie BEFEHLSTASTE + E, um den Editor f\xFCr eine optimierte Verwendung mit Sprachausgabe zu konfigurieren.","Dr\xFCcken Sie STRG + E, um den Editor f\xFCr eine optimierte Verwendung mit Sprachausgabe zu konfigurieren.","Der Editor ist auf eine optimale Verwendung mit Sprachausgabe konfiguriert.","Der Editor ist so konfiguriert, dass er nie auf die Verwendung mit Sprachausgabe hin optimiert wird. Dies ist zu diesem Zeitpunkt nicht der Fall.","Durch Dr\xFCcken der TAB-TASTE im aktuellen Editor wird der Fokus in das n\xE4chste Element verschoben, das den Fokus erhalten kann. Schalten Sie dieses Verhalten um, indem Sie {0} dr\xFCcken.","Durch Dr\xFCcken der TAB-TASTE im aktuellen Editor wird der Fokus in das n\xE4chste Element verschoben, das den Fokus erhalten kann. Der {0}-Befehl kann zurzeit nicht durch eine Tastenzuordnung ausgel\xF6st werden.","Durch Dr\xFCcken der TAB-TASTE im aktuellen Editor wird das Tabstoppzeichen eingef\xFCgt. Schalten Sie dieses Verhalten um, indem Sie {0} dr\xFCcken.","Durch Dr\xFCcken der TAB-TASTE im aktuellen Editor wird das Tabstoppzeichen eingef\xFCgt. Der {0}-Befehl kann zurzeit nicht durch eine Tastenzuordnung ausgel\xF6st werden.","Dr\xFCcken Sie BEFEHLSTASTE + H, um ein Browserfenster mit weiteren Informationen zur Barrierefreiheit des Editors zu \xF6ffnen.","Dr\xFCcken Sie STRG + H, um ein Browserfenster mit weiteren Informationen zur Barrierefreiheit des Editors zu \xF6ffnen.","Sie k\xF6nnen diese QuickInfo schlie\xDFen und durch Dr\xFCcken von ESC oder UMSCHALT+ESC zum Editor zur\xFCckkehren.","Hilfe zur Barrierefreiheit anzeigen","Entwickler: Token \xFCberpr\xFCfen","Gehe zu Zeile/Spalte...","Alle Anbieter f\xFCr den Schnellzugriff anzeigen","Befehlspalette","Befehle anzeigen und ausf\xFChren","Gehe zu Symbol...","Gehe zu Symbol nach Kategorie...","Editor-Inhalt","Dr\xFCcken Sie ALT + F1, um die Barrierefreiheitsoptionen aufzurufen.","Zu Design mit hohem Kontrast umschalten","{0} Bearbeitungen in {1} Dateien durchgef\xFChrt"],"vs/editor/common/view/editorColorRegistry":["Hintergrundfarbe zur Hervorhebung der Zeile an der Cursorposition.","Hintergrundfarbe f\xFCr den Rahmen um die Zeile an der Cursorposition.","Hintergrundfarbe der markierten Bereiche, wie z.B. Quick Open oder die Suche. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Hintergrundfarbe f\xFCr den Rahmen um hervorgehobene Bereiche.",'Hintergrundfarbe des hervorgehobenen Symbols, z. B. "Gehe zu Definition" oder "Gehe zu n\xE4chster/vorheriger". Die Farbe darf nicht undurchsichtig sein, um zugrunde liegende Dekorationen nicht zu verbergen.',"Hintergrundfarbe des Rahmens um hervorgehobene Symbole","Farbe des Cursors im Editor.","Hintergrundfarbe vom Editor-Cursor. Erlaubt die Anpassung der Farbe von einem Zeichen, welches von einem Block-Cursor \xFCberdeckt wird.","Farbe der Leerzeichen im Editor.","Farbe der F\xFChrungslinien f\xFCr Einz\xFCge im Editor.","Farbe der F\xFChrungslinien f\xFCr Einz\xFCge im aktiven Editor.","Zeilennummernfarbe im Editor.","Zeilennummernfarbe der aktiven Editorzeile.",'Die ID ist veraltet. Verwenden Sie stattdessen "editorLineNumber.activeForeground".',"Zeilennummernfarbe der aktiven Editorzeile.","Farbe des Editor-Lineals.","Vordergrundfarbe der CodeLens-Links im Editor","Hintergrundfarbe f\xFCr zusammengeh\xF6rige Klammern","Farbe f\xFCr zusammengeh\xF6rige Klammern","Farbe des Rahmens f\xFCr das \xDCbersicht-Lineal.","Hintergrundfarbe des \xDCbersichtslineals im Editor. Wird nur verwendet, wenn die Minimap aktiviert ist und auf der rechten Seite des Editors platziert wird.","Hintergrundfarbe der Editorleiste. Die Leiste enth\xE4lt die Glyphenr\xE4nder und die Zeilennummern.","Rahmenfarbe unn\xF6tigen (nicht genutzten) Quellcodes im Editor.",'Deckkraft des unn\xF6tigen (nicht genutzten) Quellcodes im Editor. "#000000c0" rendert z.B. den Code mit einer Deckkraft von 75%. Verwenden Sie f\xFCr Designs mit hohem Kontrast das Farbdesign "editorUnnecessaryCode.border", um unn\xF6tigen Code zu unterstreichen statt ihn abzublenden.',"\xDCbersichtslinealmarkerfarbe f\xFCr das Hervorheben von Bereichen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","\xDCbersichtslineal-Markierungsfarbe f\xFCr Fehler.","\xDCbersichtslineal-Markierungsfarbe f\xFCr Warnungen.","\xDCbersichtslineal-Markierungsfarbe f\xFCr Informationen."],"vs/editor/contrib/anchorSelect/anchorSelect":["Auswahlanker",'Anker festgelegt bei "{0}:{1}"',"Auswahlanker festlegen","Zu Auswahlanker wechseln","Auswahl von Anker zu Cursor","Auswahlanker abbrechen"],"vs/editor/contrib/bracketMatching/bracketMatching":["\xDCbersichtslineal-Markierungsfarbe f\xFCr zusammengeh\xF6rige Klammern.","Gehe zu Klammer","Ausw\xE4hlen bis Klammer","Gehe zu &&Klammer"],"vs/editor/contrib/caretOperations/caretOperations":["Ausgew\xE4hlten Text nach links verschieben","Ausgew\xE4hlten Text nach rechts verschieben"],"vs/editor/contrib/caretOperations/transpose":["Buchstaben austauschen"],"vs/editor/contrib/clipboard/clipboard":["&&Ausschneiden","Ausschneiden","Ausschneiden","&&Kopieren","Kopieren","Kopieren","&&Einf\xFCgen","Einf\xFCgen","Einf\xFCgen","Mit Syntaxhervorhebung kopieren"],"vs/editor/contrib/codeAction/codeActionCommands":["Art der auszuf\xFChrenden Codeaktion","Legt fest, wann die zur\xFCckgegebenen Aktionen angewendet werden","Die erste zur\xFCckgegebene Codeaktion immer anwenden","Die erste zur\xFCckgegebene Codeaktion anwenden, wenn nur eine vorhanden ist","Zur\xFCckgegebene Codeaktionen nicht anwenden","Legt fest, ob nur bevorzugte Codeaktionen zur\xFCckgegeben werden sollen","Beim Anwenden der Code-Aktion ist ein unbekannter Fehler aufgetreten","Schnelle Problembehebung ...","Keine Codeaktionen verf\xFCgbar",'Keine bevorzugten Codeaktionen f\xFCr "{0}" verf\xFCgbar','Keine Codeaktionen f\xFCr "{0}" verf\xFCgbar',"Keine bevorzugten Codeaktionen verf\xFCgbar","Keine Codeaktionen verf\xFCgbar","Refactoring durchf\xFChren...",'Keine bevorzugten Refactorings f\xFCr "{0}" verf\xFCgbar','Keine Refactorings f\xFCr "{0}" verf\xFCgbar',"Keine bevorzugten Refactorings verf\xFCgbar","Keine Refactorings verf\xFCgbar","Quellaktion...",'Keine bevorzugten Quellaktionen f\xFCr "{0}" verf\xFCgbar','Keine Quellaktionen f\xFCr "{0}" verf\xFCgbar',"Keine bevorzugten Quellaktionen verf\xFCgbar","Keine Quellaktionen verf\xFCgbar","Importe organisieren","Keine Aktion zum Organisieren von Importen verf\xFCgbar","Alle korrigieren",'Aktion "Alle korrigieren" nicht verf\xFCgbar',"Automatisch korrigieren...","Keine automatischen Korrekturen verf\xFCgbar"],"vs/editor/contrib/codeAction/lightBulbWidget":["Fixes anzeigen. Bevorzugter Fix verf\xFCgbar ({0})","Korrekturen anzeigen ({0})","Korrekturen anzeigen"],"vs/editor/contrib/codelens/codelensController":["CodeLens-Befehle f\xFCr aktuelle Zeile anzeigen"],"vs/editor/contrib/comment/comment":["Zeilenkommentar umschalten","Zeilenkommen&&tar umschalten","Zeilenkommentar hinzuf\xFCgen","Zeilenkommentar entfernen","Blockkommentar umschalten","&&Blockkommentar umschalten"],"vs/editor/contrib/contextmenu/contextmenu":["Editor-Kontextmen\xFC anzeigen"],"vs/editor/contrib/cursorUndo/cursorUndo":["Mit Cursor r\xFCckg\xE4ngig machen","Wiederholen mit Cursor"],"vs/editor/contrib/find/findController":["Suchen","&&Suchen","Mit Auswahl suchen","Weitersuchen","Weitersuchen","Vorheriges Element suchen","Vorheriges Element suchen","N\xE4chste Auswahl suchen","Vorherige Auswahl suchen","Ersetzen","&&Ersetzen"],"vs/editor/contrib/find/findWidget":['Symbol f\xFCr "In Auswahl suchen" im Editor-Such-Widget.',"Symbol f\xFCr die Anzeige, dass das Editor-Such-Widget zugeklappt wurde.","Symbol f\xFCr die Anzeige, dass das Editor-Such-Widget aufgeklappt wurde.",'Symbol f\xFCr "Ersetzen" im Editor-Such-Widget.','Symbol f\xFCr "Alle ersetzen" im Editor-Such-Widget.','Symbol f\xFCr "Vorheriges Element suchen" im Editor-Such-Widget.','Symbol f\xFCr "N\xE4chstes Element suchen" im Editor-Such-Widget.',"Suchen","Suchen","Vorheriger Treffer","N\xE4chste \xDCbereinstimmung","In Auswahl suchen","Schlie\xDFen","Ersetzen","Ersetzen","Ersetzen","Alle ersetzen","Ersetzen-Modus wechseln","Nur die ersten {0} Ergebnisse wurden hervorgehoben, aber alle Suchoperationen werden auf dem gesamten Text durchgef\xFChrt.","{0} von {1}","Keine Ergebnisse","{0} gefunden",'{0} f\xFCr "{1}" gefunden','{0} f\xFCr "{1}" gefunden, bei {2}','{0} f\xFCr "{1}" gefunden','STRG+EINGABE f\xFCgt jetzt einen Zeilenumbruch ein, statt alles zu ersetzen. Sie k\xF6nnen die Tastenzuordnung f\xFCr "editor.action.replaceAll" \xE4ndern, um dieses Verhalten au\xDFer Kraft zu setzen.'],"vs/editor/contrib/folding/folding":["Auffalten","Faltung rekursiv aufheben","Falten","Einklappung umschalten","Rekursiv falten","Alle Blockkommentare falten","Alle Regionen falten","Alle Regionen auffalten","Alle falten","Alle auffalten","Faltebene {0}","Hintergrundfarbe hinter gefalteten Bereichen. Die Farbe darf nicht deckend sein, sodass zugrunde liegende Dekorationen nicht ausgeblendet werden.","Farbe des Faltsteuerelements im Editor-Bundsteg."],"vs/editor/contrib/folding/foldingDecorations":["Symbol f\xFCr aufgeklappte Bereiche im Editor-Glyphenrand.","Symbol f\xFCr zugeklappte Bereiche im Editor-Glyphenrand."],"vs/editor/contrib/fontZoom/fontZoom":["Editorschriftart vergr\xF6\xDFern","Editorschriftart verkleinern","Editor Schriftart Vergr\xF6\xDFerung zur\xFCcksetzen"],"vs/editor/contrib/format/format":["1 Formatierung in Zeile {0} vorgenommen","{0} Formatierungen in Zeile {1} vorgenommen","1 Formatierung zwischen Zeilen {0} und {1} vorgenommen","{0} Formatierungen zwischen Zeilen {1} und {2} vorgenommen"],"vs/editor/contrib/format/formatActions":["Dokument formatieren","Auswahl formatieren"],"vs/editor/contrib/gotoError/gotoError":["Gehe zu n\xE4chstem Problem (Fehler, Warnung, Information)","Symbol f\xFCr den Marker zum Wechseln zum n\xE4chsten Element.","Gehe zu vorigem Problem (Fehler, Warnung, Information)","Symbol f\xFCr den Marker zum Wechseln zum vorherigen Element.","Gehe zu dem n\xE4chsten Problem in den Dateien (Fehler, Warnung, Info)","N\xE4chstes &&Problem","Gehe zu dem vorherigen Problem in den Dateien (Fehler, Warnung, Info)","Vorheriges &&Problem"],"vs/editor/contrib/gotoError/gotoErrorWidget":["Fehler","Warnung","Info","Hinweis","{0} bei {1}. ","{0} von {1} Problemen","{0} von {1} Problemen","Editormarkierung: Farbe bei Fehler des Navigationswidgets.","Editormarkierung: Farbe bei Warnung des Navigationswidgets.","Editormarkierung: Farbe bei Information des Navigationswidgets.","Editormarkierung: Hintergrund des Navigationswidgets."],"vs/editor/contrib/gotoSymbol/goToCommands":["Vorschau","Definitionen",'Keine Definition gefunden f\xFCr "{0}".',"Keine Definition gefunden","Gehe zu Definition","Gehe &&zu Definition","Definition an der Seite \xF6ffnen","Definition einsehen","Deklarationen",'Keine Deklaration f\xFCr "{0}" gefunden.',"Keine Deklaration gefunden.","Zur Deklaration wechseln","Gehe zu &&Deklaration",'Keine Deklaration f\xFCr "{0}" gefunden.',"Keine Deklaration gefunden.","Vorschau f\xFCr Deklaration anzeigen","Typdefinitionen",'Keine Typendefinition gefunden f\xFCr "{0}"',"Keine Typendefinition gefunden","Zur Typdefinition wechseln","Zur &&Typdefinition wechseln","Vorschau der Typdefinition anzeigen","Implementierungen",'Keine Implementierung gefunden f\xFCr "{0}"',"Keine Implementierung gefunden","Gehe zu Implementierungen","Gehe zu &&Implementierungen","Vorschau f\xFCr Implementierungen anzeigen",'F\xFCr "{0}" wurden keine Verweise gefunden.',"Keine Referenzen gefunden","Gehe zu Verweisen","Gehe zu &&Verweisen","Verweise","Vorschau f\xFCr Verweise anzeigen","Verweise","Gehe zu beliebigem Symbol","Speicherorte",'Keine Ergebnisse f\xFCr "{0}"',"Verweise"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Klicken Sie, um {0} Definitionen anzuzeigen."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Wird geladen...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["{0} Verweise","{0} Verweis","Verweise"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["Keine Vorschau verf\xFCgbar.","Keine Ergebnisse","Verweise"],"vs/editor/contrib/gotoSymbol/referencesModel":["Symbol in {0} in Zeile {1}, Spalte {2}",'Symbol in "{0}" in Zeile {1}, Spalte {2}, {3}',"1 Symbol in {0}, vollst\xE4ndiger Pfad {1}","{0} Symbole in {1}, vollst\xE4ndiger Pfad {2}","Es wurden keine Ergebnisse gefunden.","1 Symbol in {0} gefunden","{0} Symbole in {1} gefunden","{0} Symbole in {1} Dateien gefunden"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Symbol {0} von {1}, {2} f\xFCr n\xE4chstes","Symbol {0} von {1}"],"vs/editor/contrib/hover/hover":["Hovern anzeigen","Definitionsvorschauhover anzeigen"],"vs/editor/contrib/hover/markdownHoverParticipant":["Wird geladen..."],"vs/editor/contrib/hover/markerHoverParticipant":["Problem anzeigen","Keine Schnellkorrekturen verf\xFCgbar","Es wird nach Schnellkorrekturen gesucht...","Keine Schnellkorrekturen verf\xFCgbar","Schnelle Problembehebung ..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Durch vorherigen Wert ersetzen","Durch n\xE4chsten Wert ersetzen"],"vs/editor/contrib/indentation/indentation":["Einzug in Leerzeichen konvertieren","Einzug in Tabstopps konvertieren","Konfigurierte Tabulatorgr\xF6\xDFe","Tabulatorgr\xF6\xDFe f\xFCr aktuelle Datei ausw\xE4hlen","Einzug mithilfe von Tabstopps","Einzug mithilfe von Leerzeichen","Einzug aus Inhalt erkennen","Neuen Einzug f\xFCr Zeilen festlegen","Gew\xE4hlte Zeilen zur\xFCckziehen"],"vs/editor/contrib/linesOperations/linesOperations":["Zeile nach oben kopieren","Zeile nach oben &&kopieren","Zeile nach unten kopieren","Zeile nach unten ko&&pieren","Auswahl duplizieren","&&Auswahl duplizieren","Zeile nach oben verschieben","Zeile nach oben &&verschieben","Zeile nach unten verschieben","Zeile nach &&unten verschieben","Zeilen aufsteigend sortieren","Zeilen absteigend sortieren","Nachgestelltes Leerzeichen k\xFCrzen","Zeile l\xF6schen","Zeileneinzug","Zeile ausr\xFCcken","Zeile oben einf\xFCgen","Zeile unten einf\xFCgen","Alle \xFCbrigen l\xF6schen","Alle rechts l\xF6schen","Zeilen verkn\xFCpfen","Zeichen um den Cursor herum transponieren","In Gro\xDFbuchstaben umwandeln","In Kleinbuchstaben umwandeln","In gro\xDFe Anfangsbuchstaben umwandeln","In Snake Case umwandeln"],"vs/editor/contrib/linkedEditing/linkedEditing":["Verkn\xFCpfte Bearbeitung starten","Hintergrundfarbe, wenn der Editor automatisch nach Typ umbenennt."],"vs/editor/contrib/links/links":["Befehl ausf\xFChren","Link folgen","BEFEHL + Klicken","STRG + Klicken","OPTION + Klicken","alt + klicken",'F\xFChren Sie den Befehl "{0}" aus.',"Fehler beim \xD6ffnen dieses Links, weil er nicht wohlgeformt ist: {0}","Fehler beim \xD6ffnen dieses Links, weil das Ziel fehlt.","Link \xF6ffnen"],"vs/editor/contrib/message/messageController":["Gibt an, ob der Editor zurzeit eine Inlinenachricht anzeigt.","Ein Bearbeiten ist im schreibgesch\xFCtzten Editor nicht m\xF6glich"],"vs/editor/contrib/multicursor/multicursor":["Cursor oberhalb hinzuf\xFCgen","Cursor oberh&&alb hinzuf\xFCgen","Cursor unterhalb hinzuf\xFCgen","Cursor unterhal&&b hinzuf\xFCgen","Cursor an Zeilenenden hinzuf\xFCgen","C&&ursor an Zeilenenden hinzuf\xFCgen","Cursor am Ende hinzuf\xFCgen","Cursor am Anfang hinzuf\xFCgen","Auswahl zur n\xE4chsten \xDCbereinstimmungssuche hinzuf\xFCgen","&&N\xE4chstes Vorkommen hinzuf\xFCgen","Letzte Auswahl zu vorheriger \xDCbereinstimmungssuche hinzuf\xFCgen","Vo&&rheriges Vorkommen hinzuf\xFCgen","Letzte Auswahl in n\xE4chste \xDCbereinstimmungssuche verschieben","Letzte Auswahl in vorherige \xDCbereinstimmungssuche verschieben","Alle Vorkommen ausw\xE4hlen und \xDCbereinstimmung suchen","Alle V&&orkommen ausw\xE4hlen","Alle Vorkommen \xE4ndern"],"vs/editor/contrib/parameterHints/parameterHints":["Parameterhinweise ausl\xF6sen"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["Symbol f\xFCr die Anzeige des n\xE4chsten Parameterhinweises.","Symbol f\xFCr die Anzeige des vorherigen Parameterhinweises.","{0}, Hinweis"],"vs/editor/contrib/peekView/peekView":["Schlie\xDFen","Hintergrundfarbe des Titelbereichs der Peek-Ansicht.","Farbe des Titels in der Peek-Ansicht.","Farbe der Titelinformationen in der Peek-Ansicht.","Farbe der Peek-Ansichtsr\xE4nder und des Pfeils.","Hintergrundfarbe der Ergebnisliste in der Peek-Ansicht.","Vordergrundfarbe f\xFCr Zeilenknoten in der Ergebnisliste der Peek-Ansicht.","Vordergrundfarbe f\xFCr Dateiknoten in der Ergebnisliste der Peek-Ansicht.","Hintergrundfarbe des ausgew\xE4hlten Eintrags in der Ergebnisliste der Peek-Ansicht.","Vordergrundfarbe des ausgew\xE4hlten Eintrags in der Ergebnisliste der Peek-Ansicht.","Hintergrundfarbe des Peek-Editors.","Hintergrundfarbe der Leiste im Peek-Editor.","Farbe f\xFCr \xDCbereinstimmungsmarkierungen in der Ergebnisliste der Peek-Ansicht.","Farbe f\xFCr \xDCbereinstimmungsmarkierungen im Peek-Editor.","Rahmen f\xFCr \xDCbereinstimmungsmarkierungen im Peek-Editor."],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["\xD6ffnen Sie zuerst einen Text-Editor, um zu einer Zeile zu wechseln.","Wechseln Sie zu Zeile {0} und Spalte {1}.","Zu Zeile {0} wechseln.","Aktuelle Zeile: {0}, Zeichen: {1}. Geben Sie eine Zeilennummer zwischen 1 und {2} ein, zu der Sie navigieren m\xF6chten.","Aktuelle Zeile: {0}, Zeichen: {1}. Geben Sie eine Zeilennummer ein, zu der Sie navigieren m\xF6chten."],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["\xD6ffnen Sie zun\xE4chst einen Text-Editor mit Symbolinformationen, um zu einem Symbol zu navigieren.","Der aktive Text-Editor stellt keine Symbolinformationen bereit.","Keine \xFCbereinstimmenden Editorsymbole.","Keine Editorsymbole.","An der Seite \xF6ffnen","Unten \xF6ffnen","Symbole ({0})","Eigenschaften ({0})","Methoden ({0})","Funktionen ({0})","Konstruktoren ({0})","Variablen ({0})","Klassen ({0})","Strukturen ({0})","Ereignisse ({0})","Operatoren ({0})","Schnittstellen ({0})","Namespaces ({0})","Pakete ({0})","Typparameter ({0})","Module ({0})","Eigenschaften ({0})","Enumerationen ({0})","Enumerationsmember ({0})","Zeichenfolgen ({0})","Dateien ({0})","Arrays ({0})","Zahlen ({0})","Boolesche Werte ({0})","Objekte ({0})","Schl\xFCssel ({0})","Felder ({0})","Konstanten ({0})"],"vs/editor/contrib/rename/rename":["Kein Ergebnis.","Ein unbekannter Fehler ist beim Aufl\xF6sen der Umbenennung eines Ortes aufgetreten.",'"{0}" wird umbenannt.',"{0} wird umbenannt.",'"{0}" erfolgreich in "{1}" umbenannt. Zusammenfassung: {2}',"Die rename-Funktion konnte die \xC4nderungen nicht anwenden.","Die rename-Funktion konnte die \xC4nderungen nicht berechnen.","Symbol umbenennen","M\xF6glichkeit aktivieren/deaktivieren, \xC4nderungen vor dem Umbenennen als Vorschau anzeigen zu lassen"],"vs/editor/contrib/rename/renameInputField":["Benennen Sie die Eingabe um. Geben Sie einen neuen Namen ein, und dr\xFCcken Sie die EINGABETASTE, um den Commit auszuf\xFChren.","{0} zur Umbenennung, {1} zur Vorschau"],"vs/editor/contrib/smartSelect/smartSelect":["Auswahl aufklappen","Auswahl &&erweitern","Markierung verkleinern","Au&&swahl verkleinern"],"vs/editor/contrib/snippet/snippetVariables":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","So","Mo","Di","Mi","Do","Fr","Sa","Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember","Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"vs/editor/contrib/suggest/suggestController":['Das Akzeptieren von "{0}" ergab {1} zus\xE4tzliche Bearbeitungen.',"Vorschlag ausl\xF6sen","Einf\xFCgen","Einf\xFCgen","Ersetzen","Ersetzen","Einf\xFCgen","weniger anzeigen","mehr anzeigen","Gr\xF6\xDFe des Vorschlagswidgets zur\xFCcksetzen"],"vs/editor/contrib/suggest/suggestWidget":["Hintergrundfarbe des Vorschlagswidgets.","Rahmenfarbe des Vorschlagswidgets.","Vordergrundfarbe des Vorschlagswidgets.","Hintergrundfarbe des ausgew\xE4hlten Eintrags im Vorschlagswidget.","Farbe der Trefferhervorhebung im Vorschlagswidget.","Wird geladen...","Keine Vorschl\xE4ge.","{0}, Dokumente: {1}","Vorschlagen"],"vs/editor/contrib/suggest/suggestWidgetDetails":["Schlie\xDFen","Wird geladen..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["Symbol f\xFCr weitere Informationen im Vorschlags-Widget.","Weitere Informationen"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["Die Vordergrundfarbe f\xFCr Arraysymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr boolesche Symbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Klassensymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Farbsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr konstante Symbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Konstruktorsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Enumeratorsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Enumeratormembersymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Ereignissymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Feldsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Dateisymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Ordnersymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Funktionssymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Schnittstellensymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Schl\xFCsselsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Schl\xFCsselwortsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Methodensymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Modulsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Namespacesymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr NULL-Symbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Zahlensymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Objektsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Operatorsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Paketsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Eigenschaftensymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Referenzsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Codeausschnittsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Zeichenfolgensymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Struktursymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Textsymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Typparametersymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr Einheitensymbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt.","Die Vordergrundfarbe f\xFCr variable Symbole. Diese Symbole werden in den Widgets f\xFCr Gliederung, Breadcrumbs und Vorschl\xE4ge angezeigt."],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["TAB-Umschalttaste verschiebt Fokus","Beim Dr\xFCcken auf Tab wird der Fokus jetzt auf das n\xE4chste fokussierbare Element verschoben","Beim Dr\xFCcken von Tab wird jetzt das Tabulator-Zeichen eingef\xFCgt"],"vs/editor/contrib/tokenization/tokenization":["Entwickler: Force Retokenize"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["Ungew\xF6hnliche Zeilentrennzeichen","Ungew\xF6hnliche Zeilentrennzeichen erkannt",`Diese Datei enth\xE4lt mindestens ein ung\xFCltiges Zeilenabschlusszeichen, z.\xA0B. Zeilentrennzeichen (LS) oder Absatztrennzeichen (PS).\r +\r +Es wird empfohlen, diese Zeichen aus der Datei zu entfernen. Die betreffende Einstellung kann \xFCber "editor.unusualLineTerminators" konfiguriert werden.`,"Diese Datei korrigieren","Problem f\xFCr diese Datei ignorieren"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["Hintergrundfarbe eines Symbols beim Lesezugriff, z.B. beim Lesen einer Variablen. Die Farbe darf nicht deckend sein, damit sie nicht die zugrunde liegenden Dekorationen verdeckt.","Hintergrundfarbe eines Symbols bei Schreibzugriff, z.B. beim Schreiben in eine Variable. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Randfarbe eines Symbols beim Lesezugriff, wie etwa beim Lesen einer Variablen.","Randfarbe eines Symbols beim Schreibzugriff, wie etwa beim Schreiben einer Variablen.","\xDCbersichtslinealmarkerfarbd f\xFCr das Hervorheben von Symbolen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","\xDCbersichtslinealmarkerfarbe f\xFCr Symbolhervorhebungen bei Schreibzugriff. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Gehe zur n\xE4chsten Symbolhervorhebungen","Gehe zur vorherigen Symbolhervorhebungen","Symbol-Hervorhebung ein-/ausschalten"],"vs/editor/contrib/wordOperations/wordOperations":["Wort l\xF6schen"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["Au\xDFerkraftsetzungen f\xFCr die Standardsprachkonfiguration","Zu \xFCberschreibende Editor-Einstellungen f\xFCr eine Sprache konfigurieren.","Diese Einstellung unterst\xFCtzt keine sprachspezifische Konfiguration.","Eine leere Eigenschaft kann nicht registriert werden.",'"{0}" kann nicht registriert werden. Stimmt mit dem Eigenschaftsmuster "\\\\[.*\\\\]$" zum Beschreiben sprachspezifischer Editor-Einstellungen \xFCberein. Verwenden Sie den Beitrag "configurationDefaults".','{0}" kann nicht registriert werden. Diese Eigenschaft ist bereits registriert.'],"vs/platform/contextkey/browser/contextKeyService":["Ein Befehl, der Informationen zu Kontextschl\xFCsseln zur\xFCckgibt"],"vs/platform/contextkey/common/contextkeys":["Gibt an, ob Windows als Betriebssystem verwendet wird."],"vs/platform/keybinding/common/abstractKeybindingService":["({0}) wurde gedr\xFCckt. Es wird auf die zweite Taste in der Kombination gewartet...","Die Tastenkombination ({0}, {1}) ist kein Befehl."],"vs/platform/list/browser/listService":["Workbench","Ist unter Windows und Linux der STRG-Taste und unter macOS der Befehlstaste zugeordnet.","Ist unter Windows und Linux der ALT-Taste und unter macOS der Wahltaste zugeordnet.",'Der Modifizierer zum Hinzuf\xFCgen eines Elements in B\xE4umen und Listen zu einer Mehrfachauswahl mit der Maus (zum Beispiel im Explorer, in ge\xF6ffneten Editoren und in der SCM-Ansicht). Die Mausbewegung "Seitlich \xF6ffnen" wird \u2013 sofern unterst\xFCtzt \u2013 so angepasst, dass kein Konflikt mit dem Modifizierer f\xFCr Mehrfachauswahl entsteht.',"Steuert, wie Elemente in Strukturen und Listen mithilfe der Maus ge\xF6ffnet werden (sofern unterst\xFCtzt). Bei \xFCbergeordneten Elementen, deren untergeordnete Elemente sich in Strukturen befinden, steuert diese Einstellung, ob ein Einfachklick oder ein Doppelklick das \xFCbergeordnete Elemente erweitert. Beachten Sie, dass einige Strukturen und Listen diese Einstellung ggf. ignorieren, wenn sie nicht zutrifft.","Steuert, ob Listen und Strukturen ein horizontales Scrollen in der Workbench unterst\xFCtzen. Warnung: Das Aktivieren dieser Einstellung kann sich auf die Leistung auswirken.","Steuert den Struktureinzug in Pixeln.","Steuert, ob die Struktur Einzugsf\xFChrungslinien rendern soll.","Steuert, ob Listen und Strukturen einen optimierten Bildlauf verwenden.","Bei der einfachen Tastaturnavigation werden Elemente in den Fokus genommen, die mit der Tastatureingabe \xFCbereinstimmen. Die \xDCbereinstimmungen gelten nur f\xFCr Pr\xE4fixe.","Hervorheben von Tastaturnavigationshervorgebungselemente, die mit der Tastatureingabe \xFCbereinstimmen. Beim nach oben und nach unten Navigieren werden nur die hervorgehobenen Elemente durchlaufen.","Durch das Filtern der Tastaturnavigation werden alle Elemente herausgefiltert und ausgeblendet, die nicht mit der Tastatureingabe \xFCbereinstimmen.",'Steuert die Tastaturnavigation in Listen und Strukturen in der Workbench. Kann "simple" (einfach), "highlight" (hervorheben) und "filter" (filtern) sein.','Legt fest, ob die Tastaturnavigation in Listen und Strukturen automatisch durch Eingaben ausgel\xF6st wird. Wenn der Wert auf "false" festgelegt ist, wird die Tastaturnavigation nur ausgel\xF6st, wenn der Befehl "list.toggleKeyboardNavigation" ausgef\xFChrt wird. Diesem Befehl k\xF6nnen Sie eine Tastenkombination zuweisen.',"Steuert, wie Strukturordner beim Klicken auf die Ordnernamen erweitert werden. Beachten Sie, dass einige Strukturen und Listen diese Einstellung ggf. ignorieren, wenn sie nicht zutrifft."],"vs/platform/markers/common/markers":["Fehler","Warnung","Info"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","zuletzt verwendet","andere Befehle","Der Befehl {0} hat einen Fehler ausgel\xF6st ({1})."],"vs/platform/quickinput/browser/helpQuickAccess":["Globale Befehle","Editor-Befehle","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["Allgemeine Vordergrundfarbe. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente \xFCberschrieben wird.","Allgemeine Vordergrundfarbe f\xFCr Fehlermeldungen. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente \xFCberschrieben wird.","Die f\xFCr Symbole in der Workbench verwendete Standardfarbe.","Allgemeine Rahmenfarbe f\xFCr fokussierte Elemente. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente \xFCberschrieben wird.","Ein zus\xE4tzlicher Rahmen um Elemente, mit dem diese von anderen getrennt werden, um einen gr\xF6\xDFeren Kontrast zu erreichen.","Ein zus\xE4tzlicher Rahmen um aktive Elemente, mit dem diese von anderen getrennt werden, um einen gr\xF6\xDFeren Kontrast zu erreichen.","Vordergrundfarbe f\xFCr Links im Text.","Hintergrundfarbe f\xFCr Codebl\xF6cke im Text.","Schattenfarbe von Widgets wie zum Beispiel Suchen/Ersetzen innerhalb des Editors.","Hintergrund f\xFCr Eingabefeld.","Vordergrund f\xFCr Eingabefeld.","Rahmen f\xFCr Eingabefeld.","Rahmenfarbe f\xFCr aktivierte Optionen in Eingabefeldern.","Hintergrundfarbe f\xFCr aktivierte Optionen in Eingabefeldern.","Vordergrundfarbe f\xFCr aktivierte Optionen in Eingabefeldern.","Hintergrundfarbe bei der Eingabevalidierung f\xFCr den Schweregrad der Information.","Vordergrundfarbe bei der Eingabevalidierung f\xFCr den Schweregrad der Information.","Rahmenfarbe bei der Eingabevalidierung f\xFCr den Schweregrad der Information.","Hintergrundfarbe bei der Eingabevalidierung f\xFCr den Schweregrad der Warnung.","Vordergrundfarbe bei der Eingabevalidierung f\xFCr den Schweregrad der Warnung.","Rahmenfarbe bei der Eingabevalidierung f\xFCr den Schweregrad der Warnung.","Hintergrundfarbe bei der Eingabevalidierung f\xFCr den Schweregrad des Fehlers.","Vordergrundfarbe bei der Eingabevalidierung f\xFCr den Schweregrad des Fehlers.","Rahmenfarbe bei der Eingabevalidierung f\xFCr den Schweregrad des Fehlers.","Hintergrund f\xFCr Dropdown.","Vordergrund f\xFCr Dropdown.","Vordergrundfarbe der Schaltfl\xE4che.","Hintergrundfarbe der Schaltfl\xE4che.","Hintergrundfarbe der Schaltfl\xE4che, wenn darauf gezeigt wird.","Hintergrundfarbe f\xFCr Badge. Badges sind kurze Info-Texte, z.B. f\xFCr Anzahl Suchergebnisse.","Vordergrundfarbe f\xFCr Badge. Badges sind kurze Info-Texte, z.B. f\xFCr Anzahl Suchergebnisse.","Schatten der Scrollleiste, um anzuzeigen, dass die Ansicht gescrollt wird.","Hintergrundfarbe vom Scrollbar-Schieber","Hintergrundfarbe des Schiebereglers, wenn darauf gezeigt wird.","Hintergrundfarbe des Schiebereglers, wenn darauf geklickt wird.","Hintergrundfarbe des Fortschrittbalkens, der f\xFCr zeitintensive Vorg\xE4nge angezeigt werden kann.","Hintergrundfarbe f\xFCr Fehlertext im Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Vordergrundfarbe von Fehlerunterstreichungen im Editor.","Randfarbe von Fehlerfeldern im Editor.","Hintergrundfarbe f\xFCr Warnungstext im Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Vordergrundfarbe von Warnungsunterstreichungen im Editor.","Randfarbe der Warnfelder im Editor.","Hintergrundfarbe f\xFCr Infotext im Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Vordergrundfarbe von Informationsunterstreichungen im Editor.","Randfarbe der Infofelder im Editor.","Vordergrundfarbe der Hinweisunterstreichungen im Editor.","Randfarbe der Hinweisfelder im Editor.","Hintergrundfarbe des Editors.","Standardvordergrundfarbe des Editors.","Hintergrundfarbe von Editor-Widgets wie zum Beispiel Suchen/Ersetzen.","Vordergrundfarbe f\xFCr Editorwidgets wie Suchen/Ersetzen.","Rahmenfarbe von Editorwigdets. Die Farbe wird nur verwendet, wenn f\xFCr das Widget ein Rahmen verwendet wird und die Farbe nicht von einem Widget \xFCberschrieben wird.","Rahmenfarbe der Gr\xF6\xDFenanpassungsleiste von Editorwigdets. Die Farbe wird nur verwendet, wenn f\xFCr das Widget ein Gr\xF6\xDFenanpassungsrahmen verwendet wird und die Farbe nicht von einem Widget au\xDFer Kraft gesetzt wird.","Schnellauswahl der Hintergrundfarbe. Im Widget f\xFCr die Schnellauswahl sind Auswahlelemente wie die Befehlspalette enthalten.","Vordergrundfarbe der Schnellauswahl. Im Widget f\xFCr die Schnellauswahl sind Auswahlelemente wie die Befehlspalette enthalten.","Hintergrundfarbe f\xFCr den Titel der Schnellauswahl. Im Widget f\xFCr die Schnellauswahl sind Auswahlelemente wie die Befehlspalette enthalten.","Die Hintergrundfarbe der Schnellauswahl f\xFCr das fokussierte Element.","Schnellauswahlfarbe f\xFCr das Gruppieren von Bezeichnungen.","Schnellauswahlfarbe f\xFCr das Gruppieren von Rahmen.","Farbe der Editor-Auswahl.","Farbe des gew\xE4hlten Text f\xFCr einen hohen Kontrast","Die Farbe der Auswahl befindet sich in einem inaktiven Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegende Dekorationen verdeckt.","Farbe f\xFCr Bereiche mit dem gleichen Inhalt wie die Auswahl. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Randfarbe f\xFCr Bereiche, deren Inhalt der Auswahl entspricht.","Farbe des aktuellen Suchergebnisses.","Farbe der anderen Suchergebnisse. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Farbe des Bereichs, der die Suche eingrenzt. Die Farbe darf nicht deckend sein, damit sie nicht die zugrunde liegenden Dekorationen verdeckt.","Randfarbe des aktuellen Suchergebnisses.","Randfarbe der anderen Suchtreffer.","Rahmenfarbe des Bereichs, der die Suche eingrenzt. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Hervorhebung unterhalb des Worts, f\xFCr das ein Hoverelement angezeigt wird. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Hintergrundfarbe des Editor-Mauszeigers.","Vordergrundfarbe des Editor-Mauszeigers","Rahmenfarbe des Editor-Mauszeigers.","Hintergrundfarbe der Hoverstatusleiste des Editors.","Farbe der aktiven Links.","Vordergrundfarbe f\xFCr Inlinehinweise","Hintergrundfarbe f\xFCr Inlinehinweise",'Die f\xFCr das Aktionssymbol "Gl\xFChbirne" verwendete Farbe.','Die f\xFCr das Aktionssymbol "Automatische Gl\xFChbirnenkorrektur" verwendete Farbe.',"Hintergrundfarbe f\xFCr eingef\xFCgten Text. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Hintergrundfarbe f\xFCr Text, der entfernt wurde. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Konturfarbe f\xFCr eingef\xFCgten Text.","Konturfarbe f\xFCr entfernten Text.","Die Rahmenfarbe zwischen zwei Text-Editoren.","Farbe der diagonalen F\xFCllung des Vergleichs-Editors. Die diagonale F\xFCllung wird in Ansichten mit parallelem Vergleich verwendet.","Hintergrundfarbe der Liste/Struktur f\xFCr das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Vordergrundfarbe der Liste/Struktur f\xFCr das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Konturfarbe der Liste/Struktur f\xFCr das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Hintergrundfarbe der Liste/Struktur f\xFCr das ausgew\xE4hlte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Vordergrundfarbe der Liste/Struktur f\xFCr das ausgew\xE4hlte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Hintergrundfarbe der Liste/Struktur f\xFCr das ausgew\xE4hlte Element, wenn die Liste/Struktur inaktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Vordergrundfarbe der Liste/Struktur f\xFCr das ausgew\xE4hlte Element, wenn die Liste/Baumstruktur inaktiv ist. Eine aktive Liste/Baumstruktur hat Tastaturfokus, eine inaktive hingegen nicht.","Hintergrundfarbe der Liste/Struktur f\xFCr das fokussierte Element, wenn die Liste/Struktur inaktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Konturfarbe der Liste/Struktur f\xFCr das fokussierte Element, wenn die Liste/Struktur inaktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Hintergrund der Liste/Struktur, wenn mit der Maus auf Elemente gezeigt wird.","Vordergrund der Liste/Struktur, wenn mit der Maus auf Elemente gezeigt wird.","Drag & Drop-Hintergrund der Liste/Struktur, wenn Elemente mithilfe der Maus verschoben werden.","Vordergrundfarbe der Liste/Struktur zur Trefferhervorhebung beim Suchen innerhalb der Liste/Struktur.","Hintergrundfarbe des Typfilterwidgets in Listen und Strukturen.","Konturfarbe des Typfilterwidgets in Listen und Strukturen.","Konturfarbe des Typfilterwidgets in Listen und Strukturen, wenn es keine \xDCbereinstimmungen gibt.","Strukturstrichfarbe f\xFCr die Einzugsf\xFChrungslinien.","Strukturstrichfarbe f\xFCr die Einzugsf\xFChrungslinien.","Rahmenfarbe von Men\xFCs.","Vordergrundfarbe von Men\xFCelementen.","Hintergrundfarbe von Men\xFCelementen.","Vordergrundfarbe des ausgew\xE4hlten Men\xFCelements im Men\xFC.","Hintergrundfarbe des ausgew\xE4hlten Men\xFCelements im Men\xFC.","Rahmenfarbe des ausgew\xE4hlten Men\xFCelements im Men\xFC.","Farbe eines Trenner-Men\xFCelements in Men\xFCs.","Hervorhebungs-Hintergrundfarbe eines Codeausschnitt-Tabstopps.","Hervorhebungs-Rahmenfarbe eines Codeausschnitt-Tabstopps.","Hervorhebungs-Hintergrundfarbe des letzten Tabstopps eines Codeausschnitts.","Rahmenfarbe zur Hervorhebung des letzten Tabstopps eines Codeausschnitts.","\xDCbersichtslinealmarkerfarbe f\xFCr das Suchen von \xDCbereinstimmungen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","\xDCbersichtslinealmarkerfarbe f\xFCr das Hervorheben der Auswahl. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Minimap-Markerfarbe f\xFCr gefundene \xDCbereinstimmungen.","Minimap-Markerfarbe f\xFCr die Editorauswahl.","Minimapmarkerfarbe f\xFCr Fehler","Minimapmarkerfarbe f\xFCr Warnungen","Hintergrundfarbe der Minimap.","Hintergrundfarbe des Minimap-Schiebereglers.","Hintergrundfarbe des Minimap-Schiebereglers beim Daraufzeigen.","Hintergrundfarbe des Minimap-Schiebereglers, wenn darauf geklickt wird.","Die Farbe, die f\xFCr das Problemfehlersymbol verwendet wird.","Die Farbe, die f\xFCr das Problemwarnsymbol verwendet wird.","Die Farbe, die f\xFCr das Probleminfosymbol verwendet wird."],"vs/platform/theme/common/iconRegistry":["Die ID der zu verwendenden Schriftart. Sofern nicht festgelegt, wird die zuerst definierte Schriftart verwendet.","Das der Symboldefinition zugeordnete Schriftzeichen.","Symbol f\xFCr Aktion zum Schlie\xDFen in Widgets"],"vs/platform/undoRedo/common/undoRedoService":["Die folgenden Dateien wurden geschlossen und auf dem Datentr\xE4ger ge\xE4ndert: {0}.","Die folgenden Dateien wurden auf inkompatible Weise ge\xE4ndert: {0}.",'"{0}" konnte nicht f\xFCr alle Dateien r\xFCckg\xE4ngig gemacht werden. {1}','"{0}" konnte nicht f\xFCr alle Dateien r\xFCckg\xE4ngig gemacht werden. {1}','"{0}" konnte nicht f\xFCr alle Dateien r\xFCckg\xE4ngig gemacht werden, da \xC4nderungen an {1} vorgenommen wurden.','"{0}" konnte nicht f\xFCr alle Dateien r\xFCckg\xE4ngig gemacht werden, weil bereits ein Vorgang zum R\xFCckg\xE4ngigmachen oder Wiederholen f\xFCr "{1}" durchgef\xFChrt wird.','"{0}" konnte nicht f\xFCr alle Dateien r\xFCckg\xE4ngig gemacht werden, weil in der Zwischenzeit bereits ein Vorgang zum R\xFCckg\xE4ngigmachen oder Wiederholen durchgef\xFChrt wurde.','M\xF6chten Sie "{0}" f\xFCr alle Dateien r\xFCckg\xE4ngig machen?',"In {0} Dateien r\xFCckg\xE4ngig machen","Datei r\xFCckg\xE4ngig machen","Abbrechen",'"{0}" konnte nicht r\xFCckg\xE4ngig gemacht werden, weil bereits ein Vorgang zum R\xFCckg\xE4ngigmachen oder Wiederholen durchgef\xFChrt wird.','M\xF6chten Sie "{0}" r\xFCckg\xE4ngig machen?',"R\xFCckg\xE4ngig machen","Abbrechen",'"{0}" konnte nicht in allen Dateien wiederholt werden. {1}','"{0}" konnte nicht in allen Dateien wiederholt werden. {1}','"{0}" konnte nicht in allen Dateien wiederholt werden, da \xC4nderungen an {1} vorgenommen wurden.','"{0}" konnte nicht f\xFCr alle Dateien wiederholt werden, weil bereits ein Vorgang zum R\xFCckg\xE4ngigmachen oder Wiederholen f\xFCr "{1}" durchgef\xFChrt wird.','"{0}" konnte nicht f\xFCr alle Dateien wiederholt werden, weil in der Zwischenzeit bereits ein Vorgang zum R\xFCckg\xE4ngigmachen oder Wiederholen durchgef\xFChrt wurde.','"{0}" konnte nicht wiederholt werden, weil bereits ein Vorgang zum R\xFCckg\xE4ngigmachen oder Wiederholen durchgef\xFChrt wird.']}); diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.es.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.es.js new file mode 100644 index 0000000..d71fd7d --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.es.js @@ -0,0 +1,8 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/define("vs/editor/editor.main.nls.es",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["entrada"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Coincidir may\xFAsculas y min\xFAsculas","Solo palabras completas","Usar expresi\xF3n regular"],"vs/base/browser/ui/findinput/replaceInput":["entrada","Conservar may/min"],"vs/base/browser/ui/iconLabel/iconLabel":["Cargando..."],"vs/base/browser/ui/inputbox/inputBox":["Error: {0}","Advertencia: {0}","Informaci\xF3n: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Sin enlazar"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Borrar","Desactivar filtro en tipo","Activar filtro en el tipo","No se encontraron elementos","{0} de {1} elementos coincidentes"],"vs/base/common/actions":["(vac\xEDo)"],"vs/base/common/errorMessage":["{0}: {1}","Error del sistema ({0})","Se ha producido un error desconocido. Consulte el registro para obtener m\xE1s detalles.","Se ha producido un error desconocido. Consulte el registro para obtener m\xE1s detalles.","{0} ({1} errores en total)","Se ha producido un error desconocido. Consulte el registro para obtener m\xE1s detalles."],"vs/base/common/keybindingLabels":["Ctrl","May\xFAs","Alt","Windows","Ctrl","May\xFAs","Alt","Super","Control","May\xFAs","Alt","Comando","Control","May\xFAs","Alt","Windows","Control","May\xFAs","Alt","Super"],"vs/base/parts/quickinput/browser/quickInput":["Atr\xE1s","{0}/{1}","Escriba para restringir los resultados.","{0} resultados","{0} seleccionados","Aceptar","Personalizado","Atr\xE1s ({0})","Atr\xE1s"],"vs/base/parts/quickinput/browser/quickInputList":["Entrada r\xE1pida"],"vs/editor/browser/controller/coreCommands":["Anclar al final incluso cuando se vayan a l\xEDneas m\xE1s largas","Anclar al final incluso cuando se vayan a l\xEDneas m\xE1s largas"],"vs/editor/browser/controller/textAreaHandler":["editor","El editor no es accesible en este momento. Pulse {0} para ver las opciones."],"vs/editor/browser/core/keybindingCancellation":['Indica si el editor ejecuta una operaci\xF3n que se puede cancelar como, por ejemplo, "Inspeccionar referencias"'],"vs/editor/browser/editorExtensions":["&&Deshacer","Deshacer","&&Rehacer","Rehacer","&&Seleccionar todo","Seleccionar todo"],"vs/editor/browser/widget/codeEditorWidget":["El n\xFAmero de cursores se ha limitado a {0}."],"vs/editor/browser/widget/diffEditorWidget":["Decoraci\xF3n de l\xEDnea para las inserciones en el editor de diferencias.","Decoraci\xF3n de l\xEDnea para las eliminaciones en el editor de diferencias.","Los archivos no se pueden comparar porque uno de ellos es demasiado grande."],"vs/editor/browser/widget/diffReview":['Icono para "Insertar" en la revisi\xF3n de diferencias.','Icono para "Quitar" en la revisi\xF3n de diferencias.','Icono para "Cerrar" en la revisi\xF3n de diferencias.',"Cerrar","no se han cambiado l\xEDneas","1 l\xEDnea cambiada","{0} l\xEDneas cambiadas","Diferencia {0} de {1}: l\xEDnea original {2}, {3}, l\xEDnea modificada {4}, {5}","vac\xEDo","{0} l\xEDnea sin cambios {1}","{0} l\xEDnea original {1} l\xEDnea modificada {2}","+ {0} l\xEDnea modificada {1}","- {0} l\xEDnea original {1}","Ir a la siguiente diferencia","Ir a la diferencia anterior"],"vs/editor/browser/widget/inlineDiffMargin":["Copiar l\xEDneas eliminadas","Copiar l\xEDnea eliminada","Copiar la l\xEDnea eliminada ({0})","Revertir este cambio","Copiar la l\xEDnea eliminada ({0})"],"vs/editor/common/config/commonEditorConfig":["Editor",'El n\xFAmero de espacios a los que equivale una tabulaci\xF3n. Este valor se invalida en funci\xF3n del contenido del archivo cuando "#editor.detectIndentation#" est\xE1 activado.','Insertar espacios al presionar "TAB". Este valor se invalida en funci\xF3n del contenido del archivo cuando "#editor.detectIndentation#" est\xE1 activado. ','Controla si "#editor.tabSize#" y "#editor.insertSpaces#" se detectar\xE1n autom\xE1ticamente al abrir un archivo en funci\xF3n del contenido de este.',"Quitar el espacio en blanco final autoinsertado.","Manejo especial para archivos grandes para desactivar ciertas funciones de memoria intensiva.","Habilita sugerencias basadas en palabras.","Sugerir palabras solo del documento activo.","Sugerir palabras de todos los documentos abiertos del mismo idioma.","Sugerir palabras de todos los documentos abiertos.","Controla de qu\xE9 documentos se calculan las finalizaciones basadas en palabras.","El resaltado sem\xE1ntico est\xE1 habilitado para todos los temas de color.","El resaltado sem\xE1ntico est\xE1 deshabilitado para todos los temas de color.",'El resaltado sem\xE1ntico est\xE1 configurado con el valor "semanticHighlighting" del tema de color actual.',"Controla si se muestra semanticHighlighting para los idiomas que lo admiten.",'Mantiene abiertos los editores interactivos, incluso al hacer doble clic en su contenido o presionar "Escape".',"Las lineas por encima de esta longitud no se tokenizar\xE1n por razones de rendimiento.","Tiempo de espera en milisegundos despu\xE9s del cual se cancela el c\xE1lculo de diferencias. Utilice 0 para no usar tiempo de espera.","Controla si el editor de diferencias muestra las diferencias en paralelo o alineadas.","Cuando est\xE1 habilitado, el editor de diferencias omite los cambios en los espacios en blanco iniciales o finales.","Controla si el editor de diferencias muestra los indicadores +/- para los cambios agregados o quitados.","Controla si el editor muestra CodeLens.","Las l\xEDneas no se ajustar\xE1n nunca.","Las l\xEDneas se ajustar\xE1n en el ancho de la ventanilla.",'Las l\xEDneas se ajustar\xE1n en funci\xF3n de la configuraci\xF3n de "#editor.wordWrap#".'],"vs/editor/common/config/editorOptions":["El editor usar\xE1 API de plataforma para detectar cu\xE1ndo est\xE1 conectado un lector de pantalla.","El editor se optimizar\xE1 de forma permanente para su uso con un lector de pantalla. El ajuste de l\xEDneas se deshabilitar\xE1.","El editor nunca se optimizar\xE1 para su uso con un lector de pantalla.","Controla si el editor se debe ejecutar en un modo optimizado para lectores de pantalla. Si se activa, se deshabilitar\xE1 el ajuste de l\xEDneas.","Controla si se inserta un car\xE1cter de espacio al comentar.","Controla si las l\xEDneas vac\xEDas deben ignorarse con la opci\xF3n de alternar, agregar o quitar acciones para los comentarios de l\xEDnea.","Controla si al copiar sin selecci\xF3n se copia la l\xEDnea actual.","Controla si el cursor debe saltar para buscar coincidencias mientras se escribe.","Controla si la cadena de b\xFAsqueda del widget de b\xFAsqueda se inicializa desde la selecci\xF3n del editor.","No activar nunca Buscar en la selecci\xF3n autom\xE1ticamente (predeterminado)","Activar siempre autom\xE1ticamente Buscar en la selecci\xF3n","Active Buscar en la selecci\xF3n autom\xE1ticamente cuando se seleccionen varias l\xEDneas de contenido.","Controla la condici\xF3n para activar la b\xFAsqueda en la selecci\xF3n de forma autom\xE1tica.","Controla si el widget de b\xFAsqueda debe leer o modificar el Portapapeles de b\xFAsqueda compartido en macOS.","Controla si Encontrar widget debe agregar m\xE1s l\xEDneas en la parte superior del editor. Si es true, puede desplazarse m\xE1s all\xE1 de la primera l\xEDnea cuando Encontrar widget est\xE1 visible.","Controla si la b\xFAsqueda se reinicia autom\xE1ticamente desde el principio (o el final) cuando no se encuentran m\xE1s coincidencias.",'Habilita o deshabilita las ligaduras tipogr\xE1ficas (caracter\xEDsticas de fuente "calt" y "liga"). C\xE1mbielo a una cadena para el control espec\xEDfico de la propiedad de CSS "font-feature-settings".','Propiedad de CSS "font-feature-settings" expl\xEDcita. En su lugar, puede pasarse un valor booleano si solo es necesario activar o desactivar las ligaduras.','Configura las ligaduras tipogr\xE1ficas o las caracter\xEDsticas de fuente. Puede ser un valor booleano para habilitar o deshabilitar las ligaduras o bien una cadena para el valor de la propiedad "font-feature-settings" de CSS.',"Controla el tama\xF1o de fuente en p\xEDxeles.",'Solo se permiten las palabras clave "normal" y "negrita" o los n\xFAmeros entre 1 y 1000.','Controla el grosor de la fuente. Acepta las palabras clave "normal" y "negrita" o los n\xFAmeros entre 1 y 1000.',"Mostrar vista de inspecci\xF3n de los resultados (predeterminado)","Ir al resultado principal y mostrar una vista de inspecci\xF3n","Vaya al resultado principal y habilite la navegaci\xF3n sin peek para otros",'Esta configuraci\xF3n est\xE1 en desuso. Use configuraciones separadas como "editor.editor.gotoLocation.multipleDefinitions" o "editor.editor.gotoLocation.multipleImplementations" en su lugar.','Controla el comportamiento del comando "Ir a definici\xF3n" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando "Ir a definici\xF3n de tipo" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando "Ir a declaraci\xF3n" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando "Ir a implementaciones" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando "Ir a referencias" cuando existen varias ubicaciones de destino.','Identificador de comando alternativo que se ejecuta cuando el resultado de "Ir a definici\xF3n" es la ubicaci\xF3n actual.','Id. de comando alternativo que se est\xE1 ejecutando cuando el resultado de "Ir a definici\xF3n de tipo" es la ubicaci\xF3n actual.','Id. de comando alternativo que se est\xE1 ejecutando cuando el resultado de "Ir a declaraci\xF3n" es la ubicaci\xF3n actual.','Id. de comando alternativo que se est\xE1 ejecutando cuando el resultado de "Ir a implementaci\xF3n" es la ubicaci\xF3n actual.','Identificador de comando alternativo que se ejecuta cuando el resultado de "Ir a referencia" es la ubicaci\xF3n actual.',"Controla si se muestra la informaci\xF3n al mantener el puntero sobre un elemento.","Controla el retardo en milisegundos despu\xE9s del cual se muestra la informaci\xF3n al mantener el puntero sobre un elemento.","Controla si la informaci\xF3n que aparece al mantener el puntero sobre un elemento permanece visible al mover el mouse sobre este.","Habilita la bombilla de acci\xF3n de c\xF3digo en el editor.","Habilita las sugerencias insertadas en el editor.",'Controla el tama\xF1o de fuente de las sugerencias insertadas en el editor. Cuando se establece en "0", se usa el 90\xA0% de "#editor.fontSize#".',"Controla la familia de fuentes de las sugerencias insertadas en el editor.","Controla la altura de l\xEDnea. Usa 0 para utilizar la altura del tama\xF1o de fuente.","Controla si se muestra el minimapa.","El minimapa tiene el mismo tama\xF1o que el contenido del editor (y podr\xEDa desplazarse).","El minimapa se estirar\xE1 o reducir\xE1 seg\xFAn sea necesario para ocupar la altura del editor (sin desplazamiento).","El minimapa se reducir\xE1 seg\xFAn sea necesario para no ser nunca m\xE1s grande que el editor (sin desplazamiento).","Controla el tama\xF1o del minimapa.","Controla en qu\xE9 lado se muestra el minimapa.","Controla cu\xE1ndo se muestra el control deslizante del minimapa.","Escala del contenido dibujado en el minimapa: 1, 2 o 3.","Represente los caracteres reales en una l\xEDnea, por oposici\xF3n a los bloques de color.","Limite el ancho del minimapa para representar como mucho un n\xFAmero de columnas determinado.","Controla la cantidad de espacio entre el borde superior del editor y la primera l\xEDnea.","Controla el espacio entre el borde inferior del editor y la \xFAltima l\xEDnea.","Habilita un elemento emergente que muestra documentaci\xF3n de los par\xE1metros e informaci\xF3n de los tipos mientras escribe.","Controla si el men\xFA de sugerencias de par\xE1metros se cicla o se cierra al llegar al final de la lista.","Habilita sugerencias r\xE1pidas en las cadenas.","Habilita sugerencias r\xE1pidas en los comentarios.","Habilita sugerencias r\xE1pidas fuera de las cadenas y los comentarios.","Controla si deben mostrarse sugerencias autom\xE1ticamente mientras se escribe.","Los n\xFAmeros de l\xEDnea no se muestran.","Los n\xFAmeros de l\xEDnea se muestran como un n\xFAmero absoluto.","Los n\xFAmeros de l\xEDnea se muestran como distancia en l\xEDneas a la posici\xF3n del cursor.","Los n\xFAmeros de l\xEDnea se muestran cada 10 l\xEDneas.","Controla la visualizaci\xF3n de los n\xFAmeros de l\xEDnea.","N\xFAmero de caracteres monoespaciales en los que se representar\xE1 esta regla del editor.","Color de esta regla del editor.","Muestra reglas verticales despu\xE9s de un cierto n\xFAmero de caracteres monoespaciados. Usa m\xFAltiples valores para mostrar m\xFAltiples reglas. Si la matriz est\xE1 vac\xEDa, no se muestran reglas.","Inserte la sugerencia sin sobrescribir el texto a la derecha del cursor.","Inserte la sugerencia y sobrescriba el texto a la derecha del cursor.","Controla si las palabras se sobrescriben al aceptar la finalizaci\xF3n. Tenga en cuenta que esto depende de las extensiones que participan en esta caracter\xEDstica.","Controla si el filtrado y la ordenaci\xF3n de sugerencias se tienen en cuenta para los errores ortogr\xE1ficos peque\xF1os.","Controla si la ordenaci\xF3n de palabras mejora lo que aparece cerca del cursor.",'Controla si las selecciones de sugerencias recordadas se comparten entre m\xFAltiples \xE1reas de trabajo y ventanas (necesita "#editor.suggestSelection#").',"Controla si un fragmento de c\xF3digo activo impide sugerencias r\xE1pidas.","Controla si mostrar u ocultar iconos en sugerencias.","Controla la visibilidad de la barra de estado en la parte inferior del widget de sugerencias.","Controla si los detalles de sugerencia se muestran incorporados con la etiqueta o solo en el widget de detalles.","La configuraci\xF3n est\xE1 en desuso. Ahora puede cambiarse el tama\xF1o del widget de sugerencias.",'Esta configuraci\xF3n est\xE1 en desuso. Use configuraciones separadas como "editor.suggest.showKeyword" o "editor.suggest.showSnippets" en su lugar.','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "method".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de "funci\xF3n".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "constructor".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "field".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "variable".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "class".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "struct".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "interface".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "module".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "property".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "event".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "operator".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "unit".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de "value".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "constant".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "enum".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "enumMember".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "keyword".','Si est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "text".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de "color".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "file".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "reference".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "customcolor".','Si est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "folder".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "typeParameter".','Cuando est\xE1 habilitado, IntelliSense muestra sugerencias de tipo "snippet".',"Cuando est\xE1 habilitado, IntelliSense muestra sugerencias del usuario.","Cuando est\xE1 habilitado IntelliSense muestra sugerencias para problemas.","Indica si los espacios en blanco iniciales y finales deben seleccionarse siempre.",'Controla si se deben aceptar sugerencias en los caracteres de confirmaci\xF3n. Por ejemplo, en Javascript, el punto y coma (";") puede ser un car\xE1cter de confirmaci\xF3n que acepta una sugerencia y escribe ese car\xE1cter.','Aceptar solo una sugerencia con "Entrar" cuando realiza un cambio textual.','Controla si las sugerencias deben aceptarse con "Entrar", adem\xE1s de "TAB". Ayuda a evitar la ambig\xFCedad entre insertar nuevas l\xEDneas o aceptar sugerencias.',"Controla el n\xFAmero de l\xEDneas en el editor que puede leer un lector de pantalla. Advertencia: Esto puede afectar al rendimiento de n\xFAmeros superiores al predeterminado.","Contenido del editor","Utilizar las configuraciones del lenguaje para determinar cu\xE1ndo cerrar los corchetes autom\xE1ticamente.","Cerrar autom\xE1ticamente los corchetes cuando el cursor est\xE9 a la izquierda de un espacio en blanco.","Controla si el editor debe cerrar autom\xE1ticamente los corchetes despu\xE9s de que el usuario agregue un corchete de apertura.","Escriba en las comillas o los corchetes solo si se insertaron autom\xE1ticamente.","Controla si el editor debe escribir entre comillas o corchetes.","Utilizar las configuraciones del lenguaje para determinar cu\xE1ndo cerrar las comillas autom\xE1ticamente. ","Cerrar autom\xE1ticamente las comillas cuando el cursor est\xE9 a la izquierda de un espacio en blanco. ","Controla si el editor debe cerrar autom\xE1ticamente las comillas despu\xE9s de que el usuario agrega uma comilla de apertura.","El editor no insertar\xE1 la sangr\xEDa autom\xE1ticamente.","El editor mantendr\xE1 la sangr\xEDa de la l\xEDnea actual.","El editor respetar\xE1 la sangr\xEDa de la l\xEDnea actual y los corchetes definidos por el idioma.","El editor mantendr\xE1 la sangr\xEDa de la l\xEDnea actual, respetar\xE1 los corchetes definidos por el idioma e invocar\xE1 onEnterRules especiales definidos por idiomas.","El editor respetar\xE1 la sangr\xEDa de la l\xEDnea actual, los corchetes definidos por idiomas y las reglas indentationRules definidas por idiomas, adem\xE1s de invocar reglas onEnterRules especiales.","Controla si el editor debe ajustar autom\xE1ticamente la sangr\xEDa mientras los usuarios escriben, pegan, mueven o sangran l\xEDneas.","Use las configuraciones de idioma para determinar cu\xE1ndo delimitar las selecciones autom\xE1ticamente.","Envolver con comillas, pero no con corchetes.","Envolver con corchetes, pero no con comillas.","Controla si el editor debe rodear autom\xE1ticamente las selecciones al escribir comillas o corchetes.","Emule el comportamiento de selecci\xF3n de los caracteres de tabulaci\xF3n al usar espacios para la sangr\xEDa. La selecci\xF3n se aplicar\xE1 a las tabulaciones.","Controla si el editor muestra CodeLens.","Controla la familia de fuentes para CodeLens.",'Controla el tama\xF1o de fuente de CodeLens en p\xEDxeles. Cuando se establece en "0", se usa el 90\xA0% de "#editor.fontSize#".',"Controla si el editor debe representar el Selector de colores y los elementos Decorator de color en l\xEDnea.","Habilite que la selecci\xF3n con el mouse y las teclas est\xE9 realizando la selecci\xF3n de columnas.","Controla si el resaltado de sintaxis debe ser copiado al portapapeles.","Controla el estilo de animaci\xF3n del cursor.","Controla si la animaci\xF3n suave del cursor debe estar habilitada.","Controla el estilo del cursor.",'Controla el n\xFAmero m\xEDnimo de l\xEDneas iniciales y finales visibles que rodean al cursor. En algunos otros editores, se conoce como "scrollOff" o "scrollOffset".','Solo se aplica "cursorSurroundingLines" cuando se desencadena mediante el teclado o la API.','"cursorSurroundingLines" se aplica siempre.','Controla cuando se debe aplicar "cursorSurroundingLines".','Controla el ancho del cursor cuando "#editor.cursorStyle#" se establece en "line".',"Controla si el editor debe permitir mover las selecciones mediante arrastrar y colocar.",'Multiplicador de la velocidad de desplazamiento al presionar "Alt".',"Controla si el editor tiene el plegado de c\xF3digo habilitado.","Utilice una estrategia de plegado espec\xEDfica del idioma, si est\xE1 disponible, de lo contrario la basada en sangr\xEDa.","Utilice la estrategia de plegado basada en sangr\xEDa.","Controla la estrategia para calcular rangos de plegado.","Controla si el editor debe destacar los rangos plegados.","Controla si al hacer clic en el contenido vac\xEDo despu\xE9s de una l\xEDnea plegada se desplegar\xE1 la l\xEDnea.","Controla la familia de fuentes.","Controla si el editor debe dar formato autom\xE1ticamente al contenido pegado. Debe haber disponible un formateador capaz de aplicar formato a un rango dentro de un documento. ","Controla si el editor debe dar formato a la l\xEDnea autom\xE1ticamente despu\xE9s de escribirla.","Controla si el editor debe representar el margen de glifo vertical. El margen de glifo se usa, principalmente, para depuraci\xF3n.","Controla si el cursor debe ocultarse en la regla de informaci\xF3n general.","Controla si el editor debe resaltar la gu\xEDa de sangr\xEDa activa.","Controla el espacio entre letras en p\xEDxeles.","Controla si el editor tiene habilitada la edici\xF3n vinculada. Dependiendo del lenguaje, los s\xEDmbolos relacionados (por ejemplo, las etiquetas HTML) se actualizan durante la edici\xF3n.","Controla si el editor debe detectar v\xEDnculos y hacerlos interactivos.","Resaltar par\xE9ntesis coincidentes.",'Se usar\xE1 un multiplicador en los eventos de desplazamiento de la rueda del mouse "deltaX" y "deltaY". ','Ampliar la fuente del editor cuando se use la rueda del mouse mientras se presiona "Ctrl".',"Combinar varios cursores cuando se solapan.",'Se asigna a "Control" en Windows y Linux y a "Comando" en macOS.','Se asigna a "Alt" en Windows y Linux y a "Opci\xF3n" en macOS.',"El modificador que se usar\xE1 para agregar varios cursores con el mouse. Los gestos del mouse Ir a definici\xF3n y Abrir v\xEDnculo se adaptar\xE1n de modo que no entren en conflicto con el modificador multicursor. [M\xE1s informaci\xF3n](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Cada cursor pega una \xFAnica l\xEDnea del texto.","Cada cursor pega el texto completo.","Controla el pegado cuando el recuento de l\xEDneas del texto pegado coincide con el recuento de cursores.","Controla si el editor debe resaltar las apariciones de s\xEDmbolos sem\xE1nticos.","Controla si debe dibujarse un borde alrededor de la regla de informaci\xF3n general.","Enfocar el \xE1rbol al abrir la inspecci\xF3n","Enfocar el editor al abrir la inspecci\xF3n","Controla si se debe enfocar el editor en l\xEDnea o el \xE1rbol en el widget de vista.","Controla si el gesto del mouse Ir a definici\xF3n siempre abre el widget interactivo.","Controla el retraso, en milisegundos, tras el cual aparecer\xE1n sugerencias r\xE1pidas.","Controla si el editor cambia el nombre autom\xE1ticamente en el tipo.",'En desuso. Utilice "editor.linkedEditing" en su lugar.',"Controla si el editor debe representar caracteres de control.","Controla si el editor debe representar gu\xEDas de sangr\xEDa.","Representar el n\xFAmero de la \xFAltima l\xEDnea cuando el archivo termina con un salto de l\xEDnea.","Resalta el medianil y la l\xEDnea actual.","Controla c\xF3mo debe representar el editor el resaltado de l\xEDnea actual.","Controla si el editor debe representar el resaltado de la l\xEDnea actual solo cuando el editor est\xE1 enfocado","Representa caracteres de espacio en blanco, excepto los espacios individuales entre palabras.","Represente los caracteres de espacio en blanco solo en el texto seleccionado.","Representar solo los caracteres de espacio en blanco al final","Controla la forma en que el editor debe representar los caracteres de espacio en blanco.","Controla si las selecciones deber\xEDan tener las esquinas redondeadas.","Controla el n\xFAmero de caracteres adicionales a partir del cual el editor se desplazar\xE1 horizontalmente.","Controla si el editor seguir\xE1 haciendo scroll despu\xE9s de la \xFAltima l\xEDnea.","Despl\xE1cese solo a lo largo del eje predominante cuando se desplace vertical y horizontalmente al mismo tiempo. Evita la deriva horizontal cuando se desplaza verticalmente en un trackpad.","Controla si el portapapeles principal de Linux debe admitirse.","Controla si el editor debe destacar las coincidencias similares a la selecci\xF3n.","Mostrar siempre los controles de plegado.","Mostrar solo los controles de plegado cuando el mouse est\xE1 sobre el medianil.","Controla cu\xE1ndo se muestran los controles de plegado en el medianil.","Controla el fundido de salida del c\xF3digo no usado.","Controla las variables en desuso tachadas.","Mostrar sugerencias de fragmentos de c\xF3digo por encima de otras sugerencias.","Mostrar sugerencias de fragmentos de c\xF3digo por debajo de otras sugerencias.","Mostrar sugerencias de fragmentos de c\xF3digo con otras sugerencias.","No mostrar sugerencias de fragmentos de c\xF3digo.","Controla si se muestran los fragmentos de c\xF3digo con otras sugerencias y c\xF3mo se ordenan.","Controla si el editor se desplazar\xE1 con una animaci\xF3n.","Tama\xF1o de la fuente para el widget de sugerencias. Cuando se establece a `0`, se utilizar\xE1 el valor `#editor.fontSize#`.",'Altura de la l\xEDnea del widget de sugerencias. Cuando se establece en "0", se usa el valor "#editor.lineHeight#". El valor m\xEDnimo es 8.',"Controla si deben aparecer sugerencias de forma autom\xE1tica al escribir caracteres desencadenadores.","Seleccionar siempre la primera sugerencia.",'Seleccione sugerencias recientes a menos que al escribir m\xE1s se seleccione una, por ejemplo, "console.| -> console.log" porque "log" se ha completado recientemente.','Seleccione sugerencias basadas en prefijos anteriores que han completado esas sugerencias, por ejemplo, "co -> console" y "con -> const".',"Controla c\xF3mo se preseleccionan las sugerencias cuando se muestra la lista,","La pesta\xF1a se completar\xE1 insertando la mejor sugerencia de coincidencia encontrada al presionar la pesta\xF1a","Deshabilitar los complementos para pesta\xF1as.","La pesta\xF1a se completa con fragmentos de c\xF3digo cuando su prefijo coincide. Funciona mejor cuando las 'quickSuggestions' no est\xE1n habilitadas.","Habilita completar pesta\xF1as.","Los terminadores de l\xEDnea no habituales se quitan autom\xE1ticamente.","Los terminadores de l\xEDnea no habituales se omiten.","Advertencia de terminadores de l\xEDnea inusuales que se quitar\xE1n.","Quite los terminadores de l\xEDnea inusuales que podr\xEDan provocar problemas.","La inserci\xF3n y eliminaci\xF3n del espacio en blanco sigue a las tabulaciones.","Caracteres que se usar\xE1n como separadores de palabras al realizar operaciones o navegaciones relacionadas con palabras.","Las l\xEDneas no se ajustar\xE1n nunca.","Las l\xEDneas se ajustar\xE1n en el ancho de la ventanilla.",'Las l\xEDneas se ajustar\xE1n al valor de "#editor.wordWrapColumn#". ','Las l\xEDneas se ajustar\xE1n al valor que sea inferior: el tama\xF1o de la ventanilla o el valor de "#editor.wordWrapColumn#".',"Controla c\xF3mo deben ajustarse las l\xEDneas.",'Controla la columna de ajuste del editor cuando "#editor.wordWrap#" es "wordWrapColumn" o "bounded".',"No hay sangr\xEDa. Las l\xEDneas ajustadas comienzan en la columna 1.","A las l\xEDneas ajustadas se les aplica la misma sangr\xEDa que al elemento primario.","A las l\xEDneas ajustadas se les aplica una sangr\xEDa de +1 respecto al elemento primario.","A las l\xEDneas ajustadas se les aplica una sangr\xEDa de +2 respecto al elemento primario.","Controla la sangr\xEDa de las l\xEDneas ajustadas.","Se supone que todos los caracteres son del mismo ancho. Este es un algoritmo r\xE1pido que funciona correctamente para fuentes monoespaciales y ciertos scripts (como caracteres latinos) donde los glifos tienen el mismo ancho.","Delega el c\xE1lculo de puntos de ajuste en el explorador. Es un algoritmo lento, que podr\xEDa causar bloqueos para archivos grandes, pero funciona correctamente en todos los casos.","Controla el algoritmo que calcula los puntos de ajuste."],"vs/editor/common/editorContextKeys":["Si el texto del editor tiene el foco (el cursor parpadea)","Si el editor o un widget del editor tiene el foco (por ejemplo, el foco est\xE1 en el widget de b\xFAsqueda)","Si un editor o una entrada de texto enriquecido tienen el foco (el cursor parpadea)","Si el editor es de solo lectura","Si el contexto es un editor de diferencias",'Si "editor.columnSelection" se ha habilitado',"Si el editor tiene texto seleccionado","Si el editor tiene varias selecciones",'Si "Tabulaci\xF3n" mover\xE1 el foco fuera del editor',"Si el mantenimiento del puntero del editor es visible","Si el editor forma parte de otro m\xE1s grande (por ejemplo, blocs de notas)","Identificador de idioma del editor","Si el editor tiene un proveedor de elementos de finalizaci\xF3n","Si el editor tiene un proveedor de acciones de c\xF3digo","Si el editor tiene un proveedor de CodeLens","Si el editor tiene un proveedor de definiciones","Si el editor tiene un proveedor de declaraciones","Si el editor tiene un proveedor de implementaci\xF3n","Si el editor tiene un proveedor de definiciones de tipo","Si el editor tiene un proveedor de contenido con mantenimiento del puntero","Si el editor tiene un proveedor de resaltado de documentos","Si el editor tiene un proveedor de s\xEDmbolos de documentos","Si el editor tiene un proveedor de referencia","Si el editor tiene un proveedor de cambio de nombre","Si el editor tiene un proveedor de ayuda de signatura","Si el editor tiene un proveedor de sugerencias insertadas","Si el editor tiene un proveedor de formatos de documento","Si el editor tiene un proveedor de formatos de selecci\xF3n de documentos","Si el editor tiene varios proveedores de formatos del documento","Si el editor tiene varios proveedores de formato de la selecci\xF3n de documentos"],"vs/editor/common/model/editStack":["Escribiendo"],"vs/editor/common/modes/modesRegistry":["Texto sin formato"],"vs/editor/common/standaloneStrings":["Sin selecci\xF3n","L\xEDnea {0}, columna {1} ({2} seleccionadas)","L\xEDnea {0}, columna {1}","{0} selecciones ({1} caracteres seleccionados)","{0} selecciones",'Se cambiar\xE1 ahora el valor "accessibilitySupport" a "activado".',"Se abrir\xE1 ahora la p\xE1gina de documentaci\xF3n de accesibilidad del editor.","en un panel de solo lectura de un editor de diferencias.","en un panel de un editor de diferencias.","en un editor de c\xF3digo de solo lectura"," en un editor de c\xF3digo","Para configurar el editor de forma que se optimice su uso con un lector de pantalla, presione ahora Comando+E.","Para configurar el editor de forma que se optimice su uso con un lector de pantalla, presione ahora Control+E.","El editor est\xE1 configurado para optimizarse para su uso con un lector de pantalla.","El editor est\xE1 configurado para que no se optimice nunca su uso con un lector de pantalla, que en este momento no es el caso.","Al presionar TAB en el editor actual, el foco se mueve al siguiente elemento activable. Presione {0} para activar o desactivar este comportamiento.","Al presionar TAB en el editor actual, el foco se mueve al siguiente elemento activable. El comando {0} no se puede desencadenar actualmente mediante un enlace de teclado.","Al presionar TAB en el editor actual, se insertar\xE1 el car\xE1cter de tabulaci\xF3n. Presione {0} para activar o desactivar este comportamiento.","Al presionar TAB en el editor actual, se insertar\xE1 el car\xE1cter de tabulaci\xF3n. El comando {0} no se puede desencadenar actualmente mediante un enlace de teclado.","Presione ahora Comando+H para abrir una ventana del explorador con m\xE1s informaci\xF3n relacionada con la accesibilidad del editor.","Presione ahora Control+H para abrir una ventana del explorador con m\xE1s informaci\xF3n relacionada con la accesibilidad del editor.","Para descartar esta informaci\xF3n sobre herramientas y volver al editor, presione Esc o May\xFAs+Escape.","Mostrar ayuda de accesibilidad","Desarrollador: inspeccionar tokens","Vaya a L\xEDnea/Columna...","Mostrar todos los proveedores de acceso r\xE1pido","Paleta de comandos","Mostrar y ejecutar comandos","Ir a s\xEDmbolo...","Ir a s\xEDmbolo por categor\xEDa...","Contenido del editor","Presione Alt+F1 para ver las opciones de accesibilidad.","Alternar tema de contraste alto","{0} ediciones realizadas en {1} archivos"],"vs/editor/common/view/editorColorRegistry":["Color de fondo para la l\xEDnea resaltada en la posici\xF3n del cursor.","Color de fondo del borde alrededor de la l\xEDnea en la posici\xF3n del cursor.","Color de fondo de rangos resaltados, como en abrir r\xE1pido y encontrar caracter\xEDsticas. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de fondo del borde alrededor de los intervalos resaltados.","Color de fondo del s\xEDmbolo destacado, como Ir a definici\xF3n o Ir al siguiente/anterior s\xEDmbolo. El color no debe ser opaco para no ocultar la decoraci\xF3n subyacente.","Color de fondo del borde alrededor de los s\xEDmbolos resaltados.","Color del cursor del editor.","Color de fondo del cursor de edici\xF3n. Permite personalizar el color del caracter solapado por el bloque del cursor.","Color de los caracteres de espacio en blanco del editor.","Color de las gu\xEDas de sangr\xEDa del editor.","Color de las gu\xEDas de sangr\xEDa activas del editor.","Color de n\xFAmeros de l\xEDnea del editor.","Color del n\xFAmero de l\xEDnea activa en el editor","ID es obsoleto. Usar en lugar 'editorLineNumber.activeForeground'. ","Color del n\xFAmero de l\xEDnea activa en el editor","Color de las reglas del editor","Color principal de lentes de c\xF3digo en el editor","Color de fondo tras corchetes coincidentes","Color de bloques con corchetes coincidentes","Color del borde de la regla de visi\xF3n general.","Color de fondo de la regla de informaci\xF3n general del editor. Solo se usa cuando el minimapa est\xE1 habilitado y est\xE1 ubicado en el lado derecho del editor.","Color de fondo del margen del editor. Este espacio contiene los m\xE1rgenes de glifos y los n\xFAmeros de l\xEDnea.","Color del borde de c\xF3digo fuente innecesario (sin usar) en el editor.",`Opacidad de c\xF3digo fuente innecesario (sin usar) en el editor. Por ejemplo, "#000000c0" representar\xE1 el c\xF3digo con un 75 % de opacidad. Para temas de alto contraste, utilice el color del tema 'editorUnnecessaryCode.border' para resaltar el c\xF3digo innecesario en vez de atenuarlo.`,"Color de marcador de regla general para los destacados de rango. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de marcador de regla de informaci\xF3n general para errores. ","Color de marcador de regla de informaci\xF3n general para advertencias.","Color de marcador de regla de informaci\xF3n general para mensajes informativos. "],"vs/editor/contrib/anchorSelect/anchorSelect":["Delimitador de la selecci\xF3n","Delimitador establecido en {0}:{1}","Establecer el delimitador de la selecci\xF3n","Ir al delimitador de la selecci\xF3n","Seleccionar desde el delimitador hasta el cursor","Cancelar el delimitador de la selecci\xF3n"],"vs/editor/contrib/bracketMatching/bracketMatching":["Resumen color de marcador de regla para corchetes.","Ir al corchete","Seleccionar para corchete","Ir al &&corchete"],"vs/editor/contrib/caretOperations/caretOperations":["Mover el texto seleccionado a la izquierda","Mover el texto seleccionado a la derecha"],"vs/editor/contrib/caretOperations/transpose":["Transponer letras"],"vs/editor/contrib/clipboard/clipboard":["Cor&&tar","Cortar","Cortar","&&Copiar","Copiar","Copiar","&&Pegar","Pegar","Pegar","Copiar con resaltado de sintaxis"],"vs/editor/contrib/codeAction/codeActionCommands":["Tipo de la acci\xF3n de c\xF3digo que se va a ejecutar.","Controla cu\xE1ndo se aplican las acciones devueltas.","Aplicar siempre la primera acci\xF3n de c\xF3digo devuelto.","Aplicar la primera acci\xF3n de c\xF3digo devuelta si solo hay una.","No aplique las acciones de c\xF3digo devuelto.","Controla si solo se deben devolver las acciones de c\xF3digo preferidas.","Se ha producido un error desconocido al aplicar la acci\xF3n de c\xF3digo","Correcci\xF3n R\xE1pida","No hay acciones de c\xF3digo disponibles",'No hay acciones de c\xF3digo preferidas para "{0}" disponibles','No hay ninguna acci\xF3n de c\xF3digo para "{0}" disponible.',"No hay acciones de c\xF3digo preferidas disponibles","No hay acciones de c\xF3digo disponibles","Refactorizar...",'No hay refactorizaciones preferidas de "{0}" disponibles','No hay refactorizaciones de "{0}" disponibles',"No hay ninguna refactorizaci\xF3n favorita disponible.","No hay refactorizaciones disponibles","Acci\xF3n de Origen...",'No hay acciones de origen preferidas para "{0}" disponibles','No hay ninguna acci\xF3n de origen para "{0}" disponible.',"No hay ninguna acci\xF3n de origen favorita disponible.","No hay acciones de origen disponibles","Organizar Importaciones","No hay acciones de importaci\xF3n disponibles","Corregir todo","No est\xE1 disponible la acci\xF3n de corregir todo","Corregir autom\xE1ticamente...","No hay autocorrecciones disponibles"],"vs/editor/contrib/codeAction/lightBulbWidget":["Mostrar correcciones. Soluci\xF3n preferida disponible ({0})","Mostrar correcciones ({0})","Mostrar correcciones"],"vs/editor/contrib/codelens/codelensController":["Mostrar comandos de lente de c\xF3digo para la l\xEDnea actual"],"vs/editor/contrib/comment/comment":["Alternar comentario de l\xEDnea","&&Alternar comentario de l\xEDnea","Agregar comentario de l\xEDnea","Quitar comentario de l\xEDnea","Alternar comentario de bloque","Alternar &&bloque de comentario"],"vs/editor/contrib/contextmenu/contextmenu":["Mostrar men\xFA contextual del editor"],"vs/editor/contrib/cursorUndo/cursorUndo":["Cursor Deshacer","Cursor Rehacer"],"vs/editor/contrib/find/findController":["Buscar","&&Buscar","Buscar con selecci\xF3n","Buscar siguiente","Buscar siguiente","Buscar anterior","Buscar anterior","Buscar selecci\xF3n siguiente","Buscar selecci\xF3n anterior","Reemplazar","&&Reemplazar"],"vs/editor/contrib/find/findWidget":['Icono para "Buscar en selecci\xF3n" en el widget de b\xFAsqueda del editor.',"Icono para indicar que el widget de b\xFAsqueda del editor est\xE1 contra\xEDdo.","Icono para indicar que el widget de b\xFAsqueda del editor est\xE1 expandido.",'Icono para "Reemplazar" en el widget de b\xFAsqueda del editor.','Icono para "Reemplazar todo" en el widget de b\xFAsqueda del editor.','Icono para "Buscar anterior" en el widget de b\xFAsqueda del editor.','Icono para "Buscar siguiente" en el widget de b\xFAsqueda del editor.',"Buscar","Buscar","Coincidencia anterior","Pr\xF3xima coincidencia","Buscar en selecci\xF3n","Cerrar","Reemplazar","Reemplazar","Reemplazar","Reemplazar todo","Alternar modo de reemplazar","S\xF3lo los primeros {0} resultados son resaltados, pero todas las operaciones de b\xFAsqueda trabajan en todo el texto.","{0} de {1}","No hay resultados","Encontrados: {0}",'{0} encontrado para "{1}"','{0} encontrado para "{1}", en {2}','{0} encontrado para "{1}"',"Ctrl+Entrar ahora inserta un salto de l\xEDnea en lugar de reemplazar todo. Puede modificar el enlace de claves para editor.action.replaceAll para invalidar este comportamiento."],"vs/editor/contrib/folding/folding":["Desplegar","Desplegar de forma recursiva","Plegar","Alternar plegado","Plegar de forma recursiva","Cerrar todos los comentarios de bloque","Plegar todas las regiones","Desplegar Todas las Regiones","Plegar todo","Desplegar todo","Nivel de plegamiento {0}","Color de fondo detr\xE1s de los rangos plegados. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color del control plegable en el medianil del editor."],"vs/editor/contrib/folding/foldingDecorations":["Icono de rangos expandidos en el margen de glifo del editor.","Icono de rangos contra\xEDdos en el margen de glifo del editor."],"vs/editor/contrib/fontZoom/fontZoom":["Acercarse a la tipograf\xEDa del editor","Alejarse de la tipograf\xEDa del editor","Restablecer alejamiento de la tipograf\xEDa del editor"],"vs/editor/contrib/format/format":["1 edici\xF3n de formato en la l\xEDnea {0}","{0} ediciones de formato en la l\xEDnea {1}","1 edici\xF3n de formato entre las l\xEDneas {0} y {1}","{0} ediciones de formato entre las l\xEDneas {1} y {2}"],"vs/editor/contrib/format/formatActions":["Dar formato al documento","Dar formato a la selecci\xF3n"],"vs/editor/contrib/gotoError/gotoError":["Ir al siguiente problema (Error, Advertencia, Informaci\xF3n)","Icono para ir al marcador siguiente.","Ir al problema anterior (Error, Advertencia, Informaci\xF3n)","Icono para ir al marcador anterior.","Ir al siguiente problema en Archivos (Error, Advertencia, Informaci\xF3n)","Siguiente &&problema","Ir al problema anterior en Archivos (Error, Advertencia, Informaci\xF3n)","Anterior &&problema"],"vs/editor/contrib/gotoError/gotoErrorWidget":["Error","Advertencia","Informaci\xF3n","Sugerencia","{0} en {1}. ","{0} de {1} problemas","{0} de {1} problema","Color de los errores del widget de navegaci\xF3n de marcadores del editor.","Color de las advertencias del widget de navegaci\xF3n de marcadores del editor.","Color del widget informativo marcador de navegaci\xF3n en el editor.","Fondo del widget de navegaci\xF3n de marcadores del editor."],"vs/editor/contrib/gotoSymbol/goToCommands":["Ver","Definiciones",'No se encontr\xF3 ninguna definici\xF3n para "{0}"',"No se encontr\xF3 ninguna definici\xF3n","Ir a definici\xF3n","Ir a &&definici\xF3n","Abrir definici\xF3n en el lateral","Ver la definici\xF3n sin salir","Declaraciones","No se encontr\xF3 ninguna definici\xF3n para '{0}'","No se encontr\xF3 ninguna declaraci\xF3n","Ir a Definici\xF3n","Ir a &&Declaraci\xF3n","No se encontr\xF3 ninguna definici\xF3n para '{0}'","No se encontr\xF3 ninguna declaraci\xF3n","Inspeccionar Definici\xF3n","Definiciones de tipo",'No se encontr\xF3 ninguna definici\xF3n de tipo para "{0}"',"No se encontr\xF3 ninguna definici\xF3n de tipo","Ir a la definici\xF3n de tipo","Ir a la definici\xF3n de &&tipo","Inspeccionar definici\xF3n de tipo","Implementaciones",'No se encontr\xF3 ninguna implementaci\xF3n para "{0}"',"No se encontr\xF3 ninguna implementaci\xF3n","Ir a Implementaciones","Ir a &&Implementaciones","Inspeccionar implementaciones",'No se ha encontrado ninguna referencia para "{0}".',"No se encontraron referencias","Ir a Referencias","Ir a &&Referencias","Referencias","Inspeccionar Referencias","Referencias","Ir a cualquier s\xEDmbolo","Ubicaciones",'No hay resultados para "{0}"',"Referencias"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Haga clic para mostrar {0} definiciones."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Cargando...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["{0} referencias","{0} referencia","Referencias"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["vista previa no disponible","No hay resultados","Referencias"],"vs/editor/contrib/gotoSymbol/referencesModel":["s\xEDmbolo en {0} linea {1} en la columna {2}","s\xEDmbolo en {0} l\xEDnea {1} en la columna {2}, {3}","1 s\xEDmbolo en {0}, ruta de acceso completa {1}","{0} s\xEDmbolos en {1}, ruta de acceso completa {2}","No se encontraron resultados","Encontr\xF3 1 s\xEDmbolo en {0}","Encontr\xF3 {0} s\xEDmbolos en {1}","Encontr\xF3 {0} s\xEDmbolos en {1} archivos"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["S\xEDmbolo {0} de {1}, {2} para el siguiente","S\xEDmbolo {0} de {1}"],"vs/editor/contrib/hover/hover":["Mostrar al mantener el puntero","Mostrar vista previa de la definici\xF3n que aparece al mover el puntero"],"vs/editor/contrib/hover/markdownHoverParticipant":["Cargando..."],"vs/editor/contrib/hover/markerHoverParticipant":["Ver el problema","No hay correcciones r\xE1pidas disponibles","Buscando correcciones r\xE1pidas...","No hay correcciones r\xE1pidas disponibles","Correcci\xF3n R\xE1pida"],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Reemplazar con el valor anterior","Reemplazar con el valor siguiente"],"vs/editor/contrib/indentation/indentation":["Convertir sangr\xEDa en espacios","Convertir sangr\xEDa en tabulaciones","Tama\xF1o de tabulaci\xF3n configurado","Seleccionar tama\xF1o de tabulaci\xF3n para el archivo actual","Aplicar sangr\xEDa con tabulaciones","Aplicar sangr\xEDa con espacios","Detectar sangr\xEDa del contenido","Volver a aplicar sangr\xEDa a l\xEDneas","Volver a aplicar sangr\xEDa a l\xEDneas seleccionadas"],"vs/editor/contrib/linesOperations/linesOperations":["Copiar l\xEDnea arriba","&&Copiar l\xEDnea arriba","Copiar l\xEDnea abajo","Co&&piar l\xEDnea abajo","Selecci\xF3n duplicada","&&Duplicar selecci\xF3n","Mover l\xEDnea hacia arriba","Mo&&ver l\xEDnea arriba","Mover l\xEDnea hacia abajo","Mover &&l\xEDnea abajo","Ordenar l\xEDneas en orden ascendente","Ordenar l\xEDneas en orden descendente","Recortar espacio final","Eliminar l\xEDnea","Sangr\xEDa de l\xEDnea","Anular sangr\xEDa de l\xEDnea","Insertar l\xEDnea arriba","Insertar l\xEDnea debajo","Eliminar todo a la izquierda","Eliminar todo lo que est\xE1 a la derecha","Unir l\xEDneas","Transponer caracteres alrededor del cursor","Transformar a may\xFAsculas","Transformar a min\xFAsculas","Transformar en Title Case","Transformar en Snake Case"],"vs/editor/contrib/linkedEditing/linkedEditing":["Iniciar edici\xF3n vinculada","Color de fondo cuando el editor cambia el nombre autom\xE1ticamente al escribir."],"vs/editor/contrib/links/links":["Ejecutar comando","Seguir v\xEDnculo","cmd + clic","ctrl + clic","opci\xF3n + clic","alt + clic","Ejecutar el comando {0}","No se pudo abrir este v\xEDnculo porque no tiene un formato correcto: {0}","No se pudo abrir este v\xEDnculo porque falta el destino.","Abrir v\xEDnculo"],"vs/editor/contrib/message/messageController":["Indica si el editor muestra actualmente un mensaje insertado","No se puede editar en un editor de s\xF3lo lectura"],"vs/editor/contrib/multicursor/multicursor":["Agregar cursor arriba","&&Agregar cursor arriba","Agregar cursor debajo","A&&gregar cursor abajo","A\xF1adir cursores a finales de l\xEDnea","Agregar c&&ursores a extremos de l\xEDnea","A\xF1adir cursores a la parte inferior","A\xF1adir cursores a la parte superior","Agregar selecci\xF3n hasta la siguiente coincidencia de b\xFAsqueda","Agregar &&siguiente repetici\xF3n","Agregar selecci\xF3n hasta la anterior coincidencia de b\xFAsqueda","Agregar r&&epetici\xF3n anterior","Mover \xFAltima selecci\xF3n hasta la siguiente coincidencia de b\xFAsqueda","Mover \xFAltima selecci\xF3n hasta la anterior coincidencia de b\xFAsqueda","Seleccionar todas las repeticiones de coincidencia de b\xFAsqueda","Seleccionar todas las &&repeticiones","Cambiar todas las ocurrencias"],"vs/editor/contrib/parameterHints/parameterHints":["Sugerencias para par\xE1metros Trigger"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["Icono para mostrar la sugerencia de par\xE1metro siguiente.","Icono para mostrar la sugerencia de par\xE1metro anterior.","{0}, sugerencia"],"vs/editor/contrib/peekView/peekView":["Cerrar","Color de fondo del \xE1rea de t\xEDtulo de la vista de inspecci\xF3n.","Color del t\xEDtulo de la vista de inpecci\xF3n.","Color de la informaci\xF3n del t\xEDtulo de la vista de inspecci\xF3n.","Color de los bordes y la flecha de la vista de inspecci\xF3n.","Color de fondo de la lista de resultados de vista de inspecci\xF3n.","Color de primer plano de los nodos de inspecci\xF3n en la lista de resultados.","Color de primer plano de los archivos de inspecci\xF3n en la lista de resultados.","Color de fondo de la entrada seleccionada en la lista de resultados de vista de inspecci\xF3n.","Color de primer plano de la entrada seleccionada en la lista de resultados de vista de inspecci\xF3n.","Color de fondo del editor de vista de inspecci\xF3n.","Color de fondo del margen en el editor de vista de inspecci\xF3n.","Buscar coincidencia con el color de resaltado de la lista de resultados de vista de inspecci\xF3n.","Buscar coincidencia del color de resultado del editor de vista de inspecci\xF3n.","Hacer coincidir el borde resaltado en el editor de vista previa."],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["Abra primero un editor de texto para ir a una l\xEDnea.","Vaya a la l\xEDnea {0} y a la columna {1}.","Ir a la l\xEDnea {0}.","L\xEDnea actual: {0}, Car\xE1cter: {1}. Escriba un n\xFAmero de l\xEDnea entre 1 y {2} a los que navegar.","L\xEDnea actual: {0}, Car\xE1cter: {1}. Escriba un n\xFAmero de l\xEDnea al que navegar."],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["Para ir a un s\xEDmbolo, primero abra un editor de texto con informaci\xF3n de s\xEDmbolo.","El editor de texto activo no proporciona informaci\xF3n de s\xEDmbolos.","No hay ning\xFAn s\xEDmbolo del editor coincidente.","No hay s\xEDmbolos del editor.","Abrir en el lateral","Abrir en la parte inferior","s\xEDmbolos ({0})","propiedades ({0})","m\xE9todos ({0})","funciones ({0})","constructores ({0})","variables ({0})","clases ({0})","estructuras ({0})","eventos ({0})","operadores ({0})","interfaces ({0})","espacios de nombres ({0})","paquetes ({0})","par\xE1metros de tipo ({0})","m\xF3dulos ({0})","propiedades ({0})","enumeraciones ({0})","miembros de enumeraci\xF3n ({0})","cadenas ({0})","archivos ({0})","matrices ({0})","n\xFAmeros ({0})","booleanos ({0})","objetos ({0})","claves ({0})","campos ({0})","constantes ({0})"],"vs/editor/contrib/rename/rename":["No hay ning\xFAn resultado.","Error desconocido al resolver el cambio de nombre de la ubicaci\xF3n",'Cambiando el nombre de "{0}"',"Cambiar el nombre de {0}","Nombre cambiado correctamente de '{0}' a '{1}'. Resumen: {2}","No se pudo cambiar el nombre a las ediciones de aplicaci\xF3n","No se pudo cambiar el nombre de las ediciones de c\xE1lculo","Cambiar el nombre del s\xEDmbolo","Activar/desactivar la capacidad de previsualizar los cambios antes de cambiar el nombre"],"vs/editor/contrib/rename/renameInputField":["Cambie el nombre de la entrada. Escriba el nuevo nombre y presione Entrar para confirmar.","{0} para cambiar de nombre, {1} para obtener una vista previa"],"vs/editor/contrib/smartSelect/smartSelect":["Expandir selecci\xF3n","&&Expandir selecci\xF3n","Reducir la selecci\xF3n","&&Reducir selecci\xF3n"],"vs/editor/contrib/snippet/snippetVariables":["Domingo","Lunes","Martes","Mi\xE9rcoles","Jueves","Viernes","S\xE1bado","Dom","Lun","Mar","Mi\xE9","Jue","Vie","S\xE1b","Enero","Febrero","Marzo","Abril","May","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre","Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],"vs/editor/contrib/suggest/suggestController":['Aceptando "{0}" ediciones adicionales de {1} realizadas',"Sugerencias para Trigger","Insertar","Insertar","Reemplazar","Reemplazar","Insertar","mostrar menos","mostrar m\xE1s","Restablecer tama\xF1o del widget de sugerencias"],"vs/editor/contrib/suggest/suggestWidget":["Color de fondo del widget sugerido.","Color de borde del widget sugerido.","Color de primer plano del widget sugerido.","Color de fondo de la entrada seleccionada del widget sugerido.","Color del resaltado coincidido en el widget sugerido.","Cargando...","No hay sugerencias.","{0}, documentos: {1}","Sugerir"],"vs/editor/contrib/suggest/suggestWidgetDetails":["Cerrar","Cargando..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["Icono para obtener m\xE1s informaci\xF3n en el widget de sugerencias.","Leer m\xE1s"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["Color de primer plano de los s\xEDmbolos de matriz. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos booleanos. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de clase. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de color. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos constantes. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de constructor. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de enumerador. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de miembro del enumerador. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de evento. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de campo. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de archivo. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de carpeta. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de funci\xF3n. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de interfaz. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de claves. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de palabra clave. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de m\xE9todo. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de m\xF3dulo. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de espacio de nombres. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos nulos. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano para los s\xEDmbolos num\xE9ricos. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de objeto. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano para los s\xEDmbolos del operador. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de paquete. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de propiedad. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de referencia. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de fragmento de c\xF3digo. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de cadena. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de estructura. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de texto. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano para los s\xEDmbolos de par\xE1metro de tipo. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos de unidad. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias.","Color de primer plano de los s\xEDmbolos variables. Estos s\xEDmbolos aparecen en el contorno, la ruta de navegaci\xF3n y el widget de sugerencias."],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Alternar tecla de tabulaci\xF3n para mover el punto de atenci\xF3n","Presionando la pesta\xF1a ahora mover\xE1 el foco al siguiente elemento enfocable.","Presionando la pesta\xF1a ahora insertar\xE1 el car\xE1cter de tabulaci\xF3n"],"vs/editor/contrib/tokenization/tokenization":["Desarrollador: forzar nueva aplicaci\xF3n de token"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["Terminadores de l\xEDnea inusuales","Se han detectado terminadores de l\xEDnea inusuales",`Este archivo contiene uno o varios caracteres de terminador de l\xEDnea inusuales, como Separador de l\xEDneas (LS) o Separador de p\xE1rrafos (PS).\r +\r +Se recomienda quitarlos del archivo. Se puede configurar a trav\xE9s de "editor.unusualLineTerminators".`,"Corregir este archivo","Ignorar problema para este archivo"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["Color de fondo de un s\xEDmbolo durante el acceso de lectura, como la lectura de una variable. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de fondo de un s\xEDmbolo durante el acceso de escritura, como escribir en una variable. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de fondo de un s\xEDmbolo durante el acceso de lectura; por ejemplo, cuando se lee una variable.","Color de fondo de un s\xEDmbolo durante el acceso de escritura; por ejemplo, cuando se escribe una variable.","Color del marcador de regla general para destacados de s\xEDmbolos. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de marcador de regla general para destacados de s\xEDmbolos de acceso de escritura. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Ir al siguiente s\xEDmbolo destacado","Ir al s\xEDmbolo destacado anterior","Desencadenar los s\xEDmbolos destacados"],"vs/editor/contrib/wordOperations/wordOperations":["Eliminar palabra"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["La configuraci\xF3n del lenguaje predeterminada se reemplaza","Establecer los valores de configuraci\xF3n que se reemplazar\xE1n para un lenguaje.","Esta configuraci\xF3n no admite la configuraci\xF3n por idioma.","No se puede registrar una propiedad vac\xEDa.",`No se puede registrar "{0}". Coincide con el patr\xF3n de propiedad '\\\\[.*\\\\]$' para describir la configuraci\xF3n del editor espec\xEDfica del lenguaje. Utilice la contribuci\xF3n "configurationDefaults".`,'No se puede registrar "{0}". Esta propiedad ya est\xE1 registrada.'],"vs/platform/contextkey/browser/contextKeyService":["Comando que devuelve informaci\xF3n sobre las claves de contexto"],"vs/platform/contextkey/common/contextkeys":["Si el sistema operativo es Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["Se presion\xF3 ({0}). Esperando la siguiente tecla...","La combinaci\xF3n de claves ({0}, {1}) no es un comando."],"vs/platform/list/browser/listService":["\xC1rea de trabajo",'Se asigna a "Control" en Windows y Linux y a "Comando" en macOS.','Se asigna a "Alt" en Windows y Linux y a "Opci\xF3n" en macOS.',"El modificador que se utilizar\xE1 para agregar un elemento en los \xE1rboles y listas para una selecci\xF3n m\xFAltiple con el rat\xF3n (por ejemplo en el explorador, abiertos editores y vista de scm). Los gestos de rat\xF3n 'Abrir hacia' - si est\xE1n soportados - se adaptar\xE1n de forma tal que no tenga conflicto con el modificador m\xFAltiple.","Controla c\xF3mo abrir elementos en los \xE1rboles y las listas mediante el mouse (si se admite). Tenga en cuenta que algunos \xE1rboles y listas pueden optar por ignorar esta configuraci\xF3n si no es aplicable.","Controla si las listas y los \xE1rboles admiten el desplazamiento horizontal en el \xE1rea de trabajo. Advertencia: La activaci\xF3n de esta configuraci\xF3n repercute en el rendimiento.","Controla la sangr\xEDa de \xE1rbol en p\xEDxeles.","Controla si el \xE1rbol debe representar gu\xEDas de sangr\xEDa.","Controla si las listas y los \xE1rboles tienen un desplazamiento suave.","La navegaci\xF3n simple del teclado se centra en elementos que coinciden con la entrada del teclado. El emparejamiento se hace solo en prefijos.","Destacar la navegaci\xF3n del teclado resalta los elementos que coinciden con la entrada del teclado. M\xE1s arriba y abajo la navegaci\xF3n atravesar\xE1 solo los elementos destacados.","La navegaci\xF3n mediante el teclado de filtro filtrar\xE1 y ocultar\xE1 todos los elementos que no coincidan con la entrada del teclado.","Controla el estilo de navegaci\xF3n del teclado para listas y \xE1rboles en el \xE1rea de trabajo. Puede ser simple, resaltar y filtrar.",'Controla si la navegaci\xF3n del teclado en listas y \xE1rboles se activa autom\xE1ticamente simplemente escribiendo. Si se establece en "false", la navegaci\xF3n con el teclado solo se activa al ejecutar el comando "list.toggleKeyboardNavigation", para el cual puede asignar un m\xE9todo abreviado de teclado.',"Controla c\xF3mo se expanden las carpetas de \xE1rbol al hacer clic en sus nombres. Tenga en cuenta que algunos \xE1rboles y listas pueden optar por omitir esta configuraci\xF3n si no es aplicable."],"vs/platform/markers/common/markers":["Error","Advertencia","Informaci\xF3n"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","usado recientemente","otros comandos",'El comando "{0}" dio lugar a un error ({1})'],"vs/platform/quickinput/browser/helpQuickAccess":["comandos globales","comandos del editor","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["Color de primer plano general. Este color solo se usa si un componente no lo invalida.","Color de primer plano general para los mensajes de erroe. Este color solo se usa si un componente no lo invalida.","El color predeterminado para los iconos en el \xE1rea de trabajo.","Color de borde de los elementos con foco. Este color solo se usa si un componente no lo invalida.","Un borde adicional alrededor de los elementos para separarlos unos de otros y as\xED mejorar el contraste.","Un borde adicional alrededor de los elementos activos para separarlos unos de otros y as\xED mejorar el contraste.","Color de primer plano para los v\xEDnculos en el texto.","Color de fondo para los bloques de c\xF3digo en el texto.","Color de sombra de los widgets dentro del editor, como buscar/reemplazar","Fondo de cuadro de entrada.","Primer plano de cuadro de entrada.","Borde de cuadro de entrada.","Color de borde de opciones activadas en campos de entrada.","Color de fondo de las opciones activadas en los campos de entrada.","Color de primer plano de las opciones activadas en los campos de entrada.","Color de fondo de validaci\xF3n de entrada para gravedad de informaci\xF3n.","Color de primer plano de validaci\xF3n de entrada para informaci\xF3n de gravedad.","Color de borde de validaci\xF3n de entrada para gravedad de informaci\xF3n.","Color de fondo de validaci\xF3n de entrada para gravedad de advertencia.","Color de primer plano de validaci\xF3n de entrada para informaci\xF3n de advertencia.","Color de borde de validaci\xF3n de entrada para gravedad de advertencia.","Color de fondo de validaci\xF3n de entrada para gravedad de error.","Color de primer plano de validaci\xF3n de entrada para informaci\xF3n de error.","Color de borde de valdaci\xF3n de entrada para gravedad de error.","Fondo de lista desplegable.","Primer plano de lista desplegable.","Color de primer plano del bot\xF3n.","Color de fondo del bot\xF3n.","Color de fondo del bot\xF3n al mantener el puntero.","Color de fondo de la insignia. Las insignias son peque\xF1as etiquetas de informaci\xF3n, por ejemplo los resultados de un n\xFAmero de resultados.","Color de primer plano de la insignia. Las insignias son peque\xF1as etiquetas de informaci\xF3n, por ejemplo los resultados de un n\xFAmero de resultados.","Sombra de la barra de desplazamiento indica que la vista se ha despazado.","Color de fondo de control deslizante de barra de desplazamiento.","Color de fondo de barra de desplazamiento cursor cuando se pasar sobre el control.","Color de fondo de la barra de desplazamiento al hacer clic.","Color de fondo para la barra de progreso que se puede mostrar para las operaciones de larga duraci\xF3n.","Color de fondo del texto de error del editor. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de primer plano de squigglies de error en el editor.","Color del borde de los cuadros de error en el editor.","Color de fondo del texto de advertencia del editor. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de primer plano de squigglies de advertencia en el editor.","Color del borde de los cuadros de advertencia en el editor.","Color de fondo del texto de informaci\xF3n del editor. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de primer plano de los subrayados ondulados informativos en el editor.","Color del borde de los cuadros de informaci\xF3n en el editor.","Color de primer plano de pista squigglies en el editor.","Color del borde de los cuadros de sugerencia en el editor.","Color de fondo del editor.","Color de primer plano predeterminado del editor.","Color de fondo del editor de widgets como buscar/reemplazar","Color de primer plano de los widgets del editor, como buscar y reemplazar.","Color de borde de los widgets del editor. El color solo se usa si el widget elige tener un borde y no invalida el color.","Color del borde de la barra de cambio de tama\xF1o de los widgets del editor. El color se utiliza solo si el widget elige tener un borde de cambio de tama\xF1o y si un widget no invalida el color.","Color de fondo del selector r\xE1pido. El widget del selector r\xE1pido es el contenedor para selectores como la paleta de comandos.","Color de primer plano del selector r\xE1pido. El widget del selector r\xE1pido es el contenedor para selectores como la paleta de comandos.","Color de fondo del t\xEDtulo del selector r\xE1pido. El widget del selector r\xE1pido es el contenedor para selectores como la paleta de comandos.","Color de fondo del selector r\xE1pido para el elemento con el foco.","Selector de color r\xE1pido para la agrupaci\xF3n de etiquetas.","Selector de color r\xE1pido para la agrupaci\xF3n de bordes.","Color de la selecci\xF3n del editor.","Color del texto seleccionado para alto contraste.","Color de la selecci\xF3n en un editor inactivo. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color en las regiones con el mismo contenido que la selecci\xF3n. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de borde de las regiones con el mismo contenido que la selecci\xF3n.","Color de la coincidencia de b\xFAsqueda actual.","Color de los otros resultados de la b\xFAsqueda. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de la gama que limita la b\xFAsqueda. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de borde de la coincidencia de b\xFAsqueda actual.","Color de borde de otra b\xFAsqueda que coincide.","Color del borde de la gama que limita la b\xFAsqueda. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Destacar debajo de la palabra para la que se muestra un mensaje al mantener el mouse. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de fondo al mantener el puntero en el editor.","Color de primer plano al mantener el puntero en el editor.","Color del borde al mantener el puntero en el editor.","Color de fondo de la barra de estado al mantener el puntero en el editor.","Color de los v\xEDnculos activos.","Color de primer plano de las sugerencias insertadas","Color de fondo de las sugerencias insertadas","El color utilizado para el icono de bombilla de acciones.","El color utilizado para el icono de la bombilla de acciones de correcci\xF3n autom\xE1tica.","Color de fondo para el texto que se insert\xF3. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de fondo para el texto que se elimin\xF3. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de contorno para el texto insertado.","Color de contorno para el texto quitado.","Color del borde entre ambos editores de texto.","Color de relleno diagonal del editor de diferencias. El relleno diagonal se usa en las vistas de diferencias en paralelo.","Color de fondo de la lista o el \xE1rbol del elemento con el foco cuando la lista o el \xE1rbol est\xE1n activos. Una lista o un \xE1rbol tienen el foco del teclado cuando est\xE1n activos, cuando est\xE1n inactivos no.","Color de primer plano de la lista o el \xE1rbol del elemento con el foco cuando la lista o el \xE1rbol est\xE1n activos. Una lista o un \xE1rbol tienen el foco del teclado cuando est\xE1n activos, cuando est\xE1n inactivos no.","Color de contorno de la lista o el \xE1rbol del elemento con el foco cuando la lista o el \xE1rbol est\xE1n activos. Una lista o un \xE1rbol tienen el foco del teclado cuando est\xE1n activos, pero no cuando est\xE1n inactivos.","Color de fondo de la lista o el \xE1rbol del elemento seleccionado cuando la lista o el \xE1rbol est\xE1n activos. Una lista o un \xE1rbol tienen el foco del teclado cuando est\xE1n activos, cuando est\xE1n inactivos no.","Color de primer plano de la lista o el \xE1rbol del elemento seleccionado cuando la lista o el \xE1rbol est\xE1n activos. Una lista o un \xE1rbol tienen el foco del teclado cuando est\xE1n activos, cuando est\xE1n inactivos no.","Color de fondo de la lista o el \xE1rbol del elemento seleccionado cuando la lista o el \xE1rbol est\xE1n inactivos. Una lista o un \xE1rbol tienen el foco del teclado cuando est\xE1n activos, cuando est\xE1n inactivos no.","Color de primer plano de la lista o el \xE1rbol del elemento con el foco cuando la lista o el \xE1rbol esta inactiva. Una lista o un \xE1rbol tiene el foco del teclado cuando est\xE1 activo, cuando esta inactiva no.","Color de fondo de la lista o el \xE1rbol del elemento con el foco cuando la lista o el \xE1rbol est\xE1n inactivos. Una lista o un \xE1rbol tienen el foco del teclado cuando est\xE1n activos, pero no cuando est\xE1n inactivos.","Color de contorno de la lista o el \xE1rbol del elemento con el foco cuando la lista o el \xE1rbol est\xE1n inactivos. Una lista o un \xE1rbol tienen el foco del teclado cuando est\xE1n activos, pero no cuando est\xE1n inactivos.","Fondo de la lista o el \xE1rbol al mantener el mouse sobre los elementos.","Color de primer plano de la lista o el \xE1rbol al pasar por encima de los elementos con el rat\xF3n.","Fondo de arrastrar y colocar la lista o el \xE1rbol al mover los elementos con el mouse.","Color de primer plano de la lista o el \xE1rbol de las coincidencias resaltadas al buscar dentro de la lista o el \xE1bol.","Color de fondo del widget de filtro de tipo en listas y \xE1rboles.","Color de contorno del widget de filtro de tipo en listas y \xE1rboles.","Color de contorno del widget de filtro de tipo en listas y \xE1rboles, cuando no hay coincidencias.","Color de trazo de \xE1rbol para las gu\xEDas de sangr\xEDa.","Color de trazo de \xE1rbol para las gu\xEDas de sangr\xEDa.","Color del borde de los men\xFAs.","Color de primer plano de los elementos de men\xFA.","Color de fondo de los elementos de men\xFA.","Color de primer plano del menu para el elemento del men\xFA seleccionado.","Color de fondo del menu para el elemento del men\xFA seleccionado.","Color del borde del elemento seleccionado en los men\xFAs.","Color del separador del menu para un elemento del men\xFA.","Resaltado del color de fondo para una ficha de un fragmento de c\xF3digo.","Resaltado del color del borde para una ficha de un fragmento de c\xF3digo.","Resaltado del color de fondo para la \xFAltima ficha de un fragmento de c\xF3digo.","Resaltado del color del borde para la \xFAltima tabulaci\xF3n de un fragmento de c\xF3digo.","Color del marcador de regla general para buscar actualizaciones. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color del marcador de la regla general para los destacados de la selecci\xF3n. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de marcador de minimapa para coincidencias de b\xFAsqueda.","Color del marcador de minimapa para la selecci\xF3n del editor.","Color del marcador de minimapa para errores.","Color del marcador de minimapa para advertencias.","Color de fondo del minimapa.","Color de fondo del deslizador del minimapa.","Color de fondo del deslizador del minimapa al pasar el puntero.","Color de fondo del deslizador de minimapa al hacer clic en \xE9l.","Color utilizado para el icono de error de problemas.","Color utilizado para el icono de advertencia de problemas.","Color utilizado para el icono de informaci\xF3n de problemas."],"vs/platform/theme/common/iconRegistry":["Identificador de la fuente que se va a usar. Si no se establece, se usa la fuente definida en primer lugar.","Car\xE1cter de fuente asociado a la definici\xF3n del icono.","Icono de la acci\xF3n de cierre en los widgets."],"vs/platform/undoRedo/common/undoRedoService":["Se han cerrado los siguientes archivos y se han modificado en el disco: {0}.","Los siguientes archivos se han modificado de forma incompatible: {0}.",'No se pudo deshacer "{0}" en todos los archivos. {1}','No se pudo deshacer "{0}" en todos los archivos. {1}','No se pudo deshacer "{0}" en todos los archivos porque se realizaron cambios en {1}','No se pudo deshacer "{0}" en todos los archivos porque ya hay una operaci\xF3n de deshacer o rehacer en ejecuci\xF3n en {1}','No se pudo deshacer "{0}" en todos los archivos porque se produjo una operaci\xF3n de deshacer o rehacer mientras tanto','\xBFDesea deshacer "{0}" en todos los archivos?',"Deshacer en {0} archivos","Deshacer este archivo","Cancelar",'No se pudo deshacer "{0}" porque ya hay una operaci\xF3n de deshacer o rehacer en ejecuci\xF3n.','\xBFQuiere deshacer "{0}"?',"Deshacer","Cancelar",'No se pudo rehacer "{0}" en todos los archivos. {1}','No se pudo rehacer "{0}" en todos los archivos. {1}','No se pudo volver a hacer "{0}" en todos los archivos porque se realizaron cambios en {1}','No se pudo rehacer "{0}" en todos los archivos porque ya hay una operaci\xF3n de deshacer o rehacer en ejecuci\xF3n en {1}','No se pudo rehacer "{0}" en todos los archivos porque se produjo una operaci\xF3n de deshacer o rehacer mientras tanto','No se pudo rehacer "{0}" porque ya hay una operaci\xF3n de deshacer o rehacer en ejecuci\xF3n.']}); diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.fr.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.fr.js new file mode 100644 index 0000000..d16d576 --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.fr.js @@ -0,0 +1,8 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/define("vs/editor/editor.main.nls.fr",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["entr\xE9e"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Respecter la casse","Mot entier","Utiliser une expression r\xE9guli\xE8re"],"vs/base/browser/ui/findinput/replaceInput":["entr\xE9e","Pr\xE9server la casse"],"vs/base/browser/ui/iconLabel/iconLabel":["Chargement..."],"vs/base/browser/ui/inputbox/inputBox":["Erreur\xA0: {0}","Avertissement\xA0: {0}","Info\xA0: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Ind\xE9pendant"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Effacer","D\xE9sactiver le filtre sur le type","Activer le filtre sur le type","Aucun \xE9l\xE9ment","{0}\xA0\xE9l\xE9ments sur {1} correspondants"],"vs/base/common/actions":["(vide)"],"vs/base/common/errorMessage":["{0}: {1}","Une erreur syst\xE8me s'est produite ({0})","Une erreur inconnue s\u2019est produite. Veuillez consulter le journal pour plus de d\xE9tails.","Une erreur inconnue s\u2019est produite. Veuillez consulter le journal pour plus de d\xE9tails.","{0} ({1}\xA0erreurs au total)","Une erreur inconnue s\u2019est produite. Veuillez consulter le journal pour plus de d\xE9tails."],"vs/base/common/keybindingLabels":["Ctrl","Maj","Alt","Windows","Ctrl","Maj","Alt","Super","Contr\xF4le","Maj","Alt","Commande","Contr\xF4le","Maj","Alt","Windows","Contr\xF4le","Maj","Alt","Super"],"vs/base/parts/quickinput/browser/quickInput":["Pr\xE9c\xE9dent","{0}/{1}","Taper pour affiner les r\xE9sultats.","{0}\xA0r\xE9sultats","{0} S\xE9lectionn\xE9s","OK","Personnalis\xE9","Pr\xE9c\xE9dent ({0})","Pr\xE9c\xE9dent"],"vs/base/parts/quickinput/browser/quickInputList":["Entr\xE9e rapide"],"vs/editor/browser/controller/coreCommands":["Aligner par rapport \xE0 la fin m\xEAme en cas de passage \xE0 des lignes plus longues","Aligner par rapport \xE0 la fin m\xEAme en cas de passage \xE0 des lignes plus longues"],"vs/editor/browser/controller/textAreaHandler":["\xE9diteur","L'\xE9diteur n'est pas accessible pour le moment. Appuyez sur {0} pour voir les options."],"vs/editor/browser/core/keybindingCancellation":["Indique si l'\xE9diteur ex\xE9cute une op\xE9ration annulable, par exemple 'Avoir un aper\xE7u des r\xE9f\xE9rences'"],"vs/editor/browser/editorExtensions":["Ann&&uler","Annuler","&&R\xE9tablir","R\xE9tablir","&&S\xE9lectionner tout","Tout s\xE9lectionner"],"vs/editor/browser/widget/codeEditorWidget":["Le nombre de curseurs a \xE9t\xE9 limit\xE9 \xE0\xA0{0}."],"vs/editor/browser/widget/diffEditorWidget":["\xC9l\xE9ment d\xE9coratif de ligne pour les insertions dans l'\xE9diteur de diff\xE9rences.","\xC9l\xE9ment d\xE9coratif de ligne pour les suppressions dans l'\xE9diteur de diff\xE9rences.","Impossible de comparer les fichiers car l'un d'eux est trop volumineux."],"vs/editor/browser/widget/diffReview":["Ic\xF4ne de l'option Ins\xE9rer dans la revue des diff\xE9rences.","Ic\xF4ne de l'option Supprimer dans la revue des diff\xE9rences.","Ic\xF4ne de l'option Fermer dans la revue des diff\xE9rences.","Fermer","aucune ligne chang\xE9e","1\xA0ligne chang\xE9e","{0}\xA0lignes chang\xE9es","Diff\xE9rence\xA0{0} sur\xA0{1}\xA0: ligne d'origine {2}, {3}, ligne modifi\xE9e {4}, {5}","vide","{0} ligne inchang\xE9e {1}","{0}\xA0ligne d'origine {1}\xA0ligne modifi\xE9e {2}","+ {0}\xA0ligne modifi\xE9e {1}","- {0} ligne d'origine {1}","Acc\xE9der \xE0 la diff\xE9rence suivante","Acc\xE9der la diff\xE9rence pr\xE9c\xE9dente"],"vs/editor/browser/widget/inlineDiffMargin":["Copier les lignes supprim\xE9es","Copier la ligne supprim\xE9e","Copier la ligne supprim\xE9e ({0})","Annuler la modification","Copier la ligne supprim\xE9e ({0})"],"vs/editor/common/config/commonEditorConfig":["\xC9diteur","Le nombre d'espaces auxquels une tabulation est \xE9gale. Ce param\xE8tre est substitu\xE9 bas\xE9 sur le contenu du fichier lorsque `#editor.detectIndentation#` est \xE0 'on'.","Espaces ins\xE9r\xE9s quand vous appuyez sur la touche Tab. Ce param\xE8tre est remplac\xE9 en fonction du contenu du fichier quand '#editor.detectIndentation#' est activ\xE9.","Contr\xF4le si '#editor.tabSize#' et '#editor.insertSpaces#' sont automatiquement d\xE9tect\xE9s lors de l\u2019ouverture d\u2019un fichier en fonction de son contenu.","Supprimer l'espace blanc de fin ins\xE9r\xE9 automatiquement.","Traitement sp\xE9cial des fichiers volumineux pour d\xE9sactiver certaines fonctionnalit\xE9s utilisant beaucoup de m\xE9moire.","Contr\xF4le si la saisie semi-automatique doit \xEAtre calcul\xE9e en fonction des mots pr\xE9sents dans le document.","Sugg\xE8re uniquement des mots dans le document actif.","Sugg\xE8re des mots dans tous les documents ouverts du m\xEAme langage.","Sugg\xE8re des mots dans tous les documents ouverts.","Contr\xF4le la fa\xE7on dont sont calcul\xE9es les compl\xE9tions bas\xE9es sur des mots dans les documents.","Coloration s\xE9mantique activ\xE9e pour tous les th\xE8mes de couleur.","Coloration s\xE9mantique d\xE9sactiv\xE9e pour tous les th\xE8mes de couleur.","La coloration s\xE9mantique est configur\xE9e par le param\xE8tre 'semanticHighlighting' du th\xE8me de couleur actuel.","Contr\xF4le si semanticHighlighting est affich\xE9 pour les langages qui le prennent en charge.","Garder les \xE9diteurs d'aper\xE7u ouverts m\xEAme si l'utilisateur double-clique sur son contenu ou appuie sur la touche \xC9chap. ","Les lignes plus longues que cette valeur ne sont pas tokenis\xE9es pour des raisons de performances","D\xE9lai d'expiration en millisecondes avant annulation du calcul de diff. Utilisez\xA00 pour supprimer le d\xE9lai d'expiration.","Contr\xF4le si l'\xE9diteur de diff\xE9rences affiche les diff\xE9rences en mode c\xF4te \xE0 c\xF4te ou inline.","Quand il est activ\xE9, l'\xE9diteur de diff\xE9rences ignore les changements d'espace blanc de d\xE9but ou de fin.","Contr\xF4le si l'\xE9diteur de diff\xE9rences affiche les indicateurs +/- pour les changements ajout\xE9s/supprim\xE9s .","Contr\xF4le si l'\xE9diteur affiche CodeLens.","Le retour automatique \xE0 la ligne n'est jamais effectu\xE9.","Le retour automatique \xE0 la ligne s'effectue en fonction de la largeur de la fen\xEAtre d'affichage.","Le retour automatique \xE0 la ligne d\xE9pend du param\xE8tre '#editor.wordWrap#'."],"vs/editor/common/config/editorOptions":["L'\xE9diteur utilise les API de la plateforme pour d\xE9tecter si un lecteur d'\xE9cran est attach\xE9.","L'\xE9diteur est optimis\xE9 en permanence pour les lecteurs d'\xE9cran. Le retour automatique \xE0 la ligne est d\xE9sactiv\xE9.","L'\xE9diteur n'est jamais optimis\xE9 pour une utilisation avec un lecteur d'\xE9cran.","Contr\xF4le si l'\xE9diteur doit s'ex\xE9cuter dans un mode optimis\xE9 pour les lecteurs d'\xE9cran. Si la valeur est on, le retour automatique \xE0 la ligne est d\xE9sactiv\xE9.","Contr\xF4le si un espace est ins\xE9r\xE9 pour les commentaires.","Contr\xF4le si les lignes vides doivent \xEAtre ignor\xE9es avec des actions d'activation/de d\xE9sactivation, d'ajout ou de suppression des commentaires de ligne.","Contr\xF4le si la copie sans s\xE9lection permet de copier la ligne actuelle.","Contr\xF4le si le curseur doit sauter pour rechercher les correspondances lors de la saisie.","D\xE9termine si la cha\xEEne de recherche dans le Widget Recherche est initialis\xE9e avec la s\xE9lection de l\u2019\xE9diteur.","Ne jamais activer Rechercher automatiquement dans la s\xE9lection (par d\xE9faut)","Toujours activer Rechercher automatiquement dans la s\xE9lection","Activez Rechercher automatiquement dans la s\xE9lection quand plusieurs lignes de contenu sont s\xE9lectionn\xE9es.","Contr\xF4le la condition d'activation automatique de la recherche dans la s\xE9lection.","D\xE9termine si le Widget Recherche devrait lire ou modifier le presse-papiers de recherche partag\xE9 sur macOS.","Contr\xF4le si le widget Recherche doit ajouter des lignes suppl\xE9mentaires en haut de l'\xE9diteur. Quand la valeur est true, vous pouvez faire d\xE9filer au-del\xE0 de la premi\xE8re ligne si le widget Recherche est visible.","Contr\xF4le si la recherche red\xE9marre automatiquement depuis le d\xE9but (ou la fin) quand il n'existe aucune autre correspondance.","Active/d\xE9sactive les ligatures de police (fonctionnalit\xE9s de police 'calt' et 'liga'). Remplacez ceci par une cha\xEEne pour contr\xF4ler de mani\xE8re pr\xE9cise la propri\xE9t\xE9 CSS 'font-feature-settings'.","Propri\xE9t\xE9 CSS 'font-feature-settings' explicite. Vous pouvez passer une valeur bool\xE9enne \xE0 la place si vous devez uniquement activer/d\xE9sactiver les ligatures.","Configure les ligatures de police ou les fonctionnalit\xE9s de police. Il peut s'agir d'une valeur bool\xE9enne permettant d'activer/de d\xE9sactiver les ligatures, ou d'une cha\xEEne correspondant \xE0 la valeur de la propri\xE9t\xE9 CSS 'font-feature-settings'.","Contr\xF4le la taille de police en pixels.",'Seuls les mots cl\xE9s "normal" et "bold", ou les nombres compris entre\xA01 et\xA01\xA0000 sont autoris\xE9s.',`Contr\xF4le l'\xE9paisseur de police. Accepte les mots cl\xE9s "normal" et "bold", ou les nombres compris entre\xA01 et\xA01\xA0000.`,"Montrer l'aper\xE7u des r\xE9sultats (par d\xE9faut)","Acc\xE9der au r\xE9sultat principal et montrer un aper\xE7u","Acc\xE9der au r\xE9sultat principal et activer l'acc\xE8s sans aper\xE7u pour les autres","Ce param\xE8tre est d\xE9pr\xE9ci\xE9, utilisez des param\xE8tres distincts comme 'editor.editor.gotoLocation.multipleDefinitions' ou 'editor.editor.gotoLocation.multipleImplementations' \xE0 la place.","Contr\xF4le le comportement de la commande 'Atteindre la d\xE9finition' quand plusieurs emplacements cibles existent.","Contr\xF4le le comportement de la commande 'Atteindre la d\xE9finition de type' quand plusieurs emplacements cibles existent.","Contr\xF4le le comportement de la commande 'Atteindre la d\xE9claration' quand plusieurs emplacements cibles existent.","Contr\xF4le le comportement de la commande 'Atteindre les impl\xE9mentations' quand plusieurs emplacements cibles existent.","Contr\xF4le le comportement de la commande 'Atteindre les r\xE9f\xE9rences' quand plusieurs emplacements cibles existent.","ID de commande alternatif ex\xE9cut\xE9 quand le r\xE9sultat de 'Atteindre la d\xE9finition' est l'emplacement actuel.","ID de commande alternatif ex\xE9cut\xE9 quand le r\xE9sultat de 'Atteindre la d\xE9finition de type' est l'emplacement actuel.","ID de commande alternatif ex\xE9cut\xE9 quand le r\xE9sultat de 'Atteindre la d\xE9claration' est l'emplacement actuel.","ID de commande alternatif ex\xE9cut\xE9 quand le r\xE9sultat de 'Atteindre l'impl\xE9mentation' est l'emplacement actuel.","ID de commande alternatif ex\xE9cut\xE9 quand le r\xE9sultat de 'Atteindre la r\xE9f\xE9rence' est l'emplacement actuel.","Contr\xF4le si le pointage est affich\xE9.","Contr\xF4le le d\xE9lai en millisecondes, apr\xE8s lequel le survol est affich\xE9.","Contr\xF4le si le pointage doit rester visible quand la souris est d\xE9plac\xE9e au-dessus.","Active l\u2019ampoule d\u2019action de code dans l\u2019\xE9diteur.","Active les indicateurs inline dans l'\xE9diteur.","Contr\xF4le la taille de police des indicateurs inline dans l'\xE9diteur. Quand la valeur est '0', 90\xA0% de '#editor.fontSize#' est utilis\xE9.","Contr\xF4le la famille de polices des indicateurs inline dans l'\xE9diteur.","Contr\xF4le la hauteur de ligne. Utilisez 0 pour calculer la hauteur de ligne de la taille de la police.","Contr\xF4le si la minimap est affich\xE9e.","Le minimap a la m\xEAme taille que le contenu de l'\xE9diteur (d\xE9filement possible).","Le minimap s'agrandit ou se r\xE9duit selon les besoins pour remplir la hauteur de l'\xE9diteur (pas de d\xE9filement).","Le minimap est r\xE9duit si n\xE9cessaire pour ne jamais d\xE9passer la taille de l'\xE9diteur (pas de d\xE9filement).","Contr\xF4le la taille du minimap.","Contr\xF4le le c\xF4t\xE9 o\xF9 afficher la minimap.","Contr\xF4le quand afficher le curseur du minimap.","\xC9chelle du contenu dessin\xE9 dans le minimap\xA0: 1, 2\xA0ou\xA03.","Afficher les caract\xE8res r\xE9els sur une ligne par opposition aux blocs de couleur.","Limiter la largeur de la minimap pour afficher au plus un certain nombre de colonnes.","Contr\xF4le la quantit\xE9 d\u2019espace entre le bord sup\xE9rieur de l\u2019\xE9diteur et la premi\xE8re ligne.","Contr\xF4le la quantit\xE9 d'espace entre le bord inf\xE9rieur de l'\xE9diteur et la derni\xE8re ligne.","Active une fen\xEAtre contextuelle qui affiche de la documentation sur les param\xE8tres et des informations sur les types \xE0 mesure que vous tapez.","D\xE9termine si le menu de suggestions de param\xE8tres se ferme ou reviens au d\xE9but lorsque la fin de la liste est atteinte.","Activez les suggestions rapides dans les cha\xEEnes.","Activez les suggestions rapides dans les commentaires.","Activez les suggestions rapides en dehors des cha\xEEnes et des commentaires.","Contr\xF4le si les suggestions doivent appara\xEEtre automatiquement pendant la saisie.","Les num\xE9ros de ligne ne sont pas affich\xE9s.","Les num\xE9ros de ligne sont affich\xE9s en nombre absolu.","Les num\xE9ros de ligne sont affich\xE9s sous la forme de distance en lignes \xE0 la position du curseur.","Les num\xE9ros de ligne sont affich\xE9s toutes les 10 lignes.","Contr\xF4le l'affichage des num\xE9ros de ligne.","Nombre de caract\xE8res monospace auxquels cette r\xE8gle d'\xE9diteur effectue le rendu.","Couleur de cette r\xE8gle d'\xE9diteur.","Rendre les r\xE8gles verticales apr\xE8s un certain nombre de caract\xE8res \xE0 espacement fixe. Utiliser plusieurs valeurs pour plusieurs r\xE8gles. Aucune r\xE8gle n'est dessin\xE9e si le tableau est vide.","Ins\xE9rez une suggestion sans remplacer le texte \xE0 droite du curseur.","Ins\xE9rez une suggestion et remplacez le texte \xE0 droite du curseur.","Contr\xF4le si les mots sont remplac\xE9s en cas d'acceptation de la saisie semi-automatique. Notez que cela d\xE9pend des extensions adh\xE9rant \xE0 cette fonctionnalit\xE9.","D\xE9termine si le filtre et le tri des suggestions doivent prendre en compte les fautes de frappes mineures.","Contr\xF4le si le tri favorise trier les mots qui apparaissent pr\xE8s du curseur.","Contr\xF4le si les s\xE9lections de suggestion m\xE9moris\xE9es sont partag\xE9es entre plusieurs espaces de travail et fen\xEAtres (n\xE9cessite '#editor.suggestSelection#').","Contr\xF4le si un extrait de code actif emp\xEAche les suggestions rapides.","Contr\xF4le s'il faut montrer ou masquer les ic\xF4nes dans les suggestions.","Contr\xF4le la visibilit\xE9 de la barre d'\xE9tat en bas du widget de suggestion.","D\xE9termine si les d\xE9tails du widget de suggestion sont inclus dans l'\xE9tiquette ou uniquement dans le widget de d\xE9tails","Ce param\xE8tre est d\xE9pr\xE9ci\xE9. Le widget de suggestion peut d\xE9sormais \xEAtre redimensionn\xE9.","Ce param\xE8tre est d\xE9pr\xE9ci\xE9, veuillez utiliser des param\xE8tres distincts comme 'editor.suggest.showKeywords' ou 'editor.suggest.showSnippets' \xE0 la place.","Si activ\xE9, IntelliSense montre des suggestions de type 'method'.","Si activ\xE9, IntelliSense montre des suggestions de type 'function'.","Si activ\xE9, IntelliSense montre des suggestions de type 'constructor'.","Si activ\xE9, IntelliSense montre des suggestions de type 'field'.","Si activ\xE9, IntelliSense montre des suggestions de type 'variable'.","Si activ\xE9, IntelliSense montre des suggestions de type 'class'.","Si activ\xE9, IntelliSense montre des suggestions de type 'struct'.","Si activ\xE9, IntelliSense montre des suggestions de type 'interface'.","Si activ\xE9, IntelliSense montre des suggestions de type 'module'.","Si activ\xE9, IntelliSense montre des suggestions de type 'property'.","Si activ\xE9, IntelliSense montre des suggestions de type 'event'.","Si activ\xE9, IntelliSense montre des suggestions de type 'operator'.","Si activ\xE9, IntelliSense montre des suggestions de type 'unit'.","Si activ\xE9, IntelliSense montre des suggestions de type 'value'.","Si activ\xE9, IntelliSense montre des suggestions de type 'constant'.","Si activ\xE9, IntelliSense montre des suggestions de type 'enum'.","Si activ\xE9, IntelliSense montre des suggestions de type 'enumMember'.","Si activ\xE9, IntelliSense montre des suggestions de type 'keyword'.","Si activ\xE9, IntelliSense montre des suggestions de type 'text'.","Si activ\xE9, IntelliSense montre des suggestions de type 'color'.","Si activ\xE9, IntelliSense montre des suggestions de type 'file'.","Si activ\xE9, IntelliSense montre des suggestions de type 'reference'.","Si activ\xE9, IntelliSense montre des suggestions de type 'customcolor'.","Si activ\xE9, IntelliSense montre des suggestions de type 'folder'.","Si activ\xE9, IntelliSense montre des suggestions de type 'typeParameter'.","Si activ\xE9, IntelliSense montre des suggestions de type 'snippet'.","Si activ\xE9, IntelliSense montre des suggestions de type 'utilisateur'.","Si activ\xE9, IntelliSense montre des suggestions de type 'probl\xE8mes'.","Indique si les espaces blancs de d\xE9but et de fin doivent toujours \xEAtre s\xE9lectionn\xE9s.","Contr\xF4le si les suggestions doivent \xEAtre accept\xE9es sur les caract\xE8res de validation. Par exemple, en JavaScript, le point-virgule (`;`) peut \xEAtre un caract\xE8re de validation qui accepte une suggestion et tape ce caract\xE8re.","Accepter uniquement une suggestion avec 'Entr\xE9e' quand elle effectue une modification textuelle.","Contr\xF4le si les suggestions sont accept\xE9es apr\xE8s appui sur 'Entr\xE9e', en plus de 'Tab'. Permet d\u2019\xE9viter toute ambigu\xEFt\xE9 entre l\u2019insertion de nouvelles lignes et l'acceptation de suggestions.","Contr\xF4le le nombre de lignes dans l'\xE9diteur qui peuvent \xEAtre lues par un lecteur d'\xE9cran. Avertissement : Ce param\xE8tre a une incidence sur les performances quand le nombre est sup\xE9rieur \xE0 la valeur par d\xE9faut.","Contenu de l'\xE9diteur","Utilisez les configurations de langage pour d\xE9terminer quand fermer automatiquement les parenth\xE8ses.","Fermer automatiquement les parenth\xE8ses uniquement lorsque le curseur est \xE0 gauche de l\u2019espace.","Contr\xF4le si l\u2019\xE9diteur doit fermer automatiquement les parenth\xE8ses quand l\u2019utilisateur ajoute une parenth\xE8se ouvrante.","Tapez avant les guillemets ou les crochets fermants uniquement s'ils sont automatiquement ins\xE9r\xE9s.","Contr\xF4le si l'\xE9diteur doit taper avant les guillemets ou crochets fermants.","Utilisez les configurations de langage pour d\xE9terminer quand fermer automatiquement les guillemets.","Fermer automatiquement les guillemets uniquement lorsque le curseur est \xE0 gauche de l\u2019espace.","Contr\xF4le si l\u2019\xE9diteur doit fermer automatiquement les guillemets apr\xE8s que l\u2019utilisateur ajoute un guillemet ouvrant.","L'\xE9diteur n'ins\xE8re pas de retrait automatiquement.","L'\xE9diteur conserve le retrait de la ligne actuelle.","L'\xE9diteur conserve le retrait de la ligne actuelle et honore les crochets d\xE9finis par le langage.","L'\xE9diteur conserve le retrait de la ligne actuelle, honore les crochets d\xE9finis par le langage et appelle des objets onEnterRules sp\xE9ciaux d\xE9finis par les langages.","L'\xE9diteur conserve le retrait de la ligne actuelle, honore les crochets d\xE9finis par le langage, appelle des objets onEnterRules sp\xE9ciaux d\xE9finis par les langages et honore les objets indentationRules d\xE9finis par les langages.","Contr\xF4le si l'\xE9diteur doit ajuster automatiquement le retrait quand les utilisateurs tapent, collent, d\xE9placent ou mettent en retrait des lignes.","Utilisez les configurations de langue pour d\xE9terminer quand entourer automatiquement les s\xE9lections.","Entourez avec des guillemets et non des crochets.","Entourez avec des crochets et non des guillemets.","Contr\xF4le si l'\xE9diteur doit automatiquement entourer les s\xE9lections quand l'utilisateur tape des guillemets ou des crochets.","\xC9mule le comportement des tabulations pour la s\xE9lection quand des espaces sont utilis\xE9s \xE0 des fins de mise en retrait. La s\xE9lection respecte les taquets de tabulation.","Contr\xF4le si l'\xE9diteur affiche CodeLens.","Contr\xF4le la famille de polices pour CodeLens.","Contr\xF4le la taille de police en pixels pour CodeLens. Quand la valeur est '0', 90\xA0% de '#editor.fontSize#' est utilis\xE9.","Contr\xF4le si l'\xE9diteur doit afficher les \xE9l\xE9ments d\xE9coratifs de couleurs inline et le s\xE9lecteur de couleurs.","Autoriser l'utilisation de la souris et des touches pour s\xE9lectionner des colonnes.","Contr\xF4le si la coloration syntaxique doit \xEAtre copi\xE9e dans le presse-papiers.","Contr\xF4ler le style d\u2019animation du curseur.","Contr\xF4le si l'animation du point d'insertion doit \xEAtre activ\xE9e.","Contr\xF4le le style du curseur.","Contr\xF4le le nombre minimal de lignes de d\xE9but et de fin visibles autour du curseur. \xC9galement appel\xE9 'scrollOff' ou 'scrollOffset' dans d'autres \xE9diteurs.","'cursorSurroundingLines' est appliqu\xE9 seulement s'il est d\xE9clench\xE9 via le clavier ou une API.","'cursorSurroundingLines' est toujours appliqu\xE9.","Contr\xF4le quand 'cursorSurroundingLines' doit \xEAtre appliqu\xE9.","D\xE9termine la largeur du curseur lorsque `#editor.cursorStyle#` est \xE0 `line`.","Contr\xF4le si l\u2019\xE9diteur autorise le d\xE9placement de s\xE9lections par glisser-d\xE9placer.","Multiplicateur de vitesse de d\xE9filement quand vous appuyez sur 'Alt'.","Contr\xF4le si l'\xE9diteur a le pliage de code activ\xE9.","Utilisez une strat\xE9gie de pliage propre \xE0 la langue, si disponible, sinon utilisez la strat\xE9gie bas\xE9e sur le retrait.","Utilisez la strat\xE9gie de pliage bas\xE9e sur le retrait.","Contr\xF4le la strat\xE9gie de calcul des plages de pliage.","Contr\xF4le si l'\xE9diteur doit mettre en \xE9vidence les plages pli\xE9es.","Contr\xF4le si le fait de cliquer sur le contenu vide apr\xE8s une ligne pli\xE9e d\xE9plie la ligne.","Contr\xF4le la famille de polices.","D\xE9termine si l\u2019\xE9diteur doit automatiquement mettre en forme le contenu coll\xE9. Un formateur doit \xEAtre disponible et \xEAtre capable de mettre en forme une plage dans un document.","Contr\xF4le si l\u2019\xE9diteur doit mettre automatiquement en forme la ligne apr\xE8s la saisie.","Contr\xF4le si l'\xE9diteur doit afficher la marge de glyphes verticale. La marge de glyphes sert principalement au d\xE9bogage.","Contr\xF4le si le curseur doit \xEAtre masqu\xE9 dans la r\xE8gle de la vue d\u2019ensemble.","Contr\xF4le si l\u2019\xE9diteur doit mettre en surbrillance le guide de mise en retrait actif.","Contr\xF4le l'espacement des lettres en pixels.","Contr\xF4le si la modification li\xE9e est activ\xE9e dans l'\xE9diteur. En fonction du langage, les symboles associ\xE9s, par exemple les balises HTML, sont mis \xE0 jour durant le processus de modification.","Contr\xF4le si l\u2019\xE9diteur doit d\xE9tecter les liens et les rendre cliquables.","Mettez en surbrillance les crochets correspondants.","Un multiplicateur \xE0 utiliser sur les `deltaX` et `deltaY` des \xE9v\xE9nements de d\xE9filement de roulette de souris.","Faire un zoom sur la police de l'\xE9diteur quand l'utilisateur fait tourner la roulette de la souris tout en maintenant la touche 'Ctrl' enfonc\xE9e.","Fusionnez plusieurs curseurs quand ils se chevauchent.","Mappe vers 'Contr\xF4le' dans Windows et Linux, et vers 'Commande' dans macOS.","Mappe vers 'Alt' dans Windows et Linux, et vers 'Option' dans macOS.","Le modificateur \xE0 utiliser pour ajouter plusieurs curseurs avec la souris. Les gestes de souris Atteindre la d\xE9finition et Ouvrir le lien s'adapteront tels qu\u2019ils n\u2019entrent pas en conflit avec le modificateur multicursor. [Lire la suite] (https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Chaque curseur colle une seule ligne de texte.","Chaque curseur colle le texte en entier.","Contr\xF4le le collage quand le nombre de lignes du texte coll\xE9 correspond au nombre de curseurs.","Contr\xF4le si l'\xE9diteur doit mettre en surbrillance les occurrences de symboles s\xE9mantiques.","Contr\xF4le si une bordure doit \xEAtre dessin\xE9e autour de la r\xE8gle de la vue d'ensemble.","Focus sur l'arborescence \xE0 l'ouverture de l'aper\xE7u","Placer le focus sur l'\xE9diteur \xE0 l'ouverture de l'aper\xE7u","Contr\xF4le s'il faut mettre le focus sur l'\xE9diteur inline ou sur l'arborescence dans le widget d'aper\xE7u.","Contr\xF4le si le geste de souris Acc\xE9der \xE0 la d\xE9finition ouvre toujours le widget d'aper\xE7u.","Contr\xF4le le d\xE9lai en millisecondes apr\xE8s lequel des suggestions rapides sont affich\xE9es.","Contr\xF4le si l'\xE9diteur renomme automatiquement selon le type.","D\xE9pr\xE9ci\xE9. Utilisez 'editor.linkedEditing' \xE0 la place.","Contr\xF4le si l\u2019\xE9diteur doit afficher les caract\xE8res de contr\xF4le.","Contr\xF4le si l\u2019\xE9diteur doit afficher les guides de mise en retrait.","Affichez le dernier num\xE9ro de ligne quand le fichier se termine par un saut de ligne.","Met en surbrillance la goutti\xE8re et la ligne actuelle.","Contr\xF4le la fa\xE7on dont l\u2019\xE9diteur doit afficher la mise en surbrillance de la ligne actuelle.","Contr\xF4le si l'\xE9diteur doit afficher la mise en surbrillance de la ligne actuelle seulement quand l'\xE9diteur a le focus","Affiche les espaces blancs \xE0 l'exception des espaces uniques entre les mots.","Afficher les espaces blancs uniquement sur le texte s\xE9lectionn\xE9.","Afficher uniquement les caract\xE8res correspondant aux espaces blancs de fin","Contr\xF4le la fa\xE7on dont l\u2019\xE9diteur doit restituer les caract\xE8res espaces.","Contr\xF4le si les s\xE9lections doivent avoir des angles arrondis.","Contr\xF4le le nombre de caract\xE8res suppl\xE9mentaires, au-del\xE0 duquel l\u2019\xE9diteur d\xE9file horizontalement.","Contr\xF4le si l\u2019\xE9diteur d\xE9file au-del\xE0 de la derni\xE8re ligne.","Faites d\xE9filer uniquement le long de l'axe pr\xE9dominant quand le d\xE9filement est \xE0 la fois vertical et horizontal. Emp\xEAche la d\xE9rive horizontale en cas de d\xE9filement vertical sur un pav\xE9 tactile.","Contr\xF4le si le presse-papiers principal Linux doit \xEAtre pris en charge.","Contr\xF4le si l'\xE9diteur doit mettre en surbrillance les correspondances similaires \xE0 la s\xE9lection.","Affichez toujours les contr\xF4les de pliage.","Affichez uniquement les contr\xF4les de pliage quand la souris est au-dessus de la reliure.","Contr\xF4le quand afficher les contr\xF4les de pliage sur la reliure.","Contr\xF4le la disparition du code inutile.","Contr\xF4le les variables d\xE9pr\xE9ci\xE9es barr\xE9es.","Afficher des suggestions d\u2019extraits au-dessus d\u2019autres suggestions.","Afficher des suggestions d\u2019extraits en-dessous d\u2019autres suggestions.","Afficher des suggestions d\u2019extraits avec d\u2019autres suggestions.","Ne pas afficher de suggestions d\u2019extrait de code.","Contr\xF4le si les extraits de code s'affichent en m\xEAme temps que d'autres suggestions, ainsi que leur mode de tri.","Contr\xF4le si l'\xE9diteur d\xE9file en utilisant une animation.","Taille de la police pour le widget de suggestion. Lorsque la valeur est \xE0 `0`, la valeur de `#editor.fontSize` est utilis\xE9e.","Hauteur de ligne du widget de suggestion. Quand la valeur est '0', la valeur de '#editor.lineHeight#' est utilis\xE9e. La valeur minimale est\xA08.","Contr\xF4le si les suggestions devraient automatiquement s\u2019afficher lorsque vous tapez les caract\xE8res de d\xE9clencheur.","S\xE9lectionnez toujours la premi\xE8re suggestion.","S\xE9lectionnez les suggestions r\xE9centes sauf si une entr\xE9e ult\xE9rieure en a s\xE9lectionn\xE9 une, par ex., 'console.| -> console.log', car 'log' a \xE9t\xE9 effectu\xE9 r\xE9cemment.","S\xE9lectionnez des suggestions en fonction des pr\xE9fixes pr\xE9c\xE9dents qui ont compl\xE9t\xE9 ces suggestions, par ex., 'co -> console' et 'con -> const'.","Contr\xF4le comment les suggestions sont pr\xE9-s\xE9lectionn\xE9s lors de l\u2019affichage de la liste de suggestion.","La compl\xE9tion par tabulation ins\xE9rera la meilleure suggestion lorsque vous appuyez sur tab.","D\xE9sactiver les compl\xE9tions par tabulation.","Compl\xE9ter les extraits de code par tabulation lorsque leur pr\xE9fixe correspond. Fonctionne mieux quand les 'quickSuggestions' ne sont pas activ\xE9es.","Active les compl\xE9tions par tabulation","Les marques de fin de ligne inhabituelles sont automatiquement supprim\xE9es.","Les marques de fin de ligne inhabituelles sont ignor\xE9es.","Les marques de fin de ligne inhabituelles demandent \xE0 \xEAtre supprim\xE9es.","Supprimez les marques de fin de ligne inhabituelles susceptibles de causer des probl\xE8mes.","L'insertion et la suppression des espaces blancs suit les taquets de tabulation.","Caract\xE8res utilis\xE9s comme s\xE9parateurs de mots durant la navigation ou les op\xE9rations bas\xE9es sur les mots","Le retour automatique \xE0 la ligne n'est jamais effectu\xE9.","Le retour automatique \xE0 la ligne s'effectue en fonction de la largeur de la fen\xEAtre d'affichage.","Les lignes seront termin\xE9es \xE0 `#editor.wordWrapColumn#`.","Les lignes seront termin\xE9es au minimum du viewport et `#editor.wordWrapColumn#`.","Contr\xF4le comment les lignes doivent \xEAtre limit\xE9es.","Contr\xF4le la colonne de terminaison de l\u2019\xE9diteur lorsque `#editor.wordWrap#` est \xE0 `wordWrapColumn` ou `bounded`.","Aucune mise en retrait. Les lignes envelopp\xE9es commencent \xE0 la colonne 1.","Les lignes envelopp\xE9es obtiennent la m\xEAme mise en retrait que le parent.","Les lignes justifi\xE9es obtiennent une mise en retrait +1 vers le parent.","Les lignes justifi\xE9es obtiennent une mise en retrait +2 vers le parent. ","Contr\xF4le la mise en retrait des lignes justifi\xE9es.","Suppose que tous les caract\xE8res ont la m\xEAme largeur. Il s'agit d'un algorithme rapide qui fonctionne correctement pour les polices \xE0 espacement fixe et certains scripts (comme les caract\xE8res latins) o\xF9 les glyphes ont la m\xEAme largeur.","D\xE9l\xE8gue le calcul des points de wrapping au navigateur. Il s'agit d'un algorithme lent qui peut provoquer le gel des grands fichiers, mais qui fonctionne correctement dans tous les cas.","Contr\xF4le l'algorithme qui calcule les points de wrapping."],"vs/editor/common/editorContextKeys":["Indique si le texte de l'\xE9diteur a le focus (le curseur clignote)","Indique si l'\xE9diteur ou un widget de l'\xE9diteur a le focus (par exemple, le focus se trouve sur le widget de recherche)","Indique si un \xE9diteur ou une entr\xE9e de texte mis en forme a le focus (le curseur clignote)","Indique si l'\xE9diteur est en lecture seule","Indique si le contexte est celui d'un \xE9diteur de diff\xE9rences","Indique si 'editor.columnSelection' est activ\xE9","Indique si du texte est s\xE9lectionn\xE9 dans l'\xE9diteur","Indique si l'\xE9diteur a plusieurs s\xE9lections","Indique si la touche Tab permet de d\xE9placer le focus hors de l'\xE9diteur","Indique si le pointage de l'\xE9diteur est visible","Indique si l'\xE9diteur fait partie d'un \xE9diteur plus important (par exemple Notebooks)","Identificateur de langage de l'\xE9diteur","Indique si l'\xE9diteur a un fournisseur d'\xE9l\xE9ments de compl\xE9tion","Indique si l'\xE9diteur a un fournisseur d'actions de code","Indique si l'\xE9diteur a un fournisseur d'informations CodeLens","Indique si l'\xE9diteur a un fournisseur de d\xE9finitions","Indique si l'\xE9diteur a un fournisseur de d\xE9clarations","Indique si l'\xE9diteur a un fournisseur d'impl\xE9mentation","Indique si l'\xE9diteur a un fournisseur de d\xE9finitions de type","Indique si l'\xE9diteur a un fournisseur de pointage","Indique si l'\xE9diteur a un fournisseur de mise en surbrillance pour les documents","Indique si l'\xE9diteur a un fournisseur de symboles pour les documents","Indique si l'\xE9diteur a un fournisseur de r\xE9f\xE9rence","Indique si l'\xE9diteur a un fournisseur de renommage","Indique si l'\xE9diteur a un fournisseur d'aide sur les signatures","Indique si l'\xE9diteur a un fournisseur d'indicateurs inline","Indique si l'\xE9diteur a un fournisseur de mise en forme pour les documents","Indique si l'\xE9diteur a un fournisseur de mise en forme de s\xE9lection pour les documents","Indique si l'\xE9diteur a plusieurs fournisseurs de mise en forme pour les documents","Indique si l'\xE9diteur a plusieurs fournisseurs de mise en forme de s\xE9lection pour les documents"],"vs/editor/common/model/editStack":["Frappe en cours"],"vs/editor/common/modes/modesRegistry":["Texte brut"],"vs/editor/common/standaloneStrings":["Aucune s\xE9lection","Ligne {0}, colonne {1} ({2} s\xE9lectionn\xE9)","Ligne {0}, colonne {1}","{0} s\xE9lections ({1} caract\xE8res s\xE9lectionn\xE9s)","{0} s\xE9lections","Remplacement du param\xE8tre 'accessibilitySupport' par 'on'.","Ouverture de la page de documentation sur l'accessibilit\xE9 de l'\xE9diteur.","dans un volet en lecture seule d'un \xE9diteur de diff\xE9rences.","dans un volet d'un \xE9diteur de diff\xE9rences."," dans un \xE9diteur de code en lecture seule"," dans un \xE9diteur de code","Pour configurer l'\xE9diteur de mani\xE8re \xE0 \xEAtre optimis\xE9 en cas d'utilisation d'un lecteur d'\xE9cran, appuyez sur Commande+E maintenant.","Pour configurer l'\xE9diteur de mani\xE8re \xE0 \xEAtre optimis\xE9 en cas d'utilisation d'un lecteur d'\xE9cran, appuyez sur Contr\xF4le+E maintenant.","L'\xE9diteur est configur\xE9 pour \xEAtre optimis\xE9 en cas d'utilisation avec un lecteur d'\xE9cran.","L'\xE9diteur est configur\xE9 pour ne jamais \xEAtre optimis\xE9 en cas d'utilisation avec un lecteur d'\xE9cran, ce qui n'est pas le cas pour le moment.","Appuyez sur Tab dans l'\xE9diteur pour d\xE9placer le focus vers le prochain \xE9l\xE9ment pouvant \xEAtre d\xE9sign\xE9 comme \xE9l\xE9ment actif. Activez ou d\xE9sactivez ce comportement en appuyant sur {0}.","Appuyez sur Tab dans l'\xE9diteur pour d\xE9placer le focus vers le prochain \xE9l\xE9ment pouvant \xEAtre d\xE9sign\xE9 comme \xE9l\xE9ment actif. La commande {0} ne peut pas \xEAtre d\xE9clench\xE9e par une combinaison de touches.","Appuyez sur Tab dans l'\xE9diteur pour ins\xE9rer le caract\xE8re de tabulation. Activez ou d\xE9sactivez ce comportement en appuyant sur {0}.","Appuyez sur Tab dans l'\xE9diteur pour ins\xE9rer le caract\xE8re de tabulation. La commande {0} ne peut pas \xEAtre d\xE9clench\xE9e par une combinaison de touches.","Appuyez sur Commande+H maintenant pour ouvrir une fen\xEAtre de navigateur avec plus d'informations sur l'accessibilit\xE9 de l'\xE9diteur.","Appuyez sur Contr\xF4le+H maintenant pour ouvrir une fen\xEAtre de navigateur avec plus d'informations sur l'accessibilit\xE9 de l'\xE9diteur.","Vous pouvez masquer cette info-bulle et revenir \xE0 l'\xE9diteur en appuyant sur \xC9chap ou Maj+\xC9chap.","Afficher l'aide sur l'accessibilit\xE9","D\xE9veloppeur\xA0: Inspecter les jetons","Acc\xE9der \xE0 la ligne/colonne...","Afficher tous les fournisseurs d'acc\xE8s rapide","Palette de commandes","Commandes d'affichage et d'ex\xE9cution","Acc\xE9der au symbole...","Acc\xE9der au symbole par cat\xE9gorie...","Contenu de l'\xE9diteur","Appuyez sur Alt+F1 pour voir les options d'accessibilit\xE9.","Activer/d\xE9sactiver le th\xE8me \xE0 contraste \xE9lev\xE9","{0} modifications dans {1} fichiers"],"vs/editor/common/view/editorColorRegistry":["Couleur d'arri\xE8re-plan de la mise en surbrillance de la ligne \xE0 la position du curseur.","Couleur d'arri\xE8re-plan de la bordure autour de la ligne \xE0 la position du curseur.","Couleur d'arri\xE8re-plan des plages mises en surbrillance, comme par les fonctionnalit\xE9s de recherche et Quick Open. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur d'arri\xE8re-plan de la bordure autour des plages mises en surbrillance.","Couleur d'arri\xE8re-plan du symbole mis en surbrillance, comme le symbole Atteindre la d\xE9finition ou Suivant/Pr\xE9c\xE9dent. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les d\xE9corations sous-jacentes.","Couleur d'arri\xE8re-plan de la bordure autour des symboles mis en surbrillance.","Couleur du curseur de l'\xE9diteur.","La couleur de fond du curseur de l'\xE9diteur. Permet de personnaliser la couleur d'un caract\xE8re survol\xE9 par un curseur de bloc.","Couleur des espaces blancs dans l'\xE9diteur.","Couleur des rep\xE8res de retrait de l'\xE9diteur.","Couleur des guides d'indentation de l'\xE9diteur actif","Couleur des num\xE9ros de ligne de l'\xE9diteur.","Couleur des num\xE9ros de lignes actives de l'\xE9diteur","L\u2019ID est d\xE9pr\xE9ci\xE9. Utilisez \xE0 la place 'editorLineNumber.activeForeground'.","Couleur des num\xE9ros de lignes actives de l'\xE9diteur","Couleur des r\xE8gles de l'\xE9diteur","Couleur pour les indicateurs CodeLens","Couleur d'arri\xE8re-plan pour les accolades associ\xE9es","Couleur pour le contour des accolades associ\xE9es","Couleur de la bordure de la r\xE8gle d'aper\xE7u.","Couleur d'arri\xE8re-plan de la r\xE8gle d'aper\xE7u de l'\xE9diteur. Utilis\xE9e uniquement quand la minimap est activ\xE9e et plac\xE9e sur le c\xF4t\xE9 droit de l'\xE9diteur.","Couleur de fond pour la bordure de l'\xE9diteur. La bordure contient les marges pour les symboles et les num\xE9ros de ligne.","Couleur de bordure du code source inutile (non utilis\xE9) dans l'\xE9diteur.","Opacit\xE9 du code source inutile (non utilis\xE9) dans l'\xE9diteur. Par exemple, '#000000c0' affiche le code avec une opacit\xE9 de 75\xA0%. Pour les th\xE8mes \xE0 fort contraste, utilisez la couleur de th\xE8me 'editorUnnecessaryCode.border' pour souligner le code inutile au lieu d'utiliser la transparence.","Couleur de marqueur de la r\xE8gle d'aper\xE7u pour la mise en surbrillance des plages. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur du marqueur de la r\xE8gle d'aper\xE7u pour les erreurs.","Couleur du marqueur de la r\xE8gle d'aper\xE7u pour les avertissements.","Couleur du marqueur de la r\xE8gle d'aper\xE7u pour les informations."],"vs/editor/contrib/anchorSelect/anchorSelect":["Ancre de s\xE9lection","Ancre d\xE9finie sur {0}:{1}","D\xE9finir l'ancre de s\xE9lection","Atteindre l'ancre de s\xE9lection","S\xE9lectionner de l'ancre au curseur","Annuler l'ancre de s\xE9lection"],"vs/editor/contrib/bracketMatching/bracketMatching":["Couleur du marqueur de la r\xE8gle d'aper\xE7u pour rechercher des parenth\xE8ses.","Atteindre le crochet","S\xE9lectionner jusqu'au crochet","Acc\xE9der au &&crochet"],"vs/editor/contrib/caretOperations/caretOperations":["D\xE9placer le texte s\xE9lectionn\xE9 \xE0 gauche","D\xE9placer le texte s\xE9lectionn\xE9 \xE0 droite"],"vs/editor/contrib/caretOperations/transpose":["Transposer les lettres"],"vs/editor/contrib/clipboard/clipboard":["Co&&uper","Couper","Couper","&&Copier","Copier","Copier","Co&&ller","Coller","Coller","Copier avec la coloration syntaxique"],"vs/editor/contrib/codeAction/codeActionCommands":["Type d'action de code \xE0 ex\xE9cuter.","Contr\xF4le quand les actions retourn\xE9es sont appliqu\xE9es.","Appliquez toujours la premi\xE8re action de code retourn\xE9e.","Appliquez la premi\xE8re action de code retourn\xE9e si elle est la seule.","N'appliquez pas les actions de code retourn\xE9es.","Contr\xF4le si seules les actions de code par d\xE9faut doivent \xEAtre retourn\xE9es.","Une erreur inconnue s'est produite \xE0 l'application de l'action du code","Correction rapide...","Aucune action de code disponible","Aucune action de code pr\xE9f\xE9r\xE9e n'est disponible pour '{0}'","Aucune action de code disponible pour '{0}'","Aucune action de code par d\xE9faut disponible","Aucune action de code disponible","Remanier...","Aucune refactorisation par d\xE9faut disponible pour '{0}'","Aucune refactorisation disponible pour '{0}'","Aucune refactorisation par d\xE9faut disponible","Aucune refactorisation disponible","Action de la source","Aucune action source par d\xE9faut disponible pour '{0}'","Aucune action source disponible pour '{0}'","Aucune action source par d\xE9faut disponible","Aucune action n'est disponible","Organiser les importations","Aucune action organiser les imports disponible","Tout corriger","Aucune action Tout corriger disponible","Corriger automatiquement...","Aucun correctif automatique disponible"],"vs/editor/contrib/codeAction/lightBulbWidget":["Affichez les corrections. Correction pr\xE9f\xE9r\xE9e disponible ({0})","Afficher les correctifs ({0})","Afficher les correctifs"],"vs/editor/contrib/codelens/codelensController":["Afficher les commandes Code Lens de la ligne actuelle"],"vs/editor/contrib/comment/comment":["Activer/d\xE9sactiver le commentaire de ligne","Afficher/masquer le commen&&taire de ligne","Ajouter le commentaire de ligne","Supprimer le commentaire de ligne","Activer/d\xE9sactiver le commentaire de bloc","Afficher/masquer le commentaire de &&bloc"],"vs/editor/contrib/contextmenu/contextmenu":["Afficher le menu contextuel de l'\xE9diteur"],"vs/editor/contrib/cursorUndo/cursorUndo":["Annulation du curseur","Restauration du curseur"],"vs/editor/contrib/find/findController":["Rechercher","&&Rechercher","Rechercher dans la s\xE9lection","Rechercher suivant","Rechercher suivant","Rechercher pr\xE9c\xE9dent","Rechercher pr\xE9c\xE9dent","S\xE9lection suivante","S\xE9lection pr\xE9c\xE9dente","Remplacer","&&Remplacer"],"vs/editor/contrib/find/findWidget":["Ic\xF4ne de l'option Rechercher dans la s\xE9lection dans le widget de recherche de l'\xE9diteur.","Ic\xF4ne permettant d'indiquer que le widget de recherche de l'\xE9diteur est r\xE9duit.","Ic\xF4ne permettant d'indiquer que le widget de recherche de l'\xE9diteur est d\xE9velopp\xE9.","Ic\xF4ne de l'option Remplacer dans le widget de recherche de l'\xE9diteur.","Ic\xF4ne de l'option Tout remplacer dans le widget de recherche de l'\xE9diteur.","Ic\xF4ne de l'option Rechercher pr\xE9c\xE9dent dans le widget de recherche de l'\xE9diteur.","Ic\xF4ne de l'option Rechercher suivant dans le widget de recherche de l'\xE9diteur.","Rechercher","Rechercher","Correspondance pr\xE9c\xE9dente","Prochaine correspondance","Rechercher dans la s\xE9lection","Fermer","Remplacer","Remplacer","Remplacer","Tout remplacer","Changer le mode de remplacement","Seuls les {0} premiers r\xE9sultats sont mis en \xE9vidence, mais toutes les op\xE9rations de recherche fonctionnent sur l\u2019ensemble du texte.","{0} sur {1}","Aucun r\xE9sultat","{0} trouv\xE9(s)","{0} trouv\xE9 pour '{1}'","{0} trouv\xE9 pour '{1}', sur {2}","{0} trouv\xE9 pour '{1}'","La combinaison Ctrl+Entr\xE9e permet d\xE9sormais d'ajouter un saut de ligne au lieu de tout remplacer. Vous pouvez modifier le raccourci clavier de editor.action.replaceAll pour red\xE9finir le comportement."],"vs/editor/contrib/folding/folding":["D\xE9plier","D\xE9plier de mani\xE8re r\xE9cursive","Plier","Activer/d\xE9sactiver le pliage","Plier de mani\xE8re r\xE9cursive","Replier tous les commentaires de bloc","Replier toutes les r\xE9gions","D\xE9plier toutes les r\xE9gions","Plier tout","D\xE9plier tout","Niveau de pliage {0}","Couleur d'arri\xE8re-plan des gammes pli\xE9es. La couleur ne doit pas \xEAtre opaque pour ne pas cacher les d\xE9corations sous-jacentes.","Couleur du contr\xF4le de pliage dans la marge de l'\xE9diteur."],"vs/editor/contrib/folding/foldingDecorations":["Ic\xF4ne des plages d\xE9velopp\xE9es dans la marge de glyphes de l'\xE9diteur.","Ic\xF4ne des plages r\xE9duites dans la marge de glyphes de l'\xE9diteur."],"vs/editor/contrib/fontZoom/fontZoom":["Agrandissement de l'\xE9diteur de polices de caract\xE8res","R\xE9tr\xE9cissement de l'\xE9diteur de polices de caract\xE8res","Remise \xE0 niveau du zoom de l'\xE9diteur de polices de caract\xE8res"],"vs/editor/contrib/format/format":["1\xA0modification de format effectu\xE9e \xE0 la ligne {0}","{0} modifications de format effectu\xE9es \xE0 la ligne {1}","1\xA0modification de format effectu\xE9e entre les lignes {0} et {1}","{0} modifications de format effectu\xE9es entre les lignes {1} et {2}"],"vs/editor/contrib/format/formatActions":["Mettre le document en forme","Mettre la s\xE9lection en forme"],"vs/editor/contrib/gotoError/gotoError":["Aller au probl\xE8me suivant (Erreur, Avertissement, Info)","Ic\xF4ne du prochain marqueur goto.","Aller au probl\xE8me pr\xE9c\xE9dent (Erreur, Avertissement, Info)","Ic\xF4ne du pr\xE9c\xE9dent marqueur goto.","Aller au probl\xE8me suivant dans Fichiers (Erreur, Avertissement, Info)","&&Probl\xE8me suivant","Aller au probl\xE8me pr\xE9c\xE9dent dans Fichiers (Erreur, Avertissement, Info)","&&Probl\xE8me pr\xE9c\xE9dent"],"vs/editor/contrib/gotoError/gotoErrorWidget":["Erreur","Avertissement","Info","Conseil","{0} \xE0 {1}. ","{0}\xA0probl\xE8mes sur\xA0{1}","{0}\xA0probl\xE8me(s) sur {1}","Couleur d'erreur du widget de navigation dans les marqueurs de l'\xE9diteur.","Couleur d'avertissement du widget de navigation dans les marqueurs de l'\xE9diteur.","Couleur d\u2019information du widget de navigation du marqueur de l'\xE9diteur.","Arri\xE8re-plan du widget de navigation dans les marqueurs de l'\xE9diteur."],"vs/editor/contrib/gotoSymbol/goToCommands":["Aper\xE7u","D\xE9finitions","D\xE9finition introuvable pour '{0}'","D\xE9finition introuvable","Atteindre la d\xE9finition","Atteindre la &&d\xE9finition","Ouvrir la d\xE9finition sur le c\xF4t\xE9","Faire un Peek de la D\xE9finition","D\xE9clarations","Aucune d\xE9claration pour '{0}'","Aucune d\xE9claration","Acc\xE9der \xE0 la d\xE9claration","Atteindre la &&d\xE9claration","Aucune d\xE9claration pour '{0}'","Aucune d\xE9claration","Aper\xE7u de la d\xE9claration","D\xE9finitions de type","D\xE9finition de type introuvable pour '{0}'","D\xE9finition de type introuvable","Atteindre la d\xE9finition de type","Acc\xE9der \xE0 la d\xE9finition de &&type","Aper\xE7u de la d\xE9finition du type","Impl\xE9mentations","Impl\xE9mentation introuvable pour '{0}'","Impl\xE9mentation introuvable","Atteindre les impl\xE9mentations","Atteindre les &&impl\xE9mentations","Impl\xE9mentations d'aper\xE7u","Aucune r\xE9f\xE9rence pour '{0}'","Aucune r\xE9f\xE9rence","Atteindre les r\xE9f\xE9rences","Atteindre les &&r\xE9f\xE9rences","R\xE9f\xE9rences","Aper\xE7u des r\xE9f\xE9rences","R\xE9f\xE9rences","Atteindre un symbole","Emplacements","Aucun r\xE9sultat pour \xAB\xA0{0}\xA0\xBB","R\xE9f\xE9rences"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Cliquez pour afficher {0}\xA0d\xE9finitions."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Chargement en cours...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["{0} r\xE9f\xE9rences","{0} r\xE9f\xE9rence","R\xE9f\xE9rences"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["aper\xE7u non disponible","Aucun r\xE9sultat","R\xE9f\xE9rences"],"vs/editor/contrib/gotoSymbol/referencesModel":["symbole dans {0} sur la ligne {1}, colonne {2}","symbole dans {0} \xE0 la ligne {1}, colonne {2}, {3}","1 symbole dans {0}, chemin complet {1}","{0} symboles dans {1}, chemin complet {2}","R\xE9sultats introuvables","1\xA0symbole dans {0}","{0}\xA0symboles dans {1}","{0}\xA0symboles dans {1} fichiers"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Symbole {0} sur {1}, {2} pour le suivant","Symbole {0} sur {1}"],"vs/editor/contrib/hover/hover":["Afficher par pointage","Afficher le pointeur de l'aper\xE7u de d\xE9finition"],"vs/editor/contrib/hover/markdownHoverParticipant":["Chargement en cours..."],"vs/editor/contrib/hover/markerHoverParticipant":["Voir le probl\xE8me","Aucune solution disponible dans l'imm\xE9diat","Recherche de correctifs rapides...","Aucune solution disponible dans l'imm\xE9diat","Correction rapide..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Remplacer par la valeur pr\xE9c\xE9dente","Remplacer par la valeur suivante"],"vs/editor/contrib/indentation/indentation":["Convertir les retraits en espaces","Convertir les retraits en tabulations","Taille des tabulations configur\xE9e","S\xE9lectionner la taille des tabulations pour le fichier actuel","Mettre en retrait avec des tabulations","Mettre en retrait avec des espaces","D\xE9tecter la mise en retrait \xE0 partir du contenu","Remettre en retrait les lignes","R\xE9indenter les lignes s\xE9lectionn\xE9es"],"vs/editor/contrib/linesOperations/linesOperations":["Copier la ligne en haut","&&Copier la ligne en haut","Copier la ligne en bas","Co&&pier la ligne en bas","Dupliquer la s\xE9lection","&&Dupliquer la s\xE9lection","D\xE9placer la ligne vers le haut","D\xE9placer la ligne &&vers le haut","D\xE9placer la ligne vers le bas","D\xE9placer la &&ligne vers le bas","Trier les lignes dans l'ordre croissant","Trier les lignes dans l'ordre d\xE9croissant","D\xE9couper l'espace blanc de fin","Supprimer la ligne","Mettre en retrait la ligne","Ajouter un retrait n\xE9gatif \xE0 la ligne","Ins\xE9rer une ligne au-dessus","Ins\xE9rer une ligne sous","Supprimer tout ce qui est \xE0 gauche","Supprimer tout ce qui est \xE0 droite","Joindre les lignes","Transposer les caract\xE8res autour du curseur","Transformer en majuscule","Transformer en minuscule",'Appliquer la casse "1re lettre des mots en majuscule"',"Transformer en snake case"],"vs/editor/contrib/linkedEditing/linkedEditing":["D\xE9marrer la modification li\xE9e","Couleur d'arri\xE8re-plan quand l'\xE9diteur renomme automatiquement le type."],"vs/editor/contrib/links/links":["Ex\xE9cuter la commande","suivre le lien","cmd + clic","ctrl + clic","option + clic","alt + clic","Ex\xE9cuter la commande {0}","\xC9chec de l'ouverture de ce lien, car il n'est pas bien form\xE9\xA0: {0}","\xC9chec de l'ouverture de ce lien, car sa cible est manquante.","Ouvrir le lien"],"vs/editor/contrib/message/messageController":["Indique si l'\xE9diteur affiche un message inline","Impossible de modifier dans l\u2019\xE9diteur en lecture seule"],"vs/editor/contrib/multicursor/multicursor":["Ajouter un curseur au-dessus","&&Ajouter un curseur au-dessus","Ajouter un curseur en dessous","Aj&&outer un curseur en dessous","Ajouter des curseurs \xE0 la fin des lignes","Ajouter des c&&urseurs \xE0 la fin des lignes","Ajouter des curseurs en bas","Ajouter des curseurs en haut","Ajouter la s\xE9lection \xE0 la correspondance de recherche suivante","Ajouter l'occurrence suiva&&nte","Ajouter la s\xE9lection \xE0 la correspondance de recherche pr\xE9c\xE9dente","Ajouter l'occurrence p&&r\xE9c\xE9dente","D\xE9placer la derni\xE8re s\xE9lection vers la correspondance de recherche suivante","D\xE9placer la derni\xE8re s\xE9lection \xE0 la correspondance de recherche pr\xE9c\xE9dente","S\xE9lectionner toutes les occurrences des correspondances de la recherche","S\xE9lectionner toutes les &&occurrences","Modifier toutes les occurrences"],"vs/editor/contrib/parameterHints/parameterHints":["Indicateurs des param\xE8tres Trigger"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["Ic\xF4ne d'affichage du prochain conseil de param\xE8tre.","Ic\xF4ne d'affichage du pr\xE9c\xE9dent conseil de param\xE8tre.","{0}, conseil"],"vs/editor/contrib/peekView/peekView":["Fermer","Couleur d'arri\xE8re-plan de la zone de titre de l'affichage d'aper\xE7u.","Couleur du titre de l'affichage d'aper\xE7u.","Couleur des informations sur le titre de l'affichage d'aper\xE7u.","Couleur des bordures et de la fl\xE8che de l'affichage d'aper\xE7u.","Couleur d'arri\xE8re-plan de la liste des r\xE9sultats de l'affichage d'aper\xE7u.","Couleur de premier plan des noeuds de lignes dans la liste des r\xE9sultats de l'affichage d'aper\xE7u.","Couleur de premier plan des noeuds de fichiers dans la liste des r\xE9sultats de l'affichage d'aper\xE7u.","Couleur d'arri\xE8re-plan de l'entr\xE9e s\xE9lectionn\xE9e dans la liste des r\xE9sultats de l'affichage d'aper\xE7u.","Couleur de premier plan de l'entr\xE9e s\xE9lectionn\xE9e dans la liste des r\xE9sultats de l'affichage d'aper\xE7u.","Couleur d'arri\xE8re-plan de l'\xE9diteur d'affichage d'aper\xE7u.","Couleur d'arri\xE8re-plan de la bordure de l'\xE9diteur d'affichage d'aper\xE7u.","Couleur de mise en surbrillance d'une correspondance dans la liste des r\xE9sultats de l'affichage d'aper\xE7u.","Couleur de mise en surbrillance d'une correspondance dans l'\xE9diteur de l'affichage d'aper\xE7u.","Bordure de mise en surbrillance d'une correspondance dans l'\xE9diteur de l'affichage d'aper\xE7u."],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["Ouvrez d'abord un \xE9diteur de texte pour acc\xE9der \xE0 une ligne.","Allez \xE0 la ligne {0}, colonne {1}.","Acc\xE9dez \xE0 la ligne {0}.","Ligne actuelle\xA0: {0}, caract\xE8re\xA0: {1}. Tapez un num\xE9ro de ligne entre\xA01 et\xA0{2} auquel acc\xE9der.","Ligne actuelle\xA0: {0}, caract\xE8re\xA0: {1}. Tapez un num\xE9ro de ligne auquel acc\xE9der."],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["Pour acc\xE9der \xE0 un symbole, ouvrez d'abord un \xE9diteur de texte avec des informations de symbole.","L'\xE9diteur de texte actif ne fournit pas les informations de symbole.","Aucun symbole d'\xE9diteur correspondant","Aucun symbole d'\xE9diteur","Ouvrir sur le c\xF4t\xE9","Ouvrir en bas","symboles ({0})","propri\xE9t\xE9s ({0})","m\xE9thodes ({0})","fonctions ({0})","constructeurs ({0})","variables ({0})","classes ({0})","structs ({0})","\xE9v\xE9nements ({0})","op\xE9rateurs ({0})","interfaces ({0})","espaces de noms ({0})","packages ({0})","param\xE8tres de type ({0})","modules ({0})","propri\xE9t\xE9s ({0})","\xE9num\xE9rations ({0})","membres d'\xE9num\xE9ration ({0})","cha\xEEnes ({0})","fichiers ({0})","tableaux ({0})","nombres ({0})","bool\xE9ens ({0})","objets ({0})","cl\xE9s ({0})","champs ({0})","constantes ({0})"],"vs/editor/contrib/rename/rename":["Aucun r\xE9sultat.","Une erreur inconnue s'est produite lors de la r\xE9solution de l'emplacement de renommage","Renommage de '{0}'","Changement du nom de {0}","'{0}' renomm\xE9 en '{1}'. R\xE9capitulatif : {2}","Le renommage n'a pas pu appliquer les modifications","Le renommage n'a pas pu calculer les modifications","Renommer le symbole","Activer/d\xE9sactiver la possibilit\xE9 d'afficher un aper\xE7u des changements avant le renommage"],"vs/editor/contrib/rename/renameInputField":["Renommez l'entr\xE9e. Tapez le nouveau nom et appuyez sur Entr\xE9e pour valider.","{0} pour renommer, {1} pour afficher un aper\xE7u"],"vs/editor/contrib/smartSelect/smartSelect":["\xC9tendre la s\xE9lection","D\xE9v&&elopper la s\xE9lection","R\xE9duire la s\xE9lection","&&R\xE9duire la s\xE9lection"],"vs/editor/contrib/snippet/snippetVariables":["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dim","Lun","Mar","Mer","Jeu","Ven","Sam","Janvier","F\xE9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\xFBt","Septembre","Octobre","Novembre","D\xE9cembre","Jan","F\xE9v","Mar","Avr","Mai","Juin","Jul","Ao\xFB","Sept","Oct","Nov","D\xE9c"],"vs/editor/contrib/suggest/suggestController":["L'acceptation de '{0}' a entra\xEEn\xE9 {1}\xA0modifications suppl\xE9mentaires","Suggestions pour Trigger","Ins\xE9rer","Ins\xE9rer","Remplacer","Remplacer","Ins\xE9rer","afficher moins","afficher plus","R\xE9initialiser la taille du widget de suggestion"],"vs/editor/contrib/suggest/suggestWidget":["Couleur d'arri\xE8re-plan du widget de suggestion.","Couleur de bordure du widget de suggestion.","Couleur de premier plan du widget de suggestion.","Couleur d'arri\xE8re-plan de l'entr\xE9e s\xE9lectionn\xE9e dans le widget de suggestion.","Couleur de la surbrillance des correspondances dans le widget de suggestion.","Chargement en cours...","Pas de suggestions.","{0}, documents\xA0: {1}","Sugg\xE9rer"],"vs/editor/contrib/suggest/suggestWidgetDetails":["Fermer","Chargement en cours..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["Ic\xF4ne d'affichage d'informations suppl\xE9mentaires dans le widget de suggestion.","Lire la suite"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["Couleur de premier plan des symboles de tableau. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles bool\xE9ens. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de classe. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de couleur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan pour les symboles de constante. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de constructeur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'\xE9num\xE9rateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de membre d'\xE9num\xE9rateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'\xE9v\xE9nement. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de champ. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de fichier. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de dossier. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de fonction. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'interface. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de cl\xE9. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de mot cl\xE9. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de m\xE9thode. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de module. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'espace de noms. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles null. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de nombre. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'objet. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'op\xE9rateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de package. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de propri\xE9t\xE9. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de r\xE9f\xE9rence. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'extrait de code. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de cha\xEEne. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de struct. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de texte. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de param\xE8tre de type. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'unit\xE9. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de variable. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion."],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Activer/d\xE9sactiver l'utilisation de la touche Tab pour d\xE9placer le focus","Appuyer sur Tab d\xE9placera le focus vers le prochain \xE9l\xE9ment pouvant \xEAtre d\xE9sign\xE9 comme \xE9l\xE9ment actif","Appuyer sur Tab ins\xE9rera le caract\xE8re de tabulation"],"vs/editor/contrib/tokenization/tokenization":["D\xE9veloppeur\xA0: forcer la retokenisation"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["Marques de fin de ligne inhabituelles","Marques de fin de ligne inhabituelles d\xE9tect\xE9es",`Ce fichier contient un ou plusieurs caract\xE8res de fin de ligne inhabituels, par exemple le s\xE9parateur de ligne (LS) ou le s\xE9parateur de paragraphe (PS).\r +\r +Il est recommand\xE9 de les supprimer du fichier. Vous pouvez le configurer via 'editor.unusualLineTerminators'.`,"Corriger ce fichier","Ignorer le probl\xE8me pour ce fichier"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["Couleur d'arri\xE8re-plan d'un symbole pendant l'acc\xE8s en lecture, comme la lecture d'une variable. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur d'arri\xE8re-plan d'un symbole pendant l'acc\xE8s en \xE9criture, comme l'\xE9criture d'une variable. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur de bordure d'un symbole durant l'acc\xE8s en lecture, par exemple la lecture d'une variable.","Couleur de bordure d'un symbole durant l'acc\xE8s en \xE9criture, par exemple l'\xE9criture dans une variable.","Couleur de marqueur de la r\xE8gle d'aper\xE7u pour la mise en surbrillance des symboles. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur de marqueur de la r\xE8gle d'aper\xE7u pour la mise en surbrillance des symboles d'acc\xE8s en \xE9criture. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Aller \xE0 la prochaine mise en \xE9vidence de symbole","Aller \xE0 la mise en \xE9vidence de symbole pr\xE9c\xE9dente","D\xE9clencher la mise en \xE9vidence de symbole"],"vs/editor/contrib/wordOperations/wordOperations":["Supprimer le mot"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["Substitutions de configuration du langage par d\xE9faut","Configurez les param\xE8tres d'\xE9diteur \xE0 remplacer pour un langage.","Ce param\xE8tre ne prend pas en charge la configuration par langage.","Impossible d'inscrire une propri\xE9t\xE9 vide","Impossible d'inscrire '{0}'. Ceci correspond au mod\xE8le de propri\xE9t\xE9 '\\\\[.*\\\\]$' permettant de d\xE9crire les param\xE8tres d'\xE9diteur sp\xE9cifiques \xE0 un langage. Utilisez la contribution 'configurationDefaults'.","Impossible d'inscrire '{0}'. Cette propri\xE9t\xE9 est d\xE9j\xE0 inscrite."],"vs/platform/contextkey/browser/contextKeyService":["Commande qui retourne des informations sur les cl\xE9s de contexte"],"vs/platform/contextkey/common/contextkeys":["Indique si le syst\xE8me d'exploitation est Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["Touche ({0}) utilis\xE9e. En attente d'une seconde touche...","La combinaison de touches ({0}, {1}) n\u2019est pas une commande."],"vs/platform/list/browser/listService":["Banc d'essai","Mappe vers 'Contr\xF4le' dans Windows et Linux, et vers 'Commande' dans macOS.","Mappe vers 'Alt' dans Windows et Linux, et vers 'Option' dans macOS.","Le modificateur \xE0 utiliser pour ajouter un \xE9l\xE9ment dans les arbres et listes pour une s\xE9lection multiple avec la souris (par exemple dans l\u2019Explorateur, les \xE9diteurs ouverts et la vue scm). Les mouvements de la souris 'Ouvrir \xE0 c\xF4t\xE9' (si pris en charge) s'adapteront tels qu\u2019ils n'entrent pas en conflit avec le modificateur multiselect.","Contr\xF4le l'ouverture des \xE9l\xE9ments dans les arborescences et les listes \xE0 l'aide de la souris (si cela est pris en charge). Notez que certaines arborescences et listes peuvent choisir d'ignorer ce param\xE8tre, s'il est non applicable.","Contr\xF4le si les listes et les arborescences prennent en charge le d\xE9filement horizontal dans le banc d'essai. Avertissement : L'activation de ce param\xE8tre a un impact sur les performances.","Contr\xF4le la mise en retrait de l'arborescence, en pixels.","Contr\xF4le si l'arborescence doit afficher les rep\xE8res de mise en retrait.","D\xE9termine si les listes et les arborescences ont un d\xE9filement fluide.","La navigation au clavier Simple place le focus sur les \xE9l\xE9ments qui correspondent \xE0 l'entr\xE9e de clavier. La mise en correspondance est effectu\xE9e sur les pr\xE9fixes uniquement.","La navigation de mise en surbrillance au clavier met en surbrillance les \xE9l\xE9ments qui correspondent \xE0 l'entr\xE9e de clavier. La navigation ult\xE9rieure vers le haut ou vers le bas parcourt uniquement les \xE9l\xE9ments mis en surbrillance.","La navigation au clavier Filtrer filtre et masque tous les \xE9l\xE9ments qui ne correspondent pas \xE0 l'entr\xE9e de clavier.","Contr\xF4le le style de navigation au clavier pour les listes et les arborescences dans le banc d'essai. Les options sont Simple, Mise en surbrillance et Filtrer.","Contr\xF4le si la navigation au clavier dans les listes et les arborescences est automatiquement d\xE9clench\xE9e simplement par la frappe. Si d\xE9fini sur 'false', la navigation au clavier est seulement d\xE9clench\xE9e avec l'ex\xE9cution de la commande 'list.toggleKeyboardNavigation', \xE0 laquelle vous pouvez attribuer un raccourci clavier.","Contr\xF4le la fa\xE7on dont les dossiers de l'arborescence sont d\xE9velopp\xE9s quand vous cliquez sur les noms de dossiers. Notez que certaines arborescences et listes peuvent choisir d'ignorer ce param\xE8tre, s'il est non applicable."],"vs/platform/markers/common/markers":["Erreur","Avertissement","Info"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","r\xE9cemment utilis\xE9es","autres commandes","La commande '{0}' a entra\xEEn\xE9 une erreur ({1})"],"vs/platform/quickinput/browser/helpQuickAccess":["commandes globales","commandes de l'\xE9diteur","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["Couleur de premier plan globale. Cette couleur est utilis\xE9e si elle n'est pas remplac\xE9e par un composant.","Couleur principale de premier plan pour les messages d'erreur. Cette couleur est utilis\xE9e uniquement si elle n'est pas red\xE9finie par un composant.","Couleur par d\xE9faut des ic\xF4nes du banc d'essai.","Couleur de bordure globale des \xE9l\xE9ments ayant le focus. Cette couleur est utilis\xE9e si elle n'est pas remplac\xE9e par un composant.","Bordure suppl\xE9mentaire autour des \xE9l\xE9ments pour les s\xE9parer des autres et obtenir un meilleur contraste.","Bordure suppl\xE9mentaire autour des \xE9l\xE9ments actifs pour les s\xE9parer des autres et obtenir un meilleur contraste.","Couleur des liens dans le texte.","Couleur d'arri\xE8re-plan des blocs de code dans le texte.","Couleur de l'ombre des widgets, comme rechercher/remplacer, au sein de l'\xE9diteur.","Arri\xE8re-plan de la zone d'entr\xE9e.","Premier plan de la zone d'entr\xE9e.","Bordure de la zone d'entr\xE9e.","Couleur de la bordure des options activ\xE9es dans les champs d'entr\xE9e.","Couleur d'arri\xE8re-plan des options activ\xE9es dans les champs d'entr\xE9e.","Couleur de premier plan des options activ\xE9es dans les champs d'entr\xE9e.","Couleur d'arri\xE8re-plan de la validation d'entr\xE9e pour la gravit\xE9 des informations.","Couleur de premier plan de validation de saisie pour la s\xE9v\xE9rit\xE9 Information.","Couleur de bordure de la validation d'entr\xE9e pour la gravit\xE9 des informations.","Couleur d'arri\xE8re-plan de la validation d'entr\xE9e pour la gravit\xE9 de l'avertissement.","Couleur de premier plan de la validation de la saisie pour la s\xE9v\xE9rit\xE9 Avertissement.","Couleur de bordure de la validation d'entr\xE9e pour la gravit\xE9 de l'avertissement.","Couleur d'arri\xE8re-plan de la validation d'entr\xE9e pour la gravit\xE9 de l'erreur.","Couleur de premier plan de la validation de saisie pour la s\xE9v\xE9rit\xE9 Erreur.","Couleur de bordure de la validation d'entr\xE9e pour la gravit\xE9 de l'erreur. ","Arri\xE8re-plan de la liste d\xE9roulante.","Premier plan de la liste d\xE9roulante.","Couleur de premier plan du bouton.","Couleur d'arri\xE8re-plan du bouton.","Couleur d'arri\xE8re-plan du bouton pendant le pointage.","Couleur de fond des badges. Les badges sont de courts libell\xE9s d'information, ex. le nombre de r\xE9sultats de recherche.","Couleur des badges. Les badges sont de courts libell\xE9s d'information, ex. le nombre de r\xE9sultats de recherche.","Ombre de la barre de d\xE9filement pour indiquer que la vue d\xE9file.","Couleur de fond du curseur de la barre de d\xE9filement.","Couleur de fond du curseur de la barre de d\xE9filement lors du survol.","Couleur d\u2019arri\xE8re-plan de la barre de d\xE9filement lorsqu'on clique dessus.","Couleur de fond pour la barre de progression qui peut s'afficher lors d'op\xE9rations longues.","Couleur d'arri\xE8re-plan du texte d'erreur dans l'\xE9diteur. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les d\xE9corations sous-jacentes.","Couleur de premier plan de la ligne ondul\xE9e marquant les erreurs dans l'\xE9diteur.","Couleur de bordure des zones d'erreur dans l'\xE9diteur.","Couleur d'arri\xE8re-plan du texte d'avertissement dans l'\xE9diteur. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les d\xE9corations sous-jacentes.","Couleur de premier plan de la ligne ondul\xE9e marquant les avertissements dans l'\xE9diteur.","Couleur de bordure des zones d'avertissement dans l'\xE9diteur.","Couleur d'arri\xE8re-plan du texte d'information dans l'\xE9diteur. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les d\xE9corations sous-jacentes.","Couleur de premier plan de la ligne ondul\xE9e marquant les informations dans l'\xE9diteur.","Couleur de bordure des zones d'informations dans l'\xE9diteur.","Couleur de premier plan de la ligne ondul\xE9e d'indication dans l'\xE9diteur.","Couleur de bordure des zones d'indication dans l'\xE9diteur.","Couleur d'arri\xE8re-plan de l'\xE9diteur.","Couleur de premier plan par d\xE9faut de l'\xE9diteur.","Couleur d'arri\xE8re-plan des gadgets de l'\xE9diteur tels que rechercher/remplacer.","Couleur de premier plan des widgets de l'\xE9diteur, notamment Rechercher/remplacer.","Couleur de bordure des widgets de l'\xE9diteur. La couleur est utilis\xE9e uniquement si le widget choisit d'avoir une bordure et si la couleur n'est pas remplac\xE9e par un widget.","Couleur de bordure de la barre de redimensionnement des widgets de l'\xE9diteur. La couleur est utilis\xE9e uniquement si le widget choisit une bordure de redimensionnement et si la couleur n'est pas remplac\xE9e par un widget.","Couleur d'arri\xE8re-plan du s\xE9lecteur rapide. Le widget de s\xE9lecteur rapide est le conteneur de s\xE9lecteurs comme la palette de commandes.","Couleur de premier plan du s\xE9lecteur rapide. Le widget de s\xE9lecteur rapide est le conteneur de s\xE9lecteurs comme la palette de commandes.","Couleur d'arri\xE8re-plan du titre du s\xE9lecteur rapide. Le widget de s\xE9lecteur rapide est le conteneur de s\xE9lecteurs comme la palette de commandes.","Couleur d'arri\xE8re-plan du s\xE9lecteur rapide pour l'\xE9l\xE9ment ayant le focus.","Couleur du s\xE9lecteur rapide pour les \xE9tiquettes de regroupement.","Couleur du s\xE9lecteur rapide pour les bordures de regroupement.","Couleur de la s\xE9lection de l'\xE9diteur.","Couleur du texte s\xE9lectionn\xE9 pour le contraste \xE9lev\xE9.","Couleur de la s\xE9lection dans un \xE9diteur inactif. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur des r\xE9gions dont le contenu est le m\xEAme que celui de la s\xE9lection. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur de bordure des r\xE9gions dont le contenu est identique \xE0 la s\xE9lection.","Couleur du r\xE9sultat de recherche actif.","Couleur des autres correspondances de recherche. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur de la plage limitant la recherche. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur de bordure du r\xE9sultat de recherche actif.","Couleur de bordure des autres r\xE9sultats de recherche.","Couleur de bordure de la plage limitant la recherche. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Surlignage sous le mot s\xE9lectionn\xE9 par pointage. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur d'arri\xE8re-plan du pointage de l'\xE9diteur.","Couleur de premier plan du pointage de l'\xE9diteur.","Couleur de bordure du pointage de l'\xE9diteur.","Couleur d'arri\xE8re-plan de la barre d'\xE9tat du pointage de l'\xE9diteur.","Couleur des liens actifs.","Couleur de premier plan des indicateurs inline","Couleur d'arri\xE8re-plan des indicateurs inline","Couleur utilis\xE9e pour l'ic\xF4ne d'ampoule sugg\xE9rant des actions.","Couleur utilis\xE9e pour l'ic\xF4ne d'ampoule sugg\xE9rant des actions de correction automatique.","Couleur d'arri\xE8re-plan du texte ins\xE9r\xE9. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur d'arri\xE8re-plan du texte supprim\xE9. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur de contour du texte ins\xE9r\xE9.","Couleur de contour du texte supprim\xE9.","Couleur de bordure entre les deux \xE9diteurs de texte.","Couleur du remplissage diagonal de l'\xE9diteur de diff\xE9rences. Le remplissage diagonal est utilis\xE9 dans les vues de diff\xE9rences c\xF4te \xE0 c\xF4te.","Couleur d'arri\xE8re-plan de la liste/l'arborescence pour l'\xE9l\xE9ment ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut \xEAtre s\xE9lectionn\xE9e au clavier, elle ne l'est pas quand elle est inactive.","Couleur de premier plan de la liste/l'arborescence pour l'\xE9l\xE9ment ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut \xEAtre s\xE9lectionn\xE9e au clavier, elle ne l'est pas quand elle est inactive.","Couleur de contour de la liste/l'arborescence pour l'\xE9l\xE9ment ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active a le focus clavier, contrairement \xE0 une liste/arborescence inactive.","Couleur d'arri\xE8re-plan de la liste/l'arborescence de l'\xE9l\xE9ment s\xE9lectionn\xE9 quand la liste/l'arborescence est active. Une liste/arborescence active peut \xEAtre s\xE9lectionn\xE9e au clavier, elle ne l'est pas quand elle est inactive.","Couleur de premier plan de la liste/l'arborescence pour l'\xE9l\xE9ment s\xE9lectionn\xE9 quand la liste/l'arborescence est active. Une liste/arborescence active peut \xEAtre s\xE9lectionn\xE9e au clavier, elle ne l'est pas quand elle est inactive.","Couleur d'arri\xE8re-plan de la liste/l'arborescence pour l'\xE9l\xE9ment s\xE9lectionn\xE9 quand la liste/l'arborescence est inactive. Une liste/arborescence active peut \xEAtre s\xE9lectionn\xE9e au clavier, elle ne l'est pas quand elle est inactive.","Couleur de premier plan de la liste/l'arborescence pour l'\xE9l\xE9ment s\xE9lectionn\xE9 quand la liste/l'arborescence est inactive. Une liste/arborescence active peut \xEAtre s\xE9lectionn\xE9e au clavier, elle ne l'est pas quand elle est inactive.","Couleur d'arri\xE8re-plan de la liste/l'arborescence pour l'\xE9l\xE9ment ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut \xEAtre s\xE9lectionn\xE9e au clavier (elle ne l'est pas quand elle est inactive).","Couleur de contour de la liste/l'arborescence pour l'\xE9l\xE9ment ayant le focus quand la liste/l'arborescence est inactive. Une liste/arborescence active a le focus clavier, contrairement \xE0 une liste/arborescence inactive.","Arri\xE8re-plan de la liste/l'arborescence pendant le pointage sur des \xE9l\xE9ments avec la souris.","Premier plan de la liste/l'arborescence pendant le pointage sur des \xE9l\xE9ments avec la souris.","Arri\xE8re-plan de l'op\xE9ration de glisser-d\xE9placer dans une liste/arborescence pendant le d\xE9placement d'\xE9l\xE9ments avec la souris.","Couleur de premier plan dans la liste/l'arborescence pour la surbrillance des correspondances pendant la recherche dans une liste/arborescence.","Couleur d'arri\xE8re-plan du widget de filtre de type dans les listes et les arborescences.","Couleur de contour du widget de filtre de type dans les listes et les arborescences.","Couleur de contour du widget de filtre de type dans les listes et les arborescences, en l'absence de correspondance.","Couleur de trait de l'arborescence pour les rep\xE8res de mise en retrait.","Couleur de trait de l'arborescence pour les rep\xE8res de mise en retrait.","Couleur de bordure des menus.","Couleur de premier plan des \xE9l\xE9ments de menu.","Couleur d'arri\xE8re-plan des \xE9l\xE9ments de menu.","Couleur de premier plan de l'\xE9l\xE9ment de menu s\xE9lectionn\xE9 dans les menus.","Couleur d'arri\xE8re-plan de l'\xE9l\xE9ment de menu s\xE9lectionn\xE9 dans les menus.","Couleur de bordure de l'\xE9l\xE9ment de menu s\xE9lectionn\xE9 dans les menus.","Couleur d'un \xE9l\xE9ment de menu s\xE9parateur dans les menus.","Couleur d\u2019arri\xE8re-plan de mise en surbrillance d\u2019un extrait tabstop.","Couleur de bordure de mise en surbrillance d\u2019un extrait tabstop.","Couleur d\u2019arri\xE8re-plan de mise en surbrillance du tabstop final d\u2019un extrait.","Mettez en surbrillance la couleur de bordure du dernier taquet de tabulation d'un extrait de code.","Couleur de marqueur de la r\xE8gle d'aper\xE7u pour rechercher les correspondances. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur de marqueur de la r\xE8gle d'aper\xE7u pour la mise en surbrillance des s\xE9lections. La couleur ne doit pas \xEAtre opaque pour ne pas masquer les ornements sous-jacents.","Couleur de marqueur de la minimap pour les correspondances.","Couleur de marqueur du minimap pour la s\xE9lection de l'\xE9diteur.","Couleur de marqueur de minimap pour les erreurs.","Couleur de marqueur de minimap pour les avertissements.","Couleur d'arri\xE8re-plan du minimap.","Couleur d'arri\xE8re-plan du curseur de minimap.","Couleur d'arri\xE8re-plan du curseur de minimap pendant le survol.","Couleur d'arri\xE8re-plan du curseur de minimap pendant un clic.","Couleur utilis\xE9e pour l'ic\xF4ne d'erreur des probl\xE8mes.","Couleur utilis\xE9e pour l'ic\xF4ne d'avertissement des probl\xE8mes.","Couleur utilis\xE9e pour l'ic\xF4ne d'informations des probl\xE8mes."],"vs/platform/theme/common/iconRegistry":["ID de la police \xE0 utiliser. Si aucune valeur n'est d\xE9finie, la police d\xE9finie en premier est utilis\xE9e.","Caract\xE8re de police associ\xE9 \xE0 la d\xE9finition d'ic\xF4ne.","Ic\xF4ne de l'action de fermeture dans les widgets."],"vs/platform/undoRedo/common/undoRedoService":["Les fichiers suivants ont \xE9t\xE9 ferm\xE9s et modifi\xE9s sur le disque\xA0: {0}.","Les fichiers suivants ont \xE9t\xE9 modifi\xE9s de mani\xE8re incompatible : {0}.","Impossible d'annuler '{0}' dans tous les fichiers. {1}","Impossible d'annuler '{0}' dans tous les fichiers. {1}","Impossible d'annuler '{0}' dans tous les fichiers, car des modifications ont \xE9t\xE9 apport\xE9es \xE0 {1}","Impossible d'annuler '{0}' dans tous les fichiers, car une op\xE9ration d'annulation ou de r\xE9tablissement est d\xE9j\xE0 en cours d'ex\xE9cution sur {1}","Impossible d'annuler '{0}' dans tous les fichiers, car une op\xE9ration d'annulation ou de r\xE9tablissement s'est produite dans l'intervalle","Souhaitez-vous annuler '{0}' dans tous les fichiers\xA0?","Annuler dans {0} fichiers","Annuler ce fichier","Annuler","Impossible d'annuler '{0}', car une op\xE9ration d'annulation ou de r\xE9tablissement est d\xE9j\xE0 en cours d'ex\xE9cution.","Voulez-vous annuler '{0}'\xA0?","Annuler","Annuler","Impossible de r\xE9p\xE9ter '{0}' dans tous les fichiers. {1}","Impossible de r\xE9p\xE9ter '{0}' dans tous les fichiers. {1}","Impossible de r\xE9p\xE9ter '{0}' dans tous les fichiers, car des modifications ont \xE9t\xE9 apport\xE9es \xE0 {1}","Impossible de r\xE9tablir '{0}' dans tous les fichiers, car une op\xE9ration d'annulation ou de r\xE9tablissement est d\xE9j\xE0 en cours d'ex\xE9cution pour {1}","Impossible de r\xE9tablir '{0}' dans tous les fichiers, car une op\xE9ration d'annulation ou de r\xE9tablissement s'est produite dans l'intervalle","Impossible de r\xE9tablir '{0}', car une op\xE9ration d'annulation ou de r\xE9tablissement est d\xE9j\xE0 en cours d'ex\xE9cution."]}); diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.it.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.it.js new file mode 100644 index 0000000..13c210f --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.it.js @@ -0,0 +1,6 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/define("vs/editor/editor.main.nls.it",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["input"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Maiuscole/minuscole","Parola intera","Usa espressione regolare"],"vs/base/browser/ui/findinput/replaceInput":["input","Mantieni maiuscole/minuscole"],"vs/base/browser/ui/iconLabel/iconLabel":["Caricamento..."],"vs/base/browser/ui/inputbox/inputBox":["Errore: {0}","Avviso: {0}","Info: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Non associato"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Cancella","Disabilita filtro sul tipo","Abilita filtro sul tipo","Non sono stati trovati elementi","Abbinamento di {0} su {1} elementi"],"vs/base/common/actions":["(vuoto)"],"vs/base/common/errorMessage":["{0}: {1}","Si \xE8 verificato un errore di sistema ({0})","Si \xE8 verificato un errore sconosciuto. Per altri dettagli, vedere il log.","Si \xE8 verificato un errore sconosciuto. Per altri dettagli, vedere il log.","{0} ({1} errori in totale)","Si \xE8 verificato un errore sconosciuto. Per altri dettagli, vedere il log."],"vs/base/common/keybindingLabels":["CTRL","MAIUSC","ALT","Windows","CTRL","MAIUSC","ALT","Super","CTRL","MAIUSC","ALT","Comando","CTRL","MAIUSC","ALT","Windows","CTRL","MAIUSC","ALT","Super"],"vs/base/parts/quickinput/browser/quickInput":["Indietro","{0}/{1}","Digitare per ridurre il numero di risultati.","{0} risultati","{0} selezionati","OK","Personalizzato","Indietro ({0})","Indietro"],"vs/base/parts/quickinput/browser/quickInputList":["Input rapido"],"vs/editor/browser/controller/coreCommands":["Si attiene alla fine anche quando si passa a righe pi\xF9 lunghe","Si attiene alla fine anche quando si passa a righe pi\xF9 lunghe"],"vs/editor/browser/controller/textAreaHandler":["editor","L'editor non \xE8 accessibile in questo momento. Premere {0} per le opzioni."],"vs/editor/browser/core/keybindingCancellation":["Indica se l'editor esegue un'operazione annullabile, ad esempio 'Anteprima riferimenti'"],"vs/editor/browser/editorExtensions":["&&Annulla","Annulla","&&Ripeti","Ripeti","&&Seleziona tutto","Seleziona tutto"],"vs/editor/browser/widget/codeEditorWidget":["Il numero di cursori \xE8 stato limitato a {0}."],"vs/editor/browser/widget/diffEditorWidget":["Effetto di riga per gli inserimenti nell'editor diff.","Effetto di riga per le rimozioni nell'editor diff.","Non \xE8 possibile confrontare i file perch\xE9 uno \xE8 troppo grande."],"vs/editor/browser/widget/diffReview":["Icona per 'Inserisci' nella revisione diff.","Icona per 'Rimuovi' nella revisione diff.","Icona per 'Chiudi' nella revisione diff.","Chiudi","nessuna riga modificata","1 riga modificata","{0} righe modificate","Differenza {0} di {1}: riga originale {2}, {3}, riga modificata {4}, {5}","vuota","{0} riga non modificata {1}","{0} riga originale {1} riga modificata {2}","+ {0} riga modificata {1}","- {0} riga originale {1}","Vai alla differenza successiva","Vai alla differenza precedente"],"vs/editor/browser/widget/inlineDiffMargin":["Copia le righe eliminate","Copia la riga eliminata","Copia la riga eliminata ({0})","Ripristina questa modifica","Copia la riga eliminata ({0})"],"vs/editor/common/config/commonEditorConfig":["Editor","Numero di spazi a cui equivale una tabulazione. Quando `#editor.detectIndentation#` \xE8 attivo, questa impostazione viene sostituita in base al contenuto del file.","Inserisce spazi quando viene premuto TAB. Quando `#editor.detectIndentation#` \xE8 attivo, questa impostazione viene sostituita in base al contenuto del file.","Controlla se `#editor.tabSize#` e `#editor.insertSpaces#` verranno rilevati automaticamente quando un file viene aperto in base al contenuto del file.","Rimuovi gli spazi finali inseriti automaticamente.","Gestione speciale dei file di grandi dimensioni per disabilitare alcune funzionalit\xE0 che fanno un uso intensivo della memoria.","Controlla se calcolare i completamenti in base alle parole presenti nel documento.","Suggerisci parole solo dal documento attivo.","Suggerisci parole da tutti i documenti aperti della stessa lingua.","Suggerisci parole da tutti i documenti aperti.","Controlla i documenti da cui vengono calcolati i completamenti basati su parole.","L'evidenziazione semantica \xE8 abilitata per tutti i temi colore.","L'evidenziazione semantica \xE8 disabilitata per tutti i temi colore.","La configurazione dell'evidenziazione semantica \xE8 gestita tramite l'impostazione `semanticHighlighting` del tema colori corrente.","Controlla se l'evidenziazione semanticHighlighting \xE8 visualizzata per i linguaggi che la supportano.","Mantiene aperti gli editor rapidi anche quando si fa doppio clic sul contenuto o si preme 'ESC'.","Per motivi di prestazioni le righe di lunghezza superiore non verranno tokenizzate","Timeout in millisecondi dopo il quale il calcolo delle differenze viene annullato. Usare 0 per indicare nessun timeout.","Controlla se l'editor diff mostra le differenze affiancate o incorporate.","Se abilitato, l'editor differenze ignora le modifiche relative a spazi vuoti iniziali e finali.","Controlla se l'editor diff mostra gli indicatori +/- per le modifiche aggiunte/rimosse.","Controlla se l'editor visualizza CodeLens.","Il ritorno a capo automatico delle righe non viene mai applicato.","Il ritorno a capo automatico delle righe viene applicato in corrispondenza della larghezza del viewport.","Il ritorno a capo automatico delle righe viene applicato in base all'impostazione `#editor.wordWrap#`."],"vs/editor/common/config/editorOptions":["L'editor user\xE0 le API della piattaforma per rilevare quando viene collegata un'utilit\xE0 per la lettura dello schermo.","L'editor verr\xE0 definitivamente ottimizzato per l'utilizzo con un'utilit\xE0 per la lettura dello schermo. Il ritorno a capo automatico verr\xE0 disabilitato.","L'editor non verr\xE0 mai ottimizzato per l'utilizzo con un'utilit\xE0 per la lettura dello schermo.","Controlla se l'editor deve essere eseguito in una modalit\xE0 ottimizzata per le utilit\xE0 per la lettura dello schermo. Se viene attivata, il ritorno a capo automatico verr\xE0 disabilitato.","Consente di controllare se viene inserito uno spazio quando si aggiungono commenti.","Controlla se ignorare le righe vuote con le opzioni per attivare/disattivare, aggiungere o rimuovere relative ai commenti di riga.","Controlla se, quando si copia senza aver effettuato una selezione, viene copiata la riga corrente.","Controlla se il cursore deve passare direttamente alla ricerca delle corrispondenze durante la digitazione.","Controlla se inizializzare la stringa di ricerca nel Widget Trova con il testo selezionato nell'editor.","Non attivare mai automaticamente la funzione Trova nella selezione (impostazione predefinita)","Attiva sempre automaticamente la funzione Trova nella selezione","Attiva automaticamente la funzione Trova nella selezione quando sono selezionate pi\xF9 righe di contenuto.","Controlla la condizione per attivare automaticamente la funzione Trova nella selezione.","Controlla se il widget Trova deve leggere o modificare gli appunti di ricerca condivisi in macOS.","Controlla se il widget Trova deve aggiungere altre righe nella parte superiore dell'editor. Quando \xE8 true, \xE8 possibile scorrere oltre la prima riga quando il widget Trova \xE8 visibile.","Controlla se la ricerca viene riavviata automaticamente dall'inizio o dalla fine quando non \xE8 possibile trovare ulteriori corrispondenze.","Abilita/Disabilita i caratteri legatura (funzionalit\xE0 dei tipi di carattere 'calt' e 'liga'). Impostare su una stringa per un controllo pi\xF9 specifico sulla propriet\xE0 CSS 'font-feature-settings'.","Propriet\xE0 CSS 'font-feature-settings' esplicita. Se \xE8 necessario solo attivare/disattivare le legature, \xE8 possibile passare un valore booleano.","Consente di configurare i caratteri legatura o le funzionalit\xE0 dei tipi di carattere. Pu\xF2 essere un valore booleano per abilitare/disabilitare le legature o una stringa per il valore della propriet\xE0 CSS 'font-feature-settings'.","Controlla le dimensioni del carattere in pixel.",'Sono consentiti solo le parole chiave "normal" e "bold" o i numeri compresi tra 1 e 1000.','Controlla lo spessore del carattere. Accetta le parole chiave "normal" e "bold" o i numeri compresi tra 1 e 1000.',"Mostra la visualizzazione rapida dei risultati (impostazione predefinita)","Passa al risultato principale e mostra una visualizzazione rapida","Passa al risultato principale e abilita l'esplorazione senza anteprima per gli altri","Questa impostazione \xE8 deprecata. In alternativa, usare impostazioni diverse, come 'editor.editor.gotoLocation.multipleDefinitions' o 'editor.editor.gotoLocation.multipleImplementations'.","Controlla il comportamento del comando 'Vai alla definizione' quando esistono pi\xF9 posizioni di destinazione.","Controlla il comportamento del comando 'Vai alla definizione di tipo' quando esistono pi\xF9 posizioni di destinazione.","Controlla il comportamento del comando 'Vai a dichiarazione' quando esistono pi\xF9 posizioni di destinazione.","Controlla il comportamento del comando 'Vai a implementazioni' quando esistono pi\xF9 posizioni di destinazione.","Controlla il comportamento del comando 'Vai a riferimenti' quando esistono pi\xF9 posizioni di destinazione.","ID comando alternativo eseguito quando il risultato di 'Vai alla definizione' \xE8 la posizione corrente.","ID comando alternativo eseguito quando il risultato di 'Vai alla definizione di tipo' \xE8 la posizione corrente.","ID comando alternativo eseguito quando il risultato di 'Vai a dichiarazione' \xE8 la posizione corrente.","ID comando alternativo eseguito quando il risultato di 'Vai a implementazione' \xE8 la posizione corrente.","ID comando alternativo eseguito quando il risultato di 'Vai a riferimento' \xE8 la posizione corrente.","Controlla se mostrare l'area sensibile al passaggio del mouse.","Controlla il ritardo in millisecondi dopo il quale viene mostrato il passaggio del mouse.","Controlla se l'area sensibile al passaggio del mouse deve rimanere visibile quando vi si passa sopra con il puntatore del mouse.","Abilita la lampadina delle azioni codice nell'editor.","Abilita i suggerimenti inline nell'editor.","Controlla le dimensioni del carattere dei suggerimenti inline nell'editor. Quando \xE8 impostata su `0`, viene usato il 90% del valore di `#editor.fontSize#`.","Controlla la famiglia di caratteri dei suggerimenti inline nell'editor.","Controlla l'altezza della riga. Usare 0 per calcolare l'altezza della riga dalle dimensioni del carattere.","Controlla se la minimappa \xE8 visualizzata.","La minimappa ha le stesse dimensioni del contenuto dell'editor (e potrebbe supportare lo scorrimento).","Se necessario, la minimappa si ridurr\xE0 o si ingrandir\xE0 in modo da adattarsi all'altezza dell'editor (nessuno scorrimento).","Se necessario, la minimappa si ridurr\xE0 in modo che la larghezza non superi mai quella dell'editor (nessuno scorrimento).","Controlla le dimensioni della minimappa.","Definisce il lato in cui eseguire il rendering della minimappa.","Controlla se il dispositivo di scorrimento della minimappa \xE8 visualizzato.","Scala del contenuto disegnato nella minimappa: 1, 2 o 3.","Esegue il rendering dei caratteri effettivi di una riga in contrapposizione ai blocchi colore.","Limita la larghezza della minimappa in modo da eseguire il rendering al massimo di un certo numero di colonne.","Controlla la quantit\xE0 di spazio tra il bordo superiore dell'editor e la prima riga.","Controlla la quantit\xE0 di spazio tra il bordo inferiore dell'editor e l'ultima riga.","Abilita un popup che mostra documentazione sui parametri e informazioni sui tipi mentre si digita.","Controlla se il menu dei suggerimenti per i parametri esegue un ciclo o si chiude quando viene raggiunta la fine dell'elenco.","Abilita i suggerimenti rapidi all'interno di stringhe.","Abilita i suggerimenti rapidi all'interno di commenti.","Abilita i suggerimenti rapidi all'esterno di stringhe e commenti.","Controlla se visualizzare automaticamente i suggerimenti durante la digitazione.","I numeri di riga non vengono visualizzati.","I numeri di riga vengono visualizzati come numeri assoluti.","I numeri di riga vengono visualizzati come distanza in linee alla posizione del cursore.","I numeri di riga vengono visualizzati ogni 10 righe.","Controlla la visualizzazione dei numeri di riga.","Numero di caratteri a spaziatura fissa in corrispondenza del quale verr\xE0 eseguito il rendering di questo righello dell'editor.","Colore di questo righello dell'editor.","Esegue il rendering dei righelli verticali dopo un certo numero di caratteri a spaziatura fissa. Usare pi\xF9 valori per pi\xF9 righelli. Se la matrice \xE8 vuota, non viene disegnato alcun righello.","Inserisce il suggerimento senza sovrascrivere il testo a destra del cursore.","Inserisce il suggerimento e sovrascrive il testo a destra del cursore.","Controlla se le parole vengono sovrascritte quando si accettano i completamenti. Tenere presente che questa opzione dipende dalle estensioni che accettano esplicitamente questa funzionalit\xE0.","Controlla se i suggerimenti di filtro e ordinamento valgono per piccoli errori di battitura.","Controlla se l'ordinamento privilegia le parole che appaiono pi\xF9 vicine al cursore.","Controlla se condividere le selezioni dei suggerimenti memorizzati tra aree di lavoro e finestre (richiede `#editor.suggestSelection#`).","Controlla se un frammento attivo impedisce i suggerimenti rapidi.","Controlla se mostrare o nascondere le icone nei suggerimenti.","Controlla la visibilit\xE0 della barra di stato nella parte inferiore del widget dei suggerimenti.","Controlla se i dettagli del suggerimento vengono visualizzati inline con l'etichetta o solo nel widget dei dettagli","Questa impostazione \xE8 deprecata. Il widget dei suggerimenti pu\xF2 ora essere ridimensionato.","Questa impostazione \xE8 deprecata. In alternativa, usare impostazioni diverse, come 'editor.suggest.showKeywords' o 'editor.suggest.showSnippets'.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `method`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `function`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `constructor`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `field`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `variable`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `class`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `struct`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `interface`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `module`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `property`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `event`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `operator`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `unit`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `value`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `constant`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `enum`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `enumMember`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `keyword`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `text`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `color`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `file`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `reference`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `customcolor`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `folder`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `typeParameter`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `snippet`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `user`.","Se \xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `issues`.","Indica se gli spazi vuoti iniziali e finali devono essere sempre selezionati.","Controlla se accettare i suggerimenti con i caratteri di commit. Ad esempio, in JavaScript il punto e virgola (';') pu\xF2 essere un carattere di commit che accetta un suggerimento e digita tale carattere.","Accetta un suggerimento con 'Invio' solo quando si apporta una modifica al testo.","Controlla se i suggerimenti devono essere accettati con 'INVIO' in aggiunta a 'TAB'. In questo modo \xE8 possibile evitare ambiguit\xE0 tra l'inserimento di nuove righe e l'accettazione di suggerimenti.","Controlla il numero di righe nell'editor che possono essere lette da un utilit\xE0 per la lettura dello schermo. Avviso: questa opzione pu\xF2 influire sulle prestazioni se il numero di righe \xE8 superiore a quello predefinito.","Contenuto editor","Usa le configurazioni del linguaggio per determinare la chiusura automatica delle parentesi.","Chiudi automaticamente le parentesi solo quando il cursore si trova alla sinistra di uno spazio vuoto.","Controlla se l'editor deve chiudere automaticamente le parentesi quadre dopo che sono state aperte.","Digita sopra le virgolette o le parentesi quadre di chiusura solo se sono state inserite automaticamente.","Controlla se l'editor deve digitare su virgolette o parentesi quadre.","Usa le configurazioni del linguaggio per determinare la chiusura automatica delle virgolette.","Chiudi automaticamente le virgolette solo quando il cursore si trova alla sinistra di uno spazio vuoto.","Controlla se l'editor deve chiudere automaticamente le citazioni dopo che sono state aperte.","L'editor non inserir\xE0 automaticamente il rientro.","L'editor manterr\xE0 il rientro della riga corrente.","L'editor manterr\xE0 il rientro della riga corrente e rispetter\xE0 le parentesi definite dalla lingua.","L'editor manterr\xE0 il rientro della riga corrente, rispetter\xE0 le parentesi definite dalla lingua e richiamer\xE0 le regole onEnterRules speciali definite dalle lingue.","L'editor manterr\xE0 il rientro della riga corrente, rispetter\xE0 le parentesi definite dalla lingua, richiamer\xE0 le regole onEnterRules speciali definite dalle lingue e rispetter\xE0 le regole indentationRules definite dalle lingue.","Controlla se l'editor deve regolare automaticamente il rientro quando gli utenti digitano, incollano, spostano le righe o applicano il rientro.","Usa le configurazioni del linguaggio per determinare quando racchiudere automaticamente le selezioni tra parentesi quadre o virgolette.","Racchiude la selezione tra virgolette ma non tra parentesi quadre.","Racchiude la selezione tra parentesi quadre ma non tra virgolette.","Controlla se l'editor deve racchiudere automaticamente le selezioni quando si digitano virgolette o parentesi quadre.","Emula il comportamento di selezione dei caratteri di tabulazione quando si usano gli spazi per il rientro. La selezione verr\xE0 applicata alle tabulazioni.","Controlla se l'editor visualizza CodeLens.","Controlla la famiglia di caratteri per CodeLens.","Controlla le dimensioni del carattere in pixel per CodeLens. Quando \xE8 impostata su `0`, viene usato il 90% del valore di `#editor.fontSize#`.","Controlla se l'editor deve eseguire il rendering della selezione colori e degli elementi Decorator di tipo colore inline.","Abilita l'uso di mouse e tasti per la selezione delle colonne.","Controlla se l'evidenziazione della sintassi deve essere copiata negli Appunti.","Controllo dello stile di animazione del cursore.","Controlla se l'animazione del cursore con anti-aliasing deve essere abilitata.","Controlla lo stile del cursore.","Controlla il numero minimo di righe iniziali e finali visibili che circondano il cursore. Noto come 'scrollOff' o 'scrollOffset' in altri editor.","`cursorSurroundingLines` viene applicato solo quando \xE8 attivato tramite la tastiera o l'API.","`cursorSurroundingLines` viene sempre applicato.","Controlla quando deve essere applicato `cursorSurroundingLines`.","Controlla la larghezza del cursore quando `#editor.cursorStyle#` \xE8 impostato su `line`.","Controlla se l'editor deve consentire lo spostamento di selezioni tramite trascinamento della selezione.","Moltiplicatore della velocit\xE0 di scorrimento quando si preme `Alt`.","Controlla se per l'editor \xE8 abilitata la riduzione del codice.","Usa una strategia di riduzione specifica della lingua, se disponibile; altrimenti ne usa una basata sui rientri.","Usa la strategia di riduzione basata sui rientri.","Controlla la strategia per il calcolo degli intervalli di riduzione.","Controlla se l'editor deve evidenziare gli intervalli con riduzione del codice.","Controlla se, facendo clic sul contenuto vuoto dopo una riga ridotta, la riga viene espansa.","Controlla la famiglia di caratteri.","Controlla se l'editor deve formattare automaticamente il contenuto incollato. Deve essere disponibile un formattatore che deve essere in grado di formattare un intervallo in un documento.","Controlla se l'editor deve formattare automaticamente la riga dopo la digitazione.","Controlla se l'editor deve eseguire il rendering del margine verticale del glifo. Il margine del glifo viene usato principalmente per il debug.","Controlla se il cursore deve essere nascosto nel righello delle annotazioni.","Controlla se l'editor deve evidenziare la guida con rientro attiva.","Controlla la spaziatura tra le lettere in pixel.","Controlla se la modifica collegata \xE8 abilitata per l'editor. A seconda del linguaggio, i simboli correlati, ad esempio i tag HTML, vengono aggiornati durante la modifica.","Controlla se l'editor deve individuare i collegamenti e renderli selezionabili.","Evidenzia le parentesi graffe corrispondenti.","Moltiplicatore da usare sui valori `deltaX` e `deltaY` degli eventi di scorrimento della rotellina del mouse.","Ingrandisce il carattere dell'editor quando si usa la rotellina del mouse e si tiene premuto 'CTRL'.","Unire i cursori multipli se sovrapposti.","Rappresenta il tasto 'Control' in Windows e Linux e il tasto 'Comando' in macOS.","Rappresenta il tasto 'Alt' in Windows e Linux e il tasto 'Opzione' in macOS.","Modificatore da usare per aggiungere pi\xF9 cursori con il mouse. I gesti del mouse Vai alla definizione e Apri il collegamento si adatteranno in modo da non entrare in conflitto con il modificatore di selezione multipla. [Altre informazioni](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Ogni cursore incolla una singola riga del testo.","Ogni cursore incolla il testo completo.","Controlla l'operazione Incolla quando il conteggio delle righe del testo incollato corrisponde al conteggio dei cursori.","Controlla se l'editor deve evidenziare le occorrenze di simboli semantici.","Controlla se deve essere disegnato un bordo intorno al righello delle annotazioni.","Sposta lo stato attivo sull'albero quando si apre l'anteprima","Sposta lo stato attivo sull'editor quando si apre l'anteprima","Controlla se spostare lo stato attivo sull'editor inline o sull'albero nel widget di anteprima.","Controlla se il movimento del mouse Vai alla definizione consente sempre di aprire il widget di anteprima.","Controlla il ritardo in millisecondi dopo il quale verranno visualizzati i suggerimenti rapidi.","Controlla se l'editor viene rinominato automaticamente in base al tipo.","Deprecata. In alternativa, usare `editor.linkedEditing`.","Controlla se l'editor deve eseguire il rendering dei caratteri di controllo.","Controlla se l'editor deve eseguire il rendering delle guide con rientro.","Esegue il rendering dell'ultimo numero di riga quando il file termina con un carattere di nuova riga.","Mette in evidenza sia la barra di navigazione sia la riga corrente.","Controlla in che modo l'editor deve eseguire il rendering dell'evidenziazione di riga corrente.","Controlla se l'editor deve eseguire il rendering dell'evidenziazione della riga corrente solo quando l'editor ha lo stato attivo","Esegue il rendering dei caratteri di spazio vuoto ad eccezione dei singoli spazi tra le parole.","Esegui il rendering dei caratteri di spazio vuoto solo nel testo selezionato.","Esegui il rendering solo dei caratteri di spazio vuoto finali","Controlla in che modo l'editor deve eseguire il rendering dei caratteri di spazio vuoto.","Controlla se le selezioni devono avere gli angoli arrotondati.","Controlla il numero di caratteri aggiuntivi oltre i quali l'editor scorrer\xE0 orizzontalmente.","Controlla se l'editor scorrer\xE0 oltre l'ultima riga.","Scorre solo lungo l'asse predominante durante lo scorrimento verticale e orizzontale simultaneo. Impedisce la deviazione orizzontale quando si scorre in verticale su un trackpad.","Controlla se gli appunti primari di Linux devono essere supportati.","Controlla se l'editor deve evidenziare gli elementi corrispondenti simili alla selezione.","Mostra sempre i comandi di riduzione.","Mostra i comandi di riduzione solo quando il mouse \xE8 posizionato sul margine della barra di scorrimento.","Controlla se i controlli di riduzione sul margine della barra di scorrimento vengono visualizzati.","Controllo dissolvenza del codice inutilizzato.","Controlla le variabili deprecate barrate.","Visualizza i suggerimenti del frammento prima degli altri suggerimenti.","Visualizza i suggerimenti del frammento dopo gli altri suggerimenti.","Visualizza i suggerimenti del frammento insieme agli altri suggerimenti.","Non mostrare i suggerimenti del frammento.","Controlla se i frammenti di codice sono visualizzati con altri suggerimenti e il modo in cui sono ordinati.","Controlla se per lo scorrimento dell'editor verr\xE0 usata un'animazione.","Dimensioni del carattere per il widget dei suggerimenti. Se impostato su `0`, viene usato il valore di `#editor.fontSize#`.","Altezza della riga per il widget dei suggerimenti. Se impostato su `0`, viene usato il valore `editor.lineHeight#`. Il valore minimo \xE8 8.","Controlla se i suggerimenti devono essere visualizzati automaticamente durante la digitazione dei caratteri trigger.","Consente di selezionare sempre il primo suggerimento.","Consente di selezionare suggerimenti recenti a meno che continuando a digitare non ne venga selezionato uno, ad esempio `console.| ->; console.log` perch\xE9 `log` \xE8 stato completato di recente.","Consente di selezionare i suggerimenti in base a prefissi precedenti che hanno completato tali suggerimenti, ad esempio `co ->; console` e `con -> const`.","Controlla la modalit\xE0 di preselezione dei suggerimenti durante la visualizzazione dell'elenco dei suggerimenti.","La funzionalit\xE0 di completamento con tasto TAB inserir\xE0 il migliore suggerimento alla pressione del tasto TAB.","Disabilita le funzionalit\xE0 di completamento con tasto TAB.","Completa i frammenti con il tasto TAB quando i rispettivi prefissi corrispondono. Funziona in modo ottimale quando 'quickSuggestions' non \xE8 abilitato.","Abilit\xE0 la funzionalit\xE0 di completamento con tasto TAB.","I caratteri di terminazione di riga insoliti vengono rimossi automaticamente.","I caratteri di terminazione di riga insoliti vengono ignorati.","Prompt per i caratteri di terminazione di riga insoliti da rimuovere.","Rimuovi caratteri di terminazione di riga insoliti che potrebbero causare problemi.","Inserimento ed eliminazione dello spazio vuoto dopo le tabulazioni.","Caratteri che verranno usati come separatori di parola quando si eseguono operazioni o spostamenti correlati a parole.","Il ritorno a capo automatico delle righe non viene mai applicato.","Il ritorno a capo automatico delle righe viene applicato in corrispondenza della larghezza del viewport.","Il ritorno a capo automatico delle righe viene applicato in corrispondenza di `#editor.wordWrapColumn#`.","Il ritorno a capo automatico delle righe viene applicato in corrispondenza della larghezza minima del viewport e di `#editor.wordWrapColumn#`.","Controlla il ritorno a capo automatico delle righe.","Controlla la colonna per il ritorno a capo automatico dell'editor quando il valore di `#editor.wordWrap#` \xE8 `wordWrapColumn` o `bounded`.","Nessun rientro. Le righe con ritorno a capo iniziano dalla colonna 1. ","Le righe con ritorno a capo hanno lo stesso rientro della riga padre.","Le righe con ritorno a capo hanno un rientro di +1 rispetto alla riga padre.","Le righe con ritorno a capo hanno un rientro di +2 rispetto alla riga padre.","Controlla il rientro delle righe con ritorno a capo.","Presuppone che la larghezza sia identica per tutti caratteri. Si tratta di un algoritmo veloce che funziona correttamente per i tipi di carattere a spaziatura fissa e determinati script (come i caratteri latini) in cui i glifi hanno larghezza identica.","Delega il calcolo dei punti di ritorno a capo al browser. Si tratta di un algoritmo lento che potrebbe causare blocchi con file di grandi dimensioni, ma funziona correttamente in tutti gli altri casi.","Controlla l'algoritmo che calcola i punti di ritorno a capo."],"vs/editor/common/editorContextKeys":["Whether the editor text has focus (cursor is blinking)","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)","Whether an editor or a rich text input has focus (cursor is blinking)","Whether the editor is read only","Whether the context is a diff editor","Whether `editor.columnSelection` is enabled","Whether the editor has text selected","Whether the editor has multiple selections","Whether `Tab` will move focus out of the editor","Whether the editor hover is visible","Whether the editor is part of a larger editor (e.g. notebooks)","The language identifier of the editor","Whether the editor has a completion item provider","Whether the editor has a code actions provider","Whether the editor has a code lens provider","Whether the editor has a definition provider","Whether the editor has a declaration provider","Whether the editor has an implementation provider","Whether the editor has a type definition provider","Whether the editor has a hover provider","Whether the editor has a document highlight provider","Whether the editor has a document symbol provider","Whether the editor has a reference provider","Whether the editor has a rename provider","Whether the editor has a signature help provider","Whether the editor has an inline hints provider","Whether the editor has a document formatting provider","Whether the editor has a document selection formatting provider","Whether the editor has multiple document formatting providers","Whether the editor has multiple document selection formatting providers"],"vs/editor/common/model/editStack":["Digitazione"],"vs/editor/common/modes/modesRegistry":["Testo normale"],"vs/editor/common/standaloneStrings":["Nessuna selezione","Riga {0}, colonna {1} ({2} selezionate)","Riga {0}, colonna {1}","{0} selezioni ({1} caratteri selezionati)","{0} selezioni","Modifica dell'impostazione `accessibilitySupport` in `on`.","Apertura della pagina di documentazione sull'accessibilit\xE0 dell'editor.","in un riquadro di sola lettura di un editor diff.","in un riquadro di un editor diff."," in un editor di codice di sola lettura"," in un editor di codice","Per configurare l'editor da ottimizzare per l'utilizzo con un'utilit\xE0 per la lettura dello schermo, premere Comando+E.","Per configurare l'editor da ottimizzare per l'utilizzo con un'utilit\xE0 per la lettura dello schermo, premere CTRL+E.","L'editor \xE8 configurato per essere ottimizzato per l'utilizzo con un'utilit\xE0 per la lettura dello schermo.","L'editor \xE8 configurato per non essere ottimizzato per l'utilizzo con un'utilit\xE0 per la lettura dello schermo, che non viene usata in questo momento.","Premere TAB nell'editor corrente per spostare lo stato attivo sull'elemento con stato attivabile successivo. Per attivare/disattivare questo comportamento, premere {0}.","Premere TAB nell'editor corrente per spostare lo stato attivo sull'elemento con stato attivabile successivo. Il comando {0} non pu\xF2 essere attualmente attivato con un tasto di scelta rapida.","Premere TAB nell'editor corrente per inserire il carattere di tabulazione. Per attivare/disattivare questo comportamento, premere {0}.","Premere TAB nell'editor corrente per inserire il carattere di tabulazione. Il comando {0} non pu\xF2 essere attualmente attivato con un tasto di scelta rapida.","Premere Comando+H per aprire una finestra del browser contenente maggiori informazioni correlate all'accessibilit\xE0 dell'editor.","Premere CTRL+H per aprire una finestra del browser contenente maggiori informazioni correlate all'accessibilit\xE0 dell'editor.","Per chiudere questa descrizione comando e tornare all'editor, premere ESC o MAIUSC+ESC.","Visualizza la Guida sull'accessibilit\xE0","Sviluppatore: Controlla token","Vai a Riga/Colonna...","Mostra tutti i provider di accesso rapido","Riquadro comandi","Mostra ed esegui comandi","Vai al simbolo...","Vai al simbolo per categoria...","Contenuto editor","Premere ALT+F1 per le opzioni di accessibilit\xE0.","Attiva/disattiva tema a contrasto elevato","Effettuate {0} modifiche in {1} file"],"vs/editor/common/view/editorColorRegistry":["Colore di sfondo per l'evidenziazione della riga alla posizione del cursore.","Colore di sfondo per il bordo intorno alla riga alla posizione del cursore.","Colore di sfondo degli intervalli evidenziati, ad esempio dalle funzionalit\xE0 Quick Open e Trova. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo del bordo intorno agli intervalli selezionati.","Colore di sfondo del simbolo evidenziato, ad esempio per passare alla definizione o al simbolo successivo/precedente. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo del bordo intorno ai simboli selezionati.","Colore del cursore dell'editor.","Colore di sfondo del cursore editor. Permette di personalizzare il colore di un carattere quando sovrapposto da un blocco cursore.","Colore dei caratteri di spazio vuoto nell'editor.","Colore delle guide per i rientri dell'editor.","Colore delle guide di indentazione dell'editor attivo","Colore dei numeri di riga dell'editor.","Colore del numero di riga attivo dell'editor","Id \xE8 deprecato. In alternativa usare 'editorLineNumber.activeForeground'.","Colore del numero di riga attivo dell'editor","Colore dei righelli dell'editor.","Colore primo piano delle finestre di CodeLens dell'editor","Colore di sfondo delle parentesi corrispondenti","Colore delle caselle di parentesi corrispondenti","Colore del bordo del righello delle annotazioni.","Colore di sfondo del righello delle annotazioni dell'editor. Viene usato solo quando la minimappa \xE8 abilitata e posizionata sul lato destro dell'editor.","Colore di sfondo della barra di navigazione dell'editor. La barra contiene i margini di glifo e i numeri di riga.","Colore del bordo del codice sorgente non necessario (non usato) nell'editor.",`Opacit\xE0 del codice sorgente non necessario (non usato) nell'editor. Ad esempio, con "#000000c0" il rendering del codice verr\xE0 eseguito con il 75% di opacit\xE0. Per i temi a contrasto elevato, usare il colore del tema 'editorUnnecessaryCode.border' per sottolineare il codice non necessario invece di opacizzarlo.`,"Colore del marcatore del righello delle annotazioni per le evidenziazioni degli intervalli. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del marcatore del righello delle annotazioni per gli errori.","Colore del marcatore del righello delle annotazioni per gli avvisi.","Colore del marcatore del righello delle annotazioni per i messaggi di tipo informativo."],"vs/editor/contrib/anchorSelect/anchorSelect":["Ancoraggio della selezione","Ancoraggio impostato alla posizione {0}:{1}","Imposta ancoraggio della selezione","Vai ad ancoraggio della selezione","Seleziona da ancoraggio a cursore","Annulla ancoraggio della selezione"],"vs/editor/contrib/bracketMatching/bracketMatching":["Colore del marcatore del righello delle annotazioni per la corrispondenza delle parentesi.","Vai alla parentesi quadra","Seleziona fino alla parentesi","Vai alla parentesi &&quadra"],"vs/editor/contrib/caretOperations/caretOperations":["Sposta testo selezionato a sinistra","Sposta testo selezionato a destra"],"vs/editor/contrib/caretOperations/transpose":["Trasponi lettere"],"vs/editor/contrib/clipboard/clipboard":["&&Taglia","Taglia","Taglia","&&Copia","Copia","Copia","&&Incolla","Incolla","Incolla","Copia con evidenziazione sintassi"],"vs/editor/contrib/codeAction/codeActionCommands":["Tipo dell'azione codice da eseguire.","Controlla quando vengono applicate le azioni restituite.","Applica sempre la prima azione codice restituita.","Applica la prima azione codice restituita se \xE8 l'unica.","Non applicare le azioni codice restituite.","Controlla se devono essere restituite solo le azioni codice preferite.","Si \xE8 verificato un errore sconosciuto durante l'applicazione dell'azione del codice","Correzione rapida...","Azioni codice non disponibili","Non sono disponibili azioni codice preferite per '{0}'","Non sono disponibili azioni codice per '{0}'","Non sono disponibili azioni codice preferite","Azioni codice non disponibili","Effettua refactoring...","Non sono disponibili refactoring preferiti per '{0}'","Non sono disponibili refactoring per '{0}'","Non sono disponibili refactoring preferiti","Refactoring non disponibili","Azione origine...","Non sono disponibili azioni origine preferite per '{0}'","Non sono disponibili azioni origine per '{0}'","Non sono disponibili azioni origine preferite","Azioni origine non disponibili","Organizza import","Azioni di organizzazione Imports non disponibili","Correggi tutto","Non \xE8 disponibile alcuna azione Correggi tutto","Correzione automatica...","Non sono disponibili correzioni automatiche"],"vs/editor/contrib/codeAction/lightBulbWidget":["Mostra correzioni. Correzione preferita disponibile ({0})","Mostra correzioni ({0})","Mostra correzioni"],"vs/editor/contrib/codelens/codelensController":["Mostra comandi di CodeLens per la riga corrente"],"vs/editor/contrib/comment/comment":["Attiva/disattiva commento per la riga","Attiva/Disattiva commento per la &&riga","Aggiungi commento per la riga","Rimuovi commento per la riga","Attiva/Disattiva commento per il blocco","Attiva/Disattiva commento per il &&blocco"],"vs/editor/contrib/contextmenu/contextmenu":["Mostra il menu di scelta rapida editor"],"vs/editor/contrib/cursorUndo/cursorUndo":["Cursore - Annulla","Cursore - Ripeti"],"vs/editor/contrib/find/findController":["Trova","&&Trova","Trova con selezione","Trova successivo","Trova successivo","Trova precedente","Trova precedente","Trova selezione successiva","Trova selezione precedente","Sostituisci","&&Sostituisci"],"vs/editor/contrib/find/findWidget":["Icona per 'Trova nella selezione' nel widget di ricerca dell'editor.","Icona per indicare che il widget di ricerca dell'editor \xE8 compresso.","Icona per indicare che il widget di ricerca dell'editor \xE8 espanso.","Icona per 'Sostituisci' nel widget di ricerca dell'editor.","Icona per 'Sostituisci tutto' nel widget di ricerca dell'editor.","Icona per 'Trova precedente' nel widget di ricerca dell'editor.","Icona per 'Trova successivo' nel widget di ricerca dell'editor.","Trova","Trova","Corrispondenza precedente","Corrispondenza successiva","Trova nella selezione","Chiudi","Sostituisci","Sostituisci","Sostituisci","Sostituisci tutto","Attiva/Disattiva modalit\xE0 sostituzione","Solo i primi {0} risultati vengono evidenziati, ma tutte le operazioni di ricerca funzionano su tutto il testo.","{0} di {1}","Nessun risultato","{0} trovato","{0} trovati per '{1}'","{0} trovati per '{1}' alla posizione {2}","{0} trovati per '{1}'","Il tasto di scelta rapida CTRL+INVIO ora consente di inserire l'interruzione di linea invece di sostituire tutto. Per eseguire l'override di questo comportamento, \xE8 possibile modificare il tasto di scelta rapida per editor.action.replaceAll."],"vs/editor/contrib/folding/folding":["Espandi","Espandi in modo ricorsivo","Riduci","Attiva/Disattiva riduzione","Riduci in modo ricorsivo","Riduci tutti i blocchi commento","Riduci tutte le regioni","Espandi tutte le regioni","Riduci tutto","Espandi tutto","Livello riduzione {0}","Colore di sfondo degli intervalli con riduzione. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del controllo di riduzione nella barra di navigazione dell'editor."],"vs/editor/contrib/folding/foldingDecorations":["Icona per gli intervalli espansi nel margine del glifo dell'editor.","Icona per gli intervalli compressi nel margine del glifo dell'editor."],"vs/editor/contrib/fontZoom/fontZoom":["Zoom avanti tipo di carattere editor","Zoom indietro tipo di carattere editor","Reimpostazione zoom tipo di carattere editor"],"vs/editor/contrib/format/format":["\xC8 stata apportata 1 modifica di formattazione a riga {0}","Sono state apportate {0} modifiche di formattazione a riga {1}","\xC8 stata apportata 1 modifica di formattazione tra le righe {0} e {1}","Sono state apportate {0} modifiche di formattazione tra le righe {1} e {2}"],"vs/editor/contrib/format/formatActions":["Formatta documento","Formatta selezione"],"vs/editor/contrib/gotoError/gotoError":["Vai al problema successivo (Errore, Avviso, Informazioni)","Icona per il marcatore Vai a successivo.","Vai al problema precedente (Errore, Avviso, Informazioni)","Icona per il marcatore Vai a precedente.","Vai al problema successivo nei file (Errore, Avviso, Informazioni)","&&Problema successivo","Vai al problema precedente nei file (Errore, Avviso, Informazioni)","&&Problema precedente"],"vs/editor/contrib/gotoError/gotoErrorWidget":["Errore","Avviso","Info","Suggerimento","{0} a {1}. ","{0} di {1} problemi","{0} di {1} problema","Colore per gli errori del widget di spostamento tra marcatori dell'editor.","Colore per gli avvisi del widget di spostamento tra marcatori dell'editor.","Colore delle informazioni del widget di navigazione marcatori dell'editor.","Sfondo del widget di spostamento tra marcatori dell'editor."],"vs/editor/contrib/gotoSymbol/goToCommands":["Anteprima","Definizioni","Non \xE8 stata trovata alcuna definizione per '{0}'","Non \xE8 stata trovata alcuna definizione","Vai alla definizione","Vai alla &&definizione","Apri definizione lateralmente","Visualizza in anteprima la definizione","Dichiarazioni","Non \xE8 stata trovata alcuna dichiarazione per '{0}'","Dichiarazione non trovata","Vai a dichiarazione","Vai a &&dichiarazione","Non \xE8 stata trovata alcuna dichiarazione per '{0}'","Dichiarazione non trovata","Anteprima dichiarazione","Definizioni di tipo","Non sono state trovate definizioni di tipi per '{0}'","Non sono state trovate definizioni di tipi","Vai alla definizione di tipo","Vai alla &&definizione di tipo","Anteprima definizione di tipo","Implementazioni","Non sono state trovate implementazioni per '{0}'","Non sono state trovate implementazioni","Vai a implementazioni","Vai a &&Implementazioni","Visualizza implementazioni","Non sono stati trovati riferimenti per '{0}'","Non sono stati trovati riferimenti","Vai a Riferimenti","Vai a &&riferimenti","Riferimenti","Anteprima riferimenti","Riferimenti","Vai a qualsiasi simbolo","Posizioni","Nessun risultato per '{0}'","Riferimenti"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Fare clic per visualizzare {0} definizioni."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Caricamento...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["{0} riferimenti","{0} riferimento","Riferimenti"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["anteprima non disponibile","Nessun risultato","Riferimenti"],"vs/editor/contrib/gotoSymbol/referencesModel":["simbolo in {0} alla riga {1} colonna {2}","simbolo in {0} alla riga {1} colonna {2}, {3}","1 simbolo in {0}, percorso completo {1}","{0} simboli in {1}, percorso completo {2}","Non sono stati trovati risultati","Trovato 1 simbolo in {0}","Trovati {0} simboli in {1}","Trovati {0} simboli in {1} file"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Simbolo {0} di {1}, {2} per il successivo","Simbolo {0} di {1}"],"vs/editor/contrib/hover/hover":["Visualizza passaggio del mouse","Mostra anteprima definizione al passaggio del mouse"],"vs/editor/contrib/hover/markdownHoverParticipant":["Caricamento..."],"vs/editor/contrib/hover/markerHoverParticipant":["View Problem","Non sono disponibili correzioni rapide","Verifica disponibilit\xE0 correzioni rapide...","Non sono disponibili correzioni rapide","Correzione rapida..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Sostituisci con il valore precedente","Sostituisci con il valore successivo"],"vs/editor/contrib/indentation/indentation":["Converti rientro in spazi","Converti rientro in tabulazioni","Dimensione tabulazione configurata","Seleziona dimensione tabulazione per il file corrente","Imposta rientro con tabulazioni","Imposta rientro con spazi","Rileva rientro dal contenuto","Imposta nuovo rientro per righe","Re-Indenta le Linee Selezionate"],"vs/editor/contrib/linesOperations/linesOperations":["Copia la riga in alto","&&Copia la riga in alto","Copia la riga in basso","Co&&pia la riga in basso","Duplica selezione","&&Duplica selezione","Sposta la riga in alto","Sposta la riga in &&alto","Sposta la riga in basso","Sposta la riga in &&basso","Ordinamento righe crescente","Ordinamento righe decrescente","Taglia spazio vuoto finale","Elimina riga","Imposta un rientro per la riga","Riduci il rientro per la riga","Inserisci la riga sopra","Inserisci la riga sotto","Elimina tutto a sinistra","Elimina tutto a destra","Unisci righe","Trasponi caratteri intorno al cursore","Converti in maiuscolo","Converti in minuscolo","Trasforma in Tutte Iniziali Maiuscole","Trasforma in snake case"],"vs/editor/contrib/linkedEditing/linkedEditing":["Avvia modifica collegata","Colore di sfondo quando l'editor viene rinominato automaticamente in base al tipo."],"vs/editor/contrib/links/links":["Esegui il comando","Visita il collegamento","CMD+clic","CTRL+clic","Opzione+clic","ALT+clic","Esegue il comando {0}","Non \xE8 stato possibile aprire questo collegamento perch\xE9 il formato non \xE8 valido: {0}","Non \xE8 stato possibile aprire questo collegamento perch\xE9 manca la destinazione.","Apri collegamento"],"vs/editor/contrib/message/messageController":["Indica se l'editor visualizza attualmente un messaggio inline","Non \xE8 possibile modificare nell'editor di sola lettura"],"vs/editor/contrib/multicursor/multicursor":["Aggiungi cursore sopra","&&Aggiungi cursore sopra","Aggiungi cursore sotto","A&&ggiungi cursore sotto","Aggiungi cursori a fine riga","Aggiungi c&&ursori a fine riga","Aggiungi cursori alla fine","Aggiungi cursori all'inizio","Aggiungi selezione a risultato ricerca successivo","Aggiungi &&occorrenza successiva","Aggiungi selezione a risultato ricerca precedente","Aggiungi occorrenza &&precedente","Sposta ultima selezione a risultato ricerca successivo","Sposta ultima selezione a risultato ricerca precedente","Seleziona tutte le occorrenze del risultato ricerca","Seleziona &&tutte le occorrenze","Cambia tutte le occorrenze"],"vs/editor/contrib/parameterHints/parameterHints":["Attiva i suggerimenti per i parametri"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["Icona per visualizzare il suggerimento del parametro successivo.","Icona per visualizzare il suggerimento del parametro precedente.","{0}, suggerimento"],"vs/editor/contrib/peekView/peekView":["Chiudi","Colore di sfondo dell'area del titolo della visualizzazione rapida.","Colore del titolo della visualizzazione rapida.","Colore delle informazioni del titolo della visualizzazione rapida.","Colore dei bordi e della freccia della visualizzazione rapida.","Colore di sfondo dell'elenco risultati della visualizzazione rapida.","Colore primo piano dei nodi riga nell'elenco risultati della visualizzazione rapida.","Colore primo piano dei nodi file nell'elenco risultati della visualizzazione rapida.","Colore di sfondo della voce selezionata nell'elenco risultati della visualizzazione rapida.","Colore primo piano della voce selezionata nell'elenco risultati della visualizzazione rapida.","Colore di sfondo dell'editor di visualizzazioni rapide.","Colore di sfondo della barra di navigazione nell'editor visualizzazione rapida.","Colore dell'evidenziazione delle corrispondenze nell'elenco risultati della visualizzazione rapida.","Colore dell'evidenziazione delle corrispondenze nell'editor di visualizzazioni rapide.","Bordo dell'evidenziazione delle corrispondenze nell'editor di visualizzazioni rapide."],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["Aprire prima un editor di testo per passare a una riga.","Passa a riga {0} e colonna {1}.","Vai alla riga {0}.","Riga corrente: {0}, carattere: {1}. Digitare un numero di riga a cui passare compreso tra 1 e {2}.","Riga corrente: {0}, Carattere: {1}. Digitare un numero di riga a cui passare."],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["Per passare a un simbolo, aprire prima un editor di testo con informazioni sui simboli.","L'editor di testo attivo non fornisce informazioni sui simboli.","Non ci sono simboli dell'editor corrispondenti","Non ci sono simboli dell'editor","Apri lateralmente","Apri in basso","simboli ({0})","propriet\xE0 ({0})","metodi ({0})","funzioni ({0})","costruttori ({0})","variabili ({0})","classi ({0})","struct ({0})","eventi ({0})","operatori ({0})","interfacce ({0})","spazi dei nomi ({0})","pacchetti ({0})","parametri di tipo ({0})","moduli ({0})","propriet\xE0 ({0})","enumerazioni ({0})","membri di enumerazione ({0})","stringhe ({0})","file ({0})","matrici ({0})","numeri ({0})","valori booleani ({0})","oggetti ({0})","chiavi ({0})","campi ({0})","costanti ({0})"],"vs/editor/contrib/rename/rename":["Nessun risultato.","Si \xE8 verificato un errore sconosciuto durante la risoluzione del percorso di ridenominazione","Ridenominazione di '{0}'","Ridenominazione di {0}","Correttamente rinominato '{0}' in '{1}'. Sommario: {2}","La ridenominazione non \xE8 riuscita ad applicare le modifiche","La ridenominazione non \xE8 riuscita a calcolare le modifiche","Rinomina simbolo","Abilita/Disabilita l'opzione per visualizzare le modifiche in anteprima prima della ridenominazione"],"vs/editor/contrib/rename/renameInputField":["Consente di rinominare l'input. Digitare il nuovo nome e premere INVIO per eseguire il commit.","{0} per rinominare, {1} per visualizzare in anteprima"],"vs/editor/contrib/smartSelect/smartSelect":["Espandi selezione","Espan&&di selezione","Riduci selezione","&&Riduci selezione"],"vs/editor/contrib/snippet/snippetVariables":["Domenica","Luned\xEC","Marted\xEC","Mercoled\xEC","Gioved\xEC","Venerd\xEC","Sabato","Dom","Lun","Mar","Mer","Gio","Ven","Sab","Gennaio","Febbraio","Marzo","Aprile","Mag","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre","Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],"vs/editor/contrib/suggest/suggestController":["In seguito all'accettazione di '{0}' sono state apportate altre {1} modifiche","Attiva suggerimento","Inserisci","Inserisci","Sostituisci","Sostituisci","Inserisci","nascondi dettagli","mostra dettagli","Reimposta le dimensioni del widget dei suggerimenti"],"vs/editor/contrib/suggest/suggestWidget":["Colore di sfondo del widget dei suggerimenti.","Colore del bordo del widget dei suggerimenti.","Colore primo piano del widget dei suggerimenti.","Colore di sfondo della voce selezionata del widget dei suggerimenti.","Colore delle evidenziazioni corrispondenze nel widget dei suggerimenti.","Caricamento...","Non ci sono suggerimenti.","{0}, documenti: {1}","Suggerisci"],"vs/editor/contrib/suggest/suggestWidgetDetails":["Chiudi","Caricamento..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["Icona per visualizzare altre informazioni nel widget dei suggerimenti.","Altre informazioni"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["Colore primo piano per i simboli di matrice. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli booleani. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di classe. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di colore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di costante. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di costruttore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di enumeratore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di membro di enumeratore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di evento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di campo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di file. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di cartella. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di funzione. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di interfaccia. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di chiave. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di parola chiave. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di metodo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di modulo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di spazio dei nomi. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli Null. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli numerici. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di oggetto. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di operatore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di pacchetto. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di propriet\xE0. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di riferimento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di frammento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di stringa. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di struct. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di testo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di parametro di tipo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di unit\xE0. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di variabile. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti."],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Attiva/Disattiva l'uso di TAB per spostare lo stato attivo","Se si preme TAB, lo stato attivo verr\xE0 spostato sull'elemento con stato attivabile successivo.","Se si preme TAB, verr\xE0 inserito il carattere di tabulazione"],"vs/editor/contrib/tokenization/tokenization":["Sviluppatore: Forza retokenizzazione"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["Caratteri di terminazione di riga insoliti","Sono stati rilevati caratteri di terminazione di riga insoliti","Questo file contiene uno o pi\xF9 caratteri di terminazione di riga insoliti, come separatore di riga (LS) o separatore di paragrafo (PS).\r\n\r\n\xC8 consigliabile rimuoverli dal file. \xC8 possibile configurare questa opzione tramite `editor.unusualLineTerminators`.","Correggi questo file","Ignora il problema per questo file"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["Colore di sfondo di un simbolo durante l'accesso in lettura, ad esempio durante la lettura di una variabile. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo di un simbolo durante l'accesso in scrittura, ad esempio durante la scrittura in una variabile. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del bordo di un simbolo durante l'accesso in lettura, ad esempio durante la lettura di una variabile.","Colore del bordo di un simbolo durante l'accesso in scrittura, ad esempio durante la scrittura in una variabile.","Colore del marcatore del righello delle annotazioni per le evidenziazioni dei simboli. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del marcatore del righello delle annotazioni per le evidenziazioni dei simboli di accesso in scrittura. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Vai al prossimo simbolo evidenziato","Vai al precedente simbolo evidenziato","Attiva/disattiva evidenziazione simbolo"],"vs/editor/contrib/wordOperations/wordOperations":["Elimina parola"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["Override configurazione predefinita del linguaggio","Consente di configurare le impostazioni dell'editor di cui eseguire l'override per un linguaggio.","Questa impostazione non supporta la configurazione per lingua.","Non \xE8 possibile registrare una propriet\xE0 vuota","Non \xE8 possibile registrare '{0}'. Corrisponde al criterio di propriet\xE0 '\\\\[.*\\\\]$' per la descrizione delle impostazioni dell'editor specifiche del linguaggio. Usare il contributo 'configurationDefaults'.","Non \xE8 possibile registrare '{0}'. Questa propriet\xE0 \xE8 gi\xE0 registrata."],"vs/platform/contextkey/browser/contextKeyService":["Comando che restituisce informazioni sulle chiavi di contesto"],"vs/platform/contextkey/common/contextkeys":["Whether the operating system is Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["\xC8 stato premuto ({0}). In attesa del secondo tasto...","La combinazione di tasti ({0}, {1}) non \xE8 un comando."],"vs/platform/list/browser/listService":["Workbench","Rappresenta il tasto 'Control' in Windows e Linux e il tasto 'Comando' in macOS.","Rappresenta il tasto 'Alt' in Windows e Linux e il tasto 'Opzione' in macOS.","Il modificatore da utilizzare per aggiungere un elemento di alberi e liste ad una selezione multipla con il mouse (ad esempio in Esplora Risorse, apre gli editor e le viste scm). Le gesture del mouse 'Apri a lato' - se supportate - si adatteranno in modo da non creare conflitti con il modificatore di selezione multipla.","Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.","Controlla se elenchi e alberi supportano lo scorrimento orizzontale nell'area di lavoro. Avviso: l'attivazione di questa impostazione pu\xF2 influire sulle prestazioni.","Controlla il rientro dell'albero in pixel.","Controlla se l'albero deve eseguire il rendering delle guide per i rientri.","Controlla se elenchi e alberi prevedono lo scorrimento uniforme.","Con lo stile di spostamento da tastiera simple lo stato attivo si trova sugli elementi che corrispondono all'input da tastiera. L'abbinamento viene effettuato solo in base ai prefissi.","Con lo stile di spostamento da tastiera highlight vengono evidenziati gli elementi corrispondenti all'input da tastiera. Spostandosi ulteriormente verso l'alto o verso il basso ci si sposter\xE0 solo negli elementi evidenziati.","Con lo stile di spostamento da tastiera filter verranno filtrati e nascosti tutti gli elementi che non corrispondono all'input da tastiera.","Controlla lo stile di spostamento da tastiera per elenchi e alberi nel workbench. Le opzioni sono: simple, highlight e filter.","Controlla se gli spostamenti da tastiera per elenchi e alberi vengono attivati semplicemente premendo un tasto. Se \xE8 impostato su `false`, gli spostamenti da tastiera vengono attivati solo durante l'esecuzione del comando `list.toggleKeyboardNavigation`, al quale \xE8 possibile assegnare un tasto di scelta rapida.","Controlla l'espansione delle cartelle di alberi quando si fa clic sui nomi delle cartelle. Tenere presente che alcuni alberi ed elenchi potrebbero scegliere di ignorare questa impostazione se non \xE8 applicabile."],"vs/platform/markers/common/markers":["Errore","Avviso","Info"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","usate di recente","altri comandi","Il comando '{0}' ha restituito un errore ({1})"],"vs/platform/quickinput/browser/helpQuickAccess":["comandi globali","comandi dell'editor","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["Colore primo piano generale. Questo colore viene usato solo se non \xE8 sostituito da quello di un componente.","Colore primo piano globale per i messaggi di errore. Questo colore viene usato solo se non \xE8 sostituito da quello di un componente.","Colore predefinito per le icone nel workbench.","Colore del bordo globale per gli elementi evidenziati. Questo colore viene usato solo se non \xE8 sostituito da quello di un componente.","Un bordo supplementare attorno agli elementi per contrastarli maggiormente rispetto agli altri.","Un bordo supplementare intorno agli elementi attivi per contrastarli maggiormente rispetto agli altri.","Colore primo piano dei link nel testo.","Colore di sfondo per i blocchi di codice nel testo.","Colore ombreggiatura dei widget, ad es. Trova/Sostituisci all'interno dell'editor.","Sfondo della casella di input.","Primo piano della casella di input.","Bordo della casella di input.","Colore del bordo di opzioni attivate nei campi di input.","Colore di sfondo di opzioni attivate nei campi di input.","Colore primo piano di opzioni attivate nei campi di input.","Colore di sfondo di convalida dell'input di tipo Informazione.","Colore primo piano di convalida dell'input di tipo Informazione.","Colore del bordo della convalida dell'input di tipo Informazione.","Colore di sfondo di convalida dell'input di tipo Avviso.","Colore primo piano di convalida dell'input di tipo Avviso.","Colore del bordo della convalida dell'input di tipo Avviso.","Colore di sfondo di convalida dell'input di tipo Errore.","Colore primo piano di convalida dell'input di tipo Errore.","Colore del bordo della convalida dell'input di tipo Errore.","Sfondo dell'elenco a discesa.","Primo piano dell'elenco a discesa.","Colore primo piano del pulsante.","Colore di sfondo del pulsante.","Colore di sfondo del pulsante al passaggio del mouse.","Colore di sfondo del badge. I badge sono piccole etichette informative, ad esempio per mostrare il conteggio dei risultati della ricerca.","Colore primo piano del badge. I badge sono piccole etichette informative, ad esempio per mostrare il conteggio dei risultati di una ricerca.","Ombra della barra di scorrimento per indicare lo scorrimento della visualizzazione.","Colore di sfondo del cursore della barra di scorrimento.","Colore di sfondo del cursore della barra di scorrimento al passaggio del mouse.","Colore di sfondo del cursore della barra di scorrimento quando si fa clic con il mouse.","Colore di sfondo dell'indicatore di stato che pu\xF2 essere mostrato per operazioni a esecuzione prolungata.","Colore di sfondo del testo dell'errore nell'editor. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore primo piano degli indicatori di errore nell'editor.","Colore del bordo delle caselle di errore nell'editor.","Colore di sfondo del testo dell'avviso nell'editor. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore primo piano degli indicatori di avviso nell'editor.","Colore del bordo delle caselle di avviso nell'editor.","Colore di sfondo del testo delle informazioni nell'editor. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore primo piano degli indicatori di informazioni nell'editor.","Colore del bordo delle caselle informative nell'editor.","Colore primo piano degli indicatori di suggerimento nell'editor.","Colore del bordo delle caselle dei suggerimenti nell'editor.","Colore di sfondo dell'editor.","Colore primo piano predefinito dell'editor.","Colore di sfondo dei widget dell'editor, ad esempio Trova/Sostituisci.","Colore primo piano dei widget dell'editor, ad esempio Trova/Sostituisci.","Colore del bordo dei widget dell'editor. Il colore viene usato solo se il widget sceglie di avere un bordo e se il colore non \xE8 sottoposto a override da un widget.","Colore del bordo della barra di ridimensionamento dei widget dell'editor. Il colore viene usato solo se il widget sceglie di avere un bordo di ridimensionamento e se il colore non \xE8 sostituito da quello di un widget.","Colore di sfondo di Selezione rapida. Il widget Selezione rapida \xE8 il contenitore di selezioni quali il riquadro comandi.","Colore primo piano di Selezione rapida. Il widget Selezione rapida \xE8 il contenitore di selezioni quali il riquadro comandi.","Colore di sfondo del titolo di Selezione rapida. Il widget Selezione rapida \xE8 il contenitore di selezioni quali il riquadro comandi.","Colore di sfondo di Selezione rapida per l'elemento con lo stato attivo.","Colore di selezione rapida per il raggruppamento delle etichette.","Colore di selezione rapida per il raggruppamento dei bordi.","Colore della selezione dell'editor.","Colore del testo selezionato per il contrasto elevato.","Colore della selezione in un editor inattivo. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore delle aree con lo stesso contenuto della selezione. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del bordo delle regioni con lo stesso contenuto della selezione.","Colore della corrispondenza di ricerca corrente.","Colore degli altri risultati della ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore dell'intervallo di limite della ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del bordo della corrispondenza della ricerca corrente.","Colore del bordo delle altre corrispondenze della ricerca.","Colore del bordo dell'intervallo che limita la ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Evidenziazione sotto la parola per cui \xE8 visualizzata un'area sensibile al passaggio del mouse. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo dell'area sensibile al passaggio del mouse dell'editor.","Colore primo piano dell'area sensibile al passaggio del mouse dell'editor.","Colore del bordo dell'area sensibile al passaggio del mouse dell'editor.","Colore di sfondo della barra di stato sensibile al passaggio del mouse dell'editor.","Colore dei collegamenti attivi.","Colore primo piano dei suggerimenti inline","Colore di sfondo dei suggerimenti inline","Colore usato per l'icona delle azioni con lampadina.","Colore usato per l'icona delle azioni di correzione automatica con lampadina.","Colore di sfondo per il testo che \xE8 stato inserito. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo per il testo che \xE8 stato rimosso. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del contorno del testo che \xE8 stato inserito.","Colore del contorno del testo che \xE8 stato rimosso.","Colore del bordo tra due editor di testo.","Colore del riempimento diagonale dell'editor diff. Il riempimento diagonale viene usato nelle visualizzazioni diff affiancate.","Colore di sfondo dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore primo piano dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore del contorno dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore di sfondo dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore primo piano dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore di sfondo dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore primo piano dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore di sfondo dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, uno inattivo no.","Colore del contorno dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Sfondo dell'elenco/albero al passaggio del mouse sugli elementi.","Primo piano dell'elenco/albero al passaggio del mouse sugli elementi.","Sfondo dell'elenco/albero durante il trascinamento degli elementi selezionati.","Colore primo piano Elenco/Struttura ad albero delle occorrenze trovate durante la ricerca nell'Elenco/Struttura ad albero.","Colore di sfondo del widget del filtro per tipo in elenchi e alberi.","Colore del contorno del widget del filtro per tipo in elenchi e alberi.","Colore del contorno del widget del filtro per tipo in elenchi e alberi quando non sono presenti corrispondenze.","Colore del tratto dell'albero per le guide per i rientri.","Colore del tratto dell'albero per le guide per i rientri.","Colore del bordo del menu.","Colore primo piano delle voci di menu.","Colore di sfondo delle voci di menu.","Colore primo piano della voce di menu selezionata nei menu.","Colore di sfondo della voce di menu selezionata nei menu.","Colore del bordo della voce di menu selezionata nei menu.","Colore di un elemento separatore delle voci di menu.","Colore di sfondo dell'evidenziazione della tabulazione di un frammento.","Colore del bordo dell'evidenziazione della tabulazione di un frammento.","Colore di sfondo dell'evidenziazione della tabulazione finale di un frammento.","Colore del bordo dell'evidenziazione della tabulazione finale di un frammento.","Colore del marcatore del righello delle annotazioni per la ricerca di corrispondenze. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del marcatore del righello delle annotazioni per le evidenziazioni delle selezioni. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del marcatore della minimappa per la ricerca delle corrispondenze.","Colore del marcatore della minimappa per la selezione dell'editor.","Colore del marcatore della minimappa per gli errori.","Colore del marcatore della minimappa per gli avvisi.","Colore di sfondo della minimappa.","Colore di sfondo del dispositivo di scorrimento della minimappa.","Colore di sfondo del dispositivo di scorrimento della minimappa al passaggio del mouse.","Colore di sfondo del dispositivo di scorrimento della minimappa quando si fa clic con il mouse.","Colore usato per l'icona di errore dei problemi.","Colore usato per l'icona di avviso dei problemi.","Colore usato per l'icona informazioni dei problemi."],"vs/platform/theme/common/iconRegistry":["ID del tipo di carattere da usare. Se non \xE8 impostato, viene usato il tipo di carattere definito per primo.","Tipo di carattere associato alla definizione di icona.","Icona dell'azione di chiusura nei widget."],"vs/platform/undoRedo/common/undoRedoService":["I file seguenti sono stati chiusi e modificati nel disco: {0}.","I file seguenti sono stati modificati in modo incompatibile: {0}.","Non \xE8 stato possibile annullare '{0}' in tutti i file. {1}","Non \xE8 stato possibile annullare '{0}' in tutti i file. {1}","Non \xE8 stato possibile annullare '{0}' in tutti i file perch\xE9 sono state apportate modifiche a {1}","Non \xE8 stato possibile annullare '{0}' su tutti i file perch\xE9 \xE8 gi\xE0 in esecuzione un'operazione di annullamento o ripetizione su {1}","Non \xE8 stato possibile annullare '{0}' su tutti i file perch\xE9 nel frattempo \xE8 stata eseguita un'operazione di annullamento o ripetizione","Annullare '{0}' in tutti i file?","Annulla in {0} file","Annulla questo file","Annulla","Non \xE8 stato possibile annullare '{0}' perch\xE9 \xE8 gi\xE0 in esecuzione un'operazione di annullamento o ripetizione.","Annullare '{0}'?","Annulla","Annulla","Non \xE8 stato possibile ripetere '{0}' in tutti i file. {1}","Non \xE8 stato possibile ripetere '{0}' in tutti i file. {1}","Non \xE8 stato possibile ripetere '{0}' in tutti i file perch\xE9 sono state apportate modifiche a {1}","Non \xE8 stato possibile ripetere l'operazione '{0}' su tutti i file perch\xE9 \xE8 gi\xE0 in esecuzione un'operazione di annullamento o ripetizione sull'elenco di file {1}","Non \xE8 stato possibile ripetere '{0}' su tutti i file perch\xE9 nel frattempo \xE8 stata eseguita un'operazione di annullamento o ripetizione","Non \xE8 stato possibile ripetere '{0}' perch\xE9 \xE8 gi\xE0 in esecuzione un'operazione di annullamento o ripetizione."]}); diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.ja.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.ja.js new file mode 100644 index 0000000..009489c --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.ja.js @@ -0,0 +1,8 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/define("vs/editor/editor.main.nls.ja",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["\u5165\u529B"],"vs/base/browser/ui/findinput/findInputCheckboxes":["\u5927\u6587\u5B57\u3068\u5C0F\u6587\u5B57\u3092\u533A\u5225\u3059\u308B","\u5358\u8A9E\u5358\u4F4D\u3067\u691C\u7D22\u3059\u308B","\u6B63\u898F\u8868\u73FE\u3092\u4F7F\u7528\u3059\u308B"],"vs/base/browser/ui/findinput/replaceInput":["\u5165\u529B","\u4FDD\u6301\u3059\u308B"],"vs/base/browser/ui/iconLabel/iconLabel":["\u8AAD\u307F\u8FBC\u307F\u4E2D..."],"vs/base/browser/ui/inputbox/inputBox":["\u30A8\u30E9\u30FC: {0}","\u8B66\u544A: {0}","\u60C5\u5831: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["\u30D0\u30A4\u30F3\u30C9\u306A\u3057"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["\u30AF\u30EA\u30A2","\u578B\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u7121\u52B9\u306B\u3059\u308B","\u578B\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u6709\u52B9\u306B\u3059\u308B","\u8981\u7D20\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","{1} \u500B\u306E\u8981\u7D20\u306E\u3046\u3061 {0} \u500B\u306E\u8981\u7D20\u304C\u4E00\u81F4\u3057\u307E\u3057\u305F"],"vs/base/common/actions":["(\u7A7A)"],"vs/base/common/errorMessage":["{0}: {1}","\u30B7\u30B9\u30C6\u30E0 \u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F ({0})","\u4E0D\u660E\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30ED\u30B0\u3067\u8A73\u7D30\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u4E0D\u660E\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30ED\u30B0\u3067\u8A73\u7D30\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002","{0} (\u5408\u8A08 {1} \u30A8\u30E9\u30FC)","\u4E0D\u660E\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30ED\u30B0\u3067\u8A73\u7D30\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Alt","\u30B3\u30DE\u30F3\u30C9","Control","Shift","Alt","Windows","Control","Shift","Alt","Super"],"vs/base/parts/quickinput/browser/quickInput":["\u623B\u308B","{0}/{1}","\u5165\u529B\u3059\u308B\u3068\u7D50\u679C\u304C\u7D5E\u308A\u8FBC\u307E\u308C\u307E\u3059\u3002","{0} \u4EF6\u306E\u7D50\u679C","{0} \u500B\u9078\u629E\u6E08\u307F","OK","\u30AB\u30B9\u30BF\u30E0","\u623B\u308B ({0})","\u623B\u308B"],"vs/base/parts/quickinput/browser/quickInputList":["\u30AF\u30A4\u30C3\u30AF\u5165\u529B"],"vs/editor/browser/controller/coreCommands":["\u9577\u3044\u884C\u306B\u79FB\u52D5\u3057\u3066\u3082\u884C\u672B\u306B\u4F4D\u7F6E\u3057\u307E\u3059","\u9577\u3044\u884C\u306B\u79FB\u52D5\u3057\u3066\u3082\u884C\u672B\u306B\u4F4D\u7F6E\u3057\u307E\u3059"],"vs/editor/browser/controller/textAreaHandler":["\u30A8\u30C7\u30A3\u30BF\u30FC","\u3053\u306E\u6642\u70B9\u3067\u306F\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u3001{0} \u3092\u62BC\u3057\u307E\u3059\u3002"],"vs/editor/browser/core/keybindingCancellation":["\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u53D6\u308A\u6D88\u3057\u53EF\u80FD\u306A\u64CD\u4F5C ('\u53C2\u7167\u3092\u3053\u3053\u306B\u8868\u793A' \u306A\u3069) \u3092\u5B9F\u884C\u3059\u308B\u304B\u3069\u3046\u304B"],"vs/editor/browser/editorExtensions":["\u5143\u306B\u623B\u3059(&&U)","\u5143\u306B\u623B\u3059","\u3084\u308A\u76F4\u3057(&&R)","\u3084\u308A\u76F4\u3057","\u3059\u3079\u3066\u9078\u629E(&&S)","\u3059\u3079\u3066\u3092\u9078\u629E"],"vs/editor/browser/widget/codeEditorWidget":["\u30AB\u30FC\u30BD\u30EB\u306E\u6570\u306F {0} \u500B\u306B\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059\u3002"],"vs/editor/browser/widget/diffEditorWidget":["\u5DEE\u5206\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u633F\u5165\u3092\u793A\u3059\u7DDA\u306E\u88C5\u98FE\u3002","\u5DEE\u5206\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u524A\u9664\u3092\u793A\u3059\u7DDA\u306E\u88C5\u98FE\u3002","\u4E00\u65B9\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u308B\u305F\u3081\u3001\u30D5\u30A1\u30A4\u30EB\u3092\u6BD4\u8F03\u3067\u304D\u307E\u305B\u3093\u3002"],"vs/editor/browser/widget/diffReview":["\u5DEE\u5206\u30EC\u30D3\u30E5\u30FC\u3067\u306E '\u633F\u5165' \u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u5DEE\u5206\u30EC\u30D3\u30E5\u30FC\u3067\u306E '\u524A\u9664' \u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u5DEE\u5206\u30EC\u30D3\u30E5\u30FC\u3067\u306E '\u9589\u3058\u308B' \u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u9589\u3058\u308B","\u5909\u66F4\u3055\u308C\u305F\u884C\u306F\u3042\u308A\u307E\u305B\u3093","1 \u884C\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F","{0} \u884C\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F","\u76F8\u9055 {0}/{1}: \u5143\u306E\u884C {2}\u3001{3}\u3002\u5909\u66F4\u3055\u308C\u305F\u884C {4}\u3001{5}","\u7A7A\u767D","{0} \u5909\u66F4\u3055\u308C\u3066\u3044\u306A\u3044\u884C {1}","{0} \u5143\u306E\u884C {1} \u5909\u66F4\u3055\u308C\u305F\u884C {2}","+ {0} \u5909\u66F4\u3055\u308C\u305F\u884C {1}","- {0} \u5143\u306E\u884C {1}","\u6B21\u306E\u5DEE\u5206\u306B\u79FB\u52D5","\u524D\u306E\u5DEE\u5206\u306B\u79FB\u52D5"],"vs/editor/browser/widget/inlineDiffMargin":["\u524A\u9664\u3055\u308C\u305F\u884C\u306E\u30B3\u30D4\u30FC","\u524A\u9664\u3055\u308C\u305F\u884C\u306E\u30B3\u30D4\u30FC","\u524A\u9664\u3055\u308C\u305F\u884C\u306E\u30B3\u30D4\u30FC ({0})","\u3053\u306E\u5909\u66F4\u3092\u5143\u306B\u623B\u3059","\u524A\u9664\u3055\u308C\u305F\u884C\u306E\u30B3\u30D4\u30FC ({0})"],"vs/editor/common/config/commonEditorConfig":["\u30A8\u30C7\u30A3\u30BF\u30FC","1 \u3064\u306E\u30BF\u30D6\u306B\u76F8\u5F53\u3059\u308B\u30B9\u30DA\u30FC\u30B9\u306E\u6570\u3002`#editor.detectIndentation#` \u304C\u30AA\u30F3\u306E\u5834\u5408\u3001\u3053\u306E\u8A2D\u5B9A\u306F\u30D5\u30A1\u30A4\u30EB \u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u57FA\u3065\u3044\u3066\u4E0A\u66F8\u304D\u3055\u308C\u307E\u3059\u3002","`Tab` \u30AD\u30FC\u3092\u62BC\u3059\u3068\u30B9\u30DA\u30FC\u30B9\u304C\u633F\u5165\u3055\u308C\u307E\u3059\u3002`#editor.detectIndentation#` \u304C\u30AA\u30F3\u306E\u5834\u5408\u3001\u3053\u306E\u8A2D\u5B9A\u306F\u30D5\u30A1\u30A4\u30EB \u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u57FA\u3065\u3044\u3066\u4E0A\u66F8\u304D\u3055\u308C\u307E\u3059\u3002","\u30D5\u30A1\u30A4\u30EB\u304C\u30D5\u30A1\u30A4\u30EB\u306E\u5185\u5BB9\u306B\u57FA\u3065\u3044\u3066\u958B\u304B\u308C\u308B\u5834\u5408\u3001`#editor.tabSize#` \u3068 `#editor.insertSpaces#` \u3092\u81EA\u52D5\u7684\u306B\u691C\u51FA\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u81EA\u52D5\u633F\u5165\u3055\u308C\u305F\u672B\u5C3E\u306E\u7A7A\u767D\u3092\u524A\u9664\u3057\u307E\u3059\u3002","\u5927\u304D\u306A\u30D5\u30A1\u30A4\u30EB\u3067\u30E1\u30E2\u30EA\u304C\u96C6\u4E2D\u3059\u308B\u7279\u5B9A\u306E\u6A5F\u80FD\u3092\u7121\u52B9\u306B\u3059\u308B\u305F\u3081\u306E\u7279\u5225\u306A\u51E6\u7406\u3002","\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u306E\u5358\u8A9E\u306B\u57FA\u3065\u3044\u3066\u5165\u529B\u5019\u88DC\u3092\u8A08\u7B97\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304B\u3089\u306E\u307F\u5358\u8A9E\u306E\u5019\u88DC\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u540C\u3058\u8A00\u8A9E\u306E\u958B\u3044\u3066\u3044\u308B\u3059\u3079\u3066\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304B\u3089\u5358\u8A9E\u306E\u5019\u88DC\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u958B\u3044\u3066\u3044\u308B\u3059\u3079\u3066\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304B\u3089\u5358\u8A9E\u306E\u5019\u88DC\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u5358\u8A9E\u30D9\u30FC\u30B9\u306E\u88DC\u5B8C\u304C\u8A08\u7B97\u3055\u308C\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u306E\u5F37\u8ABF\u8868\u793A\u304C\u3059\u3079\u3066\u306E\u914D\u8272\u30C6\u30FC\u30DE\u306B\u3064\u3044\u3066\u6709\u52B9\u306B\u306A\u308A\u307E\u3057\u305F\u3002","\u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u306E\u5F37\u8ABF\u8868\u793A\u304C\u3059\u3079\u3066\u306E\u914D\u8272\u30C6\u30FC\u30DE\u306B\u3064\u3044\u3066\u7121\u52B9\u306B\u306A\u308A\u307E\u3057\u305F\u3002","\u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u306E\u5F37\u8ABF\u8868\u793A\u306F\u3001\u73FE\u5728\u306E\u914D\u8272\u30C6\u30FC\u30DE\u306E 'semanticHighlighting' \u8A2D\u5B9A\u306B\u3088\u3063\u3066\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002","semanticHighlighting \u3092\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u308B\u8A00\u8A9E\u3067\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u304B\u3001`Escape` \u30AD\u30FC\u3092\u62BC\u3057\u3066\u3082\u3001\u30D4\u30FC\u30AF \u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u958B\u3044\u305F\u307E\u307E\u306B\u3057\u307E\u3059\u3002","\u3053\u306E\u9577\u3055\u3092\u8D8A\u3048\u308B\u884C\u306F\u3001\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u4E0A\u306E\u7406\u7531\u306B\u3088\u308A\u30C8\u30FC\u30AF\u30F3\u5316\u3055\u308C\u307E\u305B\u3093\u3002","\u5DEE\u5206\u8A08\u7B97\u304C\u53D6\u308A\u6D88\u3055\u308C\u305F\u5F8C\u306E\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8 (\u30DF\u30EA\u79D2\u5358\u4F4D)\u3002\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u306A\u3057\u306B\u306F 0 \u3092\u4F7F\u7528\u3057\u307E\u3059\u3002","\u5DEE\u5206\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u5DEE\u5206\u3092\u6A2A\u306B\u4E26\u3079\u3066\u8868\u793A\u3059\u308B\u304B\u3001\u884C\u5185\u306B\u8868\u793A\u3059\u308B\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u5DEE\u5206\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306E\u7A7A\u767D\u6587\u5B57\u306E\u5909\u66F4\u3092\u7121\u8996\u3057\u307E\u3059\u3002","\u5DEE\u5206\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u8FFD\u52A0/\u524A\u9664\u3055\u308C\u305F\u5909\u66F4\u306B +/- \u30A4\u30F3\u30B8\u30B1\u30FC\u30BF\u30FC\u3092\u793A\u3059\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067 CodeLens \u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u884C\u3092\u6298\u308A\u8FD4\u3057\u307E\u305B\u3093\u3002","\u884C\u3092\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u306E\u5E45\u3067\u6298\u308A\u8FD4\u3057\u307E\u3059\u3002","\u884C\u306F\u3001`#editor.wordWrap#` \u8A2D\u5B9A\u306B\u5F93\u3063\u3066\u6298\u308A\u8FD4\u3055\u308C\u307E\u3059\u3002"],"vs/editor/common/config/editorOptions":["\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u30B9\u30AF\u30EA\u30FC\u30F3 \u30EA\u30FC\u30C0\u30FC\u304C\u3044\u3064\u63A5\u7D9A\u3055\u308C\u305F\u304B\u3092\u691C\u51FA\u3059\u308B\u305F\u3081\u306B\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0 API \u3092\u4F7F\u7528\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u6C38\u7D9A\u7684\u306B\u30B9\u30AF\u30EA\u30FC\u30F3 \u30EA\u30FC\u30C0\u30FC\u3067\u306E\u4F7F\u7528\u5411\u3051\u306B\u6700\u9069\u5316\u3055\u308C\u307E\u3059\u3002\u5358\u8A9E\u306E\u6298\u308A\u8FD4\u3057\u306F\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u30B9\u30AF\u30EA\u30FC\u30F3 \u30EA\u30FC\u30C0\u30FC\u5411\u3051\u306B\u6700\u9069\u5316\u3055\u308C\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u30B9\u30AF\u30EA\u30FC\u30F3 \u30EA\u30FC\u30C0\u30FC\u306B\u6700\u9069\u5316\u3055\u308C\u305F\u30E2\u30FC\u30C9\u3067\u5B9F\u884C\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u30AA\u30F3\u306B\u8A2D\u5B9A\u3059\u308B\u3068\u5358\u8A9E\u306E\u6298\u308A\u8FD4\u3057\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002","\u30B3\u30E1\u30F3\u30C8\u6642\u306B\u7A7A\u767D\u6587\u5B57\u3092\u633F\u5165\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u884C\u30B3\u30E1\u30F3\u30C8\u306E\u8FFD\u52A0\u307E\u305F\u306F\u524A\u9664\u30A2\u30AF\u30B7\u30E7\u30F3\u306E\u5207\u308A\u66FF\u3048\u3067\u3001\u7A7A\u306E\u884C\u3092\u7121\u8996\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u9078\u629E\u7BC4\u56F2\u3092\u6307\u5B9A\u3057\u306A\u3044\u3067\u30B3\u30D4\u30FC\u3059\u308B\u5834\u5408\u306B\u73FE\u5728\u306E\u884C\u3092\u30B3\u30D4\u30FC\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5165\u529B\u4E2D\u306B\u4E00\u81F4\u3092\u691C\u7D22\u3059\u308B\u305F\u3081\u306B\u30AB\u30FC\u30BD\u30EB\u3092\u30B8\u30E3\u30F3\u30D7\u3055\u305B\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u9078\u629E\u7BC4\u56F2\u304B\u3089\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u5185\u306E\u691C\u7D22\u6587\u5B57\u5217\u3092\u4E0E\u3048\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","[\u9078\u629E\u7BC4\u56F2\u3092\u691C\u7D22] \u3092\u81EA\u52D5\u7684\u306B\u30AA\u30F3\u306B\u3057\u306A\u3044 (\u65E2\u5B9A)","[\u9078\u629E\u7BC4\u56F2\u3092\u691C\u7D22] \u3092\u5E38\u306B\u81EA\u52D5\u7684\u306B\u30AA\u30F3\u306B\u3059\u308B","\u8907\u6570\u884C\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u81EA\u52D5\u7684\u306B [\u9078\u629E\u7BC4\u56F2\u3092\u691C\u7D22] \u3092\u30AA\u30F3\u306B\u3057\u307E\u3059\u3002","[\u9078\u629E\u7BC4\u56F2\u3092\u691C\u7D22] \u3092\u81EA\u52D5\u7684\u306B\u30AA\u30F3\u306B\u3059\u308B\u6761\u4EF6\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","macOS \u3067\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u304C\u5171\u6709\u306E\u691C\u7D22\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u3092\u8AAD\u307F\u53D6\u308A\u307E\u305F\u306F\u5909\u66F4\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u304C\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u4E0A\u306B\u884C\u3092\u3055\u3089\u306B\u8FFD\u52A0\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002true \u306E\u5834\u5408\u3001\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u304C\u8868\u793A\u3055\u308C\u3066\u3044\u308B\u3068\u304D\u306B\u6700\u521D\u306E\u884C\u3092\u8D85\u3048\u3066\u30B9\u30AF\u30ED\u30FC\u30EB\u3067\u304D\u307E\u3059\u3002","\u4EE5\u964D\u3067\u4E00\u81F4\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u5834\u5408\u306B\u3001\u691C\u7D22\u3092\u5148\u982D\u304B\u3089 (\u307E\u305F\u306F\u672B\u5C3E\u304B\u3089) \u81EA\u52D5\u7684\u306B\u518D\u5B9F\u884C\u3059\u308B\u304B\u3069\u3046\u304B\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30D5\u30A9\u30F3\u30C8\u306E\u5408\u5B57 ('calt' \u304A\u3088\u3073 'liga' \u30D5\u30A9\u30F3\u30C8\u306E\u6A5F\u80FD) \u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3057\u307E\u3059\u3002'font-feature-settings' CSS \u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A73\u7D30\u306B\u5236\u5FA1\u3059\u308B\u306B\u306F\u3001\u3053\u308C\u3092\u6587\u5B57\u5217\u306B\u5909\u66F4\u3057\u307E\u3059\u3002","\u660E\u793A\u7684\u306A 'font-feature-settings' CSS \u30D7\u30ED\u30D1\u30C6\u30A3\u3002\u5408\u5B57\u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u306E\u304C 1 \u3064\u3060\u3051\u3067\u3042\u308B\u5834\u5408\u306F\u3001\u4EE3\u308F\u308A\u306B\u30D6\u30FC\u30EB\u5024\u3092\u6E21\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","\u30D5\u30A9\u30F3\u30C8\u306E\u5408\u5B57\u3084\u30D5\u30A9\u30F3\u30C8\u306E\u6A5F\u80FD\u3092\u69CB\u6210\u3057\u307E\u3059\u3002\u5408\u5B57\u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3059\u308B\u30D6\u30FC\u30EB\u5024\u307E\u305F\u306F CSS 'font-feature-settings' \u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u5024\u306E\u6587\u5B57\u5217\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002","\u30D5\u30A9\u30F3\u30C8 \u30B5\u30A4\u30BA (\u30D4\u30AF\u30BB\u30EB\u5358\u4F4D) \u3092\u5236\u5FA1\u3057\u307E\u3059\u3002",'\u4F7F\u7528\u3067\u304D\u308B\u306E\u306F "\u6A19\u6E96" \u304A\u3088\u3073 "\u592A\u5B57" \u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u307E\u305F\u306F 1 \uFF5E 1000 \u306E\u6570\u5B57\u306E\u307F\u3067\u3059\u3002','\u30D5\u30A9\u30F3\u30C8\u306E\u592A\u3055\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002"\u6A19\u6E96" \u304A\u3088\u3073 "\u592A\u5B57" \u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u307E\u305F\u306F 1 \uFF5E 1000 \u306E\u6570\u5B57\u3092\u53D7\u3051\u5165\u308C\u307E\u3059\u3002',"\u7D50\u679C\u306E\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u3092\u8868\u793A (\u65E2\u5B9A)","\u4E3B\u306A\u7D50\u679C\u306B\u79FB\u52D5\u3057\u3001\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u3092\u8868\u793A\u3057\u307E\u3059","\u30D7\u30E9\u30A4\u30DE\u30EA\u7D50\u679C\u306B\u79FB\u52D5\u3057\u3001\u4ED6\u306E\u30E6\u30FC\u30B6\u30FC\u3078\u306E\u30D4\u30FC\u30AF\u30EC\u30B9 \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","\u3053\u306E\u8A2D\u5B9A\u306F\u975E\u63A8\u5968\u3067\u3059\u3002\u4EE3\u308F\u308A\u306B\u3001'editor.editor.gotoLocation.multipleDefinitions' \u3084 'editor.editor.gotoLocation.multipleImplementations' \u306A\u3069\u306E\u500B\u5225\u306E\u8A2D\u5B9A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u8907\u6570\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u5834\u6240\u304C\u3042\u308B\u3068\u304D\u306E '\u5B9A\u7FA9\u3078\u79FB\u52D5' \u30B3\u30DE\u30F3\u30C9\u306E\u52D5\u4F5C\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u8907\u6570\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u5834\u6240\u304C\u3042\u308B\u3068\u304D\u306E '\u578B\u5B9A\u7FA9\u3078\u79FB\u52D5' \u30B3\u30DE\u30F3\u30C9\u306E\u52D5\u4F5C\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u8907\u6570\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u5834\u6240\u304C\u3042\u308B\u3068\u304D\u306E '\u5BA3\u8A00\u3078\u79FB\u52D5' \u30B3\u30DE\u30F3\u30C9\u306E\u52D5\u4F5C\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u8907\u6570\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u5834\u6240\u304C\u3042\u308B\u3068\u304D\u306E '\u5B9F\u88C5\u306B\u79FB\u52D5' \u30B3\u30DE\u30F3\u30C9\u306E\u52D5\u4F5C\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u5834\u6240\u304C\u8907\u6570\u5B58\u5728\u3059\u308B\u5834\u5408\u306E '\u53C2\u7167\u3078\u79FB\u52D5' \u30B3\u30DE\u30F3\u30C9\u306E\u52D5\u4F5C\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","'\u5B9A\u7FA9\u3078\u79FB\u52D5' \u306E\u7D50\u679C\u304C\u73FE\u5728\u306E\u5834\u6240\u3067\u3042\u308B\u5834\u5408\u306B\u5B9F\u884C\u3055\u308C\u308B\u4EE3\u66FF\u30B3\u30DE\u30F3\u30C9 ID\u3002","'\u578B\u5B9A\u7FA9\u3078\u79FB\u52D5' \u306E\u7D50\u679C\u304C\u73FE\u5728\u306E\u5834\u6240\u3067\u3042\u308B\u5834\u5408\u306B\u5B9F\u884C\u3055\u308C\u308B\u4EE3\u66FF\u30B3\u30DE\u30F3\u30C9 ID\u3002","'\u5BA3\u8A00\u3078\u79FB\u52D5' \u306E\u7D50\u679C\u304C\u73FE\u5728\u306E\u5834\u6240\u3067\u3042\u308B\u5834\u5408\u306B\u5B9F\u884C\u3055\u308C\u308B\u4EE3\u66FF\u30B3\u30DE\u30F3\u30C9 ID\u3002","'\u5B9F\u88C5\u3078\u79FB\u52D5' \u306E\u7D50\u679C\u304C\u73FE\u5728\u306E\u5834\u6240\u3067\u3042\u308B\u5834\u5408\u306B\u5B9F\u884C\u3055\u308C\u308B\u4EE3\u66FF\u30B3\u30DE\u30F3\u30C9 ID\u3002","'\u53C2\u7167\u3078\u79FB\u52D5' \u306E\u7D50\u679C\u304C\u73FE\u5728\u306E\u5834\u6240\u3067\u3042\u308B\u5834\u5408\u306B\u5B9F\u884C\u3055\u308C\u308B\u4EE3\u66FF\u30B3\u30DE\u30F3\u30C9 ID\u3002","\u30DB\u30D0\u30FC\u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30DB\u30D0\u30FC\u3092\u8868\u793A\u5F8C\u306E\u5F85\u3061\u6642\u9593 (\u30DF\u30EA\u79D2) \u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30DB\u30D0\u30FC\u306B\u30DE\u30A6\u30B9\u3092\u79FB\u52D5\u3057\u305F\u3068\u304D\u306B\u3001\u30DB\u30D0\u30FC\u3092\u8868\u793A\u3057\u7D9A\u3051\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u306E\u96FB\u7403\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30A4\u30F3\u30E9\u30A4\u30F3 \u30D2\u30F3\u30C8\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30A4\u30F3\u30E9\u30A4\u30F3 \u30D2\u30F3\u30C8\u306E\u30D5\u30A9\u30F3\u30C8 \u30B5\u30A4\u30BA\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002'0' \u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001`#editor.fontSize#` \u306E 90% \u304C\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30A4\u30F3\u30E9\u30A4\u30F3 \u30D2\u30F3\u30C8\u306E\u30D5\u30A9\u30F3\u30C8 \u30D5\u30A1\u30DF\u30EA\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u884C\u306E\u9AD8\u3055\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u30D5\u30A9\u30F3\u30C8 \u30B5\u30A4\u30BA\u306B\u57FA\u3065\u3044\u3066\u884C\u306E\u9AD8\u3055\u3092\u8A08\u7B97\u3059\u308B\u5834\u5408\u306B\u306F\u30010 \u3092\u4F7F\u7528\u3057\u307E\u3059\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7\u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7\u306E\u30B5\u30A4\u30BA\u306F\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u3068\u540C\u3058\u3067\u3059 (\u30B9\u30AF\u30ED\u30FC\u30EB\u3059\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059)\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7\u306F\u3001\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u9AD8\u3055\u3092\u57CB\u3081\u308B\u305F\u3081\u3001\u62E1\u5927\u307E\u305F\u306F\u7E2E\u5C0F\u3057\u307E\u3059 (\u30B9\u30AF\u30ED\u30FC\u30EB\u3057\u307E\u305B\u3093)\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7\u306F\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u7E2E\u5C0F\u3057\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u3088\u308A\u5927\u304D\u304F\u306A\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093 (\u30B9\u30AF\u30ED\u30FC\u30EB\u3057\u307E\u305B\u3093)\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7\u306E\u30B5\u30A4\u30BA\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7\u3092\u8868\u793A\u3059\u308B\u5834\u6240\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7 \u30B9\u30E9\u30A4\u30C0\u30FC\u3092\u8868\u793A\u3059\u308B\u30BF\u30A4\u30DF\u30F3\u30B0\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7\u306B\u63CF\u753B\u3055\u308C\u308B\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u30B9\u30B1\u30FC\u30EB: 1\u30012\u3001\u307E\u305F\u306F 3\u3002","\u884C\u306B\u30AB\u30E9\u30FC \u30D6\u30ED\u30C3\u30AF\u3067\u306F\u306A\u304F\u5B9F\u969B\u306E\u6587\u5B57\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u8868\u793A\u3059\u308B\u30DF\u30CB\u30DE\u30C3\u30D7\u306E\u6700\u5927\u5E45\u3092\u7279\u5B9A\u306E\u5217\u6570\u306B\u5236\u9650\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u4E0A\u7AEF\u3068\u6700\u521D\u306E\u884C\u306E\u9593\u306E\u4F59\u767D\u306E\u5927\u304D\u3055\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u4E0B\u7AEF\u3068\u6700\u5F8C\u306E\u884C\u306E\u9593\u306E\u4F59\u767D\u306E\u5927\u304D\u3055\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5165\u529B\u6642\u306B\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3068\u578B\u60C5\u5831\u3092\u8868\u793A\u3059\u308B\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002","\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC \u30D2\u30F3\u30C8 \u30E1\u30CB\u30E5\u30FC\u3092\u5468\u56DE\u3059\u308B\u304B\u3001\u30EA\u30B9\u30C8\u306E\u6700\u5F8C\u3067\u9589\u3058\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u6587\u5B57\u5217\u5185\u3067\u30AF\u30A4\u30C3\u30AF\u5019\u88DC\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002","\u30B3\u30E1\u30F3\u30C8\u5185\u3067\u30AF\u30A4\u30C3\u30AF\u5019\u88DC\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002","\u6587\u5B57\u5217\u304A\u3088\u3073\u30B3\u30E1\u30F3\u30C8\u5916\u3067\u30AF\u30A4\u30C3\u30AF\u5019\u88DC\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002","\u5165\u529B\u4E2D\u306B\u5019\u88DC\u3092\u81EA\u52D5\u7684\u306B\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u884C\u756A\u53F7\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002","\u884C\u756A\u53F7\u306F\u3001\u7D76\u5BFE\u5024\u3068\u3057\u3066\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u884C\u756A\u53F7\u306F\u3001\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E\u307E\u3067\u306E\u884C\u6570\u3068\u3057\u3066\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u884C\u756A\u53F7\u306F 10 \u884C\u3054\u3068\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u884C\u756A\u53F7\u306E\u8868\u793A\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u3053\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30EB\u30FC\u30E9\u30FC\u304C\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3059\u308B\u5358\u4E00\u9818\u57DF\u306E\u6587\u5B57\u6570\u3002","\u3053\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30EB\u30FC\u30E9\u30FC\u306E\u8272\u3067\u3059\u3002","\u7279\u5B9A\u306E\u7B49\u5E45\u6587\u5B57\u6570\u306E\u5F8C\u306B\u5782\u76F4\u30EB\u30FC\u30E9\u30FC\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u8907\u6570\u306E\u30EB\u30FC\u30E9\u30FC\u306B\u306F\u8907\u6570\u306E\u5024\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u914D\u5217\u304C\u7A7A\u306E\u5834\u5408\u306F\u30EB\u30FC\u30E9\u30FC\u3092\u8868\u793A\u3057\u307E\u305B\u3093\u3002","\u30AB\u30FC\u30BD\u30EB\u306E\u53F3\u306E\u30C6\u30AD\u30B9\u30C8\u3092\u4E0A\u66F8\u304D\u305B\u305A\u306B\u5019\u88DC\u3092\u633F\u5165\u3057\u307E\u3059\u3002","\u5019\u88DC\u3092\u633F\u5165\u3057\u3001\u30AB\u30FC\u30BD\u30EB\u306E\u53F3\u306E\u30C6\u30AD\u30B9\u30C8\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059\u3002","\u5165\u529B\u5019\u88DC\u3092\u53D7\u3051\u5165\u308C\u308B\u3068\u304D\u306B\u5358\u8A9E\u3092\u4E0A\u66F8\u304D\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u3053\u308C\u306F\u3001\u3053\u306E\u6A5F\u80FD\u306E\u5229\u7528\u3092\u9078\u629E\u3059\u308B\u62E1\u5F35\u6A5F\u80FD\u306B\u4F9D\u5B58\u3059\u308B\u3053\u3068\u306B\u3054\u6CE8\u610F\u304F\u3060\u3055\u3044\u3002","\u5019\u88DC\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u51E6\u7406\u3068\u4E26\u3073\u66FF\u3048\u3067\u3055\u3055\u3044\u306A\u5165\u529B\u30DF\u30B9\u3092\u8003\u616E\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u4E26\u3079\u66FF\u3048\u304C\u30AB\u30FC\u30BD\u30EB\u4ED8\u8FD1\u306B\u8868\u793A\u3055\u308C\u308B\u5358\u8A9E\u3092\u512A\u5148\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u4FDD\u5B58\u3055\u308C\u305F\u5019\u88DC\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u8907\u6570\u306E\u30EF\u30FC\u30AF\u30D7\u30EC\u30FC\u30B9\u3068\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u5171\u6709\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059 (`#editor.suggestSelection#` \u304C\u5FC5\u8981)\u3002","\u30A2\u30AF\u30C6\u30A3\u30D6 \u30B9\u30CB\u30DA\u30C3\u30C8\u304C\u30AF\u30A4\u30C3\u30AF\u5019\u88DC\u3092\u9632\u6B62\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u63D0\u6848\u306E\u30A2\u30A4\u30B3\u30F3\u3092\u8868\u793A\u3059\u308B\u304B\u3001\u975E\u8868\u793A\u306B\u3059\u308B\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5019\u88DC\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u4E0B\u90E8\u306B\u3042\u308B\u30B9\u30C6\u30FC\u30BF\u30B9 \u30D0\u30FC\u306E\u8868\u793A\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5019\u88DC\u306E\u8A73\u7D30\u3092\u30E9\u30D9\u30EB\u4ED8\u304D\u306E\u30A4\u30F3\u30E9\u30A4\u30F3\u3067\u8868\u793A\u3059\u308B\u304B\u3001\u8A73\u7D30\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u306E\u307F\u8868\u793A\u3059\u308B\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059","\u3053\u306E\u8A2D\u5B9A\u306F\u975E\u63A8\u5968\u3067\u3059\u3002\u5019\u88DC\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u304C\u3067\u304D\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3057\u305F\u3002","\u3053\u306E\u8A2D\u5B9A\u306F\u975E\u63A8\u5968\u3067\u3059\u3002\u4EE3\u308F\u308A\u306B\u3001'editor.suggest.showKeywords' \u3084 'editor.suggest.showSnippets' \u306A\u3069\u306E\u500B\u5225\u306E\u8A2D\u5B9A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30E1\u30BD\u30C3\u30C9` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u95A2\u6570` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u30FC` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30D5\u30A3\u30FC\u30EB\u30C9` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u5909\u6570` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B '\u30AF\u30E9\u30B9' \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u69CB\u9020\u4F53` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30E2\u30B8\u30E5\u30FC\u30EB` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30D7\u30ED\u30D1\u30C6\u30A3` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30A4\u30D9\u30F3\u30C8` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u6F14\u7B97\u5B50` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30E6\u30CB\u30C3\u30C8` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u5024` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u5B9A\u6570` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u5217\u6319\u578B` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `enumMember` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30AD\u30FC\u30EF\u30FC\u30C9` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B '\u30C6\u30AD\u30B9\u30C8' -\u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u8272` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B '\u30D5\u30A1\u30A4\u30EB' \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u53C2\u7167` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `customcolor` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30D5\u30A9\u30EB\u30C0\u30FC` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `typeParameter` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B `\u30B9\u30CB\u30DA\u30C3\u30C8` \u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306A\u5834\u5408\u3001IntelliSense \u306B\u3088\u3063\u3066 '\u30E6\u30FC\u30B6\u30FC' \u5019\u88DC\u304C\u793A\u3055\u308C\u307E\u3059\u3002","\u6709\u52B9\u306B\u3059\u308B\u3068\u3001IntelliSense \u306B\u3088\u3063\u3066 '\u554F\u984C' \u5019\u88DC\u304C\u793A\u3055\u308C\u307E\u3059\u3002","\u5148\u982D\u3068\u672B\u5C3E\u306E\u7A7A\u767D\u3092\u5E38\u306B\u9078\u629E\u3059\u308B\u304B\u3069\u3046\u304B\u3002","\u30B3\u30DF\u30C3\u30C8\u6587\u5B57\u3067\u5019\u88DC\u3092\u53D7\u3051\u5165\u308C\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u305F\u3068\u3048\u3070\u3001JavaScript \u3067\u306F\u30BB\u30DF\u30B3\u30ED\u30F3 (`;`) \u3092\u30B3\u30DF\u30C3\u30C8\u6587\u5B57\u306B\u3057\u3066\u3001\u5019\u88DC\u3092\u53D7\u3051\u5165\u308C\u3066\u305D\u306E\u6587\u5B57\u3092\u5165\u529B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","\u30C6\u30AD\u30B9\u30C8\u306E\u5909\u66F4\u3092\u884C\u3046\u3068\u304D\u3001`Enter` \u3092\u4F7F\u7528\u3059\u308B\u5834\u5408\u306B\u306E\u307F\u5019\u88DC\u3092\u53D7\u3051\u4ED8\u3051\u307E\u3059\u3002","`Tab` \u30AD\u30FC\u306B\u52A0\u3048\u3066 `Enter` \u30AD\u30FC\u3067\u5019\u88DC\u3092\u53D7\u3051\u5165\u308C\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u6539\u884C\u306E\u633F\u5165\u3084\u5019\u88DC\u306E\u53CD\u6620\u306E\u9593\u3067\u3042\u3044\u307E\u3044\u3055\u3092\u89E3\u6D88\u3059\u308B\u306E\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002","\u30B9\u30AF\u30EA\u30FC\u30F3 \u30EA\u30FC\u30C0\u30FC\u3067\u8AAD\u307F\u4E0A\u3052\u308B\u3053\u3068\u304C\u3067\u304D\u308B\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u884C\u6570\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u8B66\u544A: \u65E2\u5B9A\u5024\u3092\u4E0A\u56DE\u308B\u6570\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30B3\u30F3\u30C6\u30F3\u30C4","\u8A00\u8A9E\u8A2D\u5B9A\u3092\u4F7F\u7528\u3057\u3066\u3001\u3044\u3064\u304B\u3063\u3053\u3092\u81EA\u52D5\u30AF\u30ED\u30FC\u30BA\u3059\u308B\u304B\u6C7A\u5B9A\u3057\u307E\u3059\u3002","\u30AB\u30FC\u30BD\u30EB\u304C\u7A7A\u767D\u6587\u5B57\u306E\u5DE6\u306B\u3042\u308B\u3068\u304D\u3060\u3051\u3001\u304B\u3063\u3053\u3092\u81EA\u52D5\u30AF\u30ED\u30FC\u30BA\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u5DE6\u89D2\u304B\u3063\u3053\u3092\u8FFD\u52A0\u3057\u305F\u5F8C\u306B\u81EA\u52D5\u7684\u306B\u53F3\u89D2\u304B\u3063\u3053\u3092\u633F\u5165\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u7D42\u308F\u308A\u5F15\u7528\u7B26\u307E\u305F\u306F\u62EC\u5F27\u304C\u81EA\u52D5\u7684\u306B\u633F\u5165\u3055\u308C\u305F\u5834\u5408\u306B\u306E\u307F\u3001\u305D\u308C\u3089\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u7D42\u308F\u308A\u5F15\u7528\u7B26\u307E\u305F\u306F\u62EC\u5F27\u3092\u4E0A\u66F8\u304D\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u8A00\u8A9E\u8A2D\u5B9A\u3092\u4F7F\u7528\u3057\u3066\u3001\u3044\u3064\u5F15\u7528\u7B26\u3092\u81EA\u52D5\u30AF\u30ED\u30FC\u30BA\u3059\u308B\u304B\u6C7A\u5B9A\u3057\u307E\u3059\u3002","\u30AB\u30FC\u30BD\u30EB\u304C\u7A7A\u767D\u6587\u5B57\u306E\u5DE6\u306B\u3042\u308B\u3068\u304D\u3060\u3051\u3001\u5F15\u7528\u7B26\u3092\u81EA\u52D5\u30AF\u30ED\u30FC\u30BA\u3057\u307E\u3059\u3002","\u30E6\u30FC\u30B6\u30FC\u304C\u958B\u59CB\u5F15\u7528\u7B26\u3092\u8FFD\u52A0\u3057\u305F\u5F8C\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u81EA\u52D5\u7684\u306B\u5F15\u7528\u7B26\u3092\u9589\u3058\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u81EA\u52D5\u7684\u306B\u633F\u5165\u3057\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u3001\u73FE\u5728\u306E\u884C\u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u4FDD\u6301\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u3001\u73FE\u5728\u306E\u884C\u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u4FDD\u6301\u3057\u3001\u8A00\u8A9E\u304C\u5B9A\u7FA9\u3055\u308C\u305F\u304B\u3063\u3053\u3092\u512A\u5148\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u3001\u73FE\u5728\u306E\u884C\u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u4FDD\u6301\u3057\u3001\u8A00\u8A9E\u304C\u5B9A\u7FA9\u3055\u308C\u305F\u304B\u3063\u3053\u3092\u512A\u5148\u3057\u3001\u8A00\u8A9E\u3067\u5B9A\u7FA9\u3055\u308C\u305F\u7279\u5225\u306A onEnterRules \u3092\u547C\u3073\u51FA\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u3001\u73FE\u5728\u306E\u884C\u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u4FDD\u6301\u3057\u3001\u8A00\u8A9E\u304C\u5B9A\u7FA9\u3055\u308C\u305F\u304B\u3063\u3053\u3092\u512A\u5148\u3057\u3001\u8A00\u8A9E\u3067\u5B9A\u7FA9\u3055\u308C\u305F\u7279\u5225\u306A onEnterRules \u3092\u547C\u3073\u51FA\u3057\u3001\u8A00\u8A9E\u3067\u5B9A\u7FA9\u3055\u308C\u305F indentationRules \u3092\u512A\u5148\u3057\u307E\u3059\u3002","\u30E6\u30FC\u30B6\u30FC\u304C\u884C\u3092\u5165\u529B\u3001\u8CBC\u308A\u4ED8\u3051\u3001\u79FB\u52D5\u3001\u307E\u305F\u306F\u30A4\u30F3\u30C7\u30F3\u30C8\u3059\u308B\u3068\u304D\u306B\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u81EA\u52D5\u7684\u306B\u8ABF\u6574\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u8A00\u8A9E\u69CB\u6210\u3092\u4F7F\u7528\u3057\u3066\u3001\u9078\u629E\u7BC4\u56F2\u3092\u3044\u3064\u81EA\u52D5\u7684\u306B\u56F2\u3080\u304B\u3092\u5224\u65AD\u3057\u307E\u3059\u3002","\u89D2\u304B\u3063\u3053\u3067\u306F\u306A\u304F\u3001\u5F15\u7528\u7B26\u3067\u56F2\u307F\u307E\u3059\u3002","\u5F15\u7528\u7B26\u3067\u306F\u306A\u304F\u3001\u89D2\u304B\u3063\u3053\u3067\u56F2\u307F\u307E\u3059\u3002","\u5F15\u7528\u7B26\u307E\u305F\u306F\u89D2\u304B\u3063\u3053\u3092\u5165\u529B\u3059\u308B\u3068\u304D\u306B\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u9078\u629E\u7BC4\u56F2\u3092\u81EA\u52D5\u7684\u306B\u56F2\u3080\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A4\u30F3\u30C7\u30F3\u30C8\u306B\u30B9\u30DA\u30FC\u30B9\u3092\u4F7F\u7528\u3059\u308B\u3068\u304D\u306F\u3001\u30BF\u30D6\u6587\u5B57\u306E\u9078\u629E\u52D5\u4F5C\u3092\u30A8\u30DF\u30E5\u30EC\u30FC\u30C8\u3057\u307E\u3059\u3002\u9078\u629E\u7BC4\u56F2\u306F\u30BF\u30D6\u4F4D\u7F6E\u306B\u7559\u307E\u308A\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067 CodeLens \u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","CodeLens \u306E\u30D5\u30A9\u30F3\u30C8 \u30D5\u30A1\u30DF\u30EA\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","CodeLens \u306E\u30D5\u30A9\u30F3\u30C8 \u30B5\u30A4\u30BA\u3092\u30D4\u30AF\u30BB\u30EB\u5358\u4F4D\u3067\u5236\u5FA1\u3057\u307E\u3059\u3002'0' \u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001'#editor.fontSize#' \u306E 90% \u304C\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30A4\u30F3\u30E9\u30A4\u30F3 \u30AB\u30E9\u30FC \u30C7\u30B3\u30EC\u30FC\u30BF\u30FC\u3068\u8272\u306E\u9078\u629E\u3092\u8868\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30DE\u30A6\u30B9\u3068\u30AD\u30FC\u3067\u306E\u9078\u629E\u306B\u3088\u308A\u5217\u306E\u9078\u629E\u3092\u5B9F\u884C\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059\u3002","\u69CB\u6587\u30CF\u30A4\u30E9\u30A4\u30C8\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30AB\u30FC\u30BD\u30EB\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u65B9\u5F0F\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u6ED1\u3089\u304B\u306A\u30AD\u30E3\u30EC\u30C3\u30C8\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30AB\u30FC\u30BD\u30EB\u306E\u30B9\u30BF\u30A4\u30EB\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30AB\u30FC\u30BD\u30EB\u524D\u5F8C\u306E\u8868\u793A\u53EF\u80FD\u306A\u5148\u982D\u3068\u672B\u5C3E\u306E\u884C\u306E\u6700\u5C0F\u6570\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u4ED6\u306E\u4E00\u90E8\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u306F 'scrollOff' \u307E\u305F\u306F `scrollOffset` \u3068\u547C\u3070\u308C\u307E\u3059\u3002","`cursorSurroundingLines` \u306F\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u307E\u305F\u306F API \u3067\u30C8\u30EA\u30AC\u30FC\u3055\u308C\u305F\u5834\u5408\u306B\u306E\u307F\u5F37\u5236\u3055\u308C\u307E\u3059\u3002","`cursorSurroundingLines` \u306F\u5E38\u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002","'\u30AB\u30FC\u30BD\u30EB\u306E\u5468\u56F2\u306E\u884C' \u3092\u9069\u7528\u3059\u308B\u30BF\u30A4\u30DF\u30F3\u30B0\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","`#editor.cursorStyle#` \u304C `line` \u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30AB\u30FC\u30BD\u30EB\u306E\u5E45\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30C9\u30E9\u30C3\u30B0 \u30A2\u30F3\u30C9 \u30C9\u30ED\u30C3\u30D7\u306B\u3088\u308B\u9078\u629E\u7BC4\u56F2\u306E\u79FB\u52D5\u3092\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u8A31\u53EF\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","`Alt` \u3092\u62BC\u3059\u3068\u3001\u30B9\u30AF\u30ED\u30FC\u30EB\u901F\u5EA6\u304C\u500D\u5897\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30B3\u30FC\u30C9\u306E\u6298\u308A\u305F\u305F\u307F\u3092\u6709\u52B9\u306B\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5229\u7528\u53EF\u80FD\u306A\u5834\u5408\u306F\u8A00\u8A9E\u56FA\u6709\u306E\u6298\u308A\u305F\u305F\u307F\u65B9\u6CD5\u3092\u4F7F\u7528\u3057\u3001\u5229\u7528\u53EF\u80FD\u3067\u306F\u306A\u3044\u5834\u5408\u306F\u30A4\u30F3\u30C7\u30F3\u30C8\u30D9\u30FC\u30B9\u306E\u65B9\u6CD5\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002","\u30A4\u30F3\u30C7\u30F3\u30C8\u30D9\u30FC\u30B9\u306E\u6298\u308A\u305F\u305F\u307F\u65B9\u6CD5\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002","\u6298\u308A\u305F\u305F\u307F\u7BC4\u56F2\u306E\u8A08\u7B97\u65B9\u6CD5\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u6298\u308A\u305F\u305F\u307E\u308C\u305F\u7BC4\u56F2\u3092\u5F37\u8ABF\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3057\u307E\u3059\u3002","\u6298\u308A\u305F\u305F\u307E\u308C\u305F\u7DDA\u306E\u5F8C\u306E\u7A7A\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u7DDA\u304C\u5C55\u958B\u3055\u308C\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30D5\u30A9\u30F3\u30C8 \u30D5\u30A1\u30DF\u30EA\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u8CBC\u308A\u4ED8\u3051\u305F\u5185\u5BB9\u304C\u30A8\u30C7\u30A3\u30BF\u30FC\u306B\u3088\u308A\u81EA\u52D5\u7684\u306B\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3055\u308C\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u30D5\u30A9\u30FC\u30DE\u30C3\u30BF\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u307E\u305F\u3001\u30D5\u30A9\u30FC\u30DE\u30C3\u30BF\u304C\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u306E\u7BC4\u56F2\u3092\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3067\u304D\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u5165\u529B\u5F8C\u306B\u81EA\u52D5\u7684\u306B\u884C\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u884C\u3046\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u7E26\u306E\u30B0\u30EA\u30D5\u4F59\u767D\u304C\u8868\u793A\u3055\u308C\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u307B\u3068\u3093\u3069\u306E\u5834\u5408\u3001\u30B0\u30EA\u30D5\u4F59\u767D\u306F\u30C7\u30D0\u30C3\u30B0\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u3067\u30AB\u30FC\u30BD\u30EB\u3092\u975E\u8868\u793A\u306B\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30A4\u30F3\u30C7\u30F3\u30C8\u306E\u30AC\u30A4\u30C9\u3092\u5F37\u8ABF\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u6587\u5B57\u9593\u9694 (\u30D4\u30AF\u30BB\u30EB\u5358\u4F4D) \u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30EA\u30F3\u30AF\u3055\u308C\u305F\u7DE8\u96C6\u304C\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u6709\u52B9\u306B\u3055\u308C\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u8A00\u8A9E\u306B\u3088\u3063\u3066\u306F\u3001\u7DE8\u96C6\u4E2D\u306B HTML \u30BF\u30B0\u306A\u3069\u306E\u95A2\u9023\u3059\u308B\u8A18\u53F7\u304C\u66F4\u65B0\u3055\u308C\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u30EA\u30F3\u30AF\u3092\u691C\u51FA\u3057\u3066\u30AF\u30EA\u30C3\u30AF\u53EF\u80FD\u306A\u72B6\u614B\u306B\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5BFE\u5FDC\u3059\u308B\u304B\u3063\u3053\u3092\u5F37\u8ABF\u8868\u793A\u3057\u307E\u3059\u3002","\u30DE\u30A6\u30B9 \u30DB\u30A4\u30FC\u30EB \u30B9\u30AF\u30ED\u30FC\u30EB \u30A4\u30D9\u30F3\u30C8\u306E `deltaX` \u3068 `deltaY` \u3067\u4F7F\u7528\u3055\u308C\u308B\u4E57\u6570\u3002","`Ctrl` \u30AD\u30FC\u3092\u62BC\u3057\u306A\u304C\u3089\u30DE\u30A6\u30B9 \u30DB\u30A4\u30FC\u30EB\u3092\u4F7F\u7528\u3057\u3066\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30D5\u30A9\u30F3\u30C8\u3092\u30BA\u30FC\u30E0\u3057\u307E\u3059\u3002","\u8907\u6570\u306E\u30AB\u30FC\u30BD\u30EB\u304C\u91CD\u306A\u3063\u3066\u3044\u308B\u3068\u304D\u306F\u3001\u30DE\u30FC\u30B8\u3057\u307E\u3059\u3002","Windows \u304A\u3088\u3073 Linux \u4E0A\u306E `Control` \u30AD\u30FC\u3068 macOS \u4E0A\u306E `Command` \u30AD\u30FC\u306B\u5272\u308A\u5F53\u3066\u307E\u3059\u3002","Windows \u304A\u3088\u3073 Linux \u4E0A\u306E `Alt` \u30AD\u30FC\u3068 macOS \u4E0A\u306E `Option` \u30AD\u30FC\u306B\u5272\u308A\u5F53\u3066\u307E\u3059\u3002","\u30DE\u30A6\u30B9\u3092\u4F7F\u7528\u3057\u3066\u8907\u6570\u306E\u30AB\u30FC\u30BD\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3068\u304D\u306B\u4F7F\u7528\u3059\u308B\u4FEE\u98FE\u30AD\u30FC\u3067\u3059\u3002\u300C\u5B9A\u7FA9\u306B\u79FB\u52D5\u300D\u3084\u300C\u30EA\u30F3\u30AF\u3092\u958B\u304F\u300D\u306E\u30DE\u30A6\u30B9\u64CD\u4F5C\u306F\u3001\u30DE\u30EB\u30C1\u30AB\u30FC\u30BD\u30EB\u306E\u4FEE\u98FE\u30AD\u30FC\u3068\u7AF6\u5408\u3057\u306A\u3044\u3088\u3046\u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002[\u8A73\u7D30](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)","\u30AB\u30FC\u30BD\u30EB\u3054\u3068\u306B\u30C6\u30AD\u30B9\u30C8\u3092 1 \u884C\u305A\u3064\u8CBC\u308A\u4ED8\u3051\u307E\u3059\u3002","\u5404\u30AB\u30FC\u30BD\u30EB\u306F\u5168\u6587\u3092\u8CBC\u308A\u4ED8\u3051\u307E\u3059\u3002","\u8CBC\u308A\u4ED8\u3051\u305F\u30C6\u30AD\u30B9\u30C8\u306E\u884C\u6570\u304C\u30AB\u30FC\u30BD\u30EB\u6570\u3068\u4E00\u81F4\u3059\u308B\u5834\u5408\u306E\u8CBC\u308A\u4ED8\u3051\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF \u30B7\u30F3\u30DC\u30EB\u306E\u51FA\u73FE\u7B87\u6240\u3092\u5F37\u8ABF\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u5468\u56F2\u306B\u5883\u754C\u7DDA\u304C\u63CF\u753B\u3055\u308C\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30D4\u30FC\u30AF\u3092\u958B\u304F\u3068\u304D\u306B\u30C4\u30EA\u30FC\u306B\u30D5\u30A9\u30FC\u30AB\u30B9\u3059\u308B","\u30D4\u30FC\u30AF\u3092\u958B\u304F\u3068\u304D\u306B\u30A8\u30C7\u30A3\u30BF\u30FC\u306B\u30D5\u30A9\u30FC\u30AB\u30B9\u3059\u308B","\u30D4\u30FC\u30AF \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u30A4\u30F3\u30E9\u30A4\u30F3 \u30A8\u30C7\u30A3\u30BF\u30FC\u307E\u305F\u306F\u30C4\u30EA\u30FC\u3092\u30D5\u30A9\u30FC\u30AB\u30B9\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","[\u5B9A\u7FA9\u3078\u79FB\u52D5] \u30DE\u30A6\u30B9 \u30B8\u30A7\u30B9\u30C1\u30E3\u30FC\u3067\u3001\u5E38\u306B\u30D4\u30FC\u30AF \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u958B\u304F\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30AF\u30A4\u30C3\u30AF\u5019\u88DC\u304C\u8868\u793A\u3055\u308C\u308B\u307E\u3067\u306E\u30DF\u30EA\u79D2\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u306E\u578B\u306E\u81EA\u52D5\u540D\u524D\u5909\u66F4\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u975E\u63A8\u5968\u3067\u3059\u3002\u4EE3\u308F\u308A\u306B\u3001`editor.linkedEditing` \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u5236\u5FA1\u6587\u5B57\u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30A4\u30F3\u30C7\u30F3\u30C8 \u30AC\u30A4\u30C9\u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30D5\u30A1\u30A4\u30EB\u306E\u672B\u5C3E\u304C\u6539\u884C\u306E\u5834\u5408\u306F\u3001\u6700\u5F8C\u306E\u884C\u756A\u53F7\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u4F59\u767D\u3068\u73FE\u5728\u306E\u884C\u3092\u5F37\u8ABF\u8868\u793A\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u73FE\u5728\u306E\u884C\u3092\u3069\u306E\u3088\u3046\u306B\u5F37\u8ABF\u8868\u793A\u3059\u308B\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306B\u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308B\u5834\u5408\u306B\u306E\u307F\u73FE\u5728\u306E\u884C\u3092\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u5F37\u8ABF\u8868\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059","\u5358\u8A9E\u9593\u306E\u5358\u4E00\u30B9\u30DA\u30FC\u30B9\u4EE5\u5916\u306E\u7A7A\u767D\u6587\u5B57\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u9078\u629E\u3057\u305F\u30C6\u30AD\u30B9\u30C8\u306B\u306E\u307F\u7A7A\u767D\u6587\u5B57\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u672B\u5C3E\u306E\u7A7A\u767D\u6587\u5B57\u306E\u307F\u3092\u8868\u793A\u3059\u308B","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u7A7A\u767D\u6587\u5B57\u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u9078\u629E\u7BC4\u56F2\u306E\u89D2\u3092\u4E38\u304F\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u6C34\u5E73\u65B9\u5411\u306B\u4F59\u5206\u306B\u30B9\u30AF\u30ED\u30FC\u30EB\u3059\u308B\u6587\u5B57\u6570\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u6700\u5F8C\u306E\u884C\u3092\u8D8A\u3048\u3066\u30B9\u30AF\u30ED\u30FC\u30EB\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5782\u76F4\u304A\u3088\u3073\u6C34\u5E73\u65B9\u5411\u306E\u4E21\u65B9\u306B\u540C\u6642\u306B\u30B9\u30AF\u30ED\u30FC\u30EB\u3059\u308B\u5834\u5408\u306F\u3001\u4E3B\u8981\u306A\u8EF8\u306B\u6CBF\u3063\u3066\u30B9\u30AF\u30ED\u30FC\u30EB\u3057\u307E\u3059\u3002\u30C8\u30E9\u30C3\u30AF\u30D1\u30C3\u30C9\u4E0A\u3067\u5782\u76F4\u65B9\u5411\u306B\u30B9\u30AF\u30ED\u30FC\u30EB\u3059\u308B\u5834\u5408\u306F\u3001\u6C34\u5E73\u30C9\u30EA\u30D5\u30C8\u3092\u9632\u6B62\u3057\u307E\u3059\u3002","Linux \u306E PRIMARY \u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u3092\u30B5\u30DD\u30FC\u30C8\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u9078\u629E\u9805\u76EE\u3068\u985E\u4F3C\u306E\u4E00\u81F4\u9805\u76EE\u3092\u5F37\u8ABF\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5E38\u306B\u6298\u308A\u305F\u305F\u307F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u30DE\u30A6\u30B9\u304C\u3068\u3058\u3057\u308D\u306E\u4E0A\u306B\u3042\u308B\u3068\u304D\u306B\u306E\u307F\u3001\u6298\u308A\u305F\u305F\u307F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u3068\u3058\u3057\u308D\u306E\u306E\u6298\u308A\u305F\u305F\u307F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3092\u8868\u793A\u3059\u308B\u30BF\u30A4\u30DF\u30F3\u30B0\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u4F7F\u7528\u3055\u308C\u3066\u3044\u306A\u3044\u30B3\u30FC\u30C9\u306E\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u975E\u63A8\u5968\u306E\u5909\u6570\u306E\u53D6\u308A\u6D88\u3057\u7DDA\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u4ED6\u306E\u5019\u88DC\u306E\u4E0A\u306B\u30B9\u30CB\u30DA\u30C3\u30C8\u306E\u5019\u88DC\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u4ED6\u306E\u5019\u88DC\u306E\u4E0B\u306B\u30B9\u30CB\u30DA\u30C3\u30C8\u306E\u5019\u88DC\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u4ED6\u306E\u5019\u88DC\u3068\u4E00\u7DD2\u306B\u30B9\u30CB\u30DA\u30C3\u30C8\u306E\u5019\u88DC\u3092\u8868\u793A\u3057\u307E\u3059\u3002","\u30B9\u30CB\u30DA\u30C3\u30C8\u306E\u5019\u88DC\u3092\u8868\u793A\u3057\u307E\u305B\u3093\u3002","\u4ED6\u306E\u4FEE\u6B63\u5019\u88DC\u3068\u4E00\u7DD2\u306B\u30B9\u30CB\u30DA\u30C3\u30C8\u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u3001\u304A\u3088\u3073\u305D\u306E\u4E26\u3073\u66FF\u3048\u306E\u65B9\u6CD5\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3067\u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u30B9\u30AF\u30ED\u30FC\u30EB\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5019\u88DC\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u30D5\u30A9\u30F3\u30C8 \u30B5\u30A4\u30BA\u3002`0` \u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001`#editor.fontSize#` \u306E\u5024\u304C\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u5019\u88DC\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u884C\u306E\u9AD8\u3055\u3002`0` \u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001`#editor.lineHeight#` \u306E\u5024\u304C\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\u6700\u5C0F\u5024\u306F 8 \u3067\u3059\u3002","\u30C8\u30EA\u30AC\u30FC\u6587\u5B57\u306E\u5165\u529B\u6642\u306B\u5019\u88DC\u304C\u81EA\u52D5\u7684\u306B\u8868\u793A\u3055\u308C\u308B\u3088\u3046\u306B\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u5E38\u306B\u6700\u521D\u306E\u5019\u88DC\u3092\u9078\u629E\u3057\u307E\u3059\u3002","`console.| -> console.log` \u306A\u3069\u3068\u9078\u629E\u5BFE\u8C61\u306B\u95A2\u3057\u3066\u5165\u529B\u3057\u306A\u3044\u9650\u308A\u306F\u3001\u6700\u8FD1\u306E\u5019\u88DC\u3092\u9078\u629E\u3057\u307E\u3059\u3002`log` \u306F\u6700\u8FD1\u5B8C\u4E86\u3057\u305F\u305F\u3081\u3067\u3059\u3002","\u3053\u308C\u3089\u306E\u5019\u88DC\u3092\u5B8C\u4E86\u3057\u305F\u4EE5\u524D\u306E\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u306B\u57FA\u3065\u3044\u3066\u5019\u88DC\u3092\u9078\u629E\u3057\u307E\u3059\u3002\u4F8B: `co -> console` \u304A\u3088\u3073 `con -> const`\u3002","\u5019\u88DC\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3059\u308B\u3068\u304D\u306B\u5019\u88DC\u3092\u4E8B\u524D\u306B\u9078\u629E\u3059\u308B\u65B9\u6CD5\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30BF\u30D6\u88DC\u5B8C\u306F\u3001tab \u30AD\u30FC\u3092\u62BC\u3057\u305F\u3068\u304D\u306B\u6700\u9069\u306A\u5019\u88DC\u3092\u633F\u5165\u3057\u307E\u3059\u3002","\u30BF\u30D6\u88DC\u5B8C\u3092\u7121\u52B9\u306B\u3057\u307E\u3059\u3002","\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u304C\u4E00\u81F4\u3059\u308B\u5834\u5408\u306B\u3001\u30BF\u30D6\u3067\u30B9\u30CB\u30DA\u30C3\u30C8\u3092\u88DC\u5B8C\u3057\u307E\u3059\u3002'quickSuggestions' \u304C\u7121\u52B9\u306A\u5834\u5408\u306B\u6700\u9069\u3067\u3059\u3002","\u30BF\u30D6\u88DC\u5B8C\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002","\u901A\u5E38\u3068\u306F\u7570\u306A\u308B\u884C\u306E\u7D42\u7AEF\u6587\u5B57\u306F\u81EA\u52D5\u7684\u306B\u524A\u9664\u3055\u308C\u308B\u3002","\u901A\u5E38\u3068\u306F\u7570\u306A\u308B\u884C\u306E\u7D42\u7AEF\u6587\u5B57\u306F\u7121\u8996\u3055\u308C\u308B\u3002","\u901A\u5E38\u3068\u306F\u7570\u306A\u308B\u884C\u306E\u7D42\u7AEF\u6587\u5B57\u306E\u524A\u9664\u30D7\u30ED\u30F3\u30D7\u30C8\u304C\u8868\u793A\u3055\u308C\u308B\u3002","\u554F\u984C\u3092\u8D77\u3053\u3059\u53EF\u80FD\u6027\u304C\u3042\u308B\u3001\u666E\u901A\u3067\u306F\u306A\u3044\u884C\u7D42\u7AEF\u8A18\u53F7\u306F\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u7A7A\u767D\u306E\u633F\u5165\u3084\u524A\u9664\u306F\u30BF\u30D6\u4F4D\u7F6E\u306B\u5F93\u3063\u3066\u884C\u308F\u308C\u307E\u3059\u3002","\u5358\u8A9E\u306B\u95A2\u9023\u3057\u305F\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u307E\u305F\u306F\u64CD\u4F5C\u3092\u5B9F\u884C\u3059\u308B\u3068\u304D\u306B\u3001\u5358\u8A9E\u306E\u533A\u5207\u308A\u6587\u5B57\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u308B\u6587\u5B57\u3002","\u884C\u3092\u6298\u308A\u8FD4\u3057\u307E\u305B\u3093\u3002","\u884C\u3092\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u306E\u5E45\u3067\u6298\u308A\u8FD4\u3057\u307E\u3059\u3002","`#editor.wordWrapColumn#` \u3067\u884C\u3092\u6298\u308A\u8FD4\u3057\u307E\u3059\u3002","\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u3068 `#editor.wordWrapColumn#` \u306E\u6700\u5C0F\u5024\u3067\u884C\u3092\u6298\u308A\u8FD4\u3057\u307E\u3059\u3002","\u884C\u306E\u6298\u308A\u8FD4\u3057\u65B9\u6CD5\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","`#editor.wordWrap#` \u304C `wordWrapColumn` \u307E\u305F\u306F `bounded` \u306E\u5834\u5408\u306B\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u6298\u308A\u8FD4\u3057\u6841\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30A4\u30F3\u30C7\u30F3\u30C8\u3057\u307E\u305B\u3093\u3002 \u6298\u308A\u8FD4\u3057\u884C\u306F\u5217 1 \u304B\u3089\u59CB\u307E\u308A\u307E\u3059\u3002","\u6298\u308A\u8FD4\u3057\u884C\u306F\u3001\u89AA\u3068\u540C\u3058\u30A4\u30F3\u30C7\u30F3\u30C8\u306B\u306A\u308A\u307E\u3059\u3002","\u6298\u308A\u8FD4\u3057\u884C\u306F\u3001\u89AA +1 \u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u306B\u306A\u308A\u307E\u3059\u3002","\u6298\u308A\u8FD4\u3057\u884C\u306F\u3001\u89AA +2 \u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u306B\u306A\u308A\u307E\u3059\u3002","\u6298\u308A\u8FD4\u3057\u884C\u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u3059\u3079\u3066\u306E\u6587\u5B57\u306E\u5E45\u304C\u540C\u3058\u3067\u3042\u308B\u3068\u4EEE\u5B9A\u3057\u307E\u3059\u3002\u3053\u308C\u306F\u3001\u30E2\u30CE\u30B9\u30DA\u30FC\u30B9 \u30D5\u30A9\u30F3\u30C8\u3084\u3001\u30B0\u30EA\u30D5\u306E\u5E45\u304C\u7B49\u3057\u3044\u7279\u5B9A\u306E\u30B9\u30AF\u30EA\u30D7\u30C8 (\u30E9\u30C6\u30F3\u6587\u5B57\u306A\u3069) \u3067\u6B63\u3057\u304F\u52D5\u4F5C\u3059\u308B\u9AD8\u901F\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u3067\u3059\u3002","\u6298\u308A\u8FD4\u3057\u30DD\u30A4\u30F3\u30C8\u306E\u8A08\u7B97\u3092\u30D6\u30E9\u30A6\u30B6\u30FC\u306B\u30C7\u30EA\u30B2\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u308C\u306F\u3001\u5927\u304D\u306A\u30D5\u30A1\u30A4\u30EB\u306E\u30D5\u30EA\u30FC\u30BA\u3092\u5F15\u304D\u8D77\u3053\u3059\u53EF\u80FD\u6027\u304C\u3042\u308B\u3082\u306E\u306E\u3001\u3059\u3079\u3066\u306E\u30B1\u30FC\u30B9\u3067\u6B63\u3057\u304F\u52D5\u4F5C\u3059\u308B\u4F4E\u901F\u306A\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u3067\u3059\u3002","\u6298\u308A\u8FD4\u3057\u30DD\u30A4\u30F3\u30C8\u3092\u8A08\u7B97\u3059\u308B\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002"],"vs/editor/common/editorContextKeys":["Whether the editor text has focus (cursor is blinking)","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)","Whether an editor or a rich text input has focus (cursor is blinking)","Whether the editor is read only","Whether the context is a diff editor","Whether `editor.columnSelection` is enabled","Whether the editor has text selected","Whether the editor has multiple selections","Whether `Tab` will move focus out of the editor","Whether the editor hover is visible","Whether the editor is part of a larger editor (e.g. notebooks)","The language identifier of the editor","Whether the editor has a completion item provider","Whether the editor has a code actions provider","Whether the editor has a code lens provider","Whether the editor has a definition provider","Whether the editor has a declaration provider","Whether the editor has an implementation provider","Whether the editor has a type definition provider","Whether the editor has a hover provider","Whether the editor has a document highlight provider","Whether the editor has a document symbol provider","Whether the editor has a reference provider","Whether the editor has a rename provider","Whether the editor has a signature help provider","Whether the editor has an inline hints provider","Whether the editor has a document formatting provider","Whether the editor has a document selection formatting provider","Whether the editor has multiple document formatting providers","Whether the editor has multiple document selection formatting providers"],"vs/editor/common/model/editStack":["\u5165\u529B\u3057\u3066\u3044\u307E\u3059"],"vs/editor/common/modes/modesRegistry":["\u30D7\u30EC\u30FC\u30F3\u30C6\u30AD\u30B9\u30C8"],"vs/editor/common/standaloneStrings":["\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093","\u884C {0}\u3001\u5217 {1} ({2} \u500B\u9078\u629E\u6E08\u307F)","\u884C {0}\u3001\u5217 {1}","{0} \u500B\u306E\u9078\u629E\u9805\u76EE ({1} \u6587\u5B57\u3092\u9078\u629E)","{0} \u500B\u306E\u9078\u629E\u9805\u76EE","`accessibilitySupport` \u8A2D\u5B9A\u3092 'on' \u306B\u5909\u66F4\u3057\u3066\u3044\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30A2\u30AF\u30BB\u30B7\u30D3\u30EA\u30C6\u30A3\u306B\u95A2\u9023\u3059\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8 \u30DA\u30FC\u30B8\u3092\u958B\u3044\u3066\u3044\u307E\u3059\u3002","\u5DEE\u5206\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u8AAD\u307F\u53D6\u308A\u5C02\u7528\u30A6\u30A3\u30F3\u30C9\u30A6\u5185\u3002","\u5DEE\u5206\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u5185\u3002","\u8AAD\u307F\u53D6\u308A\u5C02\u7528\u30B3\u30FC\u30C9 \u30A8\u30C7\u30A3\u30BF\u30FC\u5185","\u30B3\u30FC\u30C9 \u30A8\u30C7\u30A3\u30BF\u30FC\u5185","\u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u69CB\u6210\u3057\u3066\u30B9\u30AF\u30EA\u30FC\u30F3 \u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u6700\u9069\u5316\u3059\u308B\u306B\u306F\u3001Command+E \u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u69CB\u6210\u3057\u3066\u30B9\u30AF\u30EA\u30FC\u30F3 \u30EA\u30FC\u30C0\u30FC\u3067\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u6700\u9069\u5316\u3059\u308B\u306B\u306F\u3001Control+E \u3092\u62BC\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u3001\u30B9\u30AF\u30EA\u30FC\u30F3 \u30EA\u30FC\u30C0\u30FC\u3067\u4F7F\u7528\u3059\u308B\u3088\u3046\u6700\u9069\u5316\u3055\u308C\u308B\u3088\u3046\u306B\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u3001\u30B9\u30AF\u30EA\u30FC\u30F3 \u30EA\u30FC\u30C0\u30FC\u3067\u4F7F\u7528\u3059\u308B\u3088\u3046\u6700\u9069\u5316\u3055\u308C\u306A\u3044\u3088\u3046\u306B\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u73FE\u6642\u70B9\u3067\u3053\u306E\u8A2D\u5B9A\u306F\u5F53\u3066\u306F\u307E\u308A\u307E\u305B\u3093\u3002","\u73FE\u5728\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u3067 Tab \u30AD\u30FC\u3092\u62BC\u3059\u3068\u3001\u6B21\u306E\u30D5\u30A9\u30FC\u30AB\u30B9\u53EF\u80FD\u306A\u8981\u7D20\u306B\u30D5\u30A9\u30FC\u30AB\u30B9\u3092\u79FB\u52D5\u3057\u307E\u3059\u3002{0} \u3092\u62BC\u3059\u3068\u3001\u3053\u306E\u52D5\u4F5C\u304C\u5207\u308A\u66FF\u308F\u308A\u307E\u3059\u3002","\u73FE\u5728\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u3067 Tab \u30AD\u30FC\u3092\u62BC\u3059\u3068\u3001\u6B21\u306E\u30D5\u30A9\u30FC\u30AB\u30B9\u53EF\u80FD\u306A\u8981\u7D20\u306B\u30D5\u30A9\u30FC\u30AB\u30B9\u3092\u79FB\u52D5\u3057\u307E\u3059\u3002\u30B3\u30DE\u30F3\u30C9 {0} \u306F\u3001\u30AD\u30FC \u30D0\u30A4\u30F3\u30C9\u3067\u306F\u73FE\u5728\u30C8\u30EA\u30AC\u30FC\u3067\u304D\u307E\u305B\u3093\u3002","\u73FE\u5728\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u3067 Tab \u30AD\u30FC\u3092\u62BC\u3059\u3068\u3001\u30BF\u30D6\u6587\u5B57\u304C\u633F\u5165\u3055\u308C\u307E\u3059\u3002{0} \u3092\u62BC\u3059\u3068\u3001\u3053\u306E\u52D5\u4F5C\u304C\u5207\u308A\u66FF\u308F\u308A\u307E\u3059\u3002","\u73FE\u5728\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u3067 Tab \u30AD\u30FC\u3092\u62BC\u3059\u3068\u3001\u30BF\u30D6\u6587\u5B57\u304C\u633F\u5165\u3055\u308C\u307E\u3059\u3002\u30B3\u30DE\u30F3\u30C9 {0} \u306F\u3001\u30AD\u30FC \u30D0\u30A4\u30F3\u30C9\u3067\u306F\u73FE\u5728\u30C8\u30EA\u30AC\u30FC\u3067\u304D\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30A2\u30AF\u30BB\u30B7\u30D3\u30EA\u30C6\u30A3\u306B\u95A2\u3059\u308B\u8A73\u7D30\u60C5\u5831\u304C\u8A18\u3055\u308C\u305F\u30D6\u30E9\u30A6\u30B6\u30FC \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u958B\u304F\u306B\u306F\u3001Command+H \u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30A2\u30AF\u30BB\u30B7\u30D3\u30EA\u30C6\u30A3\u306B\u95A2\u3059\u308B\u8A73\u7D30\u60C5\u5831\u304C\u8A18\u3055\u308C\u305F\u30D6\u30E9\u30A6\u30B6\u30FC \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u958B\u304F\u306B\u306F\u3001Control+H \u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044\u3002","Esc \u30AD\u30FC \u304B Shift+Esc \u3092\u62BC\u3059\u3068\u3001\u30D2\u30F3\u30C8\u3092\u6D88\u3057\u3066\u30A8\u30C7\u30A3\u30BF\u30FC\u306B\u623B\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","\u30A2\u30AF\u30BB\u30B7\u30D3\u30EA\u30C6\u30A3\u306E\u30D8\u30EB\u30D7\u3092\u8868\u793A\u3057\u307E\u3059","\u958B\u767A\u8005: \u30C8\u30FC\u30AF\u30F3\u306E\u691C\u67FB","\u884C/\u5217\u306B\u79FB\u52D5\u3059\u308B...","\u3059\u3079\u3066\u306E\u30AF\u30A4\u30C3\u30AF \u30A2\u30AF\u30BB\u30B9 \u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u8868\u793A","\u30B3\u30DE\u30F3\u30C9 \u30D1\u30EC\u30C3\u30C8","\u30B3\u30DE\u30F3\u30C9\u306E\u8868\u793A\u3068\u5B9F\u884C","\u30B7\u30F3\u30DC\u30EB\u306B\u79FB\u52D5...","\u30AB\u30C6\u30B4\u30EA\u5225\u306E\u30B7\u30F3\u30DC\u30EB\u3078\u79FB\u52D5...","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30B3\u30F3\u30C6\u30F3\u30C4","\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u3001Alt+F1 \u30AD\u30FC\u3092\u62BC\u3057\u307E\u3059\u3002","\u30CF\u30A4 \u30B3\u30F3\u30C8\u30E9\u30B9\u30C8 \u30C6\u30FC\u30DE\u306E\u5207\u308A\u66FF\u3048","{1} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u306B {0} \u500B\u306E\u7DE8\u96C6\u304C\u884C\u308F\u308C\u307E\u3057\u305F"],"vs/editor/common/view/editorColorRegistry":["\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E\u306E\u884C\u3092\u5F37\u8ABF\u8868\u793A\u3059\u308B\u80CC\u666F\u8272\u3002","\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E\u306E\u884C\u306E\u5883\u754C\u7DDA\u3092\u5F37\u8ABF\u8868\u793A\u3059\u308B\u80CC\u666F\u8272\u3002","(Quick Open \u3084\u691C\u51FA\u6A5F\u80FD\u306A\u3069\u306B\u3088\u308A) \u5F37\u8ABF\u8868\u793A\u3055\u308C\u3066\u3044\u308B\u7BC4\u56F2\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u5F37\u8ABF\u8868\u793A\u3055\u308C\u305F\u7BC4\u56F2\u306E\u5883\u754C\u7DDA\u306E\u80CC\u666F\u8272\u3002","\u5F37\u8ABF\u8868\u793A\u3055\u308C\u305F\u8A18\u53F7\u306E\u80CC\u666F\u8272 (\u5B9A\u7FA9\u3078\u79FB\u52D5\u3001\u6B21\u307E\u305F\u306F\u524D\u306E\u8A18\u53F7\u3078\u79FB\u52D5\u306A\u3069)\u3002\u57FA\u306B\u306A\u308B\u88C5\u98FE\u304C\u8986\u308F\u308C\u306A\u3044\u3088\u3046\u306B\u3059\u308B\u305F\u3081\u3001\u8272\u3092\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u5F37\u8ABF\u8868\u793A\u3055\u308C\u305F\u8A18\u53F7\u306E\u5468\u308A\u306E\u5883\u754C\u7DDA\u306E\u80CC\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30AB\u30FC\u30BD\u30EB\u306E\u8272\u3002","\u9078\u629E\u3055\u308C\u305F\u6587\u5B57\u5217\u306E\u80CC\u666F\u8272\u3067\u3059\u3002\u9078\u629E\u3055\u308C\u305F\u6587\u5B57\u5217\u306E\u80CC\u666F\u8272\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u51FA\u6765\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30B9\u30DA\u30FC\u30B9\u6587\u5B57\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC \u30A4\u30F3\u30C7\u30F3\u30C8 \u30AC\u30A4\u30C9\u306E\u8272\u3002","\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30A4\u30F3\u30C7\u30F3\u30C8 \u30AC\u30A4\u30C9\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u884C\u756A\u53F7\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30A2\u30AF\u30C6\u30A3\u30D6\u884C\u756A\u53F7\u306E\u8272","id \u306F\u4F7F\u7528\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002\u4EE3\u308F\u308A\u306B 'EditorLineNumber.activeForeground' \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30A2\u30AF\u30C6\u30A3\u30D6\u884C\u756A\u53F7\u306E\u8272","\u30A8\u30C7\u30A3\u30BF\u30FC \u30EB\u30FC\u30E9\u30FC\u306E\u8272\u3002","CodeLens \u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u524D\u666F\u8272\u3002","\u4E00\u81F4\u3059\u308B\u304B\u3063\u3053\u306E\u80CC\u666F\u8272","\u4E00\u81F4\u3059\u308B\u304B\u3063\u3053\u5185\u306E\u30DC\u30C3\u30AF\u30B9\u306E\u8272","\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u5883\u754C\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u80CC\u666F\u8272\u3067\u3059\u3002\u30DF\u30CB\u30DE\u30C3\u30D7\u304C\u6709\u52B9\u3067\u3001\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u53F3\u5074\u306B\u914D\u7F6E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306B\u306E\u307F\u4F7F\u7528\u3057\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u4F59\u767D\u306E\u80CC\u666F\u8272\u3002\u4F59\u767D\u306B\u306F\u30B0\u30EA\u30D5 \u30DE\u30FC\u30B8\u30F3\u3068\u884C\u756A\u53F7\u304C\u542B\u307E\u308C\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u306E\u4E0D\u8981\u306A (\u672A\u4F7F\u7528\u306E) \u30BD\u30FC\u30B9 \u30B3\u30FC\u30C9\u306E\u7F6B\u7DDA\u306E\u8272\u3002",`\u30A8\u30C7\u30A3\u30BF\u30FC\u5185\u306E\u4E0D\u8981\u306A (\u672A\u4F7F\u7528\u306E) \u30BD\u30FC\u30B9 \u30B3\u30FC\u30C9\u306E\u4E0D\u900F\u660E\u5EA6\u3002\u305F\u3068\u3048\u3070\u3001"#000000c0" \u306F\u4E0D\u900F\u660E\u5EA6 75% \u3067\u30B3\u30FC\u30C9\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u30CF\u30A4 \u30B3\u30F3\u30C8\u30E9\u30B9\u30C8\u306E\u30C6\u30FC\u30DE\u306E\u5834\u5408\u3001'editorUnnecessaryCode.border' \u30C6\u30FC\u30DE\u8272\u3092\u4F7F\u7528\u3057\u3066\u3001\u4E0D\u8981\u306A\u30B3\u30FC\u30C9\u3092\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u306E\u3067\u306F\u306A\u304F\u4E0B\u7DDA\u3092\u4ED8\u3051\u307E\u3059\u3002`,"\u7BC4\u56F2\u5F37\u8ABF\u8868\u793A\u306E\u305F\u3081\u306E\u6982\u8981\u30EB\u30FC\u30E9\u30FC \u30DE\u30FC\u30AB\u30FC\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u30A8\u30E9\u30FC\u3092\u793A\u3059\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u30DE\u30FC\u30AB\u30FC\u8272\u3002","\u8B66\u544A\u3092\u793A\u3059\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u30DE\u30FC\u30AB\u30FC\u8272\u3002","\u60C5\u5831\u3092\u793A\u3059\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u30DE\u30FC\u30AB\u30FC\u8272\u3002"],"vs/editor/contrib/anchorSelect/anchorSelect":["\u9078\u629E\u30A2\u30F3\u30AB\u30FC","\u30A2\u30F3\u30AB\u30FC\u304C {0}:{1} \u306B\u8A2D\u5B9A\u3055\u308C\u307E\u3057\u305F","\u9078\u629E\u30A2\u30F3\u30AB\u30FC\u306E\u8A2D\u5B9A","\u9078\u629E\u30A2\u30F3\u30AB\u30FC\u3078\u79FB\u52D5","\u30A2\u30F3\u30AB\u30FC\u304B\u3089\u30AB\u30FC\u30BD\u30EB\u3078\u9078\u629E","\u9078\u629E\u30A2\u30F3\u30AB\u30FC\u306E\u53D6\u308A\u6D88\u3057"],"vs/editor/contrib/bracketMatching/bracketMatching":["\u4E00\u81F4\u3059\u308B\u30D6\u30E9\u30B1\u30C3\u30C8\u3092\u793A\u3059\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u30DE\u30FC\u30AB\u30FC\u8272\u3002","\u30D6\u30E9\u30B1\u30C3\u30C8\u3078\u79FB\u52D5","\u30D6\u30E9\u30B1\u30C3\u30C8\u306B\u9078\u629E","\u30D6\u30E9\u30B1\u30C3\u30C8\u306B\u79FB\u52D5(&&B)"],"vs/editor/contrib/caretOperations/caretOperations":["\u9078\u629E\u3057\u305F\u30C6\u30AD\u30B9\u30C8\u3092\u5DE6\u306B\u79FB\u52D5","\u9078\u629E\u3057\u305F\u30C6\u30AD\u30B9\u30C8\u3092\u53F3\u306B\u79FB\u52D5"],"vs/editor/contrib/caretOperations/transpose":["\u6587\u5B57\u306E\u5165\u308C\u66FF\u3048"],"vs/editor/contrib/clipboard/clipboard":["\u5207\u308A\u53D6\u308A(&&T)","\u5207\u308A\u53D6\u308A","\u5207\u308A\u53D6\u308A","\u30B3\u30D4\u30FC(&&C)","\u30B3\u30D4\u30FC","\u30B3\u30D4\u30FC","\u8CBC\u308A\u4ED8\u3051(&&P)","\u8CBC\u308A\u4ED8\u3051","\u8CBC\u308A\u4ED8\u3051","\u69CB\u6587\u3092\u5F37\u8ABF\u8868\u793A\u3057\u3066\u30B3\u30D4\u30FC"],"vs/editor/contrib/codeAction/codeActionCommands":["\u5B9F\u884C\u3059\u308B\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u306E\u7A2E\u985E\u3002","\u8FD4\u3055\u308C\u305F\u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u9069\u7528\u3055\u308C\u308B\u30BF\u30A4\u30DF\u30F3\u30B0\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u6700\u521D\u306B\u8FD4\u3055\u308C\u305F\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u3092\u5E38\u306B\u9069\u7528\u3057\u307E\u3059\u3002","\u6700\u521D\u306B\u8FD4\u3055\u308C\u305F\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u4EE5\u5916\u306B\u8FD4\u3055\u308C\u305F\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u306A\u3044\u5834\u5408\u306F\u3001\u305D\u306E\u30A2\u30AF\u30B7\u30E7\u30F3\u3092\u9069\u7528\u3057\u307E\u3059\u3002","\u8FD4\u3055\u308C\u305F\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u306F\u9069\u7528\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002","\u512A\u5148\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u306E\u307F\u3092\u8FD4\u3059\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u306E\u9069\u7528\u4E2D\u306B\u4E0D\u660E\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F","\u30AF\u30A4\u30C3\u30AF \u30D5\u30A3\u30C3\u30AF\u30B9...","\u5229\u7528\u53EF\u80FD\u306A\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u306F\u3042\u308A\u307E\u305B\u3093","'{0}' \u306B\u5BFE\u3057\u3066\u4F7F\u7528\u3067\u304D\u308B\u512A\u5148\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u305B\u3093","{0}' \u306B\u5BFE\u3057\u3066\u4F7F\u7528\u3067\u304D\u308B\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u305B\u3093","\u4F7F\u7528\u3067\u304D\u308B\u512A\u5148\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u305B\u3093","\u5229\u7528\u53EF\u80FD\u306A\u30B3\u30FC\u30C9 \u30A2\u30AF\u30B7\u30E7\u30F3\u306F\u3042\u308A\u307E\u305B\u3093","\u30EA\u30D5\u30A1\u30AF\u30BF\u30FC...","'{0}' \u306B\u5BFE\u3057\u3066\u4F7F\u7528\u3067\u304D\u308B\u512A\u5148\u30EA\u30D5\u30A1\u30AF\u30BF\u30EA\u30F3\u30B0\u304C\u3042\u308A\u307E\u305B\u3093","'{0}' \u306B\u5BFE\u3057\u3066\u4F7F\u7528\u3067\u304D\u308B\u30EA\u30D5\u30A1\u30AF\u30BF\u30EA\u30F3\u30B0\u304C\u3042\u308A\u307E\u305B\u3093","\u4F7F\u7528\u3067\u304D\u308B\u512A\u5148\u30EA\u30D5\u30A1\u30AF\u30BF\u30EA\u30F3\u30B0\u304C\u3042\u308A\u307E\u305B\u3093","\u5229\u7528\u53EF\u80FD\u306A\u30EA\u30D5\u30A1\u30AF\u30BF\u30EA\u30F3\u30B0\u306F\u3042\u308A\u307E\u305B\u3093","\u30BD\u30FC\u30B9 \u30A2\u30AF\u30B7\u30E7\u30F3...","'{0}' \u306B\u5BFE\u3057\u3066\u4F7F\u7528\u3067\u304D\u308B\u512A\u5148\u30BD\u30FC\u30B9 \u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u305B\u3093","'{0}' \u306B\u5BFE\u3057\u3066\u4F7F\u7528\u3067\u304D\u308B\u30BD\u30FC\u30B9 \u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u305B\u3093","\u4F7F\u7528\u3067\u304D\u308B\u512A\u5148\u30BD\u30FC\u30B9 \u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u305B\u3093","\u5229\u7528\u53EF\u80FD\u306A\u30BD\u30FC\u30B9 \u30A2\u30AF\u30B7\u30E7\u30F3\u306F\u3042\u308A\u307E\u305B\u3093","\u30A4\u30F3\u30DD\u30FC\u30C8\u3092\u6574\u7406","\u5229\u7528\u53EF\u80FD\u306A\u30A4\u30F3\u30DD\u30FC\u30C8\u306E\u6574\u7406\u30A2\u30AF\u30B7\u30E7\u30F3\u306F\u3042\u308A\u307E\u305B\u3093","\u3059\u3079\u3066\u4FEE\u6B63","\u3059\u3079\u3066\u3092\u4FEE\u6B63\u3059\u308B\u30A2\u30AF\u30B7\u30E7\u30F3\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093","\u81EA\u52D5\u4FEE\u6B63...","\u5229\u7528\u53EF\u80FD\u306A\u81EA\u52D5\u4FEE\u6B63\u306F\u3042\u308A\u307E\u305B\u3093"],"vs/editor/contrib/codeAction/lightBulbWidget":["\u4FEE\u6B63\u30D7\u30ED\u30B0\u30E9\u30E0\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u63A8\u5968\u3055\u308C\u308B\u5229\u7528\u53EF\u80FD\u306A\u4FEE\u6B63\u30D7\u30ED\u30B0\u30E9\u30E0 ({0})","\u4FEE\u6B63\u30D7\u30ED\u30B0\u30E9\u30E0 ({0}) \u3092\u8868\u793A\u3059\u308B","\u4FEE\u6B63\u30D7\u30ED\u30B0\u30E9\u30E0\u3092\u8868\u793A\u3059\u308B"],"vs/editor/contrib/codelens/codelensController":["\u73FE\u5728\u306E\u884C\u306E\u30B3\u30FC\u30C9 \u30EC\u30F3\u30BA \u30B3\u30DE\u30F3\u30C9\u3092\u8868\u793A"],"vs/editor/contrib/comment/comment":["\u884C\u30B3\u30E1\u30F3\u30C8\u306E\u5207\u308A\u66FF\u3048","\u884C\u30B3\u30E1\u30F3\u30C8\u306E\u5207\u308A\u66FF\u3048(&&T)","\u884C\u30B3\u30E1\u30F3\u30C8\u306E\u8FFD\u52A0","\u884C\u30B3\u30E1\u30F3\u30C8\u306E\u524A\u9664","\u30D6\u30ED\u30C3\u30AF \u30B3\u30E1\u30F3\u30C8\u306E\u5207\u308A\u66FF\u3048","\u30D6\u30ED\u30C3\u30AF \u30B3\u30E1\u30F3\u30C8\u306E\u5207\u308A\u66FF\u3048(&&B)"],"vs/editor/contrib/contextmenu/contextmenu":["\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC\u306E\u8868\u793A"],"vs/editor/contrib/cursorUndo/cursorUndo":["\u30AB\u30FC\u30BD\u30EB\u3092\u5143\u306B\u623B\u3059","\u30AB\u30FC\u30BD\u30EB\u306E\u3084\u308A\u76F4\u3057"],"vs/editor/contrib/find/findController":["\u691C\u7D22","\u691C\u7D22(&&F)","\u9078\u629E\u7BC4\u56F2\u3067\u691C\u7D22","\u6B21\u3092\u691C\u7D22","\u6B21\u3092\u691C\u7D22","\u524D\u3092\u691C\u7D22","\u524D\u3092\u691C\u7D22","\u6B21\u306E\u9078\u629E\u9805\u76EE\u3092\u691C\u7D22","\u524D\u306E\u9078\u629E\u9805\u76EE\u3092\u691C\u7D22","\u7F6E\u63DB","\u7F6E\u63DB(&&R)"],"vs/editor/contrib/find/findWidget":["\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u5185\u306E '\u9078\u629E\u7BC4\u56F2\u3092\u691C\u7D22' \u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u304C\u6298\u308A\u305F\u305F\u307E\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u793A\u3059\u30A2\u30A4\u30B3\u30F3\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u304C\u5C55\u958B\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u793A\u3059\u30A2\u30A4\u30B3\u30F3\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u5185\u306E '\u7F6E\u63DB' \u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u5185\u306E '\u3059\u3079\u3066\u7F6E\u63DB' \u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u5185\u306E '\u524D\u3092\u691C\u7D22' \u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u691C\u7D22\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u5185\u306E '\u6B21\u3092\u691C\u7D22' \u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u691C\u7D22","\u691C\u7D22","\u524D\u306E\u691C\u7D22\u7D50\u679C","\u6B21\u306E\u4E00\u81F4\u9805\u76EE","\u9078\u629E\u7BC4\u56F2\u3092\u691C\u7D22","\u9589\u3058\u308B","\u7F6E\u63DB","\u7F6E\u63DB","\u7F6E\u63DB","\u3059\u3079\u3066\u7F6E\u63DB","\u7F6E\u63DB\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048","\u6700\u521D\u306E {0} \u4EF6\u306E\u7D50\u679C\u3060\u3051\u304C\u5F37\u8ABF\u8868\u793A\u3055\u308C\u307E\u3059\u304C\u3001\u3059\u3079\u3066\u306E\u691C\u7D22\u64CD\u4F5C\u306F\u30C6\u30AD\u30B9\u30C8\u5168\u4F53\u3067\u6A5F\u80FD\u3057\u307E\u3059\u3002","{0} / {1} \u4EF6","\u7D50\u679C\u306F\u3042\u308A\u307E\u305B\u3093\u3002","{0} \u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F","{0} \u304C '{1}' \u3067\u898B\u3064\u304B\u308A\u307E\u3057\u305F","{0} \u306F '{1}' \u3067 {2} \u306B\u898B\u3064\u304B\u308A\u307E\u3057\u305F","{0} \u304C '{1}' \u3067\u898B\u3064\u304B\u308A\u307E\u3057\u305F","Ctrl + Enter \u30AD\u30FC\u3092\u62BC\u3059\u3068\u3001\u3059\u3079\u3066\u7F6E\u63DB\u3059\u308B\u306E\u3067\u306F\u306A\u304F\u3001\u6539\u884C\u304C\u633F\u5165\u3055\u308C\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3057\u305F\u3002editor.action.replaceAll \u306E\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9\u3092\u5909\u66F4\u3057\u3066\u3001\u3053\u306E\u52D5\u4F5C\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u3059\u3002"],"vs/editor/contrib/folding/folding":["\u5C55\u958B","\u518D\u5E30\u7684\u306B\u5C55\u958B\u3059\u308B","\u6298\u308A\u305F\u305F\u307F","\u6298\u308A\u305F\u305F\u307F\u306E\u5207\u308A\u66FF\u3048","\u518D\u5E30\u7684\u306B\u6298\u308A\u305F\u305F\u3080","\u3059\u3079\u3066\u306E\u30D6\u30ED\u30C3\u30AF \u30B3\u30E1\u30F3\u30C8\u306E\u6298\u308A\u305F\u305F\u307F","\u3059\u3079\u3066\u306E\u9818\u57DF\u3092\u6298\u308A\u305F\u305F\u3080","\u3059\u3079\u3066\u306E\u9818\u57DF\u3092\u5C55\u958B","\u3059\u3079\u3066\u6298\u308A\u305F\u305F\u307F","\u3059\u3079\u3066\u5C55\u958B","\u30EC\u30D9\u30EB {0} \u3067\u6298\u308A\u305F\u305F\u3080","\u6298\u308A\u66F2\u3052\u308B\u7BC4\u56F2\u306E\u80CC\u666F\u8272\u3002\u57FA\u306E\u88C5\u98FE\u3092\u96A0\u3055\u306A\u3044\u3088\u3046\u306B\u3001\u8272\u306F\u4E0D\u900F\u660E\u3067\u3042\u3063\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u4F59\u767D\u306B\u3042\u308B\u6298\u308A\u305F\u305F\u307F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u8272\u3002"],"vs/editor/contrib/folding/foldingDecorations":["\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30B0\u30EA\u30D5\u4F59\u767D\u5185\u306E\u5C55\u958B\u3055\u308C\u305F\u7BC4\u56F2\u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30B0\u30EA\u30D5\u4F59\u767D\u5185\u306E\u6298\u308A\u305F\u305F\u307E\u308C\u305F\u7BC4\u56F2\u306E\u30A2\u30A4\u30B3\u30F3\u3002"],"vs/editor/contrib/fontZoom/fontZoom":["\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30D5\u30A9\u30F3\u30C8\u3092\u62E1\u5927","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30D5\u30A9\u30F3\u30C8\u3092\u7E2E\u5C0F","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30D5\u30A9\u30F3\u30C8\u306E\u30BA\u30FC\u30E0\u3092\u30EA\u30BB\u30C3\u30C8"],"vs/editor/contrib/format/format":["\u884C {0} \u3067 1 \u3064\u306E\u66F8\u5F0F\u8A2D\u5B9A\u3092\u7DE8\u96C6","\u884C {1} \u3067 {0} \u500B\u306E\u66F8\u5F0F\u8A2D\u5B9A\u3092\u7DE8\u96C6","\u884C {0} \u3068 {1} \u306E\u9593\u3067 1 \u3064\u306E\u66F8\u5F0F\u8A2D\u5B9A\u3092\u7DE8\u96C6","\u884C {1} \u3068 {2} \u306E\u9593\u3067 {0} \u500B\u306E\u66F8\u5F0F\u8A2D\u5B9A\u3092\u7DE8\u96C6"],"vs/editor/contrib/format/formatActions":["\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","\u9078\u629E\u7BC4\u56F2\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8"],"vs/editor/contrib/gotoError/gotoError":["\u6B21\u306E\u554F\u984C (\u30A8\u30E9\u30FC\u3001\u8B66\u544A\u3001\u60C5\u5831) \u3078\u79FB\u52D5","\u6B21\u306E\u30DE\u30FC\u30AB\u30FC\u3078\u79FB\u52D5\u3059\u308B\u305F\u3081\u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u524D\u306E\u554F\u984C (\u30A8\u30E9\u30FC\u3001\u8B66\u544A\u3001\u60C5\u5831) \u3078\u79FB\u52D5","\u524D\u306E\u30DE\u30FC\u30AB\u30FC\u3078\u79FB\u52D5\u3059\u308B\u305F\u3081\u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u30D5\u30A1\u30A4\u30EB\u5185\u306E\u6B21\u306E\u554F\u984C (\u30A8\u30E9\u30FC\u3001\u8B66\u544A\u3001\u60C5\u5831) \u3078\u79FB\u52D5","\u6B21\u306E\u554F\u984C\u7B87\u6240(&&P)","\u30D5\u30A1\u30A4\u30EB\u5185\u306E\u524D\u306E\u554F\u984C (\u30A8\u30E9\u30FC\u3001\u8B66\u544A\u3001\u60C5\u5831) \u3078\u79FB\u52D5","\u524D\u306E\u554F\u984C\u7B87\u6240(&&P)"],"vs/editor/contrib/gotoError/gotoErrorWidget":["\u30A8\u30E9\u30FC","\u8B66\u544A","\u60C5\u5831","\u30D2\u30F3\u30C8","{0} ({1})\u3002","{1} \u4EF6\u4E2D {0} \u4EF6\u306E\u554F\u984C","\u554F\u984C {0} / {1}","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30DE\u30FC\u30AB\u30FC \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3 \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u30A8\u30E9\u30FC\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30DE\u30FC\u30AB\u30FC \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3 \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u8B66\u544A\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30DE\u30FC\u30AB\u30FC \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3 \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u60C5\u5831\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30DE\u30FC\u30AB\u30FC \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3 \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u80CC\u666F\u3002"],"vs/editor/contrib/gotoSymbol/goToCommands":["\u30D4\u30FC\u30AF","\u5B9A\u7FA9","'{0}' \u306E\u5B9A\u7FA9\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u5B9A\u7FA9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u5B9A\u7FA9\u3078\u79FB\u52D5","\u5B9A\u7FA9\u306B\u79FB\u52D5(&&D)","\u5B9A\u7FA9\u3092\u6A2A\u306B\u958B\u304F","\u5B9A\u7FA9\u3092\u3053\u3053\u306B\u8868\u793A","\u5BA3\u8A00","'{0}' \u306E\u5BA3\u8A00\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u5BA3\u8A00\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u5BA3\u8A00\u3078\u79FB\u52D5","\u5BA3\u8A00\u3078\u79FB\u52D5(&&D)","'{0}' \u306E\u5BA3\u8A00\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u5BA3\u8A00\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u5BA3\u8A00\u3092\u3053\u3053\u306B\u8868\u793A","\u578B\u5B9A\u7FA9","'{0}' \u306E\u578B\u5B9A\u7FA9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u578B\u5B9A\u7FA9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u578B\u5B9A\u7FA9\u3078\u79FB\u52D5","\u578B\u5B9A\u7FA9\u306B\u79FB\u52D5(&&T)","\u578B\u5B9A\u7FA9\u3092\u8868\u793A","\u5B9F\u88C5","'{0}' \u306E\u5B9F\u88C5\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u5B9F\u88C5\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u5B9F\u88C5\u3078\u79FB\u52D5","\u5B9F\u88C5\u7B87\u6240\u306B\u79FB\u52D5(&&I)","\u5B9F\u88C5\u306E\u30D4\u30FC\u30AF","'{0}' \u306E\u53C2\u7167\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u53C2\u7167\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","\u53C2\u7167\u3078\u79FB\u52D5","\u53C2\u7167\u3078\u79FB\u52D5(&&R)","\u53C2\u7167\u8A2D\u5B9A","\u53C2\u7167\u3092\u3053\u3053\u306B\u8868\u793A","\u53C2\u7167\u8A2D\u5B9A","\u4EFB\u610F\u306E\u8A18\u53F7\u3078\u79FB\u52D5","\u5834\u6240","'{0}' \u306B\u4E00\u81F4\u3059\u308B\u7D50\u679C\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F","\u53C2\u7167\u8A2D\u5B9A"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3001{0} \u306E\u5B9A\u7FA9\u3092\u8868\u793A\u3057\u307E\u3059\u3002"],"vs/editor/contrib/gotoSymbol/peek/referencesController":["\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["{0} \u500B\u306E\u53C2\u7167","{0} \u500B\u306E\u53C2\u7167","\u53C2\u7167"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093","\u7D50\u679C\u306F\u3042\u308A\u307E\u305B\u3093\u3002","\u53C2\u7167\u8A2D\u5B9A"],"vs/editor/contrib/gotoSymbol/referencesModel":["\u5217 {2} \u306E {1} \u884C\u76EE\u306B {0} \u3064\u306E\u30B7\u30F3\u30DC\u30EB","\u5217 {2}\u3001{3} \u306E {1} \u884C\u76EE\u306E {0} \u306B\u3042\u308B\u8A18\u53F7","{0} \u306B 1 \u500B\u306E\u30B7\u30F3\u30DC\u30EB\u3001\u5B8C\u5168\u306A\u30D1\u30B9 {1}","{1} \u306B {0} \u500B\u306E\u30B7\u30F3\u30DC\u30EB\u3001\u5B8C\u5168\u306A\u30D1\u30B9 {2}","\u4E00\u81F4\u3059\u308B\u9805\u76EE\u306F\u3042\u308A\u307E\u305B\u3093","{0} \u306B 1 \u500B\u306E\u30B7\u30F3\u30DC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F","{1} \u306B {0} \u500B\u306E\u30B7\u30F3\u30DC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F","{1} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u306B {0} \u500B\u306E\u30B7\u30F3\u30DC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["{1} \u306E\u30B7\u30F3\u30DC\u30EB {0}\u3001\u6B21\u306B {2}","\u30B7\u30F3\u30DC\u30EB {0}/{1}"],"vs/editor/contrib/hover/hover":["\u30DB\u30D0\u30FC\u306E\u8868\u793A","\u5B9A\u7FA9\u30D7\u30EC\u30D3\u30E5\u30FC\u306E\u30DB\u30D0\u30FC\u3092\u8868\u793A\u3059\u308B"],"vs/editor/contrib/hover/markdownHoverParticipant":["\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059..."],"vs/editor/contrib/hover/markerHoverParticipant":["View Problem","\u5229\u7528\u3067\u304D\u308B\u30AF\u30A4\u30C3\u30AF\u30D5\u30A3\u30C3\u30AF\u30B9\u306F\u3042\u308A\u307E\u305B\u3093","\u30AF\u30A4\u30C3\u30AF\u30D5\u30A3\u30C3\u30AF\u30B9\u3092\u78BA\u8A8D\u3057\u3066\u3044\u307E\u3059...","\u5229\u7528\u3067\u304D\u308B\u30AF\u30A4\u30C3\u30AF\u30D5\u30A3\u30C3\u30AF\u30B9\u306F\u3042\u308A\u307E\u305B\u3093","\u30AF\u30A4\u30C3\u30AF \u30D5\u30A3\u30C3\u30AF\u30B9..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["\u524D\u306E\u5024\u306B\u7F6E\u63DB","\u6B21\u306E\u5024\u306B\u7F6E\u63DB"],"vs/editor/contrib/indentation/indentation":["\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u30B9\u30DA\u30FC\u30B9\u306B\u5909\u63DB","\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u30BF\u30D6\u306B\u5909\u63DB","\u69CB\u6210\u3055\u308C\u305F\u30BF\u30D6\u306E\u30B5\u30A4\u30BA","\u73FE\u5728\u306E\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30D6\u306E\u30B5\u30A4\u30BA\u3092\u9078\u629E","\u30BF\u30D6\u306B\u3088\u308B\u30A4\u30F3\u30C7\u30F3\u30C8","\u30B9\u30DA\u30FC\u30B9\u306B\u3088\u308B\u30A4\u30F3\u30C7\u30F3\u30C8","\u5185\u5BB9\u304B\u3089\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u691C\u51FA","\u884C\u306E\u518D\u30A4\u30F3\u30C7\u30F3\u30C8","\u9078\u629E\u884C\u3092\u518D\u30A4\u30F3\u30C7\u30F3\u30C8"],"vs/editor/contrib/linesOperations/linesOperations":["\u884C\u3092\u4E0A\u3078\u30B3\u30D4\u30FC","\u884C\u3092\u4E0A\u3078\u30B3\u30D4\u30FC(&&C)","\u884C\u3092\u4E0B\u3078\u30B3\u30D4\u30FC","\u884C\u3092\u4E0B\u3078\u30B3\u30D4\u30FC(&&P)","\u9078\u629E\u7BC4\u56F2\u306E\u8907\u88FD","\u9078\u629E\u7BC4\u56F2\u306E\u8907\u88FD(&&D)","\u884C\u3092\u4E0A\u3078\u79FB\u52D5","\u884C\u3092\u4E0A\u3078\u79FB\u52D5(&&V)","\u884C\u3092\u4E0B\u3078\u79FB\u52D5","\u884C\u3092\u4E0B\u3078\u79FB\u52D5(&&L)","\u884C\u3092\u6607\u9806\u306B\u4E26\u3079\u66FF\u3048","\u884C\u3092\u964D\u9806\u306B\u4E26\u3079\u66FF\u3048","\u672B\u5C3E\u306E\u7A7A\u767D\u306E\u30C8\u30EA\u30DF\u30F3\u30B0","\u884C\u306E\u524A\u9664","\u884C\u306E\u30A4\u30F3\u30C7\u30F3\u30C8","\u884C\u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u89E3\u9664","\u884C\u3092\u4E0A\u306B\u633F\u5165","\u884C\u3092\u4E0B\u306B\u633F\u5165","\u5DE6\u5074\u3092\u3059\u3079\u3066\u524A\u9664","\u53F3\u5074\u3092\u3059\u3079\u3066\u524A\u9664","\u884C\u3092\u3064\u306A\u3052\u308B","\u30AB\u30FC\u30BD\u30EB\u306E\u5468\u56F2\u306E\u6587\u5B57\u3092\u5165\u308C\u66FF\u3048\u308B","\u5927\u6587\u5B57\u306B\u5909\u63DB","\u5C0F\u6587\u5B57\u306B\u5909\u63DB","\u5148\u982D\u6587\u5B57\u3092\u5927\u6587\u5B57\u306B\u5909\u63DB\u3059\u308B","\u30B9\u30CD\u30FC\u30AF \u30B1\u30FC\u30B9\u306B\u5909\u63DB\u3059\u308B"],"vs/editor/contrib/linkedEditing/linkedEditing":["\u30EA\u30F3\u30AF\u3055\u308C\u305F\u7DE8\u96C6\u306E\u958B\u59CB","\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u578B\u306E\u540D\u524D\u306E\u81EA\u52D5\u5909\u66F4\u3092\u884C\u3046\u3068\u304D\u306E\u80CC\u666F\u8272\u3067\u3059\u3002"],"vs/editor/contrib/links/links":["\u30B3\u30DE\u30F3\u30C9\u306E\u5B9F\u884C","\u30EA\u30F3\u30AF\u5148\u3092\u8868\u793A","cmd + \u30AF\u30EA\u30C3\u30AF","ctrl + \u30AF\u30EA\u30C3\u30AF","option + \u30AF\u30EA\u30C3\u30AF","alt + \u30AF\u30EA\u30C3\u30AF","\u30B3\u30DE\u30F3\u30C9 {0} \u306E\u5B9F\u884C","\u3053\u306E\u30EA\u30F3\u30AF\u306F\u5F62\u5F0F\u304C\u6B63\u3057\u304F\u306A\u3044\u305F\u3081\u958B\u304F\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: {0}","\u3053\u306E\u30EA\u30F3\u30AF\u306F\u30BF\u30FC\u30B2\u30C3\u30C8\u304C\u5B58\u5728\u3057\u306A\u3044\u305F\u3081\u958B\u304F\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002","\u30EA\u30F3\u30AF\u3092\u958B\u304F"],"vs/editor/contrib/message/messageController":["\u30A8\u30C7\u30A3\u30BF\u30FC\u306B\u73FE\u5728\u30A4\u30F3\u30E9\u30A4\u30F3 \u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u8868\u793A\u3055\u308C\u3066\u3044\u308B\u304B\u3069\u3046\u304B","\u8AAD\u307F\u53D6\u308A\u5C02\u7528\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u306F\u7DE8\u96C6\u3067\u304D\u307E\u305B\u3093"],"vs/editor/contrib/multicursor/multicursor":["\u30AB\u30FC\u30BD\u30EB\u3092\u4E0A\u306B\u633F\u5165","\u30AB\u30FC\u30BD\u30EB\u3092\u4E0A\u306B\u633F\u5165(&&A)","\u30AB\u30FC\u30BD\u30EB\u3092\u4E0B\u306B\u633F\u5165","\u30AB\u30FC\u30BD\u30EB\u3092\u4E0B\u306B\u633F\u5165(&&D)","\u30AB\u30FC\u30BD\u30EB\u3092\u884C\u672B\u306B\u633F\u5165","\u30AB\u30FC\u30BD\u30EB\u3092\u884C\u672B\u306B\u633F\u5165(&&U)","\u30AB\u30FC\u30BD\u30EB\u3092\u4E0B\u306B\u633F\u5165","\u30AB\u30FC\u30BD\u30EB\u3092\u4E0A\u306B\u633F\u5165","\u9078\u629E\u3057\u305F\u9805\u76EE\u3092\u6B21\u306E\u4E00\u81F4\u9805\u76EE\u306B\u8FFD\u52A0","\u6B21\u306E\u51FA\u73FE\u500B\u6240\u3092\u8FFD\u52A0(&&N)","\u9078\u629E\u9805\u76EE\u3092\u6B21\u306E\u4E00\u81F4\u9805\u76EE\u306B\u8FFD\u52A0","\u524D\u306E\u51FA\u73FE\u7B87\u6240\u3092\u8FFD\u52A0(&&R)","\u6700\u5F8C\u306B\u9078\u629E\u3057\u305F\u9805\u76EE\u3092\u6B21\u306E\u4E00\u81F4\u9805\u76EE\u306B\u79FB\u52D5","\u6700\u5F8C\u306B\u9078\u3093\u3060\u9805\u76EE\u3092\u524D\u306E\u4E00\u81F4\u9805\u76EE\u306B\u79FB\u52D5\u3059\u308B","\u4E00\u81F4\u3059\u308B\u3059\u3079\u3066\u306E\u51FA\u73FE\u7B87\u6240\u3092\u9078\u629E\u3057\u307E\u3059","\u3059\u3079\u3066\u306E\u51FA\u73FE\u7B87\u6240\u3092\u9078\u629E(&&O)","\u3059\u3079\u3066\u306E\u51FA\u73FE\u7B87\u6240\u3092\u5909\u66F4"],"vs/editor/contrib/parameterHints/parameterHints":["\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC \u30D2\u30F3\u30C8\u3092\u30C8\u30EA\u30AC\u30FC"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["\u6B21\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC \u30D2\u30F3\u30C8\u3092\u8868\u793A\u3059\u308B\u305F\u3081\u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u524D\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC \u30D2\u30F3\u30C8\u3092\u8868\u793A\u3059\u308B\u305F\u3081\u306E\u30A2\u30A4\u30B3\u30F3\u3002","{0}\u3001\u30D2\u30F3\u30C8"],"vs/editor/contrib/peekView/peekView":["\u9589\u3058\u308B","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u306E\u30BF\u30A4\u30C8\u30EB\u9818\u57DF\u306E\u80CC\u666F\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC \u30BF\u30A4\u30C8\u30EB\u306E\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u306E\u30BF\u30A4\u30C8\u30EB\u60C5\u5831\u306E\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u306E\u5883\u754C\u3068\u77E2\u5370\u306E\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u7D50\u679C\u30EA\u30B9\u30C8\u306E\u80CC\u666F\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u7D50\u679C\u30EA\u30B9\u30C8\u306E\u30E9\u30A4\u30F3 \u30CE\u30FC\u30C9\u306E\u524D\u666F\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u7D50\u679C\u30EA\u30B9\u30C8\u306E\u30D5\u30A1\u30A4\u30EB \u30CE\u30FC\u30C9\u306E\u524D\u666F\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u7D50\u679C\u30EA\u30B9\u30C8\u306E\u9078\u629E\u6E08\u307F\u30A8\u30F3\u30C8\u30EA\u306E\u80CC\u666F\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u7D50\u679C\u30EA\u30B9\u30C8\u306E\u9078\u629E\u6E08\u307F\u30A8\u30F3\u30C8\u30EA\u306E\u524D\u666F\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC \u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u80CC\u666F\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC \u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u4F59\u767D\u306E\u80CC\u666F\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC\u7D50\u679C\u30EA\u30B9\u30C8\u306E\u4E00\u81F4\u3057\u305F\u5F37\u8ABF\u8868\u793A\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC \u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u4E00\u81F4\u3057\u305F\u5F37\u8ABF\u8868\u793A\u8272\u3002","\u30D4\u30FC\u30AF \u30D3\u30E5\u30FC \u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u4E00\u81F4\u3057\u305F\u5F37\u8ABF\u5883\u754C\u8272\u3002"],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["\u6700\u521D\u306B\u30C6\u30AD\u30B9\u30C8 \u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u958B\u3044\u3066\u3001\u884C\u306B\u79FB\u52D5\u3057\u307E\u3059\u3002","\u884C {0}\u3001\u5217 {1} \u306B\u79FB\u52D5\u3057\u307E\u3059\u3002","{0} \u884C\u306B\u79FB\u52D5\u3057\u307E\u3059\u3002","\u73FE\u5728\u306E\u884C: {0}\u3001\u6587\u5B57: {1}\u3002\u79FB\u52D5\u5148\u3068\u306A\u308B\u30011 \u304B\u3089 {2} \u307E\u3067\u306E\u884C\u756A\u53F7\u3092\u5165\u529B\u3057\u307E\u3059\u3002","\u73FE\u5728\u306E\u884C: {0}\u3001\u6587\u5B57: {1}\u3002\u79FB\u52D5\u5148\u306E\u884C\u756A\u53F7\u3092\u5165\u529B\u3057\u307E\u3059\u3002"],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["\u30B7\u30F3\u30DC\u30EB\u306B\u79FB\u52D5\u3059\u308B\u306B\u306F\u3001\u307E\u305A\u30B7\u30F3\u30DC\u30EB\u60C5\u5831\u3092\u542B\u3080\u30C6\u30AD\u30B9\u30C8 \u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u958B\u304D\u307E\u3059\u3002","\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C6\u30AD\u30B9\u30C8 \u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u306F\u3001\u30B7\u30F3\u30DC\u30EB\u60C5\u5831\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002","\u4E00\u81F4\u3059\u308B\u30A8\u30C7\u30A3\u30BF\u30FC \u30B7\u30F3\u30DC\u30EB\u304C\u3042\u308A\u307E\u305B\u3093","\u30A8\u30C7\u30A3\u30BF\u30FC \u30B7\u30F3\u30DC\u30EB\u304C\u3042\u308A\u307E\u305B\u3093","\u6A2A\u306B\u4E26\u3079\u3066\u958B\u304F","\u4E00\u756A\u4E0B\u3067\u958B\u304F","\u30B7\u30F3\u30DC\u30EB ({0})","\u30D7\u30ED\u30D1\u30C6\u30A3 ({0})","\u30E1\u30BD\u30C3\u30C9 ({0})","\u95A2\u6570 ({0})","\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u30FC ({0})","\u5909\u6570 ({0})","\u30AF\u30E9\u30B9 ({0})","\u69CB\u9020\u4F53 ({0})","\u30A4\u30D9\u30F3\u30C8 ({0})","\u6F14\u7B97\u5B50 ({0})","\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9 ({0})","\u540D\u524D\u7A7A\u9593 ({0})","\u30D1\u30C3\u30B1\u30FC\u30B8 ({0})","\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC ({0})","\u30E2\u30B8\u30E5\u30FC\u30EB ({0})","\u30D7\u30ED\u30D1\u30C6\u30A3 ({0})","\u5217\u6319\u578B ({0})","\u5217\u6319\u578B\u30E1\u30F3\u30D0\u30FC ({0})","\u6587\u5B57\u5217 ({0})","\u30D5\u30A1\u30A4\u30EB ({0})","\u914D\u5217 ({0})","\u6570\u5024 ({0})","\u30D6\u30FC\u30EB\u5024 ({0})","\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8 ({0})","\u30AD\u30FC ({0})","\u30D5\u30A3\u30FC\u30EB\u30C9 ({0})","\u5B9A\u6570 ({0})"],"vs/editor/contrib/rename/rename":["\u7D50\u679C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u540D\u524D\u5909\u66F4\u306E\u5834\u6240\u3092\u89E3\u6C7A\u3057\u3088\u3046\u3068\u3057\u3066\u4E0D\u660E\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F","'{0}' \u306E\u540D\u524D\u306E\u5909\u66F4\u4E2D","{0} \u306E\u540D\u524D\u3092\u5909\u66F4\u3057\u3066\u3044\u307E\u3059","'{0}' \u304B\u3089 '{1}' \u3078\u306E\u540D\u524D\u5909\u66F4\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002\u6982\u8981: {2}","\u540D\u524D\u306E\u5909\u66F4\u3067\u7DE8\u96C6\u3092\u9069\u7528\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F","\u540D\u524D\u306E\u5909\u66F4\u306B\u3088\u3063\u3066\u7DE8\u96C6\u306E\u8A08\u7B97\u306B\u5931\u6557\u3057\u307E\u3057\u305F","\u30B7\u30F3\u30DC\u30EB\u306E\u540D\u524D\u5909\u66F4","\u540D\u524D\u3092\u5909\u66F4\u3059\u308B\u524D\u306B\u5909\u66F4\u3092\u30D7\u30EC\u30D3\u30E5\u30FC\u3059\u308B\u6A5F\u80FD\u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3059\u308B"],"vs/editor/contrib/rename/renameInputField":["\u540D\u524D\u5909\u66F4\u5165\u529B\u3002\u65B0\u3057\u3044\u540D\u524D\u3092\u5165\u529B\u3057\u3001Enter \u30AD\u30FC\u3092\u62BC\u3057\u3066\u30B3\u30DF\u30C3\u30C8\u3057\u3066\u304F\u3060\u3055\u3044\u3002","\u540D\u524D\u3092\u5909\u66F4\u3059\u308B\u306B\u306F {0}\u3001\u30D7\u30EC\u30D3\u30E5\u30FC\u3059\u308B\u306B\u306F {1}"],"vs/editor/contrib/smartSelect/smartSelect":["\u9078\u629E\u7BC4\u56F2\u3092\u62E1\u5F35","\u9078\u629E\u7BC4\u56F2\u306E\u5C55\u958B(&&E)","\u9078\u629E\u7BC4\u56F2\u3092\u7E2E\u5C0F","\u9078\u629E\u7BC4\u56F2\u306E\u7E2E\u5C0F(&&S)"],"vs/editor/contrib/snippet/snippetVariables":["\u65E5\u66DC\u65E5","\u6708\u66DC\u65E5","\u706B\u66DC\u65E5","\u6C34\u66DC\u65E5","\u6728\u66DC\u65E5","\u91D1\u66DC\u65E5","\u571F\u66DC\u65E5","\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F","1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708","1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"vs/editor/contrib/suggest/suggestController":["{1} \u304C\u8FFD\u52A0\u7DE8\u96C6\u3057\u305F '{0}' \u3092\u53D7\u3051\u5165\u308C\u308B","\u5019\u88DC\u3092\u30C8\u30EA\u30AC\u30FC","\u633F\u5165","\u633F\u5165","\u7F6E\u63DB","\u7F6E\u63DB","\u633F\u5165","\u8868\u793A\u3092\u6E1B\u3089\u3059","\u3055\u3089\u306B\u8868\u793A","\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u30B5\u30A4\u30BA\u3092\u30EA\u30BB\u30C3\u30C8"],"vs/editor/contrib/suggest/suggestWidget":["\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u80CC\u666F\u8272\u3002","\u5019\u88DC\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u5883\u754C\u7DDA\u8272\u3002","\u5019\u88DC\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u524D\u666F\u8272\u3002","\u5019\u88DC\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u5185\u3067\u9078\u629E\u6E08\u307F\u30A8\u30F3\u30C8\u30EA\u306E\u80CC\u666F\u8272\u3002","\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u5185\u3067\u4E00\u81F4\u3057\u305F\u30CF\u30A4\u30E9\u30A4\u30C8\u306E\u8272\u3002","\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...","\u5019\u88DC\u306F\u3042\u308A\u307E\u305B\u3093\u3002","{0}\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8: {1}","\u63D0\u6848"],"vs/editor/contrib/suggest/suggestWidgetDetails":["\u9589\u3058\u308B","\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["\u63D0\u6848\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u8A73\u7D30\u60C5\u5831\u306E\u30A2\u30A4\u30B3\u30F3\u3002","\u8A73\u7D30\u3092\u53C2\u7167"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["\u914D\u5217\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30D6\u30FC\u30EB\u5024\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30AF\u30E9\u30B9\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u8272\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u5B9A\u6570\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u30FC\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u5217\u6319\u5B50\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u5217\u6319\u5B50\u30E1\u30F3\u30D0\u30FC\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30A4\u30D9\u30F3\u30C8\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30D5\u30A3\u30FC\u30EB\u30C9\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30D5\u30A1\u30A4\u30EB\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30D5\u30A9\u30EB\u30C0\u30FC\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u95A2\u6570\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30AD\u30FC\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30AD\u30FC\u30EF\u30FC\u30C9\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30E1\u30BD\u30C3\u30C9\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30E2\u30B8\u30E5\u30FC\u30EB\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u540D\u524D\u7A7A\u9593\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","Null \u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6570\u5024\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6F14\u7B97\u5B50\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30D1\u30C3\u30B1\u30FC\u30B8\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30D7\u30ED\u30D1\u30C6\u30A3\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u53C2\u7167\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30B9\u30CB\u30DA\u30C3\u30C8\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u6587\u5B57\u5217\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u69CB\u9020\u4F53\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30C6\u30AD\u30B9\u30C8\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u5358\u4F4D\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002","\u5909\u6570\u8A18\u53F7\u306E\u524D\u666F\u8272\u3002\u3053\u308C\u3089\u306E\u8A18\u53F7\u306F\u3001\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3001\u968E\u5C64\u30EA\u30F3\u30AF\u3001\u304A\u3088\u3073\u5019\u88DC\u306E\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Tab \u30AD\u30FC\u3092\u5207\u308A\u66FF\u3048\u308B\u3068\u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u79FB\u52D5\u3057\u307E\u3059","Tab \u30AD\u30FC\u3092\u62BC\u3059\u3068\u3001\u6B21\u306E\u30D5\u30A9\u30FC\u30AB\u30B9\u53EF\u80FD\u306A\u8981\u7D20\u306B\u30D5\u30A9\u30FC\u30AB\u30B9\u3092\u79FB\u52D5\u3057\u307E\u3059","Tab \u30AD\u30FC\u3092\u62BC\u3059\u3068\u3001\u30BF\u30D6\u6587\u5B57\u304C\u633F\u5165\u3055\u308C\u307E\u3059"],"vs/editor/contrib/tokenization/tokenization":["\u958B\u767A\u8005: \u30C8\u30FC\u30AF\u30F3\u518D\u4F5C\u6210\u306E\u5F37\u5236"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["\u666E\u901A\u3067\u306F\u306A\u3044\u884C\u7D42\u7AEF\u8A18\u53F7","\u666E\u901A\u3067\u306F\u306A\u3044\u884C\u7D42\u7AEF\u8A18\u53F7\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F",`\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u306F\u3001\u884C\u533A\u5207\u308A\u6587\u5B57 (LS) \u3084\u6BB5\u843D\u533A\u5207\u308A\u8A18\u53F7 (PS) \u306A\u3069\u306E\u7279\u6B8A\u306A\u884C\u306E\u7D42\u7AEF\u6587\u5B57\u304C 1 \u3064\u4EE5\u4E0A\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\r +\r +\u305D\u308C\u3089\u306E\u7D42\u7AEF\u6587\u5B57\u306F\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u524A\u9664\u3059\u308B\u3053\u3068\u3092\u304A\u52E7\u3081\u3057\u307E\u3059\u3002\u3053\u308C\u306F 'editor.unusualLineTerminators' \u3092\u4F7F\u7528\u3057\u3066\u69CB\u6210\u3067\u304D\u307E\u3059\u3002`,"\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4FEE\u6B63","\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u554F\u984C\u3092\u7121\u8996\u3059\u308B"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["\u5909\u6570\u306E\u8AAD\u307F\u53D6\u308A\u306A\u3069\u3001\u8AAD\u307F\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u4E2D\u306E\u30B7\u30F3\u30DC\u30EB\u306E\u80CC\u666F\u8272\u3002\u4E0B\u306B\u3042\u308B\u88C5\u98FE\u3092\u96A0\u3055\u306A\u3044\u305F\u3081\u306B\u3001\u8272\u306F\u4E0D\u900F\u904E\u3067\u3042\u3063\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002","\u5909\u6570\u3078\u306E\u66F8\u304D\u8FBC\u307F\u306A\u3069\u3001\u66F8\u304D\u8FBC\u307F\u30A2\u30AF\u30BB\u30B9\u4E2D\u306E\u30B7\u30F3\u30DC\u30EB\u80CC\u666F\u8272\u3002\u4E0B\u306B\u3042\u308B\u88C5\u98FE\u3092\u96A0\u3055\u306A\u3044\u305F\u3081\u306B\u3001\u8272\u306F\u4E0D\u900F\u904E\u3067\u3042\u3063\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002","\u5909\u6570\u306E\u8AAD\u307F\u53D6\u308A\u306A\u3069\u8AAD\u307F\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u4E2D\u306E\u30B7\u30F3\u30DC\u30EB\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u5909\u6570\u3078\u306E\u66F8\u304D\u8FBC\u307F\u306A\u3069\u66F8\u304D\u8FBC\u307F\u30A2\u30AF\u30BB\u30B9\u4E2D\u306E\u30B7\u30F3\u30DC\u30EB\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u30B7\u30F3\u30DC\u30EB\u306B\u3088\u3063\u3066\u5F37\u8ABF\u8868\u793A\u3055\u308C\u308B\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u30DE\u30FC\u30AB\u30FC\u306E\u8272\u3002\u30DE\u30FC\u30AB\u30FC\u306E\u8272\u306F\u3001\u57FA\u306B\u306A\u308B\u88C5\u98FE\u3092\u96A0\u3055\u306A\u3044\u3088\u3046\u306B\u4E0D\u900F\u660E\u4EE5\u5916\u306B\u3057\u307E\u3059\u3002","\u66F8\u304D\u8FBC\u307F\u30A2\u30AF\u30BB\u30B9 \u30B7\u30F3\u30DC\u30EB\u3092\u5F37\u8ABF\u8868\u793A\u3059\u308B\u6982\u8981\u30EB\u30FC\u30E9\u30FC\u306E\u30DE\u30FC\u30AB\u30FC\u8272\u3002\u4E0B\u306B\u3042\u308B\u88C5\u98FE\u3092\u96A0\u3055\u306A\u3044\u305F\u3081\u306B\u3001\u8272\u306F\u4E0D\u900F\u904E\u3067\u3042\u3063\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002","\u6B21\u306E\u30B7\u30F3\u30DC\u30EB \u30CF\u30A4\u30E9\u30A4\u30C8\u306B\u79FB\u52D5","\u524D\u306E\u30B7\u30F3\u30DC\u30EB \u30CF\u30A4\u30E9\u30A4\u30C8\u306B\u79FB\u52D5","\u30B7\u30F3\u30DC\u30EB \u30CF\u30A4\u30E9\u30A4\u30C8\u3092\u30C8\u30EA\u30AC\u30FC"],"vs/editor/contrib/wordOperations/wordOperations":["\u5358\u8A9E\u306E\u524A\u9664"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["\u65E2\u5B9A\u306E\u8A00\u8A9E\u69CB\u6210\u306E\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9","\u8A00\u8A9E\u306B\u5BFE\u3057\u3066\u4E0A\u66F8\u304D\u3055\u308C\u308B\u30A8\u30C7\u30A3\u30BF\u30FC\u8A2D\u5B9A\u3092\u69CB\u6210\u3057\u307E\u3059\u3002","\u3053\u306E\u8A2D\u5B9A\u3067\u306F\u3001\u8A00\u8A9E\u3054\u3068\u306E\u69CB\u6210\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002","\u7A7A\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u306F\u767B\u9332\u3067\u304D\u307E\u305B\u3093","'{0}' \u3092\u767B\u9332\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u308C\u306F\u3001\u8A00\u8A9E\u56FA\u6709\u306E\u30A8\u30C7\u30A3\u30BF\u30FC\u8A2D\u5B9A\u3092\u8A18\u8FF0\u3059\u308B\u30D7\u30ED\u30D1\u30C6\u30A3 \u30D1\u30BF\u30FC\u30F3 '\\\\[.*\\\\]$' \u306B\u4E00\u81F4\u3057\u3066\u3044\u307E\u3059\u3002'configurationDefaults' \u30B3\u30F3\u30C8\u30EA\u30D3\u30E5\u30FC\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002","'{0}' \u3092\u767B\u9332\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u306F\u65E2\u306B\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u3059\u3002"],"vs/platform/contextkey/browser/contextKeyService":["\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30AD\u30FC\u306B\u95A2\u3059\u308B\u60C5\u5831\u3092\u8FD4\u3059\u30B3\u30DE\u30F3\u30C9"],"vs/platform/contextkey/common/contextkeys":["Whether the operating system is Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["({0}) \u304C\u6E21\u3055\u308C\u307E\u3057\u305F\u30022 \u756A\u76EE\u306E\u30AD\u30FC\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...","\u30AD\u30FC\u306E\u7D44\u307F\u5408\u308F\u305B ({0}\u3001{1}) \u306F\u30B3\u30DE\u30F3\u30C9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002"],"vs/platform/list/browser/listService":["\u30EF\u30FC\u30AF\u30D9\u30F3\u30C1","Windows \u304A\u3088\u3073 Linux \u4E0A\u306E `Control` \u30AD\u30FC\u3068 macOS \u4E0A\u306E `Command` \u30AD\u30FC\u306B\u5272\u308A\u5F53\u3066\u307E\u3059\u3002","Windows \u304A\u3088\u3073 Linux \u4E0A\u306E `Alt` \u30AD\u30FC\u3068 macOS \u4E0A\u306E `Option` \u30AD\u30FC\u306B\u5272\u308A\u5F53\u3066\u307E\u3059\u3002","\u30DE\u30A6\u30B9\u3092\u4F7F\u7528\u3057\u3066\u9805\u76EE\u3092\u8907\u6570\u9078\u629E\u3059\u308B\u3068\u304D\u306B\u4F7F\u7528\u3059\u308B\u4FEE\u98FE\u30AD\u30FC\u3067\u3059 (\u305F\u3068\u3048\u3070\u3001\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30E9\u30FC\u3067\u30A8\u30C7\u30A3\u30BF\u30FC\u3068 scm \u30D3\u30E5\u30FC\u3092\u958B\u304F\u306A\u3069)\u3002'\u6A2A\u306B\u4E26\u3079\u3066\u958B\u304F' \u30DE\u30A6\u30B9 \u30B8\u30A7\u30B9\u30C1\u30E3\u30FC (\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u5834\u5408) \u306F\u3001\u8907\u6570\u9078\u629E\u306E\u4FEE\u98FE\u30AD\u30FC\u3068\u7AF6\u5408\u3057\u306A\u3044\u3088\u3046\u306B\u8ABF\u6574\u3055\u308C\u307E\u3059\u3002","\u30DE\u30A6\u30B9\u3092\u4F7F\u7528\u3057\u3066\u3001\u30C4\u30EA\u30FC\u3068\u30EA\u30B9\u30C8\u5185\u306E\u9805\u76EE\u3092\u958B\u304F\u65B9\u6CD5\u3092\u5236\u5FA1\u3057\u307E\u3059 (\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u5834\u5408)\u3002\u9069\u7528\u3067\u304D\u306A\u3044\u5834\u5408\u3001\u4E00\u90E8\u306E\u30C4\u30EA\u30FC\u3084\u30EA\u30B9\u30C8\u3067\u306F\u3053\u306E\u8A2D\u5B9A\u304C\u7121\u8996\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002","\u30EA\u30B9\u30C8\u3068\u30C4\u30EA\u30FC\u304C\u30EF\u30FC\u30AF\u30D9\u30F3\u30C1\u3067\u6C34\u5E73\u30B9\u30AF\u30ED\u30FC\u30EB\u3092\u30B5\u30DD\u30FC\u30C8\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u8B66\u544A: \u3053\u306E\u8A2D\u5B9A\u3092\u30AA\u30F3\u306B\u3059\u308B\u3068\u3001\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u304C\u3042\u308A\u307E\u3059\u3002","\u30C4\u30EA\u30FC\u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u3092\u30D4\u30AF\u30BB\u30EB\u5358\u4F4D\u3067\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30C4\u30EA\u30FC\u3067\u30A4\u30F3\u30B7\u30C7\u30F3\u30C8\u306E\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u30EA\u30B9\u30C8\u3068\u30C4\u30EA\u30FC\u3067\u30B9\u30E0\u30FC\u30BA \u30B9\u30AF\u30ED\u30FC\u30EB\u3092\u4F7F\u7528\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002","\u7C21\u5358\u306A\u30AD\u30FC\u30DC\u30FC\u30C9 \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u306F\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u5165\u529B\u306B\u4E00\u81F4\u3059\u308B\u8981\u7D20\u306B\u7126\u70B9\u3092\u5F53\u3066\u307E\u3059\u3002\u4E00\u81F4\u51E6\u7406\u306F\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u3067\u306E\u307F\u5B9F\u884C\u3055\u308C\u307E\u3059\u3002","\u30AD\u30FC\u30DC\u30FC\u30C9 \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u306E\u5F37\u8ABF\u8868\u793A\u3092\u4F7F\u7528\u3059\u308B\u3068\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u5165\u529B\u306B\u4E00\u81F4\u3059\u308B\u8981\u7D20\u304C\u5F37\u8ABF\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4E0A\u304A\u3088\u3073\u4E0B\u3078\u306E\u79FB\u52D5\u306F\u3001\u5F37\u8ABF\u8868\u793A\u3055\u308C\u3066\u3044\u308B\u8981\u7D20\u306E\u307F\u3092\u79FB\u52D5\u3057\u307E\u3059\u3002","\u30AD\u30FC\u30DC\u30FC\u30C9 \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3067\u306F\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u5165\u529B\u306B\u4E00\u81F4\u3057\u306A\u3044\u3059\u3079\u3066\u306E\u8981\u7D20\u304C\u30D5\u30A3\u30EB\u30BF\u30FC\u51E6\u7406\u3055\u308C\u3001\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002","\u30EF\u30FC\u30AF\u30D9\u30F3\u30C1\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u30C4\u30EA\u30FC\u306E\u30AD\u30FC\u30DC\u30FC\u30C9 \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3 \u30B9\u30BF\u30A4\u30EB\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u5358\u7D14\u3001\u5F37\u8ABF\u8868\u793A\u3001\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002","\u30EA\u30B9\u30C8\u3084\u30C4\u30EA\u30FC\u3067\u306E\u30AD\u30FC\u30DC\u30FC\u30C9 \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u3092\u3001\u5358\u306B\u5165\u529B\u3059\u308B\u3060\u3051\u3067\u81EA\u52D5\u7684\u306B\u30C8\u30EA\u30AC\u30FC\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002`false` \u306B\u8A2D\u5B9A\u3057\u305F\u5834\u5408\u3001\u30AD\u30FC\u30DC\u30FC\u30C9 \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u306F `list.toggleKeyboardNavigation` \u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u305F\u3068\u304D\u306B\u306E\u307F\u30C8\u30EA\u30AC\u30FC\u3055\u308C\u307E\u3059\u3002\u3053\u308C\u306B\u5BFE\u3057\u3066\u30AD\u30FC\u30DC\u30FC\u30C9 \u30B7\u30E7\u30FC\u30C8\u30AB\u30C3\u30C8\u3092\u5272\u308A\u5F53\u3066\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u305F\u3068\u304D\u306B\u30C4\u30EA\u30FC \u30D5\u30A9\u30EB\u30C0\u30FC\u304C\u5C55\u958B\u3055\u308C\u308B\u65B9\u6CD5\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002\u9069\u7528\u3067\u304D\u306A\u3044\u5834\u5408\u3001\u4E00\u90E8\u306E\u30C4\u30EA\u30FC\u3084\u30EA\u30B9\u30C8\u3067\u306F\u3053\u306E\u8A2D\u5B9A\u304C\u7121\u8996\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002"],"vs/platform/markers/common/markers":["\u30A8\u30E9\u30FC","\u8B66\u544A","\u60C5\u5831"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","\u6700\u8FD1\u4F7F\u7528\u3057\u305F\u3082\u306E","\u305D\u306E\u4ED6\u306E\u30B3\u30DE\u30F3\u30C9","\u30B3\u30DE\u30F3\u30C9 '{0}' \u3067\u30A8\u30E9\u30FC ({1}) \u304C\u767A\u751F\u3057\u307E\u3057\u305F"],"vs/platform/quickinput/browser/helpQuickAccess":["\u30B0\u30ED\u30FC\u30D0\u30EB \u30B3\u30DE\u30F3\u30C9","\u30A8\u30C7\u30A3\u30BF\u30FC \u30B3\u30DE\u30F3\u30C9","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["\u5168\u4F53\u306E\u524D\u666F\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306B\u3088\u3063\u3066\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306B\u306E\u307F\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30A8\u30E9\u30FC \u30E1\u30C3\u30BB\u30FC\u30B8\u5168\u4F53\u306E\u524D\u666F\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306B\u3088\u3063\u3066\u4E0A\u66F8\u304D\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306B\u306E\u307F\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30EF\u30FC\u30AF\u30D9\u30F3\u30C1\u306E\u30A2\u30A4\u30B3\u30F3\u306E\u65E2\u5B9A\u306E\u8272\u3002","\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u305F\u8981\u7D20\u306E\u5883\u754C\u7DDA\u5168\u4F53\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306B\u3088\u3063\u3066\u4E0A\u66F8\u304D\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306B\u306E\u307F\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30B3\u30F3\u30C8\u30E9\u30B9\u30C8\u3092\u5F37\u3081\u308B\u305F\u3081\u306B\u3001\u4ED6\u306E\u8981\u7D20\u3068\u9694\u3066\u308B\u8FFD\u52A0\u306E\u5883\u754C\u7DDA\u3002","\u30B3\u30F3\u30C8\u30E9\u30B9\u30C8\u3092\u5F37\u3081\u308B\u305F\u3081\u306B\u3001\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u4ED6\u8981\u7D20\u3068\u9694\u3066\u308B\u8FFD\u52A0\u306E\u5883\u754C\u7DDA\u3002","\u30C6\u30AD\u30B9\u30C8\u5185\u306E\u30EA\u30F3\u30AF\u306E\u524D\u666F\u8272\u3002","\u30C6\u30AD\u30B9\u30C8\u5185\u306E\u30B3\u30FC\u30C9 \u30D6\u30ED\u30C3\u30AF\u306E\u80CC\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u5185\u306E\u691C\u7D22/\u7F6E\u63DB\u7A93\u306A\u3069\u3001\u30A8\u30C7\u30A3\u30BF\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u5F71\u306E\u8272\u3002","\u5165\u529B\u30DC\u30C3\u30AF\u30B9\u306E\u80CC\u666F\u3002","\u5165\u529B\u30DC\u30C3\u30AF\u30B9\u306E\u524D\u666F\u3002","\u5165\u529B\u30DC\u30C3\u30AF\u30B9\u306E\u5883\u754C\u7DDA\u3002","\u5165\u529B\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30A2\u30AF\u30C6\u30A3\u30D6 \u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u5165\u529B\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u30A2\u30AF\u30C6\u30A3\u30D6\u5316\u3055\u308C\u305F\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u80CC\u666F\u8272\u3002","\u5165\u529B\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u30A2\u30AF\u30C6\u30A3\u30D6\u5316\u3055\u308C\u305F\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u524D\u666F\u8272\u3002","\u60C5\u5831\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u80CC\u666F\u8272\u3002","\u60C5\u5831\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u524D\u666F\u8272\u3002","\u60C5\u5831\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u5883\u754C\u7DDA\u8272\u3002","\u8B66\u544A\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u80CC\u666F\u8272\u3002","\u8B66\u544A\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u524D\u666F\u8272\u3002","\u8B66\u544A\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u5883\u754C\u7DDA\u8272\u3002","\u30A8\u30E9\u30FC\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u80CC\u666F\u8272\u3002","\u30A8\u30E9\u30FC\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u524D\u666F\u8272\u3002","\u30A8\u30E9\u30FC\u306E\u91CD\u5927\u5EA6\u3092\u793A\u3059\u5165\u529B\u691C\u8A3C\u306E\u5883\u754C\u7DDA\u8272\u3002","\u30C9\u30ED\u30C3\u30D7\u30C0\u30A6\u30F3\u306E\u80CC\u666F\u3002","\u30C9\u30ED\u30C3\u30D7\u30C0\u30A6\u30F3\u306E\u524D\u666F\u3002","\u30DC\u30BF\u30F3\u306E\u524D\u666F\u8272\u3002","\u30DC\u30BF\u30F3\u306E\u80CC\u666F\u8272\u3002","\u30DB\u30D0\u30FC\u6642\u306E\u30DC\u30BF\u30F3\u80CC\u666F\u8272\u3002","\u30D0\u30C3\u30B8\u306E\u80CC\u666F\u8272\u3002\u30D0\u30C3\u30B8\u3068\u306F\u5C0F\u3055\u306A\u60C5\u5831\u30E9\u30D9\u30EB\u306E\u3053\u3068\u3067\u3059\u3002\u4F8B:\u691C\u7D22\u7D50\u679C\u306E\u6570","\u30D0\u30C3\u30B8\u306E\u524D\u666F\u8272\u3002\u30D0\u30C3\u30B8\u3068\u306F\u5C0F\u3055\u306A\u60C5\u5831\u30E9\u30D9\u30EB\u306E\u3053\u3068\u3067\u3059\u3002\u4F8B:\u691C\u7D22\u7D50\u679C\u306E\u6570","\u30D3\u30E5\u30FC\u304C\u30B9\u30AF\u30ED\u30FC\u30EB\u3055\u308C\u305F\u3053\u3068\u3092\u793A\u3059\u30B9\u30AF\u30ED\u30FC\u30EB \u30D0\u30FC\u306E\u5F71\u3002","\u30B9\u30AF\u30ED\u30FC\u30EB \u30D0\u30FC\u306E\u30B9\u30E9\u30A4\u30C0\u30FC\u306E\u80CC\u666F\u8272\u3002","\u30DB\u30D0\u30FC\u6642\u306E\u30B9\u30AF\u30ED\u30FC\u30EB \u30D0\u30FC \u30B9\u30E9\u30A4\u30C0\u30FC\u80CC\u666F\u8272\u3002","\u30AF\u30EA\u30C3\u30AF\u6642\u306E\u30B9\u30AF\u30ED\u30FC\u30EB \u30D0\u30FC \u30B9\u30E9\u30A4\u30C0\u30FC\u80CC\u666F\u8272\u3002","\u6642\u9593\u306E\u304B\u304B\u308B\u64CD\u4F5C\u3067\u8868\u793A\u3059\u308B\u30D7\u30ED\u30B0\u30EC\u30B9 \u30D0\u30FC\u306E\u80CC\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u5185\u306E\u30A8\u30E9\u30FC \u30C6\u30AD\u30B9\u30C8\u306E\u80CC\u666F\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30A8\u30E9\u30FC\u3092\u793A\u3059\u6CE2\u7DDA\u306E\u524D\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u5185\u306E\u30A8\u30E9\u30FC \u30DC\u30C3\u30AF\u30B9\u306E\u5883\u754C\u7DDA\u306E\u8272\u3067\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u5185\u306E\u8B66\u544A\u30C6\u30AD\u30B9\u30C8\u306E\u80CC\u666F\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u8B66\u544A\u3092\u793A\u3059\u6CE2\u7DDA\u306E\u524D\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u306E\u8B66\u544A\u30DC\u30C3\u30AF\u30B9\u306E\u5883\u754C\u7DDA\u306E\u8272\u3067\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u5185\u306E\u60C5\u5831\u30C6\u30AD\u30B9\u30C8\u306E\u80CC\u666F\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u60C5\u5831\u3092\u793A\u3059\u6CE2\u7DDA\u306E\u524D\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u5185\u306E\u60C5\u5831\u30DC\u30C3\u30AF\u30B9\u306E\u5883\u754C\u7DDA\u306E\u8272\u3067\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u30D2\u30F3\u30C8\u3092\u793A\u3059\u6CE2\u7DDA\u306E\u524D\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u5185\u306E\u30D2\u30F3\u30C8 \u30DC\u30C3\u30AF\u30B9\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u80CC\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u65E2\u5B9A\u306E\u524D\u666F\u8272\u3002","\u691C\u7D22/\u7F6E\u63DB\u7A93\u306A\u3069\u3001\u30A8\u30C7\u30A3\u30BF\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u80CC\u666F\u8272\u3002","\u691C\u7D22/\u7F6E\u63DB\u306A\u3069\u3092\u884C\u3046\u30A8\u30C7\u30A3\u30BF\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u524D\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u5883\u754C\u7DDA\u8272\u3002\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u5883\u754C\u7DDA\u304C\u3042\u308A\u3001\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u3088\u3063\u3066\u914D\u8272\u3092\u4E0A\u66F8\u304D\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u3067\u306E\u307F\u3053\u306E\u914D\u8272\u306F\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u30D0\u30FC\u306E\u5883\u754C\u7DDA\u8272\u3002\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u30B5\u30A4\u30BA\u5909\u66F4\u306E\u5883\u754C\u7DDA\u304C\u3042\u308A\u3001\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u3088\u3063\u3066\u914D\u8272\u3092\u4E0A\u66F8\u304D\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u3067\u306E\u307F\u3053\u306E\u914D\u8272\u306F\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30AF\u30A4\u30C3\u30AF \u30D4\u30C3\u30AB\u30FC\u306E\u80CC\u666F\u8272\u3002\u30AF\u30A4\u30C3\u30AF \u30D4\u30C3\u30AB\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306F\u3001\u30B3\u30DE\u30F3\u30C9 \u30D1\u30EC\u30C3\u30C8\u306E\u3088\u3046\u306A\u30D4\u30C3\u30AB\u30FC\u306E\u30B3\u30F3\u30C6\u30CA\u30FC\u3067\u3059\u3002","\u30AF\u30A4\u30C3\u30AF \u30D4\u30C3\u30AB\u30FC\u306E\u524D\u666F\u8272\u3002\u30AF\u30A4\u30C3\u30AF \u30D4\u30C3\u30AB\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306F\u3001\u30B3\u30DE\u30F3\u30C9 \u30D1\u30EC\u30C3\u30C8\u306E\u3088\u3046\u306A\u30D4\u30C3\u30AB\u30FC\u306E\u30B3\u30F3\u30C6\u30CA\u30FC\u3067\u3059\u3002","\u30AF\u30A4\u30C3\u30AF \u30D4\u30C3\u30AB\u30FC \u306E\u30BF\u30A4\u30C8\u30EB\u306E\u80CC\u666F\u8272\u3002\u30AF\u30A4\u30C3\u30AF \u30D4\u30C3\u30AB\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306F\u3001\u30B3\u30DE\u30F3\u30C9 \u30D1\u30EC\u30C3\u30C8\u306E\u3088\u3046\u306A\u30D4\u30C3\u30AB\u30FC\u306E\u30B3\u30F3\u30C6\u30CA\u30FC\u3067\u3059\u3002","\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u305F\u9805\u76EE\u306E\u30AF\u30A4\u30C3\u30AF\u9078\u629E\u306E\u80CC\u666F\u8272\u3002","\u30E9\u30D9\u30EB\u3092\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\u305F\u3081\u306E\u30AF\u30EA\u30C3\u30AF\u9078\u629E\u306E\u8272\u3002","\u5883\u754C\u7DDA\u3092\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\u305F\u3081\u306E\u30AF\u30A4\u30C3\u30AF\u9078\u629E\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u9078\u629E\u7BC4\u56F2\u306E\u8272\u3002","\u30CF\u30A4 \u30B3\u30F3\u30C8\u30E9\u30B9\u30C8\u306E\u9078\u629E\u6E08\u307F\u30C6\u30AD\u30B9\u30C8\u306E\u8272\u3002","\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u9078\u629E\u7BC4\u56F2\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u9078\u629E\u7BC4\u56F2\u306E\u540C\u3058\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u9818\u57DF\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u9078\u629E\u7BC4\u56F2\u3068\u540C\u3058\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u73FE\u5728\u306E\u691C\u7D22\u4E00\u81F4\u9805\u76EE\u306E\u8272\u3002","\u305D\u306E\u4ED6\u306E\u691C\u7D22\u6761\u4EF6\u306B\u4E00\u81F4\u3059\u308B\u9805\u76EE\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u691C\u7D22\u3092\u5236\u9650\u3059\u308B\u7BC4\u56F2\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u73FE\u5728\u306E\u691C\u7D22\u4E00\u81F4\u9805\u76EE\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u4ED6\u306E\u691C\u7D22\u4E00\u81F4\u9805\u76EE\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u691C\u7D22\u3092\u5236\u9650\u3059\u308B\u7BC4\u56F2\u306E\u5883\u754C\u7DDA\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u30DB\u30D0\u30FC\u304C\u8868\u793A\u3055\u308C\u3066\u3044\u308B\u8A9E\u306E\u4E0B\u3092\u5F37\u8ABF\u8868\u793A\u3057\u307E\u3059\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC \u30DB\u30D0\u30FC\u306E\u80CC\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC \u30DB\u30D0\u30FC\u306E\u524D\u666F\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC \u30DB\u30D0\u30FC\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u30DB\u30D0\u30FC\u306E\u30B9\u30C6\u30FC\u30BF\u30B9 \u30D0\u30FC\u306E\u80CC\u666F\u8272\u3002","\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30EA\u30F3\u30AF\u306E\u8272\u3002","\u30A4\u30F3\u30E9\u30A4\u30F3 \u30D2\u30F3\u30C8\u306E\u524D\u666F\u8272","\u30A4\u30F3\u30E9\u30A4\u30F3 \u30D2\u30F3\u30C8\u306E\u80CC\u666F\u8272","\u96FB\u7403\u30A2\u30AF\u30B7\u30E7\u30F3 \u30A2\u30A4\u30B3\u30F3\u306B\u4F7F\u7528\u3059\u308B\u8272\u3002","\u81EA\u52D5\u4FEE\u6B63\u306E\u96FB\u7403\u30A2\u30AF\u30B7\u30E7\u30F3 \u30A2\u30A4\u30B3\u30F3\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u308B\u8272\u3002","\u633F\u5165\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8\u306E\u80CC\u666F\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u524A\u9664\u3057\u305F\u30C6\u30AD\u30B9\u30C8\u306E\u80CC\u666F\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u633F\u5165\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8\u306E\u8F2A\u90ED\u306E\u8272\u3002","\u524A\u9664\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8\u306E\u8F2A\u90ED\u306E\u8272\u3002","2 \u3064\u306E\u30C6\u30AD\u30B9\u30C8 \u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u9593\u306E\u5883\u754C\u7DDA\u306E\u8272\u3002","\u5DEE\u5206\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u5BFE\u89D2\u7DDA\u306E\u5857\u308A\u3064\u3076\u3057\u8272\u3002\u5BFE\u89D2\u7DDA\u306E\u5857\u308A\u3064\u3076\u3057\u306F\u3001\u6A2A\u306B\u4E26\u3079\u3066\u6BD4\u8F03\u3059\u308B\u30D3\u30E5\u30FC\u3067\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u304C\u30A2\u30AF\u30C6\u30A3\u30D6\u306E\u3068\u304D\u3001\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u305F\u9805\u76EE\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u80CC\u666F\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u304C\u30A2\u30AF\u30C6\u30A3\u30D6\u306E\u3068\u304D\u3001\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u305F\u9805\u76EE\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u524D\u666F\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30EA\u30B9\u30C8\u3084\u30C4\u30EA\u30FC\u304C\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u5834\u5408\u306E\u3001\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u305F\u9805\u76EE\u306E\u30EA\u30B9\u30C8\u3084\u30C4\u30EA\u30FC\u306E\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30EA\u30B9\u30C8\u3084\u30C4\u30EA\u30FC\u306B\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u304C\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306E\u3068\u304D\u3001\u9078\u629E\u3055\u308C\u305F\u9805\u76EE\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u80CC\u666F\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u304C\u30A2\u30AF\u30C6\u30A3\u30D6\u306E\u3068\u304D\u3001\u9078\u629E\u3055\u308C\u305F\u9805\u76EE\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u524D\u666F\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u304C\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306E\u3068\u304D\u3001\u9078\u629E\u3055\u308C\u305F\u9805\u76EE\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u80CC\u666F\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u304C\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306E\u3068\u304D\u3001\u9078\u629E\u3055\u308C\u305F\u9805\u76EE\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u524D\u666F\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u304C\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306E\u3068\u304D\u3001\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u305F\u9805\u76EE\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u80CC\u666F\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30EA\u30B9\u30C8\u3084\u30C4\u30EA\u30FC\u304C\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u5834\u5408\u306E\u3001\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u305F\u9805\u76EE\u306E\u30EA\u30B9\u30C8\u3084\u30C4\u30EA\u30FC\u306E\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u8272\u3002\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30EA\u30B9\u30C8\u3084\u30C4\u30EA\u30FC\u306B\u306F\u30AD\u30FC\u30DC\u30FC\u30C9 \u30D5\u30A9\u30FC\u30AB\u30B9\u304C\u3042\u308A\u3001\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u306F\u3053\u308C\u304C\u3042\u308A\u307E\u305B\u3093\u3002","\u30DE\u30A6\u30B9\u64CD\u4F5C\u3067\u9805\u76EE\u3092\u30DB\u30D0\u30FC\u3059\u308B\u3068\u304D\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u80CC\u666F\u3002","\u30DE\u30A6\u30B9\u64CD\u4F5C\u3067\u9805\u76EE\u3092\u30DB\u30D0\u30FC\u3059\u308B\u3068\u304D\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u524D\u666F\u3002","\u30DE\u30A6\u30B9\u64CD\u4F5C\u3067\u9805\u76EE\u3092\u79FB\u52D5\u3059\u308B\u3068\u304D\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8 \u30C9\u30E9\u30C3\u30B0 \u30A2\u30F3\u30C9 \u30C9\u30ED\u30C3\u30D7\u306E\u80CC\u666F\u3002","\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u5185\u3092\u691C\u7D22\u3057\u3066\u3044\u308B\u3068\u304D\u3001\u4E00\u81F4\u3057\u305F\u5F37\u8ABF\u306E\u30C4\u30EA\u30FC\u30EA\u30B9\u30C8\u524D\u666F\u8272\u3002","\u30EA\u30B9\u30C8\u304A\u3088\u3073\u30C4\u30EA\u30FC\u306E\u578B\u30D5\u30A3\u30EB\u30BF\u30FC \u30A6\u30A7\u30B8\u30A7\u30C3\u30C8\u306E\u80CC\u666F\u8272\u3002","\u30EA\u30B9\u30C8\u304A\u3088\u3073\u30C4\u30EA\u30FC\u306E\u578B\u30D5\u30A3\u30EB\u30BF\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u8272\u3002","\u4E00\u81F4\u9805\u76EE\u304C\u306A\u3044\u5834\u5408\u306E\u3001\u30EA\u30B9\u30C8\u304A\u3088\u3073\u30C4\u30EA\u30FC\u306E\u578B\u30D5\u30A3\u30EB\u30BF\u30FC \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u8272\u3002","\u30A4\u30F3\u30C7\u30F3\u30C8 \u30AC\u30A4\u30C9\u306E\u30C4\u30EA\u30FC \u30B9\u30C8\u30ED\u30FC\u30AF\u306E\u8272\u3002","\u30A4\u30F3\u30C7\u30F3\u30C8 \u30AC\u30A4\u30C9\u306E\u30C4\u30EA\u30FC \u30B9\u30C8\u30ED\u30FC\u30AF\u306E\u8272\u3002","\u30E1\u30CB\u30E5\u30FC\u306E\u5883\u754C\u7DDA\u8272\u3002","\u30E1\u30CB\u30E5\u30FC\u9805\u76EE\u306E\u524D\u666F\u8272\u3002","\u30E1\u30CB\u30E5\u30FC\u9805\u76EE\u306E\u80CC\u666F\u8272\u3002","\u30E1\u30CB\u30E5\u30FC\u3067\u9078\u629E\u3055\u308C\u305F\u30E1\u30CB\u30E5\u30FC\u9805\u76EE\u306E\u524D\u666F\u8272\u3002","\u30E1\u30CB\u30E5\u30FC\u3067\u9078\u629E\u3055\u308C\u305F\u30E1\u30CB\u30E5\u30FC\u9805\u76EE\u306E\u80CC\u666F\u8272\u3002","\u30E1\u30CB\u30E5\u30FC\u3067\u9078\u629E\u3055\u308C\u305F\u30E1\u30CB\u30E5\u30FC\u9805\u76EE\u306E\u5883\u754C\u7DDA\u8272\u3002","\u30E1\u30CB\u30E5\u30FC\u5185\u306E\u30E1\u30CB\u30E5\u30FC\u9805\u76EE\u306E\u5883\u754C\u7DDA\u8272\u3002","\u30B9\u30CB\u30DA\u30C3\u30C8 tabstop \u306E\u80CC\u666F\u8272\u3092\u5F37\u8ABF\u8868\u793A\u3057\u307E\u3059\u3002","\u30B9\u30CB\u30DA\u30C3\u30C8 tabstop \u306E\u5883\u754C\u7DDA\u306E\u8272\u3092\u5F37\u8ABF\u8868\u793A\u3057\u307E\u3059\u3002","\u30B9\u30CB\u30DA\u30C3\u30C8\u306E\u6700\u5F8C\u306E tabstop \u306E\u80CC\u666F\u8272\u3092\u5F37\u8ABF\u8868\u793A\u3057\u307E\u3059\u3002","\u30B9\u30CB\u30DA\u30C3\u30C8\u306E\u6700\u5F8C\u306E\u30BF\u30D6\u30B9\u30C8\u30C3\u30D7\u3067\u5883\u754C\u7DDA\u306E\u8272\u3092\u5F37\u8ABF\u8868\u793A\u3057\u307E\u3059\u3002","\u691C\u51FA\u3055\u308C\u305F\u4E00\u81F4\u9805\u76EE\u306E\u6982\u8981\u30EB\u30FC\u30E9\u30FC \u30DE\u30FC\u30AB\u30FC\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u9078\u629E\u7BC4\u56F2\u3092\u5F37\u8ABF\u8868\u793A\u3059\u308B\u305F\u3081\u306E\u6982\u8981\u30EB\u30FC\u30E9\u30FC \u30DE\u30FC\u30AB\u30FC\u306E\u8272\u3002\u3053\u306E\u8272\u306F\u3001\u57FA\u672C\u88C5\u98FE\u304C\u975E\u8868\u793A\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u4E0D\u900F\u660E\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","\u4E00\u81F4\u3092\u691C\u7D22\u3059\u308B\u305F\u3081\u306E\u30DF\u30CB\u30DE\u30C3\u30D7 \u30DE\u30FC\u30AB\u30FC\u306E\u8272\u3002","\u30A8\u30C7\u30A3\u30BF\u30FC\u306E\u9078\u629E\u7BC4\u56F2\u306E\u30DF\u30CB\u30DE\u30C3\u30D7 \u30DE\u30FC\u30AB\u30FC\u306E\u8272\u3002","\u30A8\u30E9\u30FC\u306E\u30DF\u30CB\u30DE\u30C3\u30D7 \u30DE\u30FC\u30AB\u30FC\u306E\u8272\u3002","\u8B66\u544A\u306E\u30DF\u30CB\u30DE\u30C3\u30D7 \u30DE\u30FC\u30AB\u30FC\u306E\u8272\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7\u306E\u80CC\u666F\u8272\u3002","\u30DF\u30CB\u30DE\u30C3\u30D7 \u30B9\u30E9\u30A4\u30C0\u30FC\u306E\u80CC\u666F\u8272\u3002","\u30DB\u30D0\u30FC\u30EA\u30F3\u30B0\u6642\u306E\u30DF\u30CB\u30DE\u30C3\u30D7 \u30B9\u30E9\u30A4\u30C0\u30FC\u306E\u80CC\u666F\u8272\u3002","\u30AF\u30EA\u30C3\u30AF\u3057\u305F\u3068\u304D\u306E\u30DF\u30CB\u30DE\u30C3\u30D7 \u30B9\u30E9\u30A4\u30C0\u30FC\u306E\u80CC\u666F\u8272\u3002","\u554F\u984C\u306E\u30A8\u30E9\u30FC \u30A2\u30A4\u30B3\u30F3\u306B\u4F7F\u7528\u3055\u308C\u308B\u8272\u3002","\u554F\u984C\u306E\u8B66\u544A\u30A2\u30A4\u30B3\u30F3\u306B\u4F7F\u7528\u3055\u308C\u308B\u8272\u3002","\u554F\u984C\u60C5\u5831\u30A2\u30A4\u30B3\u30F3\u306B\u4F7F\u7528\u3055\u308C\u308B\u8272\u3002"],"vs/platform/theme/common/iconRegistry":["\u4F7F\u7528\u3059\u308B\u30D5\u30A9\u30F3\u30C8\u306E ID\u3002\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u3001\u6700\u521D\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u30D5\u30A9\u30F3\u30C8\u304C\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","\u30A2\u30A4\u30B3\u30F3\u5B9A\u7FA9\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u305F\u30D5\u30A9\u30F3\u30C8\u6587\u5B57\u3002","\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306B\u3042\u308B\u9589\u3058\u308B\u30A2\u30AF\u30B7\u30E7\u30F3\u306E\u30A2\u30A4\u30B3\u30F3\u3002"],"vs/platform/undoRedo/common/undoRedoService":["\u6B21\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u9589\u3058\u3089\u308C\u3001\u30C7\u30A3\u30B9\u30AF\u4E0A\u3067\u5909\u66F4\u3055\u308C\u307E\u3057\u305F: {0}\u3002","\u4EE5\u4E0B\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4E92\u63DB\u6027\u306E\u306A\u3044\u65B9\u6CD5\u3067\u5909\u66F4\u3055\u308C\u307E\u3057\u305F: {0}\u3002","\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3067 '{0}' \u3092\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3067\u3057\u305F\u3002{1}","\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3067 '{0}' \u3092\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3067\u3057\u305F\u3002{1}","{1} \u306B\u5909\u66F4\u304C\u52A0\u3048\u3089\u308C\u305F\u305F\u3081\u3001\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3067 '{0}' \u3092\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3067\u3057\u305F","{1} \u3067\u5143\u306B\u623B\u3059\u307E\u305F\u306F\u3084\u308A\u76F4\u3057\u64CD\u4F5C\u304C\u65E2\u306B\u5B9F\u884C\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u5BFE\u3057\u3066 '{0}' \u3092\u5143\u306B\u623B\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F","\u5143\u306B\u623B\u3059\u307E\u305F\u306F\u3084\u308A\u76F4\u3057\u64CD\u4F5C\u304C\u305D\u306E\u671F\u9593\u306B\u5B9F\u884C\u4E2D\u3067\u3042\u3063\u305F\u305F\u3081\u3001\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u5BFE\u3057\u3066 '{0}' \u3092\u5143\u306B\u623B\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F","\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3067 '{0}' \u3092\u5143\u306B\u623B\u3057\u307E\u3059\u304B?","{0} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u3067\u5143\u306B\u623B\u3059","\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5143\u306B\u623B\u3059","\u30AD\u30E3\u30F3\u30BB\u30EB","\u5143\u306B\u623B\u3059\u307E\u305F\u306F\u3084\u308A\u76F4\u3057\u64CD\u4F5C\u304C\u65E2\u306B\u5B9F\u884C\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001'{0}' \u3092\u5143\u306B\u623B\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002","'{0}' \u3092\u5143\u306B\u623B\u3057\u307E\u3059\u304B?","\u5143\u306B\u623B\u3059","\u30AD\u30E3\u30F3\u30BB\u30EB","\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3067 '{0}' \u3092\u3084\u308A\u76F4\u3057\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002{1}","\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3067 '{0}' \u3092\u3084\u308A\u76F4\u3057\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002{1}","{1} \u306B\u5909\u66F4\u304C\u52A0\u3048\u3089\u308C\u305F\u305F\u3081\u3001\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3067 '{0}' \u3092\u518D\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F","{1} \u3067\u5143\u306B\u623B\u3059\u307E\u305F\u306F\u3084\u308A\u76F4\u3057\u64CD\u4F5C\u304C\u65E2\u306B\u5B9F\u884C\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u5BFE\u3057\u3066 '{0}' \u3092\u3084\u308A\u76F4\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F","\u5143\u306B\u623B\u3059\u307E\u305F\u306F\u3084\u308A\u76F4\u3057\u64CD\u4F5C\u304C\u305D\u306E\u671F\u9593\u306B\u5B9F\u884C\u4E2D\u3067\u3042\u3063\u305F\u305F\u3081\u3001\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u5BFE\u3057\u3066 '{0}' \u3092\u3084\u308A\u76F4\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F","\u5143\u306B\u623B\u3059\u307E\u305F\u306F\u3084\u308A\u76F4\u3057\u64CD\u4F5C\u304C\u65E2\u306B\u5B9F\u884C\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001'{0}' \u3092\u3084\u308A\u76F4\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002"]}); diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.js new file mode 100644 index 0000000..2286f81 --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.js @@ -0,0 +1 @@ +define("vs/editor/editor.main.nls",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["input"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Match Case","Match Whole Word","Use Regular Expression"],"vs/base/browser/ui/findinput/replaceInput":["input","Preserve Case"],"vs/base/browser/ui/iconLabel/iconLabel":["Loading..."],"vs/base/browser/ui/inputbox/inputBox":["Error: {0}","Warning: {0}","Info: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Unbound"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Clear","Disable Filter on Type","Enable Filter on Type","No elements found","Matched {0} out of {1} elements"],"vs/base/common/actions":["(empty)"],"vs/base/common/errorMessage":["{0}: {1}","A system error occurred ({0})","An unknown error occurred. Please consult the log for more details.","An unknown error occurred. Please consult the log for more details.","{0} ({1} errors in total)","An unknown error occurred. Please consult the log for more details."],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Alt","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","Super"],"vs/base/parts/quickinput/browser/quickInput":["Back","{0}/{1}","Type to narrow down results.","{0} Results","{0} Selected","OK","Custom","Back ({0})","Back"],"vs/base/parts/quickinput/browser/quickInputList":["Quick Input"],"vs/editor/browser/controller/coreCommands":["Stick to the end even when going to longer lines","Stick to the end even when going to longer lines"],"vs/editor/browser/controller/textAreaHandler":["editor","The editor is not accessible at this time. Press {0} for options."],"vs/editor/browser/core/keybindingCancellation":["Whether the editor runs a cancellable operation, e.g. like 'Peek References'"],"vs/editor/browser/editorExtensions":["&&Undo","Undo","&&Redo","Redo","&&Select All","Select All"],"vs/editor/browser/widget/codeEditorWidget":["The number of cursors has been limited to {0}."],"vs/editor/browser/widget/diffEditorWidget":["Line decoration for inserts in the diff editor.","Line decoration for removals in the diff editor.","Cannot compare files because one file is too large."],"vs/editor/browser/widget/diffReview":["Icon for 'Insert' in diff review.","Icon for 'Remove' in diff review.","Icon for 'Close' in diff review.","Close","no lines changed","1 line changed","{0} lines changed","Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}","blank","{0} unchanged line {1}","{0} original line {1} modified line {2}","+ {0} modified line {1}","- {0} original line {1}","Go to Next Difference","Go to Previous Difference"],"vs/editor/browser/widget/inlineDiffMargin":["Copy deleted lines","Copy deleted line","Copy deleted line ({0})","Revert this change","Copy deleted line ({0})"],"vs/editor/common/config/commonEditorConfig":["Editor","The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.","Remove trailing auto inserted whitespace.","Special handling for large files to disable certain memory intensive features.","Controls whether completions should be computed based on words in the document.","Only suggest words from the active document.","Suggest words from all open documents of the same language.","Suggest words from all open documents.","Controls from what documents word based completions are computed.","Semantic highlighting enabled for all color themes.","Semantic highlighting disabled for all color themes.","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.","Controls whether the semanticHighlighting is shown for the languages that support it.","Keep peek editors open even when double clicking their content or when hitting `Escape`.","Lines above this length will not be tokenized for performance reasons","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.","Controls whether the diff editor shows the diff side by side or inline.","When enabled, the diff editor ignores changes in leading or trailing whitespace.","Controls whether the diff editor shows +/- indicators for added/removed changes.","Controls whether the editor shows CodeLens.","Lines will never wrap.","Lines will wrap at the viewport width.","Lines will wrap according to the `#editor.wordWrap#` setting."],"vs/editor/common/config/editorOptions":["The editor will use platform APIs to detect when a Screen Reader is attached.","The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled.","The editor will never be optimized for usage with a Screen Reader.","Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.","Controls whether a space character is inserted when commenting.","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.","Controls whether copying without a selection copies the current line.","Controls whether the cursor should jump to find matches while typing.","Controls whether the search string in the Find Widget is seeded from the editor selection.","Never turn on Find in selection automatically (default)","Always turn on Find in selection automatically","Turn on Find in selection automatically when multiple lines of content are selected.","Controls the condition for turning on find in selection automatically.","Controls whether the Find Widget should read or modify the shared find clipboard on macOS.","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.","Controls the font size in pixels.",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.','Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.',"Show peek view of the results (default)","Go to the primary result and show a peek view","Go to the primary result and enable peek-less navigation to others","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.","Controls the behavior the 'Go to References'-command when multiple target locations exist.","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.","Controls whether the hover is shown.","Controls the delay in milliseconds after which the hover is shown.","Controls whether the hover should remain visible when mouse is moved over it.","Enables the code action lightbulb in the editor.","Enables the inline hints in the editor.","Controls font size of inline hints in the editor. When set to `0`, the 90% of `#editor.fontSize#` is used.","Controls font family of inline hints in the editor.","Controls the line height. Use 0 to compute the line height from the font size.","Controls whether the minimap is shown.","The minimap has the same size as the editor contents (and might scroll).","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).","The minimap will shrink as necessary to never be larger than the editor (no scrolling).","Controls the size of the minimap.","Controls the side where to render the minimap.","Controls when the minimap slider is shown.","Scale of content drawn in the minimap: 1, 2 or 3.","Render the actual characters on a line as opposed to color blocks.","Limit the width of the minimap to render at most a certain number of columns.","Controls the amount of space between the top edge of the editor and the first line.","Controls the amount of space between the bottom edge of the editor and the last line.","Enables a pop-up that shows parameter documentation and type information as you type.","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.","Enable quick suggestions inside strings.","Enable quick suggestions inside comments.","Enable quick suggestions outside of strings and comments.","Controls whether suggestions should automatically show up while typing.","Line numbers are not rendered.","Line numbers are rendered as absolute number.","Line numbers are rendered as distance in lines to cursor position.","Line numbers are rendered every 10 lines.","Controls the display of line numbers.","Number of monospace characters at which this editor ruler will render.","Color of this editor ruler.","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.","Insert suggestion without overwriting text right of the cursor.","Insert suggestion and overwrite text right of the cursor.","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.","Controls whether filtering and sorting suggestions accounts for small typos.","Controls whether sorting favours words that appear close to the cursor.","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).","Controls whether an active snippet prevents quick suggestions.","Controls whether to show or hide icons in suggestions.","Controls the visibility of the status bar at the bottom of the suggest widget.","Controls whether suggest details show inline with the label or only in the details widget","This setting is deprecated. The suggest widget can now be resized.","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.","When enabled IntelliSense shows `method`-suggestions.","When enabled IntelliSense shows `function`-suggestions.","When enabled IntelliSense shows `constructor`-suggestions.","When enabled IntelliSense shows `field`-suggestions.","When enabled IntelliSense shows `variable`-suggestions.","When enabled IntelliSense shows `class`-suggestions.","When enabled IntelliSense shows `struct`-suggestions.","When enabled IntelliSense shows `interface`-suggestions.","When enabled IntelliSense shows `module`-suggestions.","When enabled IntelliSense shows `property`-suggestions.","When enabled IntelliSense shows `event`-suggestions.","When enabled IntelliSense shows `operator`-suggestions.","When enabled IntelliSense shows `unit`-suggestions.","When enabled IntelliSense shows `value`-suggestions.","When enabled IntelliSense shows `constant`-suggestions.","When enabled IntelliSense shows `enum`-suggestions.","When enabled IntelliSense shows `enumMember`-suggestions.","When enabled IntelliSense shows `keyword`-suggestions.","When enabled IntelliSense shows `text`-suggestions.","When enabled IntelliSense shows `color`-suggestions.","When enabled IntelliSense shows `file`-suggestions.","When enabled IntelliSense shows `reference`-suggestions.","When enabled IntelliSense shows `customcolor`-suggestions.","When enabled IntelliSense shows `folder`-suggestions.","When enabled IntelliSense shows `typeParameter`-suggestions.","When enabled IntelliSense shows `snippet`-suggestions.","When enabled IntelliSense shows `user`-suggestions.","When enabled IntelliSense shows `issues`-suggestions.","Whether leading and trailing whitespace should always be selected.","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.","Only accept a suggestion with `Enter` when it makes a textual change.","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.","Controls the number of lines in the editor that can be read out by a screen reader. Warning: this has a performance implication for numbers larger than the default.","Editor content","Use language configurations to determine when to autoclose brackets.","Autoclose brackets only when the cursor is to the left of whitespace.","Controls whether the editor should automatically close brackets after the user adds an opening bracket.","Type over closing quotes or brackets only if they were automatically inserted.","Controls whether the editor should type over closing quotes or brackets.","Use language configurations to determine when to autoclose quotes.","Autoclose quotes only when the cursor is to the left of whitespace.","Controls whether the editor should automatically close quotes after the user adds an opening quote.","The editor will not insert indentation automatically.","The editor will keep the current line's indentation.","The editor will keep the current line's indentation and honor language defined brackets.","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.","Use language configurations to determine when to automatically surround selections.","Surround with quotes but not brackets.","Surround with brackets but not quotes.","Controls whether the editor should automatically surround selections when typing quotes or brackets.","Emulate selection behaviour of tab characters when using spaces for indentation. Selection will stick to tab stops.","Controls whether the editor shows CodeLens.","Controls the font family for CodeLens.","Controls the font size in pixels for CodeLens. When set to `0`, the 90% of `#editor.fontSize#` is used.","Controls whether the editor should render the inline color decorators and color picker.","Enable that the selection with the mouse and keys is doing column selection.","Controls whether syntax highlighting should be copied into the clipboard.","Control the cursor animation style.","Controls whether the smooth caret animation should be enabled.","Controls the cursor style.","Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API.","`cursorSurroundingLines` is enforced always.","Controls when `cursorSurroundingLines` should be enforced.","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.","Controls whether the editor should allow moving selections via drag and drop.","Scrolling speed multiplier when pressing `Alt`.","Controls whether the editor has code folding enabled.","Use a language-specific folding strategy if available, else the indentation-based one.","Use the indentation-based folding strategy.","Controls the strategy for computing folding ranges.","Controls whether the editor should highlight folded ranges.","Controls whether clicking on the empty content after a folded line will unfold the line.","Controls the font family.","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.","Controls whether the editor should automatically format the line after typing.","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.","Controls whether the cursor should be hidden in the overview ruler.","Controls whether the editor should highlight the active indent guide.","Controls the letter spacing in pixels.","Controls whether the editor has linked editing enabled. Depending on the language, related symbols, e.g. HTML tags, are updated while editing.","Controls whether the editor should detect links and make them clickable.","Highlight matching brackets.","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.","Merge multiple cursors when they are overlapping.","Maps to `Control` on Windows and Linux and to `Command` on macOS.","Maps to `Alt` on Windows and Linux and to `Option` on macOS.","The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Each cursor pastes a single line of the text.","Each cursor pastes the full text.","Controls pasting when the line count of the pasted text matches the cursor count.","Controls whether the editor should highlight semantic symbol occurrences.","Controls whether a border should be drawn around the overview ruler.","Focus the tree when opening peek","Focus the editor when opening peek","Controls whether to focus the inline editor or the tree in the peek widget.","Controls whether the Go to Definition mouse gesture always opens the peek widget.","Controls the delay in milliseconds after which quick suggestions will show up.","Controls whether the editor auto renames on type.","Deprecated, use `editor.linkedEditing` instead.","Controls whether the editor should render control characters.","Controls whether the editor should render indent guides.","Render last line number when the file ends with a newline.","Highlights both the gutter and the current line.","Controls how the editor should render the current line highlight.","Controls if the editor should render the current line highlight only when the editor is focused","Render whitespace characters except for single spaces between words.","Render whitespace characters only on selected text.","Render only trailing whitespace characters","Controls how the editor should render whitespace characters.","Controls whether selections should have rounded corners.","Controls the number of extra characters beyond which the editor will scroll horizontally.","Controls whether the editor will scroll beyond the last line.","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.","Controls whether the Linux primary clipboard should be supported.","Controls whether the editor should highlight matches similar to the selection.","Always show the folding controls.","Only show the folding controls when the mouse is over the gutter.","Controls when the folding controls on the gutter are shown.","Controls fading out of unused code.","Controls strikethrough deprecated variables.","Show snippet suggestions on top of other suggestions.","Show snippet suggestions below other suggestions.","Show snippets suggestions with other suggestions.","Do not show snippet suggestions.","Controls whether snippets are shown with other suggestions and how they are sorted.","Controls whether the editor will scroll using an animation.","Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.","Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used. The minimum value is 8.","Controls whether suggestions should automatically show up when typing trigger characters.","Always select the first suggestion.","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.","Controls how suggestions are pre-selected when showing the suggest list.","Tab complete will insert the best matching suggestion when pressing tab.","Disable tab completions.","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.","Enables tab completions.","Unusual line terminators are automatically removed.","Unusual line terminators are ignored.","Unusual line terminators prompt to be removed.","Remove unusual line terminators that might cause problems.","Inserting and deleting whitespace follows tab stops.","Characters that will be used as word separators when doing word related navigations or operations.","Lines will never wrap.","Lines will wrap at the viewport width.","Lines will wrap at `#editor.wordWrapColumn#`.","Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.","Controls how lines should wrap.","Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.","No indentation. Wrapped lines begin at column 1.","Wrapped lines get the same indentation as the parent.","Wrapped lines get +1 indentation toward the parent.","Wrapped lines get +2 indentation toward the parent.","Controls the indentation of wrapped lines.","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.","Controls the algorithm that computes wrapping points."],"vs/editor/common/editorContextKeys":["Whether the editor text has focus (cursor is blinking)","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)","Whether an editor or a rich text input has focus (cursor is blinking)","Whether the editor is read only","Whether the context is a diff editor","Whether `editor.columnSelection` is enabled","Whether the editor has text selected","Whether the editor has multiple selections","Whether `Tab` will move focus out of the editor","Whether the editor hover is visible","Whether the editor is part of a larger editor (e.g. notebooks)","The language identifier of the editor","Whether the editor has a completion item provider","Whether the editor has a code actions provider","Whether the editor has a code lens provider","Whether the editor has a definition provider","Whether the editor has a declaration provider","Whether the editor has an implementation provider","Whether the editor has a type definition provider","Whether the editor has a hover provider","Whether the editor has a document highlight provider","Whether the editor has a document symbol provider","Whether the editor has a reference provider","Whether the editor has a rename provider","Whether the editor has a signature help provider","Whether the editor has an inline hints provider","Whether the editor has a document formatting provider","Whether the editor has a document selection formatting provider","Whether the editor has multiple document formatting providers","Whether the editor has multiple document selection formatting providers"],"vs/editor/common/model/editStack":["Typing"],"vs/editor/common/modes/modesRegistry":["Plain Text"],"vs/editor/common/standaloneStrings":["No selection","Line {0}, Column {1} ({2} selected)","Line {0}, Column {1}","{0} selections ({1} characters selected)","{0} selections","Now changing the setting `accessibilitySupport` to 'on'.","Now opening the Editor Accessibility documentation page."," in a read-only pane of a diff editor."," in a pane of a diff editor."," in a read-only code editor"," in a code editor","To configure the editor to be optimized for usage with a Screen Reader press Command+E now.","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.","The editor is configured to be optimized for usage with a Screen Reader.","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time.","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}.","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding.","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}.","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.","Press Command+H now to open a browser window with more information related to editor accessibility.","Press Control+H now to open a browser window with more information related to editor accessibility.","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape.","Show Accessibility Help","Developer: Inspect Tokens","Go to Line/Column...","Show all Quick Access Providers","Command Palette","Show And Run Commands","Go to Symbol...","Go to Symbol by Category...","Editor content","Press Alt+F1 for Accessibility Options.","Toggle High Contrast Theme","Made {0} edits in {1} files"],"vs/editor/common/view/editorColorRegistry":["Background color for the highlight of line at the cursor position.","Background color for the border around the line at the cursor position.","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.","Background color of the border around highlighted ranges.","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.","Background color of the border around highlighted symbols.","Color of the editor cursor.","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.","Color of whitespace characters in the editor.","Color of the editor indentation guides.","Color of the active editor indentation guides.","Color of editor line numbers.","Color of editor active line number","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.","Color of editor active line number","Color of the editor rulers.","Foreground color of editor CodeLens","Background color behind matching brackets","Color for matching brackets boxes","Color of the overview ruler border.","Background color of the editor overview ruler. Only used when the minimap is enabled and placed on the right side of the editor.","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.","Border color of unnecessary (unused) source code in the editor.","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.","Overview ruler marker color for errors.","Overview ruler marker color for warnings.","Overview ruler marker color for infos."],"vs/editor/contrib/anchorSelect/anchorSelect":["Selection Anchor","Anchor set at {0}:{1}","Set Selection Anchor","Go to Selection Anchor","Select from Anchor to Cursor","Cancel Selection Anchor"],"vs/editor/contrib/bracketMatching/bracketMatching":["Overview ruler marker color for matching brackets.","Go to Bracket","Select to Bracket","Go to &&Bracket"],"vs/editor/contrib/caretOperations/caretOperations":["Move Selected Text Left","Move Selected Text Right"],"vs/editor/contrib/caretOperations/transpose":["Transpose Letters"],"vs/editor/contrib/clipboard/clipboard":["Cu&&t","Cut","Cut","&&Copy","Copy","Copy","&&Paste","Paste","Paste","Copy With Syntax Highlighting"],"vs/editor/contrib/codeAction/codeActionCommands":["Kind of the code action to run.","Controls when the returned actions are applied.","Always apply the first returned code action.","Apply the first returned code action if it is the only one.","Do not apply the returned code actions.","Controls if only preferred code actions should be returned.","An unknown error occurred while applying the code action","Quick Fix...","No code actions available","No preferred code actions for '{0}' available","No code actions for '{0}' available","No preferred code actions available","No code actions available","Refactor...","No preferred refactorings for '{0}' available","No refactorings for '{0}' available","No preferred refactorings available","No refactorings available","Source Action...","No preferred source actions for '{0}' available","No source actions for '{0}' available","No preferred source actions available","No source actions available","Organize Imports","No organize imports action available","Fix All","No fix all action available","Auto Fix...","No auto fixes available"],"vs/editor/contrib/codeAction/lightBulbWidget":["Show Fixes. Preferred Fix Available ({0})","Show Fixes ({0})","Show Fixes"],"vs/editor/contrib/codelens/codelensController":["Show CodeLens Commands For Current Line"],"vs/editor/contrib/comment/comment":["Toggle Line Comment","&&Toggle Line Comment","Add Line Comment","Remove Line Comment","Toggle Block Comment","Toggle &&Block Comment"],"vs/editor/contrib/contextmenu/contextmenu":["Show Editor Context Menu"],"vs/editor/contrib/cursorUndo/cursorUndo":["Cursor Undo","Cursor Redo"],"vs/editor/contrib/find/findController":["Find","&&Find","Find With Selection","Find Next","Find Next","Find Previous","Find Previous","Find Next Selection","Find Previous Selection","Replace","&&Replace"],"vs/editor/contrib/find/findWidget":["Icon for 'Find in Selection' in the editor find widget.","Icon to indicate that the editor find widget is collapsed.","Icon to indicate that the editor find widget is expanded.","Icon for 'Replace' in the editor find widget.","Icon for 'Replace All' in the editor find widget.","Icon for 'Find Previous' in the editor find widget.","Icon for 'Find Next' in the editor find widget.","Find","Find","Previous match","Next match","Find in selection","Close","Replace","Replace","Replace","Replace All","Toggle Replace mode","Only the first {0} results are highlighted, but all find operations work on the entire text.","{0} of {1}","No results","{0} found","{0} found for '{1}'","{0} found for '{1}', at {2}","{0} found for '{1}'","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior."],"vs/editor/contrib/folding/folding":["Unfold","Unfold Recursively","Fold","Toggle Fold","Fold Recursively","Fold All Block Comments","Fold All Regions","Unfold All Regions","Fold All","Unfold All","Fold Level {0}","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.","Color of the folding control in the editor gutter."],"vs/editor/contrib/folding/foldingDecorations":["Icon for expanded ranges in the editor glyph margin.","Icon for collapsed ranges in the editor glyph margin."],"vs/editor/contrib/fontZoom/fontZoom":["Editor Font Zoom In","Editor Font Zoom Out","Editor Font Zoom Reset"],"vs/editor/contrib/format/format":["Made 1 formatting edit on line {0}","Made {0} formatting edits on line {1}","Made 1 formatting edit between lines {0} and {1}","Made {0} formatting edits between lines {1} and {2}"],"vs/editor/contrib/format/formatActions":["Format Document","Format Selection"],"vs/editor/contrib/gotoError/gotoError":["Go to Next Problem (Error, Warning, Info)","Icon for goto next marker.","Go to Previous Problem (Error, Warning, Info)","Icon for goto previous marker.","Go to Next Problem in Files (Error, Warning, Info)","Next &&Problem","Go to Previous Problem in Files (Error, Warning, Info)","Previous &&Problem"],"vs/editor/contrib/gotoError/gotoErrorWidget":["Error","Warning","Info","Hint","{0} at {1}. ","{0} of {1} problems","{0} of {1} problem","Editor marker navigation widget error color.","Editor marker navigation widget warning color.","Editor marker navigation widget info color.","Editor marker navigation widget background."],"vs/editor/contrib/gotoSymbol/goToCommands":["Peek","Definitions","No definition found for '{0}'","No definition found","Go to Definition","Go to &&Definition","Open Definition to the Side","Peek Definition","Declarations","No declaration found for '{0}'","No declaration found","Go to Declaration","Go to &&Declaration","No declaration found for '{0}'","No declaration found","Peek Declaration","Type Definitions","No type definition found for '{0}'","No type definition found","Go to Type Definition","Go to &&Type Definition","Peek Type Definition","Implementations","No implementation found for '{0}'","No implementation found","Go to Implementations","Go to &&Implementations","Peek Implementations","No references found for '{0}'","No references found","Go to References","Go to &&References","References","Peek References","References","Go To Any Symbol","Locations","No results for '{0}'","References"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Click to show {0} definitions."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Loading...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["{0} references","{0} reference","References"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["no preview available","No results","References"],"vs/editor/contrib/gotoSymbol/referencesModel":["symbol in {0} on line {1} at column {2}","symbol in {0} on line {1} at column {2}, {3}","1 symbol in {0}, full path {1}","{0} symbols in {1}, full path {2}","No results found","Found 1 symbol in {0}","Found {0} symbols in {1}","Found {0} symbols in {1} files"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Symbol {0} of {1}, {2} for next","Symbol {0} of {1}"],"vs/editor/contrib/hover/hover":["Show Hover","Show Definition Preview Hover"],"vs/editor/contrib/hover/markdownHoverParticipant":["Loading..."],"vs/editor/contrib/hover/markerHoverParticipant":["View Problem","No quick fixes available","Checking for quick fixes...","No quick fixes available","Quick Fix..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Replace with Previous Value","Replace with Next Value"],"vs/editor/contrib/indentation/indentation":["Convert Indentation to Spaces","Convert Indentation to Tabs","Configured Tab Size","Select Tab Size for Current File","Indent Using Tabs","Indent Using Spaces","Detect Indentation from Content","Reindent Lines","Reindent Selected Lines"],"vs/editor/contrib/linesOperations/linesOperations":["Copy Line Up","&&Copy Line Up","Copy Line Down","Co&&py Line Down","Duplicate Selection","&&Duplicate Selection","Move Line Up","Mo&&ve Line Up","Move Line Down","Move &&Line Down","Sort Lines Ascending","Sort Lines Descending","Trim Trailing Whitespace","Delete Line","Indent Line","Outdent Line","Insert Line Above","Insert Line Below","Delete All Left","Delete All Right","Join Lines","Transpose characters around the cursor","Transform to Uppercase","Transform to Lowercase","Transform to Title Case","Transform to Snake Case"],"vs/editor/contrib/linkedEditing/linkedEditing":["Start Linked Editing","Background color when the editor auto renames on type."],"vs/editor/contrib/links/links":["Execute command","Follow link","cmd + click","ctrl + click","option + click","alt + click","Execute command {0}","Failed to open this link because it is not well-formed: {0}","Failed to open this link because its target is missing.","Open Link"],"vs/editor/contrib/message/messageController":["Whether the editor is currently showing an inline message","Cannot edit in read-only editor"],"vs/editor/contrib/multicursor/multicursor":["Add Cursor Above","&&Add Cursor Above","Add Cursor Below","A&&dd Cursor Below","Add Cursors to Line Ends","Add C&&ursors to Line Ends","Add Cursors To Bottom","Add Cursors To Top","Add Selection To Next Find Match","Add &&Next Occurrence","Add Selection To Previous Find Match","Add P&&revious Occurrence","Move Last Selection To Next Find Match","Move Last Selection To Previous Find Match","Select All Occurrences of Find Match","Select All &&Occurrences","Change All Occurrences"],"vs/editor/contrib/parameterHints/parameterHints":["Trigger Parameter Hints"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["Icon for show next parameter hint.","Icon for show previous parameter hint.","{0}, hint"],"vs/editor/contrib/peekView/peekView":["Close","Background color of the peek view title area.","Color of the peek view title.","Color of the peek view title info.","Color of the peek view borders and arrow.","Background color of the peek view result list.","Foreground color for line nodes in the peek view result list.","Foreground color for file nodes in the peek view result list.","Background color of the selected entry in the peek view result list.","Foreground color of the selected entry in the peek view result list.","Background color of the peek view editor.","Background color of the gutter in the peek view editor.","Match highlight color in the peek view result list.","Match highlight color in the peek view editor.","Match highlight border in the peek view editor."],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["Open a text editor first to go to a line.","Go to line {0} and column {1}.","Go to line {0}.","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.","Current Line: {0}, Character: {1}. Type a line number to navigate to."],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["To go to a symbol, first open a text editor with symbol information.","The active text editor does not provide symbol information.","No matching editor symbols","No editor symbols","Open to the Side","Open to the Bottom","symbols ({0})","properties ({0})","methods ({0})","functions ({0})","constructors ({0})","variables ({0})","classes ({0})","structs ({0})","events ({0})","operators ({0})","interfaces ({0})","namespaces ({0})","packages ({0})","type parameters ({0})","modules ({0})","properties ({0})","enumerations ({0})","enumeration members ({0})","strings ({0})","files ({0})","arrays ({0})","numbers ({0})","booleans ({0})","objects ({0})","keys ({0})","fields ({0})","constants ({0})"],"vs/editor/contrib/rename/rename":["No result.","An unknown error occurred while resolving rename location","Renaming '{0}'","Renaming {0}","Successfully renamed '{0}' to '{1}'. Summary: {2}","Rename failed to apply edits","Rename failed to compute edits","Rename Symbol","Enable/disable the ability to preview changes before renaming"],"vs/editor/contrib/rename/renameInputField":["Rename input. Type new name and press Enter to commit.","{0} to Rename, {1} to Preview"],"vs/editor/contrib/smartSelect/smartSelect":["Expand Selection","&&Expand Selection","Shrink Selection","&&Shrink Selection"],"vs/editor/contrib/snippet/snippetVariables":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sun","Mon","Tue","Wed","Thu","Fri","Sat","January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"vs/editor/contrib/suggest/suggestController":["Accepting '{0}' made {1} additional edits","Trigger Suggest","Insert","Insert","Replace","Replace","Insert","show less","show more","Reset Suggest Widget Size"],"vs/editor/contrib/suggest/suggestWidget":["Background color of the suggest widget.","Border color of the suggest widget.","Foreground color of the suggest widget.","Background color of the selected entry in the suggest widget.","Color of the match highlights in the suggest widget.","Loading...","No suggestions.","{0}, docs: {1}","Suggest"],"vs/editor/contrib/suggest/suggestWidgetDetails":["Close","Loading..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["Icon for more information in the suggest widget.","Read More"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Toggle Tab Key Moves Focus","Pressing Tab will now move focus to the next focusable element","Pressing Tab will now insert the tab character"],"vs/editor/contrib/tokenization/tokenization":["Developer: Force Retokenize"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["Unusual Line Terminators","Detected unusual line terminators","This file contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.","Fix this file","Ignore problem for this file"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.","Border color of a symbol during read-access, like reading a variable.","Border color of a symbol during write-access, like writing to a variable.","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.","Go to Next Symbol Highlight","Go to Previous Symbol Highlight","Trigger Symbol Highlight"],"vs/editor/contrib/wordOperations/wordOperations":["Delete Word"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["Default Language Configuration Overrides","Configure editor settings to be overridden for a language.","This setting does not support per-language configuration.","Cannot register an empty property","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.","Cannot register '{0}'. This property is already registered."],"vs/platform/contextkey/browser/contextKeyService":["A command that returns information about context keys"],"vs/platform/contextkey/common/contextkeys":["Whether the operating system is Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["({0}) was pressed. Waiting for second key of chord...","The key combination ({0}, {1}) is not a command."],"vs/platform/list/browser/listService":["Workbench","Maps to `Control` on Windows and Linux and to `Command` on macOS.","Maps to `Alt` on Windows and Linux and to `Option` on macOS.","The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.","Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.","Controls tree indentation in pixels.","Controls whether the tree should render indent guides.","Controls whether lists and trees have smooth scrolling.","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.","Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable."],"vs/platform/markers/common/markers":["Error","Warning","Info"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","recently used","other commands","Command '{0}' resulted in an error ({1})"],"vs/platform/quickinput/browser/helpQuickAccess":["global commands","editor commands","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["Overall foreground color. This color is only used if not overridden by a component.","Overall foreground color for error messages. This color is only used if not overridden by a component.","The default color for icons in the workbench.","Overall border color for focused elements. This color is only used if not overridden by a component.","An extra border around elements to separate them from others for greater contrast.","An extra border around active elements to separate them from others for greater contrast.","Foreground color for links in text.","Background color for code blocks in text.","Shadow color of widgets such as find/replace inside the editor.","Input box background.","Input box foreground.","Input box border.","Border color of activated options in input fields.","Background color of activated options in input fields.","Foreground color of activated options in input fields.","Input validation background color for information severity.","Input validation foreground color for information severity.","Input validation border color for information severity.","Input validation background color for warning severity.","Input validation foreground color for warning severity.","Input validation border color for warning severity.","Input validation background color for error severity.","Input validation foreground color for error severity.","Input validation border color for error severity.","Dropdown background.","Dropdown foreground.","Button foreground color.","Button background color.","Button background color when hovering.","Badge background color. Badges are small information labels, e.g. for search results count.","Badge foreground color. Badges are small information labels, e.g. for search results count.","Scrollbar shadow to indicate that the view is scrolled.","Scrollbar slider background color.","Scrollbar slider background color when hovering.","Scrollbar slider background color when clicked on.","Background color of the progress bar that can show for long running operations.","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations.","Foreground color of error squigglies in the editor.","Border color of error boxes in the editor.","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations.","Foreground color of warning squigglies in the editor.","Border color of warning boxes in the editor.","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations.","Foreground color of info squigglies in the editor.","Border color of info boxes in the editor.","Foreground color of hint squigglies in the editor.","Border color of hint boxes in the editor.","Editor background color.","Editor default foreground color.","Background color of editor widgets, such as find/replace.","Foreground color of editor widgets, such as find/replace.","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.","Quick picker background color. The quick picker widget is the container for pickers like the command palette.","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.","Quick picker background color for the focused item.","Quick picker color for grouping labels.","Quick picker color for grouping borders.","Color of the editor selection.","Color of the selected text for high contrast.","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.","Border color for regions with the same content as the selection.","Color of the current search match.","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.","Border color of the current search match.","Border color of the other search matches.","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.","Background color of the editor hover.","Foreground color of the editor hover.","Border color of the editor hover.","Background color of the editor hover status bar.","Color of active links.","Foreground color of inline hints","Background color of inline hints","The color used for the lightbulb actions icon.","The color used for the lightbulb auto fix actions icon.","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.","Outline color for the text that got inserted.","Outline color for text that got removed.","Border color between the two text editors.","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree background when hovering over items using the mouse.","List/Tree foreground when hovering over items using the mouse.","List/Tree drag and drop background when moving items around using the mouse.","List/Tree foreground color of the match highlights when searching inside the list/tree.","Background color of the type filter widget in lists and trees.","Outline color of the type filter widget in lists and trees.","Outline color of the type filter widget in lists and trees, when there are no matches.","Tree stroke color for the indentation guides.","Tree stroke color for the indentation guides.","Border color of menus.","Foreground color of menu items.","Background color of menu items.","Foreground color of the selected menu item in menus.","Background color of the selected menu item in menus.","Border color of the selected menu item in menus.","Color of a separator menu item in menus.","Highlight background color of a snippet tabstop.","Highlight border color of a snippet tabstop.","Highlight background color of the final tabstop of a snippet.","Highlight border color of the final tabstop of a snippet.","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.","Minimap marker color for find matches.","Minimap marker color for the editor selection.","Minimap marker color for errors.","Minimap marker color for warnings.","Minimap background color.","Minimap slider background color.","Minimap slider background color when hovering.","Minimap slider background color when clicked on.","The color used for the problems error icon.","The color used for the problems warning icon.","The color used for the problems info icon."],"vs/platform/theme/common/iconRegistry":["The id of the font to use. If not set, the font that is defined first is used.","The font character associated with the icon definition.","Icon for the close action in widgets."],"vs/platform/undoRedo/common/undoRedoService":["The following files have been closed and modified on disk: {0}.","The following files have been modified in an incompatible way: {0}.","Could not undo '{0}' across all files. {1}","Could not undo '{0}' across all files. {1}","Could not undo '{0}' across all files because changes were made to {1}","Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}","Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime","Would you like to undo '{0}' across all files?","Undo in {0} Files","Undo this File","Cancel","Could not undo '{0}' because there is already an undo or redo operation running.","Would you like to undo '{0}'?","Undo","Cancel","Could not redo '{0}' across all files. {1}","Could not redo '{0}' across all files. {1}","Could not redo '{0}' across all files because changes were made to {1}","Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}","Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime","Could not redo '{0}' because there is already an undo or redo operation running."]}); \ No newline at end of file diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.ko.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.ko.js new file mode 100644 index 0000000..557cb4d --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.ko.js @@ -0,0 +1,6 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/define("vs/editor/editor.main.nls.ko",{"vs/base/browser/ui/actionbar/actionViewItems":["{0}({1})"],"vs/base/browser/ui/findinput/findInput":["\uC785\uB825"],"vs/base/browser/ui/findinput/findInputCheckboxes":["\uB300/\uC18C\uBB38\uC790 \uAD6C\uBD84","\uB2E8\uC5B4 \uB2E8\uC704\uB85C","\uC815\uADDC\uC2DD \uC0AC\uC6A9"],"vs/base/browser/ui/findinput/replaceInput":["\uC785\uB825","\uB300/\uC18C\uBB38\uC790 \uBCF4\uC874"],"vs/base/browser/ui/iconLabel/iconLabel":["\uB85C\uB4DC \uC911..."],"vs/base/browser/ui/inputbox/inputBox":["\uC624\uB958: {0}","\uACBD\uACE0: {0}","\uC815\uBCF4: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["\uBC14\uC778\uB529 \uC548 \uB428"],"vs/base/browser/ui/menu/menu":["{0}({1})"],"vs/base/browser/ui/tree/abstractTree":["\uC9C0\uC6B0\uAE30","\uD615\uC2DD\uC744 \uAE30\uC900\uC73C\uB85C \uD544\uD130\uB9C1 \uC0AC\uC6A9 \uC548 \uD568","\uD615\uC2DD\uC744 \uAE30\uC900\uC73C\uB85C \uD544\uD130\uB9C1 \uC0AC\uC6A9","\uCC3E\uC740 \uC694\uC18C \uC5C6\uC74C","{1}\uAC1C \uC694\uC18C \uC911 {0}\uAC1C \uC77C\uCE58"],"vs/base/common/actions":["(\uBE44\uC5B4 \uC788\uC74C)"],"vs/base/common/errorMessage":["{0}: {1}","\uC2DC\uC2A4\uD15C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4({0}).","\uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC138\uC694.","\uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC138\uC694.","{0}(\uCD1D {1}\uAC1C\uC758 \uC624\uB958)","\uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC138\uC694."],"vs/base/common/keybindingLabels":["Ctrl","","","Windows","Ctrl","","","\uC288\uD37C","\uC81C\uC5B4","","","\uBA85\uB839","\uC81C\uC5B4","","","Windows","\uC81C\uC5B4","","","\uC288\uD37C"],"vs/base/parts/quickinput/browser/quickInput":["\uB4A4\uB85C","{0} / {1}","\uACB0\uACFC\uC758 \uBC94\uC704\uB97C \uCD95\uC18C\uD558\uB824\uBA74 \uC785\uB825\uD558\uC138\uC694.","{0}\uAC1C \uACB0\uACFC","{0} \uC120\uD0DD\uB428","\uD655\uC778","\uC0AC\uC6A9\uC790 \uC9C0\uC815","\uB4A4\uB85C({0})","\uB4A4\uB85C"],"vs/base/parts/quickinput/browser/quickInputList":["\uBE60\uB978 \uC785\uB825"],"vs/editor/browser/controller/coreCommands":["\uB354 \uAE34 \uC904\uB85C \uC774\uB3D9\uD558\uB294 \uACBD\uC6B0\uC5D0\uB3C4 \uB05D\uC5D0 \uACE0\uC815","\uB354 \uAE34 \uC904\uB85C \uC774\uB3D9\uD558\uB294 \uACBD\uC6B0\uC5D0\uB3C4 \uB05D\uC5D0 \uACE0\uC815"],"vs/editor/browser/controller/textAreaHandler":["\uD3B8\uC9D1\uAE30","\uD604\uC7AC \uD3B8\uC9D1\uAE30\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC635\uC158\uC744 \uBCF4\uB824\uBA74 {0}\uC744(\uB97C) \uB204\uB985\uB2C8\uB2E4."],"vs/editor/browser/core/keybindingCancellation":["\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uCDE8\uC18C \uAC00\uB2A5\uD55C \uC791\uC5C5(\uC608: '\uCC38\uC870 \uD53C\uD0B9')\uC744 \uC2E4\uD589\uD558\uB294\uC9C0 \uC5EC\uBD80"],"vs/editor/browser/editorExtensions":["\uC2E4\uD589 \uCDE8\uC18C(&&U)","\uC2E4\uD589 \uCDE8\uC18C","\uB2E4\uC2DC \uC2E4\uD589(&&R)","\uB2E4\uC2DC \uC2E4\uD589","\uBAA8\uB450 \uC120\uD0DD(&&S)","\uBAA8\uB450 \uC120\uD0DD"],"vs/editor/browser/widget/codeEditorWidget":["\uCEE4\uC11C \uC218\uB294 {0}(\uC73C)\uB85C \uC81C\uD55C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."],"vs/editor/browser/widget/diffEditorWidget":["diff \uD3B8\uC9D1\uAE30\uC758 \uC0BD\uC785\uC5D0 \uB300\uD55C \uC904 \uB370\uCF54\uB808\uC774\uC158\uC785\uB2C8\uB2E4.","diff \uD3B8\uC9D1\uAE30\uC758 \uC81C\uAC70\uC5D0 \uB300\uD55C \uC904 \uB370\uCF54\uB808\uC774\uC158\uC785\uB2C8\uB2E4.","\uD30C\uC77C 1\uAC1C\uAC00 \uB108\uBB34 \uCEE4\uC11C \uD30C\uC77C\uC744 \uBE44\uAD50\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."],"vs/editor/browser/widget/diffReview":["Diff \uAC80\uD1A0\uC5D0\uC11C '\uC0BD\uC785'\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","Diff \uAC80\uD1A0\uC5D0\uC11C '\uC81C\uAC70'\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","Diff \uAC80\uD1A0\uC5D0\uC11C '\uB2EB\uAE30'\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uB2EB\uAE30","\uBCC0\uACBD\uB41C \uC904 \uC5C6\uC74C","\uC120 1\uAC1C \uBCC0\uACBD\uB428","\uC904 {0}\uAC1C \uBCC0\uACBD\uB428","\uCC28\uC774 {0}/{1}: \uC6D0\uB798 \uC904 {2}, {3}, \uC218\uC815\uB41C \uC904 {4}, {5}","\uBE44\uC5B4 \uC788\uC74C","{0} \uBCC0\uACBD\uB418\uC9C0 \uC54A\uC740 \uC904 {1}","{0} \uC6D0\uB798 \uC904 {1} \uC218\uC815\uB41C \uC904 {2}","+ {0} \uC218\uC815\uB41C \uC904 {1}","- {0} \uC6D0\uB798 \uC904 {1}","\uB2E4\uC74C \uB2E4\uB978 \uD56D\uBAA9\uC73C\uB85C \uC774\uB3D9","\uB2E4\uC74C \uB2E4\uB978 \uD56D\uBAA9\uC73C\uB85C \uC774\uB3D9"],"vs/editor/browser/widget/inlineDiffMargin":["\uC0AD\uC81C\uB41C \uC904 \uBCF5\uC0AC","\uC0AD\uC81C\uB41C \uC904 \uBCF5\uC0AC","\uC0AD\uC81C\uB41C \uC904 \uBCF5\uC0AC({0})","\uC774 \uBCC0\uACBD \uB0B4\uC6A9 \uB418\uB3CC\uB9AC\uAE30","\uC0AD\uC81C\uB41C \uC904 \uBCF5\uC0AC({0})"],"vs/editor/common/config/commonEditorConfig":["\uD3B8\uC9D1\uAE30","\uD0ED \uD55C \uAC1C\uC5D0 \uD574\uB2F9\uD558\uB294 \uACF5\uBC31 \uC218\uC785\uB2C8\uB2E4. `#editor.detectIndentation#`\uC774 \uCF1C\uC838 \uC788\uB294 \uACBD\uC6B0 \uC774 \uC124\uC815\uC740 \uD30C\uC77C \uCF58\uD150\uCE20\uC5D0 \uB530\uB77C \uC7AC\uC815\uC758\uB429\uB2C8\uB2E4.","'\uD0ED' \uD0A4\uB97C \uB204\uB97C \uB54C \uACF5\uBC31\uC744 \uC0BD\uC785\uD569\uB2C8\uB2E4. `#editor.detectIndentation#`\uC774 \uCF1C\uC838 \uC788\uB294 \uACBD\uC6B0 \uC774 \uC124\uC815\uC740 \uD30C\uC77C \uCF58\uD150\uCE20\uC5D0 \uB530\uB77C \uC7AC\uC815\uC758\uB429\uB2C8\uB2E4.","\uD30C\uC77C\uC744 \uC5F4 \uB54C \uD30C\uC77C \uCF58\uD150\uCE20\uB97C \uAE30\uBC18\uC73C\uB85C `#editor.tabSize#`\uC640 `#editor.insertSpaces#`\uAC00 \uC790\uB3D9\uC73C\uB85C \uAC80\uC0C9\uB418\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB05D\uC5D0 \uC790\uB3D9 \uC0BD\uC785\uB41C \uACF5\uBC31\uC744 \uC81C\uAC70\uD569\uB2C8\uB2E4.","\uD070 \uD30C\uC77C\uC5D0 \uB300\uD55C \uD2B9\uC218 \uCC98\uB9AC\uB85C, \uBA54\uBAA8\uB9AC\uB97C \uB9CE\uC774 \uC0AC\uC6A9\uD558\uB294 \uD2B9\uC815 \uAE30\uB2A5\uC744 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC124\uC815\uD569\uB2C8\uB2E4.","\uBB38\uC11C \uB0B4 \uB2E8\uC5B4\uB97C \uAE30\uBC18\uC73C\uB85C \uC644\uC131\uC744 \uACC4\uC0B0\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD65C\uC131 \uBB38\uC11C\uC5D0\uC11C\uB9CC \uB2E8\uC5B4\uB97C \uC81C\uC548\uD569\uB2C8\uB2E4.","\uAC19\uC740 \uC5B8\uC5B4\uC758 \uBAA8\uB4E0 \uC5F4\uB9B0 \uBB38\uC11C\uC5D0\uC11C \uB2E8\uC5B4\uB97C \uC81C\uC548\uD569\uB2C8\uB2E4.","\uBAA8\uB4E0 \uC5F4\uB9B0 \uBB38\uC11C\uC5D0\uC11C \uB2E8\uC5B4\uB97C \uC81C\uC548\uD569\uB2C8\uB2E4.","\uB2E8\uC5B4 \uAE30\uBC18 \uC644\uC131\uC774 \uCEF4\uD4E8\uD305\uB418\uB294 \uBB38\uC11C\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBAA8\uB4E0 \uC0C9 \uD14C\uB9C8\uC5D0 \uB300\uD574 \uC758\uBBF8 \uCCB4\uACC4 \uAC15\uC870 \uD45C\uC2DC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","\uBAA8\uB4E0 \uC0C9 \uD14C\uB9C8\uC5D0 \uB300\uD574 \uC758\uBBF8 \uCCB4\uACC4 \uAC15\uC870 \uD45C\uC2DC\uB97C \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uC758\uBBF8 \uCCB4\uACC4 \uAC15\uC870 \uD45C\uC2DC\uB294 \uD604\uC7AC \uC0C9 \uD14C\uB9C8\uC758 `semanticHighlighting` \uC124\uC815\uC5D0 \uB530\uB77C \uAD6C\uC131\uB429\uB2C8\uB2E4.","semanticHighlighting\uC774 \uC9C0\uC6D0\uD558\uB294 \uC5B8\uC5B4\uC5D0 \uB300\uD574 \uD45C\uC2DC\uB418\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD574\uB2F9 \uCF58\uD150\uCE20\uB97C \uB450 \uBC88 \uD074\uB9AD\uD558\uAC70\uB098 'Esc' \uD0A4\uB97C \uB204\uB974\uB354\uB77C\uB3C4 Peek \uD3B8\uC9D1\uAE30\uB97C \uC5F4\uB9B0 \uC0C1\uD0DC\uB85C \uC720\uC9C0\uD569\uB2C8\uB2E4.","\uC774 \uAE38\uC774\uB97C \uCD08\uACFC\uD558\uB294 \uC904\uC740 \uC131\uB2A5\uC0C1\uC758 \uC774\uC720\uB85C \uD1A0\uD070\uD654\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","diff \uACC4\uC0B0\uC774 \uCDE8\uC18C\uB41C \uD6C4 \uBC00\uB9AC\uCD08 \uB2E8\uC704\uB85C \uC2DC\uAC04\uC744 \uC81C\uD55C\uD569\uB2C8\uB2E4. \uC81C\uD55C \uC2DC\uAC04\uC774 \uC5C6\uB294 \uACBD\uC6B0 0\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","diff \uD3B8\uC9D1\uAE30\uC5D0\uC11C diff\uB97C \uB098\uB780\uD788 \uD45C\uC2DC\uD560\uC9C0 \uC778\uB77C\uC778\uC73C\uB85C \uD45C\uC2DC\uD560\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD558\uBA74 Diff \uD3B8\uC9D1\uAE30\uAC00 \uC120\uD589 \uB610\uB294 \uD6C4\uD589 \uACF5\uBC31\uC758 \uBCC0\uACBD \uB0B4\uC6A9\uC744 \uBB34\uC2DC\uD569\uB2C8\uB2E4.","diff \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uCD94\uAC00/\uC81C\uAC70\uB41C \uBCC0\uACBD \uB0B4\uC6A9\uC5D0 \uB300\uD574 +/- \uD45C\uC2DC\uAE30\uB97C \uD45C\uC2DC\uD558\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C CodeLens\uB97C \uD45C\uC2DC\uD560 \uAC83\uC778\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC904\uC774 \uBC14\uB00C\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uBDF0\uD3EC\uD2B8 \uB108\uBE44\uC5D0\uC11C \uC904\uC774 \uBC14\uB01D\uB2C8\uB2E4.","`#editor.wordWrap#` \uC124\uC815\uC5D0 \uB530\uB77C \uC904\uC774 \uBC14\uB01D\uB2C8\uB2E4."],"vs/editor/common/config/editorOptions":["\uD3B8\uC9D1\uAE30\uAC00 \uC2A4\uD06C\uB9B0 \uB9AC\uB354\uAC00 \uC5F0\uACB0\uB418\uBA74 \uD50C\uB7AB\uD3FC API\uB97C \uC0AC\uC6A9\uD558\uC5EC \uAC10\uC9C0\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uAC00 \uD654\uBA74 \uC77D\uAE30 \uD504\uB85C\uADF8\uB7A8\uACFC \uD568\uAED8 \uC0AC\uC6A9\uB418\uB3C4\uB85D \uC601\uAD6C\uC801\uC73C\uB85C \uCD5C\uC801\uD654\uB418\uBA70, \uC790\uB3D9 \uC904 \uBC14\uAFC8\uC774 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC124\uC815\uB429\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uAC00 \uC2A4\uD06C\uB9B0 \uB9AC\uB354 \uC0AC\uC6A9\uC744 \uC704\uD574 \uCD5C\uC801\uD654\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uB97C \uD654\uBA74 \uC77D\uAE30 \uD504\uB85C\uADF8\uB7A8\uC5D0 \uCD5C\uC801\uD654\uB41C \uBAA8\uB4DC\uB85C \uC2E4\uD589\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD558\uBA74 \uC790\uB3D9 \uC904 \uBC14\uAFC8\uC774 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC124\uC815\uB429\uB2C8\uB2E4.","\uC8FC\uC11D\uC744 \uB2EC \uB54C \uACF5\uBC31 \uBB38\uC790\uB97C \uC0BD\uC785\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBE48 \uC904\uC744 \uC904 \uC8FC\uC11D\uC5D0 \uB300\uD55C \uD1A0\uAE00, \uCD94\uAC00 \uB610\uB294 \uC81C\uAC70 \uC791\uC5C5\uC73C\uB85C \uBB34\uC2DC\uD574\uC57C \uD558\uB294\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC120\uD0DD \uC601\uC5ED \uC5C6\uC774 \uD604\uC7AC \uC904 \uBCF5\uC0AC \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC785\uB825\uD558\uB294 \uB3D9\uC548 \uC77C\uCE58 \uD56D\uBAA9\uC744 \uCC3E\uAE30 \uC704\uD55C \uCEE4\uC11C \uC774\uB3D9 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uC120\uD0DD\uC5D0\uC11C Find Widget\uC758 \uAC80\uC0C9 \uBB38\uC790\uC5F4\uC744 \uC2DC\uB529\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC120\uD0DD \uD56D\uBAA9\uC5D0\uC11C \uCC3E\uAE30\uB97C \uC790\uB3D9\uC73C\uB85C \uCF1C\uC9C0 \uC54A\uC74C(\uAE30\uBCF8\uAC12)","\uC120\uD0DD \uD56D\uBAA9\uC5D0\uC11C \uC790\uB3D9\uC73C\uB85C \uD56D\uC0C1 \uCC3E\uAE30 \uCF1C\uAE30","\uC5EC\uB7EC \uC904\uC758 \uCF58\uD150\uCE20\uB97C \uC120\uD0DD\uD558\uBA74 \uC120\uD0DD \uD56D\uBAA9\uC5D0\uC11C \uCC3E\uAE30\uAC00 \uC790\uB3D9\uC73C\uB85C \uCF1C\uC9D1\uB2C8\uB2E4.","\uC120\uD0DD \uC601\uC5ED\uC5D0\uC11C \uCC3E\uAE30\uB97C \uC790\uB3D9\uC73C\uB85C \uC124\uC815\uD558\uB294 \uC870\uAC74\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","macOS\uC5D0\uC11C Find Widget\uC774 \uACF5\uC720 \uD074\uB9BD\uBCF4\uB4DC \uCC3E\uAE30\uB97C \uC77D\uC744\uC9C0 \uC218\uC815\uD560\uC9C0 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC704\uC82F \uCC3E\uAE30\uC5D0\uC11C \uD3B8\uC9D1\uAE30 \uB9E8 \uC704\uC5D0 \uC904\uC744 \uCD94\uAC00\uD574\uC57C \uD558\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. true\uC778 \uACBD\uC6B0 \uC704\uC82F \uCC3E\uAE30\uAC00 \uD45C\uC2DC\uB418\uBA74 \uCCAB \uBC88\uC9F8 \uC904 \uC704\uB85C \uC2A4\uD06C\uB864\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uB354 \uC774\uC0C1 \uC77C\uCE58\uD558\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC744 \uB54C \uAC80\uC0C9\uC744 \uCC98\uC74C\uC774\uB098 \uB05D\uC5D0\uC11C \uC790\uB3D9\uC73C\uB85C \uB2E4\uC2DC \uC2DC\uC791\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uAE00\uAF34 \uD569\uC790('calt' \uBC0F 'liga' \uAE00\uAF34 \uAE30\uB2A5)\uB97C \uC0AC\uC6A9\uD558\uAC70\uB098 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC124\uC815\uD569\uB2C8\uB2E4. 'font-feature-settings' CSS \uC18D\uC131\uC758 \uC138\uBD84\uD654\uB41C \uC81C\uC5B4\uB97C \uC704\uD574 \uBB38\uC790\uC5F4\uB85C \uBCC0\uACBD\uD569\uB2C8\uB2E4.","\uBA85\uC2DC\uC801 'font-feature-settings' CSS \uC18D\uC131\uC785\uB2C8\uB2E4. \uD569\uC790\uB97C \uCF1C\uAC70\uB098 \uAEBC\uC57C \uD558\uB294 \uACBD\uC6B0\uC5D0\uB9CC \uBD80\uC6B8\uC744 \uB300\uC2E0 \uC804\uB2EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uAE00\uAF34 \uD569\uC790 \uB610\uB294 \uAE00\uAF34 \uAE30\uB2A5\uC744 \uAD6C\uC131\uD569\uB2C8\uB2E4. CSS 'font-feature-settings' \uC18D\uC131\uC758 \uAC12\uC5D0 \uB300\uD574 \uD569\uC790 \uB610\uB294 \uBB38\uC790\uC5F4\uC744 \uC0AC\uC6A9\uD558\uAC70\uB098 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC124\uC815\uD558\uAE30 \uC704\uD55C \uBD80\uC6B8\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uAE00\uAF34 \uD06C\uAE30(\uD53D\uC140)\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.",'"\uD45C\uC900" \uBC0F "\uAD75\uAC8C" \uD0A4\uC6CC\uB4DC \uB610\uB294 1~1000 \uC0AC\uC774\uC758 \uC22B\uC790\uB9CC \uD5C8\uC6A9\uB429\uB2C8\uB2E4.','\uAE00\uAF34 \uB450\uAED8\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. "\uD45C\uC900" \uBC0F "\uAD75\uAC8C" \uD0A4\uC6CC\uB4DC \uB610\uB294 1~1000 \uC0AC\uC774\uC758 \uC22B\uC790\uB97C \uD5C8\uC6A9\uD569\uB2C8\uB2E4.',"\uACB0\uACFC Peek \uBDF0 \uD45C\uC2DC(\uAE30\uBCF8)","\uAE30\uBCF8 \uACB0\uACFC\uB85C \uC774\uB3D9\uD558\uC5EC Peek \uBCF4\uAE30\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uAE30\uBCF8 \uACB0\uACFC\uB85C \uC774\uB3D9\uD558\uACE0 \uB2E4\uB978 \uD56D\uBAA9\uC5D0 \uB300\uD574 peek \uC5C6\uB294 \uD0D0\uC0C9\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815","\uC774 \uC124\uC815\uC740 \uB354 \uC774\uC0C1 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB300\uC2E0 'editor.editor.gotoLocation.multipleDefinitions' \uB610\uB294 'editor.editor.gotoLocation.multipleImplementations'\uC640 \uAC19\uC740 \uBCC4\uB3C4\uC758 \uC124\uC815\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.","\uC5EC\uB7EC \uB300\uC0C1 \uC704\uCE58\uAC00 \uC788\uB294 \uACBD\uC6B0 '\uC815\uC758\uB85C \uC774\uB3D9' \uBA85\uB839 \uB3D9\uC791\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC5EC\uB7EC \uB300\uC0C1 \uC704\uCE58\uAC00 \uC788\uB294 \uACBD\uC6B0 '\uC720\uD615 \uC815\uC758\uB85C \uC774\uB3D9' \uBA85\uB839 \uB3D9\uC791\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC5EC\uB7EC \uB300\uC0C1 \uC704\uCE58\uAC00 \uC788\uB294 \uACBD\uC6B0 'Go to Declaration' \uBA85\uB839 \uB3D9\uC791\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC5EC\uB7EC \uB300\uC0C1 \uC704\uCE58\uAC00 \uC788\uB294 \uACBD\uC6B0 '\uAD6C\uD604\uC73C\uB85C \uC774\uB3D9' \uBA85\uB839 \uB3D9\uC791\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC5EC\uB7EC \uB300\uC0C1 \uC704\uCE58\uAC00 \uC788\uB294 \uACBD\uC6B0 '\uCC38\uC870\uB85C \uC774\uB3D9' \uBA85\uB839 \uB3D9\uC791\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","'\uC815\uC758\uB85C \uC774\uB3D9'\uC758 \uACB0\uACFC\uAC00 \uD604\uC7AC \uC704\uCE58\uC77C \uB54C \uC2E4\uD589\uB418\uB294 \uB300\uCCB4 \uBA85\uB839 ID\uC785\uB2C8\uB2E4.","'\uD615\uC2DD \uC815\uC758\uB85C \uC774\uB3D9'\uC758 \uACB0\uACFC\uAC00 \uD604\uC7AC \uC704\uCE58\uC77C \uB54C \uC2E4\uD589\uB418\uB294 \uB300\uCCB4 \uBA85\uB839 ID\uC785\uB2C8\uB2E4.","'\uC120\uC5B8\uC73C\uB85C \uC774\uB3D9'\uC758 \uACB0\uACFC\uAC00 \uD604\uC7AC \uC704\uCE58\uC77C \uB54C \uC2E4\uD589\uB418\uB294 \uB300\uCCB4 \uBA85\uB839 ID\uC785\uB2C8\uB2E4.","'\uAD6C\uD604\uC73C\uB85C \uC774\uB3D9'\uC758 \uACB0\uACFC\uAC00 \uD604\uC7AC \uC704\uCE58\uC77C \uB54C \uC2E4\uD589\uB418\uB294 \uB300\uCCB4 \uBA85\uB839 ID\uC785\uB2C8\uB2E4.","'\uCC38\uC870\uB85C \uC774\uB3D9'\uC758 \uACB0\uACFC\uAC00 \uD604\uC7AC \uC704\uCE58\uC77C \uB54C \uC2E4\uD589\uB418\uB294 \uB300\uCCB4 \uBA85\uB839 ID\uC785\uB2C8\uB2E4.","\uD638\uBC84 \uD45C\uC2DC \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD638\uBC84\uAC00 \uD45C\uC2DC\uB418\uAE30 \uC804\uAE4C\uC9C0\uC758 \uC9C0\uC5F0 \uC2DC\uAC04(\uBC00\uB9AC\uCD08)\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB97C \uD574\uB2F9 \uD56D\uBAA9 \uC704\uB85C \uC774\uB3D9\uD560 \uB54C \uD638\uBC84\uB97C \uACC4\uC18D \uD45C\uC2DC\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uCF54\uB4DC \uB3D9\uC791 \uC804\uAD6C\uB97C \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC778\uB77C\uC778 \uD78C\uD2B8\uB97C \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC778\uB77C\uC778 \uD78C\uD2B8\uC758 \uAE00\uAF34 \uD06C\uAE30\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. `0`\uC73C\uB85C \uC124\uC815\uD558\uBA74 `#editor.fontSize#`\uC758 90%\uAC00 \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC778\uB77C\uC778 \uD78C\uD2B8\uC758 \uAE00\uAF34 \uD328\uBC00\uB9AC\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC904 \uB192\uC774\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uAE00\uAF34 \uD06C\uAE30\uC5D0\uC11C \uC904 \uB192\uC774\uB97C \uACC4\uC0B0\uD558\uB824\uBA74 0\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","\uBBF8\uB2C8\uB9F5 \uD45C\uC2DC \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBBF8\uB2C8\uB9F5\uC758 \uD06C\uAE30\uB294 \uD3B8\uC9D1\uAE30 \uB0B4\uC6A9\uACFC \uB3D9\uC77C\uD558\uBA70 \uC2A4\uD06C\uB864\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC758 \uB192\uC774\uB97C \uB9DE\uCD94\uAE30 \uC704\uD574 \uD544\uC694\uC5D0 \uB530\uB77C \uBBF8\uB2C8\uB9F5\uC774 \uD655\uC7A5\uB418\uAC70\uB098 \uCD95\uC18C\uB429\uB2C8\uB2E4(\uC2A4\uD06C\uB864 \uC5C6\uC74C).","\uBBF8\uB2C8\uB9F5\uC744 \uD3B8\uC9D1\uAE30\uBCF4\uB2E4 \uC791\uAC8C \uC720\uC9C0\uD560 \uC218 \uC788\uB3C4\uB85D \uD544\uC694\uC5D0 \uB530\uB77C \uBBF8\uB2C8\uB9F5\uC774 \uCD95\uC18C\uB429\uB2C8\uB2E4(\uC2A4\uD06C\uB864 \uC5C6\uC74C).","\uBBF8\uB2C8\uB9F5\uC758 \uD06C\uAE30\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBBF8\uB2C8\uB9F5\uC744 \uB80C\uB354\uB9C1\uD560 \uCE21\uBA74\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBBF8\uB2C8\uB9F5 \uC2AC\uB77C\uC774\uB354\uAC00 \uD45C\uC2DC\uB418\uB294 \uC2DC\uAE30\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBBF8\uB2C8\uB9F5\uC5D0 \uADF8\uB824\uC9C4 \uCF58\uD150\uCE20\uC758 \uBC30\uC728: 1, 2 \uB610\uB294 3.","\uC904\uC758 \uC2E4\uC81C \uBB38\uC790(\uC0C9 \uBE14\uB85D \uC544\uB2D8)\uB97C \uB80C\uB354\uB9C1\uD569\uB2C8\uB2E4.","\uCD5C\uB300 \uD2B9\uC815 \uC218\uC758 \uC5F4\uC744 \uB80C\uB354\uB9C1\uD558\uB3C4\uB85D \uBBF8\uB2C8\uB9F5\uC758 \uB108\uBE44\uB97C \uC81C\uD55C\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC758 \uC704\uCABD \uAC00\uC7A5\uC790\uB9AC\uC640 \uCCAB \uBC88\uC9F8 \uC904 \uC0AC\uC774\uC758 \uACF5\uBC31\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC758 \uC544\uB798\uCABD \uAC00\uC7A5\uC790\uB9AC\uC640 \uB9C8\uC9C0\uB9C9 \uC904 \uC0AC\uC774\uC758 \uACF5\uBC31\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC785\uB825\uACFC \uB3D9\uC2DC\uC5D0 \uB9E4\uAC1C\uBCC0\uC218 \uBB38\uC11C\uC640 \uC720\uD615 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD558\uB294 \uD31D\uC5C5\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD569\uB2C8\uB2E4.","\uB9E4\uAC1C\uBCC0\uC218 \uD78C\uD2B8 \uBA54\uB274\uC758 \uC8FC\uAE30 \uD639\uC740 \uBAA9\uB85D\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD558\uC600\uC744\uB54C \uC885\uB8CC\uD560 \uAC83\uC778\uC9C0 \uC5EC\uBD80\uB97C \uACB0\uC815\uD569\uB2C8\uB2E4.","\uBB38\uC790\uC5F4 \uB0B4\uC5D0\uC11C \uBE60\uB978 \uC81C\uC548\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","\uC8FC\uC11D \uB0B4\uC5D0\uC11C \uBE60\uB978 \uC81C\uC548\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","\uBB38\uC790\uC5F4 \uBC0F \uC8FC\uC11D \uC678\uBD80\uC5D0\uC11C \uBE60\uB978 \uC81C\uC548\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","\uC785\uB825\uD558\uB294 \uB3D9\uC548 \uC81C\uC548\uC744 \uC790\uB3D9\uC73C\uB85C \uD45C\uC2DC\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC904 \uBC88\uD638\uB294 \uB80C\uB354\uB9C1\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uC904 \uBC88\uD638\uB294 \uC808\uB300\uAC12\uC73C\uB85C \uB80C\uB354\uB9C1 \uB429\uB2C8\uB2E4.","\uC904 \uBC88\uD638\uB294 \uCEE4\uC11C \uC704\uCE58\uC5D0\uC11C \uC904 \uAC04\uACA9 \uAC70\uB9AC\uB85C \uB80C\uB354\uB9C1 \uB429\uB2C8\uB2E4.","\uC904 \uBC88\uD638\uB294 \uB9E4 10 \uC904\uB9C8\uB2E4 \uB80C\uB354\uB9C1\uC774 \uC774\uB8E8\uC5B4\uC9D1\uB2C8\uB2E4.","\uC904 \uBC88\uD638\uC758 \uD45C\uC2DC \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC774 \uD3B8\uC9D1\uAE30 \uB208\uAE08\uC790\uC5D0\uC11C \uB80C\uB354\uB9C1\uD560 \uACE0\uC815 \uD3ED \uBB38\uC790 \uC218\uC785\uB2C8\uB2E4.","\uC774 \uD3B8\uC9D1\uAE30 \uB208\uAE08\uC790\uC758 \uC0C9\uC785\uB2C8\uB2E4.","\uD2B9\uC815 \uC218\uC758 \uACE0\uC815 \uD3ED \uBB38\uC790 \uB4A4\uC5D0 \uC138\uB85C \uB208\uAE08\uC790\uB97C \uB80C\uB354\uB9C1\uD569\uB2C8\uB2E4. \uC5EC\uB7EC \uB208\uAE08\uC790\uC758 \uACBD\uC6B0 \uC5EC\uB7EC \uAC12\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uBC30\uC5F4\uC774 \uBE44\uC5B4 \uC788\uB294 \uACBD\uC6B0 \uB208\uAE08\uC790\uAC00 \uADF8\uB824\uC9C0\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCEE4\uC11C\uC758 \uD14D\uC2A4\uD2B8 \uC624\uB978\uCABD\uC744 \uB36E\uC5B4 \uC4F0\uC9C0\uC54A\uACE0 \uC81C\uC548\uC744 \uC0BD\uC785\uD569\uB2C8\uB2E4.","\uC81C\uC548\uC744 \uC0BD\uC785\uD558\uACE0 \uCEE4\uC11C\uC758 \uC624\uB978\uCABD \uD14D\uC2A4\uD2B8\uB97C \uB36E\uC5B4\uC501\uB2C8\uB2E4.","\uC644\uB8CC\uB97C \uC218\uB77D\uD560 \uB54C \uB2E8\uC5B4\uB97C \uB36E\uC5B4\uC4F8\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uC774\uAC83\uC740 \uC774 \uAE30\uB2A5\uC744 \uC120\uD0DD\uD558\uB294 \uD655\uC7A5\uC5D0 \uB530\uB77C \uB2E4\uB985\uB2C8\uB2E4.","\uC81C\uC548 \uD544\uD130\uB9C1 \uBC0F \uC815\uB82C\uC5D0\uC11C \uC791\uC740 \uC624\uD0C0\uB97C \uC124\uBA85\uD558\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC815\uB82C\uD560 \uB54C \uCEE4\uC11C \uADFC\uCC98\uC5D0 \uD45C\uC2DC\uB418\uB294 \uB2E8\uC5B4\uB97C \uC6B0\uC120\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC800\uC7A5\uB41C \uC81C\uC548 \uC0AC\uD56D \uC120\uD0DD \uD56D\uBAA9\uC744 \uC5EC\uB7EC \uC791\uC5C5 \uC601\uC5ED \uBC0F \uCC3D\uC5D0\uC11C \uACF5\uC720\uD560 \uAC83\uC778\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4(`#editor.suggestSelection#` \uD544\uC694).","\uD65C\uC131 \uCF54\uB4DC \uC870\uAC01\uC774 \uBE60\uB978 \uC81C\uC548\uC744 \uBC29\uC9C0\uD558\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC81C\uC548\uC758 \uC544\uC774\uCF58\uC744 \uD45C\uC2DC\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC81C\uC548 \uC704\uC82F \uD558\uB2E8\uC758 \uC0C1\uD0DC \uD45C\uC2DC\uC904 \uAC00\uC2DC\uC131\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC81C\uC548 \uC138\uBD80 \uC815\uBCF4\uAC00 \uB808\uC774\uBE14\uACFC \uD568\uAED8 \uC778\uB77C\uC778\uC5D0 \uD45C\uC2DC\uB418\uB294\uC9C0 \uC544\uB2C8\uBA74 \uC138\uBD80 \uC815\uBCF4 \uC704\uC82F\uC5D0\uB9CC \uD45C\uC2DC\uB418\uB294\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC774 \uC124\uC815\uC740 \uB354 \uC774\uC0C1 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uC774\uC81C \uC81C\uC548 \uC704\uC82F\uC758 \uD06C\uAE30\uB97C \uC870\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uC774 \uC124\uC815\uC740 \uB354 \uC774\uC0C1 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB300\uC2E0 'editor.suggest.showKeywords'\uB610\uB294 'editor.suggest.showSnippets'\uC640 \uAC19\uC740 \uBCC4\uB3C4\uC758 \uC124\uC815\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 `\uBA54\uC11C\uB4DC` \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uD568\uC218' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uC0DD\uC131\uC790' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uD544\uB4DC' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uBCC0\uC218' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uD074\uB798\uC2A4' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uAD6C\uC870' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uC778\uD130\uD398\uC774\uC2A4' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uBAA8\uB4C8' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uC18D\uC131' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uC774\uBCA4\uD2B8' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 `\uC5F0\uC0B0\uC790` \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uB2E8\uC704' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uAC12' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uC0C1\uC218' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uC5F4\uAC70\uD615' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 `enumMember` \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uD0A4\uC6CC\uB4DC' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uD14D\uC2A4\uD2B8' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uC0C9' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 `\uD30C\uC77C` \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uCC38\uC870' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC0C9' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uD3F4\uB354' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB41C \uACBD\uC6B0 IntelliSense\uC5D0 'typeParameter' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uBA74 IntelliSense\uC5D0 '\uCF54\uB4DC \uC870\uAC01' \uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","IntelliSense\uB97C \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD558\uBA74 `user`-\uC81C\uC548\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","IntelliSense\uB97C \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD55C \uACBD\uC6B0 `issues`-\uC81C\uC548\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uC120\uD589 \uBC0F \uD6C4\uD589 \uACF5\uBC31\uC744 \uD56D\uC0C1 \uC120\uD0DD\uD574\uC57C \uD558\uB294\uC9C0 \uC5EC\uBD80\uC785\uB2C8\uB2E4.","\uCEE4\uBC0B \uBB38\uC790\uC5D0 \uB300\uD55C \uC81C\uC548\uC744 \uD5C8\uC6A9\uD560\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uC608\uB97C \uB4E4\uC5B4 JavaScript\uC5D0\uC11C\uB294 \uC138\uBBF8\uCF5C\uB860(';')\uC774 \uC81C\uC548\uC744 \uD5C8\uC6A9\uD558\uACE0 \uD574\uB2F9 \uBB38\uC790\uB97C \uC785\uB825\uD558\uB294 \uCEE4\uBC0B \uBB38\uC790\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uD14D\uC2A4\uD2B8\uB97C \uBCC0\uACBD\uD560 \uB54C `Enter` \uD0A4\uB97C \uC0AC\uC6A9\uD55C \uC81C\uC548\uB9CC \uD5C8\uC6A9\uD569\uB2C8\uB2E4.","'Tab' \uD0A4 \uC678\uC5D0 'Enter' \uD0A4\uC5D0 \uB300\uD55C \uC81C\uC548\uB3C4 \uD5C8\uC6A9\uD560\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uC0C8 \uC904\uC744 \uC0BD\uC785\uD558\uB294 \uB3D9\uC791\uACFC \uC81C\uC548\uC744 \uD5C8\uC6A9\uD558\uB294 \uB3D9\uC791 \uAC04\uC758 \uBAA8\uD638\uD568\uC744 \uC5C6\uC568 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uD654\uBA74 \uD310\uB3C5\uAE30\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 \uD3B8\uC9D1\uAE30\uC758 \uC904 \uC218\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uACBD\uACE0: \uAE30\uBCF8\uAC12\uBCF4\uB2E4 \uD070 \uC22B\uC790\uC778 \uACBD\uC6B0 \uC131\uB2A5\uC5D0 \uC601\uD5A5\uC744 \uBBF8\uCE69\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCF58\uD150\uCE20","\uC5B8\uC5B4 \uAD6C\uC131\uC744 \uC0AC\uC6A9\uD558\uC5EC \uB300\uAD04\uD638\uB97C \uC790\uB3D9\uC73C\uB85C \uB2EB\uC744 \uACBD\uC6B0\uB97C \uACB0\uC815\uD569\uB2C8\uB2E4.","\uCEE4\uC11C\uAC00 \uACF5\uBC31\uC758 \uC67C\uCABD\uC5D0 \uC788\uB294 \uACBD\uC6B0\uC5D0\uB9CC \uB300\uAD04\uD638\uB97C \uC790\uB3D9\uC73C\uB85C \uB2EB\uC2B5\uB2C8\uB2E4.","\uC0AC\uC6A9\uC790\uAC00 \uC5EC\uB294 \uAD04\uD638\uB97C \uCD94\uAC00\uD55C \uD6C4 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uAD04\uD638\uB97C \uC790\uB3D9\uC73C\uB85C \uB2EB\uC744\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB2EB\uAE30 \uB530\uC634\uD45C \uB610\uB294 \uB300\uAD04\uD638\uAC00 \uC790\uB3D9\uC73C\uB85C \uC0BD\uC785\uB41C \uACBD\uC6B0\uC5D0\uB9CC \uD574\uB2F9 \uD56D\uBAA9 \uC704\uC5D0 \uC785\uB825\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uC790\uAC00 \uB2EB\uB294 \uB530\uC634\uD45C \uB610\uB294 \uB300\uAD04\uD638 \uC704\uC5D0 \uC785\uB825\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC5B8\uC5B4 \uAD6C\uC131\uC744 \uC0AC\uC6A9\uD558\uC5EC \uB530\uC634\uD45C\uB97C \uC790\uB3D9\uC73C\uB85C \uB2EB\uC744 \uACBD\uC6B0\uB97C \uACB0\uC815\uD569\uB2C8\uB2E4.","\uCEE4\uC11C\uAC00 \uACF5\uBC31\uC758 \uC67C\uCABD\uC5D0 \uC788\uB294 \uACBD\uC6B0\uC5D0\uB9CC \uB530\uC634\uD45C\uB97C \uC790\uB3D9\uC73C\uB85C \uB2EB\uC2B5\uB2C8\uB2E4.","\uC0AC\uC6A9\uC790\uAC00 \uC5EC\uB294 \uB530\uC634\uD45C\uB97C \uCD94\uAC00\uD55C \uD6C4 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uB530\uC634\uD45C\uB97C \uC790\uB3D9\uC73C\uB85C \uB2EB\uC744\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uB294 \uB4E4\uC5EC\uC4F0\uAE30\uB97C \uC790\uB3D9\uC73C\uB85C \uC0BD\uC785\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uB294 \uD604\uC7AC \uC904\uC758 \uB4E4\uC5EC\uC4F0\uAE30\uB97C \uC720\uC9C0\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uB294 \uD604\uC7AC \uC904\uC758 \uB4E4\uC5EC\uC4F0\uAE30\uB97C \uC720\uC9C0\uD558\uACE0 \uC5B8\uC5B4 \uC815\uC758 \uB300\uAD04\uD638\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uB294 \uD604\uC7AC \uC904\uC758 \uB4E4\uC5EC\uC4F0\uAE30\uB97C \uC720\uC9C0\uD558\uACE0 \uC5B8\uC5B4 \uC815\uC758 \uB300\uAD04\uD638\uB97C \uC874\uC911\uD558\uBA70 \uC5B8\uC5B4\uBCC4\uB85C \uC815\uC758\uB41C \uD2B9\uBCC4 EnterRules\uB97C \uD638\uCD9C\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uB294 \uD604\uC7AC \uC904\uC758 \uB4E4\uC5EC\uC4F0\uAE30\uB97C \uC720\uC9C0\uD558\uACE0, \uC5B8\uC5B4 \uC815\uC758 \uB300\uAD04\uD638\uB97C \uC874\uC911\uD558\uACE0, \uC5B8\uC5B4\uC5D0 \uC758\uD574 \uC815\uC758\uB41C \uD2B9\uBCC4 EnterRules\uB97C \uD638\uCD9C\uD558\uACE0, \uC5B8\uC5B4\uC5D0 \uC758\uD574 \uC815\uC758\uB41C \uB4E4\uC5EC\uC4F0\uAE30 \uADDC\uCE59\uC744 \uC874\uC911\uD569\uB2C8\uB2E4.","\uC0AC\uC6A9\uC790\uAC00 \uC904\uC744 \uC785\uB825, \uBD99\uC5EC\uB123\uAE30, \uC774\uB3D9 \uB610\uB294 \uB4E4\uC5EC\uC4F0\uAE30 \uD560 \uB54C \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uB4E4\uC5EC\uC4F0\uAE30\uB97C \uC790\uB3D9\uC73C\uB85C \uC870\uC815\uD558\uB3C4\uB85D \uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC5B8\uC5B4 \uAD6C\uC131\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC120\uD0DD \uD56D\uBAA9\uC744 \uC790\uB3D9\uC73C\uB85C \uB458\uB7EC\uC300 \uACBD\uC6B0\uB97C \uACB0\uC815\uD569\uB2C8\uB2E4.","\uB300\uAD04\uD638\uAC00 \uC544\uB2CC \uB530\uC634\uD45C\uB85C \uB458\uB7EC\uC309\uB2C8\uB2E4.","\uB530\uC634\uD45C\uAC00 \uC544\uB2CC \uB300\uAD04\uD638\uB85C \uB458\uB7EC\uC309\uB2C8\uB2E4.","\uB530\uC634\uD45C \uB610\uB294 \uB300\uAD04\uD638 \uC785\uB825 \uC2DC \uD3B8\uC9D1\uAE30\uAC00 \uC790\uB3D9\uC73C\uB85C \uC120\uD0DD \uC601\uC5ED\uC744 \uB458\uB7EC\uC300\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB4E4\uC5EC\uC4F0\uAE30\uC5D0 \uACF5\uBC31\uC744 \uC0AC\uC6A9\uD560 \uB54C \uD0ED \uBB38\uC790\uC758 \uC120\uD0DD \uB3D9\uC791\uC744 \uC5D0\uBBAC\uB808\uC774\uD2B8\uD569\uB2C8\uB2E4. \uC120\uD0DD \uC601\uC5ED\uC774 \uD0ED \uC815\uC9C0\uC5D0 \uACE0\uC815\uB429\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C CodeLens\uB97C \uD45C\uC2DC\uD560 \uAC83\uC778\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","CodeLens\uC758 \uAE00\uAF34 \uD328\uBC00\uB9AC\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","CodeLens\uC758 \uAE00\uAF34 \uD06C\uAE30(\uD53D\uC140)\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. '0'\uC73C\uB85C \uC124\uC815\uD558\uBA74 `#editor.fontSize#`\uC758 90%\uAC00 \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC778\uB77C\uC778 \uC0C9 \uB370\uCF54\uB808\uC774\uD130 \uBC0F \uC0C9 \uC120\uD0DD\uC744 \uB80C\uB354\uB9C1\uD560\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uC640 \uD0A4\uB85C \uC120\uD0DD\uD55C \uC601\uC5ED\uC5D0\uC11C \uC5F4\uC744 \uC120\uD0DD\uD558\uB3C4\uB85D \uC124\uC815\uD569\uB2C8\uB2E4.","\uAD6C\uBB38 \uAC15\uC870 \uD45C\uC2DC\uB97C \uD074\uB9BD\uBCF4\uB4DC\uB85C \uBCF5\uC0AC\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uCEE4\uC11C \uC560\uB2C8\uBA54\uC774\uC158 \uC2A4\uD0C0\uC77C\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB9E4\uB044\uB7EC\uC6B4 \uCE90\uB7FF \uC560\uB2C8\uBA54\uC774\uC158\uC758 \uC0AC\uC6A9 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uCEE4\uC11C \uC2A4\uD0C0\uC77C\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uCEE4\uC11C \uC8FC\uC704\uC5D0 \uD45C\uC2DC\uB418\uB294 \uC120\uD589 \uBC0F \uD6C4\uD589 \uC904\uC758 \uCD5C\uC18C \uC218\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uC77C\uBD80 \uB2E4\uB978 \uD3B8\uC9D1\uAE30\uC5D0\uC11C\uB294 'scrollOff' \uB610\uB294 'scrollOffset'\uC774\uB77C\uACE0 \uD569\uB2C8\uB2E4.","'cursorSurroundingLines'\uB294 \uD0A4\uBCF4\uB4DC \uB098 API\uB97C \uD1B5\uD574 \uD2B8\uB9AC\uAC70\uB420 \uB54C\uB9CC \uC801\uC6A9\uB429\uB2C8\uB2E4.","`cursorSurroundingLines`\uB294 \uD56D\uC0C1 \uC801\uC6A9\uB429\uB2C8\uB2E4.","'cursorSurroundingLines'\uB97C \uC801\uC6A9\uD574\uC57C \uD558\uB294 \uACBD\uC6B0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","`#editor.cursorStyle#` \uC124\uC815\uC774 'line'\uC73C\uB85C \uC124\uC815\uB418\uC5B4 \uC788\uC744 \uB54C \uCEE4\uC11C\uC758 \uB113\uC774\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uB04C\uC5B4\uC11C \uB193\uAE30\uB85C \uC120\uD0DD \uC601\uC5ED\uC744 \uC774\uB3D9\uD560 \uC218 \uC788\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","'Alt' \uD0A4\uB97C \uB204\uB97C \uB54C \uC2A4\uD06C\uB864 \uC18D\uB3C4 \uC2B9\uC218\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0 \uCF54\uB4DC \uC811\uAE30\uAC00 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uACBD\uC6B0 \uC5B8\uC5B4\uBCC4 \uC811\uAE30 \uC804\uB7B5\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uADF8\uB807\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uB4E4\uC5EC\uC4F0\uAE30 \uAE30\uBC18 \uC804\uB7B5\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","\uB4E4\uC5EC\uC4F0\uAE30 \uAE30\uBC18 \uC811\uAE30 \uC804\uB7B5\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","\uC811\uAE30 \uBC94\uC704\uB97C \uACC4\uC0B0\uD558\uAE30 \uC704\uD55C \uC804\uB7B5\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC811\uD78C \uBC94\uC704\uB97C \uAC15\uC870 \uD45C\uC2DC\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC811\uD78C \uC904\uC774 \uC904\uC744 \uD3BC\uCE5C \uD6C4 \uBE48 \uCF58\uD150\uCE20\uB97C \uD074\uB9AD\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uAE00\uAF34 \uD328\uBC00\uB9AC\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBD99\uC5EC\uB123\uC740 \uCF58\uD150\uCE20\uC758 \uC11C\uC2DD\uC744 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC790\uB3D9\uC73C\uB85C \uC9C0\uC815\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uD3EC\uB9F7\uD130\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC5B4\uC57C \uD558\uBA70 \uD3EC\uB9F7\uD130\uAC00 \uBB38\uC11C\uC5D0\uC11C \uBC94\uC704\uC758 \uC11C\uC2DD\uC744 \uC9C0\uC815\uD560 \uC218 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.","\uC785\uB825 \uD6C4 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC790\uB3D9\uC73C\uB85C \uC904\uC758 \uC11C\uC2DD\uC744 \uC9C0\uC815\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC138\uB85C \uBB38\uC790 \uBAA8\uC591 \uC5EC\uBC31\uC744 \uB80C\uB354\uB9C1\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uBB38\uC790 \uBAA8\uC591 \uC5EC\uBC31\uC740 \uC8FC\uB85C \uB514\uBC84\uAE45\uC5D0 \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uCEE4\uC11C\uAC00 \uAC1C\uC694 \uB208\uAE08\uC790\uC5D0\uC11C \uAC00\uB824\uC838\uC57C \uD558\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD65C\uC131 \uB4E4\uC5EC\uC4F0\uAE30 \uAC00\uC774\uB4DC\uB97C \uAC15\uC870 \uD45C\uC2DC\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBB38\uC790 \uAC04\uACA9(\uD53D\uC140)\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC5F0\uACB0\uB41C \uD3B8\uC9D1\uC774 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uC5C8\uB294\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uC5B8\uC5B4\uC5D0 \uB530\uB77C \uAD00\uB828 \uAE30\uD638(\uC608: HTML \uD0DC\uADF8)\uAC00 \uD3B8\uC9D1 \uC911\uC5D0 \uC5C5\uB370\uC774\uD2B8\uB429\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uB9C1\uD06C\uB97C \uAC10\uC9C0\uD558\uACE0 \uD074\uB9AD\uD560 \uC218 \uC788\uAC8C \uB9CC\uB4E4\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC77C\uCE58\uD558\uB294 \uB300\uAD04\uD638\uB97C \uAC15\uC870 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4 \uD720 \uC2A4\uD06C\uB864 \uC774\uBCA4\uD2B8\uC758 `deltaX` \uBC0F `deltaY`\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uC2B9\uC218\uC785\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4 \uD720\uC744 \uC0AC\uC6A9\uD560 \uB54C 'Ctrl' \uD0A4\uB97C \uB204\uB974\uACE0 \uC788\uC73C\uBA74 \uD3B8\uC9D1\uAE30\uC758 \uAE00\uAF34\uC744 \uD655\uB300/\uCD95\uC18C\uD569\uB2C8\uB2E4.","\uC5EC\uB7EC \uCEE4\uC11C\uAC00 \uACB9\uCE58\uB294 \uACBD\uC6B0 \uCEE4\uC11C\uB97C \uBCD1\uD569\uD569\uB2C8\uB2E4.","Windows\uC640 Linux\uC758 'Control'\uC744 macOS\uC758 'Command'\uB85C \uB9E4\uD551\uD569\uB2C8\uB2E4.","Windows\uC640 Linux\uC758 'Alt'\uB97C macOS\uC758 'Option'\uC73C\uB85C \uB9E4\uD551\uD569\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB85C \uC5EC\uB7EC \uCEE4\uC11C\uB97C \uCD94\uAC00\uD560 \uB54C \uC0AC\uC6A9\uD560 \uC218\uC815\uC790\uC785\uB2C8\uB2E4. [\uC815\uC758\uB85C \uC774\uB3D9] \uBC0F [\uB9C1\uD06C \uC5F4\uAE30] \uB9C8\uC6B0\uC2A4 \uC81C\uC2A4\uCC98\uAC00 \uBA40\uD2F0\uCEE4\uC11C \uC218\uC815\uC790\uC640 \uCDA9\uB3CC\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC870\uC815\uB429\uB2C8\uB2E4. [\uC790\uC138\uD55C \uC815\uBCF4](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","\uAC01 \uCEE4\uC11C\uB294 \uD14D\uC2A4\uD2B8 \uD55C \uC904\uC744 \uBD99\uC5EC\uB123\uC2B5\uB2C8\uB2E4.","\uAC01 \uCEE4\uC11C\uB294 \uC804\uCCB4 \uD14D\uC2A4\uD2B8\uB97C \uBD99\uC5EC\uB123\uC2B5\uB2C8\uB2E4.","\uBD99\uC5EC\uB123\uC740 \uD14D\uC2A4\uD2B8\uC758 \uC904 \uC218\uAC00 \uCEE4\uC11C \uC218\uC640 \uC77C\uCE58\uD558\uB294 \uACBD\uC6B0 \uBD99\uC5EC\uB123\uAE30\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC758\uBBF8 \uCCB4\uACC4 \uAE30\uD638 \uD56D\uBAA9\uC744 \uAC15\uC870 \uD45C\uC2DC\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uAC1C\uC694 \uB208\uAE08\uC790 \uC8FC\uC704\uC5D0 \uD14C\uB450\uB9AC\uB97C \uADF8\uB9B4\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","Peek\uB97C \uC5EC\uB294 \uB3D9\uC548 \uD2B8\uB9AC\uC5D0 \uD3EC\uCEE4\uC2A4","\uBBF8\uB9AC \uBCF4\uAE30\uB97C \uC5F4 \uB54C \uD3B8\uC9D1\uAE30\uC5D0 \uD3EC\uCEE4\uC2A4","\uBBF8\uB9AC \uBCF4\uAE30 \uC704\uC82F\uC5D0\uC11C \uC778\uB77C\uC778 \uD3B8\uC9D1\uAE30\uC5D0 \uD3EC\uCEE4\uC2A4\uB97C \uB458\uC9C0 \uB610\uB294 \uD2B8\uB9AC\uC5D0 \uD3EC\uCEE4\uC2A4\uB97C \uB458\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC774\uB3D9 \uC815\uC758 \uB9C8\uC6B0\uC2A4 \uC81C\uC2A4\uCC98\uAC00 \uD56D\uC0C1 \uBBF8\uB9AC \uBCF4\uAE30 \uC704\uC82F\uC744 \uC5F4\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBE60\uB978 \uC81C\uC548\uC744 \uD45C\uC2DC\uD558\uAE30 \uC804\uAE4C\uC9C0\uC758 \uC9C0\uC5F0 \uC2DC\uAC04(\uBC00\uB9AC\uCD08)\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uAC00 \uC720\uD615\uC5D0 \uB530\uB77C \uC790\uB3D9\uC73C\uB85C \uC774\uB984\uC744 \uBC14\uAFC0\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB300\uC2E0 `editor.linkedEditing`\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC81C\uC5B4 \uBB38\uC790\uB97C \uB80C\uB354\uB9C1\uD560\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uB4E4\uC5EC\uC4F0\uAE30 \uAC00\uC774\uB4DC\uB97C \uB80C\uB354\uB9C1\uD560\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD30C\uC77C\uC774 \uC904 \uBC14\uAFC8\uC73C\uB85C \uB05D\uB098\uBA74 \uB9C8\uC9C0\uB9C9 \uC904 \uBC88\uD638\uB97C \uB80C\uB354\uB9C1\uD569\uB2C8\uB2E4.","\uC81C\uBCF8\uC6A9 \uC5EC\uBC31\uACFC \uD604\uC7AC \uC904\uC744 \uBAA8\uB450 \uAC15\uC870 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uAC00 \uD604\uC7AC \uC904 \uAC15\uC870 \uD45C\uC2DC\uB97C \uB80C\uB354\uB9C1\uD558\uB294 \uBC29\uC2DD\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0 \uD3EC\uCEE4\uC2A4\uAC00 \uC788\uB294 \uACBD\uC6B0\uC5D0\uB9CC \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD604\uC7AC \uC904 \uAC15\uC870 \uD45C\uC2DC\uB97C \uB80C\uB354\uB9C1\uD574\uC57C \uD558\uB294\uC9C0 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB2E8\uC5B4 \uC0AC\uC774\uC758 \uACF5\uBC31 \uD558\uB098\uB97C \uC81C\uC678\uD55C \uACF5\uBC31 \uBB38\uC790\uB97C \uB80C\uB354\uB9C1\uD569\uB2C8\uB2E4.","\uC120\uD0DD\uD55C \uD14D\uC2A4\uD2B8\uC5D0\uC11C\uB9CC \uACF5\uBC31 \uBB38\uC790\uB97C \uB80C\uB354\uB9C1\uD569\uB2C8\uB2E4.","\uD6C4\uD589 \uACF5\uBC31 \uBB38\uC790\uB9CC \uB80C\uB354\uB9C1","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uACF5\uBC31 \uBB38\uC790\uB97C \uB80C\uB354\uB9C1\uD560 \uBC29\uBC95\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC120\uD0DD \uD56D\uBAA9\uC758 \uBAA8\uC11C\uB9AC\uB97C \uB465\uAE00\uAC8C \uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uAC00\uB85C\uB85C \uC2A4\uD06C\uB864\uB418\uB294 \uBC94\uC704\uB97C \uBC97\uC5B4\uB098\uB294 \uCD94\uAC00 \uBB38\uC790\uC758 \uC218\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uB9C8\uC9C0\uB9C9 \uC904 \uC774\uD6C4\uB85C \uC2A4\uD06C\uB864\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC138\uB85C\uC640 \uAC00\uB85C\uB85C \uB3D9\uC2DC\uC5D0 \uC2A4\uD06C\uB864\uD560 \uB54C\uC5D0\uB9CC \uC8FC\uCD95\uC744 \uB530\uB77C\uC11C \uC2A4\uD06C\uB864\uD569\uB2C8\uB2E4. \uD2B8\uB799\uD328\uB4DC\uC5D0\uC11C \uC138\uB85C\uB85C \uC2A4\uD06C\uB864\uD560 \uB54C \uAC00\uB85C \uB4DC\uB9AC\uD504\uD2B8\uB97C \uBC29\uC9C0\uD569\uB2C8\uB2E4.","Linux \uC8FC \uD074\uB9BD\uBCF4\uB4DC\uC758 \uC9C0\uC6D0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uAC00 \uC120\uD0DD \uD56D\uBAA9\uACFC \uC720\uC0AC\uD55C \uC77C\uCE58 \uD56D\uBAA9\uC744 \uAC15\uC870 \uD45C\uC2DC\uD574\uC57C\uD558\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC811\uAE30 \uCEE8\uD2B8\uB864\uC744 \uD56D\uC0C1 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uAC00 \uC5EC\uBC31 \uC704\uC5D0 \uC788\uC744 \uB54C\uC5D0\uB9CC \uC811\uAE30 \uCEE8\uD2B8\uB864\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uC5EC\uBC31\uC758 \uC811\uAE30 \uCEE8\uD2B8\uB864\uC774 \uD45C\uC2DC\uB418\uB294 \uC2DC\uAE30\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB294 \uCF54\uB4DC\uC758 \uD398\uC774\uB4DC \uC544\uC6C3\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uCDE8\uC18C\uC120 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uB294 \uBCC0\uC218\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB2E4\uB978 \uC81C\uC548 \uC704\uC5D0 \uC870\uAC01 \uC81C\uC548\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uB2E4\uB978 \uC81C\uC548 \uC544\uB798\uC5D0 \uC870\uAC01 \uC81C\uC548\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uB2E4\uB978 \uC81C\uC548\uACFC \uD568\uAED8 \uC870\uAC01 \uC81C\uC548\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uCF54\uB4DC \uC870\uAC01 \uC81C\uC548\uC744 \uD45C\uC2DC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCF54\uB4DC \uC870\uAC01\uC774 \uB2E4\uB978 \uCD94\uCC9C\uACFC \uD568\uAED8 \uD45C\uC2DC\uB418\uB294\uC9C0 \uC5EC\uBD80 \uBC0F \uC815\uB82C \uBC29\uBC95\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC560\uB2C8\uBA54\uC774\uC158\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC2A4\uD06C\uB864\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uC81C\uC548 \uC704\uC82F\uC758 \uAE00\uAF34 \uD06C\uAE30\uC785\uB2C8\uB2E4. '0'\uC73C\uB85C \uC124\uC815\uD558\uBA74 '#editor.fontSize#'\uC758 \uAC12\uC774 \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uC81C\uC548 \uC704\uC82F\uC758 \uC904 \uB192\uC774\uC785\uB2C8\uB2E4. '0'\uC73C\uB85C \uC124\uC815\uD558\uBA74 `#editor.lineHeight#`\uC758 \uAC12\uC774 \uC0AC\uC6A9\uB429\uB2C8\uB2E4. \uCD5C\uC19F\uAC12\uC740 8\uC785\uB2C8\uB2E4.","\uD2B8\uB9AC\uAC70 \uBB38\uC790\uB97C \uC785\uB825\uD560 \uB54C \uC81C\uC548\uC744 \uC790\uB3D9\uC73C\uB85C \uD45C\uC2DC\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD56D\uC0C1 \uCCAB \uBC88\uC9F8 \uC81C\uC548\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4.","`log`\uAC00 \uCD5C\uADFC\uC5D0 \uC644\uB8CC\uB418\uC5C8\uC73C\uBBC0\uB85C \uCD94\uAC00 \uC785\uB825\uC5D0\uC11C \uC81C\uC548\uC744 \uC120\uD0DD\uD558\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uCD5C\uADFC \uC81C\uC548\uC744 \uC120\uD0DD\uD558\uC138\uC694(\uC608: `console.| -> console.log`).","\uD574\uB2F9 \uC81C\uC548\uC744 \uC644\uB8CC\uD55C \uC774\uC804 \uC811\uB450\uC0AC\uC5D0 \uB530\uB77C \uC81C\uC548\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4(\uC608: `co -> console` \uBC0F `con -> const`).","\uC81C\uC548 \uBAA9\uB85D\uC744 \uD45C\uC2DC\uD560 \uB54C \uC81C\uD55C\uC774 \uBBF8\uB9AC \uC120\uD0DD\uB418\uB294 \uBC29\uC2DD\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD0ED \uC644\uB8CC\uB294 \uD0ED\uC744 \uB204\uB97C \uB54C \uAC00\uC7A5 \uC77C\uCE58\uD558\uB294 \uC81C\uC548\uC744 \uC0BD\uC785\uD569\uB2C8\uB2E4.","\uD0ED \uC644\uC131\uC744 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC124\uC815\uD569\uB2C8\uB2E4.","\uC811\uB450\uC0AC\uAC00 \uC77C\uCE58\uD558\uB294 \uACBD\uC6B0 \uCF54\uB4DC \uC870\uAC01\uC744 \uD0ED \uC644\uB8CC\uD569\uB2C8\uB2E4. 'quickSuggestions'\uB97C \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uC744 \uB54C \uAC00\uC7A5 \uC798 \uC791\uB3D9\uD569\uB2C8\uB2E4.","\uD0ED \uC644\uC131\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD569\uB2C8\uB2E4.","\uBE44\uC815\uC0C1\uC801\uC778 \uC904 \uC885\uACB0\uC790\uAC00 \uC790\uB3D9\uC73C\uB85C \uC81C\uAC70\uB429\uB2C8\uB2E4.","\uBE44\uC815\uC0C1\uC801\uC778 \uC904 \uC885\uACB0\uC790\uAC00 \uBB34\uC2DC\uB429\uB2C8\uB2E4.","\uC81C\uAC70\uD560 \uBE44\uC815\uC0C1\uC801\uC778 \uC904 \uC885\uACB0\uC790 \uD504\uB86C\uD504\uD2B8\uC785\uB2C8\uB2E4.","\uBB38\uC81C\uB97C \uC77C\uC73C\uD0AC \uC218 \uC788\uB294 \uBE44\uC815\uC0C1\uC801\uC778 \uC904 \uC885\uACB0\uC790\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4.","\uD0ED \uC815\uC9C0 \uB4A4\uC5D0 \uACF5\uBC31\uC744 \uC0BD\uC785 \uBC0F \uC0AD\uC81C\uD569\uB2C8\uB2E4.","\uB2E8\uC5B4 \uAD00\uB828 \uD0D0\uC0C9 \uB610\uB294 \uC791\uC5C5\uC744 \uC218\uD589\uD560 \uB54C \uB2E8\uC5B4 \uAD6C\uBD84 \uAE30\uD638\uB85C \uC0AC\uC6A9\uD560 \uBB38\uC790\uC785\uB2C8\uB2E4.","\uC904\uC774 \uBC14\uB00C\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uBDF0\uD3EC\uD2B8 \uB108\uBE44\uC5D0\uC11C \uC904\uC774 \uBC14\uB01D\uB2C8\uB2E4.","`#editor.wordWrapColumn#`\uC5D0\uC11C \uC904\uC774 \uBC14\uB01D\uB2C8\uB2E4.","\uBDF0\uD3EC\uD2B8\uC758 \uCD5C\uC18C\uAC12 \uBC0F `#editor.wordWrapColumn#`\uC5D0\uC11C \uC904\uC774 \uBC14\uB01D\uB2C8\uB2E4.","\uC904 \uBC14\uAFC8 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","`#editor.wordWrap#`\uC774 `wordWrapColumn` \uB610\uB294 'bounded'\uC778 \uACBD\uC6B0 \uD3B8\uC9D1\uAE30\uC758 \uC5F4 \uC904 \uBC14\uAFC8\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uB4E4\uC5EC\uC4F0\uAE30\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \uC904 \uBC14\uAFC8 \uD589\uC774 \uC5F4 1\uC5D0\uC11C \uC2DC\uC791\uB429\uB2C8\uB2E4.","\uC904 \uBC14\uAFC8 \uD589\uC758 \uB4E4\uC5EC\uC4F0\uAE30\uAC00 \uBD80\uBAA8\uC640 \uB3D9\uC77C\uD569\uB2C8\uB2E4.","\uC904 \uBC14\uAFC8 \uD589\uC774 \uBD80\uBAA8 \uCABD\uC73C\uB85C +1\uB9CC\uD07C \uB4E4\uC5EC\uC4F0\uAE30\uB429\uB2C8\uB2E4.","\uC904 \uBC14\uAFC8 \uD589\uC774 \uBD80\uBAA8 \uCABD\uC73C\uB85C +2\uB9CC\uD07C \uB4E4\uC5EC\uC4F0\uAE30\uB429\uB2C8\uB2E4.","\uC904 \uBC14\uAFC8 \uD589\uC758 \uB4E4\uC5EC\uC4F0\uAE30\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBAA8\uB4E0 \uBB38\uC790\uAC00 \uB3D9\uC77C\uD55C \uB108\uBE44\uB77C\uACE0 \uAC00\uC815\uD569\uB2C8\uB2E4. \uC774 \uC54C\uACE0\uB9AC\uC998\uC740 \uACE0\uC815 \uD3ED \uAE00\uAF34\uACFC \uBB38\uC790 \uBAA8\uC591\uC758 \uB108\uBE44\uAC00 \uAC19\uC740 \uD2B9\uC815 \uC2A4\uD06C\uB9BD\uD2B8(\uC608: \uB77C\uD2F4 \uBB38\uC790)\uC5D0 \uC801\uC808\uD788 \uC791\uB3D9\uD558\uB294 \uBE60\uB978 \uC54C\uACE0\uB9AC\uC998\uC785\uB2C8\uB2E4.","\uB798\uD551 \uC810 \uACC4\uC0B0\uC744 \uBE0C\uB77C\uC6B0\uC800\uC5D0 \uC704\uC784\uD569\uB2C8\uB2E4. \uC774 \uC54C\uACE0\uB9AC\uC998\uC740 \uB9E4\uC6B0 \uB290\uB824\uC11C \uB300\uC6A9\uB7C9 \uD30C\uC77C\uC758 \uACBD\uC6B0 \uC911\uB2E8\uB420 \uC218 \uC788\uC9C0\uB9CC \uBAA8\uB4E0 \uACBD\uC6B0\uC5D0 \uC801\uC808\uD788 \uC791\uB3D9\uD569\uB2C8\uB2E4.","\uB798\uD551 \uC810\uC744 \uACC4\uC0B0\uD558\uB294 \uC54C\uACE0\uB9AC\uC998\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4."],"vs/editor/common/editorContextKeys":["Whether the editor text has focus (cursor is blinking)","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)","Whether an editor or a rich text input has focus (cursor is blinking)","Whether the editor is read only","Whether the context is a diff editor","Whether `editor.columnSelection` is enabled","Whether the editor has text selected","Whether the editor has multiple selections","Whether `Tab` will move focus out of the editor","Whether the editor hover is visible","Whether the editor is part of a larger editor (e.g. notebooks)","The language identifier of the editor","Whether the editor has a completion item provider","Whether the editor has a code actions provider","Whether the editor has a code lens provider","Whether the editor has a definition provider","Whether the editor has a declaration provider","Whether the editor has an implementation provider","Whether the editor has a type definition provider","Whether the editor has a hover provider","Whether the editor has a document highlight provider","Whether the editor has a document symbol provider","Whether the editor has a reference provider","Whether the editor has a rename provider","Whether the editor has a signature help provider","Whether the editor has an inline hints provider","Whether the editor has a document formatting provider","Whether the editor has a document selection formatting provider","Whether the editor has multiple document formatting providers","Whether the editor has multiple document selection formatting providers"],"vs/editor/common/model/editStack":["\uC785\uB825\uD558\uB294 \uC911"],"vs/editor/common/modes/modesRegistry":["\uC77C\uBC18 \uD14D\uC2A4\uD2B8"],"vs/editor/common/standaloneStrings":["\uC5C6\uC74C \uC120\uD0DD","\uC904 {0}, \uC5F4 {1}({2} \uC120\uD0DD\uB428)\uC785\uB2C8\uB2E4.","\uD589 {0}, \uC5F4 {1}","{0} \uC120\uD0DD \uD56D\uBAA9({1}\uC790 \uC120\uD0DD\uB428)","{0} \uC120\uD0DD \uD56D\uBAA9","\uC774\uC81C 'accessibilitySupport' \uC124\uC815\uC744 'on'\uC73C\uB85C \uBCC0\uACBD\uD569\uB2C8\uB2E4.","\uC9C0\uAE08 \uD3B8\uC9D1\uAE30 \uC811\uADFC\uC131 \uBB38\uC11C \uD398\uC774\uC9C0\uB97C \uC5EC\uC138\uC694.","\uCC28\uC774 \uD3B8\uC9D1\uAE30\uC758 \uC77D\uAE30 \uC804\uC6A9 \uCC3D\uC5D0\uC11C.","diff \uD3B8\uC9D1\uAE30 \uCC3D\uC5D0\uC11C."," \uC77D\uAE30 \uC804\uC6A9 \uCF54\uB4DC \uD3B8\uC9D1\uAE30\uC5D0\uC11C"," \uCF54\uB4DC \uD3B8\uC9D1\uAE30\uC5D0\uC11C","\uD654\uBA74 \uD310\uB3C5\uAE30 \uC0AC\uC6A9\uC5D0 \uCD5C\uC801\uD654\uB418\uB3C4\uB85D \uD3B8\uC9D1\uAE30\uB97C \uAD6C\uC131\uD558\uB824\uBA74 \uC9C0\uAE08 Command+E\uB97C \uB204\uB974\uC138\uC694.","\uD654\uBA74 \uD310\uB3C5\uAE30\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC788\uB3C4\uB85D \uD3B8\uC9D1\uAE30\uB97C \uCD5C\uC801\uD654\uD558\uB824\uBA74 \uC9C0\uAE08 Ctrl+E\uB97C \uB204\uB974\uC138\uC694.","\uC5D0\uB514\uD130\uB97C \uD654\uBA74 \uD310\uB3C5\uAE30\uC640 \uD568\uAED8 \uC0AC\uC6A9\uD558\uAE30\uC5D0 \uC801\uD569\uD558\uB3C4\uB85D \uAD6C\uC131\uD588\uC2B5\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uB294 \uD654\uBA74 \uD310\uB3C5\uAE30 \uC0AC\uC6A9\uC744 \uC704\uD574 \uC808\uB300\uB85C \uCD5C\uC801\uD654\uB418\uC9C0 \uC54A\uB3C4\uB85D \uAD6C\uC131\uB429\uB2C8\uB2E4. \uD604\uC7AC\uB85C\uC11C\uB294 \uADF8\uB807\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uD604\uC7AC \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD0A4\uB97C \uB204\uB974\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uB2E4\uC74C \uD3EC\uCEE4\uC2A4 \uAC00\uB2A5\uD55C \uC694\uC18C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4. {0}\uC744(\uB97C) \uB20C\uB7EC\uC11C \uC774 \uB3D9\uC791\uC744 \uC124\uC815/\uD574\uC81C\uD569\uB2C8\uB2E4.","\uD604\uC7AC \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD0A4\uB97C \uB204\uB974\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uB2E4\uC74C \uD3EC\uCEE4\uC2A4 \uAC00\uB2A5\uD55C \uC694\uC18C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4. {0} \uBA85\uB839\uC740 \uD604\uC7AC \uD0A4 \uBC14\uC778\uB529\uC73C\uB85C \uD2B8\uB9AC\uAC70\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uD604\uC7AC \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD0A4\uB97C \uB204\uB974\uBA74 \uD0ED \uBB38\uC790\uAC00 \uC0BD\uC785\uB429\uB2C8\uB2E4. {0}\uC744(\uB97C) \uB20C\uB7EC\uC11C \uC774 \uB3D9\uC791\uC744 \uC124\uC815/\uD574\uC81C\uD569\uB2C8\uB2E4.","\uD604\uC7AC \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD0A4\uB97C \uB204\uB974\uBA74 \uD0ED \uBB38\uC790\uAC00 \uC0BD\uC785\uB429\uB2C8\uB2E4. {0} \uBA85\uB839\uC740 \uD604\uC7AC \uD0A4 \uBC14\uC778\uB529\uC73C\uB85C \uD2B8\uB9AC\uAC70\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","Command+H\uB97C \uB20C\uB7EC \uD3B8\uC9D1\uAE30 \uC811\uADFC\uC131\uACFC \uAD00\uB828\uB41C \uC790\uC138\uD55C \uC815\uBCF4\uAC00 \uC788\uB294 \uBE0C\uB77C\uC6B0\uC800 \uCC3D\uC744 \uC5EC\uC138\uC694.","Ctrl+H\uB97C \uB20C\uB7EC \uD3B8\uC9D1\uAE30 \uC811\uADFC\uC131\uACFC \uAD00\uB828\uB41C \uC790\uC138\uD55C \uC815\uBCF4\uAC00 \uC788\uB294 \uBE0C\uB77C\uC6B0\uC800 \uCC3D\uC744 \uC5FD\uB2C8\uB2E4.","\uC774 \uB3C4\uAD6C \uC124\uBA85\uC744 \uD574\uC81C\uD558\uACE0 Esc \uD0A4 \uB610\uB294 Shift+Esc\uB97C \uB20C\uB7EC\uC11C \uD3B8\uC9D1\uAE30\uB85C \uB3CC\uC544\uAC08 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uC811\uADFC\uC131 \uB3C4\uC6C0\uB9D0 \uD45C\uC2DC","\uAC1C\uBC1C\uC790: \uAC80\uC0AC \uD1A0\uD070","\uC904/\uC5F4\uB85C \uC774\uB3D9...","\uBE60\uB978 \uC561\uC138\uC2A4 \uACF5\uAE09\uC790 \uBAA8\uB450 \uD45C\uC2DC","\uBA85\uB839 \uD314\uB808\uD2B8","\uBA85\uB839 \uD45C\uC2DC \uBC0F \uC2E4\uD589","\uAE30\uD638\uB85C \uAC00\uC11C...","\uBC94\uC8FC\uBCC4 \uAE30\uD638\uB85C \uC774\uB3D9...","\uD3B8\uC9D1\uAE30 \uCF58\uD150\uCE20","\uC811\uADFC\uC131 \uC635\uC158\uC740 Alt+F1\uC744 \uB20C\uB7EC\uC5EC \uD569\uB2C8\uB2E4.","\uACE0\uB300\uBE44 \uD14C\uB9C8\uB85C \uC804\uD658","{1} \uD30C\uC77C\uC5D0\uC11C \uD3B8\uC9D1\uC744 {0}\uAC1C \uD588\uC2B5\uB2C8\uB2E4."],"vs/editor/common/view/editorColorRegistry":["\uCEE4\uC11C \uC704\uCE58\uC758 \uC904 \uAC15\uC870 \uD45C\uC2DC\uC5D0 \uB300\uD55C \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uCEE4\uC11C \uC704\uCE58\uC758 \uC904 \uD14C\uB450\uB9AC\uC5D0 \uB300\uD55C \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBE60\uB978 \uC5F4\uAE30 \uBC0F \uCC3E\uAE30 \uAE30\uB2A5 \uB4F1\uC744 \uD1B5\uD574 \uAC15\uC870 \uD45C\uC2DC\uB41C \uC601\uC5ED\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uAC15\uC870 \uC601\uC5ED \uC8FC\uBCC0\uC758 \uD14C\uB450\uB9AC\uC5D0 \uB300\uD55C \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4","\uAC15\uC870 \uD45C\uC2DC\uB41C \uAE30\uD638(\uC608: \uC815\uC758\uB85C \uC774\uB3D9 \uB610\uB294 \uB2E4\uC74C/\uC774\uC804 \uAE30\uD638\uB85C \uC774\uB3D9)\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774 \uC0C9\uC0C1\uC740 \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uAC15\uC870 \uD45C\uC2DC\uB41C \uAE30\uD638 \uC8FC\uC704\uC758 \uD14C\uB450\uB9AC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCEE4\uC11C \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCEE4\uC11C\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBE14\uB85D \uCEE4\uC11C\uC640 \uACB9\uCE58\uB294 \uAE00\uC790\uC758 \uC0C9\uC0C1\uC744 \uC0AC\uC6A9\uC790 \uC815\uC758\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC758 \uACF5\uBC31 \uBB38\uC790 \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uB4E4\uC5EC\uC4F0\uAE30 \uC548\uB0B4\uC120 \uC0C9\uC785\uB2C8\uB2E4.","\uD65C\uC131 \uD3B8\uC9D1\uAE30 \uB4E4\uC5EC\uC4F0\uAE30 \uC548\uB0B4\uC120 \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uC904 \uBC88\uD638 \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uD65C\uC131 \uC601\uC5ED \uC904\uBC88\uD638 \uC0C9\uC0C1","ID\uB294 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB300\uC2E0 'editorLineNumber.activeForeground'\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.","\uD3B8\uC9D1\uAE30 \uD65C\uC131 \uC601\uC5ED \uC904\uBC88\uD638 \uC0C9\uC0C1","\uD3B8\uC9D1\uAE30 \uB208\uAE08\uC758 \uC0C9\uC0C1\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCF54\uB4DC \uB80C\uC988\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC77C\uCE58\uD558\uB294 \uAD04\uD638 \uB4A4\uC758 \uBC30\uACBD\uC0C9","\uC77C\uCE58\uD558\uB294 \uBE0C\uB798\uD0B7 \uBC15\uC2A4\uC758 \uC0C9\uC0C1","\uAC1C\uC694 \uB208\uAE08 \uACBD\uACC4\uC758 \uC0C9\uC0C1\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uAC1C\uC694 \uB208\uAE08\uC790\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBBF8\uB2C8\uB9F5\uC774 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uB418\uC5B4 \uD3B8\uC9D1\uAE30\uC758 \uC624\uB978\uCABD\uC5D0 \uBC30\uCE58\uB41C \uACBD\uC6B0\uC5D0\uB9CC \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uAC70\uD130\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAC70\uD130\uC5D0\uB294 \uAE00\uB9AC\uD504 \uC5EC\uBC31\uACFC \uD589 \uC218\uAC00 \uC788\uC2B5\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC758 \uBD88\uD544\uC694\uD55C(\uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB294) \uC18C\uC2A4 \uCF54\uB4DC \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.",`\uD3B8\uC9D1\uAE30\uC758 \uBD88\uD544\uC694\uD55C(\uC0AC\uC6A9\uD558\uC9C0 \uC54A\uB294) \uC18C\uC2A4 \uCF54\uB4DC \uBD88\uD22C\uBA85\uB3C4\uC785\uB2C8\uB2E4. \uC608\uB97C \uB4E4\uC5B4 "#000000c0"\uC740 75% \uBD88\uD22C\uBA85\uB3C4\uB85C \uCF54\uB4DC\uB97C \uB80C\uB354\uB9C1\uD569\uB2C8\uB2E4. \uACE0\uB300\uBE44 \uD14C\uB9C8\uC758 \uACBD\uC6B0 \uD398\uC774\uB4DC \uC544\uC6C3\uD558\uC9C0 \uC54A\uACE0 'editorUnnecessaryCode.border' \uD14C\uB9C8 \uC0C9\uC744 \uC0AC\uC6A9\uD558\uC5EC \uBD88\uD544\uC694\uD55C \uCF54\uB4DC\uC5D0 \uBC11\uC904\uC744 \uADF8\uC73C\uC138\uC694.`,"\uBC94\uC704\uC758 \uAC1C\uC694 \uB208\uAE08\uC790 \uD45C\uC2DD \uC0C9\uC774 \uAC15\uC870 \uD45C\uC2DC\uB429\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uC624\uB958\uC758 \uAC1C\uC694 \uB208\uAE08\uC790 \uB9C8\uCEE4 \uC0C9\uC785\uB2C8\uB2E4.","\uACBD\uACE0\uC758 \uAC1C\uC694 \uB208\uAE08\uC790 \uB9C8\uCEE4 \uC0C9\uC785\uB2C8\uB2E4.","\uC815\uBCF4\uC758 \uAC1C\uC694 \uB208\uAE08\uC790 \uB9C8\uCEE4 \uC0C9\uC785\uB2C8\uB2E4."],"vs/editor/contrib/anchorSelect/anchorSelect":["\uC120\uD0DD \uC575\uCEE4 \uC9C0\uC810","{0}\uC5D0 \uC124\uC815\uB41C \uC575\uCEE4: {1}","\uC120\uD0DD \uC575\uCEE4 \uC9C0\uC810 \uC124\uC815","\uC120\uD0DD \uC575\uCEE4 \uC9C0\uC810\uC73C\uB85C \uC774\uB3D9","\uC575\uCEE4\uC5D0\uC11C \uCEE4\uC11C\uB85C \uC120\uD0DD","\uC120\uD0DD \uC575\uCEE4 \uC9C0\uC810 \uCDE8\uC18C"],"vs/editor/contrib/bracketMatching/bracketMatching":["\uAD04\uD638\uC5D0 \uD574\uB2F9\uD558\uB294 \uC601\uC5ED\uC744 \uD45C\uC2DC\uC790\uC5D0 \uCC44\uC0C9\uD558\uC5EC \uD45C\uC2DC\uD569\uB2C8\uB2E4.","\uB300\uAD04\uD638\uB85C \uC774\uB3D9","\uAD04\uD638\uAE4C\uC9C0 \uC120\uD0DD","\uB300\uAD04\uD638\uB85C \uC774\uB3D9(&&B)"],"vs/editor/contrib/caretOperations/caretOperations":["\uC120\uD0DD\uD55C \uD14D\uC2A4\uD2B8\uB97C \uC67C\uCABD\uC73C\uB85C \uC774\uB3D9","\uC120\uD0DD\uD55C \uD14D\uC2A4\uD2B8\uB97C \uC624\uB978\uCABD\uC73C\uB85C \uC774\uB3D9"],"vs/editor/contrib/caretOperations/transpose":["\uBB38\uC790 \uBC14\uAFB8\uAE30"],"vs/editor/contrib/clipboard/clipboard":["\uC798\uB77C\uB0B4\uAE30(&&T)","\uC798\uB77C\uB0B4\uAE30","\uC798\uB77C\uB0B4\uAE30","\uBCF5\uC0AC(&&C)","\uBCF5\uC0AC","\uBCF5\uC0AC","\uBD99\uC5EC\uB123\uAE30(&&P)","\uBD99\uC5EC\uB123\uAE30","\uBD99\uC5EC\uB123\uAE30","\uAD6C\uBB38\uC744 \uAC15\uC870 \uD45C\uC2DC\uD558\uC5EC \uBCF5\uC0AC"],"vs/editor/contrib/codeAction/codeActionCommands":["\uC2E4\uD589\uD560 \uCF54\uB4DC \uC791\uC5C5\uC758 \uC885\uB958\uC785\uB2C8\uB2E4.","\uBC18\uD658\uB41C \uC791\uC5C5\uC774 \uC801\uC6A9\uB418\uB294 \uACBD\uC6B0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD56D\uC0C1 \uBC18\uD658\uB41C \uCCAB \uBC88\uC9F8 \uCF54\uB4DC \uC791\uC5C5\uC744 \uC801\uC6A9\uD569\uB2C8\uB2E4.","\uCCAB \uBC88\uC9F8 \uBC18\uD658\uB41C \uCF54\uB4DC \uC791\uC5C5\uC744 \uC801\uC6A9\uD569\uB2C8\uB2E4(\uC774 \uC791\uC5C5\uB9CC \uC788\uB294 \uACBD\uC6B0).","\uBC18\uD658\uB41C \uCF54\uB4DC \uC791\uC5C5\uC744 \uC801\uC6A9\uD558\uC9C0 \uB9C8\uC138\uC694.","\uAE30\uBCF8 \uCF54\uB4DC \uC791\uC5C5\uB9CC \uBC18\uD658\uB418\uB3C4\uB85D \uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uCF54\uB4DC \uC791\uC5C5\uC744 \uC801\uC6A9\uD558\uB294 \uC911 \uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.","\uBE60\uB978 \uC218\uC815...","\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uCF54\uB4DC \uB3D9\uC791\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","'{0}'\uC5D0 \uB300\uD55C \uAE30\uBCF8 \uCF54\uB4DC \uC791\uC5C5\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC74C","'{0}'\uC5D0 \uB300\uD55C \uCF54\uB4DC \uC791\uC5C5\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC74C","\uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uAE30\uBCF8 \uCF54\uB4DC \uC791\uC5C5 \uC5C6\uC74C","\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uCF54\uB4DC \uB3D9\uC791\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","\uB9AC\uD329\uD130\uB9C1...","'{0}'\uC5D0 \uB300\uD55C \uAE30\uBCF8 \uB9AC\uD329\uD130\uB9C1 \uC5C6\uC74C","'{0}'\uC5D0 \uB300\uD55C \uB9AC\uD329\uD130\uB9C1 \uC5C6\uC74C","\uAE30\uBCF8 \uC124\uC815 \uB9AC\uD329\uD130\uB9C1\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC74C","\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uB9AC\uD399\uD130\uB9C1\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","\uC18C\uC2A4 \uC791\uC5C5...","'{0}'\uC5D0 \uB300\uD55C \uAE30\uBCF8 \uC18C\uC2A4 \uC791\uC5C5\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC74C","'{0}'\uC5D0 \uB300\uD55C \uC18C\uC2A4 \uC791\uC5C5\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC74C","\uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uAE30\uBCF8 \uC6D0\uBCF8 \uC791\uC5C5 \uC5C6\uC74C","\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uC18C\uC2A4 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","\uAC00\uC838\uC624\uAE30 \uAD6C\uC131","\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uAC00\uC838\uC624\uAE30 \uAD6C\uC131 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA8\uB450 \uC218\uC815","\uBAA8\uB4E0 \uC791\uC5C5 \uC218\uC815 \uC0AC\uC6A9 \uBD88\uAC00","\uC790\uB3D9 \uC218\uC815...","\uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uC790\uB3D9 \uC218\uC815 \uC5C6\uC74C"],"vs/editor/contrib/codeAction/lightBulbWidget":["\uC218\uC815 \uC0AC\uD56D\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4. \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uAE30\uBCF8 \uC218\uC815({0})","\uC218\uC815 \uC0AC\uD56D \uD45C\uC2DC({0})","\uC218\uC815 \uC0AC\uD56D \uD45C\uC2DC"],"vs/editor/contrib/codelens/codelensController":["\uD604\uC7AC \uC904\uC5D0 \uB300\uD55C \uCF54\uB4DC \uB80C\uC988 \uBA85\uB839 \uD45C\uC2DC"],"vs/editor/contrib/comment/comment":["\uC904 \uC8FC\uC11D \uC124\uC815/\uD574\uC81C","\uC904 \uC8FC\uC11D \uC124\uC815/\uD574\uC81C(&&T)","\uC904 \uC8FC\uC11D \uCD94\uAC00","\uC904 \uC8FC\uC11D \uC81C\uAC70","\uBE14\uB85D \uC8FC\uC11D \uC124\uC815/\uD574\uC81C","\uBE14\uB85D \uC8FC\uC11D \uC124\uC815/\uD574\uC81C(&&B)"],"vs/editor/contrib/contextmenu/contextmenu":["\uD3B8\uC9D1\uAE30 \uC0C1\uD669\uC5D0 \uB9DE\uB294 \uBA54\uB274 \uD45C\uC2DC"],"vs/editor/contrib/cursorUndo/cursorUndo":["\uCEE4\uC11C \uC2E4\uD589 \uCDE8\uC18C","\uCEE4\uC11C \uB2E4\uC2DC \uC2E4\uD589"],"vs/editor/contrib/find/findController":["\uCC3E\uAE30","\uCC3E\uAE30(&&F)","\uC120\uD0DD \uC601\uC5ED\uC5D0\uC11C \uCC3E\uAE30","\uB2E4\uC74C \uCC3E\uAE30","\uB2E4\uC74C \uCC3E\uAE30","\uC774\uC804 \uCC3E\uAE30","\uC774\uC804 \uCC3E\uAE30","\uB2E4\uC74C \uC120\uD0DD \uCC3E\uAE30","\uC774\uC804 \uC120\uD0DD \uCC3E\uAE30","\uBC14\uAFB8\uAE30","\uBC14\uAFB8\uAE30(&&R)"],"vs/editor/contrib/find/findWidget":["\uD3B8\uC9D1\uAE30 \uCC3E\uAE30 \uC704\uC82F\uC5D0\uC11C '\uC120\uD0DD \uC601\uC5ED\uC5D0\uC11C \uCC3E\uAE30'\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCC3E\uAE30 \uC704\uC82F\uC774 \uCD95\uC18C\uB418\uC5C8\uC74C\uC744 \uB098\uD0C0\uB0B4\uB294 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCC3E\uAE30 \uC704\uC82F\uC774 \uD655\uC7A5\uB418\uC5C8\uC74C\uC744 \uB098\uD0C0\uB0B4\uB294 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCC3E\uAE30 \uC704\uC82F\uC5D0\uC11C '\uBC14\uAFB8\uAE30'\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCC3E\uAE30 \uC704\uC82F\uC5D0\uC11C '\uBAA8\uB450 \uBC14\uAFB8\uAE30'\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCC3E\uAE30 \uC704\uC82F\uC5D0\uC11C '\uC774\uC804 \uCC3E\uAE30'\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uCC3E\uAE30 \uC704\uC82F\uC5D0\uC11C '\uB2E4\uC74C \uCC3E\uAE30'\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uCC3E\uAE30","\uCC3E\uAE30","\uC774\uC804 \uC77C\uCE58","\uB2E4\uC74C \uC77C\uCE58 \uD56D\uBAA9","\uC120\uD0DD \uD56D\uBAA9\uC5D0\uC11C \uCC3E\uAE30","\uB2EB\uAE30","\uBC14\uAFB8\uAE30","\uBC14\uAFB8\uAE30","\uBC14\uAFB8\uAE30","\uBAA8\uB450 \uBC14\uAFB8\uAE30","\uBC14\uAFB8\uAE30 \uBAA8\uB4DC \uC124\uC815/\uD574\uC81C","\uCC98\uC74C {0}\uAC1C\uC758 \uACB0\uACFC\uAC00 \uAC15\uC870 \uD45C\uC2DC\uB418\uC9C0\uB9CC \uBAA8\uB4E0 \uCC3E\uAE30 \uC791\uC5C5\uC740 \uC804\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0 \uB300\uD574 \uC218\uD589\uB429\uB2C8\uB2E4.","{1}\uC758 {0}","\uACB0\uACFC \uC5C6\uC74C","{0}\uAC1C \uCC3E\uC74C","'{1}'\uC5D0 \uB300\uD55C {0}\uC744(\uB97C) \uCC3E\uC74C","{2}\uC5D0\uC11C '{1}'\uC5D0 \uB300\uD55C {0}\uC744(\uB97C) \uCC3E\uC74C","'{1}'\uC5D0 \uB300\uD55C {0}\uC744(\uB97C) \uCC3E\uC74C","Ctrl+Enter\uB97C \uB204\uB974\uBA74 \uC774\uC81C \uBAA8\uB4E0 \uD56D\uBAA9\uC744 \uBC14\uAFB8\uC9C0 \uC54A\uACE0 \uC904 \uBC14\uAFC8\uC744 \uC0BD\uC785\uD569\uB2C8\uB2E4. editor.action.replaceAll\uC758 \uD0A4 \uBC14\uC778\uB529\uC744 \uC218\uC815\uD558\uC5EC \uC774 \uB3D9\uC791\uC744 \uC7AC\uC815\uC758\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."],"vs/editor/contrib/folding/folding":["\uD3BC\uCE58\uAE30","\uC7AC\uADC0\uC801\uC73C\uB85C \uD3BC\uCE58\uAE30","\uC811\uAE30","\uC811\uAE30 \uC804\uD658","\uC7AC\uADC0\uC801\uC73C\uB85C \uC811\uAE30","\uBAA8\uB4E0 \uBE14\uB85D \uCF54\uBA58\uD2B8\uB97C \uC811\uAE30","\uBAA8\uB4E0 \uC601\uC5ED \uC811\uAE30","\uBAA8\uB4E0 \uC601\uC5ED \uD3BC\uCE58\uAE30","\uBAA8\uB450 \uC811\uAE30","\uBAA8\uB450 \uD3BC\uCE58\uAE30","\uC218\uC900 {0} \uC811\uAE30","\uC811\uD78C \uBC94\uC704\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC0C9\uC740 \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uAE30 \uC704\uD574 \uBD88\uD22C\uBA85\uD574\uC11C\uB294 \uC548 \uB429\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uC5EC\uBC31\uC758 \uC811\uAE30 \uCEE8\uD2B8\uB864 \uC0C9\uC785\uB2C8\uB2E4."],"vs/editor/contrib/folding/foldingDecorations":["\uD3B8\uC9D1\uAE30 \uBB38\uC790 \uBAA8\uC591 \uC5EC\uBC31\uC5D0\uC11C \uD655\uC7A5\uB41C \uBC94\uC704\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uBB38\uC790 \uBAA8\uC591 \uC5EC\uBC31\uC5D0\uC11C \uCD95\uC18C\uB41C \uBC94\uC704\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4."],"vs/editor/contrib/fontZoom/fontZoom":["\uD3B8\uC9D1\uAE30 \uAE00\uAF34 \uD655\uB300","\uD3B8\uC9D1\uAE30 \uAE00\uAF34 \uCD95\uC18C","\uD3B8\uC9D1\uAE30 \uAE00\uAF34 \uD655\uB300/\uCD95\uC18C \uB2E4\uC2DC \uC124\uC815"],"vs/editor/contrib/format/format":["\uC904 {0}\uC5D0\uC11C 1\uAC1C \uC11C\uC2DD \uD3B8\uC9D1\uC744 \uC218\uD589\uD588\uC2B5\uB2C8\uB2E4.","\uC904 {1}\uC5D0\uC11C {0}\uAC1C \uC11C\uC2DD \uD3B8\uC9D1\uC744 \uC218\uD589\uD588\uC2B5\uB2C8\uB2E4.","\uC904 {0}\uACFC(\uC640) {1} \uC0AC\uC774\uC5D0\uC11C 1\uAC1C \uC11C\uC2DD \uD3B8\uC9D1\uC744 \uC218\uD589\uD588\uC2B5\uB2C8\uB2E4.","\uC904 {1}\uACFC(\uC640) {2} \uC0AC\uC774\uC5D0\uC11C {0}\uAC1C \uC11C\uC2DD \uD3B8\uC9D1\uC744 \uC218\uD589\uD588\uC2B5\uB2C8\uB2E4."],"vs/editor/contrib/format/formatActions":["\uBB38\uC11C \uC11C\uC2DD","\uC120\uD0DD \uC601\uC5ED \uC11C\uC2DD"],"vs/editor/contrib/gotoError/gotoError":["\uB2E4\uC74C \uBB38\uC81C\uB85C \uC774\uB3D9 (\uC624\uB958, \uACBD\uACE0, \uC815\uBCF4)","\uB2E4\uC74C \uB9C8\uCEE4\uB85C \uC774\uB3D9\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uC774\uC804 \uBB38\uC81C\uB85C \uC774\uB3D9 (\uC624\uB958, \uACBD\uACE0, \uC815\uBCF4)","\uC774\uC804 \uB9C8\uCEE4\uB85C \uC774\uB3D9\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uD30C\uC77C\uC758 \uB2E4\uC74C \uBB38\uC81C\uB85C \uC774\uB3D9 (\uC624\uB958, \uACBD\uACE0, \uC815\uBCF4)","\uB2E4\uC74C \uBB38\uC81C(&&P)","\uD30C\uC77C\uC758 \uC774\uC804 \uBB38\uC81C\uB85C \uC774\uB3D9 (\uC624\uB958, \uACBD\uACE0, \uC815\uBCF4)","\uC774\uC804 \uBB38\uC81C(&&P)"],"vs/editor/contrib/gotoError/gotoErrorWidget":["\uC624\uB958","\uACBD\uACE0","\uC815\uBCF4","\uD78C\uD2B8","{1}\uC758 {0}\uC785\uB2C8\uB2E4. ","\uBB38\uC81C {1}\uAC1C \uC911 {0}\uAC1C","\uBB38\uC81C {1}\uAC1C \uC911 {0}\uAC1C","\uD3B8\uC9D1\uAE30 \uD45C\uC2DD \uD0D0\uC0C9 \uC704\uC82F \uC624\uB958 \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uD45C\uC2DD \uD0D0\uC0C9 \uC704\uC82F \uACBD\uACE0 \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uD45C\uC2DD \uD0D0\uC0C9 \uC704\uC82F \uC815\uBCF4 \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uD45C\uC2DD \uD0D0\uC0C9 \uC704\uC82F \uBC30\uACBD\uC785\uB2C8\uB2E4."],"vs/editor/contrib/gotoSymbol/goToCommands":["\uD53C\uD0B9","\uC815\uC758","'{0}'\uC5D0 \uB300\uD55C \uC815\uC758\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uC815\uC758\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC74C","\uC815\uC758\uB85C \uC774\uB3D9","\uC815\uC758\uB85C \uC774\uB3D9(&&D)","\uCE21\uBA74\uC5D0\uC11C \uC815\uC758 \uC5F4\uAE30","\uC815\uC758 \uD53C\uD0B9","\uC120\uC5B8","'{0}'\uC5D0 \uB300\uD55C \uC120\uC5B8\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC74C","\uC120\uC5B8\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC74C","\uC120\uC5B8\uC73C\uB85C \uC774\uB3D9","\uC120\uC5B8\uC73C\uB85C \uC774\uB3D9(&&D)","'{0}'\uC5D0 \uB300\uD55C \uC120\uC5B8\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC74C","\uC120\uC5B8\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC74C","\uC120\uC5B8 \uBBF8\uB9AC \uBCF4\uAE30","\uD615\uC2DD \uC815\uC758","'{0}'\uC5D0 \uB300\uD55C \uD615\uC2DD \uC815\uC758\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uD615\uC2DD \uC815\uC758\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uD615\uC2DD \uC815\uC758\uB85C \uC774\uB3D9","\uD615\uC2DD \uC815\uC758\uB85C \uC774\uB3D9(&&T)","\uD615\uC2DD \uC815\uC758 \uBBF8\uB9AC \uBCF4\uAE30","\uAD6C\uD604","'{0}'\uC5D0 \uB300\uD55C \uAD6C\uD604\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uAD6C\uD604\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uAD6C\uD604\uC73C\uB85C \uC774\uB3D9","\uAD6C\uD604\uC73C\uB85C \uC774\uB3D9(&&I)","\uD53C\uD0B9 \uAD6C\uD604","'{0}'\uC5D0 \uB300\uD55C \uCC38\uC870\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uCC38\uC870\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uCC38\uC870\uB85C \uC774\uB3D9","\uCC38\uC870\uB85C \uC774\uB3D9(&&R)","\uCC38\uC870","\uCC38\uC870 \uBBF8\uB9AC \uBCF4\uAE30","\uCC38\uC870","\uAE30\uD638\uB85C \uC774\uB3D9","\uC704\uCE58","'{0}'\uC5D0 \uB300\uD55C \uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC74C","\uCC38\uC870"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["{0}\uAC1C \uC815\uC758\uB97C \uD45C\uC2DC\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["\uB85C\uB4DC \uC911...","{0}({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["\uCC38\uC870 {0}\uAC1C","\uCC38\uC870 {0}\uAC1C","\uCC38\uC870"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["\uBBF8\uB9AC \uBCF4\uAE30\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC74C","\uACB0\uACFC \uC5C6\uC74C","\uCC38\uC870"],"vs/editor/contrib/gotoSymbol/referencesModel":["{2}\uC5F4, {1}\uC904, {0}\uC758 \uAE30\uD638","\uC5F4 {2}, {3}\uC758 \uC904 {1}\uC5D0 \uC788\uB294 {0}\uC758 \uAE30\uD638","{0}\uC758 \uAE30\uD638 1\uAC1C, \uC804\uCCB4 \uACBD\uB85C {1}","{1}\uC758 \uAE30\uD638 {0}\uAC1C, \uC804\uCCB4 \uACBD\uB85C {2}","\uACB0\uACFC \uC5C6\uC74C","{0}\uC5D0\uC11C \uAE30\uD638 1\uAC1C\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4.","{1}\uC5D0\uC11C \uAE30\uD638 {0}\uAC1C\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4.","{1}\uAC1C \uD30C\uC77C\uC5D0\uC11C \uAE30\uD638 {0}\uAC1C\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4."],"vs/editor/contrib/gotoSymbol/symbolNavigation":["{1}\uC758 {0} \uAE30\uD638, \uB2E4\uC74C\uC758 \uACBD\uC6B0 {2}","{1}\uC758 \uAE30\uD638 {0}"],"vs/editor/contrib/hover/hover":["\uAC00\uB9AC\uD0A4\uAE30 \uD45C\uC2DC","\uC815\uC758 \uBBF8\uB9AC \uBCF4\uAE30 \uAC00\uB9AC\uD0A8 \uD56D\uBAA9 \uD45C\uC2DC"],"vs/editor/contrib/hover/markdownHoverParticipant":["\uB85C\uB4DC \uC911..."],"vs/editor/contrib/hover/markerHoverParticipant":["View Problem","\uBE60\uB978 \uC218\uC815\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC74C","\uBE60\uB978 \uC218\uC815\uC744 \uD655\uC778\uD558\uB294 \uC911...","\uBE60\uB978 \uC218\uC815\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC74C","\uBE60\uB978 \uC218\uC815..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["\uC774\uC804 \uAC12\uC73C\uB85C \uBC14\uAFB8\uAE30","\uB2E4\uC74C \uAC12\uC73C\uB85C \uBC14\uAFB8\uAE30"],"vs/editor/contrib/indentation/indentation":["\uB4E4\uC5EC\uC4F0\uAE30\uB97C \uACF5\uBC31\uC73C\uB85C \uBCC0\uD658","\uB4E4\uC5EC\uC4F0\uAE30\uB97C \uD0ED\uC73C\uB85C \uBCC0\uD658","\uAD6C\uC131\uB41C \uD0ED \uD06C\uAE30","\uD604\uC7AC \uD30C\uC77C\uC758 \uD0ED \uD06C\uAE30 \uC120\uD0DD","\uD0ED\uC744 \uC0AC\uC6A9\uD55C \uB4E4\uC5EC\uC4F0\uAE30","\uACF5\uBC31\uC744 \uC0AC\uC6A9\uD55C \uB4E4\uC5EC\uC4F0\uAE30","\uCF58\uD150\uCE20\uC5D0\uC11C \uB4E4\uC5EC\uC4F0\uAE30 \uAC10\uC9C0","\uC904 \uB2E4\uC2DC \uB4E4\uC5EC\uC4F0\uAE30","\uC120\uD0DD\uD55C \uC904 \uB2E4\uC2DC \uB4E4\uC5EC\uC4F0\uAE30"],"vs/editor/contrib/linesOperations/linesOperations":["\uC704\uC5D0 \uC904 \uBCF5\uC0AC","\uC704\uC5D0 \uC904 \uBCF5\uC0AC(&&C)","\uC544\uB798\uC5D0 \uC904 \uBCF5\uC0AC","\uC544\uB798\uC5D0 \uC904 \uBCF5\uC0AC(&&P)","\uC911\uBCF5\uB41C \uC120\uD0DD \uC601\uC5ED","\uC911\uBCF5\uB41C \uC120\uD0DD \uC601\uC5ED(&&D)","\uC904 \uC704\uB85C \uC774\uB3D9","\uC904 \uC704\uB85C \uC774\uB3D9(&&V)","\uC904 \uC544\uB798\uB85C \uC774\uB3D9","\uC904 \uC544\uB798\uB85C \uC774\uB3D9(&&L)","\uC904\uC744 \uC624\uB984\uCC28\uC21C \uC815\uB82C","\uC904\uC744 \uB0B4\uB9BC\uCC28\uC21C\uC73C\uB85C \uC815\uB82C","\uD6C4\uD589 \uACF5\uBC31 \uC790\uB974\uAE30","\uC904 \uC0AD\uC81C","\uC904 \uB4E4\uC5EC\uC4F0\uAE30","\uC904 \uB0B4\uC5B4\uC4F0\uAE30","\uC704\uC5D0 \uC904 \uC0BD\uC785","\uC544\uB798\uC5D0 \uC904 \uC0BD\uC785","\uC67C\uCABD \uBAA8\uB450 \uC0AD\uC81C","\uC6B0\uCE21\uC5D0 \uC788\uB294 \uD56D\uBAA9 \uC0AD\uC81C","\uC904 \uC5F0\uACB0","\uCEE4\uC11C \uC8FC\uC704 \uBB38\uC790 \uBC14\uAFB8\uAE30","\uB300\uBB38\uC790\uB85C \uBCC0\uD658","\uC18C\uBB38\uC790\uB85C \uBCC0\uD658","\uB2E8\uC5B4\uC758 \uCCAB \uAE00\uC790\uB97C \uB300\uBB38\uC790\uB85C \uBCC0\uD658","\uC2A4\uB124\uC774\uD06C \uD45C\uAE30\uBC95\uC73C\uB85C \uBCC0\uD658"],"vs/editor/contrib/linkedEditing/linkedEditing":["\uC5F0\uACB0\uB41C \uD3B8\uC9D1 \uC2DC\uC791","\uD615\uC2DD\uC758 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC790\uB3D9\uC73C\uB85C \uC774\uB984\uC744 \uBC14\uAFC0 \uB54C\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4."],"vs/editor/contrib/links/links":["\uBA85\uB839 \uC2E4\uD589","\uB9C1\uD06C\uB85C \uC774\uB3D9","Cmd+\uD074\uB9AD","Ctrl+\uD074\uB9AD","Option+\uD074\uB9AD","Alt+\uD074\uB9AD","\uBA85\uB839 {0} \uC2E4\uD589","{0} \uD615\uC2DD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC73C\uBBC0\uB85C \uC774 \uB9C1\uD06C\uB97C \uC5F4\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4","\uB300\uC0C1\uC774 \uC5C6\uC73C\uBBC0\uB85C \uC774 \uB9C1\uD06C\uB97C \uC5F4\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.","\uB9C1\uD06C \uC5F4\uAE30"],"vs/editor/contrib/message/messageController":["\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD604\uC7AC \uC778\uB77C\uC778 \uBA54\uC2DC\uC9C0\uB97C \uD45C\uC2DC\uD558\uB294\uC9C0 \uC5EC\uBD80","\uC77D\uAE30 \uC804\uC6A9 \uD3B8\uC9D1\uAE30\uC5D0\uC11C\uB294 \uD3B8\uC9D1\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."],"vs/editor/contrib/multicursor/multicursor":["\uC704\uC5D0 \uCEE4\uC11C \uCD94\uAC00","\uC704\uC5D0 \uCEE4\uC11C \uCD94\uAC00(&&A)","\uC544\uB798\uC5D0 \uCEE4\uC11C \uCD94\uAC00","\uC544\uB798\uC5D0 \uCEE4\uC11C \uCD94\uAC00(&&D)","\uC904 \uB05D\uC5D0 \uCEE4\uC11C \uCD94\uAC00","\uC904 \uB05D\uC5D0 \uCEE4\uC11C \uCD94\uAC00(&&U)","\uB9E8 \uC544\uB798\uC5D0 \uCEE4\uC11C \uCD94\uAC00","\uB9E8 \uC704\uC5D0 \uCEE4\uC11C \uCD94\uAC00","\uB2E4\uC74C \uC77C\uCE58 \uD56D\uBAA9 \uCC3E\uAE30\uC5D0 \uC120\uD0DD \uD56D\uBAA9 \uCD94\uAC00","\uB2E4\uC74C \uD56D\uBAA9 \uCD94\uAC00(&&N)","\uC774\uC804 \uC77C\uCE58 \uD56D\uBAA9 \uCC3E\uAE30\uC5D0 \uC120\uD0DD \uD56D\uBAA9 \uCD94\uAC00","\uC774\uC804 \uD56D\uBAA9 \uCD94\uAC00(&&R)","\uB2E4\uC74C \uC77C\uCE58 \uD56D\uBAA9 \uCC3E\uAE30\uB85C \uB9C8\uC9C0\uB9C9 \uC120\uD0DD \uD56D\uBAA9 \uC774\uB3D9","\uB9C8\uC9C0\uB9C9 \uC120\uD0DD \uD56D\uBAA9\uC744 \uC774\uC804 \uC77C\uCE58 \uD56D\uBAA9 \uCC3E\uAE30\uB85C \uC774\uB3D9","\uC77C\uCE58 \uD56D\uBAA9 \uCC3E\uAE30\uC758 \uBAA8\uB4E0 \uD56D\uBAA9 \uC120\uD0DD","\uBAA8\uB4E0 \uD56D\uBAA9 \uC120\uD0DD(&&O)","\uBAA8\uB4E0 \uD56D\uBAA9 \uBCC0\uACBD"],"vs/editor/contrib/parameterHints/parameterHints":["\uB9E4\uAC1C \uBCC0\uC218 \uD78C\uD2B8 \uD2B8\uB9AC\uAC70"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["\uB2E4\uC74C \uB9E4\uAC1C \uBCC0\uC218 \uD78C\uD2B8 \uD45C\uC2DC\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uC774\uC804 \uB9E4\uAC1C \uBCC0\uC218 \uD78C\uD2B8 \uD45C\uC2DC\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","{0}, \uD78C\uD2B8"],"vs/editor/contrib/peekView/peekView":["\uB2EB\uAE30","Peek \uBDF0 \uC81C\uBAA9 \uC601\uC5ED\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uC81C\uBAA9 \uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uC81C\uBAA9 \uC815\uBCF4 \uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uD14C\uB450\uB9AC \uBC0F \uD654\uC0B4\uD45C \uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uACB0\uACFC \uBAA9\uB85D\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uACB0\uACFC \uBAA9\uB85D\uC5D0\uC11C \uB77C\uC778 \uB178\uB4DC\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uACB0\uACFC \uBAA9\uB85D\uC5D0\uC11C \uD30C\uC77C \uB178\uB4DC\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uACB0\uACFC \uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD\uB41C \uD56D\uBAA9\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uACB0\uACFC \uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD\uB41C \uD56D\uBAA9\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uD3B8\uC9D1\uAE30\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uD3B8\uC9D1\uAE30\uC758 \uAC70\uD130 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uACB0\uACFC \uBAA9\uB85D\uC758 \uC77C\uCE58 \uD56D\uBAA9 \uAC15\uC870 \uD45C\uC2DC \uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uD3B8\uC9D1\uAE30\uC758 \uC77C\uCE58 \uD56D\uBAA9 \uAC15\uC870 \uD45C\uC2DC \uC0C9\uC785\uB2C8\uB2E4.","Peek \uBDF0 \uD3B8\uC9D1\uAE30\uC758 \uC77C\uCE58 \uD56D\uBAA9 \uAC15\uC870 \uD45C\uC2DC \uD14C\uB450\uB9AC\uC785\uB2C8\uB2E4."],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["\uC6B0\uC120 \uD14D\uC2A4\uD2B8 \uD3B8\uC9D1\uAE30\uB97C \uC5F4\uACE0 \uC904\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.","{0} \uC904 \uBC0F {1} \uC5F4\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.","{0} \uC904\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.","\uD604\uC7AC \uC904: {0}, \uBB38\uC790: {1} \uC774\uB3D9\uD560 \uC904 1~{2} \uC0AC\uC774\uC758 \uBC88\uD638\uB97C \uC785\uB825\uD569\uB2C8\uB2E4.","\uD604\uC7AC \uC904: {0}, \uBB38\uC790: {1}. \uC774\uB3D9\uD560 \uC904 \uBC88\uD638\uB97C \uC785\uB825\uD569\uB2C8\uB2E4."],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["\uAE30\uD638\uB85C \uC774\uB3D9\uD558\uB824\uBA74 \uBA3C\uC800 \uAE30\uD638 \uC815\uBCF4\uAC00 \uC788\uB294 \uD14D\uC2A4\uD2B8 \uD3B8\uC9D1\uAE30\uB97C \uC5FD\uB2C8\uB2E4.","\uD65C\uC131 \uC0C1\uD0DC\uC758 \uD14D\uC2A4\uD2B8 \uD3B8\uC9D1\uAE30\uB294 \uAE30\uD638 \uC815\uBCF4\uB97C \uC81C\uACF5\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uC77C\uCE58\uD558\uB294 \uD3B8\uC9D1\uAE30 \uAE30\uD638 \uC5C6\uC74C","\uD3B8\uC9D1\uAE30 \uAE30\uD638 \uC5C6\uC74C","\uCE21\uBA74\uC5D0\uC11C \uC5F4\uAE30","\uD558\uB2E8\uC5D0 \uC5F4\uAE30","\uAE30\uD638({0})","\uC18D\uC131({0})","\uBA54\uC11C\uB4DC({0})","\uD568\uC218({0})","\uC0DD\uC131\uC790({0})","\uBCC0\uC218({0})","\uD074\uB798\uC2A4({0})","\uAD6C\uC870\uCCB4({0})","\uC774\uBCA4\uD2B8({0})","\uC5F0\uC0B0\uC790({0})","\uC778\uD130\uD398\uC774\uC2A4({0})","\uB124\uC784\uC2A4\uD398\uC774\uC2A4({0})","\uD328\uD0A4\uC9C0({0})","\uD615\uC2DD \uB9E4\uAC1C \uBCC0\uC218({0})","\uBAA8\uB4C8({0})","\uC18D\uC131({0})","\uC5F4\uAC70\uD615({0})","\uC5F4\uAC70\uD615 \uBA64\uBC84({0})","\uBB38\uC790\uC5F4({0})","\uD30C\uC77C({0})","\uBC30\uC5F4({0})","\uC22B\uC790({0})","\uBD80\uC6B8({0})","\uAC1C\uCCB4({0})","\uD0A4({0})","\uD544\uB4DC({0})","\uC0C1\uC218({0})"],"vs/editor/contrib/rename/rename":["\uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uC704\uCE58 \uC774\uB984\uC744 \uBC14\uAFB8\uB294 \uC911 \uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.","'{0}'\uC758 \uC774\uB984\uC744 \uBC14\uAFB8\uB294 \uC911","{0} \uC774\uB984 \uBC14\uAFB8\uAE30","'{0}'\uC744(\uB97C) '{1}'(\uC73C)\uB85C \uC774\uB984\uC744 \uBCC0\uACBD\uD588\uC2B5\uB2C8\uB2E4. \uC694\uC57D: {2}","\uC774\uB984 \uBC14\uAFB8\uAE30\uB97C \uD1B5\uD574 \uD3B8\uC9D1 \uB0B4\uC6A9\uC744 \uC801\uC6A9\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.","\uC774\uB984 \uBC14\uAFB8\uAE30\uB97C \uD1B5\uD574 \uD3B8\uC9D1 \uB0B4\uC6A9\uC744 \uACC4\uC0B0\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.","\uAE30\uD638 \uC774\uB984 \uBC14\uAFB8\uAE30","\uC774\uB984\uC744 \uBC14\uAFB8\uAE30 \uC804\uC5D0 \uBCC0\uACBD \uB0B4\uC6A9\uC744 \uBBF8\uB9AC \uBCFC \uC218 \uC788\uB294 \uAE30\uB2A5 \uC0AC\uC6A9/\uC0AC\uC6A9 \uC548 \uD568"],"vs/editor/contrib/rename/renameInputField":["\uC785\uB825 \uC774\uB984\uC744 \uBC14\uAFB8\uC138\uC694. \uC0C8 \uC774\uB984\uC744 \uC785\uB825\uD55C \uB2E4\uC74C [Enter] \uD0A4\uB97C \uB20C\uB7EC \uCEE4\uBC0B\uD558\uC138\uC694.","\uC774\uB984 \uBC14\uAFB8\uAE30 {0}, \uBBF8\uB9AC \uBCF4\uAE30 {1}"],"vs/editor/contrib/smartSelect/smartSelect":["\uC120\uD0DD \uC601\uC5ED \uD655\uC7A5","\uC120\uD0DD \uC601\uC5ED \uD655\uC7A5(&&E)","\uC120\uD0DD \uC601\uC5ED \uCD95\uC18C","\uC120\uD0DD \uC601\uC5ED \uCD95\uC18C(&&S)"],"vs/editor/contrib/snippet/snippetVariables":["\uC77C\uC694\uC77C","\uC6D4\uC694\uC77C","\uD654\uC694\uC77C","\uC218\uC694\uC77C","\uBAA9\uC694\uC77C","\uAE08\uC694\uC77C","\uD1A0\uC694\uC77C","\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0","1\uC6D4","2\uC6D4","3\uC6D4","4\uC6D4","5\uC6D4","6\uC6D4","7\uC6D4","8\uC6D4","9\uC6D4","10\uC6D4","11\uC6D4","12\uC6D4","1\uC6D4","2\uC6D4","3\uC6D4","4\uC6D4","5\uC6D4","6\uC6D4","7\uC6D4","8\uC6D4","9\uC6D4","10\uC6D4","11\uC6D4","12\uC6D4"],"vs/editor/contrib/suggest/suggestController":["{0}\uC758 {1}\uAC1C\uC758 \uC218\uC815\uC0AC\uD56D\uC744 \uC218\uB77D\uD558\uB294 \uC911","\uC81C\uC548 \uD56D\uBAA9 \uD2B8\uB9AC\uAC70","\uC0BD\uC785","\uC0BD\uC785","\uBC14\uAFB8\uAE30","\uBC14\uAFB8\uAE30","\uC0BD\uC785","\uAC04\uB2E8\uD788 \uD45C\uC2DC","\uB354 \uBCF4\uAE30","\uC81C\uC548 \uC704\uC82F \uD06C\uAE30 \uB2E4\uC2DC \uC124\uC815"],"vs/editor/contrib/suggest/suggestWidget":["\uC81C\uC548 \uC704\uC82F\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC81C\uC548 \uC704\uC82F\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uC81C\uC548 \uC704\uC82F\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC81C\uD55C \uC704\uC82F\uC5D0\uC11C \uC120\uD0DD\uB41C \uD56D\uBAA9\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC81C\uC548 \uC704\uC82F\uC758 \uC77C\uCE58 \uD56D\uBAA9 \uAC15\uC870 \uD45C\uC2DC \uC0C9\uC785\uB2C8\uB2E4.","\uB85C\uB4DC \uC911...","\uC81C\uC548 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","{0}, \uBB38\uC11C: {1}","\uC81C\uC548"],"vs/editor/contrib/suggest/suggestWidgetDetails":["\uB2EB\uAE30","\uB85C\uB4DC \uC911..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["\uC81C\uC548 \uC704\uC82F\uC5D0\uC11C \uC790\uC138\uD55C \uC815\uBCF4\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4.","\uC790\uC138\uD55C \uC815\uBCF4"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["\uBC30\uC5F4 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uBD80\uC6B8 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uD074\uB798\uC2A4 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uC0C9 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC0C1\uC218 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uC0DD\uC131\uC790 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC5F4\uAC70\uC790 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC5F4\uAC70\uC790 \uBA64\uBC84 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uC774\uBCA4\uD2B8 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uD544\uB4DC \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uD30C\uC77C \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uD3F4\uB354 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uD568\uC218 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uC778\uD130\uD398\uC774\uC2A4 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uD0A4 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uD0A4\uC6CC\uB4DC \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uBA54\uC11C\uB4DC \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uBAA8\uB4C8 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","null \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uC22B\uC790 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uAC1C\uCCB4 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uC5F0\uC0B0\uC790 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uD328\uD0A4\uC9C0 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uC18D\uC131 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uCC38\uC870 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uCF54\uB4DC \uC870\uAC01 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uBB38\uC790\uC5F4 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uAD6C\uC870 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uD14D\uC2A4\uD2B8 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.","\uD615\uC2DD \uB9E4\uAC1C\uBCC0\uC218 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uB2E8\uC704 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uBCC0\uC218 \uAE30\uD638\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uAE30\uD638\uB294 \uAC1C\uC694, \uC774\uB3D9 \uACBD\uB85C \uBC0F \uC81C\uC548 \uC704\uC82F\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4."],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":[" \uD0A4\uB85C \uD3EC\uCEE4\uC2A4 \uC774\uB3D9 \uC124\uC815/\uD574\uC81C","\uC774\uC81C \uD0A4\uB97C \uB204\uB974\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uB2E4\uC74C \uD3EC\uCEE4\uC2A4 \uAC00\uB2A5\uD55C \uC694\uC18C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.","\uC774\uC81C \uD0A4\uB97C \uB204\uB974\uBA74 \uD0ED \uBB38\uC790\uAC00 \uC0BD\uC785\uB429\uB2C8\uB2E4."],"vs/editor/contrib/tokenization/tokenization":["\uAC1C\uBC1C\uC790: \uAC15\uC81C\uB85C \uB2E4\uC2DC \uD1A0\uD070\uD654"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["\uBE44\uC815\uC0C1\uC801\uC778 \uC904 \uC885\uACB0\uC790","\uBE44\uC815\uC0C1\uC801\uC778 \uC904 \uC885\uACB0\uC790\uAC00 \uAC80\uC0C9\uB428","\uC774 \uD30C\uC77C\uC5D0 LS(\uC904 \uAD6C\uBD84 \uAE30\uD638) \uB610\uB294 PS(\uB2E8\uB77D \uAD6C\uBD84 \uAE30\uD638) \uAC19\uC740 \uD558\uB098 \uC774\uC0C1\uC758 \uBE44\uC815\uC0C1\uC801\uC778 \uC904 \uC885\uACB0\uC790 \uBB38\uC790\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.\r\n\r\n\uD30C\uC77C\uC5D0\uC11C \uC81C\uAC70\uD558\uB294 \uAC83\uC774 \uC88B\uC2B5\uB2C8\uB2E4. `editor.unusualLineTerminators`\uB97C \uD1B5\uD574 \uAD6C\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uC774 \uD30C\uC77C \uC218\uC815","\uC774 \uD30C\uC77C\uC758 \uBB38\uC81C \uBB34\uC2DC"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["\uBCC0\uC218 \uC77D\uAE30\uC640 \uAC19\uC740 \uC77D\uAE30 \uC561\uC138\uC2A4 \uC911 \uAE30\uD638\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uBCC0\uC218\uC5D0 \uC4F0\uAE30\uC640 \uAC19\uC740 \uC4F0\uAE30 \uC561\uC138\uC2A4 \uC911 \uAE30\uD638\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uBCC0\uC218 \uC77D\uAE30\uC640 \uAC19\uC740 \uC77D\uAE30 \uC561\uC138\uC2A4 \uC911 \uAE30\uD638\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uBCC0\uC218\uC5D0 \uC4F0\uAE30\uC640 \uAC19\uC740 \uC4F0\uAE30 \uC561\uC138\uC2A4 \uC911 \uAE30\uD638\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uAE30\uD638 \uAC15\uC870 \uD45C\uC2DC\uC758 \uAC1C\uC694 \uB208\uAE08\uC790 \uD45C\uC2DD \uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uC4F0\uAE30 \uC561\uC138\uC2A4 \uAE30\uD638\uC5D0 \uB300\uD55C \uAC1C\uC694 \uB208\uAE08\uC790 \uD45C\uC2DD \uC0C9\uC774 \uAC15\uC870 \uD45C\uC2DC\uB429\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uB2E4\uC74C \uAC15\uC870 \uAE30\uD638\uB85C \uC774\uB3D9","\uC774\uC804 \uAC15\uC870 \uAE30\uD638\uB85C \uC774\uB3D9","\uAE30\uD638 \uAC15\uC870 \uD45C\uC2DC \uD2B8\uB9AC\uAC70"],"vs/editor/contrib/wordOperations/wordOperations":["\uB2E8\uC5B4 \uC0AD\uC81C"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0}({1})"],"vs/platform/configuration/common/configurationRegistry":["\uAE30\uBCF8 \uC5B8\uC5B4 \uAD6C\uC131 \uC7AC\uC815\uC758","\uC5B8\uC5B4\uC5D0 \uB300\uD574 \uC7AC\uC815\uC758\uD560 \uD3B8\uC9D1\uAE30 \uC124\uC815\uC744 \uAD6C\uC131\uD569\uB2C8\uB2E4.","\uC774 \uC124\uC815\uC740 \uC5B8\uC5B4\uBCC4 \uAD6C\uC131\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uBE48 \uC18D\uC131\uC744 \uB4F1\uB85D\uD560 \uC218 \uC5C6\uC74C","'{0}'\uC744(\uB97C) \uB4F1\uB85D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC774\uB294 \uC5B8\uC5B4\uBCC4 \uD3B8\uC9D1\uAE30 \uC124\uC815\uC744 \uC124\uBA85\uD558\uB294 \uC18D\uC131 \uD328\uD134\uC778 '\\\\[.*\\\\]$'\uACFC(\uC640) \uC77C\uCE58\uD569\uB2C8\uB2E4. 'configurationDefaults' \uAE30\uC5EC\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.","'{0}'\uC744(\uB97C) \uB4F1\uB85D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC774 \uC18D\uC131\uC740 \uC774\uBBF8 \uB4F1\uB85D\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."],"vs/platform/contextkey/browser/contextKeyService":["\uCEE8\uD14D\uC2A4\uD2B8 \uD0A4\uC5D0 \uB300\uD55C \uC815\uBCF4\uB97C \uBC18\uD658\uD558\uB294 \uBA85\uB839"],"vs/platform/contextkey/common/contextkeys":["Whether the operating system is Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["({0})\uC744(\uB97C) \uB20C\uB800\uC2B5\uB2C8\uB2E4. \uB458\uC9F8 \uD0A4\uB294 \uC7A0\uC2DC \uAE30\uB2E4\uB838\uB2E4\uAC00 \uB204\uB974\uC2ED\uC2DC\uC624...","\uD0A4 \uC870\uD569({0}, {1})\uC740 \uBA85\uB839\uC774 \uC544\uB2D9\uB2C8\uB2E4."],"vs/platform/list/browser/listService":["\uC6CC\uD06C\uBCA4\uCE58","Windows\uC640 Linux\uC758 'Control'\uC744 macOS\uC758 'Command'\uB85C \uB9E4\uD551\uD569\uB2C8\uB2E4.","Windows\uC640 Linux\uC758 'Alt'\uB97C macOS\uC758 'Option'\uC73C\uB85C \uB9E4\uD551\uD569\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB85C \uD2B8\uB9AC\uC640 \uBAA9\uB85D\uC758 \uD56D\uBAA9\uC744 \uB2E4\uC911 \uC120\uD0DD\uC5D0 \uCD94\uAC00\uD560 \uB54C \uC0AC\uC6A9\uD560 \uD55C\uC815\uC790\uC785\uB2C8\uB2E4(\uC608\uB97C \uB4E4\uC5B4 \uD0D0\uC0C9\uAE30\uC5D0\uC11C \uD3B8\uC9D1\uAE30\uC640 SCM \uBCF4\uAE30\uB97C \uC5EC\uB294 \uACBD\uC6B0). '\uC606\uC5D0\uC11C \uC5F4\uAE30' \uB9C8\uC6B0\uC2A4 \uC81C\uC2A4\uCC98(\uC9C0\uC6D0\uB418\uB294 \uACBD\uC6B0)\uB294 \uB2E4\uC911 \uC120\uD0DD \uD55C\uC815\uC790\uC640 \uCDA9\uB3CC\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC870\uC815\uB429\uB2C8\uB2E4.","\uD2B8\uB9AC\uC640 \uBAA9\uB85D\uC5D0\uC11C \uB9C8\uC6B0\uC2A4\uB97C \uC0AC\uC6A9\uD558\uC5EC \uD56D\uBAA9\uC744 \uC5EC\uB294 \uBC29\uBC95\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4(\uC9C0\uC6D0\uB418\uB294 \uACBD\uC6B0). \uC77C\uBD80 \uD2B8\uB9AC\uC640 \uBAA9\uB85D\uC5D0\uC11C\uB294 \uC774 \uC124\uC815\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uACBD\uC6B0 \uBB34\uC2DC\uD558\uB3C4\uB85D \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uC6CC\uD06C\uBCA4\uCE58\uC5D0\uC11C \uBAA9\uB85D \uBC0F \uD2B8\uB9AC\uC758 \uAC00\uB85C \uC2A4\uD06C\uB864 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uACBD\uACE0: \uC774 \uC124\uC815\uC744 \uCF1C\uBA74 \uC131\uB2A5\uC5D0 \uC601\uD5A5\uC744 \uBBF8\uCE69\uB2C8\uB2E4.","\uD2B8\uB9AC \uB4E4\uC5EC\uC4F0\uAE30\uB97C \uD53D\uC140 \uB2E8\uC704\uB85C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uD2B8\uB9AC\uC5D0\uC11C \uB4E4\uC5EC\uC4F0\uAE30 \uAC00\uC774\uB4DC\uB97C \uB80C\uB354\uB9C1\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uBAA9\uB85D\uACFC \uD2B8\uB9AC\uC5D0 \uBD80\uB4DC\uB7EC\uC6B4 \uD654\uBA74 \uC774\uB3D9 \uAE30\uB2A5\uC774 \uC788\uB294\uC9C0\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4.","\uAC04\uB2E8\uD55C \uD0A4\uBCF4\uB4DC \uD0D0\uC0C9\uC5D0\uC11C\uB294 \uD0A4\uBCF4\uB4DC \uC785\uB825\uACFC \uC77C\uCE58\uD558\uB294 \uC694\uC18C\uC5D0 \uC9D1\uC911\uD569\uB2C8\uB2E4. \uC77C\uCE58\uB294 \uC811\uB450\uC0AC\uC5D0\uC11C\uB9CC \uC218\uD589\uB429\uB2C8\uB2E4.","\uD0A4\uBCF4\uB4DC \uD0D0\uC0C9 \uAC15\uC870 \uD45C\uC2DC\uC5D0\uC11C\uB294 \uD0A4\uBCF4\uB4DC \uC785\uB825\uACFC \uC77C\uCE58\uD558\uB294 \uC694\uC18C\uB97C \uAC15\uC870 \uD45C\uC2DC\uD569\uB2C8\uB2E4. \uC774\uD6C4\uB85C \uD0D0\uC0C9\uC5D0\uC11C \uC704 \uBC0F \uC544\uB798\uB85C \uC774\uB3D9\uD558\uB294 \uACBD\uC6B0 \uAC15\uC870 \uD45C\uC2DC\uB41C \uC694\uC18C\uB9CC \uD2B8\uB798\uBC84\uC2A4\uD569\uB2C8\uB2E4.","\uD0A4\uBCF4\uB4DC \uD0D0\uC0C9 \uD544\uD130\uB9C1\uC5D0\uC11C\uB294 \uD0A4\uBCF4\uB4DC \uC785\uB825\uACFC \uC77C\uCE58\uD558\uC9C0 \uC54A\uB294 \uC694\uC18C\uB97C \uBAA8\uB450 \uD544\uD130\uB9C1\uD558\uC5EC \uC228\uAE41\uB2C8\uB2E4.","\uC6CC\uD06C\uBCA4\uCE58\uC758 \uBAA9\uB85D \uBC0F \uD2B8\uB9AC \uD0A4\uBCF4\uB4DC \uD0D0\uC0C9 \uC2A4\uD0C0\uC77C\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uAC04\uC18C\uD654\uD558\uACE0, \uAC15\uC870 \uD45C\uC2DC\uD558\uACE0, \uD544\uD130\uB9C1\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D \uBC0F \uD2B8\uB9AC\uC5D0\uC11C \uD0A4\uBCF4\uB4DC \uD0D0\uC0C9\uC774 \uC785\uB825\uB9CC\uC73C\uB85C \uC790\uB3D9 \uD2B8\uB9AC\uAC70\uB418\uB294\uC9C0 \uC5EC\uBD80\uB97C \uC81C\uC5B4\uD569\uB2C8\uB2E4. 'false'\uB85C \uC124\uC815\uD558\uBA74 'list.toggleKeyboardNavigation' \uBA85\uB839\uC744 \uC2E4\uD589\uD560 \uB54C\uB9CC \uD0A4\uBCF4\uB4DC \uD0D0\uC0C9\uC774 \uD2B8\uB9AC\uAC70\uB418\uC5B4 \uBC14\uB85C \uAC00\uAE30 \uD0A4\uB97C \uD560\uB2F9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","\uD3F4\uB354 \uC774\uB984\uC744 \uD074\uB9AD\uD560 \uB54C \uD2B8\uB9AC \uD3F4\uB354\uAC00 \uD655\uC7A5\uB418\uB294 \uBC29\uBC95\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4. \uC77C\uBD80 \uD2B8\uB9AC\uC640 \uBAA9\uB85D\uC5D0\uC11C\uB294 \uC774 \uC124\uC815\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uACBD\uC6B0 \uBB34\uC2DC\uD558\uB3C4\uB85D \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."],"vs/platform/markers/common/markers":["\uC624\uB958","\uACBD\uACE0","\uC815\uBCF4"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","\uCD5C\uADFC\uC5D0 \uC0AC\uC6A9\uD55C \uD56D\uBAA9","\uAE30\uD0C0 \uBA85\uB839","\uBA85\uB839 '{0}'\uC5D0\uC11C \uC624\uB958({1})\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."],"vs/platform/quickinput/browser/helpQuickAccess":["\uC804\uC5ED \uBA85\uB839","\uD3B8\uC9D1\uAE30 \uBA85\uB839","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["\uC804\uCCB4 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774 \uC0C9\uC740 \uAD6C\uC131 \uC694\uC18C\uC5D0\uC11C \uC7AC\uC815\uC758\uD558\uC9C0 \uC54A\uC740 \uACBD\uC6B0\uC5D0\uB9CC \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uC624\uB958 \uBA54\uC2DC\uC9C0\uC5D0 \uB300\uD55C \uC804\uCCB4 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uC774 \uC0C9\uC740 \uAD6C\uC131 \uC694\uC18C\uC5D0\uC11C \uC7AC\uC815\uC758\uD558\uC9C0 \uC54A\uC740 \uACBD\uC6B0\uC5D0\uB9CC \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uC6CC\uD06C\uBCA4\uCE58 \uC544\uC774\uCF58\uC758 \uAE30\uBCF8 \uC0C9\uC0C1\uC785\uB2C8\uB2E4.","\uD3EC\uCEE4\uC2A4\uAC00 \uC788\uB294 \uC694\uC18C\uC758 \uC804\uCCB4 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4. \uC774 \uC0C9\uC740 \uAD6C\uC131 \uC694\uC18C\uC5D0\uC11C \uC7AC\uC815\uC758\uD558\uC9C0 \uC54A\uC740 \uACBD\uC6B0\uC5D0\uB9CC \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uB354 \uB69C\uB837\uC774 \uB300\uBE44\uB418\uB3C4\uB85D \uC694\uC18C\uB97C \uB2E4\uB978 \uC694\uC18C\uC640 \uAD6C\uBD84\uD558\uB294 \uC694\uC18C \uC8FC\uC704\uC758 \uCD94\uAC00 \uD14C\uB450\uB9AC\uC785\uB2C8\uB2E4.","\uB354 \uB69C\uB837\uC774 \uB300\uBE44\uB418\uB3C4\uB85D \uC694\uC18C\uB97C \uB2E4\uB978 \uC694\uC18C\uC640 \uAD6C\uBD84\uD558\uB294 \uD65C\uC131 \uC694\uC18C \uC8FC\uC704\uC758 \uCD94\uAC00 \uD14C\uB450\uB9AC\uC785\uB2C8\uB2E4.","\uD14D\uC2A4\uD2B8 \uB0B4 \uB9C1\uD06C\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD14D\uC2A4\uD2B8 \uB0B4 \uCF54\uB4DC \uBE14\uB85D\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uB0B4\uC5D0\uC11C \uCC3E\uAE30/\uBC14\uAFB8\uAE30 \uAC19\uC740 \uC704\uC82F\uC758 \uADF8\uB9BC\uC790 \uC0C9\uC785\uB2C8\uB2E4.","\uC785\uB825 \uC0C1\uC790 \uBC30\uACBD\uC785\uB2C8\uB2E4.","\uC785\uB825 \uC0C1\uC790 \uC804\uACBD\uC785\uB2C8\uB2E4.","\uC785\uB825 \uC0C1\uC790 \uD14C\uB450\uB9AC\uC785\uB2C8\uB2E4.","\uC785\uB825 \uD544\uB4DC\uC5D0\uC11C \uD65C\uC131\uD654\uB41C \uC635\uC158\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uC785\uB825 \uD544\uB4DC\uC5D0\uC11C \uD65C\uC131\uD654\uB41C \uC635\uC158\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC785\uB825 \uD544\uB4DC\uC5D0\uC11C \uD65C\uC131\uD654\uB41C \uC635\uC158\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC815\uBCF4 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC815\uBCF4 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC815\uBCF4 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uACBD\uACE0 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uACBD\uACE0 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uACBD\uACE0 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uC624\uB958 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC624\uB958 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC624\uB958 \uC2EC\uAC01\uB3C4\uC758 \uC785\uB825 \uC720\uD6A8\uC131 \uAC80\uC0AC \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uB4DC\uB86D\uB2E4\uC6B4 \uBC30\uACBD\uC785\uB2C8\uB2E4.","\uB4DC\uB86D\uB2E4\uC6B4 \uC804\uACBD\uC785\uB2C8\uB2E4.","\uB2E8\uCD94 \uAE30\uBCF8 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uB2E8\uCD94 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB85C \uAC00\uB9AC\uD0AC \uB54C \uB2E8\uCD94 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBC30\uC9C0 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBC30\uC9C0\uB294 \uAC80\uC0C9 \uACB0\uACFC \uC218\uC640 \uAC19\uC740 \uC18C\uB7C9\uC758 \uC815\uBCF4 \uB808\uC774\uBE14\uC785\uB2C8\uB2E4.","\uBC30\uC9C0 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBC30\uC9C0\uB294 \uAC80\uC0C9 \uACB0\uACFC \uC218\uC640 \uAC19\uC740 \uC18C\uB7C9\uC758 \uC815\uBCF4 \uB808\uC774\uBE14\uC785\uB2C8\uB2E4.","\uC2A4\uD06C\uB864\uB418\uB294 \uBCF4\uAE30\uB97C \uB098\uD0C0\uB0B4\uB294 \uC2A4\uD06C\uB864 \uB9C9\uB300 \uADF8\uB9BC\uC790\uC785\uB2C8\uB2E4.","\uC2A4\uD06C\uB864 \uB9C9\uB300 \uC2AC\uB77C\uC774\uBC84 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB85C \uAC00\uB9AC\uD0AC \uB54C \uC2A4\uD06C\uB864 \uB9C9\uB300 \uC2AC\uB77C\uC774\uB354 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD074\uB9AD\uB41C \uC0C1\uD0DC\uC77C \uB54C \uC2A4\uD06C\uB864 \uB9C9\uB300 \uC2AC\uB77C\uC774\uB354 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC7A5\uAE30 \uC791\uC5C5\uC744 \uB300\uC0C1\uC73C\uB85C \uD45C\uC2DC\uB420 \uC218 \uC788\uB294 \uC9C4\uD589\uB960 \uD45C\uC2DC\uC904\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC624\uB958 \uD14D\uC2A4\uD2B8\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uB0B4 \uC624\uB958 \uD45C\uC2DC\uC120\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC624\uB958 \uC0C1\uC790\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uACBD\uACE0 \uD14D\uC2A4\uD2B8\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uB0B4 \uACBD\uACE0 \uD45C\uC2DC\uC120\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uACBD\uACE0 \uC0C1\uC790\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC815\uBCF4 \uD14D\uC2A4\uD2B8\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uB0B4 \uC815\uBCF4 \uD45C\uC2DC\uC120\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC815\uBCF4 \uC0C1\uC790\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD78C\uD2B8 \uD45C\uC2DC\uC120\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uD78C\uD2B8 \uC0C1\uC790\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uAE30\uBCF8 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uCC3E\uAE30/\uBC14\uAFB8\uAE30 \uAC19\uC740 \uD3B8\uC9D1\uAE30 \uC704\uC82F\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uCC3E\uAE30/\uBC14\uAFB8\uAE30\uC640 \uAC19\uC740 \uD3B8\uC9D1\uAE30 \uC704\uC82F\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uC704\uC82F\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4. \uC704\uC82F\uC5D0 \uD14C\uB450\uB9AC\uAC00 \uC788\uACE0 \uC704\uC82F\uC774 \uC0C9\uC0C1\uC744 \uBB34\uC2DC\uD558\uC9C0 \uC54A\uC744 \uB54C\uB9CC \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uC704\uC82F \uD06C\uAE30 \uC870\uC815 \uB9C9\uB300\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4. \uC774 \uC0C9\uC740 \uC704\uC82F\uC5D0\uC11C \uD06C\uAE30 \uC870\uC815 \uB9C9\uB300\uB97C \uD45C\uC2DC\uD558\uB3C4\uB85D \uC120\uD0DD\uD558\uACE0 \uC704\uC82F\uC5D0\uC11C \uC0C9\uC744 \uC7AC\uC9C0\uC815\uD558\uC9C0 \uC54A\uB294 \uACBD\uC6B0\uC5D0\uB9CC \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uBE60\uB978 \uC120\uD0DD\uAE30 \uBC30\uACBD\uC0C9. \uBE60\uB978 \uC120\uD0DD\uAE30 \uC704\uC82F\uC740 \uBA85\uB839 \uD314\uB808\uD2B8\uC640 \uAC19\uC740 \uC120\uD0DD\uAE30\uB97C \uC704\uD55C \uCEE8\uD14C\uC774\uB108\uC785\uB2C8\uB2E4.","\uBE60\uB978 \uC120\uD0DD\uAE30 \uC804\uACBD\uC0C9. \uC774 \uBE60\uB978 \uC120\uD0DD\uAE30 \uC704\uC82F\uC740 \uBA85\uB839 \uD314\uB808\uD2B8\uC640 \uAC19\uC740 \uC120\uD0DD\uAE30\uB97C \uC704\uD55C \uCEE8\uD14C\uC774\uB108\uC785\uB2C8\uB2E4.","\uBE60\uB978 \uC120\uD0DD\uAE30 \uC81C\uBAA9 \uBC30\uACBD\uC0C9. \uC774 \uBE60\uB978 \uC120\uD0DD\uAE30 \uC704\uC82F\uC740 \uBA85\uB839 \uD314\uB808\uD2B8\uC640 \uAC19\uC740 \uC120\uD0DD\uAE30\uB97C \uC704\uD55C \uCEE8\uD14C\uC774\uB108\uC785\uB2C8\uB2E4.","\uD3EC\uCEE4\uC2A4\uAC00 \uC788\uB294 \uD56D\uBAA9\uC758 \uBE60\uB978 \uC120\uD0DD\uAE30 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uADF8\uB8F9\uD654 \uB808\uC774\uBE14\uC5D0 \uB300\uD55C \uBE60\uB978 \uC120\uD0DD\uAE30 \uC0C9\uC785\uB2C8\uB2E4.","\uADF8\uB8F9\uD654 \uD14C\uB450\uB9AC\uC5D0 \uB300\uD55C \uBE60\uB978 \uC120\uD0DD\uAE30 \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uC120\uD0DD \uC601\uC5ED\uC758 \uC0C9\uC785\uB2C8\uB2E4.","\uACE0\uB300\uBE44\uB97C \uC704\uD55C \uC120\uD0DD \uD14D\uC2A4\uD2B8\uC758 \uC0C9\uC785\uB2C8\uB2E4.","\uBE44\uD65C\uC131 \uD3B8\uC9D1\uAE30\uC758 \uC120\uD0DD \uD56D\uBAA9 \uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uC120\uD0DD \uC601\uC5ED\uACFC \uB3D9\uC77C\uD55C \uCF58\uD150\uCE20\uAC00 \uC788\uB294 \uC601\uC5ED\uC758 \uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uC120\uD0DD \uC601\uC5ED\uACFC \uB3D9\uC77C\uD55C \uCF58\uD150\uCE20\uAC00 \uC788\uB294 \uC601\uC5ED\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uD604\uC7AC \uAC80\uC0C9 \uC77C\uCE58 \uD56D\uBAA9\uC758 \uC0C9\uC785\uB2C8\uB2E4.","\uAE30\uD0C0 \uAC80\uC0C9 \uC77C\uCE58 \uD56D\uBAA9\uC758 \uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uAC80\uC0C9\uC744 \uC81C\uD55C\uD558\uB294 \uBC94\uC704\uC758 \uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uD604\uC7AC \uAC80\uC0C9\uACFC \uC77C\uCE58\uD558\uB294 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uB2E4\uB978 \uAC80\uC0C9\uACFC \uC77C\uCE58\uD558\uB294 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uAC80\uC0C9\uC744 \uC81C\uD55C\uD558\uB294 \uBC94\uC704\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uD638\uBC84\uAC00 \uD45C\uC2DC\uB41C \uB2E8\uC5B4 \uC544\uB798\uB97C \uAC15\uC870 \uD45C\uC2DC\uD569\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uD638\uBC84\uC758 \uBC30\uACBD\uC0C9.","\uD3B8\uC9D1\uAE30 \uD638\uBC84\uC758 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uD638\uBC84\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uD638\uBC84 \uC0C1\uD0DC \uD45C\uC2DC\uC904\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD65C\uC131 \uB9C1\uD06C\uC758 \uC0C9\uC785\uB2C8\uB2E4.","\uC778\uB77C\uC778 \uD78C\uD2B8\uC758 \uC804\uACBD\uC0C9","\uC778\uB77C\uC778 \uD78C\uD2B8\uC758 \uBC30\uACBD\uC0C9","\uC804\uAD6C \uC791\uC5C5 \uC544\uC774\uCF58\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uC0C9\uC0C1\uC785\uB2C8\uB2E4.","\uC804\uAD6C \uC790\uB3D9 \uC218\uC815 \uC791\uC5C5 \uC544\uC774\uCF58\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uC0C9\uC0C1\uC785\uB2C8\uB2E4.","\uC0BD\uC785\uB41C \uD14D\uC2A4\uD2B8\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uC81C\uAC70\uB41C \uD14D\uC2A4\uD2B8 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uC0BD\uC785\uB41C \uD14D\uC2A4\uD2B8\uC758 \uC724\uACFD\uC120 \uC0C9\uC785\uB2C8\uB2E4.","\uC81C\uAC70\uB41C \uD14D\uC2A4\uD2B8\uC758 \uC724\uACFD\uC120 \uC0C9\uC785\uB2C8\uB2E4.","\uB450 \uD14D\uC2A4\uD2B8 \uD3B8\uC9D1\uAE30 \uC0AC\uC774\uC758 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","diff \uD3B8\uC9D1\uAE30\uC758 \uB300\uAC01\uC120 \uCC44\uC6B0\uAE30 \uC0C9\uC785\uB2C8\uB2E4. \uB300\uAC01\uC120 \uCC44\uC6B0\uAE30\uB294 diff \uB098\uB780\uD788 \uBCF4\uAE30\uC5D0\uC11C \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uD3EC\uCEE4\uC2A4\uAC00 \uC788\uB294 \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uD3EC\uCEE4\uC2A4\uAC00 \uC788\uB294 \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uD3EC\uCEE4\uC2A4\uAC00 \uC788\uB294 \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uC724\uACFD\uC120 \uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uC120\uD0DD\uD55C \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uC120\uD0DD\uD55C \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uC120\uD0DD\uD55C \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uC120\uD0DD\uD55C \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uD3EC\uCEE4\uC2A4\uAC00 \uC788\uB294 \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC778 \uACBD\uC6B0 \uD3EC\uCEE4\uC2A4\uAC00 \uC788\uB294 \uD56D\uBAA9\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uC724\uACFD\uC120 \uC0C9\uC785\uB2C8\uB2E4. \uBAA9\uB85D/\uD2B8\uB9AC\uAC00 \uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uB97C \uAC00\uC9C0\uBA70, \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBA74 \uD3EC\uCEE4\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB85C \uD56D\uBAA9\uC744 \uAC00\uB9AC\uD0AC \uB54C \uBAA9\uB85D/\uD2B8\uB9AC \uBC30\uACBD\uC785\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB85C \uD56D\uBAA9\uC744 \uAC00\uB9AC\uD0AC \uB54C \uBAA9\uB85D/\uD2B8\uB9AC \uC804\uACBD\uC785\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB85C \uD56D\uBAA9\uC744 \uC774\uB3D9\uD560 \uB54C \uBAA9\uB85D/\uD2B8\uB9AC \uB04C\uC5B4\uC11C \uB193\uAE30 \uBC30\uACBD\uC785\uB2C8\uB2E4.","\uBAA9\uB85D/\uD2B8\uB9AC \uB0B4\uC5D0\uC11C \uAC80\uC0C9\uD560 \uB54C \uC77C\uCE58 \uD56D\uBAA9 \uAC15\uC870 \uD45C\uC2DC\uC758 \uBAA9\uB85D/\uD2B8\uB9AC \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBAA9\uB85D \uBC0F \uD2B8\uB9AC\uC5D0\uC11C \uD615\uC2DD \uD544\uD130 \uC704\uC82F\uC758 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBAA9\uB85D \uBC0F \uD2B8\uB9AC\uC5D0\uC11C \uD615\uC2DD \uD544\uD130 \uC704\uC82F\uC758 \uC724\uACFD\uC120 \uC0C9\uC785\uB2C8\uB2E4.","\uC77C\uCE58\uD558\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC744 \uB54C \uBAA9\uB85D \uBC0F \uD2B8\uB9AC\uC5D0\uC11C \uD45C\uC2DC\uB418\uB294 \uD615\uC2DD \uD544\uD130 \uC704\uC82F\uC758 \uC724\uACFD\uC120 \uC0C9\uC785\uB2C8\uB2E4.","\uB4E4\uC5EC\uC4F0\uAE30 \uAC00\uC774\uB4DC\uC758 \uD2B8\uB9AC \uC2A4\uD2B8\uB85C\uD06C \uC0C9\uC785\uB2C8\uB2E4.","\uB4E4\uC5EC\uC4F0\uAE30 \uAC00\uC774\uB4DC\uC758 \uD2B8\uB9AC \uC2A4\uD2B8\uB85C\uD06C \uC0C9\uC785\uB2C8\uB2E4.","\uBA54\uB274 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uBA54\uB274 \uD56D\uBAA9 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBA54\uB274 \uD56D\uBAA9 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBA54\uB274\uC758 \uC120\uD0DD\uB41C \uBA54\uB274 \uD56D\uBAA9 \uC804\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBA54\uB274\uC758 \uC120\uD0DD\uB41C \uBA54\uB274 \uD56D\uBAA9 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBA54\uB274\uC758 \uC120\uD0DD\uB41C \uBA54\uB274 \uD56D\uBAA9 \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uBA54\uB274\uC5D0\uC11C \uAD6C\uBD84 \uAE30\uD638 \uBA54\uB274 \uD56D\uBAA9\uC758 \uC0C9\uC785\uB2C8\uB2E4.","\uCF54\uB4DC \uC870\uAC01 \uD0ED \uC815\uC9C0\uC758 \uAC15\uC870 \uD45C\uC2DC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uCF54\uB4DC \uC870\uAC01 \uD0ED \uC815\uC9C0\uC758 \uAC15\uC870 \uD45C\uC2DC \uD14C\uB450\uB9AC \uC0C9\uC785\uB2C8\uB2E4.","\uCF54\uB4DC \uC870\uAC01 \uB9C8\uC9C0\uB9C9 \uD0ED \uC815\uC9C0\uC758 \uAC15\uC870 \uD45C\uC2DC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uCF54\uB4DC \uC870\uAC01 \uB9C8\uC9C0\uB9C9 \uD0ED \uC815\uC9C0\uC758 \uAC15\uC870 \uD45C\uC2DC \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uC77C\uCE58 \uD56D\uBAA9 \uCC3E\uAE30\uC758 \uAC1C\uC694 \uB208\uAE08\uC790 \uD45C\uC2DD \uC0C9\uC785\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uC120\uD0DD \uD56D\uBAA9\uC758 \uAC1C\uC694 \uB208\uAE08\uC790 \uD45C\uC2DD \uC0C9\uC774 \uAC15\uC870 \uD45C\uC2DC\uB429\uB2C8\uB2E4. \uAE30\uBCF8 \uC7A5\uC2DD\uC744 \uC228\uAE30\uC9C0 \uC54A\uB3C4\uB85D \uC0C9\uC740 \uBD88\uD22C\uBA85\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.","\uC77C\uCE58\uD558\uB294 \uD56D\uBAA9\uC744 \uCC3E\uAE30 \uC704\uD55C \uBBF8\uB2C8\uB9F5 \uD45C\uC2DD \uC0C9\uC785\uB2C8\uB2E4.","\uD3B8\uC9D1\uAE30 \uC120\uD0DD \uC791\uC5C5\uC744 \uC704\uD55C \uBBF8\uB2C8\uB9F5 \uB9C8\uCEE4 \uC0C9\uC785\uB2C8\uB2E4.","\uC624\uB958\uC5D0 \uB300\uD55C \uBBF8\uB2C8\uB9F5 \uB9C8\uCEE4 \uC0C9\uC0C1\uC785\uB2C8\uB2E4.","\uACBD\uACE0\uC758 \uBBF8\uB2C8\uB9F5 \uB9C8\uCEE4 \uC0C9\uC0C1\uC785\uB2C8\uB2E4.","\uBBF8\uB2C8\uB9F5 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBBF8\uB2C8\uB9F5 \uC2AC\uB77C\uC774\uB354 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uB9C8\uC6B0\uC2A4\uB85C \uAC00\uB9AC\uD0AC \uB54C \uBBF8\uB2C8\uB9F5 \uC2AC\uB77C\uC774\uB354 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uD074\uB9AD\uD588\uC744 \uB54C \uBBF8\uB2C8\uB9F5 \uC2AC\uB77C\uC774\uB354 \uBC30\uACBD\uC0C9\uC785\uB2C8\uB2E4.","\uBB38\uC81C \uC624\uB958 \uC544\uC774\uCF58\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uC0C9\uC785\uB2C8\uB2E4.","\uBB38\uC81C \uACBD\uACE0 \uC544\uC774\uCF58\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uC0C9\uC785\uB2C8\uB2E4.","\uBB38\uC81C \uC815\uBCF4 \uC544\uC774\uCF58\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uC0C9\uC785\uB2C8\uB2E4."],"vs/platform/theme/common/iconRegistry":["\uC0AC\uC6A9\uD560 \uAE00\uAF34\uC758 ID\uC785\uB2C8\uB2E4. \uC124\uC815\uD558\uC9C0 \uC54A\uC73C\uBA74 \uCCAB \uBC88\uC9F8\uB85C \uC815\uC758\uD55C \uAE00\uAF34\uC774 \uC0AC\uC6A9\uB429\uB2C8\uB2E4.","\uC544\uC774\uCF58 \uC815\uC758\uC640 \uC5F0\uACB0\uB41C \uAE00\uAF34 \uBB38\uC790\uC785\uB2C8\uB2E4.","\uC704\uC82F\uC5D0\uC11C \uB2EB\uAE30 \uC791\uC5C5\uC758 \uC544\uC774\uCF58\uC785\uB2C8\uB2E4."],"vs/platform/undoRedo/common/undoRedoService":["{0} \uD30C\uC77C\uC774 \uB2EB\uD788\uACE0 \uB514\uC2A4\uD06C\uC5D0\uC11C \uC218\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","{0} \uD30C\uC77C\uC740 \uD638\uD658\uB418\uC9C0 \uC54A\uB294 \uBC29\uC2DD\uC73C\uB85C \uC218\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","\uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uC2E4\uD589 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. {1}","\uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uC2E4\uD589 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. {1}","{1}\uC5D0 \uBCC0\uACBD \uB0B4\uC6A9\uC774 \uC801\uC6A9\uB418\uC5C8\uC73C\uBBC0\uB85C \uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uC2E4\uD589 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","{1}\uC5D0\uC11C \uC2E4\uD589 \uCDE8\uC18C \uB610\uB294 \uB2E4\uC2DC \uC2E4\uD589 \uC791\uC5C5\uC774 \uC774\uBBF8 \uC2E4\uD589 \uC911\uC774\uBBC0\uB85C \uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uC2E4\uD589 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uADF8\uB3D9\uC548 \uC2E4\uD589 \uCDE8\uC18C \uB610\uB294 \uB2E4\uC2DC \uC2E4\uD589 \uC791\uC5C5\uC774 \uBC1C\uC0DD\uD588\uAE30 \uB54C\uBB38\uC5D0 \uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uC2E4\uD589 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uC2E4\uD589 \uCDE8\uC18C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","{0}\uAC1C \uD30C\uC77C\uC5D0\uC11C \uC2E4\uD589 \uCDE8\uC18C","\uC774 \uD30C\uC77C \uC2E4\uD589 \uCDE8\uC18C","\uCDE8\uC18C","\uC2E4\uD589 \uCDE8\uC18C \uB610\uB294 \uB2E4\uC2DC \uC2E4\uD589 \uC791\uC5C5\uC774 \uC774\uBBF8 \uC2E4\uD589 \uC911\uC774\uBBC0\uB85C '{0}'\uC744(\uB97C) \uC2E4\uD589 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","'{0}'\uC744(\uB97C) \uC2E4\uD589 \uCDE8\uC18C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","\uC2E4\uD589 \uCDE8\uC18C","\uCDE8\uC18C","\uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uB2E4\uC2DC \uC2E4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. {1}","\uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uB2E4\uC2DC \uC2E4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. {1}","{1}\uC5D0 \uBCC0\uACBD \uB0B4\uC6A9\uC774 \uC801\uC6A9\uB418\uC5C8\uC73C\uBBC0\uB85C \uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uB2E4\uC2DC \uC2E4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","{1}\uC5D0\uC11C \uC2E4\uD589 \uCDE8\uC18C \uB610\uB294 \uB2E4\uC2DC \uC2E4\uD589 \uC791\uC5C5\uC774 \uC774\uBBF8 \uC2E4\uD589 \uC911\uC774\uBBC0\uB85C \uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uB2E4\uC2DC \uC2E4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uADF8\uB3D9\uC548 \uC2E4\uD589 \uCDE8\uC18C \uB610\uB294 \uB2E4\uC2DC \uC2E4\uD589 \uC791\uC5C5\uC774 \uBC1C\uC0DD\uD588\uAE30 \uB54C\uBB38\uC5D0 \uBAA8\uB4E0 \uD30C\uC77C\uC5D0\uC11C '{0}'\uC744(\uB97C) \uB2E4\uC2DC \uC2E4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","\uC2E4\uD589 \uCDE8\uC18C \uB610\uB294 \uB2E4\uC2DC \uC2E4\uD589 \uC791\uC5C5\uC774 \uC774\uBBF8 \uC2E4\uD589 \uC911\uC774\uBBC0\uB85C '{0}'\uC744(\uB97C) \uB2E4\uC2DC \uC2E4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."]}); diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.ru.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.ru.js new file mode 100644 index 0000000..205ebca --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.ru.js @@ -0,0 +1,8 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/define("vs/editor/editor.main.nls.ru",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["\u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"],"vs/base/browser/ui/findinput/findInputCheckboxes":["\u0421 \u0443\u0447\u0435\u0442\u043E\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430","\u0421\u043B\u043E\u0432\u043E \u0446\u0435\u043B\u0438\u043A\u043E\u043C","\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0435"],"vs/base/browser/ui/findinput/replaceInput":["\u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435","\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0440\u0435\u0433\u0438\u0441\u0442\u0440"],"vs/base/browser/ui/iconLabel/iconLabel":["\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u2026"],"vs/base/browser/ui/inputbox/inputBox":["\u041E\u0448\u0438\u0431\u043A\u0430: {0}","\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435: {0}","\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["\u0441\u0432\u043E\u0431\u043E\u0434\u043D\u044B\u0439"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["\u0421\u0431\u0440\u043E\u0441","\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440 \u043F\u043E \u0442\u0438\u043F\u0443","\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440 \u043F\u043E \u0442\u0438\u043F\u0443","\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B","\u0421\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432: {0} \u0438\u0437 {1}"],"vs/base/common/actions":["(\u043F\u0443\u0441\u0442\u043E)"],"vs/base/common/errorMessage":["{0}: {1}","\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430 ({0})","\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430. \u041F\u043E\u0434\u0440\u043E\u0431\u043D\u044B\u0435 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0441\u043C. \u0432 \u0436\u0443\u0440\u043D\u0430\u043B\u0435.","\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430. \u041F\u043E\u0434\u0440\u043E\u0431\u043D\u044B\u0435 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0441\u043C. \u0432 \u0436\u0443\u0440\u043D\u0430\u043B\u0435.","{0} (\u0432\u0441\u0435\u0433\u043E \u043E\u0448\u0438\u0431\u043E\u043A: {1})","\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430. \u041F\u043E\u0434\u0440\u043E\u0431\u043D\u044B\u0435 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0441\u043C. \u0432 \u0436\u0443\u0440\u043D\u0430\u043B\u0435."],"vs/base/common/keybindingLabels":["CTRL","SHIFT","ALT","Windows","CTRL","SHIFT","ALT","\u041F\u0440\u0435\u0432\u043E\u0441\u0445\u043E\u0434\u043D\u043E","CTRL","SHIFT","ALT","\u041A\u043E\u043C\u0430\u043D\u0434\u0430","CTRL","SHIFT","ALT","Windows","CTRL","SHIFT","ALT","\u041F\u0440\u0435\u0432\u043E\u0441\u0445\u043E\u0434\u043D\u043E"],"vs/base/parts/quickinput/browser/quickInput":["\u041D\u0430\u0437\u0430\u0434","{0} / {1}","\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442, \u0447\u0442\u043E\u0431\u044B \u0443\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u0447\u0438\u0441\u043B\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432.","\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B: {0}","{0} \u0432\u044B\u0431\u0440\u0430\u043D\u043E","OK","\u0414\u0440\u0443\u0433\u043E\u0439","\u041D\u0430\u0437\u0430\u0434 ({0})","\u041D\u0430\u0437\u0430\u0434"],"vs/base/parts/quickinput/browser/quickInputList":["\u0411\u044B\u0441\u0442\u0440\u044B\u0439 \u0432\u0432\u043E\u0434"],"vs/editor/browser/controller/coreCommands":["\u0420\u0430\u0437\u043C\u0435\u0449\u0430\u0442\u044C \u043D\u0430 \u043A\u043E\u043D\u0446\u0435 \u0434\u0430\u0436\u0435 \u0434\u043B\u044F \u0431\u043E\u043B\u0435\u0435 \u0434\u043B\u0438\u043D\u043D\u044B\u0445 \u0441\u0442\u0440\u043E\u043A","\u0420\u0430\u0437\u043C\u0435\u0449\u0430\u0442\u044C \u043D\u0430 \u043A\u043E\u043D\u0446\u0435 \u0434\u0430\u0436\u0435 \u0434\u043B\u044F \u0431\u043E\u043B\u0435\u0435 \u0434\u043B\u0438\u043D\u043D\u044B\u0445 \u0441\u0442\u0440\u043E\u043A"],"vs/editor/browser/controller/textAreaHandler":["\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","\u0421\u0435\u0439\u0447\u0430\u0441 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D. \u041D\u0430\u0436\u043C\u0438\u0442\u0435 {0} \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432."],"vs/editor/browser/core/keybindingCancellation":['\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u044E\u0442\u0441\u044F \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438, \u0434\u043E\u043F\u0443\u0441\u043A\u0430\u044E\u0449\u0438\u0435 \u043E\u0442\u043C\u0435\u043D\u0443, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438"'],"vs/editor/browser/editorExtensions":["&&\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C","\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C","&&\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","\u0412\u0435\u0440\u043D\u0443\u0442\u044C","&&\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0432\u0441\u0435","\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435"],"vs/editor/browser/widget/codeEditorWidget":["\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043A\u0443\u0440\u0441\u043E\u0440\u043E\u0432 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u043E {0}."],"vs/editor/browser/widget/diffEditorWidget":["\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u0432\u043E\u043A \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.","\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0439 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.","\u041D\u0435\u043B\u044C\u0437\u044F \u0441\u0440\u0430\u0432\u043D\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043E\u0434\u0438\u043D \u0438\u0437 \u0444\u0430\u0439\u043B\u043E\u0432 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439."],"vs/editor/browser/widget/diffReview":['\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043A\u043D\u043E\u043F\u043A\u0438 "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C" \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.','\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043A\u043D\u043E\u043F\u043A\u0438 "\u0423\u0434\u0430\u043B\u0438\u0442\u044C" \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.','\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043A\u043D\u043E\u043F\u043A\u0438 "\u0417\u0430\u043A\u0440\u044B\u0442\u044C" \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.',"\u0417\u0430\u043A\u0440\u044B\u0442\u044C","\u043D\u0435\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u044B\u0445 \u0441\u0442\u0440\u043E\u043A","1 \u0441\u0442\u0440\u043E\u043A\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0430","\u0421\u0442\u0440\u043E\u043A \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E: {0}","\u0420\u0430\u0437\u043B\u0438\u0447\u0438\u0435 {0} \u0438\u0437 {1}: \u0438\u0441\u0445\u043E\u0434\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 {2}, {3}, \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 {4}, {5}","\u043F\u0443\u0441\u0442\u043E\u0439","{0} \u043D\u0435\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 {1}","{0} \u0438\u0441\u0445\u043E\u0434\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 {1} \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 {2}","+ {0} \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 {1}","- {0} \u0438\u0441\u0445\u043E\u0434\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 {1}","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C\u0443 \u0440\u0430\u0437\u043B\u0438\u0447\u0438\u044E","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u043C\u0443 \u0440\u0430\u0437\u043B\u0438\u0447\u0438\u044E"],"vs/editor/browser/widget/inlineDiffMargin":["\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438","\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443","\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 ({0})","\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u044D\u0442\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435","\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 ({0})"],"vs/editor/common/config/commonEditorConfig":["\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440",'\u0427\u0438\u0441\u043B\u043E \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u0432 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438. \u042D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430, \u0435\u0441\u043B\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 "#editor.detectIndentation#".','\u0412\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u043F\u0440\u043E\u0431\u0435\u043B\u044B \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB. \u042D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430, \u0435\u0441\u043B\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 "#editor.detectIndentation#". ','\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u0431\u0443\u0434\u0443\u0442 \u043B\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B "#editor.tabSize#" \u0438 "#editor.insertSpaces#" \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0442\u044C\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0444\u0430\u0439\u043B\u0430 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430.',"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u043C\u044B\u0439 \u043A\u043E\u043D\u0435\u0447\u043D\u044B\u0439 \u043F\u0440\u043E\u0431\u0435\u043B.","\u0421\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u0430\u044F \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u0434\u043B\u044F \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u0444\u0430\u0439\u043B\u043E\u0432 \u0441 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0444\u0443\u043D\u043A\u0446\u0438\u0439, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0438\u043D\u0442\u0435\u043D\u0441\u0438\u0432\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442 \u043F\u0430\u043C\u044F\u0442\u044C.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043B\u0438 \u043E\u0446\u0435\u043D\u0438\u0432\u0430\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0441\u043B\u043E\u0432 \u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0435.","\u041F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u043E\u0432 \u0442\u043E\u043B\u044C\u043A\u043E \u0438\u0437 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430.","\u041F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u043E\u0432 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0430 \u043E\u0434\u043D\u043E\u043C \u044F\u0437\u044B\u043A\u0435.","\u041F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u043E\u0432 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0438\u0437 \u043A\u0430\u043A\u0438\u0445 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u0431\u0443\u0434\u0443\u0442 \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0442\u044C\u0441\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0441\u043B\u043E\u0432.","\u0421\u0435\u043C\u0430\u043D\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0446\u0432\u0435\u0442\u043E\u0432\u044B\u0445 \u0442\u0435\u043C.","\u0421\u0435\u043C\u0430\u043D\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0446\u0432\u0435\u0442\u043E\u0432\u044B\u0445 \u0442\u0435\u043C.",'\u0421\u0435\u043C\u0430\u043D\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 "semanticHighlighting" \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0446\u0432\u0435\u0442\u043E\u0432\u043E\u0439 \u0442\u0435\u043C\u044B.',"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u043F\u043E\u043A\u0430\u0437 \u0441\u0435\u043C\u0430\u043D\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u043F\u043E\u0434\u0441\u0432\u0435\u0442\u043A\u0438 \u0434\u043B\u044F \u044F\u0437\u044B\u043A\u043E\u0432, \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0449\u0438\u0445 \u0435\u0435.","\u041E\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u0431\u044B\u0441\u0442\u0440\u044B\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u043C \u0434\u0430\u0436\u0435 \u043F\u0440\u0438 \u0434\u0432\u043E\u0439\u043D\u043E\u043C \u0449\u0435\u043B\u0447\u043A\u0435 \u043F\u043E \u0435\u0433\u043E \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u043C\u0443 \u0438 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 ESC.","\u0421\u0442\u0440\u043E\u043A\u0438, \u0434\u043B\u0438\u043D\u0430 \u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0437\u043C\u0435\u0447\u0435\u043D\u044B \u0438\u0437 \u0441\u043E\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438","\u0412\u0440\u0435\u043C\u044F \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F \u0432 \u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430\u0445, \u043F\u043E \u0438\u0441\u0442\u0435\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u0435 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u043E\u0442\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F. \u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 0, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u044F \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u0430\u043A \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043E\u0442\u043B\u0438\u0447\u0438\u044F: \u0440\u044F\u0434\u043E\u043C \u0438\u043B\u0438 \u0432 \u0442\u0435\u043A\u0441\u0442\u0435.","\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0438\u043B\u0438 \u043A\u043E\u043D\u0435\u0447\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0431\u0435\u043B\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0438\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440\u044B +/- \u0434\u043B\u044F \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0445 \u0438\u043B\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0445 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043B\u0438 CodeLens \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0421\u0442\u0440\u043E\u043A\u0438 \u043D\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u044C\u0441\u044F \u043D\u0438\u043A\u043E\u0433\u0434\u0430.","\u0421\u0442\u0440\u043E\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u044C\u0441\u044F \u043F\u043E \u0448\u0438\u0440\u0438\u043D\u0435 \u043E\u043A\u043D\u0430 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430.",'\u0421\u0442\u0440\u043E\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u044C\u0441\u044F \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C "#editor.wordWrap#".'],"vs/editor/common/config/editorOptions":["\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0442\u044C, \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u043B\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E API-\u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043E\u0432 \u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u044B.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u043E \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430 \u0432 \u043F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435. \u041F\u0435\u0440\u0435\u043D\u043E\u0441 \u0442\u0435\u043A\u0441\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0438\u043A\u043E\u0433\u0434\u0430 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u043E \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043B\u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430. \u0415\u0441\u043B\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u043F\u0435\u0440\u0435\u043D\u043E\u0441 \u0441\u0442\u0440\u043E\u043A \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043B\u0438 \u043F\u0440\u043E\u0431\u0435\u043B \u043F\u0440\u0438 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0438.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u043F\u0443\u0441\u0442\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F, \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0435\u0432 \u043A \u0441\u0442\u0440\u043E\u043A\u0430\u043C.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043A\u043E\u043F\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u043F\u0440\u0438 \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0438 \u0431\u0435\u0437 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u043A\u0443\u0440\u0441\u043E\u0440 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u043F\u043E\u0438\u0441\u043A\u0430 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043C\u043E\u0436\u043D\u043E \u043B\u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u043E\u0438\u0441\u043A\u0430 \u0438\u0437 \u0442\u0435\u043A\u0441\u0442\u0430, \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.",'\u041D\u0438\u043A\u043E\u0433\u0434\u0430 \u043D\u0435 \u0432\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u044E "\u041D\u0430\u0439\u0442\u0438 \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0438" \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E)','\u0412\u0441\u0435\u0433\u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u044E "\u041D\u0430\u0439\u0442\u0438 \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0438" \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438','\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 "\u041D\u0430\u0439\u0442\u0438 \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0438" \u043F\u0440\u0438 \u0432\u044B\u0431\u043E\u0440\u0435 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u0441\u0442\u0440\u043E\u043A \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E.',"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0443\u0441\u043B\u043E\u0432\u0438\u0435\u043C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u043C \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0435.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u043E \u043B\u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u043E\u0438\u0441\u043A\u0430 \u0441\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u0438\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u044F\u0442\u044C \u043E\u0431\u0449\u0438\u0439 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 macOS.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u043E \u043B\u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u043E\u0438\u0441\u043A\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u043D\u0430\u0447\u0430\u043B\u0435 \u043E\u043A\u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430. \u0415\u0441\u043B\u0438 \u0437\u0430\u0434\u0430\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 true, \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u0438\u0442\u044C \u043F\u0435\u0440\u0432\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 \u043F\u0440\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u043E\u043C \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u043B\u0438 \u043F\u043E\u0438\u0441\u043A \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C\u0441\u044F \u0441 \u043D\u0430\u0447\u0430\u043B\u0430 (\u0438\u043B\u0438 \u0441 \u043A\u043E\u043D\u0446\u0430), \u0435\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0438\u043A\u0430\u043A\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0439.",'\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u043B\u0438\u0433\u0430\u0442\u0443\u0440\u044B \u0448\u0440\u0438\u0444\u0442\u043E\u0432 (\u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A\u0438 \u0448\u0440\u0438\u0444\u0442\u0430 "calt" \u0438 "liga"). \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u044D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0443 \u0434\u043B\u044F \u0434\u0435\u0442\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E\u043C CSS "font-feature-settings".','\u042F\u0432\u043D\u043E\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E CSS "font-feature-settings". \u0415\u0441\u043B\u0438 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043B\u0438\u0433\u0430\u0442\u0443\u0440\u044B, \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0435\u0433\u043E \u043C\u043E\u0436\u043D\u043E \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435.','\u041D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043B\u0438\u0433\u0430\u0442\u0443\u0440\u044B \u0438\u043B\u0438 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A\u0438 \u0448\u0440\u0438\u0444\u0442\u0430. \u041C\u043E\u0436\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043B\u0438\u0433\u0430\u0442\u0443\u0440\u044B, \u0438\u043B\u0438 \u0441\u0442\u0440\u043E\u043A\u0443 \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 CSS "font-feature-settings".',"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430 \u0432 \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u0445.",'\u0414\u043E\u043F\u0443\u0441\u043A\u0430\u044E\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u0441\u043B\u043E\u0432\u0430 "normal" \u0438\u043B\u0438 "bold" \u0438 \u0447\u0438\u0441\u043B\u0430 \u0432 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u0435 \u043E\u0442 1 \u0434\u043E 1000.','\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043D\u0430\u0441\u044B\u0449\u0435\u043D\u043D\u043E\u0441\u0442\u044C\u044E \u0448\u0440\u0438\u0444\u0442\u0430. \u0414\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F: \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u0441\u043B\u043E\u0432\u0430 "normal" \u0438\u043B\u0438 "bold", \u0430 \u0442\u0430\u043A\u0436\u0435 \u0447\u0438\u0441\u043B\u0430 \u0432 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u0435 \u043E\u0442 1 \u0434\u043E 1000.',"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E)","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u043C\u0443 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0443 \u0438 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0431\u044B\u0441\u0442\u0440\u044B\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","\u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043A \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u043C\u0443 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0443 \u0438 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0431\u044B\u0441\u0442\u0440\u0443\u044E \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044E \u0434\u043B\u044F \u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u0445","\u042D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0443\u0441\u0442\u0430\u0440\u0435\u043B. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0435\u0433\u043E \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 'editor.editor.gotoLocation.multipleDefinitions' \u0438\u043B\u0438 'editor.editor.gotoLocation.multipleImplementations'.",'\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435\u043C \u043A\u043E\u043C\u0430\u043D\u0434\u044B "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E" \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u0446\u0435\u043B\u0435\u0432\u044B\u0445 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0439.','\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435\u043C \u043A\u043E\u043C\u0430\u043D\u0434\u044B "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E \u0442\u0438\u043F\u0430" \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u0446\u0435\u043B\u0435\u0432\u044B\u0445 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0439.','\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435\u043C \u043A\u043E\u043C\u0430\u043D\u0434\u044B "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u044E" \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u0446\u0435\u043B\u0435\u0432\u044B\u0445 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0439.','\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435\u043C \u043A\u043E\u043C\u0430\u043D\u0434\u044B "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F\u043C" \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u0446\u0435\u043B\u0435\u0432\u044B\u0445 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0439.','\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435\u043C \u043A\u043E\u043C\u0430\u043D\u0434\u044B "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0441\u044B\u043B\u043A\u0430\u043C" \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u0446\u0435\u043B\u0435\u0432\u044B\u0445 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0439.','\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u043E\u0439 \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u043A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u043C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E" \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0435 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435.','\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u043C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E \u0442\u0438\u043F\u0430" \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0435 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435.','\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u043E\u0439 \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u043A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u043C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u044E" \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0435 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435.','\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u043E\u0439, \u043A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u043C \u043A\u043E\u043C\u0430\u043D\u0434\u044B "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438" \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0435 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435.','\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u043E\u0439 \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u043A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u043C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0441\u044B\u043B\u043A\u0435" \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0435 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435.',"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043B\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0435.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0432\u0440\u0435\u043C\u044F \u0437\u0430\u0434\u0435\u0440\u0436\u043A\u0438 \u0432 \u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430\u0445 \u043F\u0435\u0440\u0435\u0434 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435\u043C \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u044F.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u0434\u043E\u043B\u0436\u043D\u043E \u043B\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u043E\u0441\u0442\u0430\u0432\u0430\u0442\u044C\u0441\u044F \u0432\u0438\u0434\u0438\u043C\u044B\u043C \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043D\u0430 \u043D\u0435\u0433\u043E \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u043C\u044B\u0448\u0438.","\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0438\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u043E\u0434\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.",'\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0445 \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u0439 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u0415\u0441\u043B\u0438 \u0437\u0430\u0434\u0430\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "0", \u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F 90\xA0% \u043E\u0442 "#editor.fontSize#".',"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u0435\u043C\u0435\u0439\u0441\u0442\u0432\u043E\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u0432 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0445 \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u0439 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0432\u044B\u0441\u043E\u0442\u043E\u0439 \u0441\u0442\u0440\u043E\u043A. \u0423\u043A\u0430\u0436\u0438\u0442\u0435 0 \u0434\u043B\u044F \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F \u0432\u044B\u0441\u043E\u0442\u044B \u0441\u0442\u0440\u043E\u043A\u0438 \u043F\u043E \u0440\u0430\u0437\u043C\u0435\u0440\u0443 \u0448\u0440\u0438\u0444\u0442\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043B\u0438 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u0430.","\u041C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u0430 \u0438\u043C\u0435\u0435\u0442 \u0442\u0430\u043A\u043E\u0439 \u0436\u0435 \u0440\u0430\u0437\u043C\u0435\u0440, \u0447\u0442\u043E \u0438 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 (\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u0430 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0430).","\u041C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0442\u044F\u0433\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u0438\u043B\u0438 \u0441\u0436\u0438\u043C\u0430\u0442\u044C\u0441\u044F \u043F\u043E \u043C\u0435\u0440\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043F\u043E \u0432\u044B\u0441\u043E\u0442\u0435 (\u0431\u0435\u0437 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438).","\u041C\u0438\u043D\u0438\u043A\u0430\u0440\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u043C\u0435\u043D\u044C\u0448\u0430\u0442\u044C\u0441\u044F \u043F\u043E \u043C\u0435\u0440\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438, \u0447\u0442\u043E\u0431\u044B \u043D\u0438\u043A\u043E\u0433\u0434\u0430 \u043D\u0435 \u0431\u044B\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435, \u0447\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 (\u0431\u0435\u0437 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438).","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440\u043E\u043C \u043C\u0438\u043D\u0438\u043A\u0430\u0440\u0442\u044B.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0441 \u043A\u0430\u043A\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u044B \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u043E\u0433\u0434\u0430 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043F\u043E\u043B\u0437\u0443\u043D\u043E\u043A \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u044B.","\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E, \u043D\u0430\u0440\u0438\u0441\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u043D\u0430 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u0435: 1, 2 \u0438\u043B\u0438 3.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 \u0432\u043C\u0435\u0441\u0442\u043E \u0446\u0432\u0435\u0442\u043D\u044B\u0445 \u0431\u043B\u043E\u043A\u043E\u0432.","\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0448\u0438\u0440\u0438\u043D\u0443 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u044B, \u0447\u0442\u043E\u0431\u044B \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u044B\u0445 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432 \u043D\u0435 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u043B\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E.","\u0417\u0430\u0434\u0430\u0435\u0442 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E \u043C\u0435\u0436\u0434\u0443 \u0432\u0435\u0440\u0445\u043D\u0438\u043C \u043A\u0440\u0430\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u0438 \u043F\u0435\u0440\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u043E\u0439.","\u0417\u0430\u0434\u0430\u0435\u0442 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E \u043C\u0435\u0436\u0434\u0443 \u043D\u0438\u0436\u043D\u0438\u043C \u043A\u0440\u0430\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u043E\u0439.","\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0432\u0441\u043F\u043B\u044B\u0432\u0430\u044E\u0449\u0435\u0435 \u043E\u043A\u043D\u043E \u0441 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0435\u0439 \u043F\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0443 \u0438 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F\u043C\u0438 \u043E \u0442\u0438\u043F\u0435, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u043D\u0430\u0431\u043E\u0440\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043C\u0435\u043D\u044E \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043E\u043A \u043E\u0441\u0442\u0430\u0435\u0442\u0441\u044F \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u043C \u0438\u043B\u0438 \u0437\u0430\u043A\u0440\u043E\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u0434\u043E\u0441\u0442\u0438\u0436\u0435\u043D\u0438\u0438 \u043A\u043E\u043D\u0446\u0430 \u0441\u043F\u0438\u0441\u043A\u0430.","\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043A\u0440\u0430\u0442\u043A\u0438\u0445 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0432 \u0441\u0442\u0440\u043E\u043A\u0430\u0445.","\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043A\u0440\u0430\u0442\u043A\u0438\u0445 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0432 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u044F\u0445.","\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043A\u0440\u0430\u0442\u043A\u0438\u0445 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0432\u043D\u0435 \u0441\u0442\u0440\u043E\u043A \u0438 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0435\u0432.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F.","\u041D\u043E\u043C\u0435\u0440\u0430 \u0441\u0442\u0440\u043E\u043A \u043D\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0430\u0431\u0441\u043E\u043B\u044E\u0442\u043D\u044B\u0435 \u043D\u043E\u043C\u0435\u0440\u0430 \u0441\u0442\u0440\u043E\u043A.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u044B\u0435 \u043D\u043E\u043C\u0435\u0440\u0430 \u0441\u0442\u0440\u043E\u043A \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u044E\u0442\u0441\u044F \u043A\u0430\u043A \u0440\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0432 \u0441\u0442\u0440\u043E\u043A\u0430\u0445 \u0434\u043E \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043A\u0443\u0440\u0441\u043E\u0440\u0430.","\u041D\u043E\u043C\u0435\u0440\u0430 \u0441\u0442\u0440\u043E\u043A \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043A\u0430\u0436\u0434\u044B\u0435 10 \u0441\u0442\u0440\u043E\u043A.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435\u043C \u043D\u043E\u043C\u0435\u0440\u043E\u0432 \u0441\u0442\u0440\u043E\u043A.","\u0427\u0438\u0441\u043B\u043E \u043C\u043E\u043D\u043E\u0448\u0438\u0440\u0438\u043D\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432, \u043F\u0440\u0438 \u043A\u043E\u0442\u043E\u0440\u043E\u043C \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u0440\u0438\u0441\u043E\u0432\u044B\u0432\u0430\u0442\u044C\u0441\u044F \u043B\u0438\u043D\u0435\u0439\u043A\u0430 \u044D\u0442\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u044D\u0442\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0435 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u043F\u043E\u0441\u043B\u0435 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0447\u0438\u0441\u043B\u0430 \u043C\u043E\u043D\u043E\u0448\u0438\u0440\u0438\u043D\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432. \u0414\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u043B\u0438\u043D\u0435\u0435\u043A \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439. \u0415\u0441\u043B\u0438 \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u043D\u0438 \u043E\u0434\u043D\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F, \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0435 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043D\u0435 \u0431\u0443\u0434\u0443\u0442.","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0431\u0435\u0437 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u0441\u043F\u0440\u0430\u0432\u0430 \u043E\u0442 \u043A\u0443\u0440\u0441\u043E\u0440\u0430.","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442 \u0441\u043F\u0440\u0430\u0432\u0430 \u043E\u0442 \u043A\u0443\u0440\u0441\u043E\u0440\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0443\u0442 \u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C\u0441\u044F \u0441\u043B\u043E\u0432\u0430 \u043F\u0440\u0438 \u043F\u0440\u0438\u043D\u044F\u0442\u0438\u0438 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F. \u041E\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043E\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0439, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0449\u0438\u0445 \u044D\u0442\u0443 \u0444\u0443\u043D\u043A\u0446\u0438\u044E.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u0434\u043E\u043F\u0443\u0441\u043A\u0430\u044E\u0442\u0441\u044F \u043B\u0438 \u043D\u0435\u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u043E\u043F\u0435\u0447\u0430\u0442\u043A\u0438 \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u0445 \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043B\u0438 \u0443\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0435 \u0441\u043B\u043E\u0432\u0430, \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u0440\u044F\u0434\u043E\u043C \u0441 \u043A\u0443\u0440\u0441\u043E\u0440\u043E\u043C.",'\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u043B\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0435 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u044B \u0432\u044B\u0431\u043E\u0440\u0430 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0441\u043E\u0432\u043C\u0435\u0441\u0442\u043D\u043E \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u043C\u0438 \u0440\u0430\u0431\u043E\u0447\u0438\u043C\u0438 \u043E\u0431\u043B\u0430\u0441\u0442\u044F\u043C\u0438 \u0438 \u043E\u043A\u043D\u0430\u043C\u0438 (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F "#editor.suggestSelection#").',"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0437\u0430\u043F\u0440\u0435\u0449\u0430\u0435\u0442 \u043B\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442 \u043A\u043E\u0434\u0430 \u044D\u043A\u0441\u043F\u0440\u0435\u0441\u0441-\u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F.","\u0423\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442, \u043D\u0443\u0436\u043D\u043E \u043B\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u043A\u0438 \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u0445.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0438 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F \u0432 \u043D\u0438\u0436\u043D\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0436\u0435\u0442\u0430 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043B\u0438 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043E \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u043C \u043E\u0431\u0440\u0430\u0437\u043E\u043C \u0432\u043C\u0435\u0441\u0442\u0435 \u0441 \u043C\u0435\u0442\u043A\u043E\u0439 \u0438\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u0439.","\u042D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0435\u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u043C. \u0422\u0435\u043F\u0435\u0440\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C.","\u042D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0443\u0441\u0442\u0430\u0440\u0435\u043B. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0435\u0433\u043E \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 'editor.suggest.showKeywords' \u0438\u043B\u0438 'editor.suggest.showSnippets'.",'\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "method".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "function".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "constructor".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "field".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "variable".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "class".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "struct".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "interface".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "module".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "property".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "event".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "operator".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "unit".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "value".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "constant".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "enum".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "enumMember".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "keyword".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "text".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "color".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "file".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "reference".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "customcolor".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "folder".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "typeParameter".','\u041A\u043E\u0433\u0434\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D, \u0432 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F "snippet".','\u0412\u043E \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u043E\u043C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0438 IntelliSense \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0442\u0438\u043F\u0430 "\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438".','\u0412\u043E \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u043E\u043C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0438 IntelliSense \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0442\u0438\u043F\u0430 "\u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B".',"\u0414\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044B\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u044B \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u0439 \u0438 \u043A\u043E\u043D\u0435\u0447\u043D\u044B\u0439 \u043F\u0440\u043E\u0431\u0435\u043B\u044B.",'\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0443\u0442 \u043B\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0444\u0438\u043A\u0441\u0430\u0446\u0438\u0438. \u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0432 JavaScript \u0442\u043E\u0447\u043A\u0430 \u0441 \u0437\u0430\u043F\u044F\u0442\u043E\u0439 (";") \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u043C \u0444\u0438\u043A\u0441\u0430\u0446\u0438\u0438, \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442\u0441\u044F.',"\u041F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 \u0412\u0412\u041E\u0414 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u043E\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u044F\u0435\u0442 \u0442\u0435\u043A\u0441\u0442.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0443\u0442 \u043B\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C\u0441\u044F \u043A\u043B\u0430\u0432\u0438\u0448\u0435\u0439 \u0412\u0412\u041E\u0414 \u0432 \u0434\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u043A \u043A\u043B\u0430\u0432\u0438\u0448\u0435 TAB. \u042D\u0442\u043E \u043F\u043E\u043C\u043E\u0433\u0430\u0435\u0442 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044C \u043D\u0435\u043E\u0434\u043D\u043E\u0437\u043D\u0430\u0447\u043D\u043E\u0441\u0442\u0438 \u043C\u0435\u0436\u0434\u0443 \u0432\u0441\u0442\u0430\u0432\u043A\u043E\u0439 \u043D\u043E\u0432\u044B\u0445 \u0441\u0442\u0440\u043E\u043A \u0438 \u043F\u0440\u0438\u043D\u044F\u0442\u0438\u0435\u043C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0417\u0430\u0434\u0430\u0435\u0442 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0442\u0440\u043E\u043A \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u043D\u044B \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430. \u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435: \u0438\u0437-\u0437\u0430 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0439 \u044D\u0442\u043E \u0447\u0438\u0441\u043B\u043E \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E.","\u0421\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u044F\u0437\u044B\u043A\u0430 \u0434\u043B\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F \u0441\u043A\u043E\u0431\u043E\u043A.","\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0441\u043A\u043E\u0431\u043A\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u043A\u0443\u0440\u0441\u043E\u0440 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0441\u043B\u0435\u0432\u0430 \u043E\u0442 \u043F\u0440\u043E\u0431\u0435\u043B\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0443\u044E \u0441\u043A\u043E\u0431\u043A\u0443 \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u043C \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0439 \u0441\u043A\u043E\u0431\u043A\u0438.","\u0417\u0430\u043C\u0435\u043D\u044F\u0442\u044C \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0438\u0435 \u043A\u0430\u0432\u044B\u0447\u043A\u0438 \u0438 \u0441\u043A\u043E\u0431\u043A\u0438 \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u043A\u0430\u0432\u044B\u0447\u043A\u0438 \u0438\u043B\u0438 \u0441\u043A\u043E\u0431\u043A\u0438 \u0431\u044B\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u044B \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0437\u0430\u043C\u0435\u043D\u044F\u0442\u044C\u0441\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0438\u0435 \u043A\u0430\u0432\u044B\u0447\u043A\u0438 \u0438\u043B\u0438 \u0441\u043A\u043E\u0431\u043A\u0438 \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435.","\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u044F\u0437\u044B\u043A\u0430 \u0434\u043B\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F \u043A\u0430\u0432\u044B\u0447\u0435\u043A.","\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043A\u0430\u0432\u044B\u0447\u043A\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u043A\u0443\u0440\u0441\u043E\u0440 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0441\u043B\u0435\u0432\u0430 \u043E\u0442 \u043F\u0440\u043E\u0431\u0435\u043B\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043A\u0430\u0432\u044B\u0447\u043A\u0438, \u0435\u0441\u043B\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u0434\u043E\u0431\u0430\u0432\u0438\u043B \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0443\u044E \u043A\u0430\u0432\u044B\u0447\u043A\u0443.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F\u044B \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0438.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F\u044B \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0438 \u0438 \u0443\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u0441\u043A\u043E\u0431\u043A\u0438 \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441\u043E\u043C \u044F\u0437\u044B\u043A\u0430.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0438, \u0443\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u043E\u043C \u0441\u043A\u043E\u0431\u043A\u0438 \u0438 \u0432\u044B\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 onEnterRules, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u043C\u044B\u0435 \u044F\u0437\u044B\u043A\u0430\u043C\u0438.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0438, \u0443\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u043E\u043C \u0441\u043A\u043E\u0431\u043A\u0438, \u0432\u044B\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 onEnterRules, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u043C\u044B\u0435 \u044F\u0437\u044B\u043A\u0430\u043C\u0438 \u0438 \u0443\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u043E\u0442\u0441\u0442\u0443\u043F\u0430 indentationRules, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u043C\u044B\u0435 \u044F\u0437\u044B\u043A\u0430\u043C\u0438.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0438\u0437\u043C\u0435\u043D\u044F\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F\u044B, \u043A\u043E\u0433\u0434\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438 \u0432\u0432\u043E\u0434\u044F\u0442, \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u044E\u0442 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u044E\u0442 \u0442\u0435\u043A\u0441\u0442 \u0438\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u044F\u044E\u0442 \u043E\u0442\u0441\u0442\u0443\u043F\u044B \u0441\u0442\u0440\u043E\u043A.","\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u044F\u0437\u044B\u043A\u0430 \u0434\u043B\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043E\u0431\u0440\u0430\u043C\u043B\u0435\u043D\u0438\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0439.","\u041E\u0431\u0440\u0430\u043C\u043B\u044F\u0442\u044C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u0430\u0432\u044B\u0447\u0435\u043A, \u0430 \u043D\u0435 \u0441\u043A\u043E\u0431\u043E\u043A.","\u041E\u0431\u0440\u0430\u043C\u043B\u044F\u0442\u044C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0441\u043A\u043E\u0431\u043E\u043A, \u0430 \u043D\u0435 \u043A\u0430\u0432\u044B\u0447\u0435\u043A.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0431\u0440\u0430\u043C\u043B\u044F\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u043A\u0430\u0432\u044B\u0447\u0435\u043A \u0438\u043B\u0438 \u043A\u0432\u0430\u0434\u0440\u0430\u0442\u043D\u044B\u0445 \u0441\u043A\u043E\u0431\u043E\u043A.","\u042D\u043C\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438 \u043F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u0434\u043B\u044F \u043E\u0442\u0441\u0442\u0443\u043F\u0430. \u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u043E \u043A \u043F\u043E\u0437\u0438\u0446\u0438\u044F\u043C \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043B\u0438 CodeLens \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u0435\u043C\u0435\u0439\u0441\u0442\u0432\u043E\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u0432 \u0434\u043B\u044F CodeLens.",'\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430 \u0432 \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u0445 \u0434\u043B\u044F CodeLens. \u0415\u0441\u043B\u0438 \u0437\u0430\u0434\u0430\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "0", \u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F 90% \u043E\u0442 "#editor.fontSize#".',"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0434\u0435\u043A\u043E\u0440\u0430\u0442\u043E\u0440\u044B \u0446\u0432\u0435\u0442\u0430 \u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E \u0432\u044B\u0431\u043E\u0440\u0430 \u0446\u0432\u0435\u0442\u0430.","\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0442\u043E\u0433\u043E, \u0447\u0442\u043E \u0432\u044B\u0431\u043E\u0440 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0438 \u043C\u044B\u0448\u0438 \u043F\u0440\u0438\u0432\u043E\u0434\u0438\u0442 \u043A \u0432\u044B\u0431\u043E\u0440\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u043B\u0438 \u0442\u0435\u043A\u0441\u0442 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441 \u043F\u043E\u0434\u0441\u0432\u0435\u0442\u043A\u043E\u0439 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441\u0430.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u0442\u0438\u043B\u0435\u043C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043B\u0438 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043B\u0430\u0432\u043D\u0443\u044E \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E \u043A\u0443\u0440\u0441\u043E\u0440\u0430.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u0442\u0438\u043B\u0435\u043C \u043A\u0443\u0440\u0441\u043E\u0440\u0430.",'\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u043C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u0432\u0438\u0434\u0438\u043C\u044B\u0445 \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u0445 \u0438 \u043A\u043E\u043D\u0435\u0447\u043D\u044B\u0445 \u043B\u0438\u043D\u0438\u0439, \u043E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u0438\u0445 \u043A\u0443\u0440\u0441\u043E\u0440. \u042D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0438\u043C\u0435\u0435\u0442 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 "scrollOff" \u0438\u043B\u0438 "scrollOffset" \u0432 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430\u0445.','"cursorSurroundingLines" \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0438\u043B\u0438 API.','"cursorSurroundingLines" \u043F\u0440\u0438\u043D\u0443\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0432\u043E \u0432\u0441\u0435\u0445 \u0441\u043B\u0443\u0447\u0430\u044F\u0445.','\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u043E\u0433\u0434\u0430 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C "cursorSurroundingLines".',`\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0448\u0438\u0440\u0438\u043D\u043E\u0439 \u043A\u0443\u0440\u0441\u043E\u0440\u0430, \u043A\u043E\u0433\u0434\u0430 \u0434\u043B\u044F \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 "#editor.cursorStyle#" \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 'line'`,"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0443 \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u044F.","\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0438\u0435\u043D\u0442 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u0438 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 ALT.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u043B\u0438 \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435 \u043A\u043E\u0434\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044E \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F \u0434\u043B\u044F \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430, \u0435\u0441\u043B\u0438 \u043E\u043D\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430, \u0432 \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044E \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u043E\u0442\u0441\u0442\u0443\u043F\u043E\u0432.","\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044E \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u043E\u0442\u0441\u0442\u0443\u043F\u043E\u0432.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0435\u0439 \u0434\u043B\u044F \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u0435\u043C\u044B\u0445 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u043E\u0432.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0432\u044B\u0434\u0435\u043B\u044F\u0442\u044C \u0441\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u044B.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u043B\u0438 \u0449\u0435\u043B\u0447\u043E\u043A \u043F\u0443\u0441\u0442\u043E\u0433\u043E \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u043F\u043E\u0441\u043B\u0435 \u0441\u0432\u0435\u0440\u043D\u0443\u0442\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u0442\u044C \u0435\u0435.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0441\u0435\u043C\u0435\u0439\u0441\u0442\u0432\u043E \u0448\u0440\u0438\u0444\u0442\u043E\u0432.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043D\u043E\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435. \u041C\u043E\u0434\u0443\u043B\u044C \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0438 \u0438\u043C\u0435\u0442\u044C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D \u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0435.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u044E\u0449\u0438\u043C, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u043F\u043E\u0441\u043B\u0435 \u0432\u0432\u043E\u0434\u0430.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435\u043C \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0445 \u043F\u043E\u043B\u0435\u0439 \u0433\u043B\u0438\u0444\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u041F\u043E\u043B\u044F \u0433\u043B\u0438\u0444\u0430 \u0432 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u043C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u0434\u043B\u044F \u043E\u0442\u043B\u0430\u0434\u043A\u0438.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u043A\u0440\u044B\u0442\u0438\u0435\u043C \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u0432 \u043E\u0431\u0437\u043E\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0435\u0439\u043A\u0435.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u0434\u043E\u043B\u0436\u043D\u0430 \u043B\u0438 \u0432\u044B\u0434\u0435\u043B\u044F\u0442\u044C\u0441\u044F \u0430\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0430\u044F \u043E\u0442\u0441\u0442\u0443\u043F\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u043E\u043C \u043C\u0435\u0436\u0434\u0443 \u0431\u0443\u043A\u0432\u0430\u043C\u0438 \u0432 \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u0445.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430 \u043B\u0438 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430 \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u044F\u0437\u044B\u043A\u0430, \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0442\u0435\u0433\u0438 HTML, \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u044E\u0442\u0441\u044F \u043F\u0440\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0438.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438 \u0438 \u0434\u0435\u043B\u0430\u0442\u044C \u0438\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u043C\u0438 \u0434\u043B\u044F \u0449\u0435\u043B\u0447\u043A\u0430.","\u0412\u044B\u0434\u0435\u043B\u044F\u0442\u044C \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0441\u043A\u043E\u0431\u043A\u0438.","\u041C\u043D\u043E\u0436\u0438\u0442\u0435\u043B\u044C, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0434\u043B\u044F \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 deltaX \u0438 deltaY \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438 \u043A\u043E\u043B\u0435\u0441\u0438\u043A\u0430 \u043C\u044B\u0448\u0438.","\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0448\u0440\u0438\u0444\u0442\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u043E\u0439 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 CTRL \u0438 \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0435\u0441\u0438\u043A\u0430 \u043C\u044B\u0448\u0438.","\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043A\u0443\u0440\u0441\u043E\u0440\u043E\u0432, \u043A\u043E\u0433\u0434\u0430 \u043E\u043D\u0438 \u043F\u0435\u0440\u0435\u043A\u0440\u044B\u0432\u0430\u044E\u0442\u0441\u044F.","\u0421\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 CTRL \u0432 Windows \u0438 Linux \u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 COMMAND \u0432 macOS.","\u0421\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 ALT \u0432 Windows \u0438 Linux \u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 OPTION \u0432 macOS.",'\u041C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u043A\u0443\u0440\u0441\u043E\u0440\u043E\u0432 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043C\u044B\u0448\u0438. \u0416\u0435\u0441\u0442\u044B \u043C\u044B\u0448\u0438 "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E" \u0438 "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443" \u0431\u0443\u0434\u0443\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u0442\u0430\u043A, \u0447\u0442\u043E\u0431\u044B \u043E\u043D\u0438 \u043D\u0435 \u043A\u043E\u043D\u0444\u043B\u0438\u043A\u0442\u043E\u0432\u0430\u043B\u0438 \u0441 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u043C\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430\u043C\u0438. [\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier). ',"\u041A\u0430\u0436\u0434\u044B\u0439 \u043A\u0443\u0440\u0441\u043E\u0440 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u043E\u0434\u043D\u0443 \u0441\u0442\u0440\u043E\u043A\u0443 \u0442\u0435\u043A\u0441\u0442\u0430.","\u041A\u0430\u0436\u0434\u044B\u0439 \u043A\u0443\u0440\u0441\u043E\u0440 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u043E\u043B\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043A\u043E\u0439, \u043A\u043E\u0433\u0434\u0430 \u0447\u0438\u0441\u043B\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u043C\u044B\u0445 \u0441\u0442\u0440\u043E\u043A \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0447\u0438\u0441\u043B\u0443 \u043A\u0443\u0440\u0441\u043E\u0440\u043E\u0432.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0432\u044B\u0434\u0435\u043B\u044F\u0442\u044C \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B \u0441\u0435\u043C\u0430\u043D\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u0430 \u043B\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0433\u0440\u0430\u043D\u0438\u0446\u0430 \u043D\u0430 \u043E\u0431\u0437\u043E\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0435\u0439\u043A\u0435.","\u0424\u043E\u043A\u0443\u0441\u0438\u0440\u043E\u0432\u043A\u0430 \u043D\u0430 \u0434\u0435\u0440\u0435\u0432\u0435 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u043E\u0431\u0437\u043E\u0440\u0430","\u0424\u043E\u043A\u0443\u0441\u0438\u0440\u043E\u0432\u043A\u0430 \u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u043E\u0431\u0437\u043E\u0440\u0430","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043B\u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043D\u0430 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0438\u043B\u0438 \u0434\u0435\u0440\u0435\u0432\u043E \u0432 \u0432\u0438\u0434\u0436\u0435\u0442\u0435 \u043E\u0431\u0437\u043E\u0440\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0432\u0441\u0435\u0433\u0434\u0430 \u043B\u0438 \u0436\u0435\u0441\u0442 \u043C\u044B\u0448\u044C\u044E \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C\u044E \u0437\u0430\u0434\u0435\u0440\u0436\u043A\u0438 (\u0432 \u043C\u0441) \u043F\u0435\u0440\u0435\u0434 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435\u043C \u043A\u0440\u0430\u0442\u043A\u0438\u0445 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442 \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u043E \u0442\u0438\u043F\u0443.",'\u041D\u0435 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F; \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0432\u043C\u0435\u0441\u0442\u043E \u044D\u0442\u043E\u0433\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 "editor.linkedEditing".',"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0435 \u043E\u0442\u0441\u0442\u0443\u043F\u0430.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u043E\u043C\u0435\u0440\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0438, \u043A\u043E\u0433\u0434\u0430 \u0444\u0430\u0439\u043B \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043D\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u043E\u0439.","\u0412\u044B\u0434\u0435\u043B\u044F\u0435\u0442 \u043F\u043E\u043B\u0435 \u0438 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0432\u044B\u0434\u0435\u043B\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043E\u0442\u0440\u0438\u0441\u043E\u0432\u044B\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0438, \u0442\u043E\u043B\u044C\u043A\u043E \u043A\u043E\u0433\u0434\u0430 \u043E\u043D \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u0444\u043E\u043A\u0443\u0441\u0435","\u041E\u0442\u0440\u0438\u0441\u043E\u0432\u043A\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432, \u043A\u0440\u043E\u043C\u0435 \u043E\u0434\u0438\u043D\u043E\u0447\u043D\u044B\u0445 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 \u0441\u043B\u043E\u0432\u0430\u043C\u0438.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0440\u043E\u0431\u0435\u043B\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u043C \u0442\u0435\u043A\u0441\u0442\u0435.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043A\u043E\u043D\u0435\u0447\u043D\u044B\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u044B","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u043E\u0431\u0435\u043B\u044B.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043B\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u043A\u0440\u0443\u0433\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0433\u043B\u044B \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E\u043C \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432, \u043D\u0430 \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u043E\u043A\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043F\u043E \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u043B\u0438 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u043F\u0440\u043E\u043A\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0441\u0442\u0440\u043E\u043A\u0443.","\u041F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0430 \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u0434\u043E\u043B\u044C \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043E\u0441\u0438 \u043F\u0440\u0438 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0435 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438 \u0438 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438 \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E. \u041F\u0440\u0435\u0434\u043E\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043F\u043E \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438 \u043F\u0440\u0438 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0435 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438 \u043D\u0430 \u0442\u0440\u0435\u043A\u043F\u0430\u0434\u0435.","\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u0438\u0440\u0443\u0435\u0442, \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043B\u0438 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u0438\u0447\u043D\u044B\u0439 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430 Linux.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0432\u044B\u0434\u0435\u043B\u044F\u0442\u044C \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u044F, \u0430\u043D\u0430\u043B\u043E\u0433\u0438\u0447\u043D\u044B\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C\u0443 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0443.","\u0412\u0441\u0435\u0433\u0434\u0430 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u0435\u043C\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F.","\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F, \u043A\u043E\u0433\u0434\u0430 \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044C \u043C\u044B\u0448\u0438 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u043D\u0430\u0434 \u043F\u0435\u0440\u0435\u043F\u043B\u0435\u0442\u043E\u043C.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043D\u0430 \u043F\u0435\u0440\u0435\u043F\u043B\u0435\u0442\u0435.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u043A\u0440\u044B\u0442\u0438\u0435\u043C \u043D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0433\u043E \u043A\u043E\u0434\u0430.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u0435\u0440\u0435\u0447\u0435\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u0435\u043C \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E\u0432\u0435\u0440\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E\u0434 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438.","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u043E\u0432 \u0440\u044F\u0434\u043E\u043C \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438.","\u041D\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u043E\u0432.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435\u043C \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u043E\u0432 \u0432\u043C\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438 \u0438 \u0438\u0445 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u043E\u0439.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u043B\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044F \u043F\u0440\u0438 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430",'\u0420\u0430\u0437\u043C\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438. \u0415\u0441\u043B\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "0", \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "#editor.fontSize#".','\u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0442\u0440\u043E\u043A\u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438. \u0415\u0441\u043B\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "0", \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "#editor.lineHeight#". \u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\xA0\u2014 8.',"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0434\u043E\u043B\u0436\u043D\u044B \u043B\u0438 \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F.","\u0412\u0441\u0435\u0433\u0434\u0430 \u0432\u044B\u0431\u0438\u0440\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435.",'\u0412\u044B\u0431\u043E\u0440 \u043D\u0435\u0434\u0430\u0432\u043D\u0438\u0445 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439, \u0435\u0441\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u0430\u043B\u044C\u043D\u0435\u0439\u0448\u0438\u0439 \u0432\u0432\u043E\u0434 \u043D\u0435 \u043F\u0440\u0438\u0432\u043E\u0434\u0438\u0442 \u043A \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044E \u043E\u0434\u043D\u043E\u0433\u043E \u0438\u0437 \u043D\u0438\u0445, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 "console.| -> console.log", \u0442\u0430\u043A \u043A\u0430\u043A "log" \u043D\u0435\u0434\u0430\u0432\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043B\u0441\u044F \u0434\u043B\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F.','\u0412\u044B\u0431\u043E\u0440 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0441 \u0443\u0447\u0435\u0442\u043E\u043C \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0445 \u043F\u0440\u0435\u0444\u0438\u043A\u0441\u043E\u0432, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0434\u043B\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u044D\u0442\u0438\u0445 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 "co -> console" \u0438 "con -> const".',"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C \u0432\u044B\u0431\u043E\u0440\u043E\u043C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u043F\u0440\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0438 \u0441\u043F\u0438\u0441\u043A\u0430 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u041F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0434\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u043E TAB \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043D\u0430\u0438\u043B\u0443\u0447\u0448\u0435\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB.","\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0434\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u043F\u043E TAB.",'\u0412\u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0439 \u043F\u043E TAB \u043F\u0440\u0438 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0438 \u0438\u0445 \u043F\u0440\u0435\u0444\u0438\u043A\u0441\u043E\u0432. \u0424\u0443\u043D\u043A\u0446\u0438\u044F \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E, \u0435\u0441\u043B\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 "quickSuggestions" \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D.',"\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0434\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u043E TAB.","\u041D\u0435\u043E\u0431\u044B\u0447\u043D\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0443\u0434\u0430\u043B\u044F\u044E\u0442\u0441\u044F.","\u041D\u0435\u043E\u0431\u044B\u0447\u043D\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438 \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u044E\u0442\u0441\u044F.","\u0414\u043B\u044F \u043D\u0435\u043E\u0431\u044B\u0447\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438 \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435.","\u0423\u0434\u0430\u043B\u0438\u0442\u0435 \u043D\u0435\u043E\u0431\u044B\u0447\u043D\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u043E\u0433\u0443\u0442 \u0432\u044B\u0437\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B.","\u0412\u0441\u0442\u0430\u0432\u043A\u0430 \u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043F\u043E\u0441\u043B\u0435 \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438","\u0421\u0438\u043C\u0432\u043E\u043B\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u0438 \u0441\u043B\u043E\u0432 \u043F\u0440\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0439, \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0445 \u0441\u043E \u0441\u043B\u043E\u0432\u0430\u043C\u0438.","\u0421\u0442\u0440\u043E\u043A\u0438 \u043D\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u044C\u0441\u044F \u043D\u0438\u043A\u043E\u0433\u0434\u0430.","\u0421\u0442\u0440\u043E\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u044C\u0441\u044F \u043F\u043E \u0448\u0438\u0440\u0438\u043D\u0435 \u043E\u043A\u043D\u0430 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430.",'\u0421\u0442\u0440\u043E\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u044C\u0441\u044F \u043F\u043E "#editor.wordWrapColumn#".','\u0421\u0442\u0440\u043E\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u043D\u044B \u043F\u043E \u043C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u043C\u0443 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E \u0438\u0437 \u0434\u0432\u0443\u0445: \u0448\u0438\u0440\u0438\u043D\u0430 \u043E\u043A\u043D\u0430 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0438 "#editor.wordWrapColumn#".',"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043A\u0430\u043A \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0438.",'\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0441\u0442\u043E\u043B\u0431\u0435\u0446 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430, \u0435\u0441\u043B\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "#editor.wordWrap#" \u2014 "wordWrapColumn" \u0438\u043B\u0438 "bounded".',"\u0411\u0435\u0437 \u043E\u0442\u0441\u0442\u0443\u043F\u0430. \u041F\u0435\u0440\u0435\u043D\u043E\u0441 \u0441\u0442\u0440\u043E\u043A \u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F \u0441\u043E \u0441\u0442\u043E\u043B\u0431\u0446\u0430 1.","\u041F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0442 \u0442\u043E\u0442 \u0436\u0435 \u043E\u0442\u0441\u0442\u0443\u043F, \u0447\u0442\u043E \u0438 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430.","\u041F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0442 \u043E\u0442\u0441\u0442\u0443\u043F, \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u043D\u044B\u0439 \u043D\u0430 \u0435\u0434\u0438\u043D\u0438\u0446\u0443 \u043F\u043E \u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u044E \u0441 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u043E\u0439. ","\u041F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0442 \u043E\u0442\u0441\u0442\u0443\u043F, \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u043D\u044B\u0439 \u043D\u0430 \u0434\u0432\u0430 \u043F\u043E \u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u044E \u0441 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u043E\u0439.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043E\u0442\u0441\u0442\u0443\u043F\u043E\u043C \u0441\u0442\u0440\u043E\u043A \u0441 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u043E\u043C \u043F\u043E \u0441\u043B\u043E\u0432\u0430\u043C.","\u041F\u0440\u0435\u0434\u043F\u043E\u043B\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043E \u0432\u0441\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0438\u043C\u0435\u044E\u0442 \u043E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u0443\u044E \u0448\u0438\u0440\u0438\u043D\u0443. \u042D\u0442\u043E \u0431\u044B\u0441\u0442\u0440\u044B\u0439 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u043C\u043E\u043D\u043E\u0448\u0438\u0440\u0438\u043D\u043D\u044B\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432 \u0438 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0432 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043B\u0430\u0442\u0438\u043D\u0441\u043A\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432), \u0433\u0434\u0435 \u0433\u043B\u0438\u0444\u044B \u0438\u043C\u0435\u044E\u0442 \u043E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u0443\u044E \u0448\u0438\u0440\u0438\u043D\u0443.","\u0414\u0435\u043B\u0435\u0433\u0438\u0440\u0443\u0435\u0442 \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u0435 \u0442\u043E\u0447\u0435\u043A \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443. \u042D\u0442\u043E \u043C\u0435\u0434\u043B\u0435\u043D\u043D\u044B\u0439 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043A \u0437\u0430\u0432\u0438\u0441\u0430\u043D\u0438\u044F\u043C \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0435 \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u0444\u0430\u0439\u043B\u043E\u0432, \u043D\u043E \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0432\u043E \u0432\u0441\u0435\u0445 \u0441\u043B\u0443\u0447\u0430\u044F\u0445.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u043E\u043C, \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u044E\u0449\u0438\u043C \u0442\u043E\u0447\u043A\u0438 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0430."],"vs/editor/common/editorContextKeys":["\u041D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u043B\u0438 \u0444\u043E\u043A\u0443\u0441 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0435 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 (\u043A\u0443\u0440\u0441\u043E\u0440 \u043C\u0438\u0433\u0430\u0435\u0442)","\u041D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u043B\u0438 \u0444\u043E\u043A\u0443\u0441 \u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0438\u043B\u0438 \u043D\u0430 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0444\u043E\u043A\u0443\u0441 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u043D\u0430 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430)","\u041D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u043B\u0438 \u0444\u043E\u043A\u0443\u0441 \u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0438\u043B\u0438 \u043D\u0430 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430 (\u043A\u0443\u0440\u0441\u043E\u0440 \u043C\u0438\u0433\u0430\u0435\u0442)","\u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0447\u0442\u0435\u043D\u0438\u044F","\u042F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043B\u0438 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u043E\u043C \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439",'\u0412\u043A\u043B\u044E\u0447\u0435\u043D \u043B\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 "editor.columnSelection"',"\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 \u0432\u044B\u0431\u043E\u0440","\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0435\u0442\u0441\u044F \u043B\u0438 \u0444\u043E\u043A\u0443\u0441 \u0441 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB","\u042F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043B\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0432\u0438\u0434\u0438\u043C\u044B\u043C","\u042F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0447\u0430\u0441\u0442\u044C\u044E \u0431\u043E\u043B\u044C\u0448\u0435\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0437\u0430\u043F\u0438\u0441\u043D\u044B\u0445 \u043A\u043D\u0438\u0436\u0435\u043A)","\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u044F\u0437\u044B\u043A\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0441 \u043A\u043E\u0434\u043E\u043C","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A CodeLens","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0439","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u0439","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0439 \u0442\u0438\u043F\u043E\u0432","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u044F","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0441\u0441\u044B\u043B\u043E\u043A","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u044F","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0441\u043F\u0440\u0430\u0432\u043A\u0438 \u043F\u043E \u0441\u0438\u0433\u043D\u0430\u0442\u0443\u0440\u0430\u043C","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0445 \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043E\u043A","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A\u043E\u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432","\u0415\u0441\u0442\u044C \u043B\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A\u043E\u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432"],"vs/editor/common/model/editStack":["\u0412\u0432\u043E\u0434"],"vs/editor/common/modes/modesRegistry":["\u041F\u0440\u043E\u0441\u0442\u043E\u0439 \u0442\u0435\u043A\u0441\u0442"],"vs/editor/common/standaloneStrings":["\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E","\u0421\u0442\u0440\u043E\u043A\u0430 {0}, \u0441\u0442\u043E\u043B\u0431\u0435\u0446 {1} (\u0432\u044B\u0431\u0440\u0430\u043D\u043E: {2})","\u0421\u0442\u0440\u043E\u043A\u0430 {0}, \u0441\u0442\u043E\u043B\u0431\u0435\u0446 {1}","\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0439: {0} (\u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432: {1})","\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0439: {0}",'\u0422\u0435\u043F\u0435\u0440\u044C \u0434\u043B\u044F \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 "accessibilitySupport" \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "\u0432\u043A\u043B".',"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438 \u043E \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0445 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044F\u0445 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0432 \u043F\u0430\u043D\u0435\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0447\u0442\u0435\u043D\u0438\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.","\u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439."," \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043A\u043E\u0434\u0430 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0447\u0442\u0435\u043D\u0438\u044F"," \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043A\u043E\u0434\u0430","\u0427\u0442\u043E\u0431\u044B \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u043E \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 COMMAND+E.","\u0427\u0442\u043E\u0431\u044B \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u043E \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 CTRL+E.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B \u0441\u043E \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430.","\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D \u0431\u0435\u0437 \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0447\u0442\u0435\u043D\u0438\u044F \u0441 \u044D\u043A\u0440\u0430\u043D\u0430, \u0447\u0442\u043E \u043D\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442 \u0432 \u0434\u0430\u043D\u043D\u043E\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438.","\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB \u0432 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0444\u043E\u043A\u0443\u0441 \u0432\u0432\u043E\u0434\u0430 \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u0441\u044F \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442, \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u044B\u0439 \u0435\u0433\u043E \u043F\u0440\u0438\u043D\u044F\u0442\u044C. \u0427\u0442\u043E\u0431\u044B \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u044D\u0442\u043E \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 {0}.","\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB \u0432 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0444\u043E\u043A\u0443\u0441 \u0432\u0432\u043E\u0434\u0430 \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u0441\u044F \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442, \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u044B\u0439 \u0435\u0433\u043E \u043F\u0440\u0438\u043D\u044F\u0442\u044C. \u041A\u043E\u043C\u0430\u043D\u0434\u0443 {0} \u0441\u0435\u0439\u0447\u0430\u0441 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u043E\u0433\u043E \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u044F \u043A\u043B\u0430\u0432\u0438\u0448.","\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB \u0432 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u0441\u0438\u043C\u0432\u043E\u043B \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438. \u0427\u0442\u043E\u0431\u044B \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u044D\u0442\u043E \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 {0}.","\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB \u0432 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u0441\u0438\u043C\u0432\u043E\u043B \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438. \u041A\u043E\u043C\u0430\u043D\u0434\u0443 {0} \u0441\u0435\u0439\u0447\u0430\u0441 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u043E\u0433\u043E \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u044F \u043A\u043B\u0430\u0432\u0438\u0448.","\u041D\u0430\u0436\u043C\u0438\u0442\u0435 COMMAND+H, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u043E\u043A\u043D\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0441 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439 \u043E \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0445 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044F\u0445 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u041D\u0430\u0436\u043C\u0438\u0442\u0435 CTRL+H, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u043E\u043A\u043D\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0441 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439 \u043E \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0445 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044F\u0445 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u044C \u044D\u0442\u0443 \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0443 \u0438 \u0432\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440, \u043D\u0430\u0436\u0430\u0432 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 ESCAPE \u0438\u043B\u0438 SHIFT+ESCAPE.","\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043F\u0440\u0430\u0432\u043A\u0443 \u043F\u043E \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u043C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044F\u043C","\u0420\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A: \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0442\u043E\u043A\u0435\u043D\u044B","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0442\u0440\u043E\u043A\u0435/\u0441\u0442\u043E\u043B\u0431\u0446\u0443...","\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435\u0445 \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A\u043E\u0432 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0434\u043E\u0441\u0442\u0443\u043F\u0430","\u041F\u0430\u043B\u0438\u0442\u0440\u0430 \u043A\u043E\u043C\u0430\u043D\u0434","\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0438\u043C\u0432\u043E\u043B\u0443...","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0438\u043C\u0432\u043E\u043B\u0443 \u043F\u043E \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F\u043C...","\u0421\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u041D\u0430\u0436\u043C\u0438\u0442\u0435 ALT+F1 \u0434\u043B\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430\u043C \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0445 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0435\u0439.","\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u044B\u0441\u043E\u043A\u043E\u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043D\u0443\u044E \u0442\u0435\u043C\u0443","\u0412\u043D\u0435\u0441\u0435\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0432 \u0444\u0430\u0439\u043B\u0430\u0445 ({1}): {0}."],"vs/editor/common/view/editorColorRegistry":["\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0433\u0440\u0430\u043D\u0438\u0446 \u0432\u043E\u043A\u0440\u0443\u0433 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u043E\u0432, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u043F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0444\u0443\u043D\u043A\u0446\u0438\u0439 Quick Open \u0438\u043B\u0438 \u043F\u043E\u0438\u0441\u043A\u0430. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043E\u0431\u0432\u043E\u0434\u043A\u0438 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F.",'\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u0430, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0432 \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u0445 "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E" \u0438\u043B\u0438 "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C\u0443/\u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u043C\u0443 \u0441\u0438\u043C\u0432\u043E\u043B\u0443". \u0426\u0432\u0435\u0442 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u043F\u043E\u0434 \u043D\u0438\u043C.',"\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0432\u043E\u043A\u0440\u0443\u0433 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432.","\u0426\u0432\u0435\u0442 \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430. \u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044C \u0446\u0432\u0435\u0442 \u0441\u0438\u043C\u0432\u043E\u043B\u0430, \u043F\u0435\u0440\u0435\u043A\u0440\u044B\u0432\u0430\u0435\u043C\u043E\u0433\u043E \u043F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u044B\u043C \u043A\u0443\u0440\u0441\u043E\u0440\u043E\u043C.","\u0426\u0432\u0435\u0442 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0445 \u0434\u043B\u044F \u043E\u0442\u0441\u0442\u0443\u043F\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0445 \u0434\u043B\u044F \u043E\u0442\u0441\u0442\u0443\u043F\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043D\u043E\u043C\u0435\u0440\u043E\u0432 \u0441\u0442\u0440\u043E\u043A \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043D\u043E\u043C\u0435\u0440\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 'Id' \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043C. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0435\u0433\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 'editorLineNumber.activeForeground'.","\u0426\u0432\u0435\u0442 \u043D\u043E\u043C\u0435\u0440\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u0426\u0432\u0435\u0442 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 CodeLens \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u0430\u0440\u043D\u044B\u0445 \u0441\u043A\u043E\u0431\u043E\u043A","\u0426\u0432\u0435\u0442 \u043F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\u043E\u0432 \u043F\u0430\u0440\u043D\u044B\u0445 \u0441\u043A\u043E\u0431\u043E\u043A","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u043B\u044F \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043E\u0431\u0437\u043E\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F, \u0442\u043E\u043B\u044C\u043A\u043E \u0435\u0441\u043B\u0438 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u0430 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430 \u0438 \u0440\u0430\u0437\u043C\u0435\u0449\u0435\u043D\u0430 \u0432 \u043F\u0440\u0430\u0432\u043E\u0439 \u0447\u0430\u0441\u0442\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u043E\u043B\u044F \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u0412 \u043F\u043E\u043B\u0435 \u0440\u0430\u0437\u043C\u0435\u0449\u0430\u044E\u0442\u0441\u044F \u043E\u0442\u0441\u0442\u0443\u043F\u044B \u0433\u043B\u0438\u0444\u043E\u0432 \u0438 \u043D\u043E\u043C\u0435\u0440\u0430 \u0441\u0442\u0440\u043E\u043A.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u043B\u044F \u043D\u0435\u043D\u0443\u0436\u043D\u043E\u0433\u043E (\u043D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0433\u043E) \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.",'\u041D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C \u043D\u0435\u043D\u0443\u0436\u043D\u043E\u0433\u043E (\u043D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0433\u043E) \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "#000000c0" \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043A\u043E\u0434 \u0441 \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C\u044E 75 %. \u0412 \u0432\u044B\u0441\u043E\u043A\u043E\u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043D\u044B\u0445 \u0442\u0435\u043C\u0430\u0445 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043D\u0435\u043D\u0443\u0436\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430 \u0432\u043C\u0435\u0441\u0442\u043E \u0437\u0430\u0442\u0435\u043D\u0435\u043D\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0446\u0432\u0435\u0442 \u0442\u0435\u043C\u044B "editorUnnecessaryCode.border".',"\u0426\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043E\u0431\u0437\u043E\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u043E\u0432. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u043C\u0435\u0442\u043A\u0438 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0434\u043B\u044F \u043E\u0448\u0438\u0431\u043E\u043A.","\u0426\u0432\u0435\u0442 \u043C\u0435\u0442\u043A\u0438 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0434\u043B\u044F \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043C\u0435\u0442\u043A\u0438 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0434\u043B\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439."],"vs/editor/contrib/anchorSelect/anchorSelect":["\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u043E\u0447\u043A\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u043E\u0447\u043A\u0430 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430 \u0432 {0}:{1}","\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u0443\u044E \u0442\u043E\u0447\u043A\u0443 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E\u0439 \u0442\u043E\u0447\u043A\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442 \u043E\u0442 \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E\u0439 \u0442\u043E\u0447\u043A\u0438 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0434\u043E \u043A\u0443\u0440\u0441\u043E\u0440\u0430","\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u0443\u044E \u0442\u043E\u0447\u043A\u0443 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F"],"vs/editor/contrib/bracketMatching/bracketMatching":["\u0426\u0432\u0435\u0442 \u043C\u0435\u0442\u043A\u0438 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0434\u043B\u044F \u043F\u0430\u0440 \u0441\u043A\u043E\u0431\u043E\u043A.","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u043A\u043E\u0431\u043A\u0435","\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0441\u043A\u043E\u0431\u043A\u0443","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A &&\u0441\u043A\u043E\u0431\u043A\u0435"],"vs/editor/contrib/caretOperations/caretOperations":["\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442 \u0432\u043B\u0435\u0432\u043E","\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442 \u0432\u043F\u0440\u0430\u0432\u043E"],"vs/editor/contrib/caretOperations/transpose":["\u0422\u0440\u0430\u043D\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0431\u0443\u043A\u0432\u044B"],"vs/editor/contrib/clipboard/clipboard":["&&\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C","\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C","\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C","&&\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","&&\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435\u043C \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441\u0430"],"vs/editor/contrib/codeAction/codeActionCommands":["\u0422\u0438\u043F \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0435\u043C\u043E\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u043E\u0434\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u043E\u0433\u0434\u0430 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u044E\u0442\u0441\u044F \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0435\u043D\u043D\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F.","\u0412\u0441\u0435\u0433\u0434\u0430 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0435\u043D\u043D\u043E\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043A\u043E\u0434\u0430.","\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0435\u043D\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430, \u0435\u0441\u043B\u0438 \u043E\u043D\u043E \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0435\u0434\u0438\u043D\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u043C.","\u041D\u0435 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0435\u043D\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043B\u0438 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u043E\u0434\u0430.","\u041F\u0440\u0438 \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u043E\u0434\u0430 \u043F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430","\u0411\u044B\u0441\u0442\u0440\u043E\u0435 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435...","\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u043E\u0434\u0430 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442",'\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043A\u043E\u0434\u0430 \u0434\u043B\u044F "{0}".','\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u043E\u0434\u0430 \u0434\u043B\u044F "{0}" \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B',"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043A\u043E\u0434\u0430","\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u043E\u0434\u0430 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442","\u0420\u0435\u0444\u0430\u043A\u0442\u043E\u0440\u0438\u043D\u0433...",'\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0440\u0435\u0444\u0430\u043A\u0442\u043E\u0440\u0438\u043D\u0433\u043E\u0432 \u0434\u043B\u044F "{0}"','\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E \u0440\u0435\u0444\u0430\u043A\u0442\u043E\u0440\u0438\u043D\u0433\u0430 \u0434\u043B\u044F "{0}"',"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0440\u0435\u0444\u0430\u043A\u0442\u043E\u0440\u0438\u043D\u0433\u043E\u0432","\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0435\u0444\u0430\u043A\u0442\u043E\u0440\u0438\u043D\u0433\u0430 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442","\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u043C \u043A\u043E\u0434\u043E\u043C...","\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0430 \u0434\u043B\u044F '{0}'",'\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0434\u043B\u044F "{0}"',"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B","\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442","\u041E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u0438\u043C\u043F\u043E\u0440\u0442\u043E\u0432","\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0434\u043B\u044F \u0443\u043F\u043E\u0440\u044F\u0434\u043E\u0447\u0435\u043D\u0438\u044F \u0438\u043C\u043F\u043E\u0440\u0442\u043E\u0432 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442","\u0418\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0435","\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043F\u043E \u043E\u0431\u0449\u0435\u043C\u0443 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044E","\u0410\u0432\u0442\u043E\u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435...","\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0430\u0432\u0442\u043E\u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0439"],"vs/editor/contrib/codeAction/lightBulbWidget":["\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0439. \u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u043E\u0435 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 ({0})","\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F ({0})","\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F"],"vs/editor/contrib/codelens/codelensController":["\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B CodeLens \u0434\u043B\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0438"],"vs/editor/contrib/comment/comment":["\u0417\u0430\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u043B\u0438 \u0440\u0430\u0441\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443","\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 &&\u0441\u0442\u0440\u043E\u043A\u0438","\u0417\u0430\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443","\u0420\u0430\u0441\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443","\u0417\u0430\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u043B\u0438 \u0440\u0430\u0441\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0431\u043B\u043E\u043A","\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 &&\u0431\u043B\u043E\u043A\u0430"],"vs/editor/contrib/contextmenu/contextmenu":["\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430"],"vs/editor/contrib/cursorUndo/cursorUndo":["\u041E\u0442\u043C\u0435\u043D\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u0443\u0440\u0441\u043E\u0440\u0430","\u041F\u043E\u0432\u0442\u043E\u0440 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043A\u0443\u0440\u0441\u043E\u0440\u0430"],"vs/editor/contrib/find/findController":["\u041D\u0430\u0439\u0442\u0438","&&\u041D\u0430\u0439\u0442\u0438","\u041D\u0430\u0439\u0442\u0438 \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C","\u041D\u0430\u0439\u0442\u0438 \u0434\u0430\u043B\u0435\u0435","\u041D\u0430\u0439\u0442\u0438 \u0434\u0430\u043B\u0435\u0435","\u041D\u0430\u0439\u0442\u0438 \u0440\u0430\u043D\u0435\u0435","\u041D\u0430\u0439\u0442\u0438 \u0440\u0430\u043D\u0435\u0435","\u041D\u0430\u0439\u0442\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","\u041D\u0430\u0439\u0442\u0438 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C","&&\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C"],"vs/editor/contrib/find/findWidget":['\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043A\u043D\u043E\u043F\u043A\u0438 "\u041D\u0430\u0439\u0442\u0438 \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C" \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.',"\u0417\u043D\u0430\u0447\u043E\u043A, \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u0439, \u0447\u0442\u043E \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0441\u0432\u0435\u0440\u043D\u0443\u0442\u043E.","\u0417\u043D\u0430\u0447\u043E\u043A, \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u0439, \u0447\u0442\u043E \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u043E.",'\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043A\u043D\u043E\u043F\u043A\u0438 "\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C" \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.','\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043A\u043D\u043E\u043F\u043A\u0438 "\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435" \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.','\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043A\u043D\u043E\u043F\u043A\u0438 "\u041D\u0430\u0439\u0442\u0438 \u0440\u0430\u043D\u0435\u0435" \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.','\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043A\u043D\u043E\u043F\u043A\u0438 "\u041D\u0430\u0439\u0442\u0438 \u0434\u0430\u043B\u0435\u0435" \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.',"\u041D\u0430\u0439\u0442\u0438","\u041D\u0430\u0439\u0442\u0438","\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435","\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435","\u041D\u0430\u0439\u0442\u0438 \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0438","\u0417\u0430\u043A\u0440\u044B\u0442\u044C","\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C","\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C","\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C","\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435",'\u0420\u0435\u0436\u0438\u043C "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0437\u0430\u043C\u0435\u043D\u044B"',"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0435\u0440\u0432\u044B\u0435 {0} \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432, \u043D\u043E \u0432\u0441\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u044E\u0442\u0441\u044F \u0441\u043E \u0432\u0441\u0435\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C.","{0} \u0438\u0437 {1}","\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442","{0} \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u043E",'{0} \u043D\u0430\u0439\u0434\u0435\u043D \u0434\u043B\u044F "{1}"','{0} \u043D\u0430\u0439\u0434\u0435\u043D \u0434\u043B\u044F "{1}", \u0432 {2}','{0} \u043D\u0430\u0439\u0434\u0435\u043D \u0434\u043B\u044F "{1}"',"\u0422\u0435\u043F\u0435\u0440\u044C \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448 CTRL+\u0412\u0412\u041E\u0414 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0441\u0438\u043C\u0432\u043E\u043B \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430 \u043D\u0430 \u043D\u043E\u0432\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 \u0432\u043C\u0435\u0441\u0442\u043E \u0437\u0430\u043C\u0435\u043D\u044B \u0432\u0441\u0435\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448 editor.action.replaceAll, \u0447\u0442\u043E\u0431\u044B \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u044D\u0442\u043E \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435."],"vs/editor/contrib/folding/folding":["\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C","\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u043E","\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C","\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435","\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u043E","\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0431\u043B\u043E\u043A\u0438 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0435\u0432","\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0440\u0435\u0433\u0438\u043E\u043D\u044B","\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0440\u0435\u0433\u0438\u043E\u043D\u044B","\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435","\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435","\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u043F\u0430\u043F\u043A\u0438 {0}","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0437\u0430 \u0441\u0432\u0435\u0440\u043D\u0443\u0442\u044B\u043C\u0438 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u0430\u043C\u0438. \u042D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u0434\u0435\u043A\u043E\u0440\u0430\u0442\u0438\u0432\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B.","\u0426\u0432\u0435\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435\u043C \u0432\u043E \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0435\u043C \u043F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430."],"vs/editor/contrib/folding/foldingDecorations":["\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u0440\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044B\u0445 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u043E\u0432 \u043D\u0430 \u043F\u043E\u043B\u0435 \u0433\u043B\u0438\u0444\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u0441\u0432\u0435\u0440\u043D\u0443\u0442\u044B\u0445 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u043E\u0432 \u043D\u0430 \u043F\u043E\u043B\u0435 \u0433\u043B\u0438\u0444\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430."],"vs/editor/contrib/fontZoom/fontZoom":["\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0448\u0440\u0438\u0444\u0442 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u0448\u0440\u0438\u0444\u0442 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0448\u0440\u0438\u0444\u0442\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430"],"vs/editor/contrib/format/format":["\u0412\u043D\u0435\u0441\u0435\u043D\u0430 \u043E\u0434\u043D\u0430 \u043F\u0440\u0430\u0432\u043A\u0430 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 {0}.","\u0412\u043D\u0435\u0441\u0435\u043D\u044B \u043F\u0440\u0430\u0432\u043A\u0438 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F ({0}) \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 {1}.","\u0412\u043D\u0435\u0441\u0435\u043D\u0430 \u043E\u0434\u043D\u0430 \u043F\u0440\u0430\u0432\u043A\u0430 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043C\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u043E\u043A\u0430\u043C\u0438 {0} \u0438 {1}.","\u0412\u043D\u0435\u0441\u0435\u043D\u044B \u043F\u0440\u0430\u0432\u043A\u0438 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F ({0}) \u043C\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u043E\u043A\u0430\u043C\u0438 {1} \u0438 {2}."],"vs/editor/contrib/format/formatActions":["\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442","\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442"],"vs/editor/contrib/gotoError/gotoError":["\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439 \u041F\u0440\u043E\u0431\u043B\u0435\u043C\u0435 (\u041E\u0448\u0438\u0431\u043A\u0435, \u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u044E, \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438)","\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430 \u043A \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C\u0443 \u043C\u0430\u0440\u043A\u0435\u0440\u0443.","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0439 \u041F\u0440\u043E\u0431\u043B\u0435\u043C\u0435 (\u041E\u0448\u0438\u0431\u043A\u0435, \u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u044E, \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438)","\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430 \u043A \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u043C\u0443 \u043C\u0430\u0440\u043A\u0435\u0440\u0443.","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0435 \u0432 \u0444\u0430\u0439\u043B\u0430\u0445 (\u043E\u0448\u0438\u0431\u043A\u0438, \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u044F, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F)","\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F &&\u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0439 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0435 \u0432 \u0444\u0430\u0439\u043B\u0430\u0445 (\u043E\u0448\u0438\u0431\u043A\u0438, \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u044F, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F)","\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0430\u044F &&\u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430"],"vs/editor/contrib/gotoError/gotoErrorWidget":["\u041E\u0448\u0438\u0431\u043A\u0430","\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F","\u0423\u043A\u0430\u0437\u0430\u043D\u0438\u0435","{0} \u0432 {1}. ","\u041F\u0440\u043E\u0431\u043B\u0435\u043C\u044B: {0} \u0438\u0437 {1}","\u041F\u0440\u043E\u0431\u043B\u0435\u043C\u044B: {0} \u0438\u0437 {1}","\u0426\u0432\u0435\u0442 \u043E\u0448\u0438\u0431\u043A\u0438 \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u043F\u043E \u043C\u0435\u0442\u043A\u0430\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u044F \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u043F\u043E \u043C\u0435\u0442\u043A\u0430\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u043F\u043E \u043C\u0435\u0442\u043A\u0430\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0424\u043E\u043D \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u043F\u043E \u043C\u0435\u0442\u043A\u0430\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430."],"vs/editor/contrib/gotoSymbol/goToCommands":["\u041E\u0431\u0437\u043E\u0440","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F",'\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0434\u043B\u044F "{0}" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E.',"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B.","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A &&\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E","\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441\u0431\u043E\u043A\u0443","\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435","\u041E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u044F",'\u041E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043B\u044F "{0}" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E.',"\u041E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u044E","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A &&\u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u044E",'\u041E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043B\u044F "{0}" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E.',"\u041E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E","\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u0435","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0442\u0438\u043F\u043E\u0432",'\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0442\u0438\u043F\u0430 \u0434\u043B\u044F "{0}".',"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0442\u0438\u043F\u0430.","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E \u0442\u0438\u043F\u0430","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A &&\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044E \u0442\u0438\u043F\u0430","\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0442\u0438\u043F\u0430","\u0420\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438",'\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0434\u043B\u044F "{0}".',"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F.","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F\u043C","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A &&\u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F\u043C","\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438",'\u0421\u0441\u044B\u043B\u043A\u0438 \u0434\u043B\u044F "{0}" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B',"\u0421\u0441\u044B\u043B\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0441\u044B\u043B\u043A\u0430\u043C","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A &&\u0441\u0441\u044B\u043B\u043A\u0430\u043C","\u0421\u0441\u044B\u043B\u043A\u0438","\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438","\u0421\u0441\u044B\u043B\u043A\u0438","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043B\u044E\u0431\u043E\u043C\u0443 \u0441\u0438\u043C\u0432\u043E\u043B\u0443","\u0420\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F",'\u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0434\u043B\u044F "{0}"',"\u0421\u0441\u044B\u043B\u043A\u0438"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["\u0429\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F ({0})."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["\u0421\u0441\u044B\u043B\u043E\u043A: {0}","{0} \u0441\u0441\u044B\u043B\u043A\u0430","\u0421\u0441\u044B\u043B\u043A\u0438"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["\u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D","\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442","\u0421\u0441\u044B\u043B\u043A\u0438"],"vs/editor/contrib/gotoSymbol/referencesModel":["\u0441\u0441\u044B\u043B\u043A\u0430 \u0432 {0} \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 {1} \u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0435 {2}","\u0441\u0438\u043C\u0432\u043E\u043B \u0432 {0} \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 {1} \u0438 \u0441\u0442\u043E\u043B\u0431\u0446\u0435 {2}, {3}","1 \u0441\u0438\u043C\u0432\u043E\u043B \u0432 {0}, \u043F\u043E\u043B\u043D\u044B\u0439 \u043F\u0443\u0442\u044C: {1}","{0} \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0432 {1}, \u043F\u043E\u043B\u043D\u044B\u0439 \u043F\u0443\u0442\u044C: {2} ","\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B","\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D 1 \u0441\u0438\u043C\u0432\u043E\u043B \u0432 {0}","\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u043E {0} \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0432 {1}","\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u043E {0} \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0432 {1} \u0444\u0430\u0439\u043B\u0430\u0445"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["\u0421\u0438\u043C\u0432\u043E\u043B {0} \u0438\u0437 {1}, {2} \u0434\u043B\u044F \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E","\u0421\u0438\u043C\u0432\u043E\u043B {0} \u0438\u0437 {1}"],"vs/editor/contrib/hover/hover":["\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438","\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u043C\u044B\u0448\u0438"],"vs/editor/contrib/hover/markdownHoverParticipant":["\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430..."],"vs/editor/contrib/hover/markerHoverParticipant":["\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443","\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B","\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043D\u0430\u043B\u0438\u0447\u0438\u044F \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0439...","\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B","\u0411\u044B\u0441\u0442\u0440\u043E\u0435 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C","\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C"],"vs/editor/contrib/indentation/indentation":["\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F \u0432 \u043F\u0440\u043E\u0431\u0435\u043B\u044B","\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F \u0432 \u0448\u0430\u0433\u0438 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438","\u041D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438","\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438 \u0434\u043B\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0444\u0430\u0439\u043B\u0430","\u041E\u0442\u0441\u0442\u0443\u043F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438","\u041E\u0442\u0441\u0442\u0443\u043F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043E\u0442\u0441\u0442\u0443\u043F\u0430 \u043E\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E","\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F\u044B \u0441\u0442\u0440\u043E\u043A","\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F\u044B \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u0441\u0442\u0440\u043E\u043A"],"vs/editor/contrib/linesOperations/linesOperations":["\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0441\u0432\u0435\u0440\u0445\u0443","&&\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0443 \u0432\u044B\u0448\u0435","\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0441\u043D\u0438\u0437\u0443","\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0443 &&\u043D\u0438\u0436\u0435","\u0414\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0435","&&\u0414\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0435","\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0432\u0432\u0435\u0440\u0445","\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u043D\u0430 \u0441&&\u0442\u0440\u043E\u043A\u0443 \u0432\u044B\u0448\u0435","\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0432\u043D\u0438\u0437","&&\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0443 \u043D\u0438\u0436\u0435","\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430 \u0441\u0442\u0440\u043E\u043A \u043F\u043E \u0432\u043E\u0437\u0440\u0430\u0441\u0442\u0430\u043D\u0438\u044E","\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430 \u0441\u0442\u0440\u043E\u043A \u043F\u043E \u0443\u0431\u044B\u0432\u0430\u043D\u0438\u044E","\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043A\u043E\u043D\u0435\u0447\u043D\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B-\u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u0438","\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443","\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F","\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0432\u044B\u0448\u0435","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u043D\u0438\u0436\u0435","\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043B\u0435\u0432\u0430","\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043F\u0440\u0430\u0432\u0430","_\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0438","\u0422\u0440\u0430\u043D\u0441\u043F\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0432\u043E\u043A\u0440\u0443\u0433 \u043A\u0443\u0440\u0441\u043E\u0440\u0430","\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u0432\u0435\u0440\u0445\u043D\u0438\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440","\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u043D\u0438\u0436\u043D\u0438\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440","\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u0437\u0430\u0433\u043B\u0430\u0432\u043D\u044B\u0435 \u0431\u0443\u043A\u0432\u044B","\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0441 \u043F\u043E\u0434\u0447\u0435\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u044F\u043C\u0438"],"vs/editor/contrib/linkedEditing/linkedEditing":["\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u043E\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u0440\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u043C \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0438 \u0442\u0438\u043F\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u043E\u043C."],"vs/editor/contrib/links/links":["\u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0443","\u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435","\u041A\u043D\u043E\u043F\u043A\u0430 OPTION \u0438 \u0449\u0435\u043B\u0447\u043E\u043A \u043B\u0435\u0432\u043E\u0439 \u043A\u043D\u043E\u043F\u043A\u043E\u0439 \u043C\u044B\u0448\u0438","\u041A\u043D\u043E\u043F\u043A\u0430 CTRL \u0438 \u0449\u0435\u043B\u0447\u043E\u043A \u043B\u0435\u0432\u043E\u0439 \u043A\u043D\u043E\u043F\u043A\u043E\u0439 \u043C\u044B\u0448\u0438","\u041A\u043D\u043E\u043F\u043A\u0430 OPTION \u0438 \u0449\u0435\u043B\u0447\u043E\u043A \u043B\u0435\u0432\u043E\u0439 \u043A\u043D\u043E\u043F\u043A\u043E\u0439 \u043C\u044B\u0448\u0438","\u041A\u043D\u043E\u043F\u043A\u0430 ALT \u0438 \u0449\u0435\u043B\u0447\u043E\u043A \u043B\u0435\u0432\u043E\u0439 \u043A\u043D\u043E\u043F\u043A\u043E\u0439 \u043C\u044B\u0448\u0438","\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B {0}","\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D\u0430 \u0438\u043C\u0435\u0435\u0442 \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442: {0}","\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443, \u0443 \u043D\u0435\u0435 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442.","\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443"],"vs/editor/contrib/message/messageController":["\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043B\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0435\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","\u041D\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0447\u0442\u0435\u043D\u0438\u044F"],"vs/editor/contrib/multicursor/multicursor":["\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0443\u0440\u0441\u043E\u0440 \u0432\u044B\u0448\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0443\u0440\u0441\u043E\u0440 &&\u0432\u044B\u0448\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0443\u0440\u0441\u043E\u0440 \u043D\u0438\u0436\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0443\u0440\u0441\u043E\u0440 &&\u043D\u0438\u0436\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0443\u0440\u0441\u043E\u0440\u044B \u043A \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F\u043C \u0441\u0442\u0440\u043E\u043A","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0443\u0440\u0441\u043E\u0440\u044B \u0432 &&\u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0443\u0440\u0441\u043E\u0440\u044B \u043D\u0438\u0436\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0443\u0440\u0441\u043E\u0440\u044B \u0432\u044B\u0448\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043D\u043E\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C &&\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u0432\u0445\u043E\u0436\u0434\u0435\u043D\u0438\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442 \u0432 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043D\u043E\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435","\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C &&\u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u0432\u0445\u043E\u0436\u0434\u0435\u043D\u0438\u0435","\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043D\u043E\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435","\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442 \u0432 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043D\u043E\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435","\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435 \u0432\u0445\u043E\u0436\u0434\u0435\u043D\u0438\u044F \u043D\u0430\u0439\u0434\u0435\u043D\u043D\u044B\u0445 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439","\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435 &&\u0432\u0445\u043E\u0436\u0434\u0435\u043D\u0438\u044F","\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0432\u0445\u043E\u0436\u0434\u0435\u043D\u0438\u044F"],"vs/editor/contrib/parameterHints/parameterHints":["\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0438 \u043A \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430\u043C"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430.","\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0438 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0433\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430.","{0}, \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u0435"],"vs/editor/contrib/peekView/peekView":["\u0417\u0430\u043A\u0440\u044B\u0442\u044C","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u0439 \u043E \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0435 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u0438 \u043C\u0430\u0441\u0441\u0438\u0432\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0443\u0437\u043B\u043E\u0432 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0443\u0437\u043B\u043E\u0432 \u0444\u0430\u0439\u043B\u0430 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u0438 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u0438 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u043E\u043B\u044F \u0432 \u043E\u043A\u043D\u0435 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u0432 \u0431\u044B\u0441\u0442\u0440\u043E\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0413\u0440\u0430\u043D\u0438\u0446\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u0432 \u0431\u044B\u0441\u0442\u0440\u043E\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435."],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["\u0427\u0442\u043E\u0431\u044B \u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0442\u0440\u043E\u043A\u0435, \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u043E\u0442\u043A\u0440\u043E\u0439\u0442\u0435 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440.","\u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043A \u0441\u0442\u0440\u043E\u043A\u0435 {0} \u0438 \u0441\u0442\u043E\u043B\u0431\u0446\u0443 {1}.","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0442\u0440\u043E\u043A\u0435 {0}.","\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: {0}, \u0441\u0438\u043C\u0432\u043E\u043B: {1}. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0441\u0442\u0440\u043E\u043A\u0438 \u043C\u0435\u0436\u0434\u0443 1 \u0438 {2} \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430.","\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: {0}, \u0441\u0438\u043C\u0432\u043E\u043B: {1}. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0441\u0442\u0440\u043E\u043A\u0438 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430."],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["\u0427\u0442\u043E\u0431\u044B \u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0438\u043C\u0432\u043E\u043B\u0443, \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u043E\u0442\u043A\u0440\u043E\u0439\u0442\u0435 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0441 \u0441\u0438\u043C\u0432\u043E\u043B\u044C\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439.","\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0435 \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u0438\u043C\u0432\u043E\u043B\u044C\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E.","\u041D\u0435\u0442 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u044E\u0449\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u041D\u0435\u0442 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0431\u043E\u043A\u0443","\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432\u043D\u0438\u0437\u0443","\u0441\u0438\u043C\u0432\u043E\u043B\u044B ({0})","\u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 ({0})","\u043C\u0435\u0442\u043E\u0434\u044B ({0})","\u0444\u0443\u043D\u043A\u0446\u0438\u0438 ({0})","\u043A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440\u044B ({0})","\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 ({0})","\u043A\u043B\u0430\u0441\u0441\u044B ({0})","\u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u044B ({0})","\u0441\u043E\u0431\u044B\u0442\u0438\u044F ({0})","\u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u044B ({0})","\u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044B ({0})","\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0430 \u0438\u043C\u0435\u043D ({0})","\u043F\u0430\u043A\u0435\u0442\u044B ({0})","\u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0442\u0438\u043F\u0430 ({0})","\u043C\u043E\u0434\u0443\u043B\u0438 ({0})","\u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 ({0})","\u043F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F ({0})","\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u043F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F ({0})","\u0441\u0442\u0440\u043E\u043A\u0438 ({0})","\u0444\u0430\u0439\u043B\u044B ({0})","\u043C\u0430\u0441\u0441\u0438\u0432\u044B ({0})","\u0447\u0438\u0441\u043B\u0430 ({0})","\u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F ({0})","\u043E\u0431\u044A\u0435\u043A\u0442\u044B ({0})","\u043A\u043B\u044E\u0447\u0438 ({0})","\u043F\u043E\u043B\u044F ({0})","\u043A\u043E\u043D\u0441\u0442\u0430\u043D\u0442\u044B ({0})"],"vs/editor/contrib/rename/rename":["\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442.","\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0438 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u044F",'\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 "{0}"',"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 {0}","\xAB{0}\xBB \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D \u0432 \xAB{1}\xBB. \u0421\u0432\u043E\u0434\u043A\u0430: {2}","\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u044F \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0440\u0430\u0432\u043A\u0438","\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u044F \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u0438\u0442\u044C \u043F\u0440\u0430\u0432\u043A\u0438","\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B","\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C/\u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u043F\u0435\u0440\u0435\u0434 \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435\u043C"],"vs/editor/contrib/rename/renameInputField":["\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u0432\u043E\u0435 \u0438\u043C\u044F \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u0438 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 \u0412\u0412\u041E\u0414 \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F.","\u041D\u0430\u0436\u043C\u0438\u0442\u0435 {0} \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u044F, {1} \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430."],"vs/editor/contrib/smartSelect/smartSelect":["\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442","&&\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442","&&\u0421\u0436\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435"],"vs/editor/contrib/snippet/snippetVariables":["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","\u0432\u0442\u043E\u0440\u043D\u0438\u043A","\u0441\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043F\u044F\u0442\u043D\u0438\u0446\u0430","\u0441\u0443\u0431\u0431\u043E\u0442\u0430","\u0412\u0441","\u041F\u043D","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041F\u0442","\u0421\u0431","\u042F\u043D\u0432\u0430\u0440\u044C","\u0424\u0435\u0432\u0440\u0430\u043B\u044C","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0435\u043B\u044C","\u041C\u0430\u0439","\u0418\u044E\u043D\u044C","\u0418\u044E\u043B\u044C","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C","\u041E\u043A\u0442\u044F\u0431\u0440\u044C","\u041D\u043E\u044F\u0431\u0440\u044C","\u0414\u0435\u043A\u0430\u0431\u0440\u044C","\u042F\u043D\u0432","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0439","\u0418\u044E\u043D","\u0418\u044E\u043B","\u0410\u0432\u0433","\u0421\u0435\u043D","\u041E\u043A\u0442","\u041D\u043E\u044F","\u0414\u0435\u043A"],"vs/editor/contrib/suggest/suggestController":['\u041F\u0440\u0438\u043D\u044F\u0442\u0438\u0435 "{0}" \u043F\u0440\u0438\u0432\u0435\u043B\u043E \u043A \u0432\u043D\u0435\u0441\u0435\u043D\u0438\u044E \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043F\u0440\u0430\u0432\u043E\u043A ({1})',"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C","\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C","\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0435\u043D\u044C\u0448\u0435","\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435","\u0421\u0431\u0440\u043E\u0441 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"],"vs/editor/contrib/suggest/suggestWidget":["\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0432\u0438\u0434\u0436\u0435\u0442\u0430 \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043E\u043A.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446 \u0432\u0438\u0434\u0436\u0435\u0442\u0430 \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043E\u043A.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u0438 \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...","\u041F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442.","{0}, \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B: {1}","\u041F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C"],"vs/editor/contrib/suggest/suggestWidgetDetails":["\u0417\u0430\u043A\u0440\u044B\u0442\u044C","\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u0439 \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043C\u0430\u0441\u0441\u0438\u0432\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043A\u043B\u0430\u0441\u0441\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0446\u0432\u0435\u0442\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043A\u043E\u043D\u0441\u0442\u0430\u043D\u0442\u044B. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u0438\u0442\u0435\u043B\u044F. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0447\u043B\u0435\u043D\u0430 \u043F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u0438\u0442\u0435\u043B\u044F. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0441\u043E\u0431\u044B\u0442\u0438\u044F. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043F\u043E\u043B\u044F. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0444\u0430\u0439\u043B\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043F\u0430\u043F\u043A\u0438. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0444\u0443\u043D\u043A\u0446\u0438\u0438. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043A\u043B\u044E\u0447\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0433\u043E \u0441\u043B\u043E\u0432\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043C\u0435\u0442\u043E\u0434\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043C\u043E\u0434\u0443\u043B\u044F. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0430 \u0438\u043C\u0435\u043D. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 NULL. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0447\u0438\u0441\u043B\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043E\u0431\u044A\u0435\u043A\u0442\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043F\u0430\u043A\u0435\u0442\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0441\u0441\u044B\u043B\u043A\u0438. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430 \u043A\u043E\u0434\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0441\u0442\u0440\u043E\u043A\u0438. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u044B. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0442\u0435\u043A\u0441\u0442\u0430. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0442\u0438\u043F\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0435\u0434\u0438\u043D\u0438\u0446. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439. \u042D\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0435, \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439."],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0435\u0442 \u0444\u043E\u043A\u0443\u0441.","\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB \u0444\u043E\u043A\u0443\u0441 \u043F\u0435\u0440\u0435\u0439\u0434\u0435\u0442 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0444\u043E\u043A\u0443\u0441","\u0422\u0435\u043F\u0435\u0440\u044C \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 TAB \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u0441\u0438\u043C\u0432\u043E\u043B \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438"],"vs/editor/contrib/tokenization/tokenization":["\u0420\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A: \u043F\u0440\u0438\u043D\u0443\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u0430\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u0442\u043E\u043A\u0435\u043D\u043E\u0432"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["\u041D\u0435\u043E\u0431\u044B\u0447\u043D\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438","\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B \u043D\u0435\u043E\u0431\u044B\u0447\u043D\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438",`\u042D\u0442\u043E\u0442 \u0444\u0430\u0439\u043B \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043E\u0434\u0438\u043D \u0438\u043B\u0438 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043D\u0435\u043E\u0431\u044B\u0447\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438, \u0442\u0430\u043A\u0438\u0445 \u043A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0441\u0442\u0440\u043E\u043A (LS) \u0438\u043B\u0438 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0430\u0431\u0437\u0430\u0446\u0435\u0432 (PS).\r +\r +\u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0445 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430. \u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u044D\u0442\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 "editor.unusualLineTerminators".`,"\u0418\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u0444\u0430\u0439\u043B","\u0418\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u043F\u0440\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u0435 \u043D\u0430 \u0447\u0442\u0435\u043D\u0438\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043F\u0440\u0438 \u0447\u0442\u0435\u043D\u0438\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043D\u0430 \u0437\u0430\u043F\u0438\u0441\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u043F\u0440\u0438 \u0437\u0430\u043F\u0438\u0441\u0438 \u0432 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u043F\u0440\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u0435 \u043D\u0430 \u0447\u0442\u0435\u043D\u0438\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043F\u0440\u0438 \u0441\u0447\u0438\u0442\u044B\u0432\u0430\u043D\u0438\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u043F\u0440\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u0435 \u043D\u0430 \u0437\u0430\u043F\u0438\u0441\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043F\u0440\u0438 \u0437\u0430\u043F\u0438\u0441\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439. ","\u0426\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043E\u0431\u0437\u043E\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432. \u042D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043E\u0431\u0437\u043E\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043D\u0430 \u0437\u0430\u043F\u0438\u0441\u044C. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C\u0443 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432","\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u043C\u0443 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432","\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"],"vs/editor/contrib/wordOperations/wordOperations":["\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u043B\u043E\u0432\u043E"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["\u041F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u044F\u0437\u044B\u043A\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430, \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u043C\u044B\u0445 \u0434\u043B\u044F \u044F\u0437\u044B\u043A\u0430.","\u042D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 \u0434\u043B\u044F \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0445 \u044F\u0437\u044B\u043A\u043E\u0432.","\u041D\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044F \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0443\u0441\u0442\u043E\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E",`\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C "{0}". \u041E\u043D\u043E \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 '\\\\[.*\\\\]$' \u0434\u043B\u044F \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u043C\u044B\u0445 \u044F\u0437\u044B\u043A\u043E\u043C. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 configurationDefaults.`,'\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C "{0}". \u042D\u0442\u043E \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E.'],"vs/platform/contextkey/browser/contextKeyService":["\u041A\u043E\u043C\u0430\u043D\u0434\u0430, \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u044E\u0449\u0430\u044F \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043E \u043A\u043B\u044E\u0447\u0430\u0445 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430"],"vs/platform/contextkey/common/contextkeys":["\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u043B\u0438 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u043E\u043D\u043D\u0430\u044F \u0441\u0438\u0441\u0442\u0435\u043C\u0430 Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["\u0411\u044B\u043B\u0430 \u043D\u0430\u0436\u0430\u0442\u0430 \u043A\u043B\u0430\u0432\u0438\u0448\u0430 {0}. \u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u043D\u0430\u0436\u0430\u0442\u0438\u044F \u0432\u0442\u043E\u0440\u043E\u0439 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u044F...","\u0421\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448 ({0} \u0438 {1}) \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u043E\u0439."],"vs/platform/list/browser/listService":["\u0420\u0430\u0431\u043E\u0447\u0435\u0435 \u043C\u0435\u0441\u0442\u043E","\u0421\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 CTRL \u0432 Windows \u0438 Linux \u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 COMMAND \u0432 macOS.","\u0421\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 ALT \u0432 Windows \u0438 Linux \u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0435 OPTION \u0432 macOS.",'\u041C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0432 \u0434\u0435\u0440\u0435\u0432\u044C\u044F\u0445 \u0438 \u0441\u043F\u0438\u0441\u043A\u0430\u0445 \u0432 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043C\u044B\u0448\u0438 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0432 \u043F\u0440\u043E\u0432\u043E\u0434\u043D\u0438\u043A\u0435, \u0432 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430\u0445 \u0438 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0438 scm). \u0416\u0435\u0441\u0442\u044B \u043C\u044B\u0448\u0438 "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0431\u043E\u043A\u0443" (\u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F) \u0431\u0443\u0434\u0443\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u0442\u0430\u043A\u0438\u043C \u043E\u0431\u0440\u0430\u0437\u043E\u043C, \u0447\u0442\u043E\u0431\u044B \u043E\u043D\u0438 \u043D\u0435 \u043A\u043E\u043D\u0444\u043B\u0438\u043A\u0442\u043E\u0432\u0430\u043B\u0438 \u0441 \u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430.',"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043A\u0430\u043A \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u0434\u0435\u0440\u0435\u0432\u044C\u044F\u0445 \u0438 \u0441\u043F\u0438\u0441\u043A\u0430\u0445 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043C\u044B\u0448\u0438 (\u0435\u0441\u043B\u0438 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F). \u041E\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435, \u0447\u0442\u043E \u044D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u043E\u0436\u0435\u0442 \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0432 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0434\u0435\u0440\u0435\u0432\u044C\u044F\u0445 \u0438 \u0441\u043F\u0438\u0441\u043A\u0430\u0445, \u0435\u0441\u043B\u0438 \u043E\u043D \u043D\u0435 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u043A \u043D\u0438\u043C.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442 \u043B\u0438 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u0443\u044E \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0443 \u0441\u043F\u0438\u0441\u043A\u0438 \u0438 \u0434\u0435\u0440\u0435\u0432\u044C\u044F \u043D\u0430 \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435. \u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435! \u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u043C\u043E\u0436\u0435\u0442 \u043F\u043E\u0432\u043B\u0438\u044F\u0442\u044C \u043D\u0430 \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u043E\u0442\u0441\u0442\u0443\u043F \u0434\u043B\u044F \u0434\u0435\u0440\u0435\u0432\u0430 \u0432 \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u0445.","\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043D\u0443\u0436\u043D\u043E \u043B\u0438 \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0435 \u043E\u0442\u0441\u0442\u0443\u043F\u0430.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u043B\u0438 \u043F\u043B\u0430\u0432\u043D\u0430\u044F \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0430 \u0434\u043B\u044F \u0441\u043F\u0438\u0441\u043A\u043E\u0432 \u0438 \u0434\u0435\u0440\u0435\u0432\u044C\u0435\u0432.","\u041F\u0440\u043E \u043F\u0440\u043E\u0441\u0442\u043E\u0439 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0432\u044B\u0431\u0438\u0440\u0430\u044E\u0442\u0441\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0432\u0432\u043E\u0434\u0438\u043C\u044B\u043C \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0434\u0430\u043D\u043D\u044B\u043C. \u0421\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E \u043F\u0440\u0435\u0444\u0438\u043A\u0441\u0430\u043C.","\u0424\u0443\u043D\u043A\u0446\u0438\u044F \u043F\u043E\u0434\u0441\u0432\u0435\u0442\u043A\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0432\u044B\u0434\u0435\u043B\u044F\u0435\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0432\u0432\u043E\u0434\u0438\u043C\u044B\u043C \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0434\u0430\u043D\u043D\u044B\u043C. \u041F\u0440\u0438 \u0434\u0430\u043B\u044C\u043D\u0435\u0439\u0448\u0435\u0439 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0432\u0432\u0435\u0440\u0445 \u0438 \u0432\u043D\u0438\u0437 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043E\u0431\u0445\u043E\u0434 \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432.","\u0424\u0438\u043B\u044C\u0442\u0440 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0438 \u0441\u043A\u0440\u044B\u0442\u044C \u0432\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B, \u043D\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0432\u0432\u043E\u0434\u0438\u043C\u044B\u043C \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0434\u0430\u043D\u043D\u044B\u043C.","\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u0442\u0438\u043B\u0435\u043C \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0434\u043B\u044F \u0441\u043F\u0438\u0441\u043A\u043E\u0432 \u0438 \u0434\u0435\u0440\u0435\u0432\u044C\u0435\u0432 \u0432 Workbench. \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043F\u0440\u043E\u0441\u0442\u043E\u0439 \u0440\u0435\u0436\u0438\u043C, \u0440\u0435\u0436\u0438\u043C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0438 \u0440\u0435\u0436\u0438\u043C \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438.",'\u0423\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442, \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u043B\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0432 \u0441\u043F\u0438\u0441\u043A\u0430\u0445 \u0438 \u0434\u0435\u0440\u0435\u0432\u044C\u044F\u0445 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u043E\u0441\u0442\u044B\u043C \u0432\u0432\u043E\u0434\u043E\u043C. \u0415\u0441\u043B\u0438 \u0437\u0430\u0434\u0430\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "false", \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B "list.toggleKeyboardNavigation", \u0434\u043B\u044F \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0437\u043D\u0430\u0447\u0438\u0442\u044C \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448.',"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043A\u0430\u043A \u043F\u0430\u043F\u043A\u0438 \u0434\u0435\u0440\u0435\u0432\u0430 \u0440\u0430\u0437\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u0438\u043C\u0435\u043D\u0430 \u043F\u0430\u043F\u043E\u043A. \u041E\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435, \u0447\u0442\u043E \u044D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u043E\u0436\u0435\u0442 \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0432 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0434\u0435\u0440\u0435\u0432\u044C\u044F\u0445 \u0438 \u0441\u043F\u0438\u0441\u043A\u0430\u0445, \u0435\u0441\u043B\u0438 \u043E\u043D \u043D\u0435 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u043A \u043D\u0438\u043C."],"vs/platform/markers/common/markers":["\u041E\u0448\u0438\u0431\u043A\u0430","\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","\u043D\u0435\u0434\u0430\u0432\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0435","\u0434\u0440\u0443\u0433\u0438\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B",'\u041A\u043E\u043C\u0430\u043D\u0434\u0430 "{0}" \u043F\u0440\u0438\u0432\u0435\u043B\u0430 \u043A \u043E\u0448\u0438\u0431\u043A\u0435 ({1})'],"vs/platform/quickinput/browser/helpQuickAccess":["\u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u044B\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B","\u043A\u043E\u043C\u0430\u043D\u0434\u044B \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["\u041E\u0431\u0449\u0438\u0439 \u0446\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430. \u042D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F, \u0442\u043E\u043B\u044C\u043A\u043E \u0435\u0441\u043B\u0438 \u0435\u0433\u043E \u043D\u0435 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442.","\u041E\u0431\u0449\u0438\u0439 \u0446\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445. \u042D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0435\u0441\u043B\u0438 \u0435\u0433\u043E \u043D\u0435 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442.","\u0426\u0432\u0435\u0442 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u043A\u043E\u0432 \u043D\u0430 \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435.","\u041E\u0431\u0449\u0438\u0439 \u0446\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446 \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0441 \u0444\u043E\u043A\u0443\u0441\u043E\u043C. \u042D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u043D\u0435 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D \u0432 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0435.","\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u0433\u0440\u0430\u043D\u0438\u0446\u0430 \u0432\u043E\u043A\u0440\u0443\u0433 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u043E\u0442\u0434\u0435\u043B\u044F\u0435\u0442 \u0438\u0445 \u043E\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0434\u043B\u044F \u0443\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u044F \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u0430.","\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u0433\u0440\u0430\u043D\u0438\u0446\u0430 \u0432\u043E\u043A\u0440\u0443\u0433 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u043E\u0442\u0434\u0435\u043B\u044F\u0435\u0442 \u0438\u0445 \u043E\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0434\u043B\u044F \u0443\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u044F \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0441\u044B\u043B\u043E\u043A \u0432 \u0442\u0435\u043A\u0441\u0442\u0435.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430 \u0432 \u0442\u0435\u043A\u0441\u0442\u0435.",'\u0426\u0432\u0435\u0442 \u0442\u0435\u043D\u0438 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430, \u0442\u0430\u043A\u0438\u0445 \u043A\u0430\u043A "\u041D\u0430\u0439\u0442\u0438/\u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C".',"\u0424\u043E\u043D \u043F\u043E\u043B\u044F \u0432\u0432\u043E\u0434\u0430.","\u041F\u0435\u0440\u0435\u0434\u043D\u0438\u0439 \u043F\u043B\u0430\u043D \u043F\u043E\u043B\u044F \u0432\u0432\u043E\u0434\u0430.","\u0413\u0440\u0430\u043D\u0438\u0446\u0430 \u043F\u043E\u043B\u044F \u0432\u0432\u043E\u0434\u0430.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u0432 \u043F\u043E\u043B\u044F\u0445 \u0432\u0432\u043E\u0434\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u0432 \u043F\u043E\u043B\u044F\u0445 \u0432\u0432\u043E\u0434\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u0432 \u043F\u043E\u043B\u044F\u0445 \u0432\u0432\u043E\u0434\u0430.",'\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u0421\u0432\u0435\u0434\u0435\u043D\u0438\u044F".','\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u0421\u0432\u0435\u0434\u0435\u043D\u0438\u044F".','\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u0421\u0432\u0435\u0434\u0435\u043D\u0438\u044F".','\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435".','\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435".','\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435".','\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u041E\u0448\u0438\u0431\u043A\u0430".','\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u041E\u0448\u0438\u0431\u043A\u0430".','\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u0443\u0440\u043E\u0432\u043D\u044F \u0441\u0435\u0440\u044C\u0435\u0437\u043D\u043E\u0441\u0442\u0438 "\u041E\u0448\u0438\u0431\u043A\u0430".',"\u0424\u043E\u043D \u0440\u0430\u0441\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E\u0441\u044F \u0441\u043F\u0438\u0441\u043A\u0430.","\u041F\u0435\u0440\u0435\u0434\u043D\u0438\u0439 \u043F\u043B\u0430\u043D \u0440\u0430\u0441\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E\u0441\u044F \u0441\u043F\u0438\u0441\u043A\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0438.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0438.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0438 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0431\u044D\u0434\u0436\u0430. \u0411\u044D\u0434\u0436\u0438 - \u043D\u0435\u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0449\u0438\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E\u0438\u0441\u043A\u0430.","\u0426\u0432\u0435\u0442 \u0442\u0435\u043A\u0441\u0442\u0430 \u0431\u044D\u0434\u0436\u0430. \u0411\u044D\u0434\u0436\u0438 - \u043D\u0435\u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0449\u0438\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E\u0438\u0441\u043A\u0430.","\u0426\u0432\u0435\u0442 \u0442\u0435\u043D\u0438 \u043F\u043E\u043B\u043E\u0441\u044B \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0443\u0435\u0442 \u043E \u0442\u043E\u043C, \u0447\u0442\u043E \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u043F\u0440\u043E\u043A\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u043F\u043E\u043B\u0437\u0443\u043D\u043A\u0430 \u043F\u043E\u043B\u043E\u0441\u044B \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u043E\u043B\u0437\u0443\u043D\u043A\u0430 \u043F\u043E\u043B\u043E\u0441\u044B \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u043E\u043B\u0437\u0443\u043D\u043A\u0430 \u043F\u043E\u043B\u043E\u0441\u044B \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438 \u043F\u0440\u0438 \u0449\u0435\u043B\u0447\u043A\u0435 \u043F\u043E \u043D\u0435\u043C\u0443.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0438\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0439.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0442\u0435\u043A\u0441\u0442\u0430 \u043E\u0448\u0438\u0431\u043A\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0432\u043E\u043B\u043D\u0438\u0441\u0442\u043E\u0439 \u043B\u0438\u043D\u0438\u0438 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043E\u0448\u0438\u0431\u043E\u043A \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u043B\u044F \u043E\u043A\u043E\u043D \u043E\u0448\u0438\u0431\u043E\u043A \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0442\u0435\u043A\u0441\u0442\u0430 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u044F \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0432\u043E\u043B\u043D\u0438\u0441\u0442\u043E\u0439 \u043B\u0438\u043D\u0438\u0438 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0439 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u043B\u044F \u043E\u043A\u043E\u043D \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0439 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0442\u0435\u043A\u0441\u0442\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0432\u043E\u043B\u043D\u0438\u0441\u0442\u043E\u0439 \u043B\u0438\u043D\u0438\u0438 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u043B\u044F \u043E\u043A\u043E\u043D \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u0439 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0432\u043E\u043B\u043D\u0438\u0441\u0442\u043E\u0439 \u043B\u0438\u043D\u0438\u0438 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043E\u043A \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u043B\u044F \u043E\u043A\u043E\u043D \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u0439 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0432\u0438\u0434\u0436\u0435\u0442\u043E\u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430, \u0442\u0430\u043A\u0438\u0445 \u043A\u0430\u043A \u043D\u0430\u0439\u0442\u0438/\u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C.",'\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430, \u0442\u0430\u043A\u0438\u0445 \u043A\u0430\u043A "\u041F\u043E\u0438\u0441\u043A/\u0437\u0430\u043C\u0435\u043D\u0430".',"\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430. \u042D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0443 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0435\u0441\u0442\u044C \u0433\u0440\u0430\u043D\u0438\u0446\u0430 \u0438 \u0435\u0441\u043B\u0438 \u044D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u043D\u0435 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u0430\u043D\u0435\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430. \u042D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0443 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0435\u0441\u0442\u044C \u0433\u0440\u0430\u043D\u0438\u0446\u0430 \u0434\u043B\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0438 \u0435\u0441\u043B\u0438 \u044D\u0442\u043E\u0442 \u0446\u0432\u0435\u0442 \u043D\u0435 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430. \u041C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440\u043E\u043C \u0434\u043B\u044F \u0442\u0430\u043A\u0438\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0432\u044B\u0431\u043E\u0440\u0430, \u043A\u0430\u043A \u043F\u0430\u043B\u0438\u0442\u0440\u0430 \u043A\u043E\u043C\u0430\u043D\u0434.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430. \u041C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440\u043E\u043C \u0434\u043B\u044F \u0442\u0430\u043A\u0438\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0432\u044B\u0431\u043E\u0440\u0430, \u043A\u0430\u043A \u043F\u0430\u043B\u0438\u0442\u0440\u0430 \u043A\u043E\u043C\u0430\u043D\u0434.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430. \u041C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440\u043E\u043C \u0434\u043B\u044F \u0442\u0430\u043A\u0438\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0432\u044B\u0431\u043E\u0440\u0430, \u043A\u0430\u043A \u043F\u0430\u043B\u0438\u0442\u0440\u0430 \u043A\u043E\u043C\u0430\u043D\u0434.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430 \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430, \u043D\u0430 \u043A\u043E\u0442\u043E\u0440\u043E\u043C \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0444\u043E\u043A\u0443\u0441.","\u0426\u0432\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430 \u0434\u043B\u044F \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438 \u043C\u0435\u0442\u043E\u043A.","\u0426\u0432\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u044B\u0431\u043E\u0440\u0430 \u0434\u043B\u044F \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438 \u0433\u0440\u0430\u043D\u0438\u0446.","\u0426\u0432\u0435\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0432\u044B\u0441\u043E\u043A\u043E\u0433\u043E \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u0430.","\u0426\u0432\u0435\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0432 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0434\u043B\u044F \u043E\u0431\u043B\u0430\u0441\u0442\u0435\u0439, \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0435\u0442 \u0441 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u043C \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u043E\u043C. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0440\u0435\u0433\u0438\u043E\u043D\u043E\u0432 \u0441 \u0442\u0435\u043C \u0436\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u044B\u043C, \u0447\u0442\u043E \u0438 \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0438.","\u0426\u0432\u0435\u0442 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u043F\u043E\u0438\u0441\u043A\u0430 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u0430, \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u043F\u043E\u0438\u0441\u043A. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0430 \u043F\u043E\u0438\u0441\u043A\u0430.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E\u0438\u0441\u043A\u0430.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u043B\u044F \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u0430, \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u043F\u043E\u0438\u0441\u043A. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u0434 \u0441\u043B\u043E\u0432\u043E\u043C, \u0434\u043B\u044F \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043C\u0435\u043D\u044E \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044F \u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044F \u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044F \u043D\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0438 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435.","\u0426\u0432\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0441\u0441\u044B\u043B\u043E\u043A.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0445 \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u0439","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0445 \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u0439","\u0426\u0432\u0435\u0442, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u043A\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0432 \u043C\u0435\u043D\u044E \u043B\u0430\u043C\u043F\u043E\u0447\u043A\u0438.","\u0426\u0432\u0435\u0442, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u043A\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0432 \u043C\u0435\u043D\u044E \u043B\u0430\u043C\u043F\u043E\u0447\u043A\u0438.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u043A\u043E\u043D\u0442\u0443\u0440\u0430 \u0434\u043B\u044F \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0445 \u0441\u0442\u0440\u043E\u043A.","\u0426\u0432\u0435\u0442 \u043A\u043E\u043D\u0442\u0443\u0440\u0430 \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0445 \u0441\u0442\u0440\u043E\u043A.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u043C\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043C\u044F \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u043C\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430\u043C\u0438.","\u0426\u0432\u0435\u0442 \u0434\u0438\u0430\u0433\u043E\u043D\u0430\u043B\u044C\u043D\u043E\u0439 \u0437\u0430\u043B\u0438\u0432\u043A\u0438 \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439. \u0414\u0438\u0430\u0433\u043E\u043D\u0430\u043B\u044C\u043D\u0430\u044F \u0437\u0430\u043B\u0438\u0432\u043A\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0432 \u0440\u0430\u0437\u043C\u0435\u0449\u0430\u0435\u043C\u044B\u0445 \u0440\u044F\u0434\u043E\u043C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u043D\u0435\u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.","\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0435\u0433\u043E\u0441\u044F \u0432 \u0444\u043E\u043A\u0443\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u2014 \u043D\u0435\u0442.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0435\u0433\u043E\u0441\u044F \u0432 \u0444\u043E\u043A\u0443\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u2014 \u043D\u0435\u0442.","\u0426\u0432\u0435\u0442 \u043A\u043E\u043D\u0442\u0443\u0440\u0430 \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0435\u0433\u043E\u0441\u044F \u0432 \u0444\u043E\u043A\u0443\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C\xA0\u2014 \u043D\u0435\u0442.","\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u2014 \u043D\u0435\u0442.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u2014 \u043D\u0435\u0442.","\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u2014 \u043D\u0435\u0442.","\u0426\u0432\u0435\u0442 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u2014 \u043D\u0435\u0442.","\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0435\u0433\u043E\u0441\u044F \u0432 \u0444\u043E\u043A\u0443\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u043D\u0435 \u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u2014 \u043D\u0435\u0442.","\u0426\u0432\u0435\u0442 \u043A\u043E\u043D\u0442\u0443\u0440\u0430 \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0435\u0433\u043E\u0441\u044F \u0432 \u0444\u043E\u043A\u0443\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 List/Tree, \u043A\u043E\u0433\u0434\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 List/Tree \u043D\u0435 \u0430\u043A\u0442\u0438\u0432\u0435\u043D. \u041D\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0435 List/Tree \u0435\u0441\u0442\u044C \u0444\u043E\u043A\u0443\u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B, \u043D\u0430 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C\xA0\u2014 \u043D\u0435\u0442.","\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 List/Tree \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u043C\u044B\u0448\u0438.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 List/Tree \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u043C\u044B\u0448\u0438.","\u0424\u043E\u043D\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 List/Tree \u043F\u0440\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0438 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043C\u044B\u0448\u0438.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u043F\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0443 List/Tree.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430 \u0442\u0438\u043F\u043E\u0432 \u0432 \u0441\u043F\u0438\u0441\u043A\u0430\u0445 \u0438 \u0434\u0435\u0440\u0435\u0432\u044C\u044F\u0445.","\u0426\u0432\u0435\u0442 \u043A\u043E\u043D\u0442\u0443\u0440\u0430 \u0434\u043B\u044F \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430 \u0442\u0438\u043F\u043E\u0432 \u0432 \u0441\u043F\u0438\u0441\u043A\u0430\u0445 \u0438 \u0434\u0435\u0440\u0435\u0432\u044C\u044F\u0445.","\u0426\u0432\u0435\u0442 \u043A\u043E\u043D\u0442\u0443\u0440\u0430 \u0434\u043B\u044F \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430 \u0442\u0438\u043F\u043E\u0432 \u0432 \u0441\u043F\u0438\u0441\u043A\u0430\u0445 \u0438 \u0434\u0435\u0440\u0435\u0432\u044C\u044F\u0445 \u043F\u0440\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u0448\u0442\u0440\u0438\u0445\u0430 \u0434\u0435\u0440\u0435\u0432\u0430 \u0434\u043B\u044F \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0445 \u043E\u0442\u0441\u0442\u0443\u043F\u0430.","\u0426\u0432\u0435\u0442 \u0448\u0442\u0440\u0438\u0445\u0430 \u0434\u0435\u0440\u0435\u0432\u0430 \u0434\u043B\u044F \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0445 \u043E\u0442\u0441\u0442\u0443\u043F\u0430.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446 \u043C\u0435\u043D\u044E.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u043F\u0443\u043D\u043A\u0442\u043E\u0432 \u043C\u0435\u043D\u044E.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u0443\u043D\u043A\u0442\u043E\u0432 \u043C\u0435\u043D\u044E.","\u0426\u0432\u0435\u0442 \u043F\u0435\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0443\u043D\u043A\u0442\u0430 \u043C\u0435\u043D\u044E \u0432 \u043C\u0435\u043D\u044E.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0443\u043D\u043A\u0442\u0430 \u0432 \u043C\u0435\u043D\u044E.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0443\u043D\u043A\u0442\u0430 \u0432 \u043C\u0435\u043D\u044E.","\u0426\u0432\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044F \u043C\u0435\u043D\u044E \u0432 \u043C\u0435\u043D\u044E.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0432 \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430.","\u0426\u0432\u0435\u0442 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0432 \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430.","\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0446\u0432\u0435\u0442\u043E\u043C \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430.","\u0426\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043E\u0431\u0437\u043E\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0434\u043B\u044F \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u041C\u0430\u0440\u043A\u0435\u0440 \u043E\u0431\u0437\u043E\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430. \u0426\u0432\u0435\u0442 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0438\u0436\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F.","\u0426\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u044B \u0434\u043B\u044F \u043F\u043E\u0438\u0441\u043A\u0430 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u044B \u0434\u043B\u044F \u0432\u044B\u0431\u043E\u0440\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","\u0426\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043C\u0438\u043D\u0438\u043A\u0430\u0440\u0442\u044B \u0434\u043B\u044F \u043E\u0448\u0438\u0431\u043E\u043A.","\u0426\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043C\u0438\u043D\u0438\u043A\u0430\u0440\u0442\u044B \u0434\u043B\u044F \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0439.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u044B.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u043E\u043B\u0437\u0443\u043D\u043A\u0430 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u044B.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u043E\u043B\u0437\u0443\u043D\u043A\u0430 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u044B \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043D\u0430 \u043D\u0435\u0433\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044F.","\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430 \u043F\u043E\u043B\u0437\u0443\u043D\u043A\u0430 \u043C\u0438\u043D\u0438-\u043A\u0430\u0440\u0442\u044B \u043F\u0440\u0438 \u0435\u0433\u043E \u0449\u0435\u043B\u0447\u043A\u0435.","\u0426\u0432\u0435\u0442, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u043A\u0430 \u043E\u0448\u0438\u0431\u043A\u0438, \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u043D\u0430 \u043D\u0430\u043B\u0438\u0447\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C.","\u0426\u0432\u0435\u0442, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0434\u043B\u044F \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0430\u044E\u0449\u0435\u0433\u043E \u0437\u043D\u0430\u0447\u043A\u0430, \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u043D\u0430 \u043D\u0430\u043B\u0438\u0447\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C.","\u0426\u0432\u0435\u0442, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0434\u043B\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u043A\u0430, \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u043D\u0430 \u043D\u0430\u043B\u0438\u0447\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C."],"vs/platform/theme/common/iconRegistry":["\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0433\u043E \u0448\u0440\u0438\u0444\u0442\u0430. \u0415\u0441\u043B\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043D\u0435 \u0437\u0430\u0434\u0430\u043D, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0448\u0440\u0438\u0444\u0442, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u043F\u0435\u0440\u0432\u044B\u043C.","\u0421\u0438\u043C\u0432\u043E\u043B \u0448\u0440\u0438\u0444\u0442\u0430, \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0439 \u0441 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435\u043C \u0437\u043D\u0430\u0447\u043A\u0430.","\u0417\u043D\u0430\u0447\u043E\u043A \u0434\u043B\u044F \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F \u0432 \u043C\u0438\u043D\u0438-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u0445."],"vs/platform/undoRedo/common/undoRedoService":["\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0444\u0430\u0439\u043B\u044B \u0431\u044B\u043B\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u044B \u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u043D\u0430 \u0434\u0438\u0441\u043A\u0435: {0}.","\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0444\u0430\u0439\u043B\u044B \u0431\u044B\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u043D\u0435\u0441\u043E\u0432\u043C\u0435\u0441\u0442\u0438\u043C\u044B\u043C \u043E\u0431\u0440\u0430\u0437\u043E\u043C: {0}.",'\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432. {1}','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432. {1}','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044E "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432, \u0442\u0430\u043A \u043A\u0430\u043A \u0431\u044B\u043B\u0438 \u0432\u043D\u0435\u0441\u0435\u043D\u044B \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0432 {1}','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432, \u0442\u0430\u043A \u043A\u0430\u043A \u0432 {1} \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u0438\u043B\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432, \u0442\u0430\u043A \u043A\u0430\u043A \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u043B\u0430\u0441\u044C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u0438\u043B\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F','\u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432?',"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u0444\u0430\u0439\u043B\u0430\u0445 ({0})","\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u0444\u0430\u0439\u043B","\u041E\u0442\u043C\u0435\u043D\u0430",'\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 "{0}", \u0442\u0430\u043A \u043A\u0430\u043A \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u0438\u043B\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F','\u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C "{0}"?',"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C","\u041E\u0442\u043C\u0435\u043D\u0430",'\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044E "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432. {1}','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044E "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432. {1}','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044E "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432, \u0442\u0430\u043A \u043A\u0430\u043A \u0431\u044B\u043B\u0438 \u0432\u043D\u0435\u0441\u0435\u043D\u044B \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0432 {1}','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432, \u0442\u0430\u043A \u043A\u0430\u043A \u0434\u043B\u044F {1} \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u0438\u043B\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F.','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 "{0}" \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043B\u043E\u0432, \u0442\u0430\u043A \u043A\u0430\u043A \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u043B\u0430\u0441\u044C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u0438\u043B\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F','\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 "{0}", \u0442\u0430\u043A \u043A\u0430\u043A \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u0438\u043B\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F']}); diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.zh-cn.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.zh-cn.js new file mode 100644 index 0000000..036ba6b --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.zh-cn.js @@ -0,0 +1,8 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/define("vs/editor/editor.main.nls.zh-cn",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["\u8F93\u5165"],"vs/base/browser/ui/findinput/findInputCheckboxes":["\u533A\u5206\u5927\u5C0F\u5199","\u5168\u5B57\u5339\u914D","\u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F"],"vs/base/browser/ui/findinput/replaceInput":["\u8F93\u5165","\u4FDD\u7559\u5927\u5C0F\u5199"],"vs/base/browser/ui/iconLabel/iconLabel":["\u6B63\u5728\u52A0\u8F7D\u2026"],"vs/base/browser/ui/inputbox/inputBox":["\u9519\u8BEF: {0}","\u8B66\u544A: {0}","\u4FE1\u606F: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["\u672A\u7ED1\u5B9A"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["\u6E05\u9664","\u7981\u7528\u8F93\u5165\u65F6\u7B5B\u9009","\u542F\u7528\u8F93\u5165\u65F6\u7B5B\u9009","\u672A\u627E\u5230\u5143\u7D20","\u5DF2\u5339\u914D {0} \u4E2A\u5143\u7D20(\u5171 {1} \u4E2A)"],"vs/base/common/actions":["(\u7A7A)"],"vs/base/common/errorMessage":["{0}: {1}","\u53D1\u751F\u4E86\u7CFB\u7EDF\u9519\u8BEF ({0})","\u51FA\u73B0\u672A\u77E5\u9519\u8BEF\u3002\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u9605\u65E5\u5FD7\u3002","\u51FA\u73B0\u672A\u77E5\u9519\u8BEF\u3002\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u9605\u65E5\u5FD7\u3002","{0} \u4E2A(\u5171 {1} \u4E2A\u9519\u8BEF)","\u51FA\u73B0\u672A\u77E5\u9519\u8BEF\u3002\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u9605\u65E5\u5FD7\u3002"],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","\u8D85\u952E","Control","Shift","Alt","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","\u8D85\u952E"],"vs/base/parts/quickinput/browser/quickInput":["\u4E0A\u4E00\u6B65","{0}/{1}","\u5728\u6B64\u8F93\u5165\u53EF\u7F29\u5C0F\u7ED3\u679C\u8303\u56F4\u3002","{0} \u4E2A\u7ED3\u679C","\u5DF2\u9009 {0} \u9879","\u786E\u5B9A","\u81EA\u5B9A\u4E49","\u540E\u9000 ({0})","\u4E0A\u4E00\u6B65"],"vs/base/parts/quickinput/browser/quickInputList":["\u5FEB\u901F\u8F93\u5165"],"vs/editor/browser/controller/coreCommands":["\u5373\u4F7F\u8F6C\u5230\u8F83\u957F\u7684\u884C\uFF0C\u4E5F\u4E00\u76F4\u5230\u672B\u5C3E","\u5373\u4F7F\u8F6C\u5230\u8F83\u957F\u7684\u884C\uFF0C\u4E5F\u4E00\u76F4\u5230\u672B\u5C3E"],"vs/editor/browser/controller/textAreaHandler":["\u7F16\u8F91\u5668","\u73B0\u5728\u65E0\u6CD5\u8BBF\u95EE\u7F16\u8F91\u5668\u3002\u6309 {0} \u83B7\u53D6\u9009\u9879\u3002"],"vs/editor/browser/core/keybindingCancellation":["Whether the editor runs a cancellable operation, e.g. like 'Peek References'"],"vs/editor/browser/editorExtensions":["\u64A4\u6D88(&&U)","\u64A4\u6D88","\u6062\u590D(&&R)","\u6062\u590D","\u5168\u9009(&&S)","\u9009\u62E9\u5168\u90E8"],"vs/editor/browser/widget/codeEditorWidget":["\u5149\u6807\u6570\u91CF\u88AB\u9650\u5236\u4E3A {0}\u3002"],"vs/editor/browser/widget/diffEditorWidget":["\u5DEE\u5F02\u7F16\u8F91\u5668\u4E2D\u63D2\u5165\u9879\u7684\u7EBF\u6761\u4FEE\u9970\u3002","\u5DEE\u5F02\u7F16\u8F91\u5668\u4E2D\u5220\u9664\u9879\u7684\u7EBF\u6761\u4FEE\u9970\u3002","\u6587\u4EF6\u8FC7\u5927\uFF0C\u65E0\u6CD5\u6BD4\u8F83\u3002"],"vs/editor/browser/widget/diffReview":["\u5DEE\u5F02\u8BC4\u5BA1\u4E2D\u7684\u201C\u63D2\u5165\u201D\u56FE\u6807\u3002","\u5DEE\u5F02\u8BC4\u5BA1\u4E2D\u7684\u201C\u5220\u9664\u201D\u56FE\u6807\u3002","\u5DEE\u5F02\u8BC4\u5BA1\u4E2D\u7684\u201C\u5173\u95ED\u201D\u56FE\u6807\u3002","\u5173\u95ED","\u672A\u66F4\u6539\u884C","\u66F4\u6539\u4E86 1 \u884C","\u66F4\u6539\u4E86 {0} \u884C","\u5DEE\u5F02 {0}/ {1}: \u539F\u59CB\u884C {2}\uFF0C{3}\uFF0C\u4FEE\u6539\u540E\u7684\u884C {4}\uFF0C{5}","\u7A7A\u767D","{0} \u672A\u66F4\u6539\u7684\u884C {1}","{0}\u539F\u59CB\u884C{1}\u4FEE\u6539\u7684\u884C{2}","+ {0}\u4FEE\u6539\u7684\u884C{1}","- {0}\u539F\u59CB\u884C{1}","\u8F6C\u81F3\u4E0B\u4E00\u4E2A\u5DEE\u5F02","\u8F6C\u81F3\u4E0A\u4E00\u4E2A\u5DEE\u5F02"],"vs/editor/browser/widget/inlineDiffMargin":["\u590D\u5236\u5DF2\u5220\u9664\u7684\u884C","\u590D\u5236\u5DF2\u5220\u9664\u7684\u884C","\u590D\u5236\u5DF2\u5220\u9664\u7684\u884C({0})","\u8FD8\u539F\u6B64\u66F4\u6539","\u590D\u5236\u5DF2\u5220\u9664\u7684\u884C({0})"],"vs/editor/common/config/commonEditorConfig":["\u7F16\u8F91\u5668","\u4E00\u4E2A\u5236\u8868\u7B26\u7B49\u4E8E\u7684\u7A7A\u683C\u6570\u3002\u5728 `#editor.detectIndentation#` \u542F\u7528\u65F6\uFF0C\u6839\u636E\u6587\u4EF6\u5185\u5BB9\uFF0C\u8BE5\u8BBE\u7F6E\u53EF\u80FD\u4F1A\u88AB\u8986\u76D6\u3002","\u6309 `Tab` \u952E\u65F6\u63D2\u5165\u7A7A\u683C\u3002\u8BE5\u8BBE\u7F6E\u5728 `#editor.detectIndentation#` \u542F\u7528\u65F6\u6839\u636E\u6587\u4EF6\u5185\u5BB9\u53EF\u80FD\u4F1A\u88AB\u8986\u76D6\u3002","\u63A7\u5236\u662F\u5426\u5728\u6253\u5F00\u6587\u4EF6\u65F6\uFF0C\u57FA\u4E8E\u6587\u4EF6\u5185\u5BB9\u81EA\u52A8\u68C0\u6D4B `#editor.tabSize#` \u548C `#editor.insertSpaces#`\u3002","\u5220\u9664\u81EA\u52A8\u63D2\u5165\u7684\u5C3E\u968F\u7A7A\u767D\u7B26\u53F7\u3002","\u5BF9\u5927\u578B\u6587\u4EF6\u8FDB\u884C\u7279\u6B8A\u5904\u7406\uFF0C\u7981\u7528\u67D0\u4E9B\u5185\u5B58\u5BC6\u96C6\u578B\u529F\u80FD\u3002","\u63A7\u5236\u662F\u5426\u6839\u636E\u6587\u6863\u4E2D\u7684\u6587\u5B57\u8BA1\u7B97\u81EA\u52A8\u5B8C\u6210\u5217\u8868\u3002","\u4EC5\u5EFA\u8BAE\u6D3B\u52A8\u6587\u6863\u4E2D\u7684\u5B57\u8BCD\u3002","\u5EFA\u8BAE\u4F7F\u7528\u540C\u4E00\u8BED\u8A00\u7684\u6240\u6709\u6253\u5F00\u7684\u6587\u6863\u4E2D\u7684\u5B57\u8BCD\u3002","\u5EFA\u8BAE\u6240\u6709\u6253\u5F00\u7684\u6587\u6863\u4E2D\u7684\u5B57\u8BCD\u3002","\u63A7\u5236\u901A\u8FC7\u4EC0\u4E48\u6587\u6863\u8BA1\u7B97\u57FA\u4E8E\u5B57\u8BCD\u7684\u5B8C\u6210\u6570\u3002","\u5BF9\u6240\u6709\u989C\u8272\u4E3B\u9898\u542F\u7528\u8BED\u4E49\u7A81\u51FA\u663E\u793A\u3002","\u5BF9\u6240\u6709\u989C\u8272\u4E3B\u9898\u7981\u7528\u8BED\u4E49\u7A81\u51FA\u663E\u793A\u3002",'\u8BED\u4E49\u7A81\u51FA\u663E\u793A\u662F\u7531\u5F53\u524D\u989C\u8272\u4E3B\u9898\u7684 "semanticHighlighting" \u8BBE\u7F6E\u914D\u7F6E\u7684\u3002',"\u63A7\u5236\u662F\u5426\u4E3A\u652F\u6301\u5B83\u7684\u8BED\u8A00\u663E\u793A\u8BED\u4E49\u7A81\u51FA\u663E\u793A\u3002","\u5728\u901F\u89C8\u7F16\u8F91\u5668\u4E2D\uFF0C\u5373\u4F7F\u53CC\u51FB\u5176\u4E2D\u7684\u5185\u5BB9\u6216\u8005\u6309 `Esc` \u952E\uFF0C\u4E5F\u4FDD\u6301\u5176\u6253\u5F00\u72B6\u6001\u3002","\u7531\u4E8E\u6027\u80FD\u539F\u56E0\uFF0C\u8D85\u8FC7\u8FD9\u4E2A\u957F\u5EA6\u7684\u884C\u5C06\u4E0D\u4F1A\u88AB\u6807\u8BB0","\u8D85\u65F6(\u4EE5\u6BEB\u79D2\u4E3A\u5355\u4F4D)\uFF0C\u4E4B\u540E\u5C06\u53D6\u6D88\u5DEE\u5F02\u8BA1\u7B97\u3002\u4F7F\u75280\u8868\u793A\u6CA1\u6709\u8D85\u65F6\u3002","\u63A7\u5236\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u663E\u793A\u65B9\u5F0F\u662F\u5E76\u6392\u8FD8\u662F\u5185\u8054\u3002","\u542F\u7528\u540E\uFF0C\u5DEE\u5F02\u7F16\u8F91\u5668\u5C06\u5FFD\u7565\u524D\u5BFC\u7A7A\u683C\u6216\u5C3E\u968F\u7A7A\u683C\u4E2D\u7684\u66F4\u6539\u3002","\u63A7\u5236\u5DEE\u5F02\u7F16\u8F91\u5668\u662F\u5426\u4E3A\u6DFB\u52A0/\u5220\u9664\u7684\u66F4\u6539\u663E\u793A +/- \u6307\u793A\u7B26\u53F7\u3002","\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u663E\u793A CodeLens\u3002","\u6C38\u4E0D\u6362\u884C\u3002","\u5C06\u5728\u89C6\u533A\u5BBD\u5EA6\u5904\u6362\u884C\u3002","\u5C06\u6839\u636E `#editor.wordWrap#` \u8BBE\u7F6E\u6362\u884C\u3002"],"vs/editor/common/config/editorOptions":["\u7F16\u8F91\u5668\u5C06\u4F7F\u7528\u5E73\u53F0 API \u4EE5\u68C0\u6D4B\u662F\u5426\u9644\u52A0\u4E86\u5C4F\u5E55\u9605\u8BFB\u5668\u3002","\u7F16\u8F91\u5668\u5C06\u9488\u5BF9\u4E0E\u5C4F\u5E55\u9605\u8BFB\u5668\u642D\u914D\u4F7F\u7528\u8FDB\u884C\u6C38\u4E45\u4F18\u5316\u3002\u5C06\u7981\u7528\u81EA\u52A8\u6362\u884C\u3002","\u7F16\u8F91\u5668\u5C06\u4E0D\u518D\u5BF9\u5C4F\u5E55\u9605\u8BFB\u5668\u7684\u4F7F\u7528\u8FDB\u884C\u4F18\u5316\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u5728\u5BF9\u5C4F\u5E55\u9605\u8BFB\u5668\u8FDB\u884C\u4E86\u4F18\u5316\u7684\u6A21\u5F0F\u4E0B\u8FD0\u884C\u3002\u8BBE\u7F6E\u4E3A\u201C\u5F00\u201D\u5C06\u7981\u7528\u81EA\u52A8\u6362\u884C\u3002","\u63A7\u5236\u5728\u6CE8\u91CA\u65F6\u662F\u5426\u63D2\u5165\u7A7A\u683C\u5B57\u7B26\u3002","\u63A7\u5236\u5728\u5BF9\u884C\u6CE8\u91CA\u6267\u884C\u5207\u6362\u3001\u6DFB\u52A0\u6216\u5220\u9664\u64CD\u4F5C\u65F6\uFF0C\u662F\u5426\u5E94\u5FFD\u7565\u7A7A\u884C\u3002","\u63A7\u5236\u5728\u6CA1\u6709\u9009\u62E9\u5185\u5BB9\u65F6\u8FDB\u884C\u590D\u5236\u662F\u5426\u590D\u5236\u5F53\u524D\u884C\u3002","\u63A7\u5236\u5728\u952E\u5165\u65F6\u5149\u6807\u662F\u5426\u5E94\u8DF3\u8F6C\u4EE5\u67E5\u627E\u5339\u914D\u9879\u3002","\u63A7\u5236\u662F\u5426\u5C06\u7F16\u8F91\u5668\u9009\u4E2D\u5185\u5BB9\u4F5C\u4E3A\u641C\u7D22\u8BCD\u586B\u5165\u5230\u67E5\u627E\u5C0F\u7EC4\u4EF6\u4E2D\u3002","\u5207\u52FF\u81EA\u52A8\u6253\u5F00\u201C\u9009\u62E9\u4E2D\u67E5\u627E\u201D(\u9ED8\u8BA4)","\u59CB\u7EC8\u81EA\u52A8\u6253\u5F00\u201C\u5728\u9009\u62E9\u4E2D\u67E5\u627E\u201D","\u9009\u62E9\u591A\u884C\u5185\u5BB9\u65F6\uFF0C\u81EA\u52A8\u6253\u5F00\u201C\u5728\u9009\u62E9\u4E2D\u67E5\u627E\u201D\u3002","\u63A7\u5236\u5728\u6240\u9009\u5185\u5BB9\u4E2D\u81EA\u52A8\u5F00\u542F\u67E5\u627E\u7684\u6761\u4EF6\u3002","\u63A7\u5236\u201C\u67E5\u627E\u201D\u5C0F\u7EC4\u4EF6\u662F\u5426\u8BFB\u53D6\u6216\u4FEE\u6539 macOS \u7684\u5171\u4EAB\u67E5\u627E\u526A\u8D34\u677F\u3002",'\u63A7\u5236 "\u67E5\u627E\u5C0F\u90E8\u4EF6" \u662F\u5426\u5E94\u5728\u7F16\u8F91\u5668\u9876\u90E8\u6DFB\u52A0\u989D\u5916\u7684\u884C\u3002\u5982\u679C\u4E3A true, \u5219\u53EF\u4EE5\u5728 "\u67E5\u627E\u5C0F\u5DE5\u5177" \u53EF\u89C1\u65F6\u6EDA\u52A8\u5230\u7B2C\u4E00\u884C\u4E4B\u5916\u3002',"\u63A7\u5236\u5728\u627E\u4E0D\u5230\u5176\u4ED6\u5339\u914D\u9879\u65F6\uFF0C\u662F\u5426\u81EA\u52A8\u4ECE\u5F00\u5934(\u6216\u7ED3\u5C3E)\u91CD\u65B0\u5F00\u59CB\u641C\u7D22\u3002",'\u542F\u7528/\u7981\u7528\u5B57\u4F53\u8FDE\u5B57("calt" \u548C "liga" \u5B57\u4F53\u7279\u6027)\u3002\u5C06\u6B64\u66F4\u6539\u4E3A\u5B57\u7B26\u4E32\uFF0C\u53EF\u5BF9 "font-feature-settings" CSS \u5C5E\u6027\u8FDB\u884C\u7CBE\u7EC6\u63A7\u5236\u3002','\u663E\u5F0F "font-feature-settings" CSS \u5C5E\u6027\u3002\u5982\u679C\u53EA\u9700\u6253\u5F00/\u5173\u95ED\u8FDE\u5B57\uFF0C\u53EF\u4EE5\u6539\u4E3A\u4F20\u9012\u5E03\u5C14\u503C\u3002','\u914D\u7F6E\u5B57\u4F53\u8FDE\u5B57\u6216\u5B57\u4F53\u7279\u6027\u3002\u53EF\u4EE5\u662F\u7528\u4E8E\u542F\u7528/\u7981\u7528\u8FDE\u5B57\u7684\u5E03\u5C14\u503C\uFF0C\u6216\u7528\u4E8E\u8BBE\u7F6E CSS "font-feature-settings" \u5C5E\u6027\u503C\u7684\u5B57\u7B26\u4E32\u3002',"\u63A7\u5236\u5B57\u4F53\u5927\u5C0F(\u50CF\u7D20)\u3002","\u4EC5\u5141\u8BB8\u4F7F\u7528\u5173\u952E\u5B57\u201C\u6B63\u5E38\u201D\u548C\u201C\u52A0\u7C97\u201D\uFF0C\u6216\u4F7F\u7528\u4ECB\u4E8E 1 \u81F3 1000 \u4E4B\u95F4\u7684\u6570\u5B57\u3002","\u63A7\u5236\u5B57\u4F53\u7C97\u7EC6\u3002\u63A5\u53D7\u5173\u952E\u5B57\u201C\u6B63\u5E38\u201D\u548C\u201C\u52A0\u7C97\u201D\uFF0C\u6216\u8005\u63A5\u53D7\u4ECB\u4E8E 1 \u81F3 1000 \u4E4B\u95F4\u7684\u6570\u5B57\u3002","\u663E\u793A\u7ED3\u679C\u7684\u9884\u89C8\u89C6\u56FE (\u9ED8\u8BA4\u503C)","\u8F6C\u5230\u4E3B\u7ED3\u679C\u5E76\u663E\u793A\u9884\u89C8\u89C6\u56FE","\u8F6C\u5230\u4E3B\u7ED3\u679C\uFF0C\u5E76\u5BF9\u5176\u4ED6\u4EBA\u542F\u7528\u9632\u5077\u7AA5\u5BFC\u822A",'\u6B64\u8BBE\u7F6E\u5DF2\u5F03\u7528\uFF0C\u8BF7\u6539\u7528\u5355\u72EC\u7684\u8BBE\u7F6E\uFF0C\u5982"editor.editor.gotoLocation.multipleDefinitions"\u6216"editor.editor.gotoLocation.multipleImplementations"\u3002','\u63A7\u5236\u5B58\u5728\u591A\u4E2A\u76EE\u6807\u4F4D\u7F6E\u65F6"\u8F6C\u5230\u5B9A\u4E49"\u547D\u4EE4\u7684\u884C\u4E3A\u3002','\u63A7\u5236\u5B58\u5728\u591A\u4E2A\u76EE\u6807\u4F4D\u7F6E\u65F6"\u8F6C\u5230\u7C7B\u578B\u5B9A\u4E49"\u547D\u4EE4\u7684\u884C\u4E3A\u3002','\u63A7\u5236\u5B58\u5728\u591A\u4E2A\u76EE\u6807\u4F4D\u7F6E\u65F6"\u8F6C\u5230\u58F0\u660E"\u547D\u4EE4\u7684\u884C\u4E3A\u3002','\u63A7\u5236\u5B58\u5728\u591A\u4E2A\u76EE\u6807\u4F4D\u7F6E\u65F6"\u8F6C\u5230\u5B9E\u73B0"\u547D\u4EE4\u7684\u884C\u4E3A\u3002','\u63A7\u5236\u5B58\u5728\u591A\u4E2A\u76EE\u6807\u4F4D\u7F6E\u65F6"\u8F6C\u5230\u5F15\u7528"\u547D\u4EE4\u7684\u884C\u4E3A\u3002','\u5F53"\u8F6C\u5230\u5B9A\u4E49"\u7684\u7ED3\u679C\u4E3A\u5F53\u524D\u4F4D\u7F6E\u65F6\u5C06\u8981\u6267\u884C\u7684\u66FF\u4EE3\u547D\u4EE4\u7684 ID\u3002','\u5F53"\u8F6C\u5230\u7C7B\u578B\u5B9A\u4E49"\u7684\u7ED3\u679C\u662F\u5F53\u524D\u4F4D\u7F6E\u65F6\u6B63\u5728\u6267\u884C\u7684\u5907\u7528\u547D\u4EE4 ID\u3002','\u5F53"\u8F6C\u5230\u58F0\u660E"\u7684\u7ED3\u679C\u4E3A\u5F53\u524D\u4F4D\u7F6E\u65F6\u5C06\u8981\u6267\u884C\u7684\u66FF\u4EE3\u547D\u4EE4\u7684 ID\u3002','\u5F53"\u8F6C\u5230\u5B9E\u73B0"\u7684\u7ED3\u679C\u4E3A\u5F53\u524D\u4F4D\u7F6E\u65F6\u5C06\u8981\u6267\u884C\u7684\u66FF\u4EE3\u547D\u4EE4\u7684 ID\u3002','\u5F53"\u8F6C\u5230\u5F15\u7528"\u7684\u7ED3\u679C\u662F\u5F53\u524D\u4F4D\u7F6E\u65F6\u6B63\u5728\u6267\u884C\u7684\u66FF\u4EE3\u547D\u4EE4 ID\u3002',"\u63A7\u5236\u662F\u5426\u663E\u793A\u60AC\u505C\u63D0\u793A\u3002","\u63A7\u5236\u663E\u793A\u60AC\u505C\u63D0\u793A\u524D\u7684\u7B49\u5F85\u65F6\u95F4 (\u6BEB\u79D2)\u3002","\u63A7\u5236\u5F53\u9F20\u6807\u79FB\u52A8\u5230\u60AC\u505C\u63D0\u793A\u4E0A\u65F6\uFF0C\u5176\u662F\u5426\u4FDD\u6301\u53EF\u89C1\u3002","\u5728\u7F16\u8F91\u5668\u4E2D\u542F\u7528\u4EE3\u7801\u64CD\u4F5C\u5C0F\u706F\u6CE1\u63D0\u793A\u3002","\u5728\u7F16\u8F91\u5668\u4E2D\u542F\u7528\u5185\u8054\u63D0\u793A\u3002","\u5728\u7F16\u8F91\u5668\u4E2D\u63A7\u5236\u5185\u8054\u63D0\u793A\u7684\u5B57\u53F7\u3002\u8BBE\u7F6E\u4E3A `0` \u65F6\uFF0C\u5C06\u4F7F\u7528 `#editor.fontSize#` \u7684 90%\u3002","\u5728\u7F16\u8F91\u5668\u4E2D\u63A7\u5236\u5185\u8054\u63D0\u793A\u7684\u5B57\u4F53\u7CFB\u5217\u3002","\u63A7\u5236\u884C\u9AD8\u3002\u4E3A 0 \u65F6\u5219\u901A\u8FC7\u5B57\u4F53\u5927\u5C0F\u81EA\u52A8\u8BA1\u7B97\u3002","\u63A7\u5236\u662F\u5426\u663E\u793A\u7F29\u7565\u56FE\u3002","\u8FF7\u4F60\u5730\u56FE\u7684\u5927\u5C0F\u4E0E\u7F16\u8F91\u5668\u5185\u5BB9\u76F8\u540C(\u5E76\u4E14\u53EF\u80FD\u6EDA\u52A8)\u3002","\u8FF7\u4F60\u5730\u56FE\u5C06\u6839\u636E\u9700\u8981\u62C9\u4F38\u6216\u7F29\u5C0F\u4EE5\u586B\u5145\u7F16\u8F91\u5668\u7684\u9AD8\u5EA6(\u4E0D\u6EDA\u52A8)\u3002","\u8FF7\u4F60\u5730\u56FE\u5C06\u6839\u636E\u9700\u8981\u7F29\u5C0F\uFF0C\u6C38\u8FDC\u4E0D\u4F1A\u5927\u4E8E\u7F16\u8F91\u5668(\u4E0D\u6EDA\u52A8)\u3002","\u63A7\u5236\u8FF7\u4F60\u5730\u56FE\u7684\u5927\u5C0F\u3002","\u63A7\u5236\u5728\u54EA\u4E00\u4FA7\u663E\u793A\u7F29\u7565\u56FE\u3002","\u63A7\u5236\u4F55\u65F6\u663E\u793A\u8FF7\u4F60\u5730\u56FE\u6ED1\u5757\u3002","\u5728\u8FF7\u4F60\u5730\u56FE\u4E2D\u7ED8\u5236\u7684\u5185\u5BB9\u6BD4\u4F8B: 1\u30012 \u6216 3\u3002","\u6E32\u67D3\u6BCF\u884C\u7684\u5B9E\u9645\u5B57\u7B26\uFF0C\u800C\u4E0D\u662F\u8272\u5757\u3002","\u9650\u5236\u7F29\u7565\u56FE\u7684\u5BBD\u5EA6\uFF0C\u63A7\u5236\u5176\u6700\u591A\u663E\u793A\u7684\u5217\u6570\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u7684\u9876\u8FB9\u548C\u7B2C\u4E00\u884C\u4E4B\u95F4\u7684\u95F4\u8DDD\u91CF\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u7684\u5E95\u8FB9\u548C\u6700\u540E\u4E00\u884C\u4E4B\u95F4\u7684\u95F4\u8DDD\u91CF\u3002","\u5728\u8F93\u5165\u65F6\u663E\u793A\u542B\u6709\u53C2\u6570\u6587\u6863\u548C\u7C7B\u578B\u4FE1\u606F\u7684\u5C0F\u9762\u677F\u3002","\u63A7\u5236\u53C2\u6570\u63D0\u793A\u83DC\u5355\u5728\u5230\u8FBE\u5217\u8868\u672B\u5C3E\u65F6\u8FDB\u884C\u5FAA\u73AF\u8FD8\u662F\u5173\u95ED\u3002","\u5728\u5B57\u7B26\u4E32\u5185\u542F\u7528\u5FEB\u901F\u5EFA\u8BAE\u3002","\u5728\u6CE8\u91CA\u5185\u542F\u7528\u5FEB\u901F\u5EFA\u8BAE\u3002","\u5728\u5B57\u7B26\u4E32\u548C\u6CE8\u91CA\u5916\u542F\u7528\u5FEB\u901F\u5EFA\u8BAE\u3002","\u63A7\u5236\u662F\u5426\u5728\u952E\u5165\u65F6\u81EA\u52A8\u663E\u793A\u5EFA\u8BAE\u3002","\u4E0D\u663E\u793A\u884C\u53F7\u3002","\u5C06\u884C\u53F7\u663E\u793A\u4E3A\u7EDD\u5BF9\u884C\u6570\u3002","\u5C06\u884C\u53F7\u663E\u793A\u4E3A\u4E0E\u5149\u6807\u76F8\u9694\u7684\u884C\u6570\u3002","\u6BCF 10 \u884C\u663E\u793A\u4E00\u6B21\u884C\u53F7\u3002","\u63A7\u5236\u884C\u53F7\u7684\u663E\u793A\u3002","\u6B64\u7F16\u8F91\u5668\u6807\u5C3A\u5C06\u6E32\u67D3\u7684\u7B49\u5BBD\u5B57\u7B26\u6570\u3002","\u6B64\u7F16\u8F91\u5668\u6807\u5C3A\u7684\u989C\u8272\u3002","\u5728\u4E00\u5B9A\u6570\u91CF\u7684\u7B49\u5BBD\u5B57\u7B26\u540E\u663E\u793A\u5782\u76F4\u6807\u5C3A\u3002\u8F93\u5165\u591A\u4E2A\u503C\uFF0C\u663E\u793A\u591A\u4E2A\u6807\u5C3A\u3002\u82E5\u6570\u7EC4\u4E3A\u7A7A\uFF0C\u5219\u4E0D\u7ED8\u5236\u6807\u5C3A\u3002","\u63D2\u5165\u5EFA\u8BAE\u800C\u4E0D\u8986\u76D6\u5149\u6807\u53F3\u4FA7\u7684\u6587\u672C\u3002","\u63D2\u5165\u5EFA\u8BAE\u5E76\u8986\u76D6\u5149\u6807\u53F3\u4FA7\u7684\u6587\u672C\u3002","\u63A7\u5236\u63A5\u53D7\u8865\u5168\u65F6\u662F\u5426\u8986\u76D6\u5355\u8BCD\u3002\u8BF7\u6CE8\u610F\uFF0C\u8FD9\u53D6\u51B3\u4E8E\u6269\u5C55\u9009\u62E9\u4F7F\u7528\u6B64\u529F\u80FD\u3002","\u63A7\u5236\u5BF9\u5EFA\u8BAE\u7684\u7B5B\u9009\u548C\u6392\u5E8F\u662F\u5426\u8003\u8651\u5C0F\u7684\u62FC\u5199\u9519\u8BEF\u3002","\u63A7\u5236\u6392\u5E8F\u65F6\u662F\u5426\u63D0\u9AD8\u9760\u8FD1\u5149\u6807\u7684\u8BCD\u8BED\u7684\u4F18\u5148\u7EA7\u3002","\u63A7\u5236\u662F\u5426\u5728\u591A\u4E2A\u5DE5\u4F5C\u533A\u548C\u7A97\u53E3\u95F4\u5171\u4EAB\u8BB0\u5FC6\u7684\u5EFA\u8BAE\u9009\u9879(\u9700\u8981 `#editor.suggestSelection#`)\u3002","\u63A7\u5236\u6D3B\u52A8\u4EE3\u7801\u6BB5\u662F\u5426\u963B\u6B62\u5FEB\u901F\u5EFA\u8BAE\u3002","\u63A7\u5236\u662F\u5426\u5728\u5EFA\u8BAE\u4E2D\u663E\u793A\u6216\u9690\u85CF\u56FE\u6807\u3002","\u63A7\u5236\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u5E95\u90E8\u7684\u72B6\u6001\u680F\u7684\u53EF\u89C1\u6027\u3002","\u63A7\u5236\u5EFA\u8BAE\u8BE6\u7EC6\u4FE1\u606F\u662F\u968F\u6807\u7B7E\u4E00\u8D77\u663E\u793A\u8FD8\u662F\u4EC5\u663E\u793A\u5728\u8BE6\u7EC6\u4FE1\u606F\u5C0F\u7EC4\u4EF6\u4E2D","\u6B64\u8BBE\u7F6E\u5DF2\u5F03\u7528\u3002\u73B0\u5728\u53EF\u4EE5\u8C03\u6574\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u7684\u5927\u5C0F\u3002",'\u6B64\u8BBE\u7F6E\u5DF2\u5F03\u7528\uFF0C\u8BF7\u6539\u7528\u5355\u72EC\u7684\u8BBE\u7F6E\uFF0C\u5982"editor.suggest.showKeywords"\u6216"editor.suggest.showSnippets"\u3002',"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u65B9\u6CD5\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u51FD\u6570\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6784\u9020\u51FD\u6570\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5B57\u6BB5\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u53D8\u91CF\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7C7B\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7ED3\u6784\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u63A5\u53E3\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6A21\u5757\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5C5E\u6027\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u4E8B\u4EF6\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u64CD\u4F5C\u7B26\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5355\u4F4D\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u503C\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5E38\u91CF\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u679A\u4E3E\u201D\u5EFA\u8BAE\u3002",'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A "enumMember" \u5EFA\u8BAE\u3002',"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5173\u952E\u5B57\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u672C\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u989C\u8272\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u4EF6\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u53C2\u8003\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u81EA\u5B9A\u4E49\u989C\u8272\u201D\u5EFA\u8BAE\u3002","\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u4EF6\u5939\u201D\u5EFA\u8BAE\u3002",'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A "typeParameter" \u5EFA\u8BAE\u3002',"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7247\u6BB5\u201D\u5EFA\u8BAE\u3002",'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A"\u7528\u6237"\u5EFA\u8BAE\u3002','\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A"\u95EE\u9898"\u5EFA\u8BAE\u3002',"\u662F\u5426\u5E94\u59CB\u7EC8\u9009\u62E9\u524D\u5BFC\u548C\u5C3E\u968F\u7A7A\u683C\u3002","\u63A7\u5236\u662F\u5426\u5E94\u5728\u9047\u5230\u63D0\u4EA4\u5B57\u7B26\u65F6\u63A5\u53D7\u5EFA\u8BAE\u3002\u4F8B\u5982\uFF0C\u5728 JavaScript \u4E2D\uFF0C\u534A\u89D2\u5206\u53F7 (`;`) \u53EF\u4EE5\u4E3A\u63D0\u4EA4\u5B57\u7B26\uFF0C\u80FD\u591F\u5728\u63A5\u53D7\u5EFA\u8BAE\u7684\u540C\u65F6\u952E\u5165\u8BE5\u5B57\u7B26\u3002","\u4EC5\u5F53\u5EFA\u8BAE\u5305\u542B\u6587\u672C\u6539\u52A8\u65F6\u624D\u53EF\u4F7F\u7528 `Enter` \u952E\u8FDB\u884C\u63A5\u53D7\u3002","\u63A7\u5236\u9664\u4E86 `Tab` \u952E\u4EE5\u5916\uFF0C `Enter` \u952E\u662F\u5426\u540C\u6837\u53EF\u4EE5\u63A5\u53D7\u5EFA\u8BAE\u3002\u8FD9\u80FD\u51CF\u5C11\u201C\u63D2\u5165\u65B0\u884C\u201D\u548C\u201C\u63A5\u53D7\u5EFA\u8BAE\u201D\u547D\u4EE4\u4E4B\u95F4\u7684\u6B67\u4E49\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u4E2D\u53EF\u7531\u5C4F\u5E55\u9605\u8BFB\u5668\u8BFB\u53D6\u7684\u884C\u6570\u3002\u8B66\u544A: \u5BF9\u4E8E\u5927\u4E8E\u9ED8\u8BA4\u503C\u7684\u6570\u5B57\uFF0C\u8FD9\u4F1A\u5F71\u54CD\u6027\u80FD\u3002","\u7F16\u8F91\u5668\u5185\u5BB9","\u4F7F\u7528\u8BED\u8A00\u914D\u7F6E\u786E\u5B9A\u4F55\u65F6\u81EA\u52A8\u95ED\u5408\u62EC\u53F7\u3002","\u4EC5\u5F53\u5149\u6807\u4F4D\u4E8E\u7A7A\u767D\u5B57\u7B26\u5DE6\u4FA7\u65F6\uFF0C\u624D\u81EA\u52A8\u95ED\u5408\u62EC\u53F7\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5728\u5DE6\u62EC\u53F7\u540E\u81EA\u52A8\u63D2\u5165\u53F3\u62EC\u53F7\u3002","\u4EC5\u5728\u81EA\u52A8\u63D2\u5165\u65F6\u624D\u6539\u5199\u53F3\u5F15\u53F7\u6216\u53F3\u62EC\u53F7\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u6539\u5199\u53F3\u5F15\u53F7\u6216\u53F3\u62EC\u53F7\u3002","\u4F7F\u7528\u8BED\u8A00\u914D\u7F6E\u786E\u5B9A\u4F55\u65F6\u81EA\u52A8\u95ED\u5408\u5F15\u53F7\u3002","\u4EC5\u5F53\u5149\u6807\u4F4D\u4E8E\u7A7A\u767D\u5B57\u7B26\u5DE6\u4FA7\u65F6\uFF0C\u624D\u81EA\u52A8\u95ED\u5408\u5F15\u53F7\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5728\u5DE6\u5F15\u53F7\u540E\u81EA\u52A8\u63D2\u5165\u53F3\u5F15\u53F7\u3002","\u7F16\u8F91\u5668\u4E0D\u4F1A\u81EA\u52A8\u63D2\u5165\u7F29\u8FDB\u3002","\u7F16\u8F91\u5668\u5C06\u4FDD\u7559\u5F53\u524D\u884C\u7684\u7F29\u8FDB\u3002","\u7F16\u8F91\u5668\u5C06\u4FDD\u7559\u5F53\u524D\u884C\u7684\u7F29\u8FDB\u5E76\u9075\u5FAA\u8BED\u8A00\u5B9A\u4E49\u7684\u62EC\u53F7\u3002","\u7F16\u8F91\u5668\u5C06\u4FDD\u7559\u5F53\u524D\u884C\u7684\u7F29\u8FDB\u3001\u4F7F\u7528\u8BED\u8A00\u5B9A\u4E49\u7684\u62EC\u53F7\u5E76\u8C03\u7528\u8BED\u8A00\u5B9A\u4E49\u7684\u7279\u5B9A onEnterRules\u3002","\u7F16\u8F91\u5668\u5C06\u4FDD\u7559\u5F53\u524D\u884C\u7684\u7F29\u8FDB\uFF0C\u4F7F\u7528\u8BED\u8A00\u5B9A\u4E49\u7684\u62EC\u53F7\uFF0C\u8C03\u7528\u7531\u8BED\u8A00\u5B9A\u4E49\u7684\u7279\u6B8A\u8F93\u5165\u89C4\u5219\uFF0C\u5E76\u9075\u5FAA\u7531\u8BED\u8A00\u5B9A\u4E49\u7684\u7F29\u8FDB\u89C4\u5219\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u5728\u7528\u6237\u952E\u5165\u3001\u7C98\u8D34\u3001\u79FB\u52A8\u6216\u7F29\u8FDB\u884C\u65F6\u81EA\u52A8\u8C03\u6574\u7F29\u8FDB\u3002","\u4F7F\u7528\u8BED\u8A00\u914D\u7F6E\u786E\u5B9A\u4F55\u65F6\u81EA\u52A8\u5305\u4F4F\u6240\u9009\u5185\u5BB9\u3002","\u4F7F\u7528\u5F15\u53F7\u800C\u975E\u62EC\u53F7\u6765\u5305\u4F4F\u6240\u9009\u5185\u5BB9\u3002","\u4F7F\u7528\u62EC\u53F7\u800C\u975E\u5F15\u53F7\u6765\u5305\u4F4F\u6240\u9009\u5185\u5BB9\u3002","\u63A7\u5236\u5728\u952E\u5165\u5F15\u53F7\u6216\u65B9\u62EC\u53F7\u65F6\uFF0C\u7F16\u8F91\u5668\u662F\u5426\u5E94\u81EA\u52A8\u5C06\u6240\u9009\u5185\u5BB9\u62EC\u8D77\u6765\u3002","\u5728\u4F7F\u7528\u7A7A\u683C\u8FDB\u884C\u7F29\u8FDB\u65F6\u6A21\u62DF\u5236\u8868\u7B26\u7684\u9009\u62E9\u884C\u4E3A\u3002\u6240\u9009\u5185\u5BB9\u5C06\u59CB\u7EC8\u4F7F\u7528\u5236\u8868\u7B26\u505C\u6B62\u4F4D\u3002","\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u663E\u793A CodeLens\u3002","\u63A7\u5236 CodeLens \u7684\u5B57\u4F53\u7CFB\u5217\u3002","\u63A7\u5236 CodeLens \u7684\u5B57\u4F53\u5927\u5C0F(\u50CF\u7D20)\u3002\u8BBE\u7F6E\u4E3A `0` \u65F6\uFF0C\u5C06\u4F7F\u7528 `#editor.fontSize#` \u7684 90%\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u663E\u793A\u5185\u8054\u989C\u8272\u4FEE\u9970\u5668\u548C\u989C\u8272\u9009\u53D6\u5668\u3002","\u542F\u7528\u4F7F\u7528\u9F20\u6807\u548C\u952E\u8FDB\u884C\u5217\u9009\u62E9\u3002","\u63A7\u5236\u5728\u590D\u5236\u65F6\u662F\u5426\u540C\u65F6\u590D\u5236\u8BED\u6CD5\u9AD8\u4EAE\u3002","\u63A7\u5236\u5149\u6807\u7684\u52A8\u753B\u6837\u5F0F\u3002","\u63A7\u5236\u662F\u5426\u542F\u7528\u5E73\u6ED1\u63D2\u5165\u52A8\u753B\u3002","\u63A7\u5236\u5149\u6807\u6837\u5F0F\u3002",'\u63A7\u5236\u5149\u6807\u5468\u56F4\u53EF\u89C1\u7684\u524D\u7F6E\u884C\u548C\u5C3E\u968F\u884C\u7684\u6700\u5C0F\u6570\u76EE\u3002\u5728\u5176\u4ED6\u4E00\u4E9B\u7F16\u8F91\u5668\u4E2D\u79F0\u4E3A "scrollOff" \u6216 "scrollOffset"\u3002','\u4EC5\u5F53\u901A\u8FC7\u952E\u76D8\u6216 API \u89E6\u53D1\u65F6\uFF0C\u624D\u4F1A\u5F3A\u5236\u6267\u884C"\u5149\u6807\u73AF\u7ED5\u884C"\u3002','\u59CB\u7EC8\u5F3A\u5236\u6267\u884C "cursorSurroundingLines"','\u63A7\u5236\u4F55\u65F6\u5E94\u5F3A\u5236\u6267\u884C"\u5149\u6807\u73AF\u7ED5\u884C"\u3002',"\u5F53 `#editor.cursorStyle#` \u8BBE\u7F6E\u4E3A `line` \u65F6\uFF0C\u63A7\u5236\u5149\u6807\u7684\u5BBD\u5EA6\u3002","\u63A7\u5236\u5728\u7F16\u8F91\u5668\u4E2D\u662F\u5426\u5141\u8BB8\u901A\u8FC7\u62D6\u653E\u6765\u79FB\u52A8\u9009\u4E2D\u5185\u5BB9\u3002",'\u6309\u4E0B"Alt"\u65F6\u6EDA\u52A8\u901F\u5EA6\u500D\u589E\u3002',"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u542F\u7528\u4E86\u4EE3\u7801\u6298\u53E0\u3002","\u4F7F\u7528\u7279\u5B9A\u4E8E\u8BED\u8A00\u7684\u6298\u53E0\u7B56\u7565(\u5982\u679C\u53EF\u7528)\uFF0C\u5426\u5219\u4F7F\u7528\u57FA\u4E8E\u7F29\u8FDB\u7684\u7B56\u7565\u3002","\u4F7F\u7528\u57FA\u4E8E\u7F29\u8FDB\u7684\u6298\u53E0\u7B56\u7565\u3002","\u63A7\u5236\u8BA1\u7B97\u6298\u53E0\u8303\u56F4\u7684\u7B56\u7565\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u7A81\u51FA\u663E\u793A\u6298\u53E0\u8303\u56F4\u3002","\u63A7\u5236\u5355\u51FB\u5DF2\u6298\u53E0\u7684\u884C\u540E\u9762\u7684\u7A7A\u5185\u5BB9\u662F\u5426\u4F1A\u5C55\u5F00\u8BE5\u884C\u3002","\u63A7\u5236\u5B57\u4F53\u7CFB\u5217\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u81EA\u52A8\u683C\u5F0F\u5316\u7C98\u8D34\u7684\u5185\u5BB9\u3002\u683C\u5F0F\u5316\u7A0B\u5E8F\u5FC5\u987B\u53EF\u7528\uFF0C\u5E76\u4E14\u80FD\u9488\u5BF9\u6587\u6863\u4E2D\u7684\u67D0\u4E00\u8303\u56F4\u8FDB\u884C\u683C\u5F0F\u5316\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u5728\u952E\u5165\u4E00\u884C\u540E\u662F\u5426\u81EA\u52A8\u683C\u5F0F\u5316\u8BE5\u884C\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u5448\u73B0\u5782\u76F4\u5B57\u5F62\u8FB9\u8DDD\u3002\u5B57\u5F62\u8FB9\u8DDD\u6700\u5E38\u7528\u4E8E\u8C03\u8BD5\u3002","\u63A7\u5236\u662F\u5426\u5728\u6982\u89C8\u6807\u5C3A\u4E2D\u9690\u85CF\u5149\u6807\u3002","\u63A7\u5236\u662F\u5426\u7A81\u51FA\u663E\u793A\u7F16\u8F91\u5668\u4E2D\u6D3B\u52A8\u7684\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","\u63A7\u5236\u5B57\u6BCD\u95F4\u8DDD(\u50CF\u7D20)\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5DF2\u542F\u7528\u94FE\u63A5\u7F16\u8F91\u3002\u76F8\u5173\u7B26\u53F7(\u5982 HTML \u6807\u8BB0)\u5728\u7F16\u8F91\u65F6\u8FDB\u884C\u66F4\u65B0\uFF0C\u5177\u4F53\u7531\u8BED\u8A00\u800C\u5B9A\u3002","\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u68C0\u6D4B\u94FE\u63A5\u5E76\u4F7F\u5176\u53EF\u88AB\u70B9\u51FB\u3002","\u7A81\u51FA\u663E\u793A\u5339\u914D\u7684\u62EC\u53F7\u3002","\u5BF9\u9F20\u6807\u6EDA\u8F6E\u6EDA\u52A8\u4E8B\u4EF6\u7684 `deltaX` \u548C `deltaY` \u4E58\u4E0A\u7684\u7CFB\u6570\u3002","\u6309\u4F4F `Ctrl` \u952E\u5E76\u6EDA\u52A8\u9F20\u6807\u6EDA\u8F6E\u65F6\u5BF9\u7F16\u8F91\u5668\u5B57\u4F53\u5927\u5C0F\u8FDB\u884C\u7F29\u653E\u3002","\u5F53\u591A\u4E2A\u5149\u6807\u91CD\u53E0\u65F6\u8FDB\u884C\u5408\u5E76\u3002","\u6620\u5C04\u4E3A `Ctrl` (Windows \u548C Linux) \u6216 `Command` (macOS)\u3002","\u6620\u5C04\u4E3A `Alt` (Windows \u548C Linux) \u6216 `Option` (macOS)\u3002","\u5728\u901A\u8FC7\u9F20\u6807\u6DFB\u52A0\u591A\u4E2A\u5149\u6807\u65F6\u4F7F\u7528\u7684\u4FEE\u6539\u952E\u3002\u201C\u8F6C\u5230\u5B9A\u4E49\u201D\u548C\u201C\u6253\u5F00\u94FE\u63A5\u201D\u529F\u80FD\u6240\u9700\u7684\u9F20\u6807\u52A8\u4F5C\u5C06\u4F1A\u76F8\u5E94\u8C03\u6574\uFF0C\u4E0D\u4E0E\u591A\u5149\u6807\u4FEE\u6539\u952E\u51B2\u7A81\u3002[\u9605\u8BFB\u8BE6\u7EC6\u4FE1\u606F](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)\u3002","\u6BCF\u4E2A\u5149\u6807\u7C98\u8D34\u4E00\u884C\u6587\u672C\u3002","\u6BCF\u4E2A\u5149\u6807\u7C98\u8D34\u5168\u6587\u3002","\u63A7\u5236\u7C98\u8D34\u65F6\u7C98\u8D34\u6587\u672C\u7684\u884C\u8BA1\u6570\u4E0E\u5149\u6807\u8BA1\u6570\u76F8\u5339\u914D\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u7A81\u51FA\u663E\u793A\u8BED\u4E49\u7B26\u53F7\u7684\u5339\u914D\u9879\u3002","\u63A7\u5236\u662F\u5426\u5728\u6982\u89C8\u6807\u5C3A\u5468\u56F4\u7ED8\u5236\u8FB9\u6846\u3002","\u6253\u5F00\u901F\u89C8\u65F6\u805A\u7126\u6811","\u6253\u5F00\u9884\u89C8\u65F6\u5C06\u7126\u70B9\u653E\u5728\u7F16\u8F91\u5668\u4E0A","\u63A7\u5236\u662F\u5C06\u7126\u70B9\u653E\u5728\u5185\u8054\u7F16\u8F91\u5668\u4E0A\u8FD8\u662F\u653E\u5728\u9884\u89C8\u5C0F\u90E8\u4EF6\u4E2D\u7684\u6811\u4E0A\u3002",'\u63A7\u5236"\u8F6C\u5230\u5B9A\u4E49"\u9F20\u6807\u624B\u52BF\u662F\u5426\u59CB\u7EC8\u6253\u5F00\u9884\u89C8\u5C0F\u90E8\u4EF6\u3002',"\u63A7\u5236\u663E\u793A\u5FEB\u901F\u5EFA\u8BAE\u524D\u7684\u7B49\u5F85\u65F6\u95F4 (\u6BEB\u79D2)\u3002","\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u8F93\u5165\u65F6\u81EA\u52A8\u91CD\u547D\u540D\u3002",'\u5DF2\u5F03\u7528\uFF0C\u8BF7\u6539\u7528 "editor.linkedEditing"\u3002',"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u663E\u793A\u63A7\u5236\u5B57\u7B26\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u663E\u793A\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","\u5F53\u6587\u4EF6\u4EE5\u6362\u884C\u7B26\u7ED3\u675F\u65F6, \u5448\u73B0\u6700\u540E\u4E00\u884C\u7684\u884C\u53F7\u3002","\u540C\u65F6\u7A81\u51FA\u663E\u793A\u5BFC\u822A\u7EBF\u548C\u5F53\u524D\u884C\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u7684\u5F53\u524D\u884C\u8FDB\u884C\u9AD8\u4EAE\u663E\u793A\u7684\u65B9\u5F0F\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u4EC5\u5728\u7126\u70B9\u5728\u7F16\u8F91\u5668\u65F6\u7A81\u51FA\u663E\u793A\u5F53\u524D\u884C","\u5448\u73B0\u7A7A\u683C\u5B57\u7B26(\u5B57\u8BCD\u4E4B\u95F4\u7684\u5355\u4E2A\u7A7A\u683C\u9664\u5916)\u3002","\u4EC5\u5728\u9009\u5B9A\u6587\u672C\u4E0A\u5448\u73B0\u7A7A\u767D\u5B57\u7B26\u3002","\u4EC5\u5448\u73B0\u5C3E\u968F\u7A7A\u683C\u5B57\u7B26","\u63A7\u5236\u7F16\u8F91\u5668\u5728\u7A7A\u767D\u5B57\u7B26\u4E0A\u663E\u793A\u7B26\u53F7\u7684\u65B9\u5F0F\u3002","\u63A7\u5236\u9009\u533A\u662F\u5426\u6709\u5706\u89D2\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u6C34\u5E73\u6EDA\u52A8\u65F6\u53EF\u4EE5\u8D85\u8FC7\u8303\u56F4\u7684\u5B57\u7B26\u6570\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u53EF\u4EE5\u6EDA\u52A8\u5230\u6700\u540E\u4E00\u884C\u4E4B\u540E\u3002","\u540C\u65F6\u5782\u76F4\u548C\u6C34\u5E73\u6EDA\u52A8\u65F6\uFF0C\u4EC5\u6CBF\u4E3B\u8F74\u6EDA\u52A8\u3002\u5728\u89E6\u63A7\u677F\u4E0A\u5782\u76F4\u6EDA\u52A8\u65F6\uFF0C\u53EF\u9632\u6B62\u6C34\u5E73\u6F02\u79FB\u3002","\u63A7\u5236\u662F\u5426\u652F\u6301 Linux \u4E3B\u526A\u8D34\u677F\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u7A81\u51FA\u663E\u793A\u4E0E\u6240\u9009\u5185\u5BB9\u7C7B\u4F3C\u7684\u5339\u914D\u9879\u3002","\u59CB\u7EC8\u663E\u793A\u6298\u53E0\u63A7\u4EF6\u3002","\u4EC5\u5728\u9F20\u6807\u4F4D\u4E8E\u88C5\u8BA2\u7EBF\u4E0A\u65B9\u65F6\u663E\u793A\u6298\u53E0\u63A7\u4EF6\u3002","\u63A7\u5236\u4F55\u65F6\u663E\u793A\u884C\u53F7\u69FD\u4E0A\u7684\u6298\u53E0\u63A7\u4EF6\u3002","\u63A7\u5236\u662F\u5426\u6DE1\u5316\u672A\u4F7F\u7528\u7684\u4EE3\u7801\u3002","\u63A7\u5236\u52A0\u5220\u9664\u7EBF\u88AB\u5F03\u7528\u7684\u53D8\u91CF\u3002","\u5728\u5176\u4ED6\u5EFA\u8BAE\u4E0A\u65B9\u663E\u793A\u4EE3\u7801\u7247\u6BB5\u5EFA\u8BAE\u3002","\u5728\u5176\u4ED6\u5EFA\u8BAE\u4E0B\u65B9\u663E\u793A\u4EE3\u7801\u7247\u6BB5\u5EFA\u8BAE\u3002","\u5728\u5176\u4ED6\u5EFA\u8BAE\u4E2D\u7A7F\u63D2\u663E\u793A\u4EE3\u7801\u7247\u6BB5\u5EFA\u8BAE\u3002","\u4E0D\u663E\u793A\u4EE3\u7801\u7247\u6BB5\u5EFA\u8BAE\u3002","\u63A7\u5236\u4EE3\u7801\u7247\u6BB5\u662F\u5426\u4E0E\u5176\u4ED6\u5EFA\u8BAE\u4E00\u8D77\u663E\u793A\u53CA\u5176\u6392\u5217\u7684\u4F4D\u7F6E\u3002","\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5728\u6EDA\u52A8\u65F6\u4F7F\u7528\u52A8\u753B\u3002","\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u7684\u5B57\u53F7\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `0`\uFF0C\u5219\u4F7F\u7528 `#editor.fontSize#` \u7684\u503C\u3002","\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u7684\u884C\u9AD8\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `0`\uFF0C\u5219\u4F7F\u7528 `#editor.lineHeight#` \u7684\u503C\u3002\u6700\u5C0F\u503C\u4E3A 8\u3002","\u63A7\u5236\u5728\u952E\u5165\u89E6\u53D1\u5B57\u7B26\u540E\u662F\u5426\u81EA\u52A8\u663E\u793A\u5EFA\u8BAE\u3002","\u59CB\u7EC8\u9009\u62E9\u7B2C\u4E00\u4E2A\u5EFA\u8BAE\u3002","\u9009\u62E9\u6700\u8FD1\u7684\u5EFA\u8BAE\uFF0C\u9664\u975E\u8FDB\u4E00\u6B65\u952E\u5165\u9009\u62E9\u5176\u4ED6\u9879\u3002\u4F8B\u5982 `console. -> console.log`\uFF0C\u56E0\u4E3A\u6700\u8FD1\u8865\u5168\u8FC7 `log`\u3002","\u6839\u636E\u4E4B\u524D\u8865\u5168\u8FC7\u7684\u5EFA\u8BAE\u7684\u524D\u7F00\u6765\u8FDB\u884C\u9009\u62E9\u3002\u4F8B\u5982\uFF0C`co -> console`\u3001`con -> const`\u3002","\u63A7\u5236\u5728\u5EFA\u8BAE\u5217\u8868\u4E2D\u5982\u4F55\u9884\u5148\u9009\u62E9\u5EFA\u8BAE\u3002","\u5728\u6309\u4E0B Tab \u952E\u65F6\u8FDB\u884C Tab \u8865\u5168\uFF0C\u5C06\u63D2\u5165\u6700\u4F73\u5339\u914D\u5EFA\u8BAE\u3002","\u7981\u7528 Tab \u8865\u5168\u3002",'\u5728\u524D\u7F00\u5339\u914D\u65F6\u8FDB\u884C Tab \u8865\u5168\u3002\u5728 "quickSuggestions" \u672A\u542F\u7528\u65F6\u4F53\u9A8C\u6700\u597D\u3002',"\u542F\u7528 Tab \u8865\u5168\u3002","\u81EA\u52A8\u5220\u9664\u5F02\u5E38\u7684\u884C\u7EC8\u6B62\u7B26\u3002","\u5FFD\u7565\u5F02\u5E38\u7684\u884C\u7EC8\u6B62\u7B26\u3002","\u63D0\u793A\u5220\u9664\u5F02\u5E38\u7684\u884C\u7EC8\u6B62\u7B26\u3002","\u5220\u9664\u53EF\u80FD\u5BFC\u81F4\u95EE\u9898\u7684\u5F02\u5E38\u884C\u7EC8\u6B62\u7B26\u3002","\u6839\u636E\u5236\u8868\u4F4D\u63D2\u5165\u548C\u5220\u9664\u7A7A\u683C\u3002","\u6267\u884C\u5355\u8BCD\u76F8\u5173\u7684\u5BFC\u822A\u6216\u64CD\u4F5C\u65F6\u4F5C\u4E3A\u5355\u8BCD\u5206\u9694\u7B26\u7684\u5B57\u7B26\u3002","\u6C38\u4E0D\u6362\u884C\u3002","\u5C06\u5728\u89C6\u533A\u5BBD\u5EA6\u5904\u6362\u884C\u3002","\u5728 `#editor.wordWrapColumn#` \u5904\u6298\u884C\u3002","\u5728\u89C6\u533A\u5BBD\u5EA6\u548C `#editor.wordWrapColumn#` \u4E2D\u7684\u8F83\u5C0F\u503C\u5904\u6298\u884C\u3002","\u63A7\u5236\u6298\u884C\u7684\u65B9\u5F0F\u3002","\u5728 `#editor.wordWrap#` \u4E3A `wordWrapColumn` \u6216 `bounded` \u65F6\uFF0C\u63A7\u5236\u7F16\u8F91\u5668\u7684\u6298\u884C\u5217\u3002","\u6CA1\u6709\u7F29\u8FDB\u3002\u6298\u884C\u4ECE\u7B2C 1 \u5217\u5F00\u59CB\u3002","\u6298\u884C\u7684\u7F29\u8FDB\u91CF\u4E0E\u5176\u7236\u7EA7\u76F8\u540C\u3002","\u6298\u884C\u7684\u7F29\u8FDB\u91CF\u6BD4\u5176\u7236\u7EA7\u591A 1\u3002","\u6298\u884C\u7684\u7F29\u8FDB\u91CF\u6BD4\u5176\u7236\u7EA7\u591A 2\u3002","\u63A7\u5236\u6298\u884C\u7684\u7F29\u8FDB\u3002","\u5047\u5B9A\u6240\u6709\u5B57\u7B26\u7684\u5BBD\u5EA6\u76F8\u540C\u3002\u8FD9\u662F\u4E00\u79CD\u5FEB\u901F\u7B97\u6CD5\uFF0C\u9002\u7528\u4E8E\u7B49\u5BBD\u5B57\u4F53\u548C\u67D0\u4E9B\u5B57\u5F62\u5BBD\u5EA6\u76F8\u7B49\u7684\u6587\u5B57(\u5982\u62C9\u4E01\u5B57\u7B26)\u3002","\u5C06\u5305\u88C5\u70B9\u8BA1\u7B97\u59D4\u6258\u7ED9\u6D4F\u89C8\u5668\u3002\u8FD9\u662F\u4E00\u4E2A\u7F13\u6162\u7B97\u6CD5\uFF0C\u53EF\u80FD\u4F1A\u5BFC\u81F4\u5927\u578B\u6587\u4EF6\u88AB\u51BB\u7ED3\uFF0C\u4F46\u5B83\u5728\u6240\u6709\u60C5\u51B5\u4E0B\u90FD\u6B63\u5E38\u5DE5\u4F5C\u3002","\u63A7\u5236\u8BA1\u7B97\u5305\u88F9\u70B9\u7684\u7B97\u6CD5\u3002"],"vs/editor/common/editorContextKeys":["Whether the editor text has focus (cursor is blinking)","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)","Whether an editor or a rich text input has focus (cursor is blinking)","Whether the editor is read only","Whether the context is a diff editor","Whether `editor.columnSelection` is enabled","Whether the editor has text selected","Whether the editor has multiple selections","Whether `Tab` will move focus out of the editor","Whether the editor hover is visible","Whether the editor is part of a larger editor (e.g. notebooks)","The language identifier of the editor","Whether the editor has a completion item provider","Whether the editor has a code actions provider","Whether the editor has a code lens provider","Whether the editor has a definition provider","Whether the editor has a declaration provider","Whether the editor has an implementation provider","Whether the editor has a type definition provider","Whether the editor has a hover provider","Whether the editor has a document highlight provider","Whether the editor has a document symbol provider","Whether the editor has a reference provider","Whether the editor has a rename provider","Whether the editor has a signature help provider","Whether the editor has an inline hints provider","Whether the editor has a document formatting provider","Whether the editor has a document selection formatting provider","Whether the editor has multiple document formatting providers","Whether the editor has multiple document selection formatting providers"],"vs/editor/common/model/editStack":["\u8F93\u5165"],"vs/editor/common/modes/modesRegistry":["\u7EAF\u6587\u672C"],"vs/editor/common/standaloneStrings":["\u65E0\u9009\u62E9","\u884C {0}, \u5217 {1} (\u9009\u4E2D {2})","\u884C {0}, \u5217 {1}","{0} \u9009\u62E9(\u5DF2\u9009\u62E9 {1} \u4E2A\u5B57\u7B26)","{0} \u9009\u62E9",'\u73B0\u5728\u5C06 "\u8F85\u52A9\u529F\u80FD\u652F\u6301" \u8BBE\u7F6E\u66F4\u6539\u4E3A "\u6253\u5F00"\u3002',"\u73B0\u5728\u6B63\u5728\u6253\u5F00\u201C\u7F16\u8F91\u5668\u8F85\u52A9\u529F\u80FD\u201D\u6587\u6863\u9875\u3002","\u5728\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u53EA\u8BFB\u7A97\u683C\u4E2D\u3002","\u5728\u4E00\u4E2A\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u7A97\u683C\u4E2D\u3002","\u5728\u53EA\u8BFB\u4EE3\u7801\u7F16\u8F91\u5668\u4E2D","\u5728\u4EE3\u7801\u7F16\u8F91\u5668\u4E2D","\u82E5\u8981\u914D\u7F6E\u7F16\u8F91\u5668\uFF0C\u5C06\u5176\u8FDB\u884C\u4F18\u5316\u4EE5\u6700\u597D\u5730\u914D\u5408\u5C4F\u5E55\u9605\u8BFB\u5668\u7684\u4F7F\u7528\uFF0C\u8BF7\u7ACB\u5373\u6309 Command+E\u3002","\u82E5\u8981\u914D\u7F6E\u7F16\u8F91\u5668\uFF0C\u5C06\u5176\u8FDB\u884C\u4F18\u5316\u4EE5\u6700\u9AD8\u6548\u5730\u914D\u5408\u5C4F\u5E55\u9605\u8BFB\u5668\u7684\u4F7F\u7528\uFF0C\u6309\u4E0B Ctrl+E\u3002","\u914D\u7F6E\u7F16\u8F91\u5668\uFF0C\u5C06\u5176\u8FDB\u884C\u4F18\u5316\u4EE5\u6700\u597D\u5730\u914D\u5408\u5C4F\u5E55\u8BFB\u53D6\u5668\u7684\u4F7F\u7528\u3002","\u7F16\u8F91\u5668\u88AB\u914D\u7F6E\u4E3A\u6C38\u8FDC\u4E0D\u8FDB\u884C\u4F18\u5316\u4EE5\u914D\u5408\u5C4F\u5E55\u8BFB\u53D6\u5668\u7684\u4F7F\u7528, \u800C\u5F53\u524D\u4E0D\u662F\u8FD9\u79CD\u60C5\u51B5\u3002","\u5728\u5F53\u524D\u7F16\u8F91\u5668\u4E2D\u6309 Tab \u4F1A\u5C06\u7126\u70B9\u79FB\u52A8\u5230\u4E0B\u4E00\u4E2A\u53EF\u805A\u7126\u7684\u5143\u7D20\u3002\u901A\u8FC7\u6309 {0} \u5207\u6362\u6B64\u884C\u4E3A\u3002","\u5728\u5F53\u524D\u7F16\u8F91\u5668\u4E2D\u6309 Tab \u4F1A\u5C06\u7126\u70B9\u79FB\u52A8\u5230\u4E0B\u4E00\u4E2A\u53EF\u805A\u7126\u7684\u5143\u7D20\u3002\u5F53\u524D\u65E0\u6CD5\u901A\u8FC7\u6309\u952E\u7ED1\u5B9A\u89E6\u53D1\u547D\u4EE4 {0}\u3002","\u5728\u5F53\u524D\u7F16\u8F91\u5668\u4E2D\u6309 Tab \u5C06\u63D2\u5165\u5236\u8868\u7B26\u3002\u901A\u8FC7\u6309 {0} \u5207\u6362\u6B64\u884C\u4E3A\u3002","\u5728\u5F53\u524D\u7F16\u8F91\u5668\u4E2D\u6309 Tab \u4F1A\u63D2\u5165\u5236\u8868\u7B26\u3002\u5F53\u524D\u65E0\u6CD5\u901A\u8FC7\u952E\u7ED1\u5B9A\u89E6\u53D1\u547D\u4EE4 {0}\u3002","\u73B0\u5728\u6309 Command+H \u6253\u5F00\u4E00\u4E2A\u6D4F\u89C8\u5668\u7A97\u53E3, \u5176\u4E2D\u5305\u542B\u6709\u5173\u7F16\u8F91\u5668\u8F85\u52A9\u529F\u80FD\u7684\u8BE6\u7EC6\u4FE1\u606F\u3002","\u73B0\u5728\u6309 Ctrl+H \u6253\u5F00\u4E00\u4E2A\u6D4F\u89C8\u5668\u7A97\u53E3, \u5176\u4E2D\u5305\u542B\u6709\u5173\u7F16\u8F91\u5668\u8F85\u52A9\u529F\u80FD\u7684\u66F4\u591A\u4FE1\u606F\u3002","\u4F60\u53EF\u4EE5\u6309 Esc \u6216 Shift+Esc \u6D88\u9664\u6B64\u5DE5\u5177\u63D0\u793A\u5E76\u8FD4\u56DE\u5230\u7F16\u8F91\u5668\u3002","\u663E\u793A\u8F85\u52A9\u529F\u80FD\u5E2E\u52A9","\u5F00\u53D1\u4EBA\u5458: \u68C0\u67E5\u4EE4\u724C","\u8F6C\u5230\u884C/\u5217...","\u663E\u793A\u6240\u6709\u5FEB\u901F\u8BBF\u95EE\u63D0\u4F9B\u7A0B\u5E8F","\u547D\u4EE4\u9762\u677F","\u663E\u793A\u5E76\u8FD0\u884C\u547D\u4EE4","\u8F6C\u5230\u7B26\u53F7...","\u6309\u7C7B\u522B\u8F6C\u5230\u7B26\u53F7...","\u7F16\u8F91\u5668\u5185\u5BB9","\u6309 Alt+F1 \u53EF\u6253\u5F00\u8F85\u52A9\u529F\u80FD\u9009\u9879\u3002","\u5207\u6362\u9AD8\u5BF9\u6BD4\u5EA6\u4E3B\u9898","\u5728 {1} \u4E2A\u6587\u4EF6\u4E2D\u8FDB\u884C\u4E86 {0} \u6B21\u7F16\u8F91"],"vs/editor/common/view/editorColorRegistry":["\u5149\u6807\u6240\u5728\u884C\u9AD8\u4EAE\u5185\u5BB9\u7684\u80CC\u666F\u989C\u8272\u3002","\u5149\u6807\u6240\u5728\u884C\u56DB\u5468\u8FB9\u6846\u7684\u80CC\u666F\u989C\u8272\u3002","\u80CC\u666F\u989C\u8272\u7684\u9AD8\u4EAE\u8303\u56F4\uFF0C\u559C\u6B22\u901A\u8FC7\u5FEB\u901F\u6253\u5F00\u548C\u67E5\u627E\u529F\u80FD\u3002\u989C\u8272\u4E0D\u80FD\u4E0D\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u5E95\u5C42\u88C5\u9970\u3002","\u9AD8\u4EAE\u533A\u57DF\u8FB9\u6846\u7684\u80CC\u666F\u989C\u8272\u3002","\u9AD8\u4EAE\u663E\u793A\u7B26\u53F7\u7684\u80CC\u666F\u989C\u8272\uFF0C\u4F8B\u5982\u8F6C\u5230\u5B9A\u4E49\u6216\u8F6C\u5230\u4E0B\u4E00\u4E2A/\u4E0A\u4E00\u4E2A\u7B26\u53F7\u3002\u989C\u8272\u4E0D\u80FD\u662F\u4E0D\u900F\u660E\u7684\uFF0C\u4EE5\u514D\u9690\u85CF\u5E95\u5C42\u88C5\u9970\u3002","\u9AD8\u4EAE\u663E\u793A\u7B26\u53F7\u5468\u56F4\u7684\u8FB9\u6846\u7684\u80CC\u666F\u989C\u8272\u3002","\u7F16\u8F91\u5668\u5149\u6807\u989C\u8272\u3002","\u7F16\u8F91\u5668\u5149\u6807\u7684\u80CC\u666F\u8272\u3002\u53EF\u4EE5\u81EA\u5B9A\u4E49\u5757\u578B\u5149\u6807\u8986\u76D6\u5B57\u7B26\u7684\u989C\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u7A7A\u767D\u5B57\u7B26\u7684\u989C\u8272\u3002","\u7F16\u8F91\u5668\u7F29\u8FDB\u53C2\u8003\u7EBF\u7684\u989C\u8272\u3002","\u7F16\u8F91\u5668\u6D3B\u52A8\u7F29\u8FDB\u53C2\u8003\u7EBF\u7684\u989C\u8272\u3002","\u7F16\u8F91\u5668\u884C\u53F7\u7684\u989C\u8272\u3002","\u7F16\u8F91\u5668\u6D3B\u52A8\u884C\u53F7\u7684\u989C\u8272",'"Id" \u5DF2\u88AB\u5F03\u7528\uFF0C\u8BF7\u6539\u7528 "editorLineNumber.activeForeground"\u3002',"\u7F16\u8F91\u5668\u6D3B\u52A8\u884C\u53F7\u7684\u989C\u8272","\u7F16\u8F91\u5668\u6807\u5C3A\u7684\u989C\u8272\u3002","\u7F16\u8F91\u5668 CodeLens \u7684\u524D\u666F\u8272","\u5339\u914D\u62EC\u53F7\u7684\u80CC\u666F\u8272","\u5339\u914D\u62EC\u53F7\u5916\u6846\u7684\u989C\u8272","\u6982\u89C8\u6807\u5C3A\u8FB9\u6846\u7684\u989C\u8272\u3002","\u7F16\u8F91\u5668\u6982\u8FF0\u6807\u5C3A\u7684\u80CC\u666F\u8272\u3002\u4EC5\u5F53\u7F29\u7565\u56FE\u5DF2\u542F\u7528\u4E14\u7F6E\u4E8E\u7F16\u8F91\u5668\u53F3\u4FA7\u65F6\u624D\u4F7F\u7528\u3002","\u7F16\u8F91\u5668\u5BFC\u822A\u7EBF\u7684\u80CC\u666F\u8272\u3002\u5BFC\u822A\u7EBF\u5305\u62EC\u8FB9\u7F18\u7B26\u53F7\u548C\u884C\u53F7\u3002","\u7F16\u8F91\u5668\u4E2D\u4E0D\u5FC5\u8981(\u672A\u4F7F\u7528)\u7684\u6E90\u4EE3\u7801\u7684\u8FB9\u6846\u989C\u8272\u3002",'\u975E\u5FC5\u987B(\u672A\u4F7F\u7528)\u4EE3\u7801\u7684\u5728\u7F16\u8F91\u5668\u4E2D\u663E\u793A\u7684\u4E0D\u900F\u660E\u5EA6\u3002\u4F8B\u5982\uFF0C"#000000c0" \u5C06\u4EE5 75% \u7684\u4E0D\u900F\u660E\u5EA6\u663E\u793A\u4EE3\u7801\u3002\u5BF9\u4E8E\u9AD8\u5BF9\u6BD4\u5EA6\u4E3B\u9898\uFF0C\u8BF7\u4F7F\u7528 \u201DeditorUnnecessaryCode.border\u201C \u4E3B\u9898\u6765\u4E3A\u975E\u5FC5\u987B\u4EE3\u7801\u6DFB\u52A0\u4E0B\u5212\u7EBF\uFF0C\u4EE5\u907F\u514D\u989C\u8272\u6DE1\u5316\u3002',"\u7528\u4E8E\u7A81\u51FA\u663E\u793A\u8303\u56F4\u7684\u6982\u8FF0\u6807\u5C3A\u6807\u8BB0\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u6982\u89C8\u6807\u5C3A\u4E2D\u9519\u8BEF\u6807\u8BB0\u7684\u989C\u8272\u3002","\u6982\u89C8\u6807\u5C3A\u4E2D\u8B66\u544A\u6807\u8BB0\u7684\u989C\u8272\u3002","\u6982\u89C8\u6807\u5C3A\u4E2D\u4FE1\u606F\u6807\u8BB0\u7684\u989C\u8272\u3002"],"vs/editor/contrib/anchorSelect/anchorSelect":["\u9009\u62E9\u5B9A\u4F4D\u70B9","\u5B9A\u4F4D\u70B9\u8BBE\u7F6E\u4E3A {0}:{1}","\u8BBE\u7F6E\u9009\u62E9\u5B9A\u4F4D\u70B9","\u8F6C\u5230\u9009\u62E9\u5B9A\u4F4D\u70B9","\u9009\u62E9\u4ECE\u5B9A\u4F4D\u70B9\u5230\u5149\u6807","\u53D6\u6D88\u9009\u62E9\u5B9A\u4F4D\u70B9"],"vs/editor/contrib/bracketMatching/bracketMatching":["\u6982\u89C8\u6807\u5C3A\u4E0A\u8868\u793A\u5339\u914D\u62EC\u53F7\u7684\u6807\u8BB0\u989C\u8272\u3002","\u8F6C\u5230\u62EC\u53F7","\u9009\u62E9\u62EC\u53F7\u6240\u6709\u5185\u5BB9","\u8F6C\u5230\u62EC\u53F7(&&B)"],"vs/editor/contrib/caretOperations/caretOperations":["\u5411\u5DE6\u79FB\u52A8\u6240\u9009\u6587\u672C","\u5411\u53F3\u79FB\u52A8\u6240\u9009\u6587\u672C"],"vs/editor/contrib/caretOperations/transpose":["\u8F6C\u7F6E\u5B57\u6BCD"],"vs/editor/contrib/clipboard/clipboard":["\u526A\u5207(&&T)","\u526A\u5207","\u526A\u5207","\u590D\u5236(&&C)","\u590D\u5236","\u590D\u5236","\u7C98\u8D34(&&P)","\u7C98\u8D34","\u7C98\u8D34","\u590D\u5236\u5E76\u7A81\u51FA\u663E\u793A\u8BED\u6CD5"],"vs/editor/contrib/codeAction/codeActionCommands":["\u8981\u8FD0\u884C\u7684\u4EE3\u7801\u64CD\u4F5C\u7684\u79CD\u7C7B\u3002","\u63A7\u5236\u4F55\u65F6\u5E94\u7528\u8FD4\u56DE\u7684\u64CD\u4F5C\u3002","\u59CB\u7EC8\u5E94\u7528\u7B2C\u4E00\u4E2A\u8FD4\u56DE\u7684\u4EE3\u7801\u64CD\u4F5C\u3002","\u5982\u679C\u4EC5\u8FD4\u56DE\u7684\u7B2C\u4E00\u4E2A\u4EE3\u7801\u64CD\u4F5C\uFF0C\u5219\u5E94\u7528\u8BE5\u64CD\u4F5C\u3002","\u4E0D\u8981\u5E94\u7528\u8FD4\u56DE\u7684\u4EE3\u7801\u64CD\u4F5C\u3002","\u5982\u679C\u53EA\u5E94\u8FD4\u56DE\u9996\u9009\u4EE3\u7801\u64CD\u4F5C\uFF0C\u5219\u5E94\u8FD4\u56DE\u63A7\u4EF6\u3002","\u5E94\u7528\u4EE3\u7801\u64CD\u4F5C\u65F6\u53D1\u751F\u672A\u77E5\u9519\u8BEF","\u5FEB\u901F\u4FEE\u590D...","\u6CA1\u6709\u53EF\u7528\u7684\u4EE3\u7801\u64CD\u4F5C",'\u6CA1\u6709\u9002\u7528\u4E8E"{0}"\u7684\u9996\u9009\u4EE3\u7801\u64CD\u4F5C','\u6CA1\u6709\u9002\u7528\u4E8E"{0}"\u7684\u4EE3\u7801\u64CD\u4F5C',"\u6CA1\u6709\u53EF\u7528\u7684\u9996\u9009\u4EE3\u7801\u64CD\u4F5C","\u6CA1\u6709\u53EF\u7528\u7684\u4EE3\u7801\u64CD\u4F5C","\u91CD\u6784...",'\u6CA1\u6709\u9002\u7528\u4E8E"{0}"\u7684\u9996\u9009\u91CD\u6784','\u6CA1\u6709\u53EF\u7528\u7684"{0}"\u91CD\u6784',"\u6CA1\u6709\u53EF\u7528\u7684\u9996\u9009\u91CD\u6784","\u6CA1\u6709\u53EF\u7528\u7684\u91CD\u6784\u64CD\u4F5C","\u6E90\u4EE3\u7801\u64CD\u4F5C...",'\u6CA1\u6709\u9002\u7528\u4E8E"{0}"\u7684\u9996\u9009\u6E90\u64CD\u4F5C',"\u6CA1\u6709\u9002\u7528\u4E8E\u201C {0}\u201D\u7684\u6E90\u64CD\u4F5C","\u6CA1\u6709\u53EF\u7528\u7684\u9996\u9009\u6E90\u64CD\u4F5C","\u6CA1\u6709\u53EF\u7528\u7684\u6E90\u4EE3\u7801\u64CD\u4F5C","\u6574\u7406 import \u8BED\u53E5","\u6CA1\u6709\u53EF\u7528\u7684\u6574\u7406 import \u8BED\u53E5\u64CD\u4F5C","\u5168\u90E8\u4FEE\u590D","\u6CA1\u6709\u53EF\u7528\u7684\u201C\u5168\u90E8\u4FEE\u590D\u201D\u64CD\u4F5C","\u81EA\u52A8\u4FEE\u590D...","\u6CA1\u6709\u53EF\u7528\u7684\u81EA\u52A8\u4FEE\u590D\u7A0B\u5E8F"],"vs/editor/contrib/codeAction/lightBulbWidget":["\u663E\u793A\u4FEE\u590D\u7A0B\u5E8F\u3002\u9996\u9009\u53EF\u7528\u4FEE\u590D\u7A0B\u5E8F ({0})","\u663E\u793A\u4FEE\u8865\u7A0B\u5E8F({0})","\u663E\u793A\u4FEE\u8865\u7A0B\u5E8F"],"vs/editor/contrib/codelens/codelensController":["\u663E\u793A\u5F53\u524D\u884C\u7684 Code Lens \u547D\u4EE4"],"vs/editor/contrib/comment/comment":["\u5207\u6362\u884C\u6CE8\u91CA","\u5207\u6362\u884C\u6CE8\u91CA(&&T)","\u6DFB\u52A0\u884C\u6CE8\u91CA","\u5220\u9664\u884C\u6CE8\u91CA","\u5207\u6362\u5757\u6CE8\u91CA","\u5207\u6362\u5757\u6CE8\u91CA(&&B)"],"vs/editor/contrib/contextmenu/contextmenu":["\u663E\u793A\u7F16\u8F91\u5668\u4E0A\u4E0B\u6587\u83DC\u5355"],"vs/editor/contrib/cursorUndo/cursorUndo":["\u5149\u6807\u64A4\u6D88","\u5149\u6807\u91CD\u505A"],"vs/editor/contrib/find/findController":["\u67E5\u627E","\u67E5\u627E(&&F)","\u67E5\u627E\u9009\u5B9A\u5185\u5BB9","\u67E5\u627E\u4E0B\u4E00\u4E2A","\u67E5\u627E\u4E0B\u4E00\u4E2A","\u67E5\u627E\u4E0A\u4E00\u4E2A","\u67E5\u627E\u4E0A\u4E00\u4E2A","\u67E5\u627E\u4E0B\u4E00\u4E2A\u9009\u62E9","\u67E5\u627E\u4E0A\u4E00\u4E2A\u9009\u62E9","\u66FF\u6362","\u66FF\u6362(&&R)"],"vs/editor/contrib/find/findWidget":["\u7F16\u8F91\u5668\u67E5\u627E\u5C0F\u7EC4\u4EF6\u4E2D\u7684\u201C\u5728\u9009\u5B9A\u5185\u5BB9\u4E2D\u67E5\u627E\u201D\u56FE\u6807\u3002","\u7528\u4E8E\u6307\u793A\u7F16\u8F91\u5668\u67E5\u627E\u5C0F\u7EC4\u4EF6\u5DF2\u6298\u53E0\u7684\u56FE\u6807\u3002","\u7528\u4E8E\u6307\u793A\u7F16\u8F91\u5668\u67E5\u627E\u5C0F\u7EC4\u4EF6\u5DF2\u5C55\u5F00\u7684\u56FE\u6807\u3002","\u7F16\u8F91\u5668\u67E5\u627E\u5C0F\u7EC4\u4EF6\u4E2D\u7684\u201C\u66FF\u6362\u201D\u56FE\u6807\u3002","\u7F16\u8F91\u5668\u67E5\u627E\u5C0F\u7EC4\u4EF6\u4E2D\u7684\u201C\u5168\u90E8\u66FF\u6362\u201D\u56FE\u6807\u3002","\u7F16\u8F91\u5668\u67E5\u627E\u5C0F\u7EC4\u4EF6\u4E2D\u7684\u201C\u67E5\u627E\u4E0A\u4E00\u4E2A\u201D\u56FE\u6807\u3002","\u7F16\u8F91\u5668\u67E5\u627E\u5C0F\u7EC4\u4EF6\u4E2D\u7684\u201C\u67E5\u627E\u4E0B\u4E00\u4E2A\u201D\u56FE\u6807\u3002","\u67E5\u627E","\u67E5\u627E","\u4E0A\u4E00\u4E2A\u5339\u914D\u9879","\u4E0B\u4E00\u4E2A\u5339\u914D\u9879","\u5728\u9009\u5B9A\u5185\u5BB9\u4E2D\u67E5\u627E","\u5173\u95ED","\u66FF\u6362","\u66FF\u6362","\u66FF\u6362","\u5168\u90E8\u66FF\u6362","\u5207\u6362\u66FF\u6362\u6A21\u5F0F","\u4EC5\u9AD8\u4EAE\u4E86\u524D {0} \u4E2A\u7ED3\u679C\uFF0C\u4F46\u6240\u6709\u67E5\u627E\u64CD\u4F5C\u5747\u9488\u5BF9\u5168\u6587\u3002","{1} \u4E2D\u7684 {0}","\u65E0\u7ED3\u679C","\u627E\u5230 {0}","\u4E3A\u201C{1}\u201D\u627E\u5230 {0}","\u5728 {2} \u5904\u627E\u5230\u201C{1}\u201D\u7684 {0}","\u4E3A\u201C{1}\u201D\u627E\u5230 {0}","Ctrl+Enter \u73B0\u5728\u7531\u5168\u90E8\u66FF\u6362\u6539\u4E3A\u63D2\u5165\u6362\u884C\u3002\u4F60\u53EF\u4EE5\u4FEE\u6539editor.action.replaceAll \u7684\u6309\u952E\u7ED1\u5B9A\u4EE5\u8986\u76D6\u6B64\u884C\u4E3A\u3002"],"vs/editor/contrib/folding/folding":["\u5C55\u5F00","\u4EE5\u9012\u5F52\u65B9\u5F0F\u5C55\u5F00","\u6298\u53E0","\u5207\u6362\u6298\u53E0","\u4EE5\u9012\u5F52\u65B9\u5F0F\u6298\u53E0","\u6298\u53E0\u6240\u6709\u5757\u6CE8\u91CA","\u6298\u53E0\u6240\u6709\u533A\u57DF","\u5C55\u5F00\u6240\u6709\u533A\u57DF","\u5168\u90E8\u6298\u53E0","\u5168\u90E8\u5C55\u5F00","\u6298\u53E0\u7EA7\u522B {0}","\u6298\u53E0\u8303\u56F4\u540E\u9762\u7684\u80CC\u666F\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u8BBE\u4E3A\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u5E95\u5C42\u88C5\u9970\u3002","\u7F16\u8F91\u5668\u88C5\u8BA2\u7EBF\u4E2D\u6298\u53E0\u63A7\u4EF6\u7684\u989C\u8272\u3002"],"vs/editor/contrib/folding/foldingDecorations":["\u7F16\u8F91\u5668\u5B57\u5F62\u8FB9\u8DDD\u4E2D\u5DF2\u5C55\u5F00\u7684\u8303\u56F4\u7684\u56FE\u6807\u3002","\u7F16\u8F91\u5668\u5B57\u5F62\u8FB9\u8DDD\u4E2D\u5DF2\u6298\u53E0\u7684\u8303\u56F4\u7684\u56FE\u6807\u3002"],"vs/editor/contrib/fontZoom/fontZoom":["\u653E\u5927\u7F16\u8F91\u5668\u5B57\u4F53","\u7F29\u5C0F\u7F16\u8F91\u5668\u5B57\u4F53","\u91CD\u7F6E\u7F16\u8F91\u5668\u5B57\u4F53\u5927\u5C0F"],"vs/editor/contrib/format/format":["\u5728\u7B2C {0} \u884C\u8FDB\u884C\u4E86 1 \u6B21\u683C\u5F0F\u7F16\u8F91","\u5728\u7B2C {1} \u884C\u8FDB\u884C\u4E86 {0} \u6B21\u683C\u5F0F\u7F16\u8F91","\u7B2C {0} \u884C\u5230\u7B2C {1} \u884C\u95F4\u8FDB\u884C\u4E86 1 \u6B21\u683C\u5F0F\u7F16\u8F91","\u7B2C {1} \u884C\u5230\u7B2C {2} \u884C\u95F4\u8FDB\u884C\u4E86 {0} \u6B21\u683C\u5F0F\u7F16\u8F91"],"vs/editor/contrib/format/formatActions":["\u683C\u5F0F\u5316\u6587\u6863","\u683C\u5F0F\u5316\u9009\u5B9A\u5185\u5BB9"],"vs/editor/contrib/gotoError/gotoError":["\u8F6C\u5230\u4E0B\u4E00\u4E2A\u95EE\u9898 (\u9519\u8BEF\u3001\u8B66\u544A\u3001\u4FE1\u606F)","\u201C\u8F6C\u5230\u4E0B\u4E00\u4E2A\u201D\u6807\u8BB0\u7684\u56FE\u6807\u3002","\u8F6C\u5230\u4E0A\u4E00\u4E2A\u95EE\u9898 (\u9519\u8BEF\u3001\u8B66\u544A\u3001\u4FE1\u606F)","\u201C\u8F6C\u5230\u4E0A\u4E00\u4E2A\u201D\u6807\u8BB0\u7684\u56FE\u6807\u3002","\u8F6C\u5230\u6587\u4EF6\u4E2D\u7684\u4E0B\u4E00\u4E2A\u95EE\u9898 (\u9519\u8BEF\u3001\u8B66\u544A\u3001\u4FE1\u606F)","\u4E0B\u4E00\u4E2A\u95EE\u9898(&&P)","\u8F6C\u5230\u6587\u4EF6\u4E2D\u7684\u4E0A\u4E00\u4E2A\u95EE\u9898 (\u9519\u8BEF\u3001\u8B66\u544A\u3001\u4FE1\u606F)","\u4E0A\u4E00\u4E2A\u95EE\u9898(&&P)"],"vs/editor/contrib/gotoError/gotoErrorWidget":["\u9519\u8BEF","\u8B66\u544A","\u4FE1\u606F","\u63D0\u793A","{1} \u4E2D\u7684 {0}","{0} \u4E2A\u95EE\u9898(\u5171 {1} \u4E2A)","{0} \u4E2A\u95EE\u9898(\u5171 {1} \u4E2A)","\u7F16\u8F91\u5668\u6807\u8BB0\u5BFC\u822A\u5C0F\u7EC4\u4EF6\u9519\u8BEF\u989C\u8272\u3002","\u7F16\u8F91\u5668\u6807\u8BB0\u5BFC\u822A\u5C0F\u7EC4\u4EF6\u8B66\u544A\u989C\u8272\u3002","\u7F16\u8F91\u5668\u6807\u8BB0\u5BFC\u822A\u5C0F\u7EC4\u4EF6\u4FE1\u606F\u989C\u8272\u3002","\u7F16\u8F91\u5668\u6807\u8BB0\u5BFC\u822A\u5C0F\u7EC4\u4EF6\u80CC\u666F\u8272\u3002"],"vs/editor/contrib/gotoSymbol/goToCommands":["\u5FEB\u901F\u67E5\u770B","\u5B9A\u4E49","\u672A\u627E\u5230\u201C{0}\u201D\u7684\u4EFB\u4F55\u5B9A\u4E49","\u627E\u4E0D\u5230\u5B9A\u4E49","\u8F6C\u5230\u5B9A\u4E49","\u8F6C\u5230\u5B9A\u4E49(&&D)","\u6253\u5F00\u4FA7\u8FB9\u7684\u5B9A\u4E49","\u901F\u89C8\u5B9A\u4E49","\u58F0\u660E","\u672A\u627E\u5230\u201C{0}\u201D\u7684\u58F0\u660E","\u672A\u627E\u5230\u58F0\u660E","\u8F6C\u5230\u58F0\u660E",'\u8F6C\u5230"\u58F0\u660E"(&&D)',"\u672A\u627E\u5230\u201C{0}\u201D\u7684\u58F0\u660E","\u672A\u627E\u5230\u58F0\u660E","\u67E5\u770B\u58F0\u660E","\u7C7B\u578B\u5B9A\u4E49","\u672A\u627E\u5230\u201C{0}\u201D\u7684\u7C7B\u578B\u5B9A\u4E49","\u672A\u627E\u5230\u7C7B\u578B\u5B9A\u4E49","\u8F6C\u5230\u7C7B\u578B\u5B9A\u4E49","\u8F6C\u5230\u7C7B\u578B\u5B9A\u4E49(&&T)","\u5FEB\u901F\u67E5\u770B\u7C7B\u578B\u5B9A\u4E49","\u5B9E\u73B0","\u672A\u627E\u5230\u201C{0}\u201D\u7684\u5B9E\u73B0","\u672A\u627E\u5230\u5B9E\u73B0","\u8F6C\u5230\u5B9E\u73B0","\u8DF3\u8F6C\u5230\u5B9E\u73B0(&&I)","\u67E5\u770B\u5B9E\u73B0",'\u672A\u627E\u5230"{0}"\u7684\u5F15\u7528',"\u672A\u627E\u5230\u5F15\u7528","\u8F6C\u5230\u5F15\u7528","\u8F6C\u5230\u5F15\u7528(&&R)","\u5F15\u7528","\u67E5\u770B\u5F15\u7528","\u5F15\u7528","\u8F6C\u5230\u4EFB\u4F55\u7B26\u53F7","\u4F4D\u7F6E","\u65E0\u201C{0}\u201D\u7684\u7ED3\u679C","\u5F15\u7528"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["\u5355\u51FB\u663E\u793A {0} \u4E2A\u5B9A\u4E49\u3002"],"vs/editor/contrib/gotoSymbol/peek/referencesController":["\u6B63\u5728\u52A0\u8F7D...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["{0} \u4E2A\u5F15\u7528","{0} \u4E2A\u5F15\u7528","\u5F15\u7528"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["\u65E0\u53EF\u7528\u9884\u89C8","\u65E0\u7ED3\u679C","\u5F15\u7528"],"vs/editor/contrib/gotoSymbol/referencesModel":["\u5728\u6587\u4EF6 {0} \u7684 {1} \u884C {2} \u5217\u7684\u7B26\u53F7","{0} \u4E2D {1} \u884C {2} \u5217\u7684\u7B26\u53F7\uFF0C{3}","{0} \u4E2D\u6709 1 \u4E2A\u7B26\u53F7\uFF0C\u5B8C\u6574\u8DEF\u5F84: {1}","{1} \u4E2D\u6709 {0} \u4E2A\u7B26\u53F7\uFF0C\u5B8C\u6574\u8DEF\u5F84: {2}","\u672A\u627E\u5230\u7ED3\u679C","\u5728 {0} \u4E2D\u627E\u5230 1 \u4E2A\u7B26\u53F7","\u5728 {1} \u4E2D\u627E\u5230 {0} \u4E2A\u7B26\u53F7","\u5728 {1} \u4E2A\u6587\u4EF6\u4E2D\u627E\u5230 {0} \u4E2A\u7B26\u53F7"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["{1} \u7684\u7B26\u53F7 {0}\uFF0C\u4E0B\u4E00\u4E2A\u4F7F\u7528 {2}","{1} \u7684\u7B26\u53F7 {0}"],"vs/editor/contrib/hover/hover":["\u663E\u793A\u60AC\u505C","\u663E\u793A\u5B9A\u4E49\u9884\u89C8\u60AC\u505C"],"vs/editor/contrib/hover/markdownHoverParticipant":["\u6B63\u5728\u52A0\u8F7D..."],"vs/editor/contrib/hover/markerHoverParticipant":["View Problem","\u6CA1\u6709\u53EF\u7528\u7684\u5FEB\u901F\u4FEE\u590D","\u6B63\u5728\u68C0\u67E5\u5FEB\u901F\u4FEE\u590D...","\u6CA1\u6709\u53EF\u7528\u7684\u5FEB\u901F\u4FEE\u590D","\u5FEB\u901F\u4FEE\u590D..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["\u66FF\u6362\u4E3A\u4E0A\u4E00\u4E2A\u503C","\u66FF\u6362\u4E3A\u4E0B\u4E00\u4E2A\u503C"],"vs/editor/contrib/indentation/indentation":["\u5C06\u7F29\u8FDB\u8F6C\u6362\u4E3A\u7A7A\u683C","\u5C06\u7F29\u8FDB\u8F6C\u6362\u4E3A\u5236\u8868\u7B26","\u5DF2\u914D\u7F6E\u5236\u8868\u7B26\u5927\u5C0F","\u9009\u62E9\u5F53\u524D\u6587\u4EF6\u7684\u5236\u8868\u7B26\u5927\u5C0F",'\u4F7F\u7528 "Tab" \u7F29\u8FDB',"\u4F7F\u7528\u7A7A\u683C\u7F29\u8FDB","\u4ECE\u5185\u5BB9\u4E2D\u68C0\u6D4B\u7F29\u8FDB\u65B9\u5F0F","\u91CD\u65B0\u7F29\u8FDB\u884C","\u91CD\u65B0\u7F29\u8FDB\u6240\u9009\u884C"],"vs/editor/contrib/linesOperations/linesOperations":["\u5411\u4E0A\u590D\u5236\u884C","\u5411\u4E0A\u590D\u5236\u884C(&&C)","\u5411\u4E0B\u590D\u5236\u884C","\u5411\u4E0B\u590D\u5236\u4E00\u884C(&&P)","\u91CD\u590D\u9009\u62E9","\u91CD\u590D\u9009\u62E9(&&D)","\u5411\u4E0A\u79FB\u52A8\u884C","\u5411\u4E0A\u79FB\u52A8\u4E00\u884C(&&V)","\u5411\u4E0B\u79FB\u52A8\u884C","\u5411\u4E0B\u79FB\u52A8\u4E00\u884C(&&L)","\u6309\u5347\u5E8F\u6392\u5217\u884C","\u6309\u964D\u5E8F\u6392\u5217\u884C","\u88C1\u526A\u5C3E\u968F\u7A7A\u683C","\u5220\u9664\u884C","\u884C\u7F29\u8FDB","\u884C\u51CF\u5C11\u7F29\u8FDB","\u5728\u4E0A\u9762\u63D2\u5165\u884C","\u5728\u4E0B\u9762\u63D2\u5165\u884C","\u5220\u9664\u5DE6\u4FA7\u6240\u6709\u5185\u5BB9","\u5220\u9664\u53F3\u4FA7\u6240\u6709\u5185\u5BB9","\u5408\u5E76\u884C","\u8F6C\u7F6E\u5149\u6807\u5904\u7684\u5B57\u7B26","\u8F6C\u6362\u4E3A\u5927\u5199","\u8F6C\u6362\u4E3A\u5C0F\u5199","\u8F6C\u6362\u4E3A\u8BCD\u9996\u5B57\u6BCD\u5927\u5199","\u8F6C\u6362\u4E3A\u86C7\u5F62\u547D\u540D\u6CD5"],"vs/editor/contrib/linkedEditing/linkedEditing":["\u542F\u52A8\u94FE\u63A5\u7F16\u8F91","\u7F16\u8F91\u5668\u6839\u636E\u7C7B\u578B\u81EA\u52A8\u91CD\u547D\u540D\u65F6\u7684\u80CC\u666F\u8272\u3002"],"vs/editor/contrib/links/links":["\u6267\u884C\u547D\u4EE4","\u5173\u6CE8\u94FE\u63A5","cmd + \u5355\u51FB","ctrl + \u5355\u51FB","option + \u5355\u51FB","alt + \u5355\u51FB","\u6267\u884C\u547D\u4EE4 {0}","\u6B64\u94FE\u63A5\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u65E0\u6CD5\u6253\u5F00: {0}","\u6B64\u94FE\u63A5\u76EE\u6807\u5DF2\u4E22\u5931\uFF0C\u65E0\u6CD5\u6253\u5F00\u3002","\u6253\u5F00\u94FE\u63A5"],"vs/editor/contrib/message/messageController":["Whether the editor is currently showing an inline message","\u65E0\u6CD5\u5728\u53EA\u8BFB\u7F16\u8F91\u5668\u4E2D\u7F16\u8F91"],"vs/editor/contrib/multicursor/multicursor":["\u5728\u4E0A\u9762\u6DFB\u52A0\u5149\u6807","\u5728\u4E0A\u9762\u6DFB\u52A0\u5149\u6807(&&A)","\u5728\u4E0B\u9762\u6DFB\u52A0\u5149\u6807","\u5728\u4E0B\u9762\u6DFB\u52A0\u5149\u6807(&&D)","\u5728\u884C\u5C3E\u6DFB\u52A0\u5149\u6807","\u5728\u884C\u5C3E\u6DFB\u52A0\u5149\u6807(&&U)","\u5728\u5E95\u90E8\u6DFB\u52A0\u5149\u6807","\u5728\u9876\u90E8\u6DFB\u52A0\u5149\u6807","\u5C06\u4E0B\u4E00\u4E2A\u67E5\u627E\u5339\u914D\u9879\u6DFB\u52A0\u5230\u9009\u62E9","\u6DFB\u52A0\u4E0B\u4E00\u4E2A\u5339\u914D\u9879(&&N)","\u5C06\u9009\u62E9\u5185\u5BB9\u6DFB\u52A0\u5230\u4E0A\u4E00\u67E5\u627E\u5339\u914D\u9879","\u6DFB\u52A0\u4E0A\u4E00\u4E2A\u5339\u914D\u9879(&&R)","\u5C06\u4E0A\u6B21\u9009\u62E9\u79FB\u52A8\u5230\u4E0B\u4E00\u4E2A\u67E5\u627E\u5339\u914D\u9879","\u5C06\u4E0A\u4E2A\u9009\u62E9\u5185\u5BB9\u79FB\u52A8\u5230\u4E0A\u4E00\u67E5\u627E\u5339\u914D\u9879","\u9009\u62E9\u6240\u6709\u627E\u5230\u7684\u67E5\u627E\u5339\u914D\u9879","\u9009\u62E9\u6240\u6709\u5339\u914D\u9879(&&O)","\u66F4\u6539\u6240\u6709\u5339\u914D\u9879"],"vs/editor/contrib/parameterHints/parameterHints":["\u89E6\u53D1\u53C2\u6570\u63D0\u793A"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["\u201C\u663E\u793A\u4E0B\u4E00\u4E2A\u53C2\u6570\u201D\u63D0\u793A\u7684\u56FE\u6807\u3002","\u201C\u663E\u793A\u4E0A\u4E00\u4E2A\u53C2\u6570\u201D\u63D0\u793A\u7684\u56FE\u6807\u3002","{0}\uFF0C\u63D0\u793A"],"vs/editor/contrib/peekView/peekView":["\u5173\u95ED","\u901F\u89C8\u89C6\u56FE\u6807\u9898\u533A\u57DF\u80CC\u666F\u989C\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u6807\u9898\u989C\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u6807\u9898\u4FE1\u606F\u989C\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u8FB9\u6846\u548C\u7BAD\u5934\u989C\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u7ED3\u679C\u5217\u8868\u80CC\u666F\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u7ED3\u679C\u5217\u8868\u4E2D\u884C\u8282\u70B9\u7684\u524D\u666F\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u7ED3\u679C\u5217\u8868\u4E2D\u6587\u4EF6\u8282\u70B9\u7684\u524D\u666F\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u7ED3\u679C\u5217\u8868\u4E2D\u6240\u9009\u6761\u76EE\u7684\u80CC\u666F\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u7ED3\u679C\u5217\u8868\u4E2D\u6240\u9009\u6761\u76EE\u7684\u524D\u666F\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u7F16\u8F91\u5668\u80CC\u666F\u8272\u3002","\u901F\u89C8\u89C6\u56FE\u7F16\u8F91\u5668\u4E2D\u88C5\u8BA2\u7EBF\u7684\u80CC\u666F\u8272\u3002","\u5728\u901F\u89C8\u89C6\u56FE\u7ED3\u679C\u5217\u8868\u4E2D\u5339\u914D\u7A81\u51FA\u663E\u793A\u989C\u8272\u3002","\u5728\u901F\u89C8\u89C6\u56FE\u7F16\u8F91\u5668\u4E2D\u5339\u914D\u7A81\u51FA\u663E\u793A\u989C\u8272\u3002","\u5728\u901F\u89C8\u89C6\u56FE\u7F16\u8F91\u5668\u4E2D\u5339\u914D\u9879\u7684\u7A81\u51FA\u663E\u793A\u8FB9\u6846\u3002"],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["\u5148\u6253\u5F00\u6587\u672C\u7F16\u8F91\u5668\u7136\u540E\u8DF3\u8F6C\u5230\u884C\u3002","\u8F6C\u5230\u7B2C {0} \u884C\u3001\u7B2C {1} \u5217\u3002","\u8F6C\u5230\u884C {0}\u3002","\u5F53\u524D\u884C: {0}\uFF0C\u5B57\u7B26: {1}\u3002\u952E\u5165\u8981\u5BFC\u822A\u5230\u7684\u884C\u53F7(\u4ECB\u4E8E 1 \u81F3 {2} \u4E4B\u95F4)\u3002","\u5F53\u524D\u884C: {0}\uFF0C\u5B57\u7B26: {1}\u3002 \u952E\u5165\u8981\u5BFC\u822A\u5230\u7684\u884C\u53F7\u3002"],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["\u8981\u8F6C\u5230\u7B26\u53F7\uFF0C\u9996\u5148\u6253\u5F00\u5177\u6709\u7B26\u53F7\u4FE1\u606F\u7684\u6587\u672C\u7F16\u8F91\u5668\u3002","\u6D3B\u52A8\u6587\u672C\u7F16\u8F91\u5668\u4E0D\u63D0\u4F9B\u7B26\u53F7\u4FE1\u606F\u3002","\u6CA1\u6709\u5339\u914D\u7684\u7F16\u8F91\u5668\u7B26\u53F7","\u6CA1\u6709\u7F16\u8F91\u5668\u7B26\u53F7","\u5728\u4FA7\u8FB9\u6253\u5F00","\u5728\u5E95\u90E8\u6253\u5F00","\u7B26\u53F7({0})","\u5C5E\u6027({0})","\u65B9\u6CD5({0})","\u51FD\u6570({0})","\u6784\u9020\u51FD\u6570 ({0})","\u53D8\u91CF({0})","\u7C7B({0})","\u7ED3\u6784({0})","\u4E8B\u4EF6({0})","\u8FD0\u7B97\u7B26({0})","\u63A5\u53E3({0})","\u547D\u540D\u7A7A\u95F4({0})","\u5305({0})","\u7C7B\u578B\u53C2\u6570({0})","\u6A21\u5757({0})","\u5C5E\u6027({0})","\u679A\u4E3E({0})","\u679A\u4E3E\u6210\u5458({0})","\u5B57\u7B26\u4E32({0})","\u6587\u4EF6({0})","\u6570\u7EC4({0})","\u6570\u5B57({0})","\u5E03\u5C14\u503C({0})","\u5BF9\u8C61({0})","\u952E({0})","\u5B57\u6BB5({0})","\u5E38\u91CF({0})"],"vs/editor/contrib/rename/rename":["\u65E0\u7ED3\u679C\u3002","\u89E3\u6790\u91CD\u547D\u540D\u4F4D\u7F6E\u65F6\u53D1\u751F\u672A\u77E5\u9519\u8BEF","\u6B63\u5728\u91CD\u547D\u540D\u201C{0}\u201D","\u91CD\u547D\u540D {0}","\u6210\u529F\u5C06\u201C{0}\u201D\u91CD\u547D\u540D\u4E3A\u201C{1}\u201D\u3002\u6458\u8981: {2}","\u91CD\u547D\u540D\u65E0\u6CD5\u5E94\u7528\u4FEE\u6539","\u91CD\u547D\u540D\u65E0\u6CD5\u8BA1\u7B97\u4FEE\u6539","\u91CD\u547D\u540D\u7B26\u53F7","\u542F\u7528/\u7981\u7528\u91CD\u547D\u540D\u4E4B\u524D\u9884\u89C8\u66F4\u6539\u7684\u529F\u80FD"],"vs/editor/contrib/rename/renameInputField":['\u91CD\u547D\u540D\u8F93\u5165\u3002\u952E\u5165\u65B0\u540D\u79F0\u5E76\u6309 "Enter" \u63D0\u4EA4\u3002',"\u6309 {0} \u8FDB\u884C\u91CD\u547D\u540D\uFF0C\u6309 {1} \u8FDB\u884C\u9884\u89C8"],"vs/editor/contrib/smartSelect/smartSelect":["\u5C55\u5F00\u9009\u62E9","\u5C55\u5F00\u9009\u5B9A\u5185\u5BB9(&&E)","\u6536\u8D77\u9009\u62E9","\u7F29\u5C0F\u9009\u5B9A\u8303\u56F4(&&S)"],"vs/editor/contrib/snippet/snippetVariables":["\u661F\u671F\u5929","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D","\u5468\u65E5","\u5468\u4E00","\u5468\u4E8C","\u5468\u4E09","\u5468\u56DB","\u5468\u4E94","\u5468\u516D","\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","5\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708","1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11 \u6708","12\u6708"],"vs/editor/contrib/suggest/suggestController":["\u9009\u62E9\u201C{0}\u201D\u540E\u8FDB\u884C\u4E86\u5176\u4ED6 {1} \u6B21\u7F16\u8F91","\u89E6\u53D1\u5EFA\u8BAE","\u63D2\u5165","\u63D2\u5165","\u66FF\u6362","\u66FF\u6362","\u63D2\u5165","\u663E\u793A\u66F4\u5C11","\u663E\u793A\u66F4\u591A","\u91CD\u7F6E\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u5927\u5C0F"],"vs/editor/contrib/suggest/suggestWidget":["\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u7684\u80CC\u666F\u8272\u3002","\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u7684\u8FB9\u6846\u989C\u8272\u3002","\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u7684\u524D\u666F\u8272\u3002","\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u4E2D\u6240\u9009\u6761\u76EE\u7684\u80CC\u666F\u8272\u3002","\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u4E2D\u5339\u914D\u5185\u5BB9\u7684\u9AD8\u4EAE\u989C\u8272\u3002","\u6B63\u5728\u52A0\u8F7D...","\u65E0\u5EFA\u8BAE\u3002","{0}\uFF0C\u6587\u6863: {1}","\u5EFA\u8BAE"],"vs/editor/contrib/suggest/suggestWidgetDetails":["\u5173\u95ED","\u6B63\u5728\u52A0\u8F7D\u2026"],"vs/editor/contrib/suggest/suggestWidgetRenderer":["\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u4E2D\u7684\u8BE6\u7EC6\u4FE1\u606F\u7684\u56FE\u6807\u3002","\u4E86\u89E3\u8BE6\u7EC6\u4FE1\u606F"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["\u6570\u7EC4\u7B26\u53F7\u7684\u524D\u666F\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u5C06\u663E\u793A\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u4E2D\u3002","\u5E03\u5C14\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u7C7B\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u989C\u8272\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u5E38\u91CF\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u6784\u9020\u51FD\u6570\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u679A\u4E3E\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u679A\u4E3E\u5668\u6210\u5458\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u4E8B\u4EF6\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u5B57\u6BB5\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u6587\u4EF6\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u6587\u4EF6\u5939\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u51FD\u6570\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u63A5\u53E3\u7B26\u53F7\u7684\u524D\u666F\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u5C06\u663E\u793A\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u4E2D\u3002","\u952E\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u5173\u952E\u5B57\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u65B9\u6CD5\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u6A21\u5757\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u547D\u540D\u7A7A\u95F4\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u8F6E\u5ED3\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u7A7A\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u6570\u5B57\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u5BF9\u8C61\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u8FD0\u7B97\u7B26\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u5305\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u5C5E\u6027\u7B26\u53F7\u7684\u524D\u666F\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u4E2D\u3002","\u53C2\u8003\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u7247\u6BB5\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u5B57\u7B26\u4E32\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u8F6E\u5ED3\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u7ED3\u6784\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u6587\u672C\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u7C7B\u578B\u53C2\u6570\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u5355\u4F4D\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002","\u53D8\u91CF\u7B26\u53F7\u7684\u524D\u666F\u989C\u8272\u3002\u8FD9\u4E9B\u7B26\u53F7\u51FA\u73B0\u5728\u5927\u7EB2\u3001\u75D5\u8FF9\u5BFC\u822A\u680F\u548C\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u4E2D\u3002"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["\u5207\u6362 Tab \u952E\u79FB\u52A8\u7126\u70B9","Tab \u952E\u5C06\u79FB\u52A8\u5230\u4E0B\u4E00\u53EF\u805A\u7126\u7684\u5143\u7D20","Tab \u952E\u5C06\u63D2\u5165\u5236\u8868\u7B26"],"vs/editor/contrib/tokenization/tokenization":["\u5F00\u53D1\u4EBA\u5458: \u5F3A\u5236\u91CD\u65B0\u8FDB\u884C\u6807\u8BB0"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["\u5F02\u5E38\u884C\u7EC8\u6B62\u7B26","\u68C0\u6D4B\u5230\u5F02\u5E38\u884C\u7EC8\u6B62\u7B26",`\u6B64\u6587\u4EF6\u5305\u542B\u4E00\u4E2A\u6216\u591A\u4E2A\u5F02\u5E38\u7684\u884C\u7EC8\u6B62\u7B26\uFF0C\u4F8B\u5982\u884C\u5206\u9694\u7B26(LS)\u6216\u6BB5\u843D\u5206\u9694\u7B26(PS)\u3002\r +\r +\u5EFA\u8BAE\u4ECE\u6587\u4EF6\u4E2D\u5220\u9664\u5B83\u4EEC\u3002\u53EF\u901A\u8FC7 "editor.unusualLineTerminators" \u8FDB\u884C\u914D\u7F6E\u3002`,"\u4FEE\u590D\u6B64\u6587\u4EF6","\u5FFD\u7565\u6B64\u6587\u4EF6\u7684\u95EE\u9898"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["\u8BFB\u53D6\u8BBF\u95EE\u671F\u95F4\u7B26\u53F7\u7684\u80CC\u666F\u8272\uFF0C\u4F8B\u5982\u8BFB\u53D6\u53D8\u91CF\u65F6\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u5199\u5165\u8BBF\u95EE\u8FC7\u7A0B\u4E2D\u7B26\u53F7\u7684\u80CC\u666F\u8272\uFF0C\u4F8B\u5982\u5199\u5165\u53D8\u91CF\u65F6\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u7B26\u53F7\u5728\u8FDB\u884C\u8BFB\u53D6\u8BBF\u95EE\u64CD\u4F5C\u65F6\u7684\u8FB9\u6846\u989C\u8272\uFF0C\u4F8B\u5982\u8BFB\u53D6\u53D8\u91CF\u3002","\u7B26\u53F7\u5728\u8FDB\u884C\u5199\u5165\u8BBF\u95EE\u64CD\u4F5C\u65F6\u7684\u8FB9\u6846\u989C\u8272\uFF0C\u4F8B\u5982\u5199\u5165\u53D8\u91CF\u3002","\u7528\u4E8E\u7A81\u51FA\u663E\u793A\u7B26\u53F7\u7684\u6982\u8FF0\u6807\u5C3A\u6807\u8BB0\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u7528\u4E8E\u7A81\u51FA\u663E\u793A\u5199\u6743\u9650\u7B26\u53F7\u7684\u6982\u8FF0\u6807\u5C3A\u6807\u8BB0\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u8F6C\u5230\u4E0B\u4E00\u4E2A\u7A81\u51FA\u663E\u793A\u7684\u7B26\u53F7","\u8F6C\u5230\u4E0A\u4E00\u4E2A\u7A81\u51FA\u663E\u793A\u7684\u7B26\u53F7","\u89E6\u53D1\u7B26\u53F7\u9AD8\u4EAE"],"vs/editor/contrib/wordOperations/wordOperations":["\u5220\u9664 Word"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["\u9ED8\u8BA4\u8BED\u8A00\u914D\u7F6E\u66FF\u4EE3","\u9488\u5BF9\u67D0\u79CD\u8BED\u8A00\uFF0C\u914D\u7F6E\u66FF\u4EE3\u7F16\u8F91\u5668\u8BBE\u7F6E\u3002","\u6B64\u8BBE\u7F6E\u4E0D\u652F\u6301\u6309\u8BED\u8A00\u914D\u7F6E\u3002","\u65E0\u6CD5\u6CE8\u518C\u7A7A\u5C5E\u6027",'\u65E0\u6CD5\u6CE8\u518C\u201C{0}\u201D\u3002\u5176\u7B26\u5408\u63CF\u8FF0\u7279\u5B9A\u8BED\u8A00\u7F16\u8F91\u5668\u8BBE\u7F6E\u7684\u8868\u8FBE\u5F0F "\\\\[.*\\\\]$"\u3002\u8BF7\u4F7F\u7528 "configurationDefaults"\u3002',"\u65E0\u6CD5\u6CE8\u518C\u201C{0}\u201D\u3002\u6B64\u5C5E\u6027\u5DF2\u6CE8\u518C\u3002"],"vs/platform/contextkey/browser/contextKeyService":["A command that returns information about context keys"],"vs/platform/contextkey/common/contextkeys":["Whether the operating system is Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["({0})\u5DF2\u6309\u4E0B\u3002\u6B63\u5728\u7B49\u5F85\u6309\u4E0B\u7B2C\u4E8C\u4E2A\u952E...","\u7EC4\u5408\u952E({0}\uFF0C{1})\u4E0D\u662F\u547D\u4EE4\u3002"],"vs/platform/list/browser/listService":["\u5DE5\u4F5C\u53F0","\u6620\u5C04\u4E3A `Ctrl` (Windows \u548C Linux) \u6216 `Command` (macOS)\u3002","\u6620\u5C04\u4E3A `Alt` (Windows \u548C Linux) \u6216 `Option` (macOS)\u3002","\u5728\u901A\u8FC7\u9F20\u6807\u591A\u9009\u6811\u548C\u5217\u8868\u6761\u76EE\u65F6\u4F7F\u7528\u7684\u4FEE\u6539\u952E (\u4F8B\u5982\u201C\u8D44\u6E90\u7BA1\u7406\u5668\u201D\u3001\u201C\u6253\u5F00\u7684\u7F16\u8F91\u5668\u201D\u548C\u201C\u6E90\u4EE3\u7801\u7BA1\u7406\u201D\u89C6\u56FE)\u3002\u201C\u5728\u4FA7\u8FB9\u6253\u5F00\u201D\u529F\u80FD\u6240\u9700\u7684\u9F20\u6807\u52A8\u4F5C (\u82E5\u53EF\u7528) \u5C06\u4F1A\u76F8\u5E94\u8C03\u6574\uFF0C\u4E0D\u4E0E\u591A\u9009\u4FEE\u6539\u952E\u51B2\u7A81\u3002","\u63A7\u5236\u5728\u6811\u548C\u5217\u8868\u4E2D\u600E\u6837\u4F7F\u7528\u9F20\u6807\u6765\u5C55\u5F00\u5B50\u9879(\u82E5\u652F\u6301)\u3002\u5BF9\u4E8E\u6811\u4E2D\u7684\u7236\u8282\u70B9\uFF0C\u6B64\u8BBE\u7F6E\u5C06\u63A7\u5236\u662F\u4F7F\u7528\u5355\u51FB\u8FD8\u662F\u53CC\u51FB\u6765\u5C55\u5F00\u3002\u6CE8\u610F\uFF0C\u67D0\u4E9B\u4E0D\u9002\u7528\u4E8E\u6B64\u8BBE\u7F6E\u7684\u6811\u6216\u5217\u8868\u53EF\u80FD\u4F1A\u5FFD\u7565\u6B64\u9879\u3002 ","\u63A7\u5236\u5217\u8868\u548C\u6811\u662F\u5426\u652F\u6301\u5DE5\u4F5C\u53F0\u4E2D\u7684\u6C34\u5E73\u6EDA\u52A8\u3002\u8B66\u544A: \u6253\u5F00\u6B64\u8BBE\u7F6E\u5F71\u54CD\u4F1A\u5F71\u54CD\u6027\u80FD\u3002","\u63A7\u5236\u6811\u7F29\u8FDB(\u4EE5\u50CF\u7D20\u4E3A\u5355\u4F4D)\u3002","\u63A7\u5236\u6811\u662F\u5426\u5E94\u5448\u73B0\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","\u63A7\u5236\u5217\u8868\u548C\u6811\u662F\u5426\u5177\u6709\u5E73\u6ED1\u6EDA\u52A8\u3002","\u7B80\u5355\u952E\u76D8\u5BFC\u822A\u805A\u7126\u4E0E\u952E\u76D8\u8F93\u5165\u76F8\u5339\u914D\u7684\u5143\u7D20\u3002\u4EC5\u5BF9\u524D\u7F00\u8FDB\u884C\u5339\u914D\u3002","\u9AD8\u4EAE\u952E\u76D8\u5BFC\u822A\u4F1A\u7A81\u51FA\u663E\u793A\u4E0E\u952E\u76D8\u8F93\u5165\u76F8\u5339\u914D\u7684\u5143\u7D20\u3002\u8FDB\u4E00\u6B65\u5411\u4E0A\u548C\u5411\u4E0B\u5BFC\u822A\u5C06\u4EC5\u904D\u5386\u7A81\u51FA\u663E\u793A\u7684\u5143\u7D20\u3002","\u7B5B\u9009\u5668\u952E\u76D8\u5BFC\u822A\u5C06\u7B5B\u9009\u51FA\u5E76\u9690\u85CF\u4E0E\u952E\u76D8\u8F93\u5165\u4E0D\u5339\u914D\u7684\u6240\u6709\u5143\u7D20\u3002","\u63A7\u5236\u5DE5\u4F5C\u53F0\u4E2D\u7684\u5217\u8868\u548C\u6811\u7684\u952E\u76D8\u5BFC\u822A\u6837\u5F0F\u3002\u5B83\u53EF\u4E3A\u201C\u7B80\u5355\u201D\u3001\u201C\u7A81\u51FA\u663E\u793A\u201D\u6216\u201C\u7B5B\u9009\u201D\u3002","\u63A7\u5236\u5217\u8868\u548C\u6811\u4E2D\u7684\u952E\u76D8\u5BFC\u822A\u662F\u5426\u4EC5\u901A\u8FC7\u952E\u5165\u81EA\u52A8\u89E6\u53D1\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `false` \uFF0C\u952E\u76D8\u5BFC\u822A\u53EA\u5728\u6267\u884C `list.toggleKeyboardNavigation` \u547D\u4EE4\u65F6\u89E6\u53D1\uFF0C\u60A8\u53EF\u4EE5\u4E3A\u8BE5\u547D\u4EE4\u6307\u5B9A\u952E\u76D8\u5FEB\u6377\u65B9\u5F0F\u3002","\u63A7\u5236\u5355\u51FB\u6587\u4EF6\u5939\u540D\u79F0\u65F6\u5982\u4F55\u5C55\u5F00\u6811\u6587\u4EF6\u5939\u3002"],"vs/platform/markers/common/markers":["\u9519\u8BEF","\u8B66\u544A","\u4FE1\u606F"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","\u6700\u8FD1\u4F7F\u7528","\u5176\u4ED6\u547D\u4EE4",'\u547D\u4EE4"{0}"\u5BFC\u81F4\u9519\u8BEF ({1})'],"vs/platform/quickinput/browser/helpQuickAccess":["\u5168\u5C40\u547D\u4EE4","\u7F16\u8F91\u5668\u547D\u4EE4","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["\u6574\u4F53\u524D\u666F\u8272\u3002\u6B64\u989C\u8272\u4EC5\u5728\u4E0D\u88AB\u7EC4\u4EF6\u8986\u76D6\u65F6\u9002\u7528\u3002","\u9519\u8BEF\u4FE1\u606F\u7684\u6574\u4F53\u524D\u666F\u8272\u3002\u6B64\u989C\u8272\u4EC5\u5728\u4E0D\u88AB\u7EC4\u4EF6\u8986\u76D6\u65F6\u9002\u7528\u3002","\u5DE5\u4F5C\u53F0\u4E2D\u56FE\u6807\u7684\u9ED8\u8BA4\u989C\u8272\u3002","\u7126\u70B9\u5143\u7D20\u7684\u6574\u4F53\u8FB9\u6846\u989C\u8272\u3002\u6B64\u989C\u8272\u4EC5\u5728\u4E0D\u88AB\u5176\u4ED6\u7EC4\u4EF6\u8986\u76D6\u65F6\u9002\u7528\u3002","\u5728\u5143\u7D20\u5468\u56F4\u989D\u5916\u7684\u4E00\u5C42\u8FB9\u6846\uFF0C\u7528\u6765\u63D0\u9AD8\u5BF9\u6BD4\u5EA6\u4ECE\u800C\u533A\u522B\u5176\u4ED6\u5143\u7D20\u3002","\u5728\u6D3B\u52A8\u5143\u7D20\u5468\u56F4\u989D\u5916\u7684\u4E00\u5C42\u8FB9\u6846\uFF0C\u7528\u6765\u63D0\u9AD8\u5BF9\u6BD4\u5EA6\u4ECE\u800C\u533A\u522B\u5176\u4ED6\u5143\u7D20\u3002","\u6587\u672C\u4E2D\u94FE\u63A5\u7684\u524D\u666F\u8272\u3002","\u6587\u672C\u4E2D\u4EE3\u7801\u5757\u7684\u80CC\u666F\u989C\u8272\u3002","\u7F16\u8F91\u5668\u5185\u5C0F\u7EC4\u4EF6(\u5982\u67E5\u627E/\u66FF\u6362)\u7684\u9634\u5F71\u989C\u8272\u3002","\u8F93\u5165\u6846\u80CC\u666F\u8272\u3002","\u8F93\u5165\u6846\u524D\u666F\u8272\u3002","\u8F93\u5165\u6846\u8FB9\u6846\u3002","\u8F93\u5165\u5B57\u6BB5\u4E2D\u5DF2\u6FC0\u6D3B\u9009\u9879\u7684\u8FB9\u6846\u989C\u8272\u3002","\u8F93\u5165\u5B57\u6BB5\u4E2D\u6FC0\u6D3B\u9009\u9879\u7684\u80CC\u666F\u989C\u8272\u3002","\u8F93\u5165\u5B57\u6BB5\u4E2D\u5DF2\u6FC0\u6D3B\u7684\u9009\u9879\u7684\u524D\u666F\u8272\u3002","\u8F93\u5165\u9A8C\u8BC1\u7ED3\u679C\u4E3A\u4FE1\u606F\u7EA7\u522B\u65F6\u7684\u80CC\u666F\u8272\u3002","\u8F93\u5165\u9A8C\u8BC1\u7ED3\u679C\u4E3A\u4FE1\u606F\u7EA7\u522B\u65F6\u7684\u524D\u666F\u8272\u3002","\u4E25\u91CD\u6027\u4E3A\u4FE1\u606F\u65F6\u8F93\u5165\u9A8C\u8BC1\u7684\u8FB9\u6846\u989C\u8272\u3002","\u4E25\u91CD\u6027\u4E3A\u8B66\u544A\u65F6\u8F93\u5165\u9A8C\u8BC1\u7684\u80CC\u666F\u8272\u3002","\u8F93\u5165\u9A8C\u8BC1\u7ED3\u679C\u4E3A\u8B66\u544A\u7EA7\u522B\u65F6\u7684\u524D\u666F\u8272\u3002","\u4E25\u91CD\u6027\u4E3A\u8B66\u544A\u65F6\u8F93\u5165\u9A8C\u8BC1\u7684\u8FB9\u6846\u989C\u8272\u3002","\u8F93\u5165\u9A8C\u8BC1\u7ED3\u679C\u4E3A\u9519\u8BEF\u7EA7\u522B\u65F6\u7684\u80CC\u666F\u8272\u3002","\u8F93\u5165\u9A8C\u8BC1\u7ED3\u679C\u4E3A\u9519\u8BEF\u7EA7\u522B\u65F6\u7684\u524D\u666F\u8272\u3002","\u4E25\u91CD\u6027\u4E3A\u9519\u8BEF\u65F6\u8F93\u5165\u9A8C\u8BC1\u7684\u8FB9\u6846\u989C\u8272\u3002","\u4E0B\u62C9\u5217\u8868\u80CC\u666F\u8272\u3002","\u4E0B\u62C9\u5217\u8868\u524D\u666F\u8272\u3002","\u6309\u94AE\u524D\u666F\u8272\u3002","\u6309\u94AE\u80CC\u666F\u8272\u3002","\u6309\u94AE\u5728\u60AC\u505C\u65F6\u7684\u80CC\u666F\u989C\u8272\u3002","Badge \u80CC\u666F\u8272\u3002Badge \u662F\u5C0F\u578B\u7684\u4FE1\u606F\u6807\u7B7E\uFF0C\u5982\u8868\u793A\u641C\u7D22\u7ED3\u679C\u6570\u91CF\u7684\u6807\u7B7E\u3002","Badge \u524D\u666F\u8272\u3002Badge \u662F\u5C0F\u578B\u7684\u4FE1\u606F\u6807\u7B7E\uFF0C\u5982\u8868\u793A\u641C\u7D22\u7ED3\u679C\u6570\u91CF\u7684\u6807\u7B7E\u3002","\u8868\u793A\u89C6\u56FE\u88AB\u6EDA\u52A8\u7684\u6EDA\u52A8\u6761\u9634\u5F71\u3002","\u6EDA\u52A8\u6761\u6ED1\u5757\u80CC\u666F\u8272","\u6EDA\u52A8\u6761\u6ED1\u5757\u5728\u60AC\u505C\u65F6\u7684\u80CC\u666F\u8272","\u6EDA\u52A8\u6761\u6ED1\u5757\u5728\u88AB\u70B9\u51FB\u65F6\u7684\u80CC\u666F\u8272\u3002","\u8868\u793A\u957F\u65F6\u95F4\u64CD\u4F5C\u7684\u8FDB\u5EA6\u6761\u7684\u80CC\u666F\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u9519\u8BEF\u6587\u672C\u7684\u80CC\u666F\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u7F16\u8F91\u5668\u4E2D\u9519\u8BEF\u6CE2\u6D6A\u7EBF\u7684\u524D\u666F\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u9519\u8BEF\u6846\u7684\u8FB9\u6846\u989C\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u8B66\u544A\u6587\u672C\u7684\u80CC\u666F\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u7F16\u8F91\u5668\u4E2D\u8B66\u544A\u6CE2\u6D6A\u7EBF\u7684\u524D\u666F\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u8B66\u544A\u6846\u7684\u8FB9\u6846\u989C\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u4FE1\u606F\u6587\u672C\u7684\u80CC\u666F\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u7F16\u8F91\u5668\u4E2D\u4FE1\u606F\u6CE2\u6D6A\u7EBF\u7684\u524D\u666F\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u4FE1\u606F\u6846\u7684\u8FB9\u6846\u989C\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u63D0\u793A\u6CE2\u6D6A\u7EBF\u7684\u524D\u666F\u8272\u3002","\u7F16\u8F91\u5668\u4E2D\u63D0\u793A\u6846\u7684\u8FB9\u6846\u989C\u8272\u3002","\u7F16\u8F91\u5668\u80CC\u666F\u8272\u3002","\u7F16\u8F91\u5668\u9ED8\u8BA4\u524D\u666F\u8272\u3002","\u7F16\u8F91\u5668\u7EC4\u4EF6(\u5982\u67E5\u627E/\u66FF\u6362)\u80CC\u666F\u989C\u8272\u3002","\u7F16\u8F91\u5668\u5C0F\u90E8\u4EF6\u7684\u524D\u666F\u8272\uFF0C\u5982\u67E5\u627E/\u66FF\u6362\u3002","\u7F16\u8F91\u5668\u5C0F\u90E8\u4EF6\u7684\u8FB9\u6846\u989C\u8272\u3002\u6B64\u989C\u8272\u4EC5\u5728\u5C0F\u90E8\u4EF6\u6709\u8FB9\u6846\u4E14\u4E0D\u88AB\u5C0F\u90E8\u4EF6\u91CD\u5199\u65F6\u9002\u7528\u3002","\u7F16\u8F91\u5668\u5C0F\u90E8\u4EF6\u5927\u5C0F\u8C03\u6574\u6761\u7684\u8FB9\u6846\u989C\u8272\u3002\u6B64\u989C\u8272\u4EC5\u5728\u5C0F\u90E8\u4EF6\u6709\u8C03\u6574\u8FB9\u6846\u4E14\u4E0D\u88AB\u5C0F\u90E8\u4EF6\u989C\u8272\u8986\u76D6\u65F6\u4F7F\u7528\u3002","\u80CC\u666F\u989C\u8272\u5FEB\u901F\u9009\u53D6\u5668\u3002\u5FEB\u901F\u9009\u53D6\u5668\u5C0F\u90E8\u4EF6\u662F\u9009\u53D6\u5668(\u5982\u547D\u4EE4\u8C03\u8272\u677F)\u7684\u5BB9\u5668\u3002","\u524D\u666F\u989C\u8272\u5FEB\u901F\u9009\u53D6\u5668\u3002\u5FEB\u901F\u9009\u53D6\u5668\u5C0F\u90E8\u4EF6\u662F\u547D\u4EE4\u8C03\u8272\u677F\u7B49\u9009\u53D6\u5668\u7684\u5BB9\u5668\u3002","\u6807\u9898\u80CC\u666F\u989C\u8272\u5FEB\u901F\u9009\u53D6\u5668\u3002\u5FEB\u901F\u9009\u53D6\u5668\u5C0F\u90E8\u4EF6\u662F\u547D\u4EE4\u8C03\u8272\u677F\u7B49\u9009\u53D6\u5668\u7684\u5BB9\u5668\u3002","Quick picker background color for the focused item.","\u5FEB\u901F\u9009\u53D6\u5668\u5206\u7EC4\u6807\u7B7E\u7684\u989C\u8272\u3002","\u5FEB\u901F\u9009\u53D6\u5668\u5206\u7EC4\u8FB9\u6846\u7684\u989C\u8272\u3002","\u7F16\u8F91\u5668\u6240\u9009\u5185\u5BB9\u7684\u989C\u8272\u3002","\u7528\u4EE5\u5F70\u663E\u9AD8\u5BF9\u6BD4\u5EA6\u7684\u6240\u9009\u6587\u672C\u7684\u989C\u8272\u3002","\u975E\u6D3B\u52A8\u7F16\u8F91\u5668\u4E2D\u6240\u9009\u5185\u5BB9\u7684\u989C\u8272\uFF0C\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u88C5\u9970\u6548\u679C\u3002","\u5177\u6709\u4E0E\u6240\u9009\u9879\u76F8\u5173\u5185\u5BB9\u7684\u533A\u57DF\u7684\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u4E0E\u6240\u9009\u9879\u5185\u5BB9\u76F8\u540C\u7684\u533A\u57DF\u7684\u8FB9\u6846\u989C\u8272\u3002","\u5F53\u524D\u641C\u7D22\u5339\u914D\u9879\u7684\u989C\u8272\u3002","\u5176\u4ED6\u641C\u7D22\u5339\u914D\u9879\u7684\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u9650\u5236\u641C\u7D22\u8303\u56F4\u7684\u989C\u8272\u3002\u989C\u8272\u4E0D\u80FD\u4E0D\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u5E95\u5C42\u88C5\u9970\u3002","\u5F53\u524D\u641C\u7D22\u5339\u914D\u9879\u7684\u8FB9\u6846\u989C\u8272\u3002","\u5176\u4ED6\u641C\u7D22\u5339\u914D\u9879\u7684\u8FB9\u6846\u989C\u8272\u3002","\u9650\u5236\u641C\u7D22\u7684\u8303\u56F4\u7684\u8FB9\u6846\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u5728\u4E0B\u9762\u7A81\u51FA\u663E\u793A\u60AC\u505C\u7684\u5B57\u8BCD\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u7F16\u8F91\u5668\u60AC\u505C\u63D0\u793A\u7684\u80CC\u666F\u989C\u8272\u3002","\u7F16\u8F91\u5668\u60AC\u505C\u7684\u524D\u666F\u989C\u8272\u3002","\u5149\u6807\u60AC\u505C\u65F6\u7F16\u8F91\u5668\u7684\u8FB9\u6846\u989C\u8272\u3002","\u7F16\u8F91\u5668\u60AC\u505C\u72B6\u6001\u680F\u7684\u80CC\u666F\u8272\u3002","\u6D3B\u52A8\u94FE\u63A5\u989C\u8272\u3002","\u5185\u8054\u63D0\u793A\u7684\u524D\u666F\u8272","\u5185\u8054\u63D0\u793A\u7684\u80CC\u666F\u8272","\u7528\u4E8E\u706F\u6CE1\u64CD\u4F5C\u56FE\u6807\u7684\u989C\u8272\u3002","\u7528\u4E8E\u706F\u6CE1\u81EA\u52A8\u4FEE\u590D\u64CD\u4F5C\u56FE\u6807\u7684\u989C\u8272\u3002","\u5DF2\u63D2\u5165\u7684\u6587\u672C\u7684\u80CC\u666F\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u5DF2\u5220\u9664\u7684\u6587\u672C\u7684\u80CC\u666F\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u63D2\u5165\u7684\u6587\u672C\u7684\u8F6E\u5ED3\u989C\u8272\u3002","\u88AB\u5220\u9664\u6587\u672C\u7684\u8F6E\u5ED3\u989C\u8272\u3002","\u4E24\u4E2A\u6587\u672C\u7F16\u8F91\u5668\u4E4B\u95F4\u7684\u8FB9\u6846\u989C\u8272\u3002","\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u5BF9\u89D2\u7EBF\u586B\u5145\u989C\u8272\u3002\u5BF9\u89D2\u7EBF\u586B\u5145\u7528\u4E8E\u5E76\u6392\u5DEE\u5F02\u89C6\u56FE\u3002","\u7126\u70B9\u9879\u5728\u5217\u8868\u6216\u6811\u6D3B\u52A8\u65F6\u7684\u80CC\u666F\u989C\u8272\u3002\u6D3B\u52A8\u7684\u5217\u8868\u6216\u6811\u5177\u6709\u952E\u76D8\u7126\u70B9\uFF0C\u975E\u6D3B\u52A8\u7684\u6CA1\u6709\u3002","\u7126\u70B9\u9879\u5728\u5217\u8868\u6216\u6811\u6D3B\u52A8\u65F6\u7684\u524D\u666F\u989C\u8272\u3002\u6D3B\u52A8\u7684\u5217\u8868\u6216\u6811\u5177\u6709\u952E\u76D8\u7126\u70B9\uFF0C\u975E\u6D3B\u52A8\u7684\u6CA1\u6709\u3002","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","\u5DF2\u9009\u9879\u5728\u5217\u8868\u6216\u6811\u6D3B\u52A8\u65F6\u7684\u80CC\u666F\u989C\u8272\u3002\u6D3B\u52A8\u7684\u5217\u8868\u6216\u6811\u5177\u6709\u952E\u76D8\u7126\u70B9\uFF0C\u975E\u6D3B\u52A8\u7684\u6CA1\u6709\u3002","\u5DF2\u9009\u9879\u5728\u5217\u8868\u6216\u6811\u6D3B\u52A8\u65F6\u7684\u524D\u666F\u989C\u8272\u3002\u6D3B\u52A8\u7684\u5217\u8868\u6216\u6811\u5177\u6709\u952E\u76D8\u7126\u70B9\uFF0C\u975E\u6D3B\u52A8\u7684\u6CA1\u6709\u3002","\u5DF2\u9009\u9879\u5728\u5217\u8868\u6216\u6811\u975E\u6D3B\u52A8\u65F6\u7684\u80CC\u666F\u989C\u8272\u3002\u6D3B\u52A8\u7684\u5217\u8868\u6216\u6811\u5177\u6709\u952E\u76D8\u7126\u70B9\uFF0C\u975E\u6D3B\u52A8\u7684\u6CA1\u6709\u3002","\u5DF2\u9009\u9879\u5728\u5217\u8868\u6216\u6811\u975E\u6D3B\u52A8\u65F6\u7684\u524D\u666F\u989C\u8272\u3002\u6D3B\u52A8\u7684\u5217\u8868\u6216\u6811\u5177\u6709\u952E\u76D8\u7126\u70B9\uFF0C\u975E\u6D3B\u52A8\u7684\u6CA1\u6709\u3002","\u975E\u6D3B\u52A8\u7684\u5217\u8868\u6216\u6811\u63A7\u4EF6\u4E2D\u7126\u70B9\u9879\u7684\u80CC\u666F\u989C\u8272\u3002\u6D3B\u52A8\u7684\u5217\u8868\u6216\u6811\u5177\u6709\u952E\u76D8\u7126\u70B9\uFF0C\u975E\u6D3B\u52A8\u7684\u6CA1\u6709\u3002","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","\u4F7F\u7528\u9F20\u6807\u79FB\u52A8\u9879\u76EE\u65F6\uFF0C\u5217\u8868\u6216\u6811\u7684\u80CC\u666F\u989C\u8272\u3002","\u9F20\u6807\u5728\u9879\u76EE\u4E0A\u60AC\u505C\u65F6\uFF0C\u5217\u8868\u6216\u6811\u7684\u524D\u666F\u989C\u8272\u3002","\u4F7F\u7528\u9F20\u6807\u79FB\u52A8\u9879\u76EE\u65F6\uFF0C\u5217\u8868\u6216\u6811\u8FDB\u884C\u62D6\u653E\u7684\u80CC\u666F\u989C\u8272\u3002","\u5728\u5217\u8868\u6216\u6811\u4E2D\u641C\u7D22\u65F6\uFF0C\u5176\u4E2D\u5339\u914D\u5185\u5BB9\u7684\u9AD8\u4EAE\u989C\u8272\u3002","\u5217\u8868\u548C\u6811\u4E2D\u7C7B\u578B\u7B5B\u9009\u5668\u5C0F\u7EC4\u4EF6\u7684\u80CC\u666F\u8272\u3002","\u5217\u8868\u548C\u6811\u4E2D\u7C7B\u578B\u7B5B\u9009\u5668\u5C0F\u7EC4\u4EF6\u7684\u8F6E\u5ED3\u989C\u8272\u3002","\u5F53\u6CA1\u6709\u5339\u914D\u9879\u65F6\uFF0C\u5217\u8868\u548C\u6811\u4E2D\u7C7B\u578B\u7B5B\u9009\u5668\u5C0F\u7EC4\u4EF6\u7684\u8F6E\u5ED3\u989C\u8272\u3002","\u7F29\u8FDB\u53C2\u8003\u7EBF\u7684\u6811\u63CF\u8FB9\u989C\u8272\u3002","\u7F29\u8FDB\u53C2\u8003\u7EBF\u7684\u6811\u63CF\u8FB9\u989C\u8272\u3002","\u83DC\u5355\u7684\u8FB9\u6846\u989C\u8272\u3002","\u83DC\u5355\u9879\u7684\u524D\u666F\u989C\u8272\u3002","\u83DC\u5355\u9879\u7684\u80CC\u666F\u989C\u8272\u3002","\u83DC\u5355\u4E2D\u9009\u5B9A\u83DC\u5355\u9879\u7684\u524D\u666F\u8272\u3002","\u83DC\u5355\u4E2D\u6240\u9009\u83DC\u5355\u9879\u7684\u80CC\u666F\u8272\u3002","\u83DC\u5355\u4E2D\u6240\u9009\u83DC\u5355\u9879\u7684\u8FB9\u6846\u989C\u8272\u3002","\u83DC\u5355\u4E2D\u5206\u9694\u7EBF\u7684\u989C\u8272\u3002","\u4EE3\u7801\u7247\u6BB5 Tab \u4F4D\u7684\u9AD8\u4EAE\u80CC\u666F\u8272\u3002","\u4EE3\u7801\u7247\u6BB5 Tab \u4F4D\u7684\u9AD8\u4EAE\u8FB9\u6846\u989C\u8272\u3002","\u4EE3\u7801\u7247\u6BB5\u4E2D\u6700\u540E\u7684 Tab \u4F4D\u7684\u9AD8\u4EAE\u80CC\u666F\u8272\u3002","\u4EE3\u7801\u7247\u6BB5\u4E2D\u6700\u540E\u7684\u5236\u8868\u4F4D\u7684\u9AD8\u4EAE\u8FB9\u6846\u989C\u8272\u3002","\u7528\u4E8E\u67E5\u627E\u5339\u914D\u9879\u7684\u6982\u8FF0\u6807\u5C3A\u6807\u8BB0\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u7528\u4E8E\u7A81\u51FA\u663E\u793A\u6240\u9009\u5185\u5BB9\u7684\u6982\u8FF0\u6807\u5C3A\u6807\u8BB0\u989C\u8272\u3002\u989C\u8272\u5FC5\u987B\u900F\u660E\uFF0C\u4EE5\u514D\u9690\u85CF\u4E0B\u9762\u7684\u4FEE\u9970\u6548\u679C\u3002","\u7528\u4E8E\u67E5\u627E\u5339\u914D\u9879\u7684\u8FF7\u4F60\u5730\u56FE\u6807\u8BB0\u989C\u8272\u3002","\u7F16\u8F91\u5668\u9009\u533A\u5728\u8FF7\u4F60\u5730\u56FE\u4E2D\u5BF9\u5E94\u7684\u6807\u8BB0\u989C\u8272\u3002","\u7528\u4E8E\u9519\u8BEF\u7684\u8FF7\u4F60\u5730\u56FE\u6807\u8BB0\u989C\u8272\u3002","\u7528\u4E8E\u8B66\u544A\u7684\u8FF7\u4F60\u5730\u56FE\u6807\u8BB0\u989C\u8272\u3002","\u8FF7\u4F60\u5730\u56FE\u80CC\u666F\u989C\u8272\u3002","\u8FF7\u4F60\u5730\u56FE\u6ED1\u5757\u80CC\u666F\u989C\u8272\u3002","\u60AC\u505C\u65F6\uFF0C\u8FF7\u4F60\u5730\u56FE\u6ED1\u5757\u7684\u80CC\u666F\u989C\u8272\u3002","\u5355\u51FB\u65F6\uFF0C\u8FF7\u4F60\u5730\u56FE\u6ED1\u5757\u7684\u80CC\u666F\u989C\u8272\u3002","\u7528\u4E8E\u95EE\u9898\u9519\u8BEF\u56FE\u6807\u7684\u989C\u8272\u3002","\u7528\u4E8E\u95EE\u9898\u8B66\u544A\u56FE\u6807\u7684\u989C\u8272\u3002","\u7528\u4E8E\u95EE\u9898\u4FE1\u606F\u56FE\u6807\u7684\u989C\u8272\u3002"],"vs/platform/theme/common/iconRegistry":["\u8981\u4F7F\u7528\u7684\u5B57\u4F53\u7684 ID\u3002\u5982\u679C\u672A\u8BBE\u7F6E\uFF0C\u5219\u4F7F\u7528\u6700\u5148\u5B9A\u4E49\u7684\u5B57\u4F53\u3002","\u4E0E\u56FE\u6807\u5B9A\u4E49\u5173\u8054\u7684\u5B57\u4F53\u5B57\u7B26\u3002","\u5C0F\u7EC4\u4EF6\u4E2D\u201C\u5173\u95ED\u201D\u64CD\u4F5C\u7684\u56FE\u6807\u3002"],"vs/platform/undoRedo/common/undoRedoService":["\u4EE5\u4E0B\u6587\u4EF6\u5DF2\u5173\u95ED\u5E76\u4E14\u5DF2\u5728\u78C1\u76D8\u4E0A\u4FEE\u6539: {0}\u3002","\u4EE5\u4E0B\u6587\u4EF6\u5DF2\u4EE5\u4E0D\u517C\u5BB9\u7684\u65B9\u5F0F\u4FEE\u6539: {0}\u3002","\u65E0\u6CD5\u5728\u6240\u6709\u6587\u4EF6\u4E2D\u64A4\u6D88\u201C{0}\u201D\u3002{1}","\u65E0\u6CD5\u5728\u6240\u6709\u6587\u4EF6\u4E2D\u64A4\u6D88\u201C{0}\u201D\u3002{1}","\u65E0\u6CD5\u64A4\u6D88\u6240\u6709\u6587\u4EF6\u7684\u201C{0}\u201D\uFF0C\u56E0\u4E3A\u5DF2\u66F4\u6539 {1}","\u65E0\u6CD5\u8DE8\u6240\u6709\u6587\u4EF6\u64A4\u9500\u201C{0}\u201D\uFF0C\u56E0\u4E3A {1} \u4E0A\u5DF2\u6709\u4E00\u9879\u64A4\u6D88\u6216\u91CD\u505A\u64CD\u4F5C\u6B63\u5728\u8FD0\u884C","\u65E0\u6CD5\u8DE8\u6240\u6709\u6587\u4EF6\u64A4\u9500\u201C{0}\u201D\uFF0C\u56E0\u4E3A\u540C\u65F6\u53D1\u751F\u4E86\u4E00\u9879\u64A4\u6D88\u6216\u91CD\u505A\u64CD\u4F5C","\u662F\u5426\u8981\u5728\u6240\u6709\u6587\u4EF6\u4E2D\u64A4\u6D88\u201C{0}\u201D?","\u5728 {0} \u4E2A\u6587\u4EF6\u4E2D\u64A4\u6D88","\u64A4\u6D88\u6B64\u6587\u4EF6","\u53D6\u6D88","\u65E0\u6CD5\u64A4\u9500\u201C{0}\u201D\uFF0C\u56E0\u4E3A\u5DF2\u6709\u4E00\u9879\u64A4\u6D88\u6216\u91CD\u505A\u64CD\u4F5C\u6B63\u5728\u8FD0\u884C\u3002","\u662F\u5426\u8981\u64A4\u6D88\u201C{0}\u201D?","\u64A4\u6D88","\u53D6\u6D88","\u65E0\u6CD5\u5728\u6240\u6709\u6587\u4EF6\u4E2D\u91CD\u505A\u201C{0}\u201D\u3002{1}","\u65E0\u6CD5\u5728\u6240\u6709\u6587\u4EF6\u4E2D\u91CD\u505A\u201C{0}\u201D\u3002{1}","\u65E0\u6CD5\u5BF9\u6240\u6709\u6587\u4EF6\u91CD\u505A\u201C{0}\u201D\uFF0C\u56E0\u4E3A\u5DF2\u66F4\u6539 {1}","\u65E0\u6CD5\u8DE8\u6240\u6709\u6587\u4EF6\u91CD\u505A\u201C{0}\u201D\uFF0C\u56E0\u4E3A {1} \u4E0A\u5DF2\u6709\u4E00\u9879\u64A4\u6D88\u6216\u91CD\u505A\u64CD\u4F5C\u6B63\u5728\u8FD0\u884C","\u65E0\u6CD5\u8DE8\u6240\u6709\u6587\u4EF6\u91CD\u505A\u201C{0}\u201D\uFF0C\u56E0\u4E3A\u540C\u65F6\u53D1\u751F\u4E86\u4E00\u9879\u64A4\u6D88\u6216\u91CD\u505A\u64CD\u4F5C","\u65E0\u6CD5\u91CD\u505A\u201C{0}\u201D\uFF0C\u56E0\u4E3A\u5DF2\u6709\u4E00\u9879\u64A4\u6D88\u6216\u91CD\u505A\u64CD\u4F5C\u6B63\u5728\u8FD0\u884C\u3002"]}); diff --git a/public/libs/monaco-editor/vs/editor/editor.main.nls.zh-tw.js b/public/libs/monaco-editor/vs/editor/editor.main.nls.zh-tw.js new file mode 100644 index 0000000..e3349d6 --- /dev/null +++ b/public/libs/monaco-editor/vs/editor/editor.main.nls.zh-tw.js @@ -0,0 +1,6 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.23.0(82e8ea39fc101d639262435542c7d43bc20d8aa2) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/define("vs/editor/editor.main.nls.zh-tw",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["\u8F38\u5165"],"vs/base/browser/ui/findinput/findInputCheckboxes":["\u5927\u5C0F\u5BEB\u9808\u76F8\u7B26","\u5168\u5B57\u62FC\u5BEB\u9808\u76F8\u7B26","\u4F7F\u7528\u898F\u5247\u904B\u7B97\u5F0F"],"vs/base/browser/ui/findinput/replaceInput":["\u8F38\u5165","\u4FDD\u7559\u6848\u4F8B"],"vs/base/browser/ui/iconLabel/iconLabel":["\u6B63\u5728\u8F09\u5165..."],"vs/base/browser/ui/inputbox/inputBox":["\u932F\u8AA4: {0}","\u8B66\u544A: {0}","\u8CC7\u8A0A: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["\u672A\u7E6B\u7D50"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["\u6E05\u9664","\u5728\u985E\u578B\u4E0A\u505C\u7528\u7BE9\u9078","\u5728\u985E\u578B\u4E0A\u555F\u7528\u7BE9\u9078","\u627E\u4E0D\u5230\u4EFB\u4F55\u5143\u7D20","{1} \u9805\u5143\u7D20\u4E2D\u6709 {0} \u9805\u76F8\u7B26"],"vs/base/common/actions":["(\u7A7A\u7684)"],"vs/base/common/errorMessage":["{0}: {1}","\u767C\u751F\u7CFB\u7D71\u932F\u8AA4 ({0})","\u767C\u751F\u672A\u77E5\u7684\u932F\u8AA4\u3002\u5982\u9700\u8A73\u7D30\u8CC7\u8A0A\uFF0C\u8ACB\u53C3\u95B1\u8A18\u9304\u6A94\u3002","\u767C\u751F\u672A\u77E5\u7684\u932F\u8AA4\u3002\u5982\u9700\u8A73\u7D30\u8CC7\u8A0A\uFF0C\u8ACB\u53C3\u95B1\u8A18\u9304\u6A94\u3002","{0} (\u7E3D\u8A08 {1} \u500B\u932F\u8AA4)","\u767C\u751F\u672A\u77E5\u7684\u932F\u8AA4\u3002\u5982\u9700\u8A73\u7D30\u8CC7\u8A0A\uFF0C\u8ACB\u53C3\u95B1\u8A18\u9304\u6A94\u3002"],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","\u8D85\u7D1A\u9375","Control","Shift","Alt","\u547D\u4EE4","Control","Shift","Alt","Windows","Control","Shift","Alt","\u8D85\u7D1A\u9375"],"vs/base/parts/quickinput/browser/quickInput":["\u4E0A\u4E00\u9801","{0}/{1}","\u8F38\u5165\u4EE5\u7E2E\u5C0F\u7D50\u679C\u7BC4\u570D\u3002","{0} \u500B\u7D50\u679C","\u5DF2\u9078\u64C7 {0}","\u78BA\u5B9A","\u81EA\u8A02","\u80CC\u9762 ({0})","\u4E0A\u4E00\u9801"],"vs/base/parts/quickinput/browser/quickInputList":["\u5FEB\u901F\u8F38\u5165"],"vs/editor/browser/controller/coreCommands":["\u5373\u4F7F\u884C\u7684\u9577\u5EA6\u904E\u9577\uFF0C\u4ECD\u8981\u5805\u6301\u81F3\u7D50\u5C3E","\u5373\u4F7F\u884C\u7684\u9577\u5EA6\u904E\u9577\uFF0C\u4ECD\u8981\u5805\u6301\u81F3\u7D50\u5C3E"],"vs/editor/browser/controller/textAreaHandler":["\u7DE8\u8F2F\u5668","\u76EE\u524D\u7121\u6CD5\u5B58\u53D6\u6B64\u7DE8\u8F2F\u5668\u3002\u8ACB\u6309 {0} \u53D6\u5F97\u9078\u9805\u3002"],"vs/editor/browser/core/keybindingCancellation":["\u7DE8\u8F2F\u5668\u662F\u5426\u57F7\u884C\u53EF\u53D6\u6D88\u7684\u4F5C\u696D\uFF0C\u4F8B\u5982\u300C\u9810\u89BD\u53C3\u8003\u300D"],"vs/editor/browser/editorExtensions":["\u5FA9\u539F(&&U)","\u5FA9\u539F","\u53D6\u6D88\u5FA9\u539F(&&R)","\u91CD\u505A","\u5168\u9078(&&S)","\u5168\u9078"],"vs/editor/browser/widget/codeEditorWidget":["\u6E38\u6A19\u6578\u5DF2\u9650\u5236\u70BA {0} \u500B\u3002"],"vs/editor/browser/widget/diffEditorWidget":["Diff \u7DE8\u8F2F\u5668\u4E2D\u7528\u65BC\u63D2\u5165\u7684\u7DDA\u689D\u88DD\u98FE\u3002","Diff \u7DE8\u8F2F\u5668\u4E2D\u7528\u65BC\u79FB\u9664\u7684\u7DDA\u689D\u88DD\u98FE\u3002","\u56E0\u5176\u4E2D\u4E00\u500B\u6A94\u6848\u904E\u5927\u800C\u7121\u6CD5\u6BD4\u8F03\u3002"],"vs/editor/browser/widget/diffReview":["Diff \u6AA2\u95B1\u4E2D [\u63D2\u5165] \u7684\u5716\u793A\u3002","Diff \u6AA2\u95B1\u4E2D [\u79FB\u9664] \u7684\u5716\u793A\u3002","Diff \u6AA2\u95B1\u4E2D [\u95DC\u9589] \u7684\u5716\u793A\u3002","\u95DC\u9589","\u672A\u8B8A\u66F4\u4EFB\u4E00\u884C","\u5DF2\u8B8A\u66F4 1 \u884C","\u5DF2\u8B8A\u66F4 {0} \u884C","{1} \u9805\u5DEE\u7570\u4E2D\u7684\u7B2C {0} \u9805: \u539F\u59CB\u884C {2}\u3001{3}\uFF0C\u4FEE\u6539\u884C {4}\u3001{5}","\u7A7A\u767D","{0} \u672A\u8B8A\u66F4\u884C {1}","{0} \u539F\u59CB\u884C {1} \u4FEE\u6539\u7684\u884C {2}","+ {0} \u4FEE\u6539\u884C {1}","- {0} \u539F\u59CB\u884C {1}","\u79FB\u81F3\u4E0B\u4E00\u500B\u5DEE\u7570","\u79FB\u81F3\u4E0A\u4E00\u500B\u5DEE\u7570"],"vs/editor/browser/widget/inlineDiffMargin":["\u8907\u88FD\u5DF2\u522A\u9664\u7684\u884C","\u8907\u88FD\u5DF2\u522A\u9664\u7684\u884C","\u8907\u88FD\u5DF2\u522A\u9664\u7684\u884C \uFF08{0}\uFF09","\u9084\u539F\u6B64\u8B8A\u66F4","\u8907\u88FD\u5DF2\u522A\u9664\u7684\u884C \uFF08{0}\uFF09"],"vs/editor/common/config/commonEditorConfig":["\u7DE8\u8F2F\u5668","\u8207 Tab \u76F8\u7B49\u7684\u7A7A\u683C\u6578\u91CF\u3002\u7576 `#editor.detectIndentation#` \u5DF2\u958B\u555F\u6642\uFF0C\u6703\u6839\u64DA\u6A94\u6848\u5167\u5BB9\u8986\u5BEB\u6B64\u8A2D\u5B9A\u3002","\u5728\u6309 `Tab` \u6642\u63D2\u5165\u7A7A\u683C\u3002\u7576 `#editor.detectIndentation#` \u958B\u555F\u6642\uFF0C\u6703\u6839\u64DA\u6A94\u6848\u5167\u5BB9\u8986\u5BEB\u6B64\u8A2D\u5B9A\u3002","\u6839\u64DA\u6A94\u6848\u5167\u5BB9\uFF0C\u63A7\u5236\u7576\u6A94\u6848\u958B\u555F\u6642\uFF0C\u662F\u5426\u81EA\u52D5\u5075\u6E2C `#editor.tabSize#` \u548C `#editor.insertSpaces#`\u3002","\u79FB\u9664\u5C3E\u7AEF\u81EA\u52D5\u63D2\u5165\u7684\u7A7A\u767D\u5B57\u5143\u3002","\u91DD\u5C0D\u5927\u578B\u6A94\u6848\u505C\u7528\u90E8\u5206\u9AD8\u8A18\u61B6\u9AD4\u9700\u6C42\u529F\u80FD\u7684\u7279\u6B8A\u8655\u7406\u65B9\u5F0F\u3002","\u63A7\u5236\u662F\u5426\u61C9\u6839\u64DA\u6587\u4EF6\u4E2D\u7684\u55AE\u5B57\u8A08\u7B97\u81EA\u52D5\u5B8C\u6210\u3002","\u50C5\u5EFA\u8B70\u4F86\u81EA\u4F7F\u7528\u4E2D\u6587\u4EF6\u4E2D\u7684\u5B57\u7D44\u3002","\u5EFA\u8B70\u4F86\u81EA\u6240\u6709\u5DF2\u958B\u555F\u6587\u4EF6\u4E2D\uFF0C\u8A9E\u8A00\u76F8\u540C\u7684\u5B57\u7D44\u3002","\u5EFA\u8B70\u4F86\u81EA\u6240\u6709\u5DF2\u958B\u555F\u6587\u4EF6\u4E2D\u7684\u5B57\u7D44\u3002","\u63A7\u5236\u8981\u5F9E\u54EA\u4E9B\u6587\u4EF6\u8A08\u7B97\u4EE5\u5B57\u7D44\u70BA\u57FA\u790E\u7684\u5B8C\u6210\u4F5C\u696D\u3002","\u6240\u6709\u5F69\u8272\u4E3B\u984C\u7686\u5DF2\u555F\u7528\u8A9E\u610F\u9192\u76EE\u63D0\u793A\u3002","\u6240\u6709\u5F69\u8272\u4E3B\u984C\u7686\u5DF2\u505C\u7528\u8A9E\u610F\u9192\u76EE\u63D0\u793A\u3002","\u8A9E\u610F\u9192\u76EE\u63D0\u793A\u7531\u76EE\u524D\u4E4B\u5F69\u8272\u4F48\u666F\u4E3B\u984C\u7684 'semanticHighlighting' \u8A2D\u5B9A\u6240\u8A2D\u5B9A\u3002","\u63A7\u5236 semanticHighlighting \u662F\u5426\u6703\u70BA\u652F\u63F4\u7684\u8A9E\u8A00\u986F\u793A\u3002","\u5373\u4F7F\u6309\u5169\u4E0B\u5167\u5BB9\u6216\u6309 `Escape`\uFF0C\u4ECD\u4FDD\u6301\u7784\u5B54\u7DE8\u8F2F\u5668\u958B\u555F\u3002","\u56E0\u6548\u80FD\u7684\u7DE3\u6545\uFF0C\u4E0D\u6703\u5C07\u8D85\u904E\u6B64\u9AD8\u5EA6\u7684\u884C Token \u5316","\u53D6\u6D88 Diff \u8A08\u7B97\u524D\u7684\u903E\u6642\u9650\u5236 (\u6BEB\u79D2)\u3002\u82E5\u7121\u903E\u6642\uFF0C\u8ACB\u4F7F\u7528 0\u3002","\u63A7\u5236 Diff \u7DE8\u8F2F\u5668\u8981\u4E26\u6392\u6216\u5167\u5D4C\u986F\u793A Diff\u3002","\u555F\u7528\u6642\uFF0CDiff \u7DE8\u8F2F\u5668\u6703\u5FFD\u7565\u524D\u7F6E\u6216\u5F8C\u7F6E\u7A7A\u683C\u7684\u8B8A\u66F4\u3002","\u63A7\u5236 Diff \u7DE8\u8F2F\u5668\u662F\u5426\u8981\u70BA\u65B0\u589E/\u79FB\u9664\u7684\u8B8A\u66F4\u986F\u793A +/- \u6A19\u8A18\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u986F\u793A codelens\u3002","\u4E00\u5F8B\u4E0D\u63DB\u884C\u3002","\u4F9D\u6AA2\u8996\u5340\u5BEC\u5EA6\u63DB\u884C\u3002","\u5C07\u4F9D\u64DA `#editor.wordWrap#` \u8A2D\u5B9A\u81EA\u52D5\u63DB\u884C\u3002"],"vs/editor/common/config/editorOptions":["\u7DE8\u8F2F\u5668\u5C07\u4F7F\u7528\u5E73\u53F0 API \u4EE5\u5075\u6E2C\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u9644\u52A0\u3002","\u7DE8\u8F2F\u5668\u5C07\u4E00\u5F8B\u6700\u4F73\u5316\u4EE5\u7528\u65BC\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u3002\u81EA\u52D5\u63DB\u884C\u5C07\u6703\u505C\u7528\u3002","\u7DE8\u8F2F\u5668\u4E0D\u6703\u70BA\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u7684\u4F7F\u7528\u65B9\u5F0F\u9032\u884C\u6700\u4F73\u5316\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u65BC\u5DF2\u70BA\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u6700\u4F73\u5316\u7684\u6A21\u5F0F\u4E2D\u57F7\u884C\u3002\u8A2D\u5B9A\u70BA\u958B\u555F\u6703\u505C\u7528\u81EA\u52D5\u63DB\u884C\u3002","\u63A7\u5236\u662F\u5426\u8981\u5728\u8A3B\u89E3\u6642\u63D2\u5165\u7A7A\u767D\u5B57\u5143\u3002","\u63A7\u5236\u662F\u5426\u61C9\u4EE5\u884C\u8A3B\u89E3\u7684\u5207\u63DB\u3001\u65B0\u589E\u6216\u79FB\u9664\u52D5\u4F5C\uFF0C\u5FFD\u7565\u7A7A\u767D\u7684\u884C\u3002","\u63A7\u5236\u8907\u88FD\u6642\u4E0D\u9078\u53D6\u4EFB\u4F55\u9805\u76EE\u662F\u5426\u6703\u8907\u88FD\u76EE\u524D\u7A0B\u5F0F\u884C\u3002","\u63A7\u5236\u5728\u8F38\u5165\u671F\u9593\u662F\u5426\u8981\u8DF3\u904E\u6E38\u6A19\u4F86\u5C0B\u627E\u76F8\u7B26\u7684\u9805\u76EE\u3002","\u63A7\u5236 [\u5C0B\u627E\u5C0F\u5DE5\u5177] \u4E2D\u7684\u641C\u5C0B\u5B57\u4E32\u662F\u5426\u4F86\u81EA\u7DE8\u8F2F\u5668\u9078\u53D6\u9805\u76EE\u3002","\u6C38\u4E0D\u81EA\u52D5\u958B\u555F [\u5728\u9078\u53D6\u7BC4\u570D\u4E2D\u5C0B\u627E] (\u9810\u8A2D)","\u4E00\u5F8B\u81EA\u52D5\u958B\u555F [\u5728\u9078\u53D6\u7BC4\u570D\u4E2D\u5C0B\u627E]","\u9078\u53D6\u591A\u884C\u5167\u5BB9\u6642\uFF0C\u81EA\u52D5\u958B\u555F [\u5728\u9078\u53D6\u7BC4\u570D\u4E2D\u5C0B\u627E]\u3002","\u63A7\u5236\u81EA\u52D5\u958B\u555F\u5728\u9078\u53D6\u7BC4\u570D\u4E2D\u5C0B\u627E\u7684\u689D\u4EF6\u3002","\u63A7\u5236\u5C0B\u627E\u5C0F\u5DE5\u5177\u662F\u5426\u5728 macOS \u4E0A\u8B80\u53D6\u6216\u4FEE\u6539\u5171\u7528\u5C0B\u627E\u526A\u8CBC\u7C3F\u3002","\u63A7\u5236\u5C0B\u627E\u5C0F\u5DE5\u5177\u662F\u5426\u61C9\u5728\u7DE8\u8F2F\u5668\u9802\u7AEF\u984D\u5916\u65B0\u589E\u884C\u3002\u82E5\u70BA true\uFF0C\u7576\u60A8\u53EF\u770B\u5230\u5C0B\u627E\u5C0F\u5DE5\u5177\u6642\uFF0C\u60A8\u7684\u6372\u52D5\u7BC4\u570D\u6703\u8D85\u904E\u7B2C\u4E00\u884C\u3002","\u7576\u518D\u4E5F\u627E\u4E0D\u5230\u5176\u4ED6\u76F8\u7B26\u9805\u76EE\u6642\uFF0C\u63A7\u5236\u662F\u5426\u81EA\u52D5\u5F9E\u958B\u982D (\u6216\u7D50\u5C3E) \u91CD\u65B0\u958B\u59CB\u641C\u5C0B\u3002","\u555F\u7528/\u505C\u7528\u9023\u5B57\u5B57\u578B ('calt' \u548C 'liga' \u5B57\u578B\u529F\u80FD)\u3002\u5C07\u6B64\u9805\u8B8A\u66F4\u70BA\u5B57\u4E32\uFF0C\u4EE5\u7CBE\u78BA\u63A7\u5236 'font-feature-settings' CSS \u5C6C\u6027\u3002","\u660E\u78BA\u7684 'font-feature-settings' CSS \u5C6C\u6027\u3002\u5982\u679C\u53EA\u9700\u8981\u958B\u555F/\u95DC\u9589\u9023\u5B57\uFF0C\u53EF\u4EE5\u6539\u70BA\u50B3\u905E\u5E03\u6797\u503C\u3002","\u8A2D\u5B9A\u9023\u5B57\u5B57\u578B\u6216\u5B57\u578B\u529F\u80FD\u3002\u53EF\u4EE5\u662F\u5E03\u6797\u503C\u4EE5\u555F\u7528/\u505C\u7528\u9023\u5B57\uFF0C\u6216\u4EE3\u8868 CSS 'font-feature-settings' \u5C6C\u6027\u7684\u5B57\u4E32\u3002","\u63A7\u5236\u5B57\u578B\u5927\u5C0F (\u50CF\u7D20)\u3002","\u53EA\u5141\u8A31\u300C\u4E00\u822C\u300D\u53CA\u300C\u7C97\u9AD4\u300D\u95DC\u9375\u5B57\uFF0C\u6216\u4ECB\u65BC 1 \u5230 1000 \u4E4B\u9593\u7684\u6578\u503C\u3002","\u63A7\u5236\u5B57\u578B\u7C97\u7D30\u3002\u63A5\u53D7\u300C\u4E00\u822C\u300D\u53CA\u300C\u7C97\u9AD4\u300D\u95DC\u9375\u5B57\uFF0C\u6216\u4ECB\u65BC 1 \u5230 1000 \u4E4B\u9593\u7684\u6578\u503C\u3002","\u986F\u793A\u7D50\u679C\u7684\u9810\u89BD\u6AA2\u8996 (\u9810\u8A2D)","\u79FB\u81F3\u4E3B\u8981\u7D50\u679C\u4E26\u986F\u793A\u9810\u89BD\u6AA2\u8996","\u524D\u5F80\u4E3B\u8981\u7D50\u679C\uFF0C\u4E26\u5C0D\u5176\u4ED6\u4EBA\u555F\u7528\u7121\u9810\u89BD\u700F\u89BD","\u6B64\u8A2D\u5B9A\u5DF2\u6DD8\u6C70\uFF0C\u8ACB\u6539\u7528 'editor.editor.gotoLocation.multipleDefinitions' \u6216 'editor.editor.gotoLocation.multipleImplementations' \u7B49\u55AE\u7368\u8A2D\u5B9A\u3002","\u63A7\u5236 'Go to Definition' \u547D\u4EE4\u5728\u6709\u591A\u500B\u76EE\u6A19\u4F4D\u7F6E\u5B58\u5728\u6642\u7684\u884C\u70BA\u3002","\u63A7\u5236 'Go to Type Definition' \u547D\u4EE4\u5728\u6709\u591A\u500B\u76EE\u6A19\u4F4D\u7F6E\u5B58\u5728\u6642\u7684\u884C\u70BA\u3002","\u63A7\u5236 'Go to Declaration' \u547D\u4EE4\u5728\u6709\u591A\u500B\u76EE\u6A19\u4F4D\u7F6E\u5B58\u5728\u6642\u7684\u884C\u70BA\u3002","\u63A7\u5236 'Go to Implementations' \u547D\u4EE4\u5728\u6709\u591A\u500B\u76EE\u6A19\u4F4D\u7F6E\u5B58\u5728\u6642\u7684\u884C\u70BA\u3002","\u63A7\u5236 'Go to References' \u547D\u4EE4\u5728\u6709\u591A\u500B\u76EE\u6A19\u4F4D\u7F6E\u5B58\u5728\u6642\u7684\u884C\u70BA\u3002","\u7576 'Go to Definition' \u7684\u7D50\u679C\u70BA\u76EE\u524D\u4F4D\u7F6E\u6642\uFF0C\u6B63\u5728\u57F7\u884C\u7684\u66FF\u4EE3\u547D\u4EE4\u8B58\u5225\u78BC\u3002","\u7576 'Go to Type Definition' \u7684\u7D50\u679C\u70BA\u76EE\u524D\u4F4D\u7F6E\u6642\uFF0C\u6B63\u5728\u57F7\u884C\u7684\u66FF\u4EE3\u547D\u4EE4\u8B58\u5225\u78BC\u3002","\u7576 'Go to Declaration' \u7684\u7D50\u679C\u70BA\u76EE\u524D\u4F4D\u7F6E\u6642\uFF0C\u6B63\u5728\u57F7\u884C\u7684\u66FF\u4EE3\u547D\u4EE4\u8B58\u5225\u78BC\u3002","\u7576 'Go to Implementation' \u7684\u7D50\u679C\u70BA\u76EE\u524D\u4F4D\u7F6E\u6642\uFF0C\u6B63\u5728\u57F7\u884C\u7684\u66FF\u4EE3\u547D\u4EE4\u8B58\u5225\u78BC\u3002","\u7576 'Go to Reference' \u7684\u7D50\u679C\u70BA\u76EE\u524D\u4F4D\u7F6E\u6642\uFF0C\u6B63\u5728\u57F7\u884C\u7684\u66FF\u4EE3\u547D\u4EE4\u8B58\u5225\u78BC\u3002","\u63A7\u5236\u662F\u5426\u986F\u793A\u66AB\u7559\u3002","\u63A7\u5236\u66AB\u7559\u986F\u793A\u7684\u5EF6\u9072\u6642\u9593 (\u4EE5\u6BEB\u79D2\u70BA\u55AE\u4F4D)\u3002","\u63A7\u5236\u7576\u6ED1\u9F20\u79FB\u904E\u6642\uFF0C\u662F\u5426\u61C9\u4FDD\u6301\u986F\u793A\u66AB\u7559\u3002","\u5728\u7DE8\u8F2F\u5668\u4E2D\u555F\u7528\u7A0B\u5F0F\u78BC\u52D5\u4F5C\u71C8\u6CE1\u3002","\u555F\u7528\u7DE8\u8F2F\u5668\u4E2D\u7684\u5167\u5D4C\u63D0\u793A\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u4E2D\u7684\u5167\u5D4C\u63D0\u793A\u5B57\u578B\u5927\u5C0F\u3002\u8A2D\u5B9A\u70BA `0` \u6642\uFF0C\u6703\u4F7F\u7528 90% \u7684 `#editor.fontSize#`\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u4E2D\u7684\u5167\u5D4C\u63D0\u793A\u5B57\u578B\u5BB6\u65CF\u3002","\u63A7\u5236\u884C\u9AD8\u3002\u4F7F\u7528 0 \u6703\u5F9E\u5B57\u578B\u5927\u5C0F\u8A08\u7B97\u884C\u9AD8\u3002","\u63A7\u5236\u662F\u5426\u6703\u986F\u793A\u7E2E\u5716","\u7E2E\u5716\u5927\u5C0F\u8207\u7DE8\u8F2F\u5668\u5167\u5BB9\u76F8\u540C (\u4E14\u53EF\u80FD\u6703\u6372\u52D5)\u3002","\u7E2E\u5716\u6703\u8996\u9700\u8981\u4F38\u7E2E\uFF0C\u4EE5\u586B\u6EFF\u8A72\u7DE8\u8F2F\u5668\u7684\u9AD8\u5EA6 (\u7121\u6372\u52D5)\u3002","\u7E2E\u5716\u5C07\u8996\u9700\u8981\u7E2E\u5C0F\uFF0C\u4E00\u5F8B\u4E0D\u6703\u5927\u65BC\u8A72\u7DE8\u8F2F\u5668 (\u7121\u6372\u52D5)\u3002","\u63A7\u5236\u7E2E\u5716\u7684\u5927\u5C0F\u3002","\u63A7\u5236\u8981\u5728\u54EA\u7AEF\u5448\u73FE\u7E2E\u5716\u3002","\u63A7\u5236\u4F55\u6642\u986F\u793A\u8FF7\u4F60\u5730\u5716\u6ED1\u687F\u3002","\u7E2E\u5716\u5167\u6240\u7E6A\u88FD\u7684\u5167\u5BB9\u5927\u5C0F: 1\u30012 \u6216 3\u3002","\u986F\u793A\u884C\u4E2D\u7684\u5BE6\u969B\u5B57\u5143\uFF0C\u800C\u4E0D\u662F\u8272\u5F69\u5340\u584A\u3002","\u9650\u5236\u7E2E\u5716\u7684\u5BEC\u5EA6\uFF0C\u6700\u591A\u986F\u793A\u67D0\u500B\u6578\u76EE\u7684\u5217\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u4E0A\u908A\u7DE3\u8207\u7B2C\u4E00\u884C\u4E4B\u9593\u7684\u7A7A\u683C\u6578\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u4E0B\u908A\u7DE3\u8207\u6700\u5F8C\u4E00\u884C\u4E4B\u9593\u7684\u7A7A\u683C\u6578\u3002","\u555F\u7528\u5FEB\u986F\uFF0C\u5728\u60A8\u9375\u5165\u7684\u540C\u6642\u986F\u793A\u53C3\u6578\u6587\u4EF6\u548C\u985E\u578B\u8CC7\u8A0A\u3002","\u63A7\u5236\u63D0\u793A\u529F\u80FD\u8868\u662F\u5426\u5728\u6E05\u55AE\u7D50\u5C3E\u6642\u5FAA\u74B0\u6216\u95DC\u9589\u3002","\u5141\u8A31\u5728\u5B57\u4E32\u5167\u986F\u793A\u5373\u6642\u5EFA\u8B70\u3002","\u5141\u8A31\u5728\u8A3B\u89E3\u4E2D\u986F\u793A\u5373\u6642\u5EFA\u8B70\u3002","\u5141\u8A31\u5728\u5B57\u4E32\u8207\u8A3B\u89E3\u4EE5\u5916\u4E4B\u8655\u986F\u793A\u5373\u6642\u5EFA\u8B70\u3002","\u63A7\u5236\u662F\u5426\u61C9\u5728\u9375\u5165\u6642\u81EA\u52D5\u986F\u793A\u5EFA\u8B70\u3002","\u4E0D\u986F\u793A\u884C\u865F\u3002","\u884C\u865F\u4EE5\u7D55\u5C0D\u503C\u986F\u793A\u3002","\u884C\u865F\u4EE5\u76EE\u524D\u6E38\u6A19\u7684\u76F8\u5C0D\u503C\u986F\u793A\u3002","\u6BCF 10 \u884C\u986F\u793A\u884C\u865F\u3002","\u63A7\u5236\u884C\u865F\u7684\u986F\u793A\u3002","\u9019\u500B\u7DE8\u8F2F\u5668\u5C3A\u898F\u6703\u8F49\u8B6F\u7684\u7B49\u5BEC\u5B57\u5143\u6578\u3002","\u6B64\u7DE8\u8F2F\u5668\u5C3A\u898F\u7684\u8272\u5F69\u3002","\u5728\u67D0\u500B\u6578\u76EE\u7684\u7B49\u5BEC\u5B57\u5143\u4E4B\u5F8C\u986F\u793A\u5782\u76F4\u5C3A\u898F\u3002\u5982\u6709\u591A\u500B\u5C3A\u898F\uFF0C\u5C31\u6703\u4F7F\u7528\u591A\u500B\u503C\u3002\u82E5\u9663\u5217\u7A7A\u767D\uFF0C\u5C31\u4E0D\u6703\u7E6A\u88FD\u4EFB\u4F55\u5C3A\u898F\u3002","\u63D2\u5165\u5EFA\u8B70\u800C\u4E0D\u8986\u5BEB\u6E38\u6A19\u65C1\u7684\u6587\u5B57\u3002","\u63D2\u5165\u5EFA\u8B70\u4E26\u8986\u5BEB\u6E38\u6A19\u65C1\u7684\u6587\u5B57\u3002","\u63A7\u5236\u662F\u5426\u8981\u5728\u63A5\u53D7\u5B8C\u6210\u6642\u8986\u5BEB\u5B57\u7D44\u3002\u8ACB\u6CE8\u610F\uFF0C\u9019\u53D6\u6C7A\u65BC\u52A0\u5165\u6B64\u529F\u80FD\u7684\u5EF6\u4F38\u6A21\u7D44\u3002","\u63A7\u5236\u5C0D\u65BC\u62DA\u932F\u5B57\u662F\u5426\u9032\u884C\u7BE9\u9078\u548C\u6392\u5E8F\u5176\u5EFA\u8B70","\u63A7\u5236\u6392\u5E8F\u662F\u5426\u6703\u504F\u597D\u6E38\u6A19\u9644\u8FD1\u51FA\u73FE\u7684\u5B57\u7D44\u3002","\u63A7\u5236\u8A18\u9304\u7684\u5EFA\u8B70\u9078\u53D6\u9805\u76EE\u662F\u5426\u5728\u591A\u500B\u5DE5\u4F5C\u5340\u548C\u8996\u7A97\u9593\u5171\u7528 (\u9700\u8981 `#editor.suggestSelection#`)\u3002","\u63A7\u5236\u6B63\u5728\u4F7F\u7528\u7684\u7A0B\u5F0F\u78BC\u7247\u6BB5\u662F\u5426\u6703\u907F\u514D\u5FEB\u901F\u5EFA\u8B70\u3002","\u63A7\u5236\u8981\u5728\u5EFA\u8B70\u4E2D\u986F\u793A\u6216\u96B1\u85CF\u5716\u793A\u3002","\u63A7\u5236\u5EFA\u8B70\u5C0F\u5DE5\u5177\u5E95\u4E0B\u7684\u72C0\u614B\u5217\u53EF\u898B\u5EA6\u3002","\u63A7\u5236\u5EFA\u8B70\u8A73\u7D30\u8CC7\u6599\u662F\u4EE5\u5167\u5D4C\u65BC\u6A19\u7C64\u7684\u65B9\u5F0F\u986F\u793A\uFF0C\u9084\u662F\u53EA\u5728\u8A73\u7D30\u8CC7\u6599\u5C0F\u5DE5\u5177\u4E2D\u986F\u793A","\u6B64\u8A2D\u5B9A\u5DF2\u6DD8\u6C70\u3002\u5EFA\u8B70\u5C0F\u5DE5\u5177\u73FE\u53EF\u8ABF\u6574\u5927\u5C0F\u3002","\u6B64\u8A2D\u5B9A\u5DF2\u6DD8\u6C70\uFF0C\u8ACB\u6539\u7528 'editor.suggest.showKeywords' \u6216 'editor.suggest.showSnippets' \u7B49\u55AE\u7368\u8A2D\u5B9A\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u65B9\u6CD5\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u51FD\u5F0F\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u5EFA\u69CB\u51FD\u5F0F\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u6B04\u4F4D\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u8B8A\u6578\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u985E\u5225\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u7D50\u69CB\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u4ECB\u9762\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u6A21\u7D44\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u5C6C\u6027\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u4E8B\u4EF6\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u904B\u7B97\u5B50\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u55AE\u4F4D\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u503C\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u5E38\u6578\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u5217\u8209\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300CenumMember\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u95DC\u9375\u5B57\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u6587\u5B57\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u8272\u5F69\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u6A94\u6848\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u53C3\u8003\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300Ccustomcolor\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u8CC7\u6599\u593E\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300CtypeParameter\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u986F\u793A\u300C\u7A0B\u5F0F\u78BC\u7247\u6BB5\u300D\u5EFA\u8B70\u3002","\u555F\u7528\u4E4B\u5F8C\uFF0CIntelliSense \u6703\u986F\u793A `user`-suggestions\u3002","\u555F\u7528\u6642\uFF0CIntelliSense \u6703\u986F\u793A `issues`-suggestions\u3002","\u662F\u5426\u61C9\u4E00\u5F8B\u9078\u53D6\u524D\u7F6E\u548C\u5F8C\u7F6E\u7684\u7A7A\u767D\u5B57\u5143\u3002","\u63A7\u5236\u662F\u5426\u900F\u904E\u8A8D\u53EF\u5B57\u5143\u63A5\u53D7\u5EFA\u8B70\u3002\u4F8B\u5982\u5728 JavaScript \u4E2D\uFF0C\u5206\u865F (';') \u53EF\u4EE5\u662F\u63A5\u53D7\u5EFA\u8B70\u4E26\u9375\u5165\u8A72\u5B57\u5143\u7684\u8A8D\u53EF\u5B57\u5143\u3002","\u5728\u5EFA\u8B70\u9032\u884C\u6587\u5B57\u8B8A\u66F4\u6642\uFF0C\u50C5\u900F\u904E `Enter` \u63A5\u53D7\u5EFA\u8B70\u3002","\u63A7\u5236\u9664\u4E86 'Tab' \u5916\uFF0C\u662F\u5426\u4E5F\u900F\u904E 'Enter' \u63A5\u53D7\u5EFA\u8B70\u3002\u9019\u6709\u52A9\u65BC\u907F\u514D\u6DF7\u6DC6\u8981\u63D2\u5165\u65B0\u884C\u6216\u63A5\u53D7\u5EFA\u8B70\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u4E2D\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u53EF\u8B80\u51FA\u7684\u884C\u6578\u3002\u8B66\u544A: \u5927\u65BC\u9810\u8A2D\u7684\u6578\u76EE\u6703\u5C0D\u6548\u80FD\u7522\u751F\u5F71\u97FF\u3002","\u7DE8\u8F2F\u5668\u5167\u5BB9","\u4F7F\u7528\u8A9E\u8A00\u914D\u7F6E\u78BA\u5B9A\u4F55\u6642\u81EA\u52D5\u95DC\u9589\u62EC\u865F\u3002","\u50C5\u7576\u6E38\u6A19\u4F4D\u65BC\u7A7A\u767D\u7684\u5DE6\u5074\u6642\u81EA\u52D5\u95DC\u9589\u62EC\u865F\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u5728\u4F7F\u7528\u8005\u65B0\u589E\u5DE6\u62EC\u5F27\u5F8C\uFF0C\u81EA\u52D5\u52A0\u4E0A\u53F3\u62EC\u5F27\u3002","\u50C5\u5728\u81EA\u52D5\u63D2\u5165\u53F3\u5F15\u865F\u6216\u62EC\u865F\u6642\uFF0C\u624D\u5728\u5176\u4E0A\u65B9\u9375\u5165\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u5728\u53F3\u5F15\u865F\u6216\u62EC\u865F\u4E0A\u9375\u5165\u3002","\u4F7F\u7528\u8A9E\u8A00\u914D\u7F6E\u78BA\u5B9A\u4F55\u6642\u81EA\u52D5\u95DC\u9589\u5F15\u865F\u3002","\u50C5\u7576\u6E38\u6A19\u4F4D\u65BC\u7A7A\u767D\u7684\u5DE6\u5074\u6642\u81EA\u52D5\u95DC\u9589\u5F15\u865F\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u5728\u4F7F\u7528\u8005\u65B0\u589E\u958B\u59CB\u5F15\u865F\u5F8C\uFF0C\u81EA\u52D5\u52A0\u4E0A\u95DC\u9589\u5F15\u865F\u3002","\u7DE8\u8F2F\u5668\u4E0D\u6703\u81EA\u52D5\u63D2\u5165\u7E2E\u6392\u3002","\u7DE8\u8F2F\u5668\u6703\u4FDD\u7559\u76EE\u524D\u884C\u7684\u7E2E\u6392\u3002","\u7DE8\u8F2F\u5668\u6703\u4FDD\u7559\u76EE\u524D\u884C\u7684\u7E2E\u6392\u4E26\u63A5\u53D7\u8A9E\u8A00\u5B9A\u7FA9\u7684\u62EC\u865F\u3002","\u7DE8\u8F2F\u5668\u6703\u76EE\u524D\u884C\u7684\u7E2E\u6392\u3001\u63A5\u53D7\u8A9E\u8A00\u5B9A\u7FA9\u7684\u62EC\u865F\u4E26\u53EB\u7528\u8A9E\u8A00\u5B9A\u7FA9\u7684\u7279\u6B8A onEnterRules\u3002","\u7DE8\u8F2F\u5668\u6703\u4FDD\u7559\u76EE\u524D\u884C\u7684\u7E2E\u6392\u3001\u63A5\u53D7\u8A9E\u8A00\u5B9A\u7FA9\u7684\u62EC\u865F\u4E26\u53EB\u7528\u8A9E\u8A00\u5B9A\u7FA9\u7684\u7279\u6B8A onEnterRules \u4E26\u63A5\u53D7\u8A9E\u8A00\u5B9A\u7FA9\u7684 indentationRules\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u5728\u4F7F\u7528\u8005\u9375\u5165\u3001\u8CBC\u4E0A\u3001\u79FB\u52D5\u6216\u7E2E\u6392\u884C\u6642\u81EA\u52D5\u8ABF\u6574\u7E2E\u6392\u3002","\u4F7F\u7528\u8A9E\u8A00\u7D44\u614B\u4F86\u6C7A\u5B9A\u4F55\u6642\u81EA\u52D5\u74B0\u7E5E\u9078\u53D6\u9805\u76EE\u3002","\u7528\u5F15\u865F\u62EC\u4F4F\uFF0C\u800C\u975E\u4F7F\u7528\u62EC\u5F27\u3002","\u7528\u62EC\u5F27\u62EC\u4F4F\uFF0C\u800C\u975E\u4F7F\u7528\u5F15\u865F\u3002 ","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u5728\u9375\u5165\u5F15\u865F\u6216\u62EC\u5F27\u6642\u81EA\u52D5\u5305\u570D\u9078\u53D6\u7BC4\u570D\u3002","\u7576\u4F7F\u7528\u7A7A\u683C\u9032\u884C\u7E2E\u6392\u6642\uFF0C\u6703\u6A21\u64EC\u5B9A\u4F4D\u5B57\u5143\u7684\u9078\u53D6\u884C\u70BA\u3002\u9078\u53D6\u7BC4\u570D\u6703\u4F9D\u5FAA\u5B9A\u4F4D\u505C\u99D0\u9EDE\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u986F\u793A codelens\u3002","\u63A7\u5236 CodeLens \u7684\u5B57\u578B\u5BB6\u65CF\u3002","\u63A7\u5236 CodeLens \u7684\u5B57\u578B\u5927\u5C0F (\u50CF\u7D20)\u3002\u8A2D\u5B9A\u70BA `0` \u6642\uFF0C\u6703\u4F7F\u7528 90% \u7684 `#editor.fontSize#`\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u8F49\u8B6F\u5167\u5D4C\u8272\u5F69\u88DD\u98FE\u9805\u76EE\u8207\u8272\u5F69\u9078\u64C7\u5668\u3002","\u555F\u7528\u5373\u53EF\u4EE5\u6ED1\u9F20\u8207\u6309\u9375\u9078\u53D6\u9032\u884C\u8CC7\u6599\u884C\u9078\u53D6\u3002","\u63A7\u5236\u8A9E\u6CD5\u9192\u76EE\u63D0\u793A\u662F\u5426\u61C9\u8907\u88FD\u5230\u526A\u8CBC\u7C3F\u3002","\u63A7\u5236\u8CC7\u6599\u6307\u6A19\u52D5\u756B\u6A23\u5F0F\u3002","\u63A7\u5236\u662F\u5426\u61C9\u555F\u7528\u5E73\u6ED1\u63D2\u5165\u9EDE\u52D5\u756B\u3002 ","\u63A7\u5236\u8CC7\u6599\u6307\u6A19\u6A23\u5F0F\u3002","\u63A7\u5236\u6E38\u6A19\u4E0A\u4E0B\u5468\u570D\u53EF\u986F\u793A\u7684\u6700\u5C11\u884C\u6578\u3002\u5728\u67D0\u4E9B\u7DE8\u8F2F\u5668\u4E2D\u7A31\u70BA 'scrollOff' \u6216 'scrollOffset'\u3002","\u53EA\u6709\u901A\u904E\u9375\u76E4\u6216 API \u89F8\u767C\u6642\uFF0C\u624D\u6703\u65BD\u884C `cursorSurroundingLines`\u3002","\u4E00\u5F8B\u5F37\u5236\u57F7\u884C `cursorSurroundingLines`","\u63A7\u5236\u61C9\u65BD\u884C `cursorSurroundingLines` \u7684\u6642\u6A5F\u3002","\u63A7\u5236\u6E38\u6A19\u5BEC\u5EA6\uFF0C\u7576 `#editor.cursorStyle#` \u8A2D\u5B9A\u70BA `line` \u6642\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u5141\u8A31\u900F\u904E\u62D6\u653E\u4F86\u79FB\u52D5\u9078\u53D6\u9805\u76EE\u3002","\u6309\u4E0B `Alt` \u6642\u7684\u6372\u52D5\u901F\u5EA6\u4E58\u6578\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u555F\u7528\u7A0B\u5F0F\u78BC\u647A\u758A\u529F\u80FD\u3002","\u4F7F\u7528\u8A9E\u8A00\u7279\u5B9A\u647A\u758A\u7B56\u7565 (\u5982\u679C\u53EF\u7528)\uFF0C\u5426\u5247\u4F7F\u7528\u7E2E\u6392\u5F0F\u7B56\u7565\u3002","\u4F7F\u7528\u7E2E\u6392\u5F0F\u647A\u758A\u7B56\u7565\u3002","\u63A7\u5236\u8A08\u7B97\u8CC7\u6599\u593E\u7BC4\u570D\u7684\u7B56\u7565\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u5C07\u6298\u758A\u7684\u7BC4\u570D\u9192\u76EE\u63D0\u793A\u3002","\u63A7\u5236\u6309\u4E00\u4E0B\u5DF2\u6298\u758A\u884C\u5F8C\u65B9\u7684\u7A7A\u767D\u5167\u5BB9\u662F\u5426\u6703\u5C55\u958B\u884C\u3002","\u63A7\u5236\u5B57\u578B\u5BB6\u65CF\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u81EA\u52D5\u70BA\u8CBC\u4E0A\u7684\u5167\u5BB9\u8A2D\u5B9A\u683C\u5F0F\u3002\u5FC5\u9808\u6709\u53EF\u7528\u7684\u683C\u5F0F\u5668\uFF0C\u800C\u4E14\u683C\u5F0F\u5668\u61C9\u80FD\u5920\u70BA\u6587\u4EF6\u4E2D\u7684\u4E00\u500B\u7BC4\u570D\u8A2D\u5B9A\u683C\u5F0F\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u81EA\u52D5\u5728\u9375\u5165\u5F8C\u8A2D\u5B9A\u884C\u7684\u683C\u5F0F\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u8F49\u8B6F\u5782\u76F4\u5B57\u7B26\u908A\u754C\u3002\u5B57\u7B26\u908A\u754C\u6700\u5E38\u7528\u4F86\u9032\u884C\u5075\u932F\u3002","\u63A7\u5236\u6E38\u6A19\u662F\u5426\u61C9\u96B1\u85CF\u5728\u6982\u89C0\u5C3A\u898F\u4E2D\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u9192\u76EE\u63D0\u793A\u4F7F\u7528\u4E2D\u7684\u7E2E\u6392\u8F14\u52A9\u7DDA\u3002","\u63A7\u5236\u5B57\u6BCD\u9593\u8DDD (\u50CF\u7D20)\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u5DF2\u555F\u7528\u9023\u7D50\u7DE8\u8F2F\u3002\u76F8\u95DC\u7B26\u865F (\u4F8B\u5982 HTML \u6A19\u7C64) \u6703\u6839\u64DA\u8A9E\u8A00\u5728\u7DE8\u8F2F\u6642\u66F4\u65B0\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u5075\u6E2C\u9023\u7D50\u4E26\u4F7F\u5176\u53EF\u4F9B\u9EDE\u9078\u3002","\u5C07\u7B26\u5408\u7684\u62EC\u865F\u9192\u76EE\u63D0\u793A\u3002","\u8981\u7528\u65BC\u6ED1\u9F20\u6EFE\u8F2A\u6372\u52D5\u4E8B\u4EF6 `deltaX` \u548C `deltaY` \u7684\u4E58\u6578\u3002","\u4F7F\u7528\u6ED1\u9F20\u6EFE\u8F2A\u4E26\u6309\u4F4F `Ctrl` \u6642\uFF0C\u7E2E\u653E\u7DE8\u8F2F\u5668\u7684\u5B57\u578B","\u5728\u591A\u500B\u6E38\u6A19\u91CD\u758A\u6642\u5C07\u5176\u5408\u4F75\u3002","\u5C0D\u61C9Windows\u548CLinux\u7684'Control'\u8207\u5C0D\u61C9 macOS \u7684'Command'\u3002","\u5C0D\u61C9Windows\u548CLinux\u7684'Alt'\u8207\u5C0D\u61C9macOS\u7684'Option'\u3002","\u7528\u65BC\u5728\u6ED1\u9F20\u65B0\u589E\u591A\u500B\u6E38\u6A19\u7684\u4E58\u6578\u3002\u300C\u79FB\u81F3\u5B9A\u7FA9\u300D\u548C\u300C\u958B\u555F\u9023\u7D50\u300D\u6ED1\u9F20\u624B\u52E2\u6703\u52A0\u4EE5\u9069\u61C9\uFF0C\u4EE5\u907F\u514D\u8207\u591A\u500B\u6E38\u6A19\u7684\u4E58\u6578\u76F8\u885D\u7A81\u3002[\u6DF1\u5165\u4E86\u89E3](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)\u3002","\u6BCF\u500B\u6E38\u6A19\u90FD\u6703\u8CBC\u4E0A\u4E00\u884C\u6587\u5B57\u3002","\u6BCF\u500B\u6E38\u6A19\u90FD\u6703\u8CBC\u4E0A\u5168\u6587\u3002","\u7576\u5DF2\u8CBC\u4E0A\u6587\u5B57\u7684\u884C\u6578\u8207\u6E38\u6A19\u6578\u76F8\u7B26\u6642\u63A7\u5236\u8CBC\u4E0A\u529F\u80FD\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u9192\u76EE\u986F\u793A\u51FA\u73FE\u7684\u8A9E\u610F\u7B26\u865F\u3002","\u63A7\u5236\u662F\u5426\u61C9\u5728\u6982\u89C0\u5C3A\u898F\u5468\u570D\u7E6A\u88FD\u6846\u7DDA\u3002","\u958B\u555F\u9810\u89BD\u6642\u7126\u9EDE\u6A39\u72C0","\u958B\u555F\u6642\u805A\u7126\u7DE8\u8F2F\u5668","\u63A7\u5236\u8981\u805A\u7126\u5167\u5D4C\u7DE8\u8F2F\u5668\u6216\u9810\u89BD\u5C0F\u5DE5\u5177\u4E2D\u7684\u6A39\u7CFB\u3002","\u63A7\u5236\u300C\u524D\u5F80\u5B9A\u7FA9\u300D\u6ED1\u9F20\u624B\u52E2\uFF0C\u662F\u5426\u4E00\u5F8B\u958B\u555F\u7784\u6838\u5C0F\u5DE5\u5177\u3002","\u63A7\u5236\u5728\u5FEB\u901F\u5EFA\u8B70\u986F\u793A\u5F8C\u7684\u5EF6\u9072 (\u4EE5\u6BEB\u79D2\u70BA\u55AE\u4F4D)\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u6703\u81EA\u52D5\u4F9D\u985E\u578B\u91CD\u65B0\u547D\u540D\u3002","\u5DF2\u6DD8\u6C70\uFF0C\u8ACB\u6539\u7528 `editor.linkedEditing`\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u986F\u793A\u63A7\u5236\u5B57\u5143\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u986F\u793A\u7E2E\u6392\u8F14\u52A9\u7DDA\u3002","\u5728\u6A94\u6848\u7D50\u5C3E\u70BA\u65B0\u884C\u6642\uFF0C\u5448\u73FE\u6700\u5F8C\u4E00\u884C\u7684\u865F\u78BC\u3002","\u9192\u76EE\u63D0\u793A\u88DD\u8A02\u908A\u548C\u76EE\u524D\u7684\u884C\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u5982\u4F55\u986F\u793A\u76EE\u524D\u884C\u7684\u9192\u76EE\u63D0\u793A\u3002","\u7576\u7126\u9EDE\u70BA\u8A72\u7DE8\u8F2F\u5668\u6642\uFF0C\u63A7\u5236\u8A72\u7DE8\u8F2F\u5668\u662F\u5426\u50C5\u61C9\u8F49\u8B6F\u76EE\u524D\u884C\u7684\u9192\u76EE\u63D0\u793A","\u8F49\u8B6F\u7A7A\u767D\u5B57\u5143\uFF0C\u4F46\u6587\u5B57\u4E4B\u9593\u7684\u55AE\u4E00\u7A7A\u683C\u9664\u5916\u3002","\u53EA\u8F49\u8B6F\u6240\u9078\u6587\u5B57\u7684\u7A7A\u767D\u5B57\u5143\u3002","\u53EA\u8F49\u8B6F\u7D50\u5C3E\u7A7A\u767D\u5B57\u5143","\u63A7\u5236\u7DE8\u8F2F\u5668\u61C9\u5982\u4F55\u8F49\u8B6F\u7A7A\u767D\u5B57\u5143\u3002","\u63A7\u5236\u9078\u53D6\u7BC4\u570D\u662F\u5426\u6709\u5713\u89D2","\u63A7\u5236\u7DE8\u8F2F\u5668\u6C34\u5E73\u6372\u52D5\u7684\u984D\u5916\u5B57\u5143\u6578\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u6372\u52D5\u5230\u6700\u5F8C\u4E00\u884C\u4E4B\u5916\u3002","\u540C\u6642\u9032\u884C\u5782\u76F4\u8207\u6C34\u5E73\u6372\u52D5\u6642\uFF0C\u50C5\u6CBF\u4E3B\u8EF8\u6372\u52D5\u3002\u907F\u514D\u5728\u8ECC\u8DE1\u677F\u4E0A\u9032\u884C\u5782\u76F4\u6372\u52D5\u6642\u767C\u751F\u6C34\u5E73\u6F02\u79FB\u3002","\u63A7\u5236\u662F\u5426\u652F\u63F4 Linux \u4E3B\u8981\u526A\u8CBC\u7C3F\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u61C9\u9192\u76EE\u63D0\u793A\u8207\u9078\u53D6\u9805\u76EE\u985E\u4F3C\u7684\u76F8\u7B26\u9805\u76EE\u3002","\u4E00\u5F8B\u986F\u793A\u647A\u758A\u63A7\u5236\u9805\u3002","\u50C5\u7576\u6ED1\u9F20\u61F8\u505C\u5728\u6D3B\u52D5\u5217\u4E0A\u6642\uFF0C\u624D\u986F\u793A\u6298\u758A\u529F\u80FD\u3002","\u63A7\u5236\u647A\u758A\u63A7\u5236\u9805\u5728\u88DD\u8A02\u908A\u4E0A\u7684\u986F\u793A\u6642\u6A5F\u3002","\u63A7\u5236\u672A\u4F7F\u7528\u7A0B\u5F0F\u78BC\u7684\u6DE1\u51FA\u3002","\u63A7\u5236\u5DF2\u522A\u9664\u7684\u6DD8\u6C70\u8B8A\u6578\u3002","\u5C07\u7A0B\u5F0F\u78BC\u7247\u6BB5\u5EFA\u8B70\u986F\u793A\u65BC\u5176\u4ED6\u5EFA\u8B70\u7684\u9802\u7AEF\u3002","\u5C07\u7A0B\u5F0F\u78BC\u7247\u6BB5\u5EFA\u8B70\u986F\u793A\u65BC\u5176\u4ED6\u5EFA\u8B70\u7684\u4E0B\u65B9\u3002","\u5C07\u7A0B\u5F0F\u78BC\u7247\u6BB5\u5EFA\u8B70\u8207\u5176\u4ED6\u5EFA\u8B70\u4E00\u540C\u986F\u793A\u3002","\u4E0D\u986F\u793A\u7A0B\u5F0F\u78BC\u7247\u6BB5\u5EFA\u8B70\u3002","\u63A7\u5236\u7A0B\u5F0F\u78BC\u7247\u6BB5\u662F\u5426\u96A8\u5176\u4ED6\u5EFA\u8B70\u986F\u793A\uFF0C\u4EE5\u53CA\u5176\u6392\u5E8F\u65B9\u5F0F\u3002","\u63A7\u5236\u7DE8\u8F2F\u5668\u662F\u5426\u6703\u4F7F\u7528\u52D5\u756B\u6372\u52D5","\u5EFA\u8B70\u5C0F\u5DE5\u5177\u7684\u5B57\u578B\u5927\u5C0F\u3002\u7576\u8A2D\u5B9A\u70BA `0` \u6642\uFF0C\u5247\u4F7F\u7528 `#editor.fontSize#` \u503C.","\u5EFA\u8B70\u5C0F\u5DE5\u5177\u7684\u884C\u9AD8\u3002\u7576\u8A2D\u5B9A\u70BA `0` \u6642\uFF0C\u5247\u4F7F\u7528 `#editor.lineHeight#` \u7684\u503C\u3002\u6700\u5C0F\u503C\u70BA 8\u3002","\u63A7\u5236\u5EFA\u8B70\u662F\u5426\u61C9\u5728\u9375\u5165\u89F8\u767C\u5B57\u5143\u6642\u81EA\u52D5\u986F\u793A\u3002","\u4E00\u5F8B\u9078\u53D6\u7B2C\u4E00\u500B\u5EFA\u8B70\u3002","\u9664\u975E\u9032\u4E00\u6B65\u9375\u5165\u9078\u53D6\u4E86\u5EFA\u8B70\uFF0C\u5426\u5247\u9078\u53D6\u6700\u8FD1\u7684\u5EFA\u8B70\uFF0C\u4F8B\u5982 `console.| -> console.log`\uFF0C\u539F\u56E0\u662F\u6700\u8FD1\u5B8C\u6210\u4E86 `log`\u3002","\u6839\u64DA\u5148\u524D\u5DF2\u5B8C\u6210\u8A72\u5EFA\u8B70\u7684\u524D\u7F6E\u8A5E\u9078\u53D6\u5EFA\u8B70\uFF0C\u4F8B\u5982 `co -> console` \u548C `con -> const`\u3002","\u63A7\u5236\u5728\u986F\u793A\u5EFA\u8B70\u6E05\u55AE\u6642\u5982\u4F55\u9810\u5148\u9078\u53D6\u5EFA\u8B70\u3002","\u6309 Tab \u6642\uFF0CTab \u5B8C\u6210\u6703\u63D2\u5165\u6700\u7B26\u5408\u7684\u5EFA\u8B70\u3002","\u505C\u7528 tab \u9375\u81EA\u52D5\u5B8C\u6210\u3002","\u5728\u7A0B\u5F0F\u78BC\u7247\u6BB5\u7684\u9996\u78BC\u76F8\u7B26\u6642\u4F7F\u7528 Tab \u5B8C\u6210\u3002\u672A\u555F\u7528 'quickSuggestions' \u6642\u6548\u679C\u6700\u4F73\u3002","\u555F\u7528 tab \u9375\u81EA\u52D5\u5B8C\u6210\u3002","\u81EA\u52D5\u79FB\u9664\u7570\u5E38\u7684\u884C\u7D50\u675F\u5B57\u5143\u3002","\u5FFD\u7565\u7570\u5E38\u7684\u884C\u7D50\u675F\u5B57\u5143\u3002","\u8981\u79FB\u9664\u4E4B\u7570\u5E38\u7684\u884C\u7D50\u675F\u5B57\u5143\u63D0\u793A\u3002","\u79FB\u9664\u53EF\u80FD\u5C0E\u81F4\u554F\u984C\u7684\u7570\u5E38\u884C\u7D50\u675F\u5B57\u5143\u3002","\u63D2\u5165\u548C\u522A\u9664\u63A5\u5728\u5B9A\u4F4D\u505C\u99D0\u9EDE\u5F8C\u7684\u7A7A\u767D\u5B57\u5143\u3002","\u5728\u57F7\u884C\u6587\u5B57\u76F8\u95DC\u5C0E\u89BD\u6216\u4F5C\u696D\u6642\u8981\u7528\u4F5C\u6587\u5B57\u5206\u9694\u7B26\u865F\u7684\u5B57\u5143","\u4E00\u5F8B\u4E0D\u63DB\u884C\u3002","\u4F9D\u6AA2\u8996\u5340\u5BEC\u5EA6\u63DB\u884C\u3002","\u65BC '#editor.wordWrapColumn#' \u63DB\u884C\u3002","\u7576\u6AA2\u8996\u5340\u7E2E\u81F3\u6700\u5C0F\u4E26\u8A2D\u5B9A '#editor.wordWrapColumn#' \u6642\u63DB\u884C\u3002","\u63A7\u5236\u5982\u4F55\u63DB\u884C\u3002","\u7576 `#editor.wordWrap#` \u70BA `wordWrapColumn` \u6216 `bounded` \u6642\uFF0C\u63A7\u5236\u7DE8\u8F2F\u5668\u4E2D\u7684\u8CC7\u6599\u884C\u63DB\u884C\u3002","\u7121\u7E2E\u6392\u3002\u63DB\u884C\u5F9E\u7B2C 1 \u5217\u958B\u59CB\u3002","\u63DB\u884C\u7684\u7E2E\u6392\u6703\u8207\u7236\u884C\u76F8\u540C\u3002","\u63DB\u884C\u7684\u7E2E\u6392\u70BA\u7236\u884C +1\u3002","\u63DB\u884C\u7E2E\u6392\u70BA\u7236\u884C +2\u3002","\u63A7\u5236\u63DB\u884C\u7684\u7E2E\u6392\u3002","\u5047\u8A2D\u6240\u6709\u5B57\u5143\u7684\u5BEC\u5EA6\u5747\u76F8\u540C\u3002\u9019\u662F\u4E00\u7A2E\u5FEB\u901F\u7684\u6F14\u7B97\u6CD5\uFF0C\u9069\u7528\u65BC\u7B49\u5BEC\u5B57\u578B\uFF0C\u4EE5\u53CA\u5B57\u7B26\u5BEC\u5EA6\u76F8\u540C\u7684\u90E8\u5206\u6307\u4EE4\u78BC (\u4F8B\u5982\u62C9\u4E01\u6587\u5B57\u5143)\u3002","\u5C07\u5916\u570D\u9EDE\u8A08\u7B97\u59D4\u6D3E\u7D66\u700F\u89BD\u5668\u3002\u9019\u662F\u7DE9\u6162\u7684\u6F14\u7B97\u6CD5\uFF0C\u5982\u679C\u6A94\u6848\u8F03\u5927\u53EF\u80FD\u6703\u5C0E\u81F4\u51CD\u7D50\uFF0C\u4F46\u5728\u6240\u6709\u60C5\u6CC1\u4E0B\u90FD\u6B63\u5E38\u904B\u4F5C\u3002","\u63A7\u5236\u8A08\u7B97\u5916\u570D\u9EDE\u7684\u6F14\u7B97\u6CD5\u3002"],"vs/editor/common/editorContextKeys":["Whether the editor text has focus (cursor is blinking)","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)","Whether an editor or a rich text input has focus (cursor is blinking)","Whether the editor is read only","Whether the context is a diff editor","Whether `editor.columnSelection` is enabled","Whether the editor has text selected","Whether the editor has multiple selections","Whether `Tab` will move focus out of the editor","Whether the editor hover is visible","Whether the editor is part of a larger editor (e.g. notebooks)","The language identifier of the editor","Whether the editor has a completion item provider","Whether the editor has a code actions provider","Whether the editor has a code lens provider","Whether the editor has a definition provider","Whether the editor has a declaration provider","Whether the editor has an implementation provider","Whether the editor has a type definition provider","Whether the editor has a hover provider","Whether the editor has a document highlight provider","Whether the editor has a document symbol provider","Whether the editor has a reference provider","Whether the editor has a rename provider","Whether the editor has a signature help provider","Whether the editor has an inline hints provider","Whether the editor has a document formatting provider","Whether the editor has a document selection formatting provider","Whether the editor has multiple document formatting providers","Whether the editor has multiple document selection formatting providers"],"vs/editor/common/model/editStack":["\u6B63\u5728\u9375\u5165"],"vs/editor/common/modes/modesRegistry":["\u7D14\u6587\u5B57"],"vs/editor/common/standaloneStrings":["\u7121\u9078\u53D6\u9805\u76EE","\u7B2C {0} \u884C\uFF0C\u7B2C {1} \u6B04 (\u5DF2\u9078\u53D6 {2})","\u7B2C {0} \u884C\uFF0C\u7B2C {1} \u6B04","{0} \u500B\u9078\u53D6\u9805\u76EE (\u5DF2\u9078\u53D6 {1} \u500B\u5B57\u5143)","{0} \u500B\u9078\u53D6\u9805\u76EE","\u7ACB\u5373\u5C07\u8A2D\u5B9A `accessibilitySupport` \u8B8A\u66F4\u70BA 'on\u2019\u3002","\u7ACB\u5373\u958B\u555F\u7DE8\u8F2F\u5668\u5354\u52A9\u5DE5\u5177\u6587\u4EF6\u9801\u9762\u3002","\u5728 Diff \u7DE8\u8F2F\u5668\u7684\u552F\u8B80\u7A97\u683C\u4E2D\u3002","\u5728 Diff \u7DE8\u8F2F\u5668\u7684\u7A97\u683C\u4E2D\u3002","\u5728\u552F\u8B80\u7A0B\u5F0F\u78BC\u7DE8\u8F2F\u5668\u4E2D","\u5728\u7A0B\u5F0F\u78BC\u7DE8\u8F2F\u5668\u4E2D","\u82E5\u8981\u70BA\u7DE8\u8F2F\u5668\u9032\u884C\u6700\u80FD\u642D\u914D\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u4F7F\u7528\u7684\u8A2D\u5B9A\uFF0C\u8ACB\u7ACB\u5373\u6309 Command+E\u3002","\u82E5\u8981\u5C07\u7DE8\u8F2F\u5668\u8A2D\u5B9A\u70BA\u91DD\u5C0D\u642D\u914D\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u4F7F\u7528\u6700\u4F73\u5316\uFF0C\u8ACB\u7ACB\u5373\u6309 Control+E\u3002","\u7DE8\u8F2F\u5668\u5DF2\u8A2D\u5B9A\u70BA\u91DD\u5C0D\u642D\u914D\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u4F7F\u7528\u6700\u4F73\u5316\u3002","\u5DF2\u5C07\u6B64\u7DE8\u8F2F\u5668\u8A2D\u5B9A\u70BA\u6C38\u9060\u4E0D\u91DD\u5C0D\u642D\u914D\u87A2\u5E55\u52A9\u8B80\u7A0B\u5F0F\u4F7F\u7528\u6700\u4F73\u5316\uFF0C\u4F46\u76EE\u524D\u4E0D\u662F\u6B64\u60C5\u6CC1\u3002","\u5728\u76EE\u524D\u7684\u7DE8\u8F2F\u5668\u4E2D\u6309 Tab \u9375\u6703\u5C07\u7126\u9EDE\u79FB\u81F3\u4E0B\u4E00\u500B\u53EF\u8A2D\u5B9A\u7126\u9EDE\u7684\u5143\u7D20\u3002\u6309 {0} \u53EF\u5207\u63DB\u6B64\u884C\u70BA\u3002","\u5728\u76EE\u524D\u7684\u7DE8\u8F2F\u5668\u4E2D\u6309 Tab \u9375\u6703\u5C07\u7126\u9EDE\u79FB\u81F3\u4E0B\u4E00\u500B\u53EF\u8A2D\u5B9A\u7126\u9EDE\u7684\u5143\u7D20\u3002\u547D\u4EE4 {0} \u76EE\u524D\u7121\u6CD5\u7531\u6309\u9375\u7E6B\u7D50\u95DC\u4FC2\u89F8\u767C\u3002","\u5728\u76EE\u524D\u7684\u7DE8\u8F2F\u5668\u4E2D\u6309 Tab \u9375\u6703\u63D2\u5165\u5B9A\u4F4D\u5B57\u5143\u3002\u6309 {0} \u53EF\u5207\u63DB\u6B64\u884C\u70BA\u3002","\u5728\u76EE\u524D\u7684\u7DE8\u8F2F\u5668\u4E2D\u6309 Tab \u9375\u6703\u63D2\u5165\u5B9A\u4F4D\u5B57\u5143\u3002\u547D\u4EE4 {0} \u76EE\u524D\u7121\u6CD5\u7531\u6309\u9375\u7E6B\u7D50\u95DC\u4FC2\u89F8\u767C\u3002","\u7ACB\u5373\u6309 Command+H\uFF0C\u4EE5\u958B\u555F\u63D0\u4F9B\u7DE8\u8F2F\u5668\u5354\u52A9\u5DE5\u5177\u76F8\u95DC\u8A73\u7D30\u8CC7\u8A0A\u7684\u700F\u89BD\u5668\u8996\u7A97\u3002","\u7ACB\u5373\u6309 Control+H\uFF0C\u4EE5\u958B\u555F\u63D0\u4F9B\u7DE8\u8F2F\u5668\u5354\u52A9\u5DE5\u5177\u76F8\u95DC\u8A73\u7D30\u8CC7\u8A0A\u7684\u700F\u89BD\u5668\u8996\u7A97\u3002","\u60A8\u53EF\u4EE5\u6309 Esc \u9375\u6216 Shift+Esc \u9375\u4F86\u89E3\u9664\u6B64\u5DE5\u5177\u63D0\u793A\u4E26\u8FD4\u56DE\u7DE8\u8F2F\u5668\u3002","\u986F\u793A\u5354\u52A9\u5DE5\u5177\u8AAA\u660E","\u958B\u767C\u4EBA\u54E1: \u6AA2\u67E5\u6B0A\u6756","\u524D\u5F80\u884C/\u6B04...","\u986F\u793A\u6240\u6709\u5FEB\u901F\u5B58\u53D6\u63D0\u4F9B\u8005","\u547D\u4EE4\u9078\u64C7\u5340","\u986F\u793A\u4E26\u57F7\u884C\u547D\u4EE4","\u79FB\u81F3\u7B26\u865F...","\u524D\u5F80\u7B26\u865F (\u4F9D\u985E\u5225)...","\u7DE8\u8F2F\u5668\u5167\u5BB9","\u6309 Alt+F1 \u53EF\u53D6\u5F97\u5354\u52A9\u5DE5\u5177\u9078\u9805\u3002","\u5207\u63DB\u9AD8\u5C0D\u6BD4\u4F48\u666F\u4E3B\u984C","\u5DF2\u5728 {1} \u6A94\u6848\u4E2D\u9032\u884C {0} \u9805\u7DE8\u8F2F"],"vs/editor/common/view/editorColorRegistry":["\u76EE\u524D\u6E38\u6A19\u4F4D\u7F6E\u884C\u7684\u53CD\u767D\u986F\u793A\u80CC\u666F\u8272\u5F69\u3002","\u76EE\u524D\u6E38\u6A19\u4F4D\u7F6E\u884C\u4E4B\u5468\u570D\u6846\u7DDA\u7684\u80CC\u666F\u8272\u5F69\u3002","\u9192\u76EE\u63D0\u793A\u7BC4\u570D\u7684\u80CC\u666F\u8272\u5F69\uFF0C\u4F8B\u5982\u5FEB\u901F\u958B\u555F\u4E26\u5C0B\u627E\u529F\u80FD\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u53CD\u767D\u986F\u793A\u7BC4\u570D\u5468\u570D\u908A\u6846\u7684\u80CC\u666F\u984F\u8272\u3002","\u9192\u76EE\u63D0\u793A\u7B26\u865F\u7684\u80CC\u666F\u8272\u5F69\uFF0C\u76F8\u4F3C\u65BC\u524D\u5F80\u4E0B\u4E00\u500B\u5B9A\u7FA9\u6216\u524D\u5F80\u4E0B\u4E00\u500B/\u4E0A\u4E00\u500B\u7B26\u865F\u3002\u8272\u5F69\u5FC5\u9808\u900F\u660E\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u9192\u76EE\u63D0\u793A\u5468\u570D\u7684\u908A\u754C\u80CC\u666F\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u6E38\u6A19\u7684\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u6E38\u6A19\u7684\u80CC\u666F\u8272\u5F69\u3002\u5141\u8A31\u81EA\u8A02\u5340\u584A\u6E38\u6A19\u91CD\u758A\u7684\u5B57\u5143\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u4E2D\u7A7A\u767D\u5B57\u5143\u7684\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u7E2E\u6392\u8F14\u52A9\u7DDA\u7684\u8272\u5F69\u3002","\u4F7F\u7528\u4E2D\u7DE8\u8F2F\u5668\u7E2E\u6392\u8F14\u52A9\u7DDA\u7684\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u884C\u865F\u7684\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u4F7F\u7528\u4E2D\u884C\u865F\u7684\u8272\u5F69","Id \u5DF2\u53D6\u4EE3\u3002\u8ACB\u6539\u7528 'editorLineNumber.activeForeground' \u3002","\u7DE8\u8F2F\u5668\u4F7F\u7528\u4E2D\u884C\u865F\u7684\u8272\u5F69","\u7DE8\u8F2F\u5668\u5C3A\u898F\u7684\u8272\u5F69","\u7DE8\u8F2F\u5668\u7A0B\u5F0F\u78BC\u6FFE\u93E1\u7684\u524D\u666F\u8272\u5F69","\u6210\u5C0D\u62EC\u865F\u80CC\u666F\u8272\u5F69","\u6210\u5C0D\u62EC\u865F\u908A\u6846\u8272\u5F69","\u9810\u89BD\u6AA2\u8996\u7DE8\u8F2F\u5668\u5C3A\u898F\u7684\u908A\u6846\u8272\u5F69.","\u7DE8\u8F2F\u5668\u6982\u89C0\u5C3A\u898F\u7684\u80CC\u666F\u8272\u5F69\u3002\u50C5\u5728\u555F\u7528\u7E2E\u5716\u4E26\u5C07\u5176\u7F6E\u65BC\u7DE8\u8F2F\u5668\u53F3\u5074\u6642\u4F7F\u7528\u3002","\u7DE8\u8F2F\u5668\u908A\u6846\u7684\u80CC\u666F\u984F\u8272,\u5305\u542B\u884C\u865F\u8207\u5B57\u5F62\u5716\u793A\u7684\u908A\u6846.","\u7DE8\u8F2F\u5668\u4E2D\u4E0D\u5FC5\u8981 (\u672A\u4F7F\u7528) \u539F\u59CB\u7A0B\u5F0F\u78BC\u7684\u6846\u7DDA\u8272\u5F69\u3002",`\u7DE8\u8F2F\u5668\u4E2D\u4E0D\u5FC5\u8981 (\u672A\u4F7F\u7528) \u539F\u59CB\u7A0B\u5F0F\u78BC\u7684\u4E0D\u900F\u660E\u5EA6\u3002\u4F8B\u5982 "#000000c0\u201D \u6703\u4EE5 75% \u7684\u4E0D\u900F\u660E\u5EA6\u8F49\u8B6F\u7A0B\u5F0F\u78BC\u3002\u91DD\u5C0D\u9AD8\u5C0D\u6BD4\u4E3B\u984C\uFF0C\u4F7F\u7528 'editorUnnecessaryCode.border' \u4E3B\u984C\u8272\u5F69\u53EF\u70BA\u4E0D\u5FC5\u8981\u7684\u7A0B\u5F0F\u78BC\u52A0\u4E0A\u5E95\u7DDA\uFF0C\u800C\u4E0D\u662F\u5C07\u5176\u8B8A\u6DE1\u3002`,"\u7BC4\u570D\u9192\u76EE\u63D0\u793A\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u932F\u8AA4\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u8272\u5F69\u3002","\u8B66\u793A\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u8272\u5F69\u3002","\u8CC7\u8A0A\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u8272\u5F69\u3002"],"vs/editor/contrib/anchorSelect/anchorSelect":["\u9078\u53D6\u7BC4\u570D\u9328\u9EDE","\u8A2D\u5B9A\u9328\u9EDE\u70BA {0}:{1}","\u8A2D\u5B9A\u9078\u53D6\u7BC4\u570D\u9328\u9EDE","\u524D\u5F80\u9078\u53D6\u7BC4\u570D\u9328\u9EDE","\u9078\u53D6\u5F9E\u9328\u9EDE\u5230\u6E38\u6A19\u4E4B\u9593\u7684\u7BC4\u570D","\u53D6\u6D88\u9078\u53D6\u7BC4\u570D\u9328\u9EDE"],"vs/editor/contrib/bracketMatching/bracketMatching":["\u6210\u5C0D\u62EC\u5F27\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u8272\u5F69\u3002","\u79FB\u81F3\u65B9\u62EC\u5F27","\u9078\u53D6\u81F3\u62EC\u5F27","\u524D\u5F80\u62EC\u5F27(&&B)"],"vs/editor/contrib/caretOperations/caretOperations":["\u5C07\u6240\u9078\u6587\u5B57\u5411\u5DE6\u79FB\u52D5","\u5C07\u6240\u9078\u6587\u5B57\u5411\u53F3\u79FB\u52D5"],"vs/editor/contrib/caretOperations/transpose":["\u8ABF\u63DB\u5B57\u6BCD"],"vs/editor/contrib/clipboard/clipboard":["\u526A\u4E0B(&&T)","\u526A\u4E0B","\u526A\u4E0B","\u8907\u88FD(&&C)","\u8907\u88FD","\u8907\u88FD","\u8CBC\u4E0A(&&P)","\u8CBC\u4E0A","\u8CBC\u4E0A","\u96A8\u8A9E\u6CD5\u9192\u76EE\u63D0\u793A\u8907\u88FD"],"vs/editor/contrib/codeAction/codeActionCommands":["\u8981\u57F7\u884C\u7A0B\u5F0F\u78BC\u52D5\u4F5C\u7684\u7A2E\u985E\u3002","\u63A7\u5236\u8981\u5957\u7528\u50B3\u56DE\u52D5\u4F5C\u7684\u6642\u6A5F\u3002","\u4E00\u5F8B\u5957\u7528\u7B2C\u4E00\u500B\u50B3\u56DE\u7684\u7A0B\u5F0F\u78BC\u52D5\u4F5C\u3002","\u5982\u679C\u50B3\u56DE\u7684\u7A0B\u5F0F\u78BC\u52D5\u4F5C\u662F\u552F\u4E00\u52D5\u4F5C\uFF0C\u5247\u52A0\u4EE5\u5957\u7528\u3002","\u4E0D\u8981\u5957\u7528\u50B3\u56DE\u7684\u7A0B\u5F0F\u78BC\u52D5\u4F5C\u3002","\u63A7\u5236\u662F\u5426\u50C5\u61C9\u50B3\u56DE\u504F\u597D\u7684\u7A0B\u5F0F\u78BC\u52D5\u4F5C\u3002","\u5957\u7528\u7A0B\u5F0F\u78BC\u52D5\u4F5C\u6642\u767C\u751F\u672A\u77E5\u7684\u932F\u8AA4","\u5FEB\u901F\u4FEE\u5FA9...","\u6C92\u6709\u53EF\u7528\u7684\u7A0B\u5F0F\u78BC\u64CD\u4F5C",'\u6C92\u6709 "{0}" \u7684\u504F\u597D\u7A0B\u5F0F\u78BC\u52D5\u4F5C','\u6C92\u6709 "{0}" \u53EF\u7528\u7684\u7A0B\u5F0F\u78BC\u52D5\u4F5C',"\u6C92\u6709\u53EF\u7528\u7684\u504F\u597D\u7A0B\u5F0F\u78BC\u52D5\u4F5C","\u6C92\u6709\u53EF\u7528\u7684\u7A0B\u5F0F\u78BC\u64CD\u4F5C","\u91CD\u69CB...","\u6C92\u6709\u9069\u7528\u65BC '{0}' \u7684\u504F\u597D\u91CD\u69CB\u3002",'\u6C92\u6709\u53EF\u7528\u7684 "{0}" \u91CD\u69CB',"\u6C92\u6709\u53EF\u7528\u7684\u504F\u597D\u91CD\u69CB","\u6C92\u6709\u53EF\u7528\u7684\u91CD\u69CB","\u4F86\u6E90\u52D5\u4F5C...","\u6C92\u6709\u9069\u7528\u65BC '{0}' \u7684\u504F\u597D\u4F86\u6E90\u52D5\u4F5C",'\u6C92\u6709 "{0}" \u53EF\u7528\u7684\u4F86\u6E90\u52D5\u4F5C',"\u6C92\u6709\u53EF\u7528\u7684\u504F\u597D\u4F86\u6E90\u52D5\u4F5C","\u6C92\u6709\u53EF\u7528\u7684\u4F86\u6E90\u52D5\u4F5C","\u7D44\u7E54\u532F\u5165","\u6C92\u6709\u4EFB\u4F55\u53EF\u7528\u7684\u7D44\u7E54\u532F\u5165\u52D5\u4F5C","\u5168\u90E8\u4FEE\u6B63","\u6C92\u6709\u5168\u90E8\u4FEE\u6B63\u52D5\u4F5C\u53EF\u7528","\u81EA\u52D5\u4FEE\u6B63...","\u6C92\u6709\u53EF\u7528\u7684\u81EA\u52D5\u4FEE\u6B63"],"vs/editor/contrib/codeAction/lightBulbWidget":["\u986F\u793A\u4FEE\u6B63\u7A0B\u5F0F\u3002\u504F\u597D\u7684\u4FEE\u6B63\u7A0B\u5F0F\u53EF\u7528 ({0})","\u986F\u793A\u4FEE\u6B63 ({0})","\u986F\u793A\u4FEE\u6B63"],"vs/editor/contrib/codelens/codelensController":["\u986F\u793A\u76EE\u524D\u884C\u7684 Code Lens \u547D\u4EE4"],"vs/editor/contrib/comment/comment":["\u5207\u63DB\u884C\u8A3B\u89E3","\u5207\u63DB\u884C\u8A3B\u89E3(&&T)","\u52A0\u5165\u884C\u8A3B\u89E3","\u79FB\u9664\u884C\u8A3B\u89E3","\u5207\u63DB\u5340\u584A\u8A3B\u89E3","\u5207\u63DB\u5340\u584A\u8A3B\u89E3(&&B)"],"vs/editor/contrib/contextmenu/contextmenu":["\u986F\u793A\u7DE8\u8F2F\u5668\u5167\u5BB9\u529F\u80FD\u8868"],"vs/editor/contrib/cursorUndo/cursorUndo":["\u6E38\u6A19\u5FA9\u539F","\u6E38\u6A19\u91CD\u505A"],"vs/editor/contrib/find/findController":["\u5C0B\u627E","\u5C0B\u627E(&&F)","\u5C0B\u627E\u9078\u53D6\u9805\u76EE","\u5C0B\u627E\u4E0B\u4E00\u500B","\u5C0B\u627E\u4E0B\u4E00\u500B","\u5C0B\u627E\u4E0A\u4E00\u500B","\u5C0B\u627E\u4E0A\u4E00\u500B","\u5C0B\u627E\u4E0B\u4E00\u500B\u9078\u53D6\u9805\u76EE","\u5C0B\u627E\u4E0A\u4E00\u500B\u9078\u53D6\u9805\u76EE","\u53D6\u4EE3","\u53D6\u4EE3(&&R)"],"vs/editor/contrib/find/findWidget":["\u7DE8\u8F2F\u5668\u5C0B\u627E\u5C0F\u5DE5\u5177\u4E2D [\u5728\u9078\u53D6\u7BC4\u570D\u4E2D\u5C0B\u627E] \u7684\u5716\u793A\u3002","\u8868\u793A\u7DE8\u8F2F\u5668\u5C0B\u627E\u5C0F\u5DE5\u5177\u5DF2\u647A\u758A\u7684\u5716\u793A\u3002","\u8868\u793A\u7DE8\u8F2F\u5668\u5C0B\u627E\u5C0F\u5DE5\u5177\u5DF2\u5C55\u958B\u7684\u5716\u793A\u3002","\u7DE8\u8F2F\u5668\u5C0B\u627E\u5C0F\u5DE5\u5177\u4E2D [\u53D6\u4EE3] \u7684\u5716\u793A\u3002","\u7DE8\u8F2F\u5668\u5C0B\u627E\u5C0F\u5DE5\u5177\u4E2D [\u5168\u90E8\u53D6\u4EE3] \u7684\u5716\u793A\u3002","\u7DE8\u8F2F\u5668\u5C0B\u627E\u5C0F\u5DE5\u5177\u4E2D [\u5C0B\u627E\u4E0A\u4E00\u500B] \u7684\u5716\u793A\u3002","\u7DE8\u8F2F\u5668\u5C0B\u627E\u5C0F\u5DE5\u5177\u4E2D [\u5C0B\u627E\u4E0B\u4E00\u500B] \u7684\u5716\u793A\u3002","\u5C0B\u627E","\u5C0B\u627E","\u4E0A\u4E00\u500B\u7B26\u5408\u9805\u76EE","\u4E0B\u4E00\u500B\u7B26\u5408\u9805\u76EE","\u5728\u9078\u53D6\u7BC4\u570D\u4E2D\u5C0B\u627E","\u95DC\u9589","\u53D6\u4EE3","\u53D6\u4EE3","\u53D6\u4EE3","\u5168\u90E8\u53D6\u4EE3","\u5207\u63DB\u53D6\u4EE3\u6A21\u5F0F","\u50C5\u53CD\u767D\u986F\u793A\u524D {0} \u7B46\u7D50\u679C\uFF0C\u4F46\u6240\u6709\u5C0B\u627E\u4F5C\u696D\u6703\u5728\u5B8C\u6574\u6587\u5B57\u4E0A\u57F7\u884C\u3002","{1} \u7684 {0}","\u67E5\u7121\u7D50\u679C","\u627E\u5230 {0}","\u4EE5 '{1}' \u627E\u5230 {0}","\u4EE5 '{1}' \u627E\u5230 {0}\uFF0C\u4F4D\u65BC {2}","\u5DF2\u4EE5 '{1}' \u627E\u5230 {0}","Ctrl+Enter \u73FE\u5728\u6703\u63D2\u5165\u5206\u884C\u7B26\u865F\uFF0C\u800C\u4E0D\u6703\u5168\u90E8\u53D6\u4EE3\u3002\u60A8\u53EF\u4EE5\u4FEE\u6539 editor.action.replaceAll \u7684\u6309\u9375\u7E6B\u7D50\u95DC\u4FC2\uFF0C\u4EE5\u8986\u5BEB\u6B64\u884C\u70BA\u3002"],"vs/editor/contrib/folding/folding":["\u5C55\u958B","\u4EE5\u905E\u8FF4\u65B9\u5F0F\u5C55\u958B","\u647A\u758A","\u5207\u63DB\u647A\u758A","\u4EE5\u905E\u8FF4\u65B9\u5F0F\u647A\u758A","\u647A\u758A\u5168\u90E8\u5340\u584A\u8A3B\u89E3","\u647A\u758A\u6240\u6709\u5340\u57DF","\u5C55\u958B\u6240\u6709\u5340\u57DF","\u5168\u90E8\u647A\u758A","\u5168\u90E8\u5C55\u958B","\u647A\u758A\u5C64\u7D1A {0}","\u5DF2\u647A\u758A\u7BC4\u570D\u5F8C\u7684\u80CC\u666F\u8272\u5F69\u3002\u8272\u5F69\u4E0D\u5F97\u8655\u65BC\u4E0D\u900F\u660E\u72C0\u614B\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u7DE8\u8F2F\u5668\u88DD\u8A02\u908A\u7684\u647A\u758A\u63A7\u5236\u9805\u8272\u5F69\u3002"],"vs/editor/contrib/folding/foldingDecorations":["\u7DE8\u8F2F\u5668\u5B57\u7B26\u908A\u754C\u4E2D [\u5C55\u958B\u7684\u7BC4\u570D] \u7684\u5716\u793A\u3002","\u7DE8\u8F2F\u5668\u5B57\u7B26\u908A\u754C\u4E2D [\u647A\u758A\u7684\u7BC4\u570D] \u7684\u5716\u793A\u3002"],"vs/editor/contrib/fontZoom/fontZoom":["\u7DE8\u8F2F\u5668\u5B57\u9AD4\u653E\u5927","\u7DE8\u8F2F\u5668\u5B57\u578B\u7E2E\u5C0F","\u7DE8\u8F2F\u5668\u5B57\u9AD4\u91CD\u8A2D\u7E2E\u653E"],"vs/editor/contrib/format/format":["\u5728\u884C {0} \u7DE8\u8F2F\u4E86 1 \u9805\u683C\u5F0F","\u5728\u884C {1} \u7DE8\u8F2F\u4E86 {0} \u9805\u683C\u5F0F","\u5728\u884C {0} \u8207\u884C {1} \u4E4B\u9593\u7DE8\u8F2F\u4E86 1 \u9805\u683C\u5F0F","\u5728\u884C {1} \u8207\u884C {2} \u4E4B\u9593\u7DE8\u8F2F\u4E86 {0} \u9805\u683C\u5F0F"],"vs/editor/contrib/format/formatActions":["\u683C\u5F0F\u5316\u6587\u4EF6","\u683C\u5F0F\u5316\u9078\u53D6\u7BC4\u570D"],"vs/editor/contrib/gotoError/gotoError":["\u79FB\u81F3\u4E0B\u4E00\u500B\u554F\u984C (\u932F\u8AA4, \u8B66\u544A, \u8CC7\u8A0A)","[\u524D\u5F80\u4E0B\u4E00\u500B\u6A19\u8A18] \u7684\u5716\u793A\u3002","\u79FB\u81F3\u4E0A\u4E00\u500B\u554F\u984C (\u932F\u8AA4, \u8B66\u544A, \u8CC7\u8A0A)","[\u524D\u5F80\u4E0A\u4E00\u500B\u6A19\u8A18] \u7684\u5716\u793A\u3002","\u79FB\u81F3\u6A94\u6848\u88E1\u9762\u7684\u4E0B\u4E00\u500B\u554F\u984C (\u932F\u8AA4, \u8B66\u544A, \u8CC7\u8A0A)","\u4E0B\u4E00\u500B\u554F\u984C(&&P)","\u79FB\u81F3\u6A94\u6848\u88E1\u9762\u7684\u4E0A\u4E00\u500B\u554F\u984C (\u932F\u8AA4, \u8B66\u544A, \u8CC7\u8A0A)","\u524D\u4E00\u500B\u554F\u984C(&&P)"],"vs/editor/contrib/gotoError/gotoErrorWidget":["\u932F\u8AA4","\u8B66\u544A","\u8CC7\u8A0A","\u63D0\u793A","{0} \u65BC {1}\u3002","{0} \u500B\u554F\u984C (\u5171 {1} \u500B)","{0} \u500B\u554F\u984C (\u5171 {1} \u500B)","\u7DE8\u8F2F\u5668\u6A19\u8A18\u5C0E\u89BD\u5C0F\u5DE5\u5177\u932F\u8AA4\u7684\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u6A19\u8A18\u5C0E\u89BD\u5C0F\u5DE5\u5177\u8B66\u544A\u7684\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u6A19\u8A18\u5C0E\u89BD\u5C0F\u5DE5\u5177\u8CC7\u8A0A\u7684\u8272\u5F69","\u7DE8\u8F2F\u5668\u6A19\u8A18\u5C0E\u89BD\u5C0F\u5DE5\u5177\u7684\u80CC\u666F\u3002"],"vs/editor/contrib/gotoSymbol/goToCommands":["\u67E5\u770B","\u5B9A\u7FA9","\u627E\u4E0D\u5230 '{0}' \u7684\u5B9A\u7FA9","\u627E\u4E0D\u5230\u4EFB\u4F55\u5B9A\u7FA9","\u79FB\u81F3\u5B9A\u7FA9","\u79FB\u81F3\u5B9A\u7FA9(&&D)","\u5728\u4E00\u5074\u958B\u555F\u5B9A\u7FA9","\u7784\u6838\u5B9A\u7FA9","\u5BA3\u544A","\u627E\u4E0D\u5230 '{0}' \u7684\u5BA3\u544A ","\u627E\u4E0D\u5230\u4EFB\u4F55\u5BA3\u544A","\u79FB\u81F3\u5BA3\u544A","\u524D\u5F80\u5BA3\u544A(&&D)","\u627E\u4E0D\u5230 '{0}' \u7684\u5BA3\u544A ","\u627E\u4E0D\u5230\u4EFB\u4F55\u5BA3\u544A","\u9810\u89BD\u5BA3\u544A","\u985E\u578B\u5B9A\u7FA9","\u627E\u4E0D\u5230 '{0}' \u7684\u4EFB\u4F55\u985E\u578B\u5B9A\u7FA9","\u627E\u4E0D\u5230\u4EFB\u4F55\u985E\u578B\u5B9A\u7FA9","\u79FB\u81F3\u985E\u578B\u5B9A\u7FA9","\u524D\u5F80\u985E\u578B\u5B9A\u7FA9(&&T)","\u9810\u89BD\u985E\u578B\u5B9A\u7FA9","\u5BE6\u4F5C","\u627E\u4E0D\u5230 '{0}' \u7684\u4EFB\u4F55\u5BE6\u4F5C","\u627E\u4E0D\u5230\u4EFB\u4F55\u5BE6\u4F5C","\u524D\u5F80\u5BE6\u4F5C","\u524D\u5F80\u5BE6\u4F5C(&&I)","\u67E5\u770B\u5BE6\u4F5C",'\u672A\u627E\u5230 "{0}" \u7684\u53C3\u8003',"\u672A\u627E\u5230\u53C3\u8003","\u524D\u5F80\u53C3\u8003","\u524D\u5F80\u53C3\u8003(&&R)","\u53C3\u8003","\u9810\u89BD\u53C3\u8003","\u53C3\u8003","\u79FB\u81F3\u4EFB\u4F55\u7B26\u865F","\u4F4D\u7F6E","'{0}' \u6C92\u6709\u7D50\u679C","\u53C3\u8003"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["\u6309\u4E00\u4E0B\u4EE5\u986F\u793A {0} \u9805\u5B9A\u7FA9\u3002"],"vs/editor/contrib/gotoSymbol/peek/referencesController":["\u6B63\u5728\u8F09\u5165...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["{0} \u500B\u53C3\u8003","{0} \u500B\u53C3\u8003","\u53C3\u8003"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["\u7121\u6CD5\u9810\u89BD","\u67E5\u7121\u7D50\u679C","\u53C3\u8003"],"vs/editor/contrib/gotoSymbol/referencesModel":["\u500B\u7B26\u865F\u4F4D\u65BC {0} \u4E2D\u7684\u7B2C {1} \u884C\u7B2C {2} \u6B04","\u7B26\u865F\u4F4D\u65BC {0} \u4E2D\u7684\u7B2C {1} \u884C\u7B2C {2}\u3001{3} \u6B04","1 \u500B\u7B26\u865F\u4F4D\u65BC {0}, \u5B8C\u6574\u8DEF\u5F91 {1}","{0} \u500B\u7B26\u865F\u4F4D\u65BC {1}, \u5B8C\u6574\u8DEF\u5F91 {2}","\u627E\u4E0D\u5230\u7D50\u679C","\u5728 {0} \u4E2D\u627E\u5230 1 \u500B\u7B26\u865F","\u5728 {1} \u4E2D\u627E\u5230 {0} \u500B\u7B26\u865F","\u5728 {1} \u500B\u6A94\u6848\u4E2D\u627E\u5230 {0} \u500B\u7B26\u865F"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["{1} \u7684\u7B26\u865F {0}\uFF0C{2} \u70BA\u4E0B\u4E00\u500B","{1} \u7684\u7B26\u865F {0}"],"vs/editor/contrib/hover/hover":["\u52D5\u614B\u986F\u793A","\u986F\u793A\u5B9A\u7FA9\u9810\u89BD\u61F8\u505C"],"vs/editor/contrib/hover/markdownHoverParticipant":["\u6B63\u5728\u8F09\u5165..."],"vs/editor/contrib/hover/markerHoverParticipant":["View Problem","\u6C92\u6709\u53EF\u7528\u7684\u5FEB\u901F\u4FEE\u6B63","\u6B63\u5728\u6AA2\u67E5\u5FEB\u901F\u4FEE\u6B63...","\u6C92\u6709\u53EF\u7528\u7684\u5FEB\u901F\u4FEE\u6B63","\u5FEB\u901F\u4FEE\u5FA9..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["\u4EE5\u4E0A\u4E00\u500B\u503C\u53D6\u4EE3","\u4EE5\u4E0B\u4E00\u500B\u503C\u53D6\u4EE3"],"vs/editor/contrib/indentation/indentation":["\u5C07\u7E2E\u6392\u8F49\u63DB\u6210\u7A7A\u683C","\u5C07\u7E2E\u6392\u8F49\u63DB\u6210\u5B9A\u4F4D\u9EDE","\u5DF2\u8A2D\u5B9A\u7684\u5B9A\u4F4D\u9EDE\u5927\u5C0F","\u9078\u53D6\u76EE\u524D\u6A94\u6848\u7684\u5B9A\u4F4D\u9EDE\u5927\u5C0F","\u4F7F\u7528 Tab \u9032\u884C\u7E2E\u6392","\u4F7F\u7528\u7A7A\u683C\u9375\u9032\u884C\u7E2E\u6392","\u5075\u6E2C\u5167\u5BB9\u4E2D\u7684\u7E2E\u6392","\u91CD\u65B0\u5C07\u884C\u7E2E\u6392","\u91CD\u65B0\u5C07\u9078\u53D6\u7684\u884C\u7E2E\u6392"],"vs/editor/contrib/linesOperations/linesOperations":["\u5C07\u884C\u5411\u4E0A\u8907\u88FD","\u5C07\u884C\u5411\u4E0A\u8907\u88FD(&&C)","\u5C07\u884C\u5411\u4E0B\u8907\u88FD","\u5C07\u884C\u5411\u4E0B\u8907\u88FD(&&P)","\u91CD\u8907\u9078\u53D6\u9805\u76EE","\u91CD\u8907\u9078\u53D6\u9805\u76EE(&&D)","\u4E0A\u79FB\u4E00\u884C","\u4E0A\u79FB\u4E00\u884C(&&V)","\u4E0B\u79FB\u4E00\u884C","\u4E0B\u79FB\u4E00\u884C(&&L)","\u905E\u589E\u6392\u5E8F\u884C","\u905E\u6E1B\u6392\u5E8F\u884C","\u4FEE\u526A\u5C3E\u7AEF\u7A7A\u767D","\u522A\u9664\u884C","\u7E2E\u6392\u884C","\u51F8\u6392\u884C","\u5728\u4E0A\u65B9\u63D2\u5165\u884C","\u5728\u4E0B\u65B9\u63D2\u5165\u884C","\u5DE6\u908A\u5168\u90E8\u522A\u9664","\u522A\u9664\u6240\u6709\u53F3\u65B9\u9805\u76EE","\u9023\u63A5\u7DDA","\u8F49\u7F6E\u6E38\u6A19\u5468\u570D\u7684\u5B57\u5143\u6578","\u8F49\u63DB\u5230\u5927\u5BEB","\u8F49\u63DB\u5230\u5C0F\u5BEB","\u8F49\u63DB\u70BA\u5B57\u9996\u5927\u5BEB","\u8F49\u63DB\u70BA\u5E95\u7DDA\u9023\u63A5\u5B57"],"vs/editor/contrib/linkedEditing/linkedEditing":["\u958B\u59CB\u9023\u7D50\u7684\u7DE8\u8F2F","\u7576\u7DE8\u8F2F\u5668\u81EA\u52D5\u91CD\u65B0\u547D\u540D\u985E\u578B\u6642\u7684\u80CC\u666F\u8272\u5F69\u3002"],"vs/editor/contrib/links/links":["\u57F7\u884C\u547D\u4EE4","\u8FFD\u8E64\u9023\u7D50","cmd + \u6309\u4E00\u4E0B","ctrl + \u6309\u4E00\u4E0B","\u9078\u9805 + \u6309\u4E00\u4E0B","alt + \u6309\u4E00\u4E0B","\u57F7\u884C\u547D\u4EE4 {0}","\u56E0\u70BA\u6B64\u9023\u7D50\u7684\u683C\u5F0F\u4E0D\u6B63\u78BA\uFF0C\u6240\u4EE5\u7121\u6CD5\u958B\u555F: {0}","\u56E0\u70BA\u6B64\u9023\u7D50\u76EE\u6A19\u907A\u5931\uFF0C\u6240\u4EE5\u7121\u6CD5\u958B\u555F\u3002","\u958B\u555F\u9023\u7D50"],"vs/editor/contrib/message/messageController":["\u7DE8\u8F2F\u5668\u76EE\u524D\u662F\u5426\u6B63\u5728\u986F\u793A\u5167\u5D4C\u8A0A\u606F","\u7121\u6CD5\u5728\u552F\u8B80\u7DE8\u8F2F\u5668\u4E2D\u7DE8\u8F2F"],"vs/editor/contrib/multicursor/multicursor":["\u5728\u4E0A\u65B9\u52A0\u5165\u6E38\u6A19","\u5728\u4E0A\u65B9\u65B0\u589E\u6E38\u6A19(&&A)","\u5728\u4E0B\u65B9\u52A0\u5165\u6E38\u6A19","\u5728\u4E0B\u65B9\u65B0\u589E\u6E38\u6A19(&&D)","\u5728\u884C\u5C3E\u65B0\u589E\u6E38\u6A19","\u5728\u884C\u5C3E\u65B0\u589E\u6E38\u6A19(&&U)","\u5C07\u6E38\u6A19\u65B0\u589E\u5230\u5E95\u90E8 ","\u5C07\u6E38\u6A19\u65B0\u589E\u5230\u9802\u90E8","\u5C07\u9078\u53D6\u9805\u76EE\u52A0\u5165\u4E0B\u4E00\u500B\u627E\u5230\u7684\u76F8\u7B26\u9805","\u65B0\u589E\u4E0B\u4E00\u500B\u9805\u76EE(&&N)","\u5C07\u9078\u53D6\u9805\u76EE\u52A0\u5165\u524D\u4E00\u500B\u627E\u5230\u7684\u76F8\u7B26\u9805\u4E2D","\u65B0\u589E\u4E0A\u4E00\u500B\u9805\u76EE(&&R)","\u5C07\u6700\u5F8C\u4E00\u500B\u9078\u64C7\u9805\u76EE\u79FB\u81F3\u4E0B\u4E00\u500B\u627E\u5230\u7684\u76F8\u7B26\u9805","\u5C07\u6700\u5F8C\u4E00\u500B\u9078\u64C7\u9805\u76EE\u79FB\u81F3\u524D\u4E00\u500B\u627E\u5230\u7684\u76F8\u7B26\u9805","\u9078\u53D6\u6240\u6709\u627E\u5230\u7684\u76F8\u7B26\u9805\u76EE","\u9078\u53D6\u6240\u6709\u9805\u76EE(&&O)","\u8B8A\u66F4\u6240\u6709\u767C\u751F\u6B21\u6578"],"vs/editor/contrib/parameterHints/parameterHints":["\u89F8\u767C\u53C3\u6578\u63D0\u793A"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["[\u986F\u793A\u4E0B\u4E00\u500B\u53C3\u6578\u63D0\u793A] \u7684\u5716\u793A\u3002","[\u986F\u793A\u4E0A\u4E00\u500B\u53C3\u6578\u63D0\u793A] \u7684\u5716\u793A\u3002","{0}\uFF0C\u63D0\u793A"],"vs/editor/contrib/peekView/peekView":["\u95DC\u9589","\u9810\u89BD\u6AA2\u8996\u6A19\u984C\u5340\u57DF\u7684\u80CC\u666F\u8272\u5F69\u3002","\u9810\u89BD\u6AA2\u8996\u6A19\u984C\u7684\u8272\u5F69\u3002","\u9810\u89BD\u6AA2\u8996\u6A19\u984C\u8CC7\u8A0A\u7684\u8272\u5F69\u3002","\u9810\u89BD\u6AA2\u8996\u4E4B\u6846\u7DDA\u8207\u7BAD\u982D\u7684\u8272\u5F69\u3002","\u9810\u89BD\u6AA2\u8996\u4E2D\u7D50\u679C\u6E05\u55AE\u7684\u80CC\u666F\u8272\u5F69\u3002","\u9810\u89BD\u6AA2\u8996\u7D50\u679C\u5217\u8868\u4E2D\u884C\u7BC0\u9EDE\u7684\u524D\u666F\u8272\u5F69","\u9810\u89BD\u6AA2\u8996\u7D50\u679C\u5217\u8868\u4E2D\u6A94\u6848\u7BC0\u9EDE\u7684\u524D\u666F\u8272\u5F69","\u5728\u9810\u89BD\u6AA2\u8996\u4E4B\u7D50\u679C\u6E05\u55AE\u4E2D\u9078\u53D6\u9805\u76EE\u6642\u7684\u80CC\u666F\u8272\u5F69\u3002","\u5728\u9810\u89BD\u6AA2\u8996\u4E4B\u7D50\u679C\u6E05\u55AE\u4E2D\u9078\u53D6\u9805\u76EE\u6642\u7684\u524D\u666F\u8272\u5F69\u3002","\u9810\u89BD\u6AA2\u8996\u7DE8\u8F2F\u5668\u7684\u80CC\u666F\u8272\u5F69\u3002","\u9810\u89BD\u6AA2\u8996\u7DE8\u8F2F\u5668\u908A\u6846(\u542B\u884C\u865F\u6216\u5B57\u5F62\u5716\u793A)\u7684\u80CC\u666F\u8272\u5F69\u3002","\u5728\u9810\u89BD\u6AA2\u8996\u7DE8\u8F2F\u5668\u4E2D\u6BD4\u5C0D\u6642\u7684\u53CD\u767D\u986F\u793A\u8272\u5F69\u3002","\u9810\u89BD\u6AA2\u8996\u7DE8\u8F2F\u5668\u4E2D\u6BD4\u5C0D\u6642\u7684\u53CD\u767D\u986F\u793A\u8272\u5F69\u3002","\u5728\u9810\u89BD\u6AA2\u8996\u7DE8\u8F2F\u5668\u4E2D\u6BD4\u5C0D\u6642\u7684\u53CD\u767D\u986F\u793A\u908A\u754C\u3002"],"vs/editor/contrib/quickAccess/gotoLineQuickAccess":["\u5148\u958B\u555F\u6587\u5B57\u7DE8\u8F2F\u5668\uFF0C\u524D\u5F80\u67D0\u4E00\u884C\u3002","\u524D\u5F80\u7B2C {0} \u884C\u548C\u7B2C {1} \u6B04\u3002","\u524D\u5F80\u7B2C {0} \u884C\u3002","\u76EE\u524D\u884C: {0}\uFF0C\u5B57\u5143: {1}\u3002\u8ACB\u9375\u5165\u4ECB\u65BC 1 \u5230 {2} \u4E4B\u9593\u884C\u865F\uFF0C\u5C0E\u89BD\u81F3\u8A72\u884C\u3002","\u76EE\u524D\u884C: {0}\uFF0C\u5B57\u5143: {1}\u3002\u8ACB\u9375\u5165\u8981\u5C0E\u89BD\u81F3\u7684\u884C\u865F\u3002"],"vs/editor/contrib/quickAccess/gotoSymbolQuickAccess":["\u82E5\u8981\u524D\u5F80\u7B26\u865F\uFF0C\u8ACB\u5148\u958B\u555F\u5305\u542B\u7B26\u865F\u8CC7\u8A0A\u7684\u6587\u5B57\u7DE8\u8F2F\u5668\u3002","\u4F7F\u7528\u4E2D\u7684\u6587\u5B57\u7DE8\u8F2F\u5668\u4E0D\u63D0\u4F9B\u7B26\u865F\u8CC7\u8A0A\u3002","\u6C92\u6709\u76F8\u7B26\u7684\u7DE8\u8F2F\u5668\u7B26\u865F","\u6C92\u6709\u7DE8\u8F2F\u5668\u7B26\u865F","\u958B\u81F3\u5074\u908A","\u958B\u555F\u5230\u5E95\u90E8","\u7B26\u865F ({0})","\u5C6C\u6027 ({0})","\u65B9\u6CD5 ({0})","\u51FD\u5F0F ({0})","\u5EFA\u69CB\u51FD\u5F0F ({0})","\u8B8A\u6578 ({0})","\u985E\u5225 ({0})","\u7D50\u69CB ({0})","\u4E8B\u4EF6 ({0})","\u904B\u7B97\u5B50 ({0})","\u4ECB\u9762 ({0})","\u547D\u540D\u7A7A\u9593 ({0})","\u5957\u4EF6 ({0})","\u578B\u5225\u53C3\u6578 ({0})","\u6A21\u7D44 ({0})","\u5C6C\u6027 ({0})","\u5217\u8209 ({0})","\u5217\u8209\u6210\u54E1 ({0})","\u5B57\u4E32 ({0})","\u6A94\u6848 ({0})","\u9663\u5217 ({0})","\u6578\u5B57 ({0})","\u5E03\u6797\u503C ({0})","\u7269\u4EF6 ({0})","\u7D22\u5F15\u9375 ({0})","\u6B04\u4F4D ({0})","\u5E38\u6578 ({0})"],"vs/editor/contrib/rename/rename":["\u6C92\u6709\u7D50\u679C\u3002","\u89E3\u6790\u91CD\u65B0\u547D\u540D\u4F4D\u7F6E\u6642\u767C\u751F\u672A\u77E5\u7684\u932F\u8AA4","\u6B63\u5728\u70BA '{0}' \u91CD\u65B0\u547D\u540D","\u6B63\u5728\u91CD\u65B0\u547D\u540D {0}","\u5DF2\u6210\u529F\u5C07 '{0}' \u91CD\u65B0\u547D\u540D\u70BA '{1}'\u3002\u6458\u8981: {2}","\u91CD\u547D\u540D\u7121\u6CD5\u5957\u7528\u7DE8\u8F2F","\u91CD\u65B0\u547D\u540D\u7121\u6CD5\u8A08\u7B97\u7DE8\u8F2F","\u91CD\u65B0\u547D\u540D\u7B26\u865F","\u555F\u7528/\u505C\u7528\u91CD\u65B0\u547D\u540D\u524D\u5148\u9810\u89BD\u8B8A\u66F4\u7684\u529F\u80FD"],"vs/editor/contrib/rename/renameInputField":["\u70BA\u8F38\u5165\u91CD\u65B0\u547D\u540D\u3002\u8ACB\u9375\u5165\u65B0\u540D\u7A31\uFF0C\u7136\u5F8C\u6309 Enter \u4EE5\u8A8D\u53EF\u3002","\u6309 {0} \u9032\u884C\u91CD\u65B0\u547D\u540D\uFF0C\u6309 {1} \u9032\u884C\u9810\u89BD"],"vs/editor/contrib/smartSelect/smartSelect":["\u5C55\u958B\u9078\u53D6\u9805\u76EE","\u5C55\u958B\u9078\u53D6\u7BC4\u570D(&&E)","\u7E2E\u5C0F\u9078\u53D6\u9805\u76EE","\u58D3\u7E2E\u9078\u53D6\u7BC4\u570D(&&S)"],"vs/editor/contrib/snippet/snippetVariables":["\u661F\u671F\u5929","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D","\u9031\u65E5","\u9031\u4E00","\u9031\u4E8C","\u9031\u4E09","\u9031\u56DB","\u9031\u4E94","\u9031\u516D","\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708","1\u6708","2\u6708","3 \u6708","4\u6708","\u4E94\u6708","6\u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"vs/editor/contrib/suggest/suggestController":["\u63A5\u53D7 \u2018{0}\u2019 \u9032\u884C\u4E86\u5176\u4ED6 {1} \u9805\u7DE8\u8F2F","\u89F8\u767C\u5EFA\u8B70","\u63D2\u5165","\u63D2\u5165","\u53D6\u4EE3","\u53D6\u4EE3","\u63D2\u5165","\u986F\u793A\u66F4\u5C11","\u986F\u793A\u66F4\u591A","\u91CD\u8A2D\u5EFA\u8B70\u5C0F\u5DE5\u5177\u5927\u5C0F"],"vs/editor/contrib/suggest/suggestWidget":["\u5EFA\u8B70\u5C0F\u5DE5\u5177\u7684\u80CC\u666F\u8272\u5F69\u3002","\u5EFA\u8B70\u5C0F\u5DE5\u5177\u7684\u908A\u754C\u8272\u5F69\u3002","\u5EFA\u8B70\u5C0F\u5DE5\u5177\u7684\u524D\u666F\u8272\u5F69\u3002","\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u6240\u9078\u9805\u76EE\u7684\u80CC\u666F\u8272\u5F69\u3002","\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u76F8\u7B26\u9192\u76EE\u63D0\u793A\u7684\u8272\u5F69\u3002","\u6B63\u5728\u8F09\u5165...","\u7121\u5EFA\u8B70\u3002","{0}\uFF0C\u6587\u4EF6: {1}","\u5EFA\u8B70"],"vs/editor/contrib/suggest/suggestWidgetDetails":["\u95DC\u9589","\u6B63\u5728\u8F09\u5165..."],"vs/editor/contrib/suggest/suggestWidgetRenderer":["\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D [\u66F4\u591A\u8A73\u7D30\u8CC7\u8A0A] \u7684\u5716\u793A\u3002","\u95B1\u8B80\u66F4\u591A"],"vs/editor/contrib/suggest/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/symbolIcons":["\u9663\u5217\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u5E03\u6797\u503C\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u985E\u5225\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u8272\u5F69\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u5E38\u6578\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u5EFA\u69CB\u51FD\u5F0F\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u5217\u8209\u503C\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u5217\u8209\u503C\u6210\u54E1\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u4E8B\u4EF6\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u6B04\u4F4D\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u6A94\u6848\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u8CC7\u6599\u593E\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u51FD\u5F0F\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u4ECB\u9762\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u7D22\u5F15\u9375\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u95DC\u9375\u5B57\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u65B9\u6CD5\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u6A21\u7D44\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u547D\u540D\u7A7A\u9593\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","Null \u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u6578\u5B57\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u7269\u4EF6\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u904B\u7B97\u5B50\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u5957\u4EF6\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u5C6C\u6027\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u53C3\u8003\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u7A0B\u5F0F\u78BC\u7247\u6BB5\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u5B57\u4E32\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u7D50\u69CB\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u6587\u5B57\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u578B\u5225\u53C3\u6578\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u55AE\u4F4D\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002","\u8B8A\u6578\u7B26\u865F\u7684\u524D\u666F\u8272\u5F69\u3002\u9019\u4E9B\u7B26\u865F\u6703\u51FA\u73FE\u5728\u5927\u7DB1\u3001\u968E\u5C64\u9023\u7D50\u548C\u5EFA\u8B70\u5C0F\u5DE5\u5177\u4E2D\u3002"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["\u5207\u63DB TAB \u9375\u79FB\u52D5\u7126\u9EDE","\u6309 Tab \u73FE\u5728\u6703\u5C07\u7126\u9EDE\u79FB\u81F3\u4E0B\u4E00\u500B\u53EF\u8A2D\u5B9A\u7126\u9EDE\u7684\u5143\u7D20\u3002","\u6309 Tab \u73FE\u5728\u6703\u63D2\u5165\u5B9A\u4F4D\u5B57\u5143\u3002"],"vs/editor/contrib/tokenization/tokenization":["\u958B\u767C\u4EBA\u54E1: \u5F37\u5236\u91CD\u65B0\u7F6E\u653E"],"vs/editor/contrib/unusualLineTerminators/unusualLineTerminators":["\u7570\u5E38\u7684\u884C\u7D50\u675F\u5B57\u5143","\u5075\u6E2C\u5230\u7570\u5E38\u7684\u884C\u7D50\u675F\u5B57\u5143","\u6B64\u6A94\u6848\u5305\u542B\u4E00\u6216\u591A\u500B\u7570\u5E38\u7684\u884C\u7D50\u675F\u5B57\u5143\uFF0C\u4F8B\u5982\u884C\u5206\u9694\u7B26\u865F (LS) \u6216\u6BB5\u843D\u5206\u9694\u7B26\u865F (PS)\u3002\r\n\r\n\u5EFA\u8B70\u60A8\u5C07\u5176\u5F9E\u6A94\u6848\u4E2D\u79FB\u9664\u3002\u9019\u53EF\u4EE5\u900F\u904E `editor.unusualLineTerminators` \u9032\u884C\u8A2D\u5B9A\u3002","\u4FEE\u6B63\u6B64\u6A94\u6848","\u5FFD\u7565\u6B64\u6A94\u6848\u7684\u554F\u984C"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["\u8B80\u53D6\u6B0A\u9650\u671F\u9593 (\u5982\u8B80\u53D6\u8B8A\u6578) \u7B26\u865F\u7684\u80CC\u666F\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u5BEB\u5165\u6B0A\u9650\u671F\u9593 (\u5982\u5BEB\u5165\u8B8A\u6578) \u7B26\u865F\u7684\u80CC\u666F\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u8B80\u53D6\u5B58\u53D6\u671F\u9593 (\u4F8B\u5982\u8B80\u53D6\u8B8A\u6578\u6642) \u7B26\u865F\u7684\u908A\u6846\u984F\u8272\u3002","\u5BEB\u5165\u5B58\u53D6\u671F\u9593 (\u4F8B\u5982\u5BEB\u5165\u8B8A\u6578\u6642) \u7B26\u865F\u7684\u908A\u6846\u984F\u8272\u3002 ","\u7B26\u865F\u9192\u76EE\u63D0\u793A\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u5BEB\u5165\u6B0A\u9650\u7B26\u865F\u9192\u76EE\u63D0\u793A\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u79FB\u81F3\u4E0B\u4E00\u500B\u53CD\u767D\u7B26\u865F","\u79FB\u81F3\u4E0A\u4E00\u500B\u53CD\u767D\u7B26\u865F","\u89F8\u767C\u7B26\u865F\u53CD\u767D\u986F\u793A"],"vs/editor/contrib/wordOperations/wordOperations":["\u522A\u9664\u5B57\u7D44"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["\u9810\u8A2D\u8A9E\u8A00\u7D44\u614B\u8986\u5BEB","\u8A2D\u5B9A\u8981\u91DD\u5C0D\u8A9E\u8A00\u8986\u5BEB\u7684\u7DE8\u8F2F\u5668\u8A2D\u5B9A\u3002","\u9019\u500B\u8A2D\u5B9A\u4E0D\u652F\u63F4\u4EE5\u8A9E\u8A00\u70BA\u6839\u64DA\u7684\u7D44\u614B\u3002","\u7121\u6CD5\u8A3B\u518A\u7A7A\u767D\u5C6C\u6027","\u7121\u6CD5\u8A3B\u518A '{0}'\u3002\u9019\u7B26\u5408\u7528\u65BC\u63CF\u8FF0\u8A9E\u8A00\u5C08\u7528\u7DE8\u8F2F\u5668\u8A2D\u5B9A\u7684\u5C6C\u6027\u6A21\u5F0F '\\\\[.*\\\\]$'\u3002\u8ACB\u4F7F\u7528 'configurationDefaults' \u8CA2\u737B\u3002","\u7121\u6CD5\u8A3B\u518A '{0}'\u3002\u6B64\u5C6C\u6027\u5DF2\u7D93\u8A3B\u518A\u3002"],"vs/platform/contextkey/browser/contextKeyService":["\u50B3\u56DE\u6709\u95DC\u5167\u5BB9\u7D22\u5F15\u9375\u8CC7\u8A0A\u7684\u547D\u4EE4"],"vs/platform/contextkey/common/contextkeys":["Whether the operating system is Windows"],"vs/platform/keybinding/common/abstractKeybindingService":["\u5DF2\u6309\u4E0B ({0})\u3002\u7B49\u5F85\u7B2C\u4E8C\u500B\u5957\u7D22\u9375...","\u6309\u9375\u7D44\u5408 ({0}, {1}) \u4E0D\u662F\u547D\u4EE4\u3002"],"vs/platform/list/browser/listService":["\u5DE5\u4F5C\u53F0","\u5C0D\u61C9Windows\u548CLinux\u7684'Control'\u8207\u5C0D\u61C9 macOS \u7684'Command'\u3002","\u5C0D\u61C9Windows\u548CLinux\u7684'Alt'\u8207\u5C0D\u61C9macOS\u7684'Option'\u3002","\u900F\u904E\u6ED1\u9F20\u591A\u9078\uFF0C\u7528\u65BC\u5728\u6A39\u72C0\u76EE\u9304\u8207\u6E05\u55AE\u4E2D\u65B0\u589E\u9805\u76EE\u7684\u8F14\u52A9\u6309\u9375 (\u4F8B\u5982\u5728\u7E3D\u7BA1\u4E2D\u958B\u555F\u7DE8\u8F2F\u5668 \u53CA SCM \u6AA2\u8996)\u3002'\u5728\u5074\u908A\u958B\u555F' \u6ED1\u9F20\u624B\u52E2 (\u82E5\u652F\u63F4) \u5C07\u6703\u9069\u61C9\u4EE5\u907F\u514D\u548C\u591A\u9078\u8F14\u52A9\u6309\u9375\u885D\u7A81\u3002","\u63A7\u5236\u5982\u4F55\u4F7F\u7528\u6ED1\u9F20 (\u5982\u652F\u63F4\u6B64\u7528\u6CD5) \u958B\u555F\u6A39\u72C0\u76EE\u9304\u8207\u6E05\u55AE\u4E2D\u7684\u9805\u76EE\u3002\u82E5\u4E0D\u9069\u7528\uFF0C\u67D0\u4E9B\u6A39\u72C0\u76EE\u9304\u8207\u6E05\u55AE\u53EF\u80FD\u6703\u9078\u64C7\u5FFD\u7565\u6B64\u8A2D\u5B9A\u3002","\u63A7\u5236\u5728\u5DE5\u4F5C\u53F0\u4E2D\uFF0C\u6E05\u55AE\u8207\u6A39\u72C0\u7D50\u69CB\u662F\u5426\u652F\u63F4\u6C34\u5E73\u6372\u52D5\u3002\u8B66\u544A: \u958B\u555F\u6B64\u8A2D\u5B9A\u5C07\u6703\u5F71\u97FF\u6548\u80FD\u3002","\u63A7\u5236\u6A39\u72C0\u7D50\u69CB\u7E2E\u6392 (\u50CF\u7D20)\u3002","\u63A7\u5236\u6A39\u7CFB\u662F\u5426\u61C9\u8F49\u8B6F\u7E2E\u6392\u8F14\u52A9\u7DDA\u3002","\u63A7\u5236\u6E05\u55AE\u548C\u6A39\u72C0\u7D50\u69CB\u662F\u5426\u5177\u6709\u5E73\u6ED1\u6372\u52D5\u3002","\u6BD4\u5C0D\u6309\u9375\u8F38\u5165\u7684\u7C21\u6613\u6309\u9375\u700F\u89BD\u7126\u9EDE\u5143\u7D20\u3002\u50C5\u6BD4\u5C0D\u524D\u7F6E\u8A5E\u3002","\u9192\u76EE\u63D0\u793A\u9375\u76E4\u700F\u89BD\u6703\u9192\u76EE\u63D0\u793A\u7B26\u5408\u9375\u76E4\u8F38\u5165\u7684\u5143\u7D20\u3002\u9032\u4E00\u6B65\u5411\u4E0A\u6216\u5411\u4E0B\u700F\u89BD\u53EA\u6703\u5468\u904A\u9192\u76EE\u63D0\u793A\u7684\u5143\u7D20\u3002","\u7BE9\u9078\u9375\u76E4\u700F\u89BD\u6703\u7BE9\u6389\u4E26\u96B1\u85CF\u4E0D\u7B26\u5408\u9375\u76E4\u8F38\u5165\u7684\u6240\u6709\u5143\u7D20\u3002","\u63A7\u5236 Workbench \u4E2D\u6E05\u55AE\u548C\u6A39\u72C0\u7D50\u69CB\u7684\u9375\u76E4\u700F\u89BD\u6A23\u5F0F\u3002\u53EF\u4EE5\u662F\u7C21\u6613\u7684\u3001\u9192\u76EE\u63D0\u793A\u548C\u7BE9\u9078\u3002","\u63A7\u5236\u662F\u5426\u53EA\u8981\u9375\u5165\u5373\u53EF\u81EA\u52D5\u89F8\u767C\u6E05\u55AE\u548C\u6A39\u72C0\u7D50\u69CB\u4E2D\u7684\u9375\u76E4\u700F\u89BD\u3002\u82E5\u8A2D\u70BA `false`\uFF0C\u53EA\u6709\u5728\u57F7\u884C `list.toggleKeyboardNavigation` \u547D\u4EE4\u6642\uFF0C\u624D\u6703\u89F8\u767C\u9375\u76E4\u700F\u89BD\uFF0C\u60A8\u53EF\u70BA\u5176\u6307\u5B9A\u9375\u76E4\u5FEB\u901F\u9375\u3002","\u63A7\u5236\u7576\u6309\u4E0B\u8CC7\u6599\u593E\u540D\u7A31\u6642\uFF0C\u6A39\u72C0\u76EE\u9304\u8CC7\u6599\u593E\u7684\u5C55\u958B\u65B9\u5F0F\u3002\u8ACB\u6CE8\u610F\uFF0C\u82E5\u4E0D\u9069\u7528\uFF0C\u67D0\u4E9B\u6A39\u72C0\u76EE\u9304\u548C\u6E05\u55AE\u53EF\u80FD\u6703\u9078\u64C7\u5FFD\u7565\u6B64\u8A2D\u5B9A\u3002"],"vs/platform/markers/common/markers":["\u932F\u8AA4","\u8B66\u544A","\u8CC7\u8A0A"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","\u6700\u8FD1\u4F7F\u7528\u7684","\u5176\u4ED6\u547D\u4EE4","\u547D\u4EE4 '{0}' \u9020\u6210\u932F\u8AA4 ({1})"],"vs/platform/quickinput/browser/helpQuickAccess":["\u5168\u57DF\u547D\u4EE4","\u7DE8\u8F2F\u5668\u547D\u4EE4","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["\u6574\u9AD4\u7684\u524D\u666F\u8272\u5F69\u3002\u50C5\u7576\u672A\u88AB\u4EFB\u4F55\u5143\u4EF6\u8986\u758A\u6642\uFF0C\u624D\u6703\u4F7F\u7528\u6B64\u8272\u5F69\u3002","\u6574\u9AD4\u932F\u8AA4\u8A0A\u606F\u7684\u524D\u666F\u8272\u5F69\u3002\u50C5\u7576\u672A\u88AB\u4EFB\u4F55\u5143\u4EF6\u8986\u84CB\u6642\uFF0C\u624D\u6703\u4F7F\u7528\u6B64\u8272\u5F69\u3002","\u5DE5\u4F5C\u53F0\u4E2D\u5716\u793A\u7684\u9810\u8A2D\u8272\u5F69\u3002","\u7126\u9EDE\u9805\u76EE\u7684\u6574\u9AD4\u6846\u7DDA\u8272\u5F69\u3002\u53EA\u5728\u6C92\u6709\u4EFB\u4F55\u5143\u4EF6\u8986\u5BEB\u6B64\u8272\u5F69\u6642\uFF0C\u624D\u6703\u52A0\u4EE5\u4F7F\u7528\u3002","\u9805\u76EE\u5468\u570D\u7684\u984D\u5916\u6846\u7DDA\uFF0C\u53EF\u5C07\u9805\u76EE\u5F9E\u5176\u4ED6\u9805\u76EE\u4E2D\u5340\u9694\u51FA\u4F86\u4EE5\u63D0\u9AD8\u5C0D\u6BD4\u3002","\u4F7F\u7528\u4E2D\u9805\u76EE\u5468\u570D\u7684\u984D\u5916\u908A\u754C\uFF0C\u53EF\u5C07\u9805\u76EE\u5F9E\u5176\u4ED6\u9805\u76EE\u4E2D\u5340\u9694\u51FA\u4F86\u4EE5\u63D0\u9AD8\u5C0D\u6BD4\u3002","\u5167\u6587\u9023\u7D50\u7684\u524D\u666F\u8272\u5F69","\u6587\u5B57\u5340\u584A\u7684\u80CC\u666F\u984F\u8272\u3002","\u5C0F\u5DE5\u5177\u7684\u9670\u5F71\u8272\u5F69\uFF0C\u4F8B\u5982\u7DE8\u8F2F\u5668\u4E2D\u7684\u5C0B\u627E/\u53D6\u4EE3\u3002","\u8F38\u5165\u65B9\u584A\u7684\u80CC\u666F\u3002","\u8F38\u5165\u65B9\u584A\u7684\u524D\u666F\u3002","\u8F38\u5165\u65B9\u584A\u7684\u6846\u7DDA\u3002","\u8F38\u5165\u6B04\u4F4D\u4E2D\u53EF\u4F7F\u7528\u4E4B\u9805\u76EE\u7684\u6846\u7DDA\u8272\u5F69\u3002","\u5728\u8F38\u5165\u6B04\u4F4D\u4E2D\u6240\u555F\u52D5\u9078\u9805\u7684\u80CC\u666F\u8272\u5F69\u3002","\u5728\u8F38\u5165\u6B04\u4F4D\u4E2D\u6240\u555F\u52D5\u9078\u9805\u7684\u524D\u666F\u8272\u5F69\u3002","\u8CC7\u8A0A\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u80CC\u666F\u8272\u5F69\u3002","\u8CC7\u8A0A\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u524D\u666F\u8272\u5F69\u3002","\u8CC7\u8A0A\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u908A\u754C\u8272\u5F69\u3002","\u8B66\u544A\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u80CC\u666F\u8272\u5F69\u3002","\u8B66\u544A\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u524D\u666F\u8272\u5F69\u3002","\u8B66\u544A\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u908A\u754C\u8272\u5F69\u3002","\u932F\u8AA4\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u80CC\u666F\u8272\u5F69\u3002","\u932F\u8AA4\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u524D\u666F\u8272\u5F69\u3002","\u932F\u8AA4\u56B4\u91CD\u6027\u7684\u8F38\u5165\u9A57\u8B49\u908A\u754C\u8272\u5F69\u3002","\u4E0B\u62C9\u5F0F\u6E05\u55AE\u7684\u80CC\u666F\u3002","\u4E0B\u62C9\u5F0F\u6E05\u55AE\u7684\u524D\u666F\u3002","\u6309\u9215\u524D\u666F\u8272\u5F69\u3002","\u6309\u9215\u80CC\u666F\u8272\u5F69\u3002","\u66AB\u7559\u6642\u7684\u6309\u9215\u80CC\u666F\u8272\u5F69\u3002","\u6A19\u8A18\u7684\u80CC\u666F\u984F\u8272\u3002\u6A19\u8A18\u70BA\u5C0F\u578B\u7684\u8A0A\u606F\u6A19\u7C64,\u4F8B\u5982\u641C\u5C0B\u7D50\u679C\u7684\u6578\u91CF\u3002","\u6A19\u8A18\u7684\u524D\u666F\u984F\u8272\u3002\u6A19\u8A18\u70BA\u5C0F\u578B\u7684\u8A0A\u606F\u6A19\u7C64,\u4F8B\u5982\u641C\u5C0B\u7D50\u679C\u7684\u6578\u91CF\u3002","\u6307\u51FA\u5728\u6372\u52D5\u8A72\u6AA2\u8996\u7684\u6372\u8EF8\u9670\u5F71\u3002","\u6372\u8EF8\u6ED1\u687F\u7684\u80CC\u666F\u984F\u8272\u3002","\u52D5\u614B\u986F\u793A\u6642\u6372\u8EF8\u6ED1\u687F\u7684\u80CC\u666F\u984F\u8272\u3002","\u7576\u9EDE\u64CA\u6642\u6372\u8EF8\u6ED1\u687F\u7684\u80CC\u666F\u984F\u8272\u3002","\u9577\u6642\u9593\u904B\u884C\u9032\u5EA6\u689D\u7684\u80CC\u666F\u8272\u5F69.","\u7DE8\u8F2F\u5668\u4E2D\u932F\u8AA4\u6587\u5B57\u7684\u80CC\u666F\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u7DE8\u8F2F\u5668\u5167\u932F\u8AA4\u63D0\u793A\u7DDA\u7684\u524D\u666F\u8272\u5F69.","\u7DE8\u8F2F\u5668\u4E2D\u932F\u8AA4\u65B9\u584A\u7684\u6846\u7DDA\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u4E2D\u8B66\u544A\u6587\u5B57\u7684\u80CC\u666F\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u7DE8\u8F2F\u5668\u5167\u8B66\u544A\u63D0\u793A\u7DDA\u7684\u524D\u666F\u8272\u5F69.","\u7DE8\u8F2F\u5668\u4E2D\u7684\u8B66\u544A\u65B9\u584A\u6846\u7DDA\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u4E2D\u8CC7\u8A0A\u6587\u5B57\u7684\u80CC\u666F\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u7DE8\u8F2F\u5668\u5167\u8CC7\u8A0A\u63D0\u793A\u7DDA\u7684\u524D\u666F\u8272\u5F69","\u7DE8\u8F2F\u5668\u4E2D\u7684\u8CC7\u8A0A\u65B9\u584A\u6846\u7DDA\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u5167\u63D0\u793A\u8A0A\u606F\u7684\u63D0\u793A\u7DDA\u524D\u666F\u8272\u5F69","\u7DE8\u8F2F\u5668\u4E2D\u7684\u63D0\u793A\u65B9\u584A\u6846\u7DDA\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u7684\u80CC\u666F\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u7684\u9810\u8A2D\u524D\u666F\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u5C0F\u5DE5\u5177\u7684\u80CC\u666F\u8272\u5F69\uFF0C\u4F8B\u5982\u5C0B\u627E/\u53D6\u4EE3\u3002","\u7DE8\u8F2F\u5668\u5C0F\u5DE5\u5177 (\u4F8B\u5982\u5C0B\u627E/\u53D6\u4EE3) \u7684\u524D\u666F\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u5C0F\u5DE5\u5177\u7684\u908A\u754C\u8272\u5F69\u3002\u5C0F\u5DE5\u5177\u9078\u64C7\u64C1\u6709\u908A\u754C\u6216\u8272\u5F69\u672A\u88AB\u5C0F\u5DE5\u5177\u8986\u5BEB\u6642\uFF0C\u624D\u6703\u4F7F\u7528\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u5C0F\u5DE5\u5177\u4E4B\u8ABF\u6574\u5927\u5C0F\u5217\u7684\u908A\u754C\u8272\u5F69\u3002\u53EA\u5728\u5C0F\u5DE5\u5177\u9078\u64C7\u5177\u6709\u8ABF\u6574\u5927\u5C0F\u908A\u754C\u4E14\u672A\u8986\u5BEB\u8A72\u8272\u5F69\u6642\uFF0C\u624D\u4F7F\u7528\u8A72\u8272\u5F69\u3002","\u5FEB\u901F\u9078\u64C7\u5668\u80CC\u666F\u8272\u5F69\u3002\u8A72\u5FEB\u901F\u9078\u64C7\u5668\u5C0F\u5DE5\u5177\u662F\u985E\u4F3C\u547D\u4EE4\u9078\u64C7\u5340\u7684\u9078\u64C7\u5668\u5BB9\u5668\u3002","\u5FEB\u901F\u9078\u64C7\u5668\u524D\u666F\u8272\u5F69\u3002\u5FEB\u901F\u9078\u64C7\u5668\u5C0F\u5DE5\u5177\u662F\u985E\u4F3C\u547D\u4EE4\u9078\u64C7\u5340\u7B49\u9078\u64C7\u5668\u7684\u5BB9\u5668\u3002","\u5FEB\u901F\u9078\u64C7\u5668\u6A19\u984C\u80CC\u666F\u8272\u5F69\u3002\u5FEB\u901F\u9078\u64C7\u5668\u5C0F\u5DE5\u5177\u662F\u985E\u4F3C\u547D\u4EE4\u9078\u64C7\u5340\u7684\u9078\u64C7\u5668\u5BB9\u5668\u3002","\u7126\u9EDE\u9805\u76EE\u7684\u5FEB\u901F\u9078\u64C7\u5668\u80CC\u666F\u8272\u5F69\u3002","\u5206\u7D44\u6A19\u7C64\u7684\u5FEB\u901F\u9078\u64C7\u5668\u8272\u5F69\u3002","\u5206\u7D44\u908A\u754C\u7684\u5FEB\u901F\u9078\u64C7\u5668\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u9078\u53D6\u7BC4\u570D\u7684\u8272\u5F69\u3002","\u70BA\u9078\u53D6\u7684\u6587\u5B57\u984F\u8272\u9AD8\u5C0D\u6BD4\u5316","\u975E\u4F7F\u7528\u4E2D\u7DE8\u8F2F\u5668\u5167\u7684\u9078\u53D6\u9805\u76EE\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u8207\u9078\u53D6\u9805\u76EE\u5167\u5BB9\u76F8\u540C\u4E4B\u5340\u57DF\u7684\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u9078\u53D6\u6642\uFF0C\u5167\u5BB9\u76F8\u540C\u4E4B\u5340\u57DF\u7684\u6846\u7DDA\u8272\u5F69\u3002","\u7B26\u5408\u76EE\u524D\u641C\u5C0B\u7684\u8272\u5F69\u3002","\u5176\u4ED6\u641C\u5C0B\u76F8\u7B26\u9805\u76EE\u7684\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u9650\u5236\u641C\u5C0B\u4E4B\u7BC4\u570D\u7684\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u7B26\u5408\u76EE\u524D\u641C\u5C0B\u7684\u6846\u7DDA\u8272\u5F69\u3002","\u7B26\u5408\u5176\u4ED6\u641C\u5C0B\u7684\u6846\u7DDA\u8272\u5F69\u3002","\u9650\u5236\u641C\u5C0B\u4E4B\u7BC4\u570D\u7684\u6846\u7DDA\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u5728\u986F\u793A\u52D5\u614B\u986F\u793A\u7684\u6587\u5B57\u4E0B\u9192\u76EE\u63D0\u793A\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u7DE8\u8F2F\u5668\u52D5\u614B\u986F\u793A\u7684\u80CC\u666F\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u52D5\u614B\u986F\u793A\u7684\u524D\u666F\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u52D5\u614B\u986F\u793A\u7684\u6846\u7DDA\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u66AB\u7559\u72C0\u614B\u5217\u7684\u80CC\u666F\u8272\u5F69\u3002","\u4F7F\u7528\u4E2D\u4E4B\u9023\u7D50\u7684\u8272\u5F69\u3002","\u5167\u5D4C\u63D0\u793A\u7684\u524D\u666F\u8272\u5F69","\u5167\u5D4C\u63D0\u793A\u7684\u80CC\u666F\u8272\u5F69","\u7528\u65BC\u71C8\u6CE1\u52D5\u4F5C\u5716\u793A\u7684\u8272\u5F69\u3002","\u7528\u65BC\u71C8\u6CE1\u81EA\u52D5\u4FEE\u6B63\u52D5\u4F5C\u5716\u793A\u7684\u8272\u5F69\u3002","\u5DF2\u63D2\u5165\u6587\u5B57\u7684\u80CC\u666F\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u5DF2\u79FB\u9664\u6587\u5B57\u7684\u80CC\u666F\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u63D2\u5165\u7684\u6587\u5B57\u5916\u6846\u8272\u5F69\u3002","\u79FB\u9664\u7684\u6587\u5B57\u5916\u6846\u8272\u5F69\u3002","\u5169\u500B\u6587\u5B57\u7DE8\u8F2F\u5668\u4E4B\u9593\u7684\u6846\u7DDA\u8272\u5F69\u3002","Diff \u7DE8\u8F2F\u5668\u7684\u659C\u7D0B\u586B\u6EFF\u8272\u5F69\u3002\u659C\u7D0B\u586B\u6EFF\u7528\u65BC\u4E26\u6392 Diff \u6AA2\u8996\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u70BA\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u7126\u9EDE\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u80CC\u666F\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u8005\u5247\u6C92\u6709\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u70BA\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u7126\u9EDE\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u524D\u666F\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u8005\u5247\u6C92\u6709\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u76EE\u9304\u70BA\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u7126\u9EDE\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u76EE\u9304\u5916\u6846\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u76EE\u9304\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u8005\u5247\u6C92\u6709\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u70BA\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u6240\u9078\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u80CC\u666F\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u8005\u5247\u6C92\u6709\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u70BA\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u6240\u9078\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u524D\u666F\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u8005\u5247\u6C92\u6709\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u70BA\u975E\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u6240\u9078\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u80CC\u666F\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u8005\u5247\u6C92\u6709\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u70BA\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u6240\u9078\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u524D\u666F\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u5247\u6C92\u6709\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u70BA\u975E\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u7126\u9EDE\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u80CC\u666F\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u8005\u5247\u6C92\u6709\u3002","\u7576\u6E05\u55AE/\u6A39\u72C0\u76EE\u9304\u70BA\u975E\u4F7F\u7528\u4E2D\u72C0\u614B\u6642\uFF0C\u7126\u9EDE\u9805\u76EE\u7684\u6E05\u55AE/\u6A39\u72C0\u76EE\u9304\u5916\u6846\u8272\u5F69\u3002\u4F7F\u7528\u4E2D\u7684\u6E05\u55AE/\u6A39\u72C0\u76EE\u9304\u6709\u9375\u76E4\u7126\u9EDE\uFF0C\u975E\u4F7F\u7528\u4E2D\u8005\u5247\u6C92\u6709\u3002","\u4F7F\u7528\u6ED1\u9F20\u66AB\u7559\u5728\u9805\u76EE\u6642\u7684\u6E05\u55AE/\u6A39\u72C0\u80CC\u666F\u3002","\u6ED1\u9F20\u66AB\u7559\u5728\u9805\u76EE\u6642\u7684\u6E05\u55AE/\u6A39\u72C0\u524D\u666F\u3002","\u4F7F\u7528\u6ED1\u9F20\u56DB\u8655\u79FB\u52D5\u9805\u76EE\u6642\u7684\u6E05\u55AE/\u6A39\u72C0\u62D6\u653E\u80CC\u666F\u3002","\u5728\u6E05\u55AE/\u6A39\u72C0\u5167\u641C\u5C0B\u6642\uFF0C\u76F8\u7B26\u9192\u76EE\u63D0\u793A\u7684\u6E05\u55AE/\u6A39\u72C0\u524D\u666F\u8272\u5F69\u3002","\u6E05\u55AE\u548C\u6A39\u72C0\u7D50\u69CB\u4E2D\u985E\u578B\u7BE9\u9078\u5C0F\u5DE5\u5177\u7684\u80CC\u666F\u8272\u5F69\u3002","\u6E05\u55AE\u548C\u6A39\u72C0\u7D50\u69CB\u4E2D\u985E\u578B\u7BE9\u9078\u5C0F\u5DE5\u5177\u7684\u5927\u7DB1\u8272\u5F69\u3002","\u5728\u6C92\u6709\u76F8\u7B26\u9805\u76EE\u6642\uFF0C\u6E05\u55AE\u548C\u6A39\u72C0\u7D50\u69CB\u4E2D\u985E\u578B\u7BE9\u9078\u5C0F\u5DE5\u5177\u7684\u5927\u7DB1\u8272\u5F69\u3002","\u7E2E\u6392\u8F14\u52A9\u7DDA\u7684\u6A39\u72C0\u7B46\u89F8\u8272\u5F69\u3002","\u7E2E\u6392\u8F14\u52A9\u7DDA\u7684\u6A39\u72C0\u7B46\u89F8\u8272\u5F69\u3002","\u529F\u80FD\u8868\u7684\u908A\u6846\u8272\u5F69\u3002","\u529F\u80FD\u8868\u9805\u76EE\u7684\u524D\u666F\u8272\u5F69\u3002","\u529F\u80FD\u8868\u9805\u76EE\u7684\u80CC\u666F\u8272\u5F69\u3002","\u529F\u80FD\u8868\u4E2D\u6240\u9078\u529F\u80FD\u8868\u9805\u76EE\u7684\u524D\u666F\u8272\u5F69\u3002","\u529F\u80FD\u8868\u4E2D\u6240\u9078\u529F\u80FD\u8868\u9805\u76EE\u7684\u80CC\u666F\u8272\u5F69\u3002","\u529F\u80FD\u8868\u4E2D\u6240\u9078\u529F\u80FD\u8868\u9805\u76EE\u7684\u6846\u7DDA\u8272\u5F69\u3002","\u529F\u80FD\u8868\u4E2D\u5206\u9694\u7DDA\u529F\u80FD\u8868\u9805\u76EE\u7684\u8272\u5F69\u3002","\u7A0B\u5F0F\u78BC\u7247\u6BB5\u5B9A\u4F4D\u505C\u99D0\u9EDE\u7684\u53CD\u767D\u986F\u793A\u80CC\u666F\u8272\u5F69\u3002","\u7A0B\u5F0F\u78BC\u7247\u6BB5\u5B9A\u4F4D\u505C\u99D0\u9EDE\u7684\u53CD\u767D\u986F\u793A\u908A\u754C\u8272\u5F69\u3002","\u7A0B\u5F0F\u78BC\u7247\u6BB5\u6700\u7D42\u5B9A\u4F4D\u505C\u99D0\u9EDE\u7684\u53CD\u767D\u986F\u793A\u80CC\u666F\u8272\u5F69\u3002","\u7A0B\u5F0F\u78BC\u7247\u6BB5\u6700\u7D42\u5B9A\u4F4D\u505C\u99D0\u9EDE\u7684\u9192\u76EE\u63D0\u793A\u6846\u7DDA\u8272\u5F69\u3002","\u5C0B\u627E\u76F8\u7B26\u9805\u76EE\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u8272\u5F69\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u9078\u53D6\u9805\u76EE\u9192\u76EE\u63D0\u793A\u7684\u6982\u89C0\u5C3A\u898F\u6A19\u8A18\u3002\u5176\u4E0D\u5F97\u70BA\u4E0D\u900F\u660E\u8272\u5F69\uFF0C\u4EE5\u514D\u96B1\u85CF\u5E95\u5C64\u88DD\u98FE\u3002","\u7528\u65BC\u5C0B\u627E\u76F8\u7B26\u9805\u76EE\u7684\u7E2E\u5716\u6A19\u8A18\u8272\u5F69\u3002","\u7DE8\u8F2F\u5668\u9078\u53D6\u7BC4\u570D\u7684\u8FF7\u4F60\u5730\u5716\u6A19\u8A18\u8272\u5F69\u3002","\u932F\u8AA4\u7684\u7E2E\u5716\u6A19\u8A18\u8272\u5F69\u3002","\u8B66\u544A\u7684\u7E2E\u5716\u6A19\u8A18\u8272\u5F69\u3002","\u7E2E\u5716\u80CC\u666F\u8272\u5F69\u3002","\u7E2E\u5716\u6ED1\u687F\u80CC\u666F\u8272\u5F69\u3002","\u66AB\u7559\u6642\u7684\u7E2E\u5716\u6ED1\u687F\u80CC\u666F\u8272\u5F69\u3002","\u6309\u4E00\u4E0B\u6642\u7684\u7E2E\u5716\u6ED1\u687F\u80CC\u666F\u8272\u5F69\u3002","\u7528\u65BC\u554F\u984C\u932F\u8AA4\u5716\u793A\u7684\u8272\u5F69\u3002","\u7528\u65BC\u554F\u984C\u8B66\u544A\u5716\u793A\u7684\u8272\u5F69\u3002","\u7528\u65BC\u554F\u984C\u8CC7\u8A0A\u5716\u793A\u7684\u8272\u5F69\u3002"],"vs/platform/theme/common/iconRegistry":["\u8981\u4F7F\u7528\u7684\u5B57\u578B\u8B58\u5225\u78BC\u3002\u5982\u672A\u8A2D\u5B9A\uFF0C\u5C31\u6703\u4F7F\u7528\u6700\u5148\u5B9A\u7FA9\u7684\u5B57\u578B\u3002","\u8207\u5716\u793A\u5B9A\u7FA9\u5EFA\u7ACB\u95DC\u806F\u7684\u5B57\u578B\u5B57\u5143\u3002","\u5C0F\u5DE5\u5177\u4E2D\u95DC\u9589\u52D5\u4F5C\u7684\u5716\u793A\u3002"],"vs/platform/undoRedo/common/undoRedoService":["\u5DF2\u5728\u78C1\u789F\u4E0A\u95DC\u9589\u4E26\u4FEE\u6539\u4EE5\u4E0B\u6A94\u6848: {0}\u3002","\u4E0B\u5217\u6A94\u6848\u5DF2\u4F7F\u7528\u4E0D\u76F8\u5BB9\u7684\u65B9\u5F0F\u4FEE\u6539: {0}\u3002","\u7121\u6CD5\u5FA9\u539F\u6240\u6709\u6A94\u6848\u7684 '{0}'\u3002{1}","\u7121\u6CD5\u5FA9\u539F\u6240\u6709\u6A94\u6848\u7684 '{0}'\u3002{1}","\u56E0\u70BA\u5DF2\u5C0D {1} \u9032\u884C\u8B8A\u66F4\uFF0C\u6240\u4EE5\u7121\u6CD5\u5FA9\u539F\u6240\u6709\u6A94\u6848\u7684 '{0}'","\u56E0\u70BA {1} \u4E2D\u5DF2\u7D93\u6709\u6B63\u5728\u57F7\u884C\u7684\u5FA9\u539F\u6216\u91CD\u505A\u4F5C\u696D\uFF0C\u6240\u4EE5\u7121\u6CD5\u70BA\u6240\u6709\u6A94\u6848\u5FA9\u539F '{0}'","\u56E0\u70BA\u540C\u6642\u767C\u751F\u5176\u4ED6\u5FA9\u539F\u6216\u91CD\u505A\u4F5C\u696D\uFF0C\u6240\u4EE5\u7121\u6CD5\u70BA\u6240\u6709\u6A94\u6848\u5FA9\u539F '{0}'","\u8981\u5FA9\u539F\u6240\u6709\u6A94\u6848\u7684 '{0}' \u55CE?","\u5728 {0} \u500B\u6A94\u6848\u4E2D\u5FA9\u539F","\u5FA9\u539F\u6B64\u6A94\u6848","\u53D6\u6D88","\u56E0\u70BA\u5DF2\u7D93\u6709\u6B63\u5728\u57F7\u884C\u7684\u5FA9\u539F\u6216\u91CD\u505A\u4F5C\u696D\uFF0C\u6240\u4EE5\u7121\u6CD5\u5FA9\u539F '{0}'\u3002","\u8981\u5FA9\u539F '{0}' \u55CE?","\u5FA9\u539F","\u53D6\u6D88","\u7121\u6CD5\u5FA9\u539F\u6240\u6709\u6A94\u6848\u7684 '{0}'\u3002{1}","\u7121\u6CD5\u5FA9\u539F\u6240\u6709\u6A94\u6848\u7684 '{0}'\u3002{1}","\u56E0\u70BA\u5DF2\u5C0D {1} \u9032\u884C\u8B8A\u66F4\uFF0C\u6240\u4EE5\u7121\u6CD5\u5FA9\u539F\u6240\u6709\u6A94\u6848\u7684 '{0}'","\u56E0\u70BA {1} \u4E2D\u5DF2\u7D93\u6709\u6B63\u5728\u57F7\u884C\u7684\u5FA9\u539F\u6216\u91CD\u505A\u4F5C\u696D\uFF0C\u6240\u4EE5\u7121\u6CD5\u70BA\u6240\u6709\u6A94\u6848\u91CD\u505A '{0}'","\u56E0\u70BA\u540C\u6642\u767C\u751F\u5176\u4ED6\u5FA9\u539F\u6216\u91CD\u505A\u4F5C\u696D\uFF0C\u6240\u4EE5\u7121\u6CD5\u70BA\u6240\u6709\u6A94\u6848\u91CD\u505A '{0}'","\u56E0\u70BA\u5DF2\u7D93\u6709\u6B63\u5728\u57F7\u884C\u7684\u5FA9\u539F\u6216\u91CD\u505A\u4F5C\u696D\uFF0C\u6240\u4EE5\u7121\u6CD5\u91CD\u505A '{0}'\u3002"]}); diff --git a/public/libs/monaco-editor/vs/language/css/cssMode.js b/public/libs/monaco-editor/vs/language/css/cssMode.js new file mode 100644 index 0000000..c4b71c0 --- /dev/null +++ b/public/libs/monaco-editor/vs/language/css/cssMode.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-css version: 3.3.0(ed57760e69ec24098de2b4e49fa5be7f48be019a) + * Released under the MIT license + * https://github.com/Microsoft/monaco-css/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/language/css/workerManager",["require","exports","./fillers/monaco-editor-core"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerManager=void 0;var r=function(){function e(e){var t=this;this._defaults=e,this._worker=null,this._idleCheckInterval=window.setInterval((function(){return t._checkIfIdle()}),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange((function(){return t._stopWorker()}))}return e.prototype._stopWorker=function(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null},e.prototype.dispose=function(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()},e.prototype._checkIfIdle=function(){this._worker&&(Date.now()-this._lastUsedTime>12e4&&this._stopWorker())},e.prototype._getClient=function(){return this._lastUsedTime=Date.now(),this._client||(this._worker=n.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client},e.prototype.getLanguageServiceWorker=function(){for(var e,t=this,n=[],r=0;rthis.source.length)return!1;for(var t=0;t=d&&e<=p&&(this.stream.advance(t+1),this.stream.advanceWhileChar((function(e){return e>=d&&e<=p||0===t&&e===V})),!0)},e.prototype._newline=function(e){var t=this.stream.peekChar();switch(t){case _:case P:case R:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===_&&this.stream.advanceIfChar(R)&&e.push("\n"),!0}return!1},e.prototype._escape=function(e,t){var n=this.stream.peekChar();if(n===F){this.stream.advance(1),n=this.stream.peekChar();for(var r=0;r<6&&(n>=d&&n<=p||n>=i&&n<=o||n>=a&&n<=l);)this.stream.advance(1),n=this.stream.peekChar(),r++;if(r>0){try{var s=parseInt(this.stream.substring(this.stream.pos()-r),16);s&&e.push(String.fromCharCode(s))}catch(e){}return n===N||n===M?this.stream.advance(1):this._newline([]),!0}if(n!==_&&n!==P&&n!==R)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1},e.prototype._stringChar=function(e,t){var n=this.stream.peekChar();return 0!==n&&n!==e&&n!==F&&n!==_&&n!==P&&n!==R&&(this.stream.advance(1),t.push(String.fromCharCode(n)),!0)},e.prototype._string=function(e){if(this.stream.peekChar()===I||this.stream.peekChar()===z){var t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),n.String):n.BadString}return null},e.prototype._unquotedChar=function(e){var t=this.stream.peekChar();return 0!==t&&t!==F&&t!==I&&t!==z&&t!==w&&t!==x&&t!==N&&t!==M&&t!==R&&t!==P&&t!==_&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._unquotedString=function(e){for(var t=!1;this._unquotedChar(e)||this._escape(e);)t=!0;return t},e.prototype._whitespace=function(){return this.stream.advanceWhileChar((function(e){return e===N||e===M||e===R||e===P||e===_}))>0},e.prototype._name=function(e){for(var t=!1;this._identChar(e)||this._escape(e);)t=!0;return t},e.prototype.ident=function(e){var t=this.stream.pos();if(this._minus(e)&&this._minus(e)){if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1},e.prototype._identFirstChar=function(e){var t=this.stream.peekChar();return(t===b||t>=i&&t<=s||t>=a&&t<=c||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._minus=function(e){var t=this.stream.peekChar();return t===g&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._identChar=function(e){var t=this.stream.peekChar();return(t===b||t===g||t>=i&&t<=s||t>=a&&t<=c||t>=d&&t<=p||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e}();t.Scanner=G})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/utils/strings",["require","exports"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.trim=t.getLimitedString=t.difference=t.endsWith=t.startsWith=void 0,t.startsWith=function(e,t){if(e.length0?e.lastIndexOf(t)===n:0===n&&e===t},t.difference=function(e,t,n){void 0===n&&(n=4);var r=Math.abs(e.length-t.length);if(r>n)return 0;var i,o,s=[],a=[];for(i=0;ie.end?null:(e.accept((function(e){return-1===e.offset&&-1===e.length||e.offset<=t&&e.end>=t&&(n?e.length<=n.length&&(n=e):n=e,!0)})),n)}!function(e){e[e.Undefined=0]="Undefined",e[e.Identifier=1]="Identifier",e[e.Stylesheet=2]="Stylesheet",e[e.Ruleset=3]="Ruleset",e[e.Selector=4]="Selector",e[e.SimpleSelector=5]="SimpleSelector",e[e.SelectorInterpolation=6]="SelectorInterpolation",e[e.SelectorCombinator=7]="SelectorCombinator",e[e.SelectorCombinatorParent=8]="SelectorCombinatorParent",e[e.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",e[e.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",e[e.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",e[e.Page=12]="Page",e[e.PageBoxMarginBox=13]="PageBoxMarginBox",e[e.ClassSelector=14]="ClassSelector",e[e.IdentifierSelector=15]="IdentifierSelector",e[e.ElementNameSelector=16]="ElementNameSelector",e[e.PseudoSelector=17]="PseudoSelector",e[e.AttributeSelector=18]="AttributeSelector",e[e.Declaration=19]="Declaration",e[e.Declarations=20]="Declarations",e[e.Property=21]="Property",e[e.Expression=22]="Expression",e[e.BinaryExpression=23]="BinaryExpression",e[e.Term=24]="Term",e[e.Operator=25]="Operator",e[e.Value=26]="Value",e[e.StringLiteral=27]="StringLiteral",e[e.URILiteral=28]="URILiteral",e[e.EscapedValue=29]="EscapedValue",e[e.Function=30]="Function",e[e.NumericValue=31]="NumericValue",e[e.HexColorValue=32]="HexColorValue",e[e.MixinDeclaration=33]="MixinDeclaration",e[e.MixinReference=34]="MixinReference",e[e.VariableName=35]="VariableName",e[e.VariableDeclaration=36]="VariableDeclaration",e[e.Prio=37]="Prio",e[e.Interpolation=38]="Interpolation",e[e.NestedProperties=39]="NestedProperties",e[e.ExtendsReference=40]="ExtendsReference",e[e.SelectorPlaceholder=41]="SelectorPlaceholder",e[e.Debug=42]="Debug",e[e.If=43]="If",e[e.Else=44]="Else",e[e.For=45]="For",e[e.Each=46]="Each",e[e.While=47]="While",e[e.MixinContentReference=48]="MixinContentReference",e[e.MixinContentDeclaration=49]="MixinContentDeclaration",e[e.Media=50]="Media",e[e.Keyframe=51]="Keyframe",e[e.FontFace=52]="FontFace",e[e.Import=53]="Import",e[e.Namespace=54]="Namespace",e[e.Invocation=55]="Invocation",e[e.FunctionDeclaration=56]="FunctionDeclaration",e[e.ReturnStatement=57]="ReturnStatement",e[e.MediaQuery=58]="MediaQuery",e[e.FunctionParameter=59]="FunctionParameter",e[e.FunctionArgument=60]="FunctionArgument",e[e.KeyframeSelector=61]="KeyframeSelector",e[e.ViewPort=62]="ViewPort",e[e.Document=63]="Document",e[e.AtApplyRule=64]="AtApplyRule",e[e.CustomPropertyDeclaration=65]="CustomPropertyDeclaration",e[e.CustomPropertySet=66]="CustomPropertySet",e[e.ListEntry=67]="ListEntry",e[e.Supports=68]="Supports",e[e.SupportsCondition=69]="SupportsCondition",e[e.NamespacePrefix=70]="NamespacePrefix",e[e.GridLine=71]="GridLine",e[e.Plugin=72]="Plugin",e[e.UnknownAtRule=73]="UnknownAtRule",e[e.Use=74]="Use",e[e.ModuleConfiguration=75]="ModuleConfiguration",e[e.Forward=76]="Forward",e[e.ForwardVisibility=77]="ForwardVisibility",e[e.Module=78]="Module"}(n=t.NodeType||(t.NodeType={})),function(e){e[e.Mixin=0]="Mixin",e[e.Rule=1]="Rule",e[e.Variable=2]="Variable",e[e.Function=3]="Function",e[e.Keyframe=4]="Keyframe",e[e.Unknown=5]="Unknown",e[e.Module=6]="Module",e[e.Forward=7]="Forward",e[e.ForwardVisibility=8]="ForwardVisibility"}(t.ReferenceType||(t.ReferenceType={})),t.getNodeAtOffset=i,t.getNodePath=function(e,t){for(var n=i(e,t),r=[];n;)r.unshift(n),n=n.parent;return r},t.getParentDeclaration=function(e){var t=e.findParent(n.Declaration),r=t&&t.getValue();return r&&r.encloses(e)?t:null};var o=function(){function e(e,t,n){void 0===e&&(e=-1),void 0===t&&(t=-1),this.parent=null,this.offset=e,this.length=t,n&&(this.nodeType=n)}return Object.defineProperty(e.prototype,"end",{get:function(){return this.offset+this.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.nodeType||n.Undefined},set:function(e){this.nodeType=e},enumerable:!1,configurable:!0}),e.prototype.getTextProvider=function(){for(var e=this;e&&!e.textProvider;)e=e.parent;return e?e.textProvider:function(){return"unknown"}},e.prototype.getText=function(){return this.getTextProvider()(this.offset,this.length)},e.prototype.matches=function(e){return this.length===e.length&&this.getTextProvider()(this.offset,this.length)===e},e.prototype.startsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.offset,e.length)===e},e.prototype.endsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.end-e.length,e.length)===e},e.prototype.accept=function(e){if(e(this)&&this.children)for(var t=0,n=this.children;t=0&&e.parent.children.splice(n,1)}e.parent=this;var r=this.children;return r||(r=this.children=[]),-1!==t?r.splice(t,0,e):r.push(e),e},e.prototype.attachTo=function(e,t){return void 0===t&&(t=-1),e&&e.adoptChild(this,t),this},e.prototype.collectIssues=function(e){this.issues&&e.push.apply(e,this.issues)},e.prototype.addIssue=function(e){this.issues||(this.issues=[]),this.issues.push(e)},e.prototype.hasIssue=function(e){return Array.isArray(this.issues)&&this.issues.some((function(t){return t.getRule()===e}))},e.prototype.isErroneous=function(e){return void 0===e&&(e=!1),!!(this.issues&&this.issues.length>0)||e&&Array.isArray(this.children)&&this.children.some((function(e){return e.isErroneous(!0)}))},e.prototype.setNode=function(e,t,n){return void 0===n&&(n=-1),!!t&&(t.attachTo(this,n),this[e]=t,!0)},e.prototype.addChild=function(e){return!!e&&(this.children||(this.children=[]),e.attachTo(this),this.updateOffsetAndLength(e),!0)},e.prototype.updateOffsetAndLength=function(e){(e.offsetthis.end||-1===this.length)&&(this.length=t-this.offset)},e.prototype.hasChildren=function(){return!!this.children&&this.children.length>0},e.prototype.getChildren=function(){return this.children?this.children.slice(0):[]},e.prototype.getChild=function(e){return this.children&&e=0;n--)if((t=this.children[n]).offset<=e)return t;return null},e.prototype.findChildAtOffset=function(e,t){var n=this.findFirstChildBeforeOffset(e);return n&&n.end>=e?t&&n.findChildAtOffset(e,!0)||n:null},e.prototype.encloses=function(e){return this.offset<=e.offset&&this.offset+this.length>=e.offset+e.length},e.prototype.getParent=function(){for(var e=this.parent;e instanceof s;)e=e.parent;return e},e.prototype.findParent=function(e){for(var t=this;t&&t.type!==e;)t=t.parent;return t},e.prototype.findAParent=function(){for(var e=[],t=0;t/g,">")}function i(e,t){if(!e.description||""===e.description)return"";if("string"!=typeof e.description)return e.description.value;var r="";if(!1!==(null==t?void 0:t.documentation)){e.status&&(r+=n(e.status)),r+=e.description;var i=s(e.browsers);i&&(r+="\n("+i+")"),"syntax"in e&&(r+="\n\nSyntax: "+e.syntax)}return e.references&&e.references.length>0&&!1!==(null==t?void 0:t.references)&&(r.length>0&&(r+="\n\n"),r+=e.references.map((function(e){return e.name+": "+e.url})).join(" | ")),r}function o(e,t){if(!e.description||""===e.description)return"";var i="";if(!1!==(null==t?void 0:t.documentation)){e.status&&(i+=n(e.status)),i+=r("string"==typeof e.description?e.description:e.description.value);var o=s(e.browsers);o&&(i+="\n\n("+r(o)+")"),"syntax"in e&&e.syntax&&(i+="\n\nSyntax: "+r(e.syntax))}return e.references&&e.references.length>0&&!1!==(null==t?void 0:t.references)&&(i.length>0&&(i+="\n\n"),i+=e.references.map((function(e){return"["+e.name+"]("+e.url+")"})).join(" | ")),i}function s(e){return void 0===e&&(e=[]),0===e.length?null:e.map((function(e){var n="",r=e.match(/([A-Z]+)(\d+)?/),i=r[1],o=r[2];return i in t.browserNames&&(n+=t.browserNames[i]),o&&(n+=" "+o),n})).join(", ")}Object.defineProperty(t,"__esModule",{value:!0}),t.getBrowserLabel=t.textToMarkedString=t.getEntryDescription=t.browserNames=void 0,t.browserNames={E:"Edge",FF:"Firefox",S:"Safari",C:"Chrome",IE:"IE",O:"Opera"},t.getEntryDescription=function(e,t,n){var r;if(""!==(r=t?{kind:"markdown",value:o(e,n)}:{kind:"plaintext",value:i(e,n)}).value)return r},t.textToMarkedString=r,t.getBrowserLabel=s})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/languageFacts/colors",["require","exports","../parser/cssNodes","vscode-nls"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getColorValue=t.hslFromColor=t.colorFromHSL=t.colorFrom256RGB=t.colorFromHex=t.hexDigit=t.isColorValue=t.isColorConstructor=t.colorKeywords=t.colors=t.colorFunctions=void 0;var n=e("../parser/cssNodes"),r=e("vscode-nls").loadMessageBundle();function i(e,t){var n=e.getText().match(/^([-+]?[0-9]*\.?[0-9]+)(%?)$/);if(n){n[2]&&(t=100);var r=parseFloat(n[1])/t;if(r>=0&&r<=1)return r}throw new Error}function o(e){var t=e.getName();return!!t&&/^(rgb|rgba|hsl|hsla)$/gi.test(t)}t.colorFunctions=[{func:"rgb($red, $green, $blue)",desc:r("css.builtin.rgb","Creates a Color from red, green, and blue values.")},{func:"rgba($red, $green, $blue, $alpha)",desc:r("css.builtin.rgba","Creates a Color from red, green, blue, and alpha values.")},{func:"hsl($hue, $saturation, $lightness)",desc:r("css.builtin.hsl","Creates a Color from hue, saturation, and lightness values.")},{func:"hsla($hue, $saturation, $lightness, $alpha)",desc:r("css.builtin.hsla","Creates a Color from hue, saturation, lightness, and alpha values.")}],t.colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rebeccapurple:"#663399",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},t.colorKeywords={currentColor:"The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.",transparent:"Fully transparent. This keyword can be considered a shorthand for rgba(0,0,0,0) which is its computed value."},t.isColorConstructor=o,t.isColorValue=function(e){if(e.type===n.NodeType.HexColorValue)return!0;if(e.type===n.NodeType.Function)return o(e);if(e.type===n.NodeType.Identifier){if(e.parent&&e.parent.type!==n.NodeType.Term)return!1;var r=e.getText().toLowerCase();if("none"===r)return!1;if(t.colors[r])return!0}return!1};function s(e){return e<48?0:e<=57?e-48:(e<97&&(e+=32),e>=97&&e<=102?e-97+10:0)}function a(e){if("#"!==e[0])return null;switch(e.length){case 4:return{red:17*s(e.charCodeAt(1))/255,green:17*s(e.charCodeAt(2))/255,blue:17*s(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*s(e.charCodeAt(1))/255,green:17*s(e.charCodeAt(2))/255,blue:17*s(e.charCodeAt(3))/255,alpha:17*s(e.charCodeAt(4))/255};case 7:return{red:(16*s(e.charCodeAt(1))+s(e.charCodeAt(2)))/255,green:(16*s(e.charCodeAt(3))+s(e.charCodeAt(4)))/255,blue:(16*s(e.charCodeAt(5))+s(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*s(e.charCodeAt(1))+s(e.charCodeAt(2)))/255,green:(16*s(e.charCodeAt(3))+s(e.charCodeAt(4)))/255,blue:(16*s(e.charCodeAt(5))+s(e.charCodeAt(6)))/255,alpha:(16*s(e.charCodeAt(7))+s(e.charCodeAt(8)))/255}}return null}function l(e,t,n,r){if(void 0===r&&(r=1),0===t)return{red:n,green:n,blue:n,alpha:r};var i=function(e,t,n){for(;n<0;)n+=6;for(;n>=6;)n-=6;return n<1?(t-e)*n+e:n<3?t:n<4?(t-e)*(4-n)+e:e},o=n<=.5?n*(t+1):n+t-n*t,s=2*n-o;return{red:i(s,o,(e/=60)+2),green:i(s,o,e),blue:i(s,o,e-2),alpha:r}}t.hexDigit=s,t.colorFromHex=a,t.colorFrom256RGB=function(e,t,n,r){return void 0===r&&(r=1),{red:e/255,green:t/255,blue:n/255,alpha:r}},t.colorFromHSL=l,t.hslFromColor=function(e){var t=e.red,n=e.green,r=e.blue,i=e.alpha,o=Math.max(t,n,r),s=Math.min(t,n,r),a=0,l=0,c=(s+o)/2,d=o-s;if(d>0){switch(l=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),o){case t:a=(n-r)/d+(n4)return null;try{var c=4===s.length?i(s[3],1):1;if("rgb"===o||"rgba"===o)return{red:i(s[0],255),green:i(s[1],255),blue:i(s[2],255),alpha:c};if("hsl"===o||"hsla"===o)return l(function(e){var t=e.getText();if(t.match(/^([-+]?[0-9]*\.?[0-9]+)(deg)?$/))return parseFloat(t)%360;throw new Error}(s[0]),i(s[1],100),i(s[2],100),c)}catch(e){return null}}else if(e.type===n.NodeType.Identifier){if(e.parent&&e.parent.type!==n.NodeType.Term)return null;var d=e.parent;if(d&&d.parent&&d.parent.type===n.NodeType.BinaryExpression){var p=d.parent;if(p.parent&&p.parent.type===n.NodeType.ListEntry&&p.parent.key===p)return null}var h=e.getText().toLowerCase();if("none"===h)return null;var u=t.colors[h];if(u)return a(u)}return null}})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/languageFacts/builtinData",["require","exports"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.pageBoxDirectives=t.svgElements=t.html5Tags=t.units=t.basicShapeFunctions=t.transitionTimingFunctions=t.imageFunctions=t.cssWideKeywords=t.geometryBoxKeywords=t.boxKeywords=t.lineWidthKeywords=t.lineStyleKeywords=t.repeatStyleKeywords=t.positionKeywords=void 0,t.positionKeywords={bottom:"Computes to ‘100%’ for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.",center:"Computes to ‘50%’ (‘left 50%’) for the horizontal position if the horizontal position is not otherwise specified, or ‘50%’ (‘top 50%’) for the vertical position if it is.",left:"Computes to ‘0%’ for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.",right:"Computes to ‘100%’ for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.",top:"Computes to ‘0%’ for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset."},t.repeatStyleKeywords={"no-repeat":"Placed once and not repeated in this direction.",repeat:"Repeated in this direction as often as needed to cover the background painting area.","repeat-x":"Computes to ‘repeat no-repeat’.","repeat-y":"Computes to ‘no-repeat repeat’.",round:"Repeated as often as will fit within the background positioning area. If it doesn’t fit a whole number of times, it is rescaled so that it does.",space:"Repeated as often as will fit within the background positioning area without being clipped and then the images are spaced out to fill the area."},t.lineStyleKeywords={dashed:"A series of square-ended dashes.",dotted:"A series of round dots.",double:"Two parallel solid lines with some space between them.",groove:"Looks as if it were carved in the canvas.",hidden:"Same as ‘none’, but has different behavior in the border conflict resolution rules for border-collapsed tables.",inset:"Looks as if the content on the inside of the border is sunken into the canvas.",none:"No border. Color and width are ignored.",outset:"Looks as if the content on the inside of the border is coming out of the canvas.",ridge:"Looks as if it were coming out of the canvas.",solid:"A single line segment."},t.lineWidthKeywords=["medium","thick","thin"],t.boxKeywords={"border-box":"The background is painted within (clipped to) the border box.","content-box":"The background is painted within (clipped to) the content box.","padding-box":"The background is painted within (clipped to) the padding box."},t.geometryBoxKeywords={"margin-box":"Uses the margin box as reference box.","fill-box":"Uses the object bounding box as reference box.","stroke-box":"Uses the stroke bounding box as reference box.","view-box":"Uses the nearest SVG viewport as reference box."},t.cssWideKeywords={initial:"Represents the value specified as the property’s initial value.",inherit:"Represents the computed value of the property on the element’s parent.",unset:"Acts as either `inherit` or `initial`, depending on whether the property is inherited or not."},t.imageFunctions={"url()":"Reference an image file by URL","image()":"Provide image fallbacks and annotations.","-webkit-image-set()":"Provide multiple resolutions. Remember to use unprefixed image-set() in addition.","image-set()":"Provide multiple resolutions of an image and const the UA decide which is most appropriate in a given situation.","-moz-element()":"Use an element in the document as an image. Remember to use unprefixed element() in addition.","element()":"Use an element in the document as an image.","cross-fade()":"Indicates the two images to be combined and how far along in the transition the combination is.","-webkit-gradient()":"Deprecated. Use modern linear-gradient() or radial-gradient() instead.","-webkit-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","-moz-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","-o-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","linear-gradient()":"A linear gradient is created by specifying a straight gradient line, and then several colors placed along that line.","-webkit-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","-moz-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","-o-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","repeating-linear-gradient()":"Same as linear-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position.","-webkit-radial-gradient()":"Radial gradient. Remember to use unprefixed version in addition.","-moz-radial-gradient()":"Radial gradient. Remember to use unprefixed version in addition.","radial-gradient()":"Colors emerge from a single point and smoothly spread outward in a circular or elliptical shape.","-webkit-repeating-radial-gradient()":"Repeating radial gradient. Remember to use unprefixed version in addition.","-moz-repeating-radial-gradient()":"Repeating radial gradient. Remember to use unprefixed version in addition.","repeating-radial-gradient()":"Same as radial-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position."},t.transitionTimingFunctions={ease:"Equivalent to cubic-bezier(0.25, 0.1, 0.25, 1.0).","ease-in":"Equivalent to cubic-bezier(0.42, 0, 1.0, 1.0).","ease-in-out":"Equivalent to cubic-bezier(0.42, 0, 0.58, 1.0).","ease-out":"Equivalent to cubic-bezier(0, 0, 0.58, 1.0).",linear:"Equivalent to cubic-bezier(0.0, 0.0, 1.0, 1.0).","step-end":"Equivalent to steps(1, end).","step-start":"Equivalent to steps(1, start).","steps()":"The first parameter specifies the number of intervals in the function. The second parameter, which is optional, is either the value “start” or “end”.","cubic-bezier()":"Specifies a cubic-bezier curve. The four values specify points P1 and P2 of the curve as (x1, y1, x2, y2).","cubic-bezier(0.6, -0.28, 0.735, 0.045)":"Ease-in Back. Overshoots.","cubic-bezier(0.68, -0.55, 0.265, 1.55)":"Ease-in-out Back. Overshoots.","cubic-bezier(0.175, 0.885, 0.32, 1.275)":"Ease-out Back. Overshoots.","cubic-bezier(0.6, 0.04, 0.98, 0.335)":"Ease-in Circular. Based on half circle.","cubic-bezier(0.785, 0.135, 0.15, 0.86)":"Ease-in-out Circular. Based on half circle.","cubic-bezier(0.075, 0.82, 0.165, 1)":"Ease-out Circular. Based on half circle.","cubic-bezier(0.55, 0.055, 0.675, 0.19)":"Ease-in Cubic. Based on power of three.","cubic-bezier(0.645, 0.045, 0.355, 1)":"Ease-in-out Cubic. Based on power of three.","cubic-bezier(0.215, 0.610, 0.355, 1)":"Ease-out Cubic. Based on power of three.","cubic-bezier(0.95, 0.05, 0.795, 0.035)":"Ease-in Exponential. Based on two to the power ten.","cubic-bezier(1, 0, 0, 1)":"Ease-in-out Exponential. Based on two to the power ten.","cubic-bezier(0.19, 1, 0.22, 1)":"Ease-out Exponential. Based on two to the power ten.","cubic-bezier(0.47, 0, 0.745, 0.715)":"Ease-in Sine.","cubic-bezier(0.445, 0.05, 0.55, 0.95)":"Ease-in-out Sine.","cubic-bezier(0.39, 0.575, 0.565, 1)":"Ease-out Sine.","cubic-bezier(0.55, 0.085, 0.68, 0.53)":"Ease-in Quadratic. Based on power of two.","cubic-bezier(0.455, 0.03, 0.515, 0.955)":"Ease-in-out Quadratic. Based on power of two.","cubic-bezier(0.25, 0.46, 0.45, 0.94)":"Ease-out Quadratic. Based on power of two.","cubic-bezier(0.895, 0.03, 0.685, 0.22)":"Ease-in Quartic. Based on power of four.","cubic-bezier(0.77, 0, 0.175, 1)":"Ease-in-out Quartic. Based on power of four.","cubic-bezier(0.165, 0.84, 0.44, 1)":"Ease-out Quartic. Based on power of four.","cubic-bezier(0.755, 0.05, 0.855, 0.06)":"Ease-in Quintic. Based on power of five.","cubic-bezier(0.86, 0, 0.07, 1)":"Ease-in-out Quintic. Based on power of five.","cubic-bezier(0.23, 1, 0.320, 1)":"Ease-out Quintic. Based on power of five."},t.basicShapeFunctions={"circle()":"Defines a circle.","ellipse()":"Defines an ellipse.","inset()":"Defines an inset rectangle.","polygon()":"Defines a polygon."},t.units={length:["em","rem","ex","px","cm","mm","in","pt","pc","ch","vw","vh","vmin","vmax"],angle:["deg","rad","grad","turn"],time:["ms","s"],frequency:["Hz","kHz"],resolution:["dpi","dpcm","dppx"],percentage:["%","fr"]},t.html5Tags=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","const","video","wbr"],t.svgElements=["circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","hatch","hatchpath","image","line","linearGradient","marker","mask","mesh","meshpatch","meshrow","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","solidcolor","stop","svg","switch","symbol","text","textPath","tspan","use","view"],t.pageBoxDirectives=["@bottom-center","@bottom-left","@bottom-left-corner","@bottom-right","@bottom-right-corner","@left-bottom","@left-middle","@left-top","@right-bottom","@right-middle","@right-top","@top-center","@top-left","@top-left-corner","@top-right","@top-right-corner"]}));var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),__exportStar=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||__createBinding(t,e,n)};!function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/languageFacts/facts",["require","exports","./entry","./colors","./builtinData"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),__exportStar(e("./entry"),t),__exportStar(e("./colors"),t),__exportStar(e("./builtinData"),t)})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/utils/objects",["require","exports"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDefined=t.values=void 0,t.values=function(e){return Object.keys(e).map((function(t){return e[t]}))},t.isDefined=function(e){return void 0!==e}})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/cssParser",["require","exports","./cssScanner","./cssNodes","./cssErrors","../languageFacts/facts","../utils/objects"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var n=e("./cssScanner"),r=e("./cssNodes"),i=e("./cssErrors"),o=e("../languageFacts/facts"),s=e("../utils/objects"),a=function(){function e(e){void 0===e&&(e=new n.Scanner),this.keyframeRegex=/^@(\-(webkit|ms|moz|o)\-)?keyframes$/i,this.scanner=e,this.token={type:n.TokenType.EOF,offset:-1,len:0,text:""},this.prevToken=void 0}return e.prototype.peekIdent=function(e){return n.TokenType.Ident===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()},e.prototype.peekKeyword=function(e){return n.TokenType.AtKeyword===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()},e.prototype.peekDelim=function(e){return n.TokenType.Delim===this.token.type&&e===this.token.text},e.prototype.peek=function(e){return e===this.token.type},e.prototype.peekOne=function(e){return-1!==e.indexOf(this.token.type)},e.prototype.peekRegExp=function(e,t){return e===this.token.type&&t.test(this.token.text)},e.prototype.hasWhitespace=function(){return!!this.prevToken&&this.prevToken.offset+this.prevToken.len!==this.token.offset},e.prototype.consumeToken=function(){this.prevToken=this.token,this.token=this.scanner.scan()},e.prototype.mark=function(){return{prev:this.prevToken,curr:this.token,pos:this.scanner.pos()}},e.prototype.restoreAtMark=function(e){this.prevToken=e.prev,this.token=e.curr,this.scanner.goBackTo(e.pos)},e.prototype.try=function(e){var t=this.mark(),n=e();return n||(this.restoreAtMark(t),null)},e.prototype.acceptOneKeyword=function(e){if(n.TokenType.AtKeyword===this.token.type)for(var t=0,r=e;te.offset?o-e.offset:0}return e},e.prototype.markError=function(e,t,n,i){this.token!==this.lastErrorToken&&(e.addIssue(new r.Marker(e,t,r.Level.Error,void 0,this.token.offset,this.token.len)),this.lastErrorToken=this.token),(n||i)&&this.resync(n,i)},e.prototype.parseStylesheet=function(e){var t=e.version,n=e.getText();return this.internalParse(n,this._parseStylesheet,(function(r,i){if(e.version!==t)throw new Error("Underlying model has changed, AST is no longer valid");return n.substr(r,i)}))},e.prototype.internalParse=function(e,t,n){this.scanner.setSource(e),this.token=this.scanner.scan();var r=t.bind(this)();return r&&(r.textProvider=n||function(t,n){return e.substr(t,n)}),r},e.prototype._parseStylesheet=function(){for(var e=this.create(r.Stylesheet);e.addChild(this._parseStylesheetStart()););var t=!1;do{var o=!1;do{o=!1;var s=this._parseStylesheetStatement();for(s&&(e.addChild(s),o=!0,t=!1,this.peek(n.TokenType.EOF)||!this._needsSemicolonAfter(s)||this.accept(n.TokenType.SemiColon)||this.markError(e,i.ParseError.SemiColonExpected));this.accept(n.TokenType.SemiColon)||this.accept(n.TokenType.CDO)||this.accept(n.TokenType.CDC);)o=!0,t=!1}while(o);if(this.peek(n.TokenType.EOF))break;t||(this.peek(n.TokenType.AtKeyword)?this.markError(e,i.ParseError.UnknownAtRule):this.markError(e,i.ParseError.RuleOrSelectorExpected),t=!0),this.consumeToken()}while(!this.peek(n.TokenType.EOF));return this.finish(e)},e.prototype._parseStylesheetStart=function(){return this._parseCharset()},e.prototype._parseStylesheetStatement=function(e){return void 0===e&&(e=!1),this.peek(n.TokenType.AtKeyword)?this._parseStylesheetAtStatement(e):this._parseRuleset(e)},e.prototype._parseStylesheetAtStatement=function(e){return void 0===e&&(e=!1),this._parseImport()||this._parseMedia(e)||this._parsePage()||this._parseFontFace()||this._parseKeyframe()||this._parseSupports(e)||this._parseViewPort()||this._parseNamespace()||this._parseDocument()||this._parseUnknownAtRule()},e.prototype._tryParseRuleset=function(e){var t=this.mark();if(this._parseSelector(e)){for(;this.accept(n.TokenType.Comma)&&this._parseSelector(e););if(this.accept(n.TokenType.CurlyL))return this.restoreAtMark(t),this._parseRuleset(e)}return this.restoreAtMark(t),null},e.prototype._parseRuleset=function(e){void 0===e&&(e=!1);var t=this.create(r.RuleSet),o=t.getSelectors();if(!o.addChild(this._parseSelector(e)))return null;for(;this.accept(n.TokenType.Comma);)if(!o.addChild(this._parseSelector(e)))return this.finish(t,i.ParseError.SelectorExpected);return this._parseBody(t,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseRuleSetDeclarationAtStatement=function(){return this._parseAtApply()||this._parseUnknownAtRule()},e.prototype._parseRuleSetDeclaration=function(){return this.peek(n.TokenType.AtKeyword)?this._parseRuleSetDeclarationAtStatement():this._parseDeclaration()},e.prototype._parseAtApply=function(){if(!this.peekKeyword("@apply"))return null;var e=this.create(r.AtApplyRule);return this.consumeToken(),e.setIdentifier(this._parseIdent([r.ReferenceType.Variable]))?this.finish(e):this.finish(e,i.ParseError.IdentifierExpected)},e.prototype._needsSemicolonAfter=function(e){switch(e.type){case r.NodeType.Keyframe:case r.NodeType.ViewPort:case r.NodeType.Media:case r.NodeType.Ruleset:case r.NodeType.Namespace:case r.NodeType.If:case r.NodeType.For:case r.NodeType.Each:case r.NodeType.While:case r.NodeType.MixinDeclaration:case r.NodeType.FunctionDeclaration:case r.NodeType.MixinContentDeclaration:return!1;case r.NodeType.ExtendsReference:case r.NodeType.MixinContentReference:case r.NodeType.ReturnStatement:case r.NodeType.MediaQuery:case r.NodeType.Debug:case r.NodeType.Import:case r.NodeType.AtApplyRule:case r.NodeType.CustomPropertyDeclaration:return!0;case r.NodeType.VariableDeclaration:return e.needsSemicolon;case r.NodeType.MixinReference:return!e.getContent();case r.NodeType.Declaration:return!e.getNestedProperties()}return!1},e.prototype._parseDeclarations=function(e){var t=this.create(r.Declarations);if(!this.accept(n.TokenType.CurlyL))return null;for(var o=e();t.addChild(o)&&!this.peek(n.TokenType.CurlyR);){if(this._needsSemicolonAfter(o)&&!this.accept(n.TokenType.SemiColon))return this.finish(t,i.ParseError.SemiColonExpected,[n.TokenType.SemiColon,n.TokenType.CurlyR]);for(o&&this.prevToken&&this.prevToken.type===n.TokenType.SemiColon&&(o.semicolonPosition=this.prevToken.offset);this.accept(n.TokenType.SemiColon););o=e()}return this.accept(n.TokenType.CurlyR)?this.finish(t):this.finish(t,i.ParseError.RightCurlyExpected,[n.TokenType.CurlyR,n.TokenType.SemiColon])},e.prototype._parseBody=function(e,t){return e.setDeclarations(this._parseDeclarations(t))?this.finish(e):this.finish(e,i.ParseError.LeftCurlyExpected,[n.TokenType.CurlyR,n.TokenType.SemiColon])},e.prototype._parseSelector=function(e){var t=this.create(r.Selector),n=!1;for(e&&(n=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());)n=!0,t.addChild(this._parseCombinator());return n?this.finish(t):null},e.prototype._parseDeclaration=function(e){var t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;var o=this.create(r.Declaration);return o.setProperty(this._parseProperty())?this.accept(n.TokenType.Colon)?(this.prevToken&&(o.colonPosition=this.prevToken.offset),o.setValue(this._parseExpr())?(o.addChild(this._parsePrio()),this.peek(n.TokenType.SemiColon)&&(o.semicolonPosition=this.token.offset),this.finish(o)):this.finish(o,i.ParseError.PropertyValueExpected)):this.finish(o,i.ParseError.ColonExpected,[n.TokenType.Colon],e||[n.TokenType.SemiColon]):null},e.prototype._tryParseCustomPropertyDeclaration=function(e){if(!this.peekRegExp(n.TokenType.Ident,/^--/))return null;var t=this.create(r.CustomPropertyDeclaration);if(!t.setProperty(this._parseProperty()))return null;if(!this.accept(n.TokenType.Colon))return this.finish(t,i.ParseError.ColonExpected,[n.TokenType.Colon]);this.prevToken&&(t.colonPosition=this.prevToken.offset);var o=this.mark();if(this.peek(n.TokenType.CurlyL)){var a=this.create(r.CustomPropertySet),l=this._parseDeclarations(this._parseRuleSetDeclaration.bind(this));if(a.setDeclarations(l)&&!l.isErroneous(!0)&&(a.addChild(this._parsePrio()),this.peek(n.TokenType.SemiColon)))return this.finish(a),t.setPropertySet(a),t.semicolonPosition=this.token.offset,this.finish(t);this.restoreAtMark(o)}var c=this._parseExpr();return c&&!c.isErroneous(!0)&&(this._parsePrio(),this.peekOne(e||[n.TokenType.SemiColon]))?(t.setValue(c),t.semicolonPosition=this.token.offset,this.finish(t)):(this.restoreAtMark(o),t.addChild(this._parseCustomPropertyValue(e)),t.addChild(this._parsePrio()),s.isDefined(t.colonPosition)&&this.token.offset===t.colonPosition+1?this.finish(t,i.ParseError.PropertyValueExpected):this.finish(t))},e.prototype._parseCustomPropertyValue=function(e){var t=this;void 0===e&&(e=[n.TokenType.CurlyR]);var o=this.create(r.Node),s=function(){return 0===l&&0===c&&0===d},a=function(){return-1!==e.indexOf(t.token.type)},l=0,c=0,d=0;e:for(;;){switch(this.token.type){case n.TokenType.SemiColon:case n.TokenType.Exclamation:if(s())break e;break;case n.TokenType.CurlyL:l++;break;case n.TokenType.CurlyR:if(--l<0){if(a()&&0===c&&0===d)break e;return this.finish(o,i.ParseError.LeftCurlyExpected)}break;case n.TokenType.ParenthesisL:c++;break;case n.TokenType.ParenthesisR:if(--c<0){if(a()&&0===d&&0===l)break e;return this.finish(o,i.ParseError.LeftParenthesisExpected)}break;case n.TokenType.BracketL:d++;break;case n.TokenType.BracketR:if(--d<0)return this.finish(o,i.ParseError.LeftSquareBracketExpected);break;case n.TokenType.BadString:break e;case n.TokenType.EOF:var p=i.ParseError.RightCurlyExpected;return d>0?p=i.ParseError.RightSquareBracketExpected:c>0&&(p=i.ParseError.RightParenthesisExpected),this.finish(o,p)}this.consumeToken()}return this.finish(o)},e.prototype._tryToParseDeclaration=function(e){var t=this.mark();return this._parseProperty()&&this.accept(n.TokenType.Colon)?(this.restoreAtMark(t),this._parseDeclaration(e)):(this.restoreAtMark(t),null)},e.prototype._parseProperty=function(){var e=this.create(r.Property),t=this.mark();return(this.acceptDelim("*")||this.acceptDelim("_"))&&this.hasWhitespace()?(this.restoreAtMark(t),null):e.setIdentifier(this._parsePropertyIdentifier())?this.finish(e):null},e.prototype._parsePropertyIdentifier=function(){return this._parseIdent()},e.prototype._parseCharset=function(){if(!this.peek(n.TokenType.Charset))return null;var e=this.create(r.Node);return this.consumeToken(),this.accept(n.TokenType.String)?this.accept(n.TokenType.SemiColon)?this.finish(e):this.finish(e,i.ParseError.SemiColonExpected):this.finish(e,i.ParseError.IdentifierExpected)},e.prototype._parseImport=function(){if(!this.peekKeyword("@import"))return null;var e=this.create(r.Import);return this.consumeToken(),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(n.TokenType.SemiColon)||this.peek(n.TokenType.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)):this.finish(e,i.ParseError.URIOrStringExpected)},e.prototype._parseNamespace=function(){if(!this.peekKeyword("@namespace"))return null;var e=this.create(r.Namespace);return this.consumeToken(),e.addChild(this._parseURILiteral())||(e.addChild(this._parseIdent()),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral()))?this.accept(n.TokenType.SemiColon)?this.finish(e):this.finish(e,i.ParseError.SemiColonExpected):this.finish(e,i.ParseError.URIExpected,[n.TokenType.SemiColon])},e.prototype._parseFontFace=function(){if(!this.peekKeyword("@font-face"))return null;var e=this.create(r.FontFace);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseViewPort=function(){if(!this.peekKeyword("@-ms-viewport")&&!this.peekKeyword("@-o-viewport")&&!this.peekKeyword("@viewport"))return null;var e=this.create(r.ViewPort);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseKeyframe=function(){if(!this.peekRegExp(n.TokenType.AtKeyword,this.keyframeRegex))return null;var e=this.create(r.Keyframe),t=this.create(r.Node);return this.consumeToken(),e.setKeyword(this.finish(t)),t.matches("@-ms-keyframes")&&this.markError(t,i.ParseError.UnknownKeyword),e.setIdentifier(this._parseKeyframeIdent())?this._parseBody(e,this._parseKeyframeSelector.bind(this)):this.finish(e,i.ParseError.IdentifierExpected,[n.TokenType.CurlyR])},e.prototype._parseKeyframeIdent=function(){return this._parseIdent([r.ReferenceType.Keyframe])},e.prototype._parseKeyframeSelector=function(){var e=this.create(r.KeyframeSelector);if(!e.addChild(this._parseIdent())&&!this.accept(n.TokenType.Percentage))return null;for(;this.accept(n.TokenType.Comma);)if(!e.addChild(this._parseIdent())&&!this.accept(n.TokenType.Percentage))return this.finish(e,i.ParseError.PercentageExpected);return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._tryParseKeyframeSelector=function(){var e=this.create(r.KeyframeSelector),t=this.mark();if(!e.addChild(this._parseIdent())&&!this.accept(n.TokenType.Percentage))return null;for(;this.accept(n.TokenType.Comma);)if(!e.addChild(this._parseIdent())&&!this.accept(n.TokenType.Percentage))return this.restoreAtMark(t),null;return this.peek(n.TokenType.CurlyL)?this._parseBody(e,this._parseRuleSetDeclaration.bind(this)):(this.restoreAtMark(t),null)},e.prototype._parseSupports=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@supports"))return null;var t=this.create(r.Supports);return this.consumeToken(),t.addChild(this._parseSupportsCondition()),this._parseBody(t,this._parseSupportsDeclaration.bind(this,e))},e.prototype._parseSupportsDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},e.prototype._parseSupportsCondition=function(){var e=this.create(r.SupportsCondition);if(this.acceptIdent("not"))e.addChild(this._parseSupportsConditionInParens());else if(e.addChild(this._parseSupportsConditionInParens()),this.peekRegExp(n.TokenType.Ident,/^(and|or)$/i))for(var t=this.token.text.toLowerCase();this.acceptIdent(t);)e.addChild(this._parseSupportsConditionInParens());return this.finish(e)},e.prototype._parseSupportsConditionInParens=function(){var e=this.create(r.SupportsCondition);if(this.accept(n.TokenType.ParenthesisL))return this.prevToken&&(e.lParent=this.prevToken.offset),e.addChild(this._tryToParseDeclaration([n.TokenType.ParenthesisR]))||this._parseSupportsCondition()?this.accept(n.TokenType.ParenthesisR)?(this.prevToken&&(e.rParent=this.prevToken.offset),this.finish(e)):this.finish(e,i.ParseError.RightParenthesisExpected,[n.TokenType.ParenthesisR],[]):this.finish(e,i.ParseError.ConditionExpected);if(this.peek(n.TokenType.Ident)){var t=this.mark();if(this.consumeToken(),!this.hasWhitespace()&&this.accept(n.TokenType.ParenthesisL)){for(var o=1;this.token.type!==n.TokenType.EOF&&0!==o;)this.token.type===n.TokenType.ParenthesisL?o++:this.token.type===n.TokenType.ParenthesisR&&o--,this.consumeToken();return this.finish(e)}this.restoreAtMark(t)}return this.finish(e,i.ParseError.LeftParenthesisExpected,[],[n.TokenType.ParenthesisL])},e.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},e.prototype._parseMedia=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@media"))return null;var t=this.create(r.Media);return this.consumeToken(),t.addChild(this._parseMediaQueryList())?this._parseBody(t,this._parseMediaDeclaration.bind(this,e)):this.finish(t,i.ParseError.MediaQueryExpected)},e.prototype._parseMediaQueryList=function(){var e=this.create(r.Medialist);if(!e.addChild(this._parseMediaQuery([n.TokenType.CurlyL])))return this.finish(e,i.ParseError.MediaQueryExpected);for(;this.accept(n.TokenType.Comma);)if(!e.addChild(this._parseMediaQuery([n.TokenType.CurlyL])))return this.finish(e,i.ParseError.MediaQueryExpected);return this.finish(e)},e.prototype._parseMediaQuery=function(e){var t=this.create(r.MediaQuery),o=!0,s=!1;if(!this.peek(n.TokenType.ParenthesisL)){if(this.acceptIdent("only")||this.acceptIdent("not"),!t.addChild(this._parseIdent()))return null;s=!0,o=this.acceptIdent("and")}for(;o;)if(t.addChild(this._parseMediaContentStart()))o=this.acceptIdent("and");else{if(!this.accept(n.TokenType.ParenthesisL))return s?this.finish(t,i.ParseError.LeftParenthesisExpected,[],e):null;if(!t.addChild(this._parseMediaFeatureName()))return this.finish(t,i.ParseError.IdentifierExpected,[],e);if(this.accept(n.TokenType.Colon)&&!t.addChild(this._parseExpr()))return this.finish(t,i.ParseError.TermExpected,[],e);if(!this.accept(n.TokenType.ParenthesisR))return this.finish(t,i.ParseError.RightParenthesisExpected,[],e);o=this.acceptIdent("and")}return this.finish(t)},e.prototype._parseMediaContentStart=function(){return null},e.prototype._parseMediaFeatureName=function(){return this._parseIdent()},e.prototype._parseMedium=function(){var e=this.create(r.Node);return e.addChild(this._parseIdent())?this.finish(e):null},e.prototype._parsePageDeclaration=function(){return this._parsePageMarginBox()||this._parseRuleSetDeclaration()},e.prototype._parsePage=function(){if(!this.peekKeyword("@page"))return null;var e=this.create(r.Page);if(this.consumeToken(),e.addChild(this._parsePageSelector()))for(;this.accept(n.TokenType.Comma);)if(!e.addChild(this._parsePageSelector()))return this.finish(e,i.ParseError.IdentifierExpected);return this._parseBody(e,this._parsePageDeclaration.bind(this))},e.prototype._parsePageMarginBox=function(){if(!this.peek(n.TokenType.AtKeyword))return null;var e=this.create(r.PageBoxMarginBox);return this.acceptOneKeyword(o.pageBoxDirectives)||this.markError(e,i.ParseError.UnknownAtRule,[],[n.TokenType.CurlyL]),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parsePageSelector=function(){if(!this.peek(n.TokenType.Ident)&&!this.peek(n.TokenType.Colon))return null;var e=this.create(r.Node);return e.addChild(this._parseIdent()),this.accept(n.TokenType.Colon)&&!e.addChild(this._parseIdent())?this.finish(e,i.ParseError.IdentifierExpected):this.finish(e)},e.prototype._parseDocument=function(){if(!this.peekKeyword("@-moz-document"))return null;var e=this.create(r.Document);return this.consumeToken(),this.resync([],[n.TokenType.CurlyL]),this._parseBody(e,this._parseStylesheetStatement.bind(this))},e.prototype._parseUnknownAtRule=function(){if(!this.peek(n.TokenType.AtKeyword))return null;var e=this.create(r.UnknownAtRule);e.addChild(this._parseUnknownAtRuleName());var t=0,o=0,s=0,a=0;e:for(;;){switch(this.token.type){case n.TokenType.SemiColon:if(0===o&&0===s&&0===a)break e;break;case n.TokenType.EOF:return o>0?this.finish(e,i.ParseError.RightCurlyExpected):a>0?this.finish(e,i.ParseError.RightSquareBracketExpected):s>0?this.finish(e,i.ParseError.RightParenthesisExpected):this.finish(e);case n.TokenType.CurlyL:t++,o++;break;case n.TokenType.CurlyR:if(o--,t>0&&0===o){if(this.consumeToken(),a>0)return this.finish(e,i.ParseError.RightSquareBracketExpected);if(s>0)return this.finish(e,i.ParseError.RightParenthesisExpected);break e}if(o<0){if(0===s&&0===a)break e;return this.finish(e,i.ParseError.LeftCurlyExpected)}break;case n.TokenType.ParenthesisL:s++;break;case n.TokenType.ParenthesisR:if(--s<0)return this.finish(e,i.ParseError.LeftParenthesisExpected);break;case n.TokenType.BracketL:a++;break;case n.TokenType.BracketR:if(--a<0)return this.finish(e,i.ParseError.LeftSquareBracketExpected)}this.consumeToken()}return e},e.prototype._parseUnknownAtRuleName=function(){var e=this.create(r.Node);return this.accept(n.TokenType.AtKeyword)?this.finish(e):e},e.prototype._parseOperator=function(){if(this.peekDelim("/")||this.peekDelim("*")||this.peekDelim("+")||this.peekDelim("-")||this.peek(n.TokenType.Dashmatch)||this.peek(n.TokenType.Includes)||this.peek(n.TokenType.SubstringOperator)||this.peek(n.TokenType.PrefixOperator)||this.peek(n.TokenType.SuffixOperator)||this.peekDelim("=")){var e=this.createNode(r.NodeType.Operator);return this.consumeToken(),this.finish(e)}return null},e.prototype._parseUnaryOperator=function(){if(!this.peekDelim("+")&&!this.peekDelim("-"))return null;var e=this.create(r.Node);return this.consumeToken(),this.finish(e)},e.prototype._parseCombinator=function(){if(this.peekDelim(">")){var e=this.create(r.Node);this.consumeToken();var t=this.mark();if(!this.hasWhitespace()&&this.acceptDelim(">")){if(!this.hasWhitespace()&&this.acceptDelim(">"))return e.type=r.NodeType.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return e.type=r.NodeType.SelectorCombinatorParent,this.finish(e)}if(this.peekDelim("+")){e=this.create(r.Node);return this.consumeToken(),e.type=r.NodeType.SelectorCombinatorSibling,this.finish(e)}if(this.peekDelim("~")){e=this.create(r.Node);return this.consumeToken(),e.type=r.NodeType.SelectorCombinatorAllSiblings,this.finish(e)}if(this.peekDelim("/")){e=this.create(r.Node);this.consumeToken();t=this.mark();if(!this.hasWhitespace()&&this.acceptIdent("deep")&&!this.hasWhitespace()&&this.acceptDelim("/"))return e.type=r.NodeType.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return null},e.prototype._parseSimpleSelector=function(){var e=this.create(r.SimpleSelector),t=0;for(e.addChild(this._parseElementName())&&t++;(0===t||!this.hasWhitespace())&&e.addChild(this._parseSimpleSelectorBody());)t++;return t>0?this.finish(e):null},e.prototype._parseSimpleSelectorBody=function(){return this._parsePseudo()||this._parseHash()||this._parseClass()||this._parseAttrib()},e.prototype._parseSelectorIdent=function(){return this._parseIdent()},e.prototype._parseHash=function(){if(!this.peek(n.TokenType.Hash)&&!this.peekDelim("#"))return null;var e=this.createNode(r.NodeType.IdentifierSelector);if(this.acceptDelim("#")){if(this.hasWhitespace()||!e.addChild(this._parseSelectorIdent()))return this.finish(e,i.ParseError.IdentifierExpected)}else this.consumeToken();return this.finish(e)},e.prototype._parseClass=function(){if(!this.peekDelim("."))return null;var e=this.createNode(r.NodeType.ClassSelector);return this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseSelectorIdent())?this.finish(e,i.ParseError.IdentifierExpected):this.finish(e)},e.prototype._parseElementName=function(){var e=this.mark(),t=this.createNode(r.NodeType.ElementNameSelector);return t.addChild(this._parseNamespacePrefix()),t.addChild(this._parseSelectorIdent())||this.acceptDelim("*")?this.finish(t):(this.restoreAtMark(e),null)},e.prototype._parseNamespacePrefix=function(){var e=this.mark(),t=this.createNode(r.NodeType.NamespacePrefix);return!t.addChild(this._parseIdent())&&this.acceptDelim("*"),this.acceptDelim("|")?this.finish(t):(this.restoreAtMark(e),null)},e.prototype._parseAttrib=function(){if(!this.peek(n.TokenType.BracketL))return null;var e=this.create(r.AttributeSelector);return this.consumeToken(),e.setNamespacePrefix(this._parseNamespacePrefix()),e.setIdentifier(this._parseIdent())?(e.setOperator(this._parseOperator())&&(e.setValue(this._parseBinaryExpr()),this.acceptIdent("i")),this.accept(n.TokenType.BracketR)?this.finish(e):this.finish(e,i.ParseError.RightSquareBracketExpected)):this.finish(e,i.ParseError.IdentifierExpected)},e.prototype._parsePseudo=function(){var e=this,t=this._tryParsePseudoIdentifier();if(t){if(!this.hasWhitespace()&&this.accept(n.TokenType.ParenthesisL)){if(t.addChild(this.try((function(){var t=e.create(r.Node);if(!t.addChild(e._parseSelector(!1)))return null;for(;e.accept(n.TokenType.Comma)&&t.addChild(e._parseSelector(!1)););return e.peek(n.TokenType.ParenthesisR)?e.finish(t):null}))||this._parseBinaryExpr()),!this.accept(n.TokenType.ParenthesisR))return this.finish(t,i.ParseError.RightParenthesisExpected)}return this.finish(t)}return null},e.prototype._tryParsePseudoIdentifier=function(){if(!this.peek(n.TokenType.Colon))return null;var e=this.mark(),t=this.createNode(r.NodeType.PseudoSelector);return this.consumeToken(),this.hasWhitespace()?(this.restoreAtMark(e),null):(this.accept(n.TokenType.Colon),this.hasWhitespace()||!t.addChild(this._parseIdent())?this.finish(t,i.ParseError.IdentifierExpected):this.finish(t))},e.prototype._tryParsePrio=function(){var e=this.mark(),t=this._parsePrio();return t||(this.restoreAtMark(e),null)},e.prototype._parsePrio=function(){if(!this.peek(n.TokenType.Exclamation))return null;var e=this.createNode(r.NodeType.Prio);return this.accept(n.TokenType.Exclamation)&&this.acceptIdent("important")?this.finish(e):null},e.prototype._parseExpr=function(e){void 0===e&&(e=!1);var t=this.create(r.Expression);if(!t.addChild(this._parseBinaryExpr()))return null;for(;;){if(this.peek(n.TokenType.Comma)){if(e)return this.finish(t);this.consumeToken()}if(!t.addChild(this._parseBinaryExpr()))break}return this.finish(t)},e.prototype._parseNamedLine=function(){if(!this.peek(n.TokenType.BracketL))return null;var e=this.createNode(r.NodeType.GridLine);for(this.consumeToken();e.addChild(this._parseIdent()););return this.accept(n.TokenType.BracketR)?this.finish(e):this.finish(e,i.ParseError.RightSquareBracketExpected)},e.prototype._parseBinaryExpr=function(e,t){var n=this.create(r.BinaryExpression);if(!n.setLeft(e||this._parseTerm()))return null;if(!n.setOperator(t||this._parseOperator()))return this.finish(n);if(!n.setRight(this._parseTerm()))return this.finish(n,i.ParseError.TermExpected);n=this.finish(n);var o=this._parseOperator();return o&&(n=this._parseBinaryExpr(n,o)),this.finish(n)},e.prototype._parseTerm=function(){var e=this.create(r.Term);return e.setOperator(this._parseUnaryOperator()),e.setExpression(this._parseTermExpression())?this.finish(e):null},e.prototype._parseTermExpression=function(){return this._parseURILiteral()||this._parseFunction()||this._parseIdent()||this._parseStringLiteral()||this._parseNumeric()||this._parseHexColor()||this._parseOperation()||this._parseNamedLine()},e.prototype._parseOperation=function(){if(!this.peek(n.TokenType.ParenthesisL))return null;var e=this.create(r.Node);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(n.TokenType.ParenthesisR)?this.finish(e):this.finish(e,i.ParseError.RightParenthesisExpected)},e.prototype._parseNumeric=function(){if(this.peek(n.TokenType.Num)||this.peek(n.TokenType.Percentage)||this.peek(n.TokenType.Resolution)||this.peek(n.TokenType.Length)||this.peek(n.TokenType.EMS)||this.peek(n.TokenType.EXS)||this.peek(n.TokenType.Angle)||this.peek(n.TokenType.Time)||this.peek(n.TokenType.Dimension)||this.peek(n.TokenType.Freq)){var e=this.create(r.NumericValue);return this.consumeToken(),this.finish(e)}return null},e.prototype._parseStringLiteral=function(){if(!this.peek(n.TokenType.String)&&!this.peek(n.TokenType.BadString))return null;var e=this.createNode(r.NodeType.StringLiteral);return this.consumeToken(),this.finish(e)},e.prototype._parseURILiteral=function(){if(!this.peekRegExp(n.TokenType.Ident,/^url(-prefix)?$/i))return null;var e=this.mark(),t=this.createNode(r.NodeType.URILiteral);return this.accept(n.TokenType.Ident),this.hasWhitespace()||!this.peek(n.TokenType.ParenthesisL)?(this.restoreAtMark(e),null):(this.scanner.inURL=!0,this.consumeToken(),t.addChild(this._parseURLArgument()),this.scanner.inURL=!1,this.accept(n.TokenType.ParenthesisR)?this.finish(t):this.finish(t,i.ParseError.RightParenthesisExpected))},e.prototype._parseURLArgument=function(){var e=this.create(r.Node);return this.accept(n.TokenType.String)||this.accept(n.TokenType.BadString)||this.acceptUnquotedString()?this.finish(e):null},e.prototype._parseIdent=function(e){if(!this.peek(n.TokenType.Ident))return null;var t=this.create(r.Identifier);return e&&(t.referenceTypes=e),t.isCustomProperty=this.peekRegExp(n.TokenType.Ident,/^--/),this.consumeToken(),this.finish(t)},e.prototype._parseFunction=function(){var e=this.mark(),t=this.create(r.Function);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(n.TokenType.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(n.TokenType.Comma)&&!this.peek(n.TokenType.ParenthesisR);)t.getArguments().addChild(this._parseFunctionArgument())||this.markError(t,i.ParseError.ExpressionExpected);return this.accept(n.TokenType.ParenthesisR)?this.finish(t):this.finish(t,i.ParseError.RightParenthesisExpected)},e.prototype._parseFunctionIdentifier=function(){if(!this.peek(n.TokenType.Ident))return null;var e=this.create(r.Identifier);if(e.referenceTypes=[r.ReferenceType.Function],this.acceptIdent("progid")){if(this.accept(n.TokenType.Colon))for(;this.accept(n.TokenType.Ident)&&this.acceptDelim("."););return this.finish(e)}return this.consumeToken(),this.finish(e)},e.prototype._parseFunctionArgument=function(){var e=this.create(r.FunctionArgument);return e.setValue(this._parseExpr(!0))?this.finish(e):null},e.prototype._parseHexColor=function(){if(this.peekRegExp(n.TokenType.Hash,/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/g)){var e=this.create(r.HexColorValue);return this.consumeToken(),this.finish(e)}return null},e}();t.Parser=a})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/utils/arrays",["require","exports"],e)}((function(e,t){"use strict";function n(e,t){return-1!==e.indexOf(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.union=t.includes=t.findFirst=void 0,t.findFirst=function(e,t){var n=0,r=e.length;if(0===r)return 0;for(;ne+t||this.offset===e&&this.length===t?this.findInScope(e,t):null},e.prototype.findInScope=function(e,t){void 0===t&&(t=0);var n=e+t,i=r.findFirst(this.children,(function(e){return e.offset>n}));if(0===i)return this;var o=this.children[i-1];return o.offset<=e&&o.offset+o.length>=e+t?o.findInScope(e,t):this},e.prototype.addSymbol=function(e){this.symbols.push(e)},e.prototype.getSymbol=function(e,t){for(var n=0;n0&&(i.arguments=n),i},e.is=function(e){var t=e;return E.defined(t)&&E.string(t.title)&&E.string(t.command)}}(c=t.Command||(t.Command={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return E.objectLiteral(t)&&E.string(t.newText)&&i.is(t.range)}}(d=t.TextEdit||(t.TextEdit={})),function(e){e.create=function(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},e.is=function(e){var t=e;return void 0!==t&&E.objectLiteral(t)&&E.string(t.label)&&(E.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(E.string(t.description)||void 0===t.description)}}(p=t.ChangeAnnotation||(t.ChangeAnnotation={})),function(e){e.is=function(e){return"string"==typeof e}}(h=t.ChangeAnnotationIdentifier||(t.ChangeAnnotationIdentifier={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return d.is(t)&&(p.is(t.annotationId)||h.is(t.annotationId))}}(u=t.AnnotatedTextEdit||(t.AnnotatedTextEdit={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return E.defined(t)&&v.is(t.textDocument)&&Array.isArray(t.edits)}}(m=t.TextDocumentEdit||(t.TextDocumentEdit={})),function(e){e.create=function(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){var t=e;return t&&"create"===t.kind&&E.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||E.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||E.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||h.is(t.annotationId))}}(f=t.CreateFile||(t.CreateFile={})),function(e){e.create=function(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},e.is=function(e){var t=e;return t&&"rename"===t.kind&&E.string(t.oldUri)&&E.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||E.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||E.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||h.is(t.annotationId))}}(g=t.RenameFile||(t.RenameFile={})),function(e){e.create=function(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){var t=e;return t&&"delete"===t.kind&&E.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||E.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||E.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||h.is(t.annotationId))}}(b=t.DeleteFile||(t.DeleteFile={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return E.string(e.kind)?f.is(e)||g.is(e)||b.is(e):m.is(e)})))}}(y=t.WorkspaceEdit||(t.WorkspaceEdit={}));var v,w,x,S,k=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=d.insert(e,t):h.is(n)?(i=n,r=u.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=u.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=d.replace(e,t):h.is(n)?(i=n,r=u.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=u.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=d.del(e):h.is(t)?(r=t,n=u.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=u.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),C=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(h.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),T=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new C(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(m.is(e)){var n=new k(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new k(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(v.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new k(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new k(i),this._textEditChanges[e]=r}return r},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new C,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(p.is(t)||h.is(t)?r=t:n=t,void 0===r?i=f.create(e,n):(o=h.is(r)?r:this._changeAnnotations.manage(r),i=f.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,s;if(p.is(n)||h.is(n)?i=n:r=n,void 0===i?o=g.create(e,t,r):(s=h.is(i)?i:this._changeAnnotations.manage(i),o=g.create(e,t,r,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(p.is(t)||h.is(t)?r=t:n=t,void 0===r?i=b.create(e,n):(o=h.is(r)?r:this._changeAnnotations.manage(r),i=b.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e}();t.WorkspaceChange=T,function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return E.defined(t)&&E.string(t.uri)}}(t.TextDocumentIdentifier||(t.TextDocumentIdentifier={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return E.defined(t)&&E.string(t.uri)&&E.integer(t.version)}}(t.VersionedTextDocumentIdentifier||(t.VersionedTextDocumentIdentifier={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return E.defined(t)&&E.string(t.uri)&&(null===t.version||E.integer(t.version))}}(v=t.OptionalVersionedTextDocumentIdentifier||(t.OptionalVersionedTextDocumentIdentifier={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return E.defined(t)&&E.string(t.uri)&&E.string(t.languageId)&&E.integer(t.version)&&E.string(t.text)}}(t.TextDocumentItem||(t.TextDocumentItem={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(w=t.MarkupKind||(t.MarkupKind={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(w=t.MarkupKind||(t.MarkupKind={})),function(e){e.is=function(e){var t=e;return E.objectLiteral(e)&&w.is(t.kind)&&E.string(t.value)}}(x=t.MarkupContent||(t.MarkupContent={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(t.CompletionItemKind||(t.CompletionItemKind={})),function(e){e.PlainText=1,e.Snippet=2}(t.InsertTextFormat||(t.InsertTextFormat={})),function(e){e.Deprecated=1}(t.CompletionItemTag||(t.CompletionItemTag={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&E.string(t.newText)&&i.is(t.insert)&&i.is(t.replace)}}(t.InsertReplaceEdit||(t.InsertReplaceEdit={})),function(e){e.asIs=1,e.adjustIndentation=2}(t.InsertTextMode||(t.InsertTextMode={})),function(e){e.create=function(e){return{label:e}}}(t.CompletionItem||(t.CompletionItem={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(t.CompletionList||(t.CompletionList={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return E.string(t)||E.objectLiteral(t)&&E.string(t.language)&&E.string(t.value)}}(S=t.MarkedString||(t.MarkedString={})),function(e){e.is=function(e){var t=e;return!!t&&E.objectLiteral(t)&&(x.is(t.contents)||S.is(t.contents)||E.typedArray(t.contents,S.is))&&(void 0===e.range||i.is(e.range))}}(t.Hover||(t.Hover={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(t.ParameterInformation||(t.ParameterInformation={})),function(e){e.create=function(e,t){for(var n=[],r=2;r=0;s--){var a=i[s],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=o))throw new Error("Overlapping edit");r=r.substring(0,l)+a.newText+r.substring(c,r.length),o=l}return r}}(t.TextDocument||(t.TextDocument={}));var E,F=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return r.create(0,e);for(;ne?i=o:n=o+1}var s=n-1;return r.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1e?r=i:n=i+1}var o=n-1;return{line:o,character:e-t[o]}},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function s(e){var t=o(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,r,i){return new n(e,t,r,i)},e.update=function(e,t,r){if(e instanceof n)return e.update(t,r),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){for(var n=e.getText(),i=0,o=[],a=0,l=r(t.map(s),(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n}));ai&&o.push(n.substring(i,d)),c.newText.length&&o.push(c.newText),i=e.offsetAt(c.range.end)}return o.push(n.substr(i)),o.join("")}}(t.TextDocument||(t.TextDocument={}))})),define("vscode-languageserver-textdocument",["vscode-languageserver-textdocument/main"],(function(e){return e})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/cssLanguageTypes",["require","exports","vscode-languageserver-types","vscode-languageserver-textdocument"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileType=t.ClientCapabilities=t.DocumentHighlightKind=t.VersionedTextDocumentIdentifier=t.TextDocumentEdit=t.CodeActionKind=t.TextEdit=t.WorkspaceEdit=t.DocumentLink=t.DocumentHighlight=t.CodeAction=t.Command=t.CodeActionContext=t.MarkedString=t.Hover=t.Location=t.DocumentSymbol=t.SymbolKind=t.SymbolInformation=t.InsertTextFormat=t.CompletionItemTag=t.CompletionList=t.CompletionItemKind=t.CompletionItem=t.DiagnosticSeverity=t.Diagnostic=t.SelectionRange=t.FoldingRangeKind=t.FoldingRange=t.ColorPresentation=t.ColorInformation=t.Color=t.MarkupKind=t.MarkupContent=t.Position=t.Range=t.TextDocument=void 0;var n=e("vscode-languageserver-types");Object.defineProperty(t,"Range",{enumerable:!0,get:function(){return n.Range}}),Object.defineProperty(t,"Position",{enumerable:!0,get:function(){return n.Position}}),Object.defineProperty(t,"MarkupContent",{enumerable:!0,get:function(){return n.MarkupContent}}),Object.defineProperty(t,"MarkupKind",{enumerable:!0,get:function(){return n.MarkupKind}}),Object.defineProperty(t,"Color",{enumerable:!0,get:function(){return n.Color}}),Object.defineProperty(t,"ColorInformation",{enumerable:!0,get:function(){return n.ColorInformation}}),Object.defineProperty(t,"ColorPresentation",{enumerable:!0,get:function(){return n.ColorPresentation}}),Object.defineProperty(t,"FoldingRange",{enumerable:!0,get:function(){return n.FoldingRange}}),Object.defineProperty(t,"FoldingRangeKind",{enumerable:!0,get:function(){return n.FoldingRangeKind}}),Object.defineProperty(t,"SelectionRange",{enumerable:!0,get:function(){return n.SelectionRange}}),Object.defineProperty(t,"Diagnostic",{enumerable:!0,get:function(){return n.Diagnostic}}),Object.defineProperty(t,"DiagnosticSeverity",{enumerable:!0,get:function(){return n.DiagnosticSeverity}}),Object.defineProperty(t,"CompletionItem",{enumerable:!0,get:function(){return n.CompletionItem}}),Object.defineProperty(t,"CompletionItemKind",{enumerable:!0,get:function(){return n.CompletionItemKind}}),Object.defineProperty(t,"CompletionList",{enumerable:!0,get:function(){return n.CompletionList}}),Object.defineProperty(t,"CompletionItemTag",{enumerable:!0,get:function(){return n.CompletionItemTag}}),Object.defineProperty(t,"InsertTextFormat",{enumerable:!0,get:function(){return n.InsertTextFormat}}),Object.defineProperty(t,"SymbolInformation",{enumerable:!0,get:function(){return n.SymbolInformation}}),Object.defineProperty(t,"SymbolKind",{enumerable:!0,get:function(){return n.SymbolKind}}),Object.defineProperty(t,"DocumentSymbol",{enumerable:!0,get:function(){return n.DocumentSymbol}}),Object.defineProperty(t,"Location",{enumerable:!0,get:function(){return n.Location}}),Object.defineProperty(t,"Hover",{enumerable:!0,get:function(){return n.Hover}}),Object.defineProperty(t,"MarkedString",{enumerable:!0,get:function(){return n.MarkedString}}),Object.defineProperty(t,"CodeActionContext",{enumerable:!0,get:function(){return n.CodeActionContext}}),Object.defineProperty(t,"Command",{enumerable:!0,get:function(){return n.Command}}),Object.defineProperty(t,"CodeAction",{enumerable:!0,get:function(){return n.CodeAction}}),Object.defineProperty(t,"DocumentHighlight",{enumerable:!0,get:function(){return n.DocumentHighlight}}),Object.defineProperty(t,"DocumentLink",{enumerable:!0,get:function(){return n.DocumentLink}}),Object.defineProperty(t,"WorkspaceEdit",{enumerable:!0,get:function(){return n.WorkspaceEdit}}),Object.defineProperty(t,"TextEdit",{enumerable:!0,get:function(){return n.TextEdit}}),Object.defineProperty(t,"CodeActionKind",{enumerable:!0,get:function(){return n.CodeActionKind}}),Object.defineProperty(t,"TextDocumentEdit",{enumerable:!0,get:function(){return n.TextDocumentEdit}}),Object.defineProperty(t,"VersionedTextDocumentIdentifier",{enumerable:!0,get:function(){return n.VersionedTextDocumentIdentifier}}),Object.defineProperty(t,"DocumentHighlightKind",{enumerable:!0,get:function(){return n.DocumentHighlightKind}});var r=e("vscode-languageserver-textdocument");Object.defineProperty(t,"TextDocument",{enumerable:!0,get:function(){return r.TextDocument}}),function(e){e.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[n.MarkupKind.Markdown,n.MarkupKind.PlainText]}},hover:{contentFormat:[n.MarkupKind.Markdown,n.MarkupKind.PlainText]}}}}(t.ClientCapabilities||(t.ClientCapabilities={})),function(e){e[e.Unknown=0]="Unknown",e[e.File=1]="File",e[e.Directory=2]="Directory",e[e.SymbolicLink=64]="SymbolicLink"}(t.FileType||(t.FileType={}))})),function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define("vscode-uri/index",[],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(this,(function(){return(()=>{"use strict";var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,o=-1,s=0,a=0;a<=e.length;++a){if(a2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),o=a,s=0;continue}}else if(2===r.length||1===r.length){r="",i=0,o=a,s=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(o+1,a):r=e.slice(o+1,a),i=a-o-1;o=a,s=0}else 46===n&&-1!==s?++s:s=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var s;o>=0?s=arguments[o]:(void 0===e&&(e=process.cwd()),s=e),t(s),0!==s.length&&(r=s+"/"+r,i=47===s.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;ic){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else s>c&&(47===e.charCodeAt(i+p)?d=p:0===p&&(d=0));break}var h=e.charCodeAt(i+p);if(h!==n.charCodeAt(a+p))break;47===h&&(d=p)}var u="";for(p=i+d+1;p<=o;++p)p!==o&&47!==e.charCodeAt(p)||(0===u.length?u+="..":u+="/..");return u.length>0?u+n.slice(a+d):(a+=d,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,o=!0,s=e.length-1;s>=1;--s)if(47===(n=e.charCodeAt(s))){if(!o){i=s;break}}else o=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,o=-1,s=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!s){i=r+1;break}}else-1===l&&(s=!1,l=r+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(o=r):(a=-1,o=l))}return i===o?o=l:-1===o&&(o=e.length),e.slice(i,o)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!s){i=r+1;break}}else-1===o&&(s=!1,o=r+1);return-1===o?"":e.slice(i,o)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,o=!0,s=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===i&&(o=!1,i=a+1),46===l?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1);else if(!o){r=a+1;break}}return-1===n||-1===i||0===s||1===s&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+"/"+r:r}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),o=47===i;o?(n.root="/",r=1):r=0;for(var s=-1,a=0,l=-1,c=!0,d=e.length-1,p=0;d>=r;--d)if(47!==(i=e.charCodeAt(d)))-1===l&&(c=!1,l=d+1),46===i?-1===s?s=d:1!==p&&(p=1):-1!==s&&(p=-1);else if(!c){a=d+1;break}return-1===s||-1===l||0===p||1===p&&s===l-1&&s===a+1?-1!==l&&(n.base=n.name=0===a&&o?e.slice(1,l):e.slice(a,l)):(0===a&&o?(n.name=e.slice(1,s),n.base=e.slice(1,l)):(n.name=e.slice(a,s),n.base=e.slice(a,l)),n.ext=e.slice(s,l)),a>0?n.dir=e.slice(0,a-1):o&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r},465:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utils=t.URI=void 0;var r=n(796);Object.defineProperty(t,"URI",{enumerable:!0,get:function(){return r.URI}});var i=n(679);Object.defineProperty(t,"Utils",{enumerable:!0,get:function(){return i.Utils}})},674:(e,t)=>{if(Object.defineProperty(t,"__esModule",{value:!0}),t.isWindows=void 0,"object"==typeof process)t.isWindows="win32"===process.platform;else if("object"==typeof navigator){var n=navigator.userAgent;t.isWindows=n.indexOf("Windows")>=0}},796:function(e,t,n){var r,i,o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0}),t.uriToFsPath=t.URI=void 0;var s=n(674),a=/^\w[\w\d+.-]*$/,l=/^\//,c=/^\/\//,d="",p="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,u=function(){function e(e,t,n,r,i,o){void 0===o&&(o=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,o),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==p&&(t=p+t):t=p}return t}(this.scheme,n||d),this.query=r||d,this.fragment=i||d,function(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(c.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,o))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"function"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return v(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,o=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===r?r=this.path:null===r&&(r=d),void 0===i?i=this.query:null===i&&(i=d),void 0===o?o=this.fragment:null===o&&(o=d),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new f(t,n,r,i,o)},e.parse=function(e,t){void 0===t&&(t=!1);var n=h.exec(e);return n?new f(n[2]||d,k(n[4]||d),k(n[5]||d),k(n[7]||d),k(n[9]||d),t):new f(d,d,d,d,d)},e.file=function(e){var t=d;if(s.isWindows&&(e=e.replace(/\\/g,p)),e[0]===p&&e[1]===p){var n=e.indexOf(p,2);-1===n?(t=e.substring(2),e=p):(t=e.substring(2,n),e=e.substring(n)||p)}return new f("file",t,e,d,d)},e.from=function(e){return new f(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),w(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new f(t);return n._formatted=t.external,n._fsPath=t._sep===m?t.fsPath:null,n}return t},e}();t.URI=u;var m=s.isWindows?1:void 0,f=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return o(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=v(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?w(this,!0):(this._formatted||(this._formatted=w(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=m),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(u),g=((i={})[58]="%3A",i[47]="%2F",i[63]="%3F",i[35]="%23",i[91]="%5B",i[93]="%5D",i[64]="%40",i[33]="%21",i[36]="%24",i[38]="%26",i[39]="%27",i[40]="%28",i[41]="%29",i[42]="%2A",i[43]="%2B",i[44]="%2C",i[59]="%3B",i[61]="%3D",i[32]="%20",i);function b(e,t){for(var n=void 0,r=-1,i=0;i=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));var s=g[o];void 0!==s?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=s):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function y(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,s.isWindows&&(n=n.replace(/\//g,"\\")),n}function w(e,t){var n=t?y:b,r="",i=e.scheme,o=e.authority,s=e.path,a=e.query,l=e.fragment;if(i&&(r+=i,r+=":"),(o||"file"===i)&&(r+=p,r+=p),o){var c=o.indexOf("@");if(-1!==c){var d=o.substr(0,c);o=o.substr(c+1),-1===(c=d.indexOf(":"))?r+=n(d,!1):(r+=n(d.substr(0,c),!1),r+=":",r+=n(d.substr(c+1),!1)),r+="@"}-1===(c=(o=o.toLowerCase()).indexOf(":"))?r+=n(o,!1):(r+=n(o.substr(0,c),!1),r+=o.substr(c))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(h=s.charCodeAt(1))>=65&&h<=90&&(s="/"+String.fromCharCode(h+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var h;(h=s.charCodeAt(0))>=65&&h<=90&&(s=String.fromCharCode(h+32)+":"+s.substr(2))}r+=n(s,!0)}return a&&(r+="?",r+=n(a,!1)),l&&(r+="#",r+=t?l:b(l,!1)),r}function x(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+x(e.substr(3)):e}}t.uriToFsPath=v;var S=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(e){return e.match(S)?e.replace(S,(function(e){return x(e)})):e}},679:function(e,t,n){var r=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&-1===' \t\n\r":{[()]},*>+'.indexOf(r.charAt(n));)n--;return r.substring(n+1,t)}(e,this.offset),this.defaultReplaceRange=a.Range.create(a.Position.create(this.position.line,this.position.character-this.currentWord.length),this.position),this.textDocument=e,this.styleSheet=n,this.documentSettings=i;try{var o={isIncomplete:!1,items:[]};this.nodePath=r.getNodePath(this.styleSheet,this.offset);for(var s=this.nodePath.length-1;s>=0;s--){var l=this.nodePath[s];if(l instanceof r.Property)this.getCompletionsForDeclarationProperty(l.getParent(),o);else if(l instanceof r.Expression)l.parent instanceof r.Interpolation?this.getVariableProposals(null,o):this.getCompletionsForExpression(l,o);else if(l instanceof r.SimpleSelector){var c=l.findAParent(r.NodeType.ExtendsReference,r.NodeType.Ruleset);if(c)if(c.type===r.NodeType.ExtendsReference)this.getCompletionsForExtendsReference(c,l,o);else{var d=c;this.getCompletionsForSelector(d,d&&d.isNested(),o)}}else if(l instanceof r.FunctionArgument)this.getCompletionsForFunctionArgument(l,l.getParent(),o);else if(l instanceof r.Declarations)this.getCompletionsForDeclarations(l,o);else if(l instanceof r.VariableDeclaration)this.getCompletionsForVariableDeclaration(l,o);else if(l instanceof r.RuleSet)this.getCompletionsForRuleSet(l,o);else if(l instanceof r.Interpolation)this.getCompletionsForInterpolation(l,o);else if(l instanceof r.FunctionDeclaration)this.getCompletionsForFunctionDeclaration(l,o);else if(l instanceof r.MixinReference)this.getCompletionsForMixinReference(l,o);else if(l instanceof r.Function)this.getCompletionsForFunctionArgument(null,l,o);else if(l instanceof r.Supports)this.getCompletionsForSupports(l,o);else if(l instanceof r.SupportsCondition)this.getCompletionsForSupportsCondition(l,o);else if(l instanceof r.ExtendsReference)this.getCompletionsForExtendsReference(l,null,o);else if(l.type===r.NodeType.URILiteral)this.getCompletionForUriLiteralValue(l,o);else if(null===l.parent)this.getCompletionForTopLevel(o);else{if(l.type!==r.NodeType.StringLiteral||!this.isImportPathParent(l.parent.type))continue;this.getCompletionForImportPath(l,o)}if(o.items.length>0||this.offset>l.offset)return this.finalize(o)}return this.getCompletionsForStylesheet(o),0===o.items.length&&this.variablePrefix&&0===this.currentWord.indexOf(this.variablePrefix)&&this.getVariableProposals(null,o),this.finalize(o)}finally{this.position=null,this.currentWord=null,this.textDocument=null,this.styleSheet=null,this.symbolContext=null,this.defaultReplaceRange=null,this.nodePath=null}},e.prototype.isImportPathParent=function(e){return e===r.NodeType.Import},e.prototype.finalize=function(e){return e},e.prototype.findInNodePath=function(){for(var e=[],t=0;t=0;n--){var r=this.nodePath[n];if(-1!==e.indexOf(r.type))return r}return null},e.prototype.getCompletionsForDeclarationProperty=function(e,t){return this.getPropertyProposals(e,t)},e.prototype.getPropertyProposals=function(e,t){var r=this,i=this.isTriggerPropertyValueCompletionEnabled,l=this.isCompletePropertyWithSemicolonEnabled;return this.cssDataManager.getProperties().forEach((function(d){var p,h,u=!1;e?(p=r.getCompletionRange(e.getProperty()),h=d.name,c.isDefined(e.colonPosition)||(h+=": ",u=!0)):(p=r.getCompletionRange(null),h=d.name+": ",u=!0),!e&&l&&(h+="$0;"),e&&!e.semicolonPosition&&l&&r.offset>=r.textDocument.offsetAt(p.end)&&(h+="$0;");var f={label:d.name,documentation:o.getEntryDescription(d,r.doesSupportMarkdown()),tags:m(d)?[a.CompletionItemTag.Deprecated]:[],textEdit:a.TextEdit.replace(p,h),insertTextFormat:a.InsertTextFormat.Snippet,kind:a.CompletionItemKind.Property};d.restrictions||(u=!1),i&&u&&(f.command={title:"Suggest",command:"editor.action.triggerSuggest"});var g=(255-("number"==typeof d.relevance?Math.min(Math.max(d.relevance,0),99):50)).toString(16),b=s.startsWith(d.name,"-")?n.VendorPrefixed:n.Normal;f.sortText=b+"_"+g,t.items.push(f)})),this.completionParticipants.forEach((function(e){e.onCssProperty&&e.onCssProperty({propertyName:r.currentWord,range:r.defaultReplaceRange})})),t},Object.defineProperty(e.prototype,"isTriggerPropertyValueCompletionEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.triggerPropertyValueCompletion)||void 0===t||t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCompletePropertyWithSemicolonEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.completePropertyWithSemicolon)||void 0===t||t},enumerable:!1,configurable:!0}),e.prototype.getCompletionsForDeclarationValue=function(e,t){for(var n=this,i=e.getFullPropertyName(),o=this.cssDataManager.getProperty(i),s=e.getValue()||null;s&&s.hasChildren();)s=s.findChildAtOffset(this.offset,!1);if(this.completionParticipants.forEach((function(e){e.onCssPropertyValue&&e.onCssPropertyValue({propertyName:i,propertyValue:n.currentWord,range:n.getCompletionRange(s)})})),o){if(o.restrictions)for(var l=0,c=o.restrictions;l=e.offset+2&&this.getVariableProposals(null,t),t},e.prototype.getVariableProposals=function(e,t){for(var i=0,o=this.getSymbolContext().findSymbolsAtOffset(this.offset,r.ReferenceType.Variable);i0){var s=this.currentWord.match(/^-?\d[\.\d+]*/);s&&(i=s[0],n.isIncomplete=i.length===this.currentWord.length)}else 0===this.currentWord.length&&(n.isIncomplete=!0);if(t&&t.parent&&t.parent.type===r.NodeType.Term&&(t=t.getParent()),e.restrictions)for(var l=0,c=e.restrictions;l=n.end?this.getCompletionForTopLevel(t):!n||this.offset<=n.offset?this.getCompletionsForSelector(e,e.isNested(),t):this.getCompletionsForDeclarations(e.getDeclarations(),t)},e.prototype.getCompletionsForSelector=function(e,t,i){var l=this,c=this.findInNodePath(r.NodeType.PseudoSelector,r.NodeType.IdentifierSelector,r.NodeType.ClassSelector,r.NodeType.ElementNameSelector);if(!c&&this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord,this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord),this.defaultReplaceRange=a.Range.create(a.Position.create(this.position.line,this.position.character-this.currentWord.length),this.position)),this.cssDataManager.getPseudoClasses().forEach((function(e){var t=g(e.name),r={label:e.name,textEdit:a.TextEdit.replace(l.getCompletionRange(c),t),documentation:o.getEntryDescription(e,l.doesSupportMarkdown()),tags:m(e)?[a.CompletionItemTag.Deprecated]:[],kind:a.CompletionItemKind.Function,insertTextFormat:e.name!==t?h:void 0};s.startsWith(e.name,":-")&&(r.sortText=n.VendorPrefixed),i.items.push(r)})),this.cssDataManager.getPseudoElements().forEach((function(e){var t=g(e.name),r={label:e.name,textEdit:a.TextEdit.replace(l.getCompletionRange(c),t),documentation:o.getEntryDescription(e,l.doesSupportMarkdown()),tags:m(e)?[a.CompletionItemTag.Deprecated]:[],kind:a.CompletionItemKind.Function,insertTextFormat:e.name!==t?h:void 0};s.startsWith(e.name,"::-")&&(r.sortText=n.VendorPrefixed),i.items.push(r)})),!t){for(var d=0,p=o.html5Tags;d0){var t=v.substr(e.offset,e.length);return"."!==t.charAt(0)||y[t]||(y[t]=!0,i.items.push({label:t,textEdit:a.TextEdit.replace(l.getCompletionRange(c),t),kind:a.CompletionItemKind.Keyword})),!1}return!0})),e&&e.isNested()){var w=e.getSelectors().findFirstChildBeforeOffset(this.offset);w&&0===e.getSelectors().getChildren().indexOf(w)&&this.getPropertyProposals(null,i)}return i},e.prototype.getCompletionsForDeclarations=function(e,t){if(!e||this.offset===e.offset)return t;var n=e.findFirstChildBeforeOffset(this.offset);if(!n)return this.getCompletionsForDeclarationProperty(null,t);if(n instanceof r.AbstractDeclaration){var i=n;if(!c.isDefined(i.colonPosition)||this.offset<=i.colonPosition)return this.getCompletionsForDeclarationProperty(i,t);if(c.isDefined(i.semicolonPosition)&&i.semicolonPositione.colonPosition&&this.getVariableProposals(e.getValue(),t),t},e.prototype.getCompletionsForExpression=function(e,t){var n=e.getParent();if(n instanceof r.FunctionArgument)return this.getCompletionsForFunctionArgument(n,n.getParent(),t),t;var i=e.findParent(r.NodeType.Declaration);if(!i)return this.getTermProposals(void 0,null,t),t;var o=e.findChildAtOffset(this.offset,!0);return o?o instanceof r.NumericValue||o instanceof r.Identifier?this.getCompletionsForDeclarationValue(i,t):t:this.getCompletionsForDeclarationValue(i,t)},e.prototype.getCompletionsForFunctionArgument=function(e,t,n){var r=t.getIdentifier();return r&&r.matches("var")&&(t.getArguments().hasChildren()&&t.getArguments().getChild(0)!==e||this.getVariableProposalsForCSSVarFunction(n)),n},e.prototype.getCompletionsForFunctionDeclaration=function(e,t){var n=e.getDeclarations();return n&&this.offset>n.offset&&this.offsete.lParent&&(!c.isDefined(e.rParent)||this.offset<=e.rParent)?this.getCompletionsForDeclarationProperty(null,t):t},e.prototype.getCompletionsForSupports=function(e,t){var n=e.getDeclarations();if(!n||this.offset<=n.offset){var i=e.findFirstChildBeforeOffset(this.offset);return i instanceof r.SupportsCondition?this.getCompletionsForSupportsCondition(i,t):t}return this.getCompletionForTopLevel(t)},e.prototype.getCompletionsForExtendsReference=function(e,t,n){return n},e.prototype.getCompletionForUriLiteralValue=function(e,t){var n,r,i;if(e.hasChildren()){var o=e.getChild(0);n=o.getText(),r=this.position,i=this.getCompletionRange(o)}else{n="",r=this.position;var s=this.textDocument.positionAt(e.offset+"url(".length);i=a.Range.create(s,s)}return this.completionParticipants.forEach((function(e){e.onCssURILiteralValue&&e.onCssURILiteralValue({uriValue:n,position:r,range:i})})),t},e.prototype.getCompletionForImportPath=function(e,t){var n=this;return this.completionParticipants.forEach((function(t){t.onCssImportPath&&t.onCssImportPath({pathValue:e.getText(),position:n.position,range:n.getCompletionRange(e)})})),t},e.prototype.hasCharacterAtPosition=function(e,t){var n=this.textDocument.getText();return e>=0&&e"),this.writeLine(t,r.join(""))}},e}();!function(e){function t(e){var t=e.match(/^['"](.*)["']$/);return t?t[1]:e}e.ensure=function(e,n){return n+t(e)+n},e.remove=t}(l||(l={}));var d=function(){this.id=0,this.attr=0,this.tag=0};function p(e,t){for(var r=new o,i=0,s=e.getChildren();i1){var p=t.cloneWithParent();r.addChild(p.findRoot()),r=p}r.append(c[d])}}break;case n.NodeType.SelectorPlaceholder:if(a.matches("@at-root"))return r;case n.NodeType.ElementNameSelector:var u=a.getText();r.addAttr("name","*"===u?"element":h(u));break;case n.NodeType.ClassSelector:r.addAttr("class",h(a.getText().substring(1)));break;case n.NodeType.IdentifierSelector:r.addAttr("id",h(a.getText().substring(1)));break;case n.NodeType.MixinDeclaration:r.addAttr("class",a.getName());break;case n.NodeType.PseudoSelector:r.addAttr(h(a.getText()),"");break;case n.NodeType.AttributeSelector:var m=a,f=m.getIdentifier();if(f){var g=m.getValue(),b=m.getOperator(),y=void 0;if(g&&b)switch(h(b.getText())){case"|=":y=l.remove(h(g.getText()))+"-…";break;case"^=":y=l.remove(h(g.getText()))+"…";break;case"$=":y="…"+l.remove(h(g.getText()));break;case"~=":y=" … "+l.remove(h(g.getText()))+" … ";break;case"*=":y="…"+l.remove(h(g.getText()))+"…";break;default:y=l.remove(h(g.getText()))}r.addAttr(h(f.getText()),y)}}}return r}function h(e){var t=new r.Scanner;t.setSource(e);var n=t.scanUnquotedString();return n?n.text:e}t.toElement=p;var u=function(){function e(e){this.cssDataManager=e}return e.prototype.selectorToMarkedString=function(e){var t=g(e);if(t){var n=new c('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n}return[]},e.prototype.simpleSelectorToMarkedString=function(e){var t=p(e),n=new c('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n},e.prototype.isPseudoElementIdentifier=function(e){var t=e.match(/^::?([\w-]+)/);return!!t&&!!this.cssDataManager.getPseudoElement("::"+t[1])},e.prototype.selectorToSpecificityMarkedString=function(e){var t=this,r=function(e){for(var i=0,s=e.getChildren();i0&&r(a)}},o=new d;return r(e),i("specificity","[Selector Specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity): ({0}, {1}, {2})",o.id,o.attr,o.tag)},e}();t.SelectorPrinting=u;var m=function(){function e(e){this.prev=null,this.element=e}return e.prototype.processSelector=function(e){var t=null;if(!(this.element instanceof s)&&e.getChildren().some((function(e){return e.hasChildren()&&e.getChild(0).type===n.NodeType.SelectorCombinator}))){var r=this.element.findRoot();r.parent instanceof s&&(t=this.element,this.element=r.parent,this.element.removeChild(r),this.prev=null)}for(var i=0,o=e.getChildren();i=0;l--){var c=r[l].getSelectors().getChild(0);c&&a.processSelector(c)}return a.processSelector(e),t}t.selectorToElement=g})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/services/cssHover",["require","exports","../parser/cssNodes","../languageFacts/facts","./selectorPrinting","../utils/strings","../cssLanguageTypes","../utils/objects"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CSSHover=void 0;var n=e("../parser/cssNodes"),r=e("../languageFacts/facts"),i=e("./selectorPrinting"),o=e("../utils/strings"),s=e("../cssLanguageTypes"),a=e("../utils/objects"),l=function(){function e(e,t){this.clientCapabilities=e,this.cssDataManager=t,this.selectorPrinting=new i.SelectorPrinting(t)}return e.prototype.configure=function(e){this.defaultSettings=e},e.prototype.doHover=function(e,t,i,a){function l(t){return s.Range.create(e.positionAt(t.offset),e.positionAt(t.end))}void 0===a&&(a=this.defaultSettings);for(var c=e.offsetAt(t),d=n.getNodePath(i,c),p=null,h=0;h0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=a.length/2&&l.push({property:e.name,score:t})})),l.sort((function(e,t){return t.score-e.score||e.property.localeCompare(t.property)}));for(var c=3,d=0,p=l;d=0;c--){var d=l[c];if(d instanceof n.Declaration){var p=d.getProperty();if(p&&p.offset===s&&p.end===a)return void this.getFixesForUnknownProperty(e,p,r,o)}}},e}();t.CSSCodeActions=a})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/services/lintUtil",["require","exports","../utils/arrays"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Element=void 0;var n=e("../utils/arrays"),r=function(e){this.fullPropertyName=e.getFullPropertyName().toLowerCase(),this.node=e};function i(e,t,r,i){var o=e[t];o.value=r,r&&(n.includes(o.properties,i)||o.properties.push(i))}function o(e,t,n,r){"top"===t||"right"===t||"bottom"===t||"left"===t?i(e,t,n,r):function(e,t,n){i(e,"top",t,n),i(e,"right",t,n),i(e,"bottom",t,n),i(e,"left",t,n)}(e,n,r)}function s(e,t,n){switch(t.length){case 1:o(e,void 0,t[0],n);break;case 2:o(e,"top",t[0],n),o(e,"bottom",t[0],n),o(e,"right",t[1],n),o(e,"left",t[1],n);break;case 3:o(e,"top",t[0],n),o(e,"right",t[1],n),o(e,"left",t[1],n),o(e,"bottom",t[2],n);break;case 4:o(e,"top",t[0],n),o(e,"right",t[1],n),o(e,"bottom",t[2],n),o(e,"left",t[3],n)}}function a(e,t){for(var n=0,r=t;n0)for(var w=this.fetch(r,"float"),x=0;x0)for(w=this.fetch(r,"vertical-align"),x=0;x1)for(var D=0;D".charCodeAt(0),m=".".charCodeAt(0),f=("@".charCodeAt(0),n.TokenType.CustomToken);t.VariableName=f++,t.InterpolationFunction=f++,t.Default=f++,t.EqualsOperator=f++,t.NotEqualsOperator=f++,t.GreaterEqualsOperator=f++,t.SmallerEqualsOperator=f++,t.Ellipsis=f++,t.Module=f++;var g=function(e){function f(){return null!==e&&e.apply(this,arguments)||this}return __extends(f,e),f.prototype.scanNext=function(r){if(this.stream.advanceIfChar(a)){var i=["$"];if(this.ident(i))return this.finishToken(r,t.VariableName,i.join(""));this.stream.goBackTo(r)}return this.stream.advanceIfChars([l,c])?this.finishToken(r,t.InterpolationFunction):this.stream.advanceIfChars([d,d])?this.finishToken(r,t.EqualsOperator):this.stream.advanceIfChars([p,d])?this.finishToken(r,t.NotEqualsOperator):this.stream.advanceIfChar(h)?this.stream.advanceIfChar(d)?this.finishToken(r,t.SmallerEqualsOperator):this.finishToken(r,n.TokenType.Delim):this.stream.advanceIfChar(u)?this.stream.advanceIfChar(d)?this.finishToken(r,t.GreaterEqualsOperator):this.finishToken(r,n.TokenType.Delim):this.stream.advanceIfChars([m,m,m])?this.finishToken(r,t.Ellipsis):e.prototype.scanNext.call(this,r)},f.prototype.comment=function(){return!!e.prototype.comment.call(this)||!(this.inURL||!this.stream.advanceIfChars([r,r]))&&(this.stream.advanceWhileChar((function(e){switch(e){case i:case o:case s:return!1;default:return!0}})),!0)},f}(n.Scanner);t.SCSSScanner=g})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/scssErrors",["require","exports","vscode-nls"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCSSParseError=t.SCSSIssueType=void 0;var n=e("vscode-nls").loadMessageBundle(),r=function(e,t){this.id=e,this.message=t};t.SCSSIssueType=r,t.SCSSParseError={FromExpected:new r("scss-fromexpected",n("expected.from","'from' expected")),ThroughOrToExpected:new r("scss-throughexpected",n("expected.through","'through' or 'to' expected")),InExpected:new r("scss-fromexpected",n("expected.in","'in' expected"))}}));__extends=this&&this.__extends||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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/scssParser",["require","exports","./scssScanner","./cssScanner","./cssParser","./cssNodes","./scssErrors","./cssErrors"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCSSParser=void 0;var n=e("./scssScanner"),r=e("./cssScanner"),i=e("./cssParser"),o=e("./cssNodes"),s=e("./scssErrors"),a=e("./cssErrors"),l=function(e){function t(){return e.call(this,new n.SCSSScanner)||this}return __extends(t,e),t.prototype._parseStylesheetStatement=function(t){return void 0===t&&(t=!1),this.peek(r.TokenType.AtKeyword)?this._parseWarnAndDebug()||this._parseControlStatement()||this._parseMixinDeclaration()||this._parseMixinContent()||this._parseMixinReference()||this._parseFunctionDeclaration()||this._parseForward()||this._parseUse()||this._parseRuleset(t)||e.prototype._parseStylesheetAtStatement.call(this,t):this._parseRuleset(!0)||this._parseVariableDeclaration()},t.prototype._parseImport=function(){if(!this.peekKeyword("@import"))return null;var e=this.create(o.Import);if(this.consumeToken(),!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral()))return this.finish(e,a.ParseError.URIOrStringExpected);for(;this.accept(r.TokenType.Comma);)if(!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral()))return this.finish(e,a.ParseError.URIOrStringExpected);return this.peek(r.TokenType.SemiColon)||this.peek(r.TokenType.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)},t.prototype._parseVariableDeclaration=function(e){if(void 0===e&&(e=[]),!this.peek(n.VariableName))return null;var t=this.create(o.VariableDeclaration);if(!t.setVariable(this._parseVariable()))return null;if(!this.accept(r.TokenType.Colon))return this.finish(t,a.ParseError.ColonExpected);if(this.prevToken&&(t.colonPosition=this.prevToken.offset),!t.setValue(this._parseExpr()))return this.finish(t,a.ParseError.VariableValueExpected,[],e);for(;this.peek(r.TokenType.Exclamation);)if(t.addChild(this._tryParsePrio()));else{if(this.consumeToken(),!this.peekRegExp(r.TokenType.Ident,/^(default|global)$/))return this.finish(t,a.ParseError.UnknownKeyword);this.consumeToken()}return this.peek(r.TokenType.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)},t.prototype._parseMediaContentStart=function(){return this._parseInterpolation()},t.prototype._parseMediaFeatureName=function(){return this._parseModuleMember()||this._parseFunction()||this._parseIdent()||this._parseVariable()},t.prototype._parseKeyframeSelector=function(){return this._tryParseKeyframeSelector()||this._parseControlStatement(this._parseKeyframeSelector.bind(this))||this._parseVariableDeclaration()||this._parseMixinContent()},t.prototype._parseVariable=function(){if(!this.peek(n.VariableName))return null;var e=this.create(o.Variable);return this.consumeToken(),e},t.prototype._parseModuleMember=function(){var e=this.mark(),t=this.create(o.Module);return t.setIdentifier(this._parseIdent([o.ReferenceType.Module]))?this.hasWhitespace()||!this.acceptDelim(".")||this.hasWhitespace()?(this.restoreAtMark(e),null):t.addChild(this._parseVariable()||this._parseFunction())?t:this.finish(t,a.ParseError.IdentifierOrVariableExpected):null},t.prototype._parseIdent=function(e){var t=this;if(!this.peek(r.TokenType.Ident)&&!this.peek(n.InterpolationFunction)&&!this.peekDelim("-"))return null;var i=this.create(o.Identifier);i.referenceTypes=e,i.isCustomProperty=this.peekRegExp(r.TokenType.Ident,/^--/);for(var s,a=!1;(this.accept(r.TokenType.Ident)||i.addChild((s=void 0,s=t.mark(),t.acceptDelim("-")&&(t.hasWhitespace()||t.acceptDelim("-"),t.hasWhitespace())?(t.restoreAtMark(s),null):t._parseInterpolation()))||a&&this.acceptRegexp(/^[\w-]/))&&(a=!0,!this.hasWhitespace()););return a?this.finish(i):null},t.prototype._parseTermExpression=function(){return this._parseModuleMember()||this._parseVariable()||this._parseSelectorCombinator()||e.prototype._parseTermExpression.call(this)},t.prototype._parseInterpolation=function(){if(this.peek(n.InterpolationFunction)){var e=this.create(o.Interpolation);return this.consumeToken(),e.addChild(this._parseExpr())||this._parseSelectorCombinator()?this.accept(r.TokenType.CurlyR)?this.finish(e):this.finish(e,a.ParseError.RightCurlyExpected):this.accept(r.TokenType.CurlyR)?this.finish(e):this.finish(e,a.ParseError.ExpressionExpected)}return null},t.prototype._parseOperator=function(){if(this.peek(n.EqualsOperator)||this.peek(n.NotEqualsOperator)||this.peek(n.GreaterEqualsOperator)||this.peek(n.SmallerEqualsOperator)||this.peekDelim(">")||this.peekDelim("<")||this.peekIdent("and")||this.peekIdent("or")||this.peekDelim("%")){var t=this.createNode(o.NodeType.Operator);return this.consumeToken(),this.finish(t)}return e.prototype._parseOperator.call(this)},t.prototype._parseUnaryOperator=function(){if(this.peekIdent("not")){var t=this.create(o.Node);return this.consumeToken(),this.finish(t)}return e.prototype._parseUnaryOperator.call(this)},t.prototype._parseRuleSetDeclaration=function(){return this.peek(r.TokenType.AtKeyword)?this._parseKeyframe()||this._parseImport()||this._parseMedia(!0)||this._parseFontFace()||this._parseWarnAndDebug()||this._parseControlStatement()||this._parseFunctionDeclaration()||this._parseExtends()||this._parseMixinReference()||this._parseMixinContent()||this._parseMixinDeclaration()||this._parseRuleset(!0)||this._parseSupports(!0)||e.prototype._parseRuleSetDeclarationAtStatement.call(this):this._parseVariableDeclaration()||this._tryParseRuleset(!0)||e.prototype._parseRuleSetDeclaration.call(this)},t.prototype._parseDeclaration=function(e){var t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;var n=this.create(o.Declaration);if(!n.setProperty(this._parseProperty()))return null;if(!this.accept(r.TokenType.Colon))return this.finish(n,a.ParseError.ColonExpected,[r.TokenType.Colon],e||[r.TokenType.SemiColon]);this.prevToken&&(n.colonPosition=this.prevToken.offset);var i=!1;if(n.setValue(this._parseExpr())&&(i=!0,n.addChild(this._parsePrio())),this.peek(r.TokenType.CurlyL))n.setNestedProperties(this._parseNestedProperties());else if(!i)return this.finish(n,a.ParseError.PropertyValueExpected);return this.peek(r.TokenType.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)},t.prototype._parseNestedProperties=function(){var e=this.create(o.NestedProperties);return this._parseBody(e,this._parseDeclaration.bind(this))},t.prototype._parseExtends=function(){if(this.peekKeyword("@extend")){var e=this.create(o.ExtendsReference);if(this.consumeToken(),!e.getSelectors().addChild(this._parseSimpleSelector()))return this.finish(e,a.ParseError.SelectorExpected);for(;this.accept(r.TokenType.Comma);)e.getSelectors().addChild(this._parseSimpleSelector());return this.accept(r.TokenType.Exclamation)&&!this.acceptIdent("optional")?this.finish(e,a.ParseError.UnknownKeyword):this.finish(e)}return null},t.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||this._parseSelectorPlaceholder()||e.prototype._parseSimpleSelectorBody.call(this)},t.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var e=this.createNode(o.NodeType.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(r.TokenType.Num)||this.accept(r.TokenType.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")););return this.finish(e)}return null},t.prototype._parseSelectorPlaceholder=function(){if(this.peekDelim("%")){var e=this.createNode(o.NodeType.SelectorPlaceholder);return this.consumeToken(),this._parseIdent(),this.finish(e)}if(this.peekKeyword("@at-root")){e=this.createNode(o.NodeType.SelectorPlaceholder);return this.consumeToken(),this.finish(e)}return null},t.prototype._parseElementName=function(){var t=this.mark(),n=e.prototype._parseElementName.call(this);return n&&!this.hasWhitespace()&&this.peek(r.TokenType.ParenthesisL)?(this.restoreAtMark(t),null):n},t.prototype._tryParsePseudoIdentifier=function(){return this._parseInterpolation()||e.prototype._tryParsePseudoIdentifier.call(this)},t.prototype._parseWarnAndDebug=function(){if(!this.peekKeyword("@debug")&&!this.peekKeyword("@warn")&&!this.peekKeyword("@error"))return null;var e=this.createNode(o.NodeType.Debug);return this.consumeToken(),e.addChild(this._parseExpr()),this.finish(e)},t.prototype._parseControlStatement=function(e){return void 0===e&&(e=this._parseRuleSetDeclaration.bind(this)),this.peek(r.TokenType.AtKeyword)?this._parseIfStatement(e)||this._parseForStatement(e)||this._parseEachStatement(e)||this._parseWhileStatement(e):null},t.prototype._parseIfStatement=function(e){return this.peekKeyword("@if")?this._internalParseIfStatement(e):null},t.prototype._internalParseIfStatement=function(e){var t=this.create(o.IfStatement);if(this.consumeToken(),!t.setExpression(this._parseExpr(!0)))return this.finish(t,a.ParseError.ExpressionExpected);if(this._parseBody(t,e),this.acceptKeyword("@else"))if(this.peekIdent("if"))t.setElseClause(this._internalParseIfStatement(e));else if(this.peek(r.TokenType.CurlyL)){var n=this.create(o.ElseStatement);this._parseBody(n,e),t.setElseClause(n)}return this.finish(t)},t.prototype._parseForStatement=function(e){if(!this.peekKeyword("@for"))return null;var t=this.create(o.ForStatement);return this.consumeToken(),t.setVariable(this._parseVariable())?this.acceptIdent("from")?t.addChild(this._parseBinaryExpr())?this.acceptIdent("to")||this.acceptIdent("through")?t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,a.ParseError.ExpressionExpected,[r.TokenType.CurlyR]):this.finish(t,s.SCSSParseError.ThroughOrToExpected,[r.TokenType.CurlyR]):this.finish(t,a.ParseError.ExpressionExpected,[r.TokenType.CurlyR]):this.finish(t,s.SCSSParseError.FromExpected,[r.TokenType.CurlyR]):this.finish(t,a.ParseError.VariableNameExpected,[r.TokenType.CurlyR])},t.prototype._parseEachStatement=function(e){if(!this.peekKeyword("@each"))return null;var t=this.create(o.EachStatement);this.consumeToken();var n=t.getVariables();if(!n.addChild(this._parseVariable()))return this.finish(t,a.ParseError.VariableNameExpected,[r.TokenType.CurlyR]);for(;this.accept(r.TokenType.Comma);)if(!n.addChild(this._parseVariable()))return this.finish(t,a.ParseError.VariableNameExpected,[r.TokenType.CurlyR]);return this.finish(n),this.acceptIdent("in")?t.addChild(this._parseExpr())?this._parseBody(t,e):this.finish(t,a.ParseError.ExpressionExpected,[r.TokenType.CurlyR]):this.finish(t,s.SCSSParseError.InExpected,[r.TokenType.CurlyR])},t.prototype._parseWhileStatement=function(e){if(!this.peekKeyword("@while"))return null;var t=this.create(o.WhileStatement);return this.consumeToken(),t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,a.ParseError.ExpressionExpected,[r.TokenType.CurlyR])},t.prototype._parseFunctionBodyDeclaration=function(){return this._parseVariableDeclaration()||this._parseReturnStatement()||this._parseWarnAndDebug()||this._parseControlStatement(this._parseFunctionBodyDeclaration.bind(this))},t.prototype._parseFunctionDeclaration=function(){if(!this.peekKeyword("@function"))return null;var e=this.create(o.FunctionDeclaration);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([o.ReferenceType.Function])))return this.finish(e,a.ParseError.IdentifierExpected,[r.TokenType.CurlyR]);if(!this.accept(r.TokenType.ParenthesisL))return this.finish(e,a.ParseError.LeftParenthesisExpected,[r.TokenType.CurlyR]);if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(r.TokenType.Comma)&&!this.peek(r.TokenType.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,a.ParseError.VariableNameExpected);return this.accept(r.TokenType.ParenthesisR)?this._parseBody(e,this._parseFunctionBodyDeclaration.bind(this)):this.finish(e,a.ParseError.RightParenthesisExpected,[r.TokenType.CurlyR])},t.prototype._parseReturnStatement=function(){if(!this.peekKeyword("@return"))return null;var e=this.createNode(o.NodeType.ReturnStatement);return this.consumeToken(),e.addChild(this._parseExpr())?this.finish(e):this.finish(e,a.ParseError.ExpressionExpected)},t.prototype._parseMixinDeclaration=function(){if(!this.peekKeyword("@mixin"))return null;var e=this.create(o.MixinDeclaration);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([o.ReferenceType.Mixin])))return this.finish(e,a.ParseError.IdentifierExpected,[r.TokenType.CurlyR]);if(this.accept(r.TokenType.ParenthesisL)){if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(r.TokenType.Comma)&&!this.peek(r.TokenType.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,a.ParseError.VariableNameExpected);if(!this.accept(r.TokenType.ParenthesisR))return this.finish(e,a.ParseError.RightParenthesisExpected,[r.TokenType.CurlyR])}return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},t.prototype._parseParameterDeclaration=function(){var e=this.create(o.FunctionParameter);return e.setIdentifier(this._parseVariable())?(this.accept(n.Ellipsis),this.accept(r.TokenType.Colon)&&!e.setDefaultValue(this._parseExpr(!0))?this.finish(e,a.ParseError.VariableValueExpected,[],[r.TokenType.Comma,r.TokenType.ParenthesisR]):this.finish(e)):null},t.prototype._parseMixinContent=function(){if(!this.peekKeyword("@content"))return null;var e=this.create(o.MixinContentReference);if(this.consumeToken(),this.accept(r.TokenType.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(r.TokenType.Comma)&&!this.peek(r.TokenType.ParenthesisR);)if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,a.ParseError.ExpressionExpected);if(!this.accept(r.TokenType.ParenthesisR))return this.finish(e,a.ParseError.RightParenthesisExpected)}return this.finish(e)},t.prototype._parseMixinReference=function(){if(!this.peekKeyword("@include"))return null;var e=this.create(o.MixinReference);this.consumeToken();var t=this._parseIdent([o.ReferenceType.Mixin]);if(!e.setIdentifier(t))return this.finish(e,a.ParseError.IdentifierExpected,[r.TokenType.CurlyR]);if(!this.hasWhitespace()&&this.acceptDelim(".")&&!this.hasWhitespace()){var n=this._parseIdent([o.ReferenceType.Mixin]);if(!n)return this.finish(e,a.ParseError.IdentifierExpected,[r.TokenType.CurlyR]);var i=this.create(o.Module);t.referenceTypes=[o.ReferenceType.Module],i.setIdentifier(t),e.setIdentifier(n),e.addChild(i)}if(this.accept(r.TokenType.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(r.TokenType.Comma)&&!this.peek(r.TokenType.ParenthesisR);)if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,a.ParseError.ExpressionExpected);if(!this.accept(r.TokenType.ParenthesisR))return this.finish(e,a.ParseError.RightParenthesisExpected)}return(this.peekIdent("using")||this.peek(r.TokenType.CurlyL))&&e.setContent(this._parseMixinContentDeclaration()),this.finish(e)},t.prototype._parseMixinContentDeclaration=function(){var e=this.create(o.MixinContentDeclaration);if(this.acceptIdent("using")){if(!this.accept(r.TokenType.ParenthesisL))return this.finish(e,a.ParseError.LeftParenthesisExpected,[r.TokenType.CurlyL]);if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(r.TokenType.Comma)&&!this.peek(r.TokenType.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,a.ParseError.VariableNameExpected);if(!this.accept(r.TokenType.ParenthesisR))return this.finish(e,a.ParseError.RightParenthesisExpected,[r.TokenType.CurlyL])}return this.peek(r.TokenType.CurlyL)&&this._parseBody(e,this._parseMixinReferenceBodyStatement.bind(this)),this.finish(e)},t.prototype._parseMixinReferenceBodyStatement=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},t.prototype._parseFunctionArgument=function(){var e=this.create(o.FunctionArgument),t=this.mark(),i=this._parseVariable();if(i)if(this.accept(r.TokenType.Colon))e.setIdentifier(i);else{if(this.accept(n.Ellipsis))return e.setValue(i),this.finish(e);this.restoreAtMark(t)}return e.setValue(this._parseExpr(!0))?(this.accept(n.Ellipsis),e.addChild(this._parsePrio()),this.finish(e)):e.setValue(this._tryParsePrio())?this.finish(e):null},t.prototype._parseURLArgument=function(){var t=this.mark(),n=e.prototype._parseURLArgument.call(this);if(!n||!this.peek(r.TokenType.ParenthesisR)){this.restoreAtMark(t);var i=this.create(o.Node);return i.addChild(this._parseBinaryExpr()),this.finish(i)}return n},t.prototype._parseOperation=function(){if(!this.peek(r.TokenType.ParenthesisL))return null;var e=this.create(o.Node);for(this.consumeToken();e.addChild(this._parseListElement());)this.accept(r.TokenType.Comma);return this.accept(r.TokenType.ParenthesisR)?this.finish(e):this.finish(e,a.ParseError.RightParenthesisExpected)},t.prototype._parseListElement=function(){var e=this.create(o.ListEntry),t=this._parseBinaryExpr();if(!t)return null;if(this.accept(r.TokenType.Colon)){if(e.setKey(t),!e.setValue(this._parseBinaryExpr()))return this.finish(e,a.ParseError.ExpressionExpected)}else e.setValue(t);return this.finish(e)},t.prototype._parseUse=function(){if(!this.peekKeyword("@use"))return null;var e=this.create(o.Use);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,a.ParseError.StringLiteralExpected);if(!this.peek(r.TokenType.SemiColon)&&!this.peek(r.TokenType.EOF)){if(!this.peekRegExp(r.TokenType.Ident,/as|with/))return this.finish(e,a.ParseError.UnknownKeyword);if(this.acceptIdent("as")&&!e.setIdentifier(this._parseIdent([o.ReferenceType.Module]))&&!this.acceptDelim("*"))return this.finish(e,a.ParseError.IdentifierOrWildcardExpected);if(this.acceptIdent("with")){if(!this.accept(r.TokenType.ParenthesisL))return this.finish(e,a.ParseError.LeftParenthesisExpected,[r.TokenType.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,a.ParseError.VariableNameExpected);for(;this.accept(r.TokenType.Comma)&&!this.peek(r.TokenType.ParenthesisR);)if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,a.ParseError.VariableNameExpected);if(!this.accept(r.TokenType.ParenthesisR))return this.finish(e,a.ParseError.RightParenthesisExpected)}}return this.accept(r.TokenType.SemiColon)||this.accept(r.TokenType.EOF)?this.finish(e):this.finish(e,a.ParseError.SemiColonExpected)},t.prototype._parseModuleConfigDeclaration=function(){var e=this.create(o.ModuleConfiguration);return e.setIdentifier(this._parseVariable())?this.accept(r.TokenType.Colon)&&e.setValue(this._parseExpr(!0))?!this.accept(r.TokenType.Exclamation)||!this.hasWhitespace()&&this.acceptIdent("default")?this.finish(e):this.finish(e,a.ParseError.UnknownKeyword):this.finish(e,a.ParseError.VariableValueExpected,[],[r.TokenType.Comma,r.TokenType.ParenthesisR]):null},t.prototype._parseForward=function(){if(!this.peekKeyword("@forward"))return null;var e=this.create(o.Forward);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,a.ParseError.StringLiteralExpected);if(this.acceptIdent("with")){if(!this.accept(r.TokenType.ParenthesisL))return this.finish(e,a.ParseError.LeftParenthesisExpected,[r.TokenType.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,a.ParseError.VariableNameExpected);for(;this.accept(r.TokenType.Comma)&&!this.peek(r.TokenType.ParenthesisR);)if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,a.ParseError.VariableNameExpected);if(!this.accept(r.TokenType.ParenthesisR))return this.finish(e,a.ParseError.RightParenthesisExpected)}if(!this.peek(r.TokenType.SemiColon)&&!this.peek(r.TokenType.EOF)){if(!this.peekRegExp(r.TokenType.Ident,/as|hide|show/))return this.finish(e,a.ParseError.UnknownKeyword);if(this.acceptIdent("as")){var t=this._parseIdent([o.ReferenceType.Forward]);if(!e.setIdentifier(t))return this.finish(e,a.ParseError.IdentifierExpected);if(this.hasWhitespace()||!this.acceptDelim("*"))return this.finish(e,a.ParseError.WildcardExpected)}if((this.peekIdent("hide")||this.peekIdent("show"))&&!e.addChild(this._parseForwardVisibility()))return this.finish(e,a.ParseError.IdentifierOrVariableExpected)}return this.accept(r.TokenType.SemiColon)||this.accept(r.TokenType.EOF)?this.finish(e):this.finish(e,a.ParseError.SemiColonExpected)},t.prototype._parseForwardVisibility=function(){var e=this.create(o.ForwardVisibility);for(e.setIdentifier(this._parseIdent());e.addChild(this._parseVariable()||this._parseIdent());)this.accept(r.TokenType.Comma);return e.getChildren().length>1?e:null},t.prototype._parseSupportsCondition=function(){return this._parseInterpolation()||e.prototype._parseSupportsCondition.call(this)},t}(i.Parser);t.SCSSParser=l}));__extends=this&&this.__extends||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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/services/scssCompletion",["require","exports","./cssCompletion","../parser/cssNodes","../cssLanguageTypes","vscode-nls"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCSSCompletion=void 0;var n=e("./cssCompletion"),r=e("../parser/cssNodes"),i=e("../cssLanguageTypes"),o=e("vscode-nls").loadMessageBundle(),s=function(e){function t(n,r){var i=e.call(this,"$",n,r)||this;return a(t.scssModuleLoaders),a(t.scssModuleBuiltIns),i}return __extends(t,e),t.prototype.isImportPathParent=function(t){return t===r.NodeType.Forward||t===r.NodeType.Use||e.prototype.isImportPathParent.call(this,t)},t.prototype.getCompletionForImportPath=function(n,o){var s=n.getParent().type;if(s===r.NodeType.Forward||s===r.NodeType.Use)for(var a=0,l=t.scssModuleBuiltIns;a0){var t="string"==typeof e.documentation?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};t.value+="\n\n",t.value+=e.references.map((function(e){return"["+e.name+"]("+e.url+")"})).join(" | "),e.documentation=t}}))}t.SCSSCompletion=s}));__extends=this&&this.__extends||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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/lessScanner",["require","exports","./cssScanner"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LESSScanner=t.Ellipsis=void 0;var n=e("./cssScanner"),r="/".charCodeAt(0),i="\n".charCodeAt(0),o="\r".charCodeAt(0),s="\f".charCodeAt(0),a="`".charCodeAt(0),l=".".charCodeAt(0),c=n.TokenType.CustomToken;t.Ellipsis=c++;var d=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}return __extends(c,e),c.prototype.scanNext=function(n){var r=this.escapedJavaScript();return null!==r?this.finishToken(n,r):this.stream.advanceIfChars([l,l,l])?this.finishToken(n,t.Ellipsis):e.prototype.scanNext.call(this,n)},c.prototype.comment=function(){return!!e.prototype.comment.call(this)||!(this.inURL||!this.stream.advanceIfChars([r,r]))&&(this.stream.advanceWhileChar((function(e){switch(e){case i:case o:case s:return!1;default:return!0}})),!0)},c.prototype.escapedJavaScript=function(){return this.stream.peekChar()===a?(this.stream.advance(1),this.stream.advanceWhileChar((function(e){return e!==a})),this.stream.advanceIfChar(a)?n.TokenType.EscapedJavaScript:n.TokenType.BadEscapedJavaScript):null},c}(n.Scanner);t.LESSScanner=d}));__extends=this&&this.__extends||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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/lessParser",["require","exports","./lessScanner","./cssScanner","./cssParser","./cssNodes","./cssErrors"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LESSParser=void 0;var n=e("./lessScanner"),r=e("./cssScanner"),i=e("./cssParser"),o=e("./cssNodes"),s=e("./cssErrors"),a=function(e){function t(){return e.call(this,new n.LESSScanner)||this}return __extends(t,e),t.prototype._parseStylesheetStatement=function(t){return void 0===t&&(t=!1),this.peek(r.TokenType.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||e.prototype._parseStylesheetAtStatement.call(this,t):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)},t.prototype._parseImport=function(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;var e=this.create(o.Import);if(this.consumeToken(),this.accept(r.TokenType.ParenthesisL)){if(!this.accept(r.TokenType.Ident))return this.finish(e,s.ParseError.IdentifierExpected,[r.TokenType.SemiColon]);do{if(!this.accept(r.TokenType.Comma))break}while(this.accept(r.TokenType.Ident));if(!this.accept(r.TokenType.ParenthesisR))return this.finish(e,s.ParseError.RightParenthesisExpected,[r.TokenType.SemiColon])}return e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(r.TokenType.SemiColon)||this.peek(r.TokenType.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)):this.finish(e,s.ParseError.URIOrStringExpected,[r.TokenType.SemiColon])},t.prototype._parsePlugin=function(){if(!this.peekKeyword("@plugin"))return null;var e=this.createNode(o.NodeType.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(r.TokenType.SemiColon)?this.finish(e):this.finish(e,s.ParseError.SemiColonExpected):this.finish(e,s.ParseError.StringLiteralExpected)},t.prototype._parseMediaQuery=function(t){var n=e.prototype._parseMediaQuery.call(this,t);if(!n){var r=this.create(o.MediaQuery);return r.addChild(this._parseVariable())?this.finish(r):null}return n},t.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)},t.prototype._parseMediaFeatureName=function(){return this._parseIdent()||this._parseVariable()},t.prototype._parseVariableDeclaration=function(e){void 0===e&&(e=[]);var t=this.create(o.VariableDeclaration),n=this.mark();if(!t.setVariable(this._parseVariable(!0)))return null;if(!this.accept(r.TokenType.Colon))return this.restoreAtMark(n),null;if(this.prevToken&&(t.colonPosition=this.prevToken.offset),t.setValue(this._parseDetachedRuleSet()))t.needsSemicolon=!1;else if(!t.setValue(this._parseExpr()))return this.finish(t,s.ParseError.VariableValueExpected,[],e);return t.addChild(this._parsePrio()),this.peek(r.TokenType.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)},t.prototype._parseDetachedRuleSet=function(){var e=this.mark();if(this.peekDelim("#")||this.peekDelim(".")){if(this.consumeToken(),this.hasWhitespace()||!this.accept(r.TokenType.ParenthesisL))return this.restoreAtMark(e),null;var t=this.create(o.MixinDeclaration);if(t.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(r.TokenType.Comma)||this.accept(r.TokenType.SemiColon))&&!this.peek(r.TokenType.ParenthesisR);)t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,s.ParseError.IdentifierExpected,[],[r.TokenType.ParenthesisR]);if(!this.accept(r.TokenType.ParenthesisR))return this.restoreAtMark(e),null}if(!this.peek(r.TokenType.CurlyL))return null;var n=this.create(o.BodyDeclaration);return this._parseBody(n,this._parseDetachedRuleSetBody.bind(this)),this.finish(n)},t.prototype._parseDetachedRuleSetBody=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},t.prototype._addLookupChildren=function(e){if(!e.addChild(this._parseLookupValue()))return!1;for(var t=!1;this.peek(r.TokenType.BracketL)&&(t=!0),e.addChild(this._parseLookupValue());)t=!1;return!t},t.prototype._parseLookupValue=function(){var e=this.create(o.Node),t=this.mark();return this.accept(r.TokenType.BracketL)&&((e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(r.TokenType.BracketR)||this.accept(r.TokenType.BracketR))?e:(this.restoreAtMark(t),null)},t.prototype._parseVariable=function(e,t){void 0===e&&(e=!1),void 0===t&&(t=!1);var n=!e&&this.peekDelim("$");if(!this.peekDelim("@")&&!n&&!this.peek(r.TokenType.AtKeyword))return null;for(var i=this.create(o.Variable),s=this.mark();this.acceptDelim("@")||!e&&this.acceptDelim("$");)if(this.hasWhitespace())return this.restoreAtMark(s),null;return(this.accept(r.TokenType.AtKeyword)||this.accept(r.TokenType.Ident))&&(t||!this.peek(r.TokenType.BracketL)||this._addLookupChildren(i))?i:(this.restoreAtMark(s),null)},t.prototype._parseTermExpression=function(){return this._parseVariable()||this._parseEscaped()||e.prototype._parseTermExpression.call(this)||this._tryParseMixinReference(!1)},t.prototype._parseEscaped=function(){if(this.peek(r.TokenType.EscapedJavaScript)||this.peek(r.TokenType.BadEscapedJavaScript)){var e=this.createNode(o.NodeType.EscapedValue);return this.consumeToken(),this.finish(e)}if(this.peekDelim("~")){e=this.createNode(o.NodeType.EscapedValue);return this.consumeToken(),this.accept(r.TokenType.String)||this.accept(r.TokenType.EscapedJavaScript)?this.finish(e):this.finish(e,s.ParseError.TermExpected)}return null},t.prototype._parseOperator=function(){var t=this._parseGuardOperator();return t||e.prototype._parseOperator.call(this)},t.prototype._parseGuardOperator=function(){if(this.peekDelim(">")){var e=this.createNode(o.NodeType.Operator);return this.consumeToken(),this.acceptDelim("="),e}if(this.peekDelim("=")){e=this.createNode(o.NodeType.Operator);return this.consumeToken(),this.acceptDelim("<"),e}if(this.peekDelim("<")){e=this.createNode(o.NodeType.Operator);return this.consumeToken(),this.acceptDelim("="),e}return null},t.prototype._parseRuleSetDeclaration=function(){return this.peek(r.TokenType.AtKeyword)?this._parseKeyframe()||this._parseMedia(!0)||this._parseImport()||this._parseSupports(!0)||this._parseDetachedRuleSetMixin()||this._parseVariableDeclaration()||e.prototype._parseRuleSetDeclarationAtStatement.call(this):this._tryParseMixinDeclaration()||this._tryParseRuleset(!0)||this._tryParseMixinReference()||this._parseFunction()||this._parseExtend()||e.prototype._parseRuleSetDeclaration.call(this)},t.prototype._parseKeyframeIdent=function(){return this._parseIdent([o.ReferenceType.Keyframe])||this._parseVariable()},t.prototype._parseKeyframeSelector=function(){return this._parseDetachedRuleSetMixin()||e.prototype._parseKeyframeSelector.call(this)},t.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||e.prototype._parseSimpleSelectorBody.call(this)},t.prototype._parseSelector=function(e){var t=this.create(o.Selector),n=!1;for(e&&(n=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());){n=!0;var i=this.mark();if(t.addChild(this._parseGuard())&&this.peek(r.TokenType.CurlyL))break;this.restoreAtMark(i),t.addChild(this._parseCombinator())}return n?this.finish(t):null},t.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var e=this.createNode(o.NodeType.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(r.TokenType.Num)||this.accept(r.TokenType.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")););return this.finish(e)}return null},t.prototype._parseSelectorIdent=function(){if(!this.peekInterpolatedIdent())return null;var e=this.createNode(o.NodeType.SelectorInterpolation);return this._acceptInterpolatedIdent(e)?this.finish(e):null},t.prototype._parsePropertyIdentifier=function(e){void 0===e&&(e=!1);var t=/^[\w-]+/;if(!this.peekInterpolatedIdent()&&!this.peekRegExp(this.token.type,t))return null;var n=this.mark(),r=this.create(o.Identifier);r.isCustomProperty=this.acceptDelim("-")&&this.acceptDelim("-");return(e?r.isCustomProperty?r.addChild(this._parseIdent()):r.addChild(this._parseRegexp(t)):r.isCustomProperty?this._acceptInterpolatedIdent(r):this._acceptInterpolatedIdent(r,t))?(e||this.hasWhitespace()||(this.acceptDelim("+"),this.hasWhitespace()||this.acceptIdent("_")),this.finish(r)):(this.restoreAtMark(n),null)},t.prototype.peekInterpolatedIdent=function(){return this.peek(r.TokenType.Ident)||this.peekDelim("@")||this.peekDelim("$")||this.peekDelim("-")},t.prototype._acceptInterpolatedIdent=function(e,t){for(var n=this,i=!1,o=function(){var e=n.mark();return n.acceptDelim("-")&&(n.hasWhitespace()||n.acceptDelim("-"),n.hasWhitespace())?(n.restoreAtMark(e),null):n._parseInterpolation()},s=t?function(){return n.acceptRegexp(t)}:function(){return n.accept(r.TokenType.Ident)};(s()||e.addChild(this._parseInterpolation()||this.try(o)))&&(i=!0,!this.hasWhitespace()););return i},t.prototype._parseInterpolation=function(){var e=this.mark();if(this.peekDelim("@")||this.peekDelim("$")){var t=this.createNode(o.NodeType.Interpolation);return this.consumeToken(),this.hasWhitespace()||!this.accept(r.TokenType.CurlyL)?(this.restoreAtMark(e),null):t.addChild(this._parseIdent())?this.accept(r.TokenType.CurlyR)?this.finish(t):this.finish(t,s.ParseError.RightCurlyExpected):this.finish(t,s.ParseError.IdentifierExpected)}return null},t.prototype._tryParseMixinDeclaration=function(){var e=this.mark(),t=this.create(o.MixinDeclaration);if(!t.setIdentifier(this._parseMixinDeclarationIdentifier())||!this.accept(r.TokenType.ParenthesisL))return this.restoreAtMark(e),null;if(t.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(r.TokenType.Comma)||this.accept(r.TokenType.SemiColon))&&!this.peek(r.TokenType.ParenthesisR);)t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,s.ParseError.IdentifierExpected,[],[r.TokenType.ParenthesisR]);return this.accept(r.TokenType.ParenthesisR)?(t.setGuard(this._parseGuard()),this.peek(r.TokenType.CurlyL)?this._parseBody(t,this._parseMixInBodyDeclaration.bind(this)):(this.restoreAtMark(e),null)):(this.restoreAtMark(e),null)},t.prototype._parseMixInBodyDeclaration=function(){return this._parseFontFace()||this._parseRuleSetDeclaration()},t.prototype._parseMixinDeclarationIdentifier=function(){var e;if(this.peekDelim("#")||this.peekDelim(".")){if(e=this.create(o.Identifier),this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseIdent()))return null}else{if(!this.peek(r.TokenType.Hash))return null;e=this.create(o.Identifier),this.consumeToken()}return e.referenceTypes=[o.ReferenceType.Mixin],this.finish(e)},t.prototype._parsePseudo=function(){if(!this.peek(r.TokenType.Colon))return null;var t=this.mark(),n=this.create(o.ExtendsReference);return this.consumeToken(),this.acceptIdent("extend")?this._completeExtends(n):(this.restoreAtMark(t),e.prototype._parsePseudo.call(this))},t.prototype._parseExtend=function(){if(!this.peekDelim("&"))return null;var e=this.mark(),t=this.create(o.ExtendsReference);return this.consumeToken(),!this.hasWhitespace()&&this.accept(r.TokenType.Colon)&&this.acceptIdent("extend")?this._completeExtends(t):(this.restoreAtMark(e),null)},t.prototype._completeExtends=function(e){if(!this.accept(r.TokenType.ParenthesisL))return this.finish(e,s.ParseError.LeftParenthesisExpected);var t=e.getSelectors();if(!t.addChild(this._parseSelector(!0)))return this.finish(e,s.ParseError.SelectorExpected);for(;this.accept(r.TokenType.Comma);)if(!t.addChild(this._parseSelector(!0)))return this.finish(e,s.ParseError.SelectorExpected);return this.accept(r.TokenType.ParenthesisR)?this.finish(e):this.finish(e,s.ParseError.RightParenthesisExpected)},t.prototype._parseDetachedRuleSetMixin=function(){if(!this.peek(r.TokenType.AtKeyword))return null;var e=this.mark(),t=this.create(o.MixinReference);return!t.addChild(this._parseVariable(!0))||!this.hasWhitespace()&&this.accept(r.TokenType.ParenthesisL)?this.accept(r.TokenType.ParenthesisR)?this.finish(t):this.finish(t,s.ParseError.RightParenthesisExpected):(this.restoreAtMark(e),null)},t.prototype._tryParseMixinReference=function(e){void 0===e&&(e=!0);for(var t=this.mark(),n=this.create(o.MixinReference),i=this._parseMixinDeclarationIdentifier();i;){this.acceptDelim(">");var a=this._parseMixinDeclarationIdentifier();if(!a)break;n.getNamespaces().addChild(i),i=a}if(!n.setIdentifier(i))return this.restoreAtMark(t),null;var l=!1;if(this.accept(r.TokenType.ParenthesisL)){if(l=!0,n.getArguments().addChild(this._parseMixinArgument()))for(;(this.accept(r.TokenType.Comma)||this.accept(r.TokenType.SemiColon))&&!this.peek(r.TokenType.ParenthesisR);)if(!n.getArguments().addChild(this._parseMixinArgument()))return this.finish(n,s.ParseError.ExpressionExpected);if(!this.accept(r.TokenType.ParenthesisR))return this.finish(n,s.ParseError.RightParenthesisExpected);i.referenceTypes=[o.ReferenceType.Mixin]}else i.referenceTypes=[o.ReferenceType.Mixin,o.ReferenceType.Rule];return this.peek(r.TokenType.BracketL)?e||this._addLookupChildren(n):n.addChild(this._parsePrio()),l||this.peek(r.TokenType.SemiColon)||this.peek(r.TokenType.CurlyR)||this.peek(r.TokenType.EOF)?this.finish(n):(this.restoreAtMark(t),null)},t.prototype._parseMixinArgument=function(){var e=this.create(o.FunctionArgument),t=this.mark(),n=this._parseVariable();return n&&(this.accept(r.TokenType.Colon)?e.setIdentifier(n):this.restoreAtMark(t)),e.setValue(this._parseDetachedRuleSet()||this._parseExpr(!0))?this.finish(e):(this.restoreAtMark(t),null)},t.prototype._parseMixinParameter=function(){var e=this.create(o.FunctionParameter);if(this.peekKeyword("@rest")){var t=this.create(o.Node);return this.consumeToken(),this.accept(n.Ellipsis)?(e.setIdentifier(this.finish(t)),this.finish(e)):this.finish(e,s.ParseError.DotExpected,[],[r.TokenType.Comma,r.TokenType.ParenthesisR])}if(this.peek(n.Ellipsis)){var i=this.create(o.Node);return this.consumeToken(),e.setIdentifier(this.finish(i)),this.finish(e)}var a=!1;return e.setIdentifier(this._parseVariable())&&(this.accept(r.TokenType.Colon),a=!0),e.setDefaultValue(this._parseDetachedRuleSet()||this._parseExpr(!0))||a?this.finish(e):null},t.prototype._parseGuard=function(){if(!this.peekIdent("when"))return null;var e=this.create(o.LessGuard);if(this.consumeToken(),e.isNegated=this.acceptIdent("not"),!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,s.ParseError.ConditionExpected);for(;this.acceptIdent("and")||this.accept(r.TokenType.Comma);)if(!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,s.ParseError.ConditionExpected);return this.finish(e)},t.prototype._parseGuardCondition=function(){if(!this.peek(r.TokenType.ParenthesisL))return null;var e=this.create(o.GuardCondition);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(r.TokenType.ParenthesisR)?this.finish(e):this.finish(e,s.ParseError.RightParenthesisExpected)},t.prototype._parseFunction=function(){var e=this.mark(),t=this.create(o.Function);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(r.TokenType.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseMixinArgument()))for(;(this.accept(r.TokenType.Comma)||this.accept(r.TokenType.SemiColon))&&!this.peek(r.TokenType.ParenthesisR);)if(!t.getArguments().addChild(this._parseMixinArgument()))return this.finish(t,s.ParseError.ExpressionExpected);return this.accept(r.TokenType.ParenthesisR)?this.finish(t):this.finish(t,s.ParseError.RightParenthesisExpected)},t.prototype._parseFunctionIdentifier=function(){if(this.peekDelim("%")){var t=this.create(o.Identifier);return t.referenceTypes=[o.ReferenceType.Function],this.consumeToken(),this.finish(t)}return e.prototype._parseFunctionIdentifier.call(this)},t.prototype._parseURLArgument=function(){var t=this.mark(),n=e.prototype._parseURLArgument.call(this);if(!n||!this.peek(r.TokenType.ParenthesisR)){this.restoreAtMark(t);var i=this.create(o.Node);return i.addChild(this._parseBinaryExpr()),this.finish(i)}return n},t}(i.Parser);t.LESSParser=a}));__extends=this&&this.__extends||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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/services/lessCompletion",["require","exports","./cssCompletion","../cssLanguageTypes","vscode-nls"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LESSCompletion=void 0;var n=e("./cssCompletion"),r=e("../cssLanguageTypes"),i=e("vscode-nls").loadMessageBundle(),o=function(e){function t(t,n){return e.call(this,"@",t,n)||this}return __extends(t,e),t.prototype.createFunctionProposals=function(e,t,n,i){for(var o=0,s=e;o 50%"),example:"percentage(@number);",type:"percentage"},{name:"round",description:i("less.builtin.round","rounds a number to a number of places"),example:"round(number, [places: 0]);"},{name:"sqrt",description:i("less.builtin.sqrt","calculates square root of a number"),example:"sqrt(number);"},{name:"sin",description:i("less.builtin.sin","sine function"),example:"sin(number);"},{name:"tan",description:i("less.builtin.tan","tangent function"),example:"tan(number);"},{name:"atan",description:i("less.builtin.atan","arctangent - inverse of tangent function"),example:"atan(number);"},{name:"pi",description:i("less.builtin.pi","returns pi"),example:"pi();"},{name:"pow",description:i("less.builtin.pow","first argument raised to the power of the second argument"),example:"pow(@base, @exponent);"},{name:"mod",description:i("less.builtin.mod","first argument modulus second argument"),example:"mod(number, number);"},{name:"min",description:i("less.builtin.min","returns the lowest of one or more values"),example:"min(@x, @y);"},{name:"max",description:i("less.builtin.max","returns the lowest of one or more values"),example:"max(@x, @y);"}],t.colorProposals=[{name:"argb",example:"argb(@color);",description:i("less.builtin.argb","creates a #AARRGGBB")},{name:"hsl",example:"hsl(@hue, @saturation, @lightness);",description:i("less.builtin.hsl","creates a color")},{name:"hsla",example:"hsla(@hue, @saturation, @lightness, @alpha);",description:i("less.builtin.hsla","creates a color")},{name:"hsv",example:"hsv(@hue, @saturation, @value);",description:i("less.builtin.hsv","creates a color")},{name:"hsva",example:"hsva(@hue, @saturation, @value, @alpha);",description:i("less.builtin.hsva","creates a color")},{name:"hue",example:"hue(@color);",description:i("less.builtin.hue","returns the `hue` channel of `@color` in the HSL space")},{name:"saturation",example:"saturation(@color);",description:i("less.builtin.saturation","returns the `saturation` channel of `@color` in the HSL space")},{name:"lightness",example:"lightness(@color);",description:i("less.builtin.lightness","returns the `lightness` channel of `@color` in the HSL space")},{name:"hsvhue",example:"hsvhue(@color);",description:i("less.builtin.hsvhue","returns the `hue` channel of `@color` in the HSV space")},{name:"hsvsaturation",example:"hsvsaturation(@color);",description:i("less.builtin.hsvsaturation","returns the `saturation` channel of `@color` in the HSV space")},{name:"hsvvalue",example:"hsvvalue(@color);",description:i("less.builtin.hsvvalue","returns the `value` channel of `@color` in the HSV space")},{name:"red",example:"red(@color);",description:i("less.builtin.red","returns the `red` channel of `@color`")},{name:"green",example:"green(@color);",description:i("less.builtin.green","returns the `green` channel of `@color`")},{name:"blue",example:"blue(@color);",description:i("less.builtin.blue","returns the `blue` channel of `@color`")},{name:"alpha",example:"alpha(@color);",description:i("less.builtin.alpha","returns the `alpha` channel of `@color`")},{name:"luma",example:"luma(@color);",description:i("less.builtin.luma","returns the `luma` value (perceptual brightness) of `@color`")},{name:"saturate",example:"saturate(@color, 10%);",description:i("less.builtin.saturate","return `@color` 10% points more saturated")},{name:"desaturate",example:"desaturate(@color, 10%);",description:i("less.builtin.desaturate","return `@color` 10% points less saturated")},{name:"lighten",example:"lighten(@color, 10%);",description:i("less.builtin.lighten","return `@color` 10% points lighter")},{name:"darken",example:"darken(@color, 10%);",description:i("less.builtin.darken","return `@color` 10% points darker")},{name:"fadein",example:"fadein(@color, 10%);",description:i("less.builtin.fadein","return `@color` 10% points less transparent")},{name:"fadeout",example:"fadeout(@color, 10%);",description:i("less.builtin.fadeout","return `@color` 10% points more transparent")},{name:"fade",example:"fade(@color, 50%);",description:i("less.builtin.fade","return `@color` with 50% transparency")},{name:"spin",example:"spin(@color, 10);",description:i("less.builtin.spin","return `@color` with a 10 degree larger in hue")},{name:"mix",example:"mix(@color1, @color2, [@weight: 50%]);",description:i("less.builtin.mix","return a mix of `@color1` and `@color2`")},{name:"greyscale",example:"greyscale(@color);",description:i("less.builtin.greyscale","returns a grey, 100% desaturated color")},{name:"contrast",example:"contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]);",description:i("less.builtin.contrast","return `@darkcolor` if `@color1 is> 43% luma` otherwise return `@lightcolor`, see notes")},{name:"multiply",example:"multiply(@color1, @color2);"},{name:"screen",example:"screen(@color1, @color2);"},{name:"overlay",example:"overlay(@color1, @color2);"},{name:"softlight",example:"softlight(@color1, @color2);"},{name:"hardlight",example:"hardlight(@color1, @color2);"},{name:"difference",example:"difference(@color1, @color2);"},{name:"exclusion",example:"exclusion(@color1, @color2);"},{name:"average",example:"average(@color1, @color2);"},{name:"negation",example:"negation(@color1, @color2);"}],t}(n.CSSCompletion);t.LESSCompletion=o})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/services/cssFolding",["require","exports","../parser/cssScanner","../parser/scssScanner","../parser/lessScanner"],e)}((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFoldingRanges=void 0;var n=e("../parser/cssScanner"),r=e("../parser/scssScanner"),i=e("../parser/lessScanner");function o(e,t){if(0===e.length)return null;for(var n=e.length-1;n>=0;n--)if(e[n].type===t&&e[n].isStart)return e.splice(n,1)[0];return null}t.getFoldingRanges=function(e,t){return function(e,t){var n=t&&t.rangeLimit||Number.MAX_VALUE,r=e.sort((function(e,t){var n=e.startLine-t.startLine;return 0===n&&(n=e.endLine-t.endLine),n})),i=[],o=-1;return r.forEach((function(e){e.startLine && ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."}],syntax:"normal | | | ? ",relevance:60,description:"Aligns a flex container’s lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",values:[{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"normal | stretch | | [ ? ]",relevance:83,description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"},{name:"legacy"}],syntax:"normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]",relevance:51,description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"}],syntax:"auto | normal | stretch | | ? [ | left | right ]",relevance:52,description:"Defines the way of justifying a box inside its container along the appropriate axis.",restrictions:["enum"]},{name:"align-self",values:[{name:"auto",description:"Computes to the value of 'align-items' on the element’s parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself."},{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"auto | normal | stretch | | ? ",relevance:70,description:"Allows the default alignment along the cross axis to be overridden for individual flex items.",restrictions:["enum"]},{name:"all",browsers:["E79","FF27","S9.1","C37","O24"],values:[],syntax:"initial | inherit | unset | revert",relevance:52,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/all"}],description:"Shorthand that resets all properties except 'direction' and 'unicode-bidi'.",restrictions:["enum"]},{name:"alt",browsers:["S9"],values:[],relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/alt"}],description:"Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.",restrictions:["string","enum"]},{name:"animation",values:[{name:"alternate",description:"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction."},{name:"alternate-reverse",description:"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction."},{name:"backwards",description:"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'."},{name:"both",description:"Both forwards and backwards fill modes are applied."},{name:"forwards",description:"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes."},{name:"infinite",description:"Causes the animation to repeat forever."},{name:"none",description:"No animation is performed"},{name:"normal",description:"Normal playback."},{name:"reverse",description:"All iterations of the animation are played in the reverse direction from the way they were specified."}],syntax:"#",relevance:80,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/animation"}],description:"Shorthand property combines six of the animation properties into a single property.",restrictions:["time","timing-function","enum","identifier","number"]},{name:"animation-delay",syntax:"
     "+e+""}),!n){var o=g.config.minicalendar;o&&(o.padding=14),g.templates.event_bar_date=function(t,e,i){return"• "+g.templates.event_date(t)+" "},g.attachEvent("onTemplatesReady",function(){var t=g.date.date_to_str("%d") +;g.templates._old_month_day||(g.templates._old_month_day=g.templates.month_day);var e=g.templates._old_month_day;if(g.templates.month_day=function(i){if("month"==this._mode){var n=t(i);return 1==i.getDate()&&(n=g.locale.date.month_full[i.getMonth()]+" "+n),+i==+g.date.date_part(this._currentDate())&&(n=g.locale.labels.dhx_cal_today_button+" "+n),n}return e.call(this,i)},g.config.fix_tab_position){var i=g._els.dhx_cal_navline[0].getElementsByTagName("div"),n=null,a=211,r=[14,75,136],s=14 +;g._is_material_skin()&&(r=[16,103,192],a=294,s=-1);for(var o=0;o
    ',a=document.createElement("DIV");return a.id="dhxSchedObj_"+this._genStr(12), +a.innerHTML='
     
     
    '+i+'
    ',document.body.appendChild(a.firstChild),this.attachObject(a.id,!1,!0),this.vs[this.av].sched=n,this.vs[this.av].schedId=a.id, +n.setSizes=n.updateView,n.destructor=function(){},n.init(a.id,t,e),this.vs[this._viewRestore()].sched})}(); +//# sourceMappingURL=sources/dhtmlxscheduler.js.map diff --git a/src/dhtml/dhtmlxscheduler_material.css b/src/dhtml/dhtmlxscheduler_material.css new file mode 100644 index 0000000..aab59fd --- /dev/null +++ b/src/dhtml/dhtmlxscheduler_material.css @@ -0,0 +1,11 @@ +/* + +@license +dhtmlxScheduler v.5.3.10 Professional + +This software is covered by DHTMLX Commercial License. Usage without proper license is prohibited. + +(c) XB Software Ltd. + +*/ +@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,600);.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:11}.dhtmlx-info{min-width:120px;padding:4px 4px 4px 20px;font-family:Tahoma;z-index:14;overflow:hidden;margin:5px;margin-bottom:10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;position:fixed;min-width:300px;width:341px;text-align:center;background:#fff;background:-webkit-linear-gradient(top,#fff 1%,#fff 99%);box-shadow:0 0 14px #888;border:none;z-index:18;border-radius:2px;font-family:Roboto,Arial}.dhtmlx_popup_text{margin:28px 15px 5px 15px;font-size:14px;color:rgba(0,0,0,.87);min-height:30px;border-radius:6px}.dhtmlx_popup_title{border-top-left-radius:5px;border-top-right-radius:5px;border-width:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAMAAAAIaGBFAAAAhFBMVEVwcHBubm5sbGxqampoaGhmZmZlZWVjY2NhYWFfX19dXV1bW1taWlpYWFhWVlZUVFRSUlJRUVFPT09NTU1LS0tJSUlHR0dGRkZERERCQkJAQEA+Pj49PT09PT0+Pj5AQEBBQUFDQ0NERERGRkZHR0dJSUlKSkpMTExMTEw5OTk5OTk5OTkny8YEAAAAQklEQVQImQXBCRJCAAAAwKVSQqdyjSPXNP7/QLsIhA6OTiJnF7GrRCpzc/fw9PKW+/gqlCq1RqvTG/yMJrPF6m/bAVEhAxxnHG0oAAAAAElFTkSuQmCC);background-image:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background-image:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%)}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:5px 15px 20px 5px}.dhtmlx_button,.dhtmlx_popup_button{height:30px;line-height:28px;display:inline-block;margin:0 5px;border-radius:2px;color:#0288d1;border:1px solid transparent;box-shadow:none}.dhtmlx_popup_button{min-width:82px;background:#fff}.dhtmlx_button input,.dhtmlx_popup_button div{border:1px solid #fff;background:#fff;background-image:none;border-radius:2px;font-size:15px;-moz-box-sizing:content-box;box-sizing:content-box;text-shadow:none;color:#0288d1;font-weight:500;padding:0;margin:0;vertical-align:top;height:28px;line-height:28px}.dhtmlx_popup_button.dhtmlx_ok_button div{background:#ff584c;border:1px solid #ff584c;color:#fff;text-shadow:none;outline:0}.dhtmlx_popup_button.dhtmlx_ok_button{border:1px solid #ff584c;background-color:#ff584c;outline:0}.dhtmlx_button input:active,.dhtmlx_button input:focus,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:#ff584c;background-image:none;color:#0288d1;box-shadow:none;outline:0}.dhtmlx_popup_button.dhtmlx_cancel_button div:active{background-color:#d9edf8;border-color:none;outline:0}div.dhx_modal_cover{background-color:#000;cursor:default;opacity:.4;position:fixed;z-index:17;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAIAAAArRUU2AAAATklEQVR4nIWLuw2AMBBDjVuQiBT2oWbRDATrnB0KQOJoqPzRe3BrHI6dcBASYREKovtK6/6DsDOX+stN+3H1YX9ciRgnYq5EWYhS2dftBIuLT4JyIrPCAAAAAElFTkSuQmCC)}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:0 10px 20px 0 rgba(0,0,0,.2),0 1px 6px 0 rgba(0,0,0,.2);padding:0;background-color:#fff;border-radius:2px;border:none}.dhtmlx-info div{padding:11px!important;background-color:#fff;border-radius:3px;border:1px solid #fff}.dhtmlx_message_area .dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:0 0 10px #000}.dhtmlx_message_area .dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#fff}.dhtmlx_modal_box.dhtmlx-error .dhtmlx_popup_title{background:#d81b1b;border:1px solid #ff3c3c;color:#fff}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#0288d1;border:1px solid transparent;color:#fff;overflow:hidden;width:100%}.dhx_move_denied .dhx_cal_event .dhx_header,.dhx_move_denied .dhx_cal_event .dhx_title{cursor:default}.dhx_cal_event .dhx_header{height:1px;margin:0 0 0 1px;border-width:1px 1px 0 1px;cursor:pointer}.dhx_cal_event .dhx_title{height:18px;border-width:1px 1px 0 1px;border-bottom-style:dotted;border-radius:0;font-size:12px;line-height:normal;font-weight:400;text-align:left;background-position:right;background-repeat:no-repeat;padding:4px 0 0 8px;cursor:pointer}.dhx_cal_container_rtl .dhx_cal_event .dhx_title{text-align:right;padding:4px 8px 0 0}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{border-width:0 1px 1px 1px;padding:2px 5px 8px 8px;border-radius:0;font-weight:500;line-height:20px}.dhx_cal_container_rtl .dhx_cal_event .dhx_body{padding:2px 8px 8px 5px}.dhx_cal_event.dhx_cal_select_menu{-webkit-box-shadow:0 0 1px #fff;-moz-box-shadow:0 0 1px #fff;box-shadow:0 0 1px #fff}.dhx_resize_denied,.dhx_resize_denied .dhx_event_resize{cursor:default!important}.dhx_cal_event .dhx_event_resize{cursor:s-resize;cursor:ns-resize}.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_select_menu_footer{height:6px;margin:0 0 0 1px;border-width:0;position:relative;top:0;background:url(imgs_dhx_material/drag-horizontal.svg) no-repeat center center}.dhx_cal_event .dhx_resize_denied.dhx_event_resize.dhx_footer{height:0}.dhx_cal_event_line{background-color:#0288d1;border:1px solid transparent;border-radius:2px;font-family:Roboto,Arial;font-size:14px;font-weight:500;line-height:17px;height:20px;padding:0 0 1px 10px;color:#fff;cursor:pointer;overflow:hidden}.dhx_cal_container_rtl .dhx_cal_event_line{padding:0 9px 0 0}.dhx_cal_event_line_start{border-top-left-radius:2px;border-bottom-left-radius:2px}.dhx_cal_container_rtl .dhx_cal_event_line_start{border-top-left-radius:2px;border-bottom-left-radius:2px}.dhx_cal_event_line_end{border-top-right-radius:2px;border-bottom-right-radius:2px}.dhx_cal_container_rtl .dhx_cal_event_line_end{border-top-right-radius:2px;border-bottom-right-radius:2px}.dhx_cal_container_rtl .dhx_cal_event_line_start{border-top-right-radius:2px;border-bottom-right-radius:2px}.dhx_cal_container_rtl .dhx_cal_event_line_end{border-top-left-radius:2px;border-bottom-left-radius:2px}.dhx_cal_event_clear{height:20px;padding:1px 0 0 11px;color:#0288d1;font-family:Roboto,Arial;font-size:14px;line-height:19px;white-space:nowrap;overflow:hidden;cursor:pointer;background-color:transparent;font-weight:400}.dhx_cal_event.dhx_cal_editor{border:1px solid transparent;border-top-style:solid;z-index:10;position:absolute;overflow:hidden}textarea.dhx_cal_editor{width:100%;height:100%;border:0 solid #000;padding:6px 0 0 8px;margin:0;overflow:auto;font-family:Roboto,Arial;font-size:14px}div.dhx_menu_head{background-image:none;background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default}.dhx_cal_container_rtl div.dhx_menu_head{margin-left:5px;margin-right:0}div.dhx_menu_icon{background-image:url(imgs_dhx_material/controls.png);width:20px;height:20px;margin-left:0;margin-top:0;border:none;cursor:pointer}.dhx_cal_container_rtl div.dhx_menu_icon{margin-left:0;margin-right:1px}div.icon_details{background-position:0 0}div.icon_edit{background-position:-22px 0}div.icon_save{background-position:-84px -1px}div.icon_cancel{background-position:-62px 0}div.icon_delete{background-position:-42px 0}.dhx_month_link{position:absolute;box-sizing:border-box;-moz-box-sizing:border-box;text-align:right;cursor:pointer;padding-right:10px;font-size:14px;font-family:Roboto,Arial}.dhx_month_link a{color:#1b5dfb}.dhx_month_link a:hover{text-decoration:underline;color:#033dc6}.dhx_global_tip{font-family:Tahoma,Helvetica;text-align:center;font-size:20px;position:fixed;top:60px;right:20px;background-color:rgba(255,255,255,.7);color:#000;z-index:14;padding:20px 30px;width:190px}.dhx_global_tip div{font-size:30px}@media (-moz-touch-enabled){.dhx_cal_container{user-select:none;-moz-user-select:none}}.dhx_cal_data div.dhx_cal_event_clear,.dhx_cal_data div.dhx_cal_event_line,.dhx_multi_day div.dhx_cal_event_clear,.dhx_multi_day div.dhx_cal_event_line{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (max-width:550px){.dhx_cal_event_clear,.dhx_cal_event_line{padding-left:2px}}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_light{-webkit-tap-highlight-color:transparent;background-color:#fff;border-radius:2px;border:0 solid transparent;color:#2e2e2e;font-family:Roboto,Arial;font-size:14px;box-shadow:none;position:absolute;z-index:15;width:580px}.dhx_cal_light_rtl{box-shadow:none}.dhx_cal_ltitle{padding:3px 15px 1px 15px;height:35px;line-height:35px;border-bottom:1px solid #0288d1;background:#0288d1;margin:0 0 20px 0;border-radius:2px 2px 0 0;overflow:hidden;white-space:nowrap}.dhx_cal_ltext.dhx_cal_template{position:relative}.dhx_cal_ltitle span{white-space:nowrap}.dhx_time{font-weight:500;padding:0;font-size:14px;display:inline-block;margin:0}.dhx_cal_light_rtl .dhx_time{padding:0}.dhx_cal_light_wide{width:650px}.dhx_mark{position:relative;top:3px;background-image:url(imgs/controls.gif);background-position:0 -43px;padding-left:10px}.dhx_ie6 .dhx_mark{background-position:6px -41px}.dhx_cal_light select{font-family:Roboto,Arial;font-size:14px;color:rgba(0,0,0,.8);padding:2px 2px 2px 8px;margin:0 8px 16px 0}.dhx_cal_light .dhx_title{padding:0 0 0 13px;font-size:14px;text-transform:uppercase;color:#fff;display:inline-block;margin:0}.dhx_cal_larea{border:none;background-color:#fff;overflow:hidden}.dhx_cal_light_wide .dhx_cal_larea{border-top-width:0;margin:0}.dhx_cal_light_rtl .dhx_cal_larea{margin:0}.dhx_cal_light_wide .dhx_wrap_section{border-top:0;border-bottom:none;position:relative;background-color:#fff;overflow:hidden;padding:0;margin:0 0 16px 0}.dhx_cal_lsection{background-color:#fff;color:rgba(0,0,0,.75);font-weight:500;font-family:Roboto,Arial;font-size:18px;padding:5px 0 5px 10px}.dhx_cal_light_wide .dhx_cal_lsection{border:0;float:left;text-align:right;width:82px;min-height:20px;line-height:20px;height:auto;font-size:14px;padding:3px 0 0 0;margin:0 0 0 20px}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;color:rgba(0,0,0,.75);font-family:Roboto,Arial;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.dhx_cal_lsection .dhx_fullday input[type=checkbox]{margin:3px 3px 3px 4px}.dhx_cal_ltext{overflow:hidden;float:left;float:none;width:auto;height:auto;padding:4px 0 0 4px}.dhx_readonly{height:15px}.dhx_cal_ltext textarea{background-color:#fff;overflow:auto;color:rgba(0,0,0,.8);height:100%;width:100%;outline:none !important!important;resize:none;border:1px solid rgba(0,0,0,.08);line-height:20px;font-family:inherit;box-sizing:border-box;padding:4px 0 0 8px}.dhx_section_time{background-color:transparent;white-space:nowrap}.dhx_cal_light_wide .dhx_section_time{padding:2px 0 0 117px!important;height:20px!important}.dhx_section_time{text-align:center}.dhx_cal_light_wide .dhx_section_time{background:0 0}.dhx_btn_set{padding:0;float:left;margin:0 16px 0 0;font-size:14px;font-weight:500;border-radius:2px;text-transform:uppercase;color:#0288d1}.dhx_right_btn_set{margin-right:16px}.dhx_btn_set div{float:left;height:30px;line-height:30px;padding:0 16px;vertical-align:middle;cursor:pointer}.dhx_btn_set,.dhx_cancel_btn_set{border:1px solid #fff;background-color:#fff;color:#0288d1;float:right;float:left}.dhx_cal_light_rtl .dhx_btn_set,.dhx_cal_light_rtl .dhx_cancel_btn_set{float:right}.dhx_save_btn{background-image:url(imgs/controls.gif);background-position:-84px 0;width:21px}.dhx_cancel_btn{background-image:url(imgs/controls.gif);background-position:-63px 0;width:20px}.dhx_delete_btn{background-image:url(imgs/controls.gif);background-position:-42px 0;width:20px}.dhx_delete_btn_set{border:1px solid #fff;background-color:#fff;color:#ff584c;text-shadow:none;margin:0 20px 0 20px}.dhx_save_btn_set{border:1px solid #0288d1;color:#fff;text-shadow:none;background-color:#0288d1}.dhx_cal_cover{width:100%;height:100%;position:fixed;z-index:14;top:0;left:0;background-color:#000;opacity:.4}.dhx_custom_button{padding:0 3px 0 3px;color:rgba(0,0,0,.75);font-family:Roboto,Arial;font-size:8pt;background-color:#fff;border:1px solid #e0e0e0;font-weight:400;margin-right:5px;margin-top:0;cursor:pointer}.dhx_custom_button div{cursor:pointer;float:left;height:21px;line-height:21px;vertical-align:middle}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin:0;font-weight:500;font-size:14px;cursor:pointer}.dhx_cal_light_wide .dhx_cal_larea{width:100%}.dhx_cal_light_wide{width:738px}.dhx_cal_light_wide .dhx_cal_checkbox label{padding-left:0}.dhx_wrap_section .dhx_cal_wide_checkbox input[type=checkbox]{margin-top:8px;margin-left:14px}.dhx_cal_light_rtl .dhx_wrap_section .dhx_cal_wide_checkbox input[type=checkbox]{margin:8px 14px 0 0}.dhx_cal_light input{font-family:Roboto,Arial;font-size:8pt;color:#747373}#input_1518604462804{margin:0 0 0 11px;border-bottom-width:0;border-bottom:0}.dhx_custom_button{float:right;height:21px;width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.dhx_cal_light_wide .dhx_custom_button{position:absolute;top:0;right:0;margin-top:6px}.dhx_cal_light_wide .dhx_repeat_right{margin-right:55px}.dhx_cal_light_rtl{direction:rtl}.dhx_cal_light_rtl .dhx_cal_ltitle{padding:3px 15px 1px 15px}.dhx_cal_light_rtl .dhx_mark{padding:0 10px 0 0}.dhx_cal_light_rtl .dhx_title{padding:0 13px 0 0}.dhx_cal_light_rtl .dhx_wrap_section{padding:0}.dhx_cal_light_rtl .dhx_wrap_section .dhx_cal_ltext.dhx_cal_template{direction:ltr;float:right;margin-right:15px!important}.dhx_cal_light_rtl .dhx_cal_lsection{float:right;text-align:left;margin:0 20px 0 0}.dhx_cal_light_rtl .dhx_cal_ltext{padding:4px 4px 0 0}.dhx_cal_light_rtl .dhx_cal_ltext textarea{padding:4px 8px 0 0}.dhx_cal_light_rtl .dhx_section_time{padding:2px 117px 0 0!important}.dhx_cal_light_rtl select{padding:2px 8px 2px 2px;margin:0 0 16px 8px}.dhx_cal_light_rtl .dhx_custom_button{left:15px;right:auto;right:unset}@media only screen and (max-width:1023px){.dhx_cal_overflow_container{overflow:auto!important}.dhx_cal_light.dhx_cal_light_responsive{width:98vw!important;height:auto!important;left:1%!important;top:1.953vw!important;font-size:3.906vw!important;line-height:3.906vw!important;padding-bottom:2vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_btn_set{margin-bottom:1.953vw!important;font-size:3.906vw;height:auto!important;padding:1.953vw 1.563vw 1.953vw 1.563vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_btn_set div{height:2.93vw;line-height:2.93vw;padding:0 1.563vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_larea{width:auto!important;margin-left:0!important;height:100%!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_lsection{font-size:3.906vw!important;width:23.438vw!important;margin-left:3vw;line-height:3.906vw!important;margin-right:0}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_lsection .dhx_custom_button{padding:.977vw;min-width:25.391vw!important;min-height:5.371vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_ltitle{height:2rem!important;line-height:2rem!important;margin-bottom:.5rem}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_ltitle span{font-size:3.906vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_lsection div.dhx_custom_button,.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_radio,.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_template,.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time select,.dhx_cal_light.dhx_cal_light_responsive select,.dhx_cal_light.dhx_cal_light_responsive textarea{font-size:3.5vw;line-height:3.5vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_lsection div.dhx_custom_button label,.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_radio label,.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_template label,.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time select label,.dhx_cal_light.dhx_cal_light_responsive select label,.dhx_cal_light.dhx_cal_light_responsive textarea label{margin:1vw 3vw 1vw .5vw;vertical-align:top}.dhx_cal_light.dhx_cal_light_responsive .dhx_section_time select,.dhx_cal_light.dhx_cal_light_responsive select{min-height:5.859vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_ltext{margin-left:26.5vw!important;height:100%!important;min-height:4.883vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_repeat_center,.dhx_cal_light.dhx_cal_light_responsive .dhx_repeat_divider,.dhx_cal_light.dhx_cal_light_responsive .dhx_repeat_left,.dhx_cal_light.dhx_cal_light_responsive .dhx_repeat_right{height:11.23vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time{padding-left:26.5vw!important;width:70vw!important;min-height:19.531vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time select{float:left;margin:1.465vw .977vw 1.465vw .977vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time .dhx_lightbox_time_select{width:18.555vw;padding-left:5.859vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time .dhx_lightbox_day_select{min-width:7.813vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time .dhx_lightbox_year_select{min-width:12.695vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time .dhx_lightbox_month_select{width:17.578vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_wide_checkbox{height:100%!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_multi_select_control{height:100%!important;vertical-align:middle}.dhx_cal_light.dhx_cal_light_responsive .dhx_multi_select_control input{vertical-align:middle}.dhx_cal_light.dhx_cal_light_responsive input{width:4.883vw;height:4.883vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_custom_button div{height:3.125vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_custom_button .dhx_custom_button_recurring{background-size:7.813vw!important;width:6.836vw!important;height:6.836vw!important;background-repeat:no-repeat!important;background-position:-25px -1px!important;padding-top:0!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section{min-height:7.813vw!important;max-width:92.773vw!important;margin:.977vw 0}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat{margin:6.836vw 0 0 23.438vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat form{height:48.828vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat div{width:75vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_left br{content:' '}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat input{top:1.465vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat select{width:14.648vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat label{padding-right:0}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_date,.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_text,.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat form,.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat form select,.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat label{font-size:2.93vw!important;line-height:2.93vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_center{height:auto!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_text{width:6.836vw!important;height:5.859vw!important;border:1px solid rgba(0,0,0,.08);background-color:#fff}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_checkbox{width:2.93vw!important;height:2.93vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_days label{font-size:2.441vw!important;line-height:2.5vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_right{height:auto!important;float:left}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_right .dhx_repeat_date{width:19.531vw!important;height:7.813vw!important;padding-left:1.465vw!important;margin-top:1.465vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_divider{border-top:1px solid #cecece;border-left:0;width:70vw;height:1px}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_cal_larea{margin-right:0!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_cal_lsection{margin-left:0!important;margin-right:0!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_cal_ltext{margin-right:23.438vw!important;margin-left:0!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_wrap_section .dhx_cal_wide_checkbox input[type=checkbox]{margin:.781vw 1.367vw 0 0}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time{padding-right:23.438vw!important;padding-left:0!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time select{float:right}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time .dhx_lightbox_time_select{padding-right:5.859vw!important;padding-left:0!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time span{display:none}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_form_repeat{margin:6.836vw 23.438vw 0 0!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_form_repeat label{padding-left:0;padding-right:0!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_right{float:left}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_right .dhx_repeat_date{padding-right:1.465vw!important;padding-left:0!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_multi_select_control.dhx_multi_select_control_vertical{float:right}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_multi_select_control{float:auto;float:unset}}.dhx_minical_popup{position:absolute;z-index:16;width:251px;height:175px}.dhx_scale_bar_header{position:absolute;border-bottom:1px dotted #a39588;width:100%}.dhx_expand_icon{position:absolute;top:0;right:0;background-image:url(imgs/collapse_expand_icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:4}.dhx_scheduler_agenda .dhx_cal_data{background-image:none}.dhx_agenda_area{width:100%;overflow-y:auto;background-image:none}.dhx_agenda_line{height:21px;clear:both;overflow:hidden}.dhx_agenda_line div{float:left;width:188px;border-right:1px dotted #8894a3;text-align:center;line-height:21px;overflow:hidden}.dhx_cal_container_rtl .dhx_agenda_line div{float:right}.dhx_cal_container_rtl .dhx_agenda_line .description_header{padding-right:15px;float:right}.dhx_cal_header div.dhx_agenda_line div,.dhx_cal_header div.dhx_agenda_line span,.dhx_cal_header div.dhx_map_line{font-weight:500;color:rgba(0,0,0,.54)}.dhx_cal_container_rtl .dhx_cal_header div.dhx_map_line{float:right}.dhx_cal_container_rtl .dhx_agenda_area .dhx_agenda_line div{border-left:0 dotted #000}.dhx_agenda_area .dhx_agenda_line div{border-right:0 dotted #000}.dhx_v_border{position:absolute;left:187px;top:0;border-right:1px dotted #8894a3;width:1px;height:100%}.dhx_cal_container_rtl .dhx_v_border{right:186px;left:unset}.dhx_agenda_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) no-repeat;background-position:5px 4px;cursor:pointer}.dhx_cal_container_rtl .dhx_agenda_line .dhx_event_icon{background-position-x:2px}.dhx_agenda_line span{padding-left:5px;line-height:21px}.dhx_cal_container_rtl .dhx_agenda_line span{padding-left:0;padding-right:5px}.dhx_year_body{border-left:1px solid #e0e0e0}.dhx_year_week{position:relative}.dhx_scale_bar_last{border-right:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_year_body{border-left:0;border-right:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_year_box .dhx_scale_bar_last{border-left:1px solid #e0e0e0}.dhx_year_month{height:18px;padding-top:3px;border:1px solid #e0e0e0;text-align:center;vertical-align:middle}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:rgba(0,0,0,.38)}.dhx_year_body .dhx_month_body{height:0;overflow:hidden}.dhx_month_head.dhx_year_event{background-color:#0288d1;color:#fff}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head{cursor:default}.dhx_year_tooltip{border:1px solid #bbb;background-image:none;position:absolute;z-index:12;width:300px;height:auto;font-family:Tahoma;font-size:8pt;overflow:hidden}.dhx_tooltip_line{line-height:20px;height:20px;overflow:hidden}.dhx_tooltip_line .dhx_event_icon{width:20px;height:20px;padding-right:10px;float:left;border-width:0;position:relative;background:url(imgs/icon.png) no-repeat;background-position:5px 4px;cursor:pointer}.dhx_tooltip_date{float:left;width:auto;padding-left:5px;text-align:center}.dhx_text_disabled{color:#2e2e2e;font-family:Roboto,Arial;font-size:14px}.dhx_mini_calendar{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.dhx_mini_calendar .dhx_month_head{cursor:pointer}.dhx_mini_calendar .dhx_calendar_click{background-color:#0288d1}.dhx_cal_navline div.dhx_minical_icon{width:18px;height:18px;left:190px;top:1px;cursor:pointer;background:url(imgs_dhx_material/calendar.svg) no-repeat}.dhx_grid_rtl{direction:rtl}.dhx_matrix_scell,.dhx_timeline_scale_header{height:100%;font-family:Roboto,Arial;font-size:14px;color:rgba(0,0,0,.54);font-weight:500}.dhx_matrix_cell,.dhx_matrix_scell{overflow:hidden;text-align:center;vertical-align:middle;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_matrix_cell,.dhx_cal_container_rtl .dhx_matrix_scell{border-right:unset;border-left:1px solid #e0e0e0}.dhx_timeline_scale_header{border-right:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_timeline_scale_header{border-right:unset;border-left:1px solid #e0e0e0}.dhx_cal_data .dhx_timeline_table_wrapper div{box-sizing:border-box}.dhx_matrix_cell{background-color:#fff}.dhx_matrix_line{overflow:hidden}.dhx_matrix_cell div,.dhx_matrix_scell div{overflow:hidden;text-align:center;height:auto}.dhx_cal_lsection .dhx_readonly{font-size:9pt;font-size:8pt;padding:2px;color:#887a2e}.dhx_cal_event_line .dhx_event_resize{cursor:w-resize;cursor:ew-resize;background:url(imgs_dhx_material/drag-vertical.svg) no-repeat center center;position:absolute;top:0;width:4px;height:100%}.dhx_event_resize_start{left:0}.dhx_cal_container_rtl .dhx_event_resize_start{left:auto;left:unset;right:0}.dhx_event_resize_end{right:0}.dhx_cal_container_rtl .dhx_event_resize_end{right:auto;right:unset;left:0}.dhx_data_table.folder .dhx_matrix_cell,.dhx_matrix_scell.folder{background-color:#ebeced;cursor:pointer}.dhx_matrix_scell .dhx_scell_level0{padding-left:5px}.dhx_matrix_scell .dhx_scell_level1{padding-left:20px}.dhx_matrix_scell .dhx_scell_level2{padding-left:35px}.dhx_matrix_scell .dhx_scell_level3{padding-left:50px}.dhx_matrix_scell .dhx_scell_level4{padding-left:65px}.dhx_matrix_scell.folder{border-right:0;font-weight:700;text-align:left}.dhx_matrix_scell.folder .dhx_scell_expand{float:left;width:10px;padding-right:3px;position:relative}.dhx_matrix_scell.folder .dhx_scell_name{float:left;width:auto;color:#0288d1;text-transform:uppercase;font-weight:500}.dhx_matrix_scell.item .dhx_scell_name{padding-left:15px;text-align:left}.dhx_cal_container_rtl .dhx_matrix_scell .dhx_scell_level0{padding-left:0;padding-right:5px}.dhx_cal_container_rtl .dhx_matrix_scell .dhx_scell_level1{padding-left:0;padding-right:20px}.dhx_cal_container_rtl .dhx_matrix_scell .dhx_scell_level2{padding-left:0;padding-right:35px}.dhx_cal_container_rtl .dhx_matrix_scell .dhx_scell_level3{padding-left:0;padding-right:50px}.dhx_cal_container_rtl .dhx_matrix_scell .dhx_scell_level4{padding-left:0;padding-right:65px}.dhx_cal_container_rtl .dhx_matrix_scell.folder .dhx_scell_expand{float:right;padding-right:0;padding-left:3px}.dhx_cal_container_rtl .dhx_matrix_scell.folder .dhx_scell_name{float:right}.dhx_cal_container_rtl .dhx_matrix_scell.item .dhx_scell_name{padding-left:0;padding-right:15px;text-align:right}.dhx_data_table.folder .dhx_matrix_cell{border-right:0}.dhx_section_timeline{overflow:hidden;padding:4px 0 2px 10px}.dhx_section_timeline select{width:552px}.dhx_map_area{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background-image:url(imgs/databg.png)}.dhx_map_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) no-repeat;background-position:5px 4px;cursor:pointer}.dhx_cal_container_rtl .dhx_map_line .dhx_event_icon{margin-right:3px}.dhx_map_line{height:21px;clear:both;overflow:hidden}.dhx_map{position:absolute}.dhx_map_line div{float:left;border-right:1px dotted #8894a3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .headline_description{float:left;border-right:1px dotted #8894a3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .dhx_map_description{float:left;border-right:0 dotted #8894a3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .headline_date,.dhx_map_line .headline_description{border-left:0}.dhx_cal_container_rtl .dhx_map_line div{float:right}.dhx_cal_container_rtl .dhx_map_line .headline_date,.dhx_cal_container_rtl .dhx_map_line .headline_description{float:right;border-left:1px solid #e0e0e0;border-right:0}.dhx_map_line .line_description{float:left;border-right:1px dotted #8894a3;text-align:left;padding-left:5px;line-height:21px;overflow:hidden}.dhx_cal_container_rtl .dhx_map_line .line_description{float:right;text-align:right;padding-left:unset}.dhx_map_line.highlight{background-color:#c4c5cc}.dhx_map_area .dhx_map_line div{border-right:0 dotted #8894a3}.dhtmlXTooltip.tooltip{-moz-box-shadow:3px 3px 3px #888;-webkit-box-shadow:3px 3px 3px #888;-o-box-shadow:3px 3px 3px #888;box-shadow:3px 3px 3px #888;background-color:#fff;cursor:default;padding:10px;position:fixed;z-index:9;opacity:1;font-family:Roboto,Arial}.dhtmlXTooltip_rtl{direction:rtl}.dhx_tooltip_rtl{direction:rtl}.dhx_tooltip_rtl .dhx_tooltip_date{float:right;padding:0 5px 0 0}.dhx_tooltip_rtl .dhx_tooltip_line{margin:0 0 0 12px;padding:0 4px 0 0}.dhx_tooltip_rtl .dhx_tooltip_line .dhx_event_icon.icon_details{float:right;padding:0 0 0 10px}.dhx_cal_checkbox label{padding-left:5px}.dhx_cal_light .radio{padding:2px 0 2px 10px}.dhx_cal_light .radio input,.dhx_cal_light .radio label{line-height:15px}.dhx_cal_light .radio input{vertical-align:middle;margin:0;padding:0}.dhx_cal_light .radio label{vertical-align:middle;padding-right:10px}.dhx_cal_light .combo{padding:4px}.dhx_cal_light_wide .combo>div,.dhx_cal_light_wide .dhx_combo_box{width:608px!important;left:10px}.dhx_wa_column{float:left}.dhx_cal_container_rtl .dhx_wa_column{float:right}.dhx_wa_column_last .dhx_wa_day_cont{border-left:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_wa_column_last .dhx_wa_day_cont{border-right:1px solid #e0e0e0}.dhx_wa_scale_bar{font-family:Roboto,Arial;padding-left:10px;font-size:11px;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_wa_scale_bar{padding-left:0;padding-right:10px}.dhx_wa_day_data{background-color:#fcfefc;overflow-y:auto}.dhx_wa_ev_body{border-bottom:1px solid #e0e0e0;font-size:14px;padding:5px 0 5px 7px}.dhx_cal_container_rtl .dhx_wa_ev_body{padding:5px 7px 5px 0}.dhx_wa_ev_body_rtl{direction:rtl}.dhx_wa_dnd{font-family:Roboto,Arial;position:absolute;padding-right:7px;color:#887ae2!important;background-color:#ffe763!important;border:1px solid #b7a543}.dhx_wa_ev_body.dhx_cal_event_selected{background-color:#9cc1db;color:#fff}.dhx_second_scale_bar{border-bottom:1px solid #e0e0e0;padding-top:2px}.dhx_cal_header div.dhx_grid_line div{border-left:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_cal_header div.dhx_grid_line div{border-right:1px solid #e0e0e0;border-left:0}.dhx_grid_area{width:100%;height:100%;overflow-y:auto;background-color:#fcfefc}.dhx_grid_area table{border-collapse:collapse;border-spacing:0;width:100%;table-layout:fixed}.dhx_grid_area td{table-layout:fixed;text-align:center}.dhx_grid_line{height:21px;clear:both;overflow:hidden}.dhx_grid_line div{float:left;cursor:default;padding-top:0;padding-bottom:0;text-align:center;line-height:21px;overflow:hidden}.dhx_cal_container_rtl .dhx_grid_line div{float:right}.dhx_grid_area td,.dhx_grid_line div{padding-left:8px;padding-right:8px}.dhx_grid_area tr.dhx_grid_event{height:21px;overflow:hidden;margin:0 0 1px 0}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #eceef4}.dhx_cal_container_rtl .dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #eceef4;direction:ltr}.dhx_cal_container_rtl .dhx_map_line div.dhx_map_event_time{float:right;direction:ltr}.dhx_grid_area tr.dhx_grid_event:nth-child(2n) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td{border-bottom-width:0;border-bottom-style:none}.dhx_grid_area tr.dhx_grid_event:nth-child(2n){background-color:#eceef4}.dhx_grid_area .dhx_grid_dummy{table-layout:auto;margin:0!important;padding:0!important}.dhx_grid_v_border{position:absolute;border-right:1px solid #a4bed4;width:1px;height:100%}.dhx_cal_container_rtl .dhx_grid_v_border{border-left:1px solid #a4bed4;border-right:0}.dhx_grid_event_selected{background-color:#9cc1db!important;color:#fff!important}.dhx_grid_sort_desc .dhx_grid_view_sort{background-position:0 -55px}.dhx_grid_sort_asc .dhx_grid_view_sort{background-position:0 -66px}.dhx_grid_view_sort{width:10px;height:10px;position:absolute;border:none!important;top:5px;background-repeat:no-repeat;background-image:url(imgs/images.png)}.dhx_marked_timespan{position:absolute;width:100%;margin-left:0}.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;z-index:1}.dhx_time_block_reset{opacity:1}.dhx_scheduler_month .dhx_marked_timespan{display:none}.dhx_mini_calendar .dhx_marked_timespan{display:none}.dhx_now_time{width:100%;border-bottom:2px solid #ff5722}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px solid #ff5722}.dhx_matrix_now_time{border-left:2px solid #ff5722}.dhx_matrix_now_time,.dhx_now_time{opacity:.5}.dhx_cal_quick_info{border:1px solid rgba(50,50,50,.19);border-radius:2px;position:absolute;z-index:8;font-family:Roboto,Arial;font-size:14px;background-color:#fff;padding:0;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.dhx_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon{float:right}.dhx_quick_info_rtl.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon{float:left}.dhx_cal_qi_title{padding:10px 0 10px 10px;color:#fff;letter-spacing:unset}.dhx_cal_container_rtl .dhx_cal_qi_title{padding:10px 18px 10px 0;text-align:right}.dhx_cal_qi_tdate{font-size:14px}.dhx_cal_qi_tcontent{font-size:18px;font-weight:500}.dhx_cal_qi_content{border:none;background-color:#fefefe;padding:24px 8px 16px 10px;font-size:14px;color:rgba(0,0,0,.75);width:275px;overflow:hidden}.dhx_quick_info_rtl .dhx_cal_qi_content{padding:24px 10px 16px 8px;direction:rtl}.dhx_qi_big_icon{min-width:60px;padding:5px 10px 5px 9px;margin:5px 9px 5px 0;background-color:transparent;border-bottom:none;border-right:none;border-radius:2px;line-height:20px;color:#0288d1;vertical-align:middle;cursor:pointer;float:left}.dhx_quick_info_rtl .dhx_qi_big_icon{padding:5px 5px 9px 10px;margin:5px 0 5px 9px}.dhx_cal_qi_controls div{float:left;height:20px;text-align:center;line-height:20px}.dhx_quick_info_rtl .dhx_cal_qi_controls div{float:right}.dhx_quick_info_rtl.dhx_qi_right .dhx_cal_qi_controls{padding-right:15px}.dhx_qi_big_icon .dhx_menu_icon{margin:0 8px 0 0}.dhx_quick_info_rtl .dhx_qi_big_icon .dhx_menu_icon{margin:0 0 0 8px}.dhx_drag_marker{width:100%;opacity:.5;background-color:#dedede;position:absolute;box-sizing:border-box!important;border-top:1px solid #dedede;border-bottom:1px solid #dedede}.dhx_focus_slot{background:#bdbdbd;position:absolute;pointer-events:none;opacity:.3}.dhx_cal_container :focus{outline-style:solid;outline-style:auto}.dhx_no_select{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}.dhx_drag_placeholder{z-index:10;opacity:.8}.dhx_drag_placeholder .dhx_cal_select_menu{display:none}.dhx_timeline_scale_header{position:absolute;z-index:2;overflow:hidden;text-align:center;vertical-align:middle;background-color:#fff}.dhx_timeline_label_wrapper{overflow:hidden;background-color:#fff;position:absolute;z-index:1}.dhx_timeline_label_col{position:relative}.dhx_timeline_label_row{position:absolute;left:0;background-color:inherit}.dhx_timeline_data_wrapper{position:absolute;z-index:0;left:0;width:100%}.dhx_timeline_data_row{position:relative}.dhx_timeline_data_cell{position:absolute;top:0;height:100%}.dhx_timeline_table_wrapper .dhx_marked_timespan{z-index:1}.dhx_timeline_table_wrapper .dhx_time_block{z-index:2}.dhx_timeline_table_wrapper .dhx_cal_event_line{z-index:1}.dhx_timeline_table_wrapper .dhx_timeline_scrollable_data{overflow-x:auto}.dhtmlx_modal_box *,.dhx_cal_data,.dhx_cal_data div,.dhx_cal_data table *,.dhx_cal_header,.dhx_cal_header div,.dhx_cal_navline div,.dhx_cal_quick_info,.dhx_cal_quick_info div,.dhx_multi_day,.dhx_multi_day div,.dhx_tooltip_line div{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dhx_cal_light .dhx_cal_lsection,.dhx_cal_light .dhx_wrap_section{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dhx_form_repeat label{margin-bottom:0}.dhx_cal_data div.dhx_scale_hour,.dhx_cal_data table .dhx_matrix_cell,.dhx_cal_data table .dhx_matrix_scell{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_cal_event div{line-height:normal}.dhx_cal_data table{border-collapse:separate}.dhx_cal_light .dhx_cal_radio input[type=radio]{margin:0 0 0 5px}.dhx_cal_light_rtl .dhx_cal_radio input[type=radio]{margin:0 5px 0 0}.dhx_cal_light .dhx_cal_radio label{display:inline-block;margin:3px 30px 0 5px;position:relative;top:-2px}.dhx_cal_light_rtl .dhx_cal_radio label{margin:3px 5px 0 30px}.dhx_cal_event div{line-height:normal}.dhx_cal_container{position:relative;overflow:hidden;background-color:#fff;font-family:Roboto,Arial;font-size:14px}.dhx_cal_container div{-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_navline{height:20px;position:absolute;z-index:3;width:750px;color:rgba(0,0,0,.75)}.dhx_cal_navline div{position:absolute;white-space:nowrap;top:14px}.dhx_cal_navline .dhx_cal_date{border:0;font-size:20px;font-weight:500;font-family:Roboto,Arial;width:100%;text-align:center;left:0;padding:1px 0 0 0;color:rgba(0,0,0,.75);z-index:-1}.dhx_cal_button .dhx_left_bg{width:1px;overflow:hidden;height:17px;z-index:5;top:0}.dhx_cal_prev_button{cursor:pointer;right:148px;background-color:none;background-image:url(imgs_dhx_material/arrow_left.svg);background-position:center center;background-repeat:no-repeat;height:30px;width:30px;border:1px solid transparent;border-radius:5px 0 0 5px}.dhx_cal_today_button{cursor:pointer;text-align:center;font-size:14px;font-weight:500;color:#0288d1;right:57px;background-color:none;background-image:none;background-position:-62px 0;background-repeat:no-repeat;height:30px;width:80px;border:1px solid transparent;border-radius:0;text-decoration:none;text-transform:uppercase}.dhx_cal_next_button{cursor:pointer;right:16px;background-color:none;background-image:url(imgs_dhx_material/arrow_right.svg);background-position:center center;background-repeat:no-repeat;height:30px;width:30px;border:1px solid transparent;border-radius:0 5px 5px 0}.dhx_cal_tab{width:88px;height:29px;background-color:none;text-align:center;text-decoration:none;text-transform:uppercase;font-weight:500;padding-top:1px;border-radius:0;cursor:pointer;border:1px solid #0288d1;color:#0288d1;font-size:inherit}.dhx_cal_tab.active{text-decoration:none;cursor:default;font-weight:500;font-size:inherit;color:#fff;border:1px solid #0288d1;border-bottom:1;background-color:#0288d1;z-index:25}.dhx_cal_tab_first{border-radius:2px 0 0 2px;border-right:0}.dhx_cal_tab_last{border-radius:0 2px 2px 0}.dhx_cal_date,.dhx_cal_next_button,.dhx_cal_prev_button,.dhx_cal_tab,.dhx_cal_today_button{line-height:30px}.dhx_cal_header{position:absolute;overflow:hidden;left:10px;background:#fff;border-top:1px solid transparent;border-right:1px solid transparent;z-index:2}.dhx_cal_container_rtl .dhx_cal_header{left:unset}.dhx_cal_data{-webkit-tap-highlight-color:transparent;border-top:1px solid transparent;position:absolute;width:600px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.dhx_cal_container_rtl .dhx_cal_data{direction:rtl}.dhx_cal_data,.dhx_cal_event,.dhx_cal_event_clear,.dhx_cal_event_line{-ms-touch-action:pan-y;touch-action:pan-y}.dhx_scale_bar{position:absolute;text-align:center;background-color:#fff;padding:2px 0 0 0;border-left:1px solid #e0e0e0;font-size:14px;font-weight:500;line-height:16px;color:rgba(0,0,0,.54)}.scheduler_container_resize_watcher{background:0 0;width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1;pointer-events:none;border:0;box-sizing:border-box;opacity:0}.dhx_scale_holder{position:absolute;border-right:1px solid #e0e0e0;background-image:url(imgs_dhx_material/databg.png);-ms-interpolation-mode:nearest-neighbor;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated}.dhx_cal_container_rtl .dhx_scale_holder{border-left:1px solid #e0e0e0;border-right:0}.dhx_cal_container_rtl .dhx_cal_header{border-right:0;border-left:1px solid transparent}.dhx_cal_container_rtl .dhx_scale_bar{border-left:0;border-right:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_month_head{border-right:0;border-left:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_month_body{border-right:0;border-left:1px solid #e0e0e0}.dhx_scale_holder_now{position:absolute;-ms-interpolation-mode:nearest-neighbor;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated}.dhx_scale_holder_now{position:absolute;border-right:1px solid #e0e0e0;background-image:url(imgs_dhx_material/databg.png)}.dhx_cal_container_rtl .dhx_scale_holder_now{border-right:0;border-left:1px solid #e0e0e0}.dhx_scale_hour{border-bottom:1px solid #e0e0e0;background-color:#fff;text-align:center;line-height:44px;color:rgba(0,0,0,.54);font-size:12px;font-weight:500;overflow:hidden}.dhx_month_head{height:21px;padding:0 8px 0 0;font-size:12px;font-weight:500;line-height:21px;color:rgba(0,0,0,.54);border-right:1px solid #e0e0e0;background-color:#fff;text-align:right}.dhx_cal_container_rtl .dhx_month_head{text-align:left;padding:0 0 0 8px}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{background-color:#fff;color:rgba(0,0,0,.38)}.dhx_now .dhx_month_head{background-color:#fff3a1;font-weight:400}.dhx_scale_hour_border{border-left:1px dotted #8894a3}.dhx_month_body{border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background-color:#fff}.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:#fff}.dhx_now .dhx_month_body{background-color:#f7f7f7}.dhx_now .dhx_month_head{background-color:#f7f7f7}.dhx_scale_ignore{display:none}.dhx_cal_drag{position:absolute;z-index:13;background-color:#ffe763;border:1px solid #b7a543;opacity:.5}.dhx_loading{position:absolute;width:128px;height:15px;background-image:url(imgs/loading.gif);z-index:13}.dhx_multi_day,.dhx_multi_day_icon{background-color:#fff;border-right:1px solid transparent}.dhx_multi_day{position:absolute;border-top:1px solid transparent;background-color:transparent;border-right:none;box-shadow:none}.dhx_cal_container_rtl .dhx_multi_day{direction:rtl}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-color:transparent;background-position:center center;border-bottom:1px solid transparent;border-right:1px solid transparent;background-repeat:no-repeat}.dhx_cal_container_rtl .dhx_multi_day_icon,.dhx_cal_container_rtl .dhx_multi_day_icon_small{border-right:0;border-left:1px solid transparent}.dhx_multi_day_icon{background-image:url(imgs_dhx_material/clock_big.png)}.dhx_multi_day_icon_small{background-image:url(imgs_dhx_material/clock_small.png)}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff}.dhx_month_body_border,.dhx_month_head_border,.dhx_scale_bar_border,.dhx_scale_hour_border{border-left:1px dotted #8894a3}.dhx_cal_navline .dhx_cal_export{width:18px;height:18px;margin:2px;cursor:pointer;top:0}.dhx_cal_navline .dhx_cal_export.pdf{left:2px;background-image:url(imgs/export_pdf.png)}.dhx_cal_navline .dhx_cal_export.ical{left:24px;background-image:url(imgs/export_ical.png)}.dhx_cal_navline.dhx_cal_navline_flex{display:flex;flex-direction:row;align-items:center;padding:0 1vw;box-sizing:border-box}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab{box-sizing:border-box;height:32px}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab_last{margin-right:14px}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab{border-left-style:none;box-shadow:-1px 0 0 #0288d1}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_date{width:auto;flex-grow:1}.dhx_cal_navline.dhx_cal_navline_flex div{position:static}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_navbar_row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;padding:0 1vw;box-sizing:border-box;height:100%;width:100%;flex-grow:1;flex-shrink:1}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_prev_button+.dhx_cal_next_button{border-left-style:none}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_navbar_rows_container{display:flex;align-items:center;flex-direction:column;box-sizing:border-box;flex-grow:1;height:100%}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_line_break,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_line_spacer{display:block;width:auto;flex-grow:1}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab_standalone,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_today_button{margin:0 7px}@media only screen and (max-width:1023px){.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab.active,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_today_button{min-width:4vw;font-size:1.3vw;box-sizing:content-box;padding:0 .5vw;width:auto}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_next_button,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_prev_button,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab.active,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_today_button{height:2.5vw;line-height:2.5vw}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab_last{margin-right:2vw}}@media only screen and (max-width:840px){.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab.active,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_today_button{min-width:4vw;font-size:1.5vw;box-sizing:content-box;padding:0 .5vw;width:auto}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_next_button,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_prev_button,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab.active,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_today_button{height:4vw;line-height:4vw}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab_last{margin-right:1vw}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_date{font-size:2.5vw}}@media only screen and (max-width:480px){.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab.active,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_today_button{font-size:.8rem;padding:0 2vw}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_next_button,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_prev_button,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab.active,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_today_button{height:6vw;line-height:6vw}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_next_button,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_prev_button{width:2rem}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_date{font-size:4vw}}.dhx_cal_touch_active{overscroll-behavior:none}.dhx_form_repeat,.dhx_form_repeat input{padding:0;margin:0;padding-left:5px;font-family:Tahoma,Verdana;font-size:11px;line-height:24px}.dhx_form_repeat{overflow:hidden}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent}.dhx_repeat_center,.dhx_repeat_divider,.dhx_repeat_left,.dhx_repeat_right{height:115px;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_repeat_center,.dhx_repeat_left{padding:10px 0 0 10px;float:left}.dhx_repeat_left{width:105px}.dhx_repeat_center{width:345px;padding-top:22px}.dhx_repeat_divider{float:left;border-left:1px dotted #dcc43e;width:1px}.dhx_repeat_right{float:right;width:173px;padding:17px 3px 0 10px}.dhx_cal_light_rtl .dhx_repeat_center,.dhx_cal_light_rtl .dhx_repeat_divider,.dhx_cal_light_rtl .dhx_repeat_left,.dhx_cal_light_rtl .dhx_repeat_right{float:none;display:inline-block;vertical-align:top}.dhx_cal_light_rtl .dhx_repeat_right{margin-right:0}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px 0 4px;line-height:18px;padding:0 0 0 2px}.dhx_cal_light_rtl input.dhx_repeat_text{padding:0 2px 0 0}.dhx_form_repeat select{height:20px;width:87px;padding:0 0 0 2px;margin:0 4px 0 4px}.dhx_cal_light_rtl .dhx_form_repeat select{padding:0 2px 0 0}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px 0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px #7f9db9 solid;line-height:18px}.dhx_cal_light_rtl input.dhx_repeat_date{padding:0 2px 0 0}input[type=radio].dhx_repeat_radio{margin:5px 4px 0 0;display:inline-block;position:relative;top:2px}.dhx_cal_light_rtl input[type=radio].dhx_repeat_radio{margin:5px 0 0 4px}input.dhx_repeat_checkbox{margin:4px 4px 0 0}.dhx_repeat_days td{padding-right:5px}.dhx_repeat_days label{font-size:10px}.dhx_custom_button{width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.dhx_custom_button_recurring{background-image:none;background-position:-5px 20px;width:20px;margin-right:10px}.dhx_cal_light_rec{width:640px}.dhx_cal_light_rec .dhx_cal_larea{width:632px}.dhx_cal_light_rec.dhx_cal_light_wide{width:816px}.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{width:808px}.dhtmlXTooltip,.dhtmlx_message_area,.dhtmlx_modal_box,.dhx_cal_container,.dhx_cal_light{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dhx_cal_event .dhx_header,.dhx_cal_event.dhx_cal_select_menu .dhx_footer{display:none}.dhx_cal_event_line.dhx_cal_event_drag{box-shadow:0 0 1px 0 #fff}.dhx_cal_event.dhx_cal_event_drag{box-shadow:1px 1px 0 0 rgba(255,255,255,.47)}.dhx_btn_set{float:left/right}.dhx_btn_set div:first-child,.dhx_cancel_btn,.dhx_delete_btn,.dhx_save_btn{display:none}.dhx_mark{display:none}.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_select_menu_footer{display:none}.dhx_cal_container .dhx_multi_day{box-sizing:border-box;border-bottom:1px solid #e0e0e0}.dhx_cal_container.dhx_scheduler_month .dhx_cal_data{border-top-color:transparent}.dhx_cal_event.dhx_cal_select_menu .dhx_body{overflow:unset}.dhx_cal_container b{font-weight:500}.dhx_cal_event_clear{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dhx_scheduler_unit .dhx_cal_header{overflow:visible}.dhx_cal_navline .dhx_cal_today_button{border-radius:2px}.dhx_cal_navline .dhx_cal_today_button:hover{border:1px solid transparent;background-color:rgba(0,0,0,.1);transition:all .1s ease-in-out}.dhx_cal_navline .dhx_cal_prev_button{height:30px;width:30px;top:14px}.dhx_cal_navline .dhx_cal_prev_button:hover{background-color:rgba(0,0,0,.1);border-radius:50%}.dhx_cal_navline .dhx_cal_next_button{height:30px;width:30px;top:14px}.dhx_cal_navline .dhx_cal_next_button:hover{background-color:rgba(0,0,0,.1);border-radius:50%}.dhx_scale_holder_now{background-color:#f7f7f7}.dhx_cal_navline .dhx_cal_export{width:32px;height:32px;margin:2px;cursor:pointer;top:13px}.dhx_cal_navline .dhx_cal_export.pdf{left:auto;right:200px;background-image:url(imgs_dhx_material/export_pdf.png)}.dhx_cal_tab:hover{background-color:#edf8ff}.dhx_cal_tab.active:hover{color:#fff;background-color:#0288d1}.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_tab_standalone,.dhx_cal_navline.dhx_cal_navline_flex .dhx_cal_today_button{margin:0}.dhx_cal_data div .dhx_body,.dhx_cal_data div .dhx_cal_event,.dhx_cal_data div .dhx_footer,.dhx_cal_data div .dhx_title{box-sizing:border-box}.dhx_cal_data div .dhx_body div,.dhx_cal_data div .dhx_cal_event div,.dhx_cal_data div .dhx_footer div,.dhx_cal_data div .dhx_title div{box-sizing:border-box}.dhx_cal_event.dhx_cal_select_menu .dhx_event_move.dhx_title{display:none}.dhx_cal_event.dhx_cal_event_drag .dhx_event_resize.dhx_footer,.dhx_cal_event.dhx_cal_event_selected .dhx_event_resize.dhx_footer,.dhx_cal_event:hover .dhx_event_resize.dhx_footer{display:block;background-color:transparent;margin-top:-11px}.dhx_scale_holder .dhx_cal_event .dhx_body,.dhx_scale_holder .dhx_cal_event .dhx_footer,.dhx_scale_holder .dhx_cal_event .dhx_header,.dhx_scale_holder .dhx_cal_event .dhx_title{width:100%;box-sizing:border-box}.dhx_scale_holder .dhx_cal_event .dhx_body{overflow:visible}.dhx_cal_event.dhx_cal_select_menu .dhx_body{border-width:0;padding:6px 0 12px 0!important;border-radius:0;font-weight:500;line-height:20px;box-sizing:content-box}div.dhx_menu_icon{margin:0 1px 5px}.dhx_cal_event.dhx_cal_event_cascade{box-shadow:0 1px 5px 0 rgba(0,0,0,.3)}.dhx_cal_event.dhx_cal_editor{box-shadow:none;background-color:#0288d1;min-height:24px;box-shadow:1px 1px 0 0 rgba(255,255,255,.47)}.dhx_cal_event.dhx_cal_editor>div{min-height:19px}.dhx_cal_scale_placeholder{position:absolute;z-index:2;box-shadow:0 3px 5px 0 rgba(0,0,0,.1);left:0}.dhx_matrix_scell.folder .dhx_scell_expand{margin:0 12px}.dhx_cal_header div.dhx_bottom_scale_container .dhx_scale_bar,.dhx_cal_header div.dhx_second_cal_header .dhx_scale_bar{border-left-style:solid;border-left-color:#e0e0e0}.dhx_cal_container_rtl .dhx_cal_header div.dhx_bottom_scale_container .dhx_scale_bar,.dhx_cal_container_rtl .dhx_cal_header div.dhx_second_cal_header .dhx_scale_bar{border-left:0;border-right-style:solid;border-right-color:#e0e0e0}.dhx_scale_bar.dhx_second_scale_bar{border-bottom:0;border-bottom-style:solid;border-bottom-color:#e0e0e0}.dhx_matrix_scell.folder{border-right:1px solid transparent}.dhx_matrix_scell.folder.closed .dhx_scell_expand:after{content:"";display:block;position:absolute;top:0;left:0;height:100%;width:13px;background:#ebeced url(imgs_dhx_material/tree_arrow.svg) no-repeat;background-position:3px center}.dhx_matrix_scell.folder.opened .dhx_scell_expand:after{content:"";display:block;position:absolute;top:0;left:0;height:100%;width:13px;transform:rotate(-90deg);background:#ebeced url(imgs_dhx_material/tree_arrow.svg) no-repeat;background-position:3px center}.dhx_row_folder .dhx_data_table .dhx_matrix_cell{background-color:#ebeced;cursor:pointer}.dhx_row_folder .dhx_data_table .dhx_matrix_cell,.dhx_row_folder .dhx_data_table.folder .dhx_matrix_cell,.dhx_row_folder .dhx_matrix_scell{border-bottom-color:transparent;border-right-color:transparent}.dhx_cal_header .dhx_second_scale_bar{border-top:1px solid #e0e0e0;padding:1px 0 0 0}.dhx_cal_header div .dhx_scale_bar{border-top:1px solid transparent}.dhx_cal_container .dhx_cal_header.dhx_second_cal_header .dhx_scale_bar.dhx_second_scale_bar{border-top:1px solid transparent;border-bottom:1px solid transparent;border-left:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_cal_header.dhx_second_cal_header .dhx_scale_bar.dhx_second_scale_bar{border-left:unset;border-right:1px solid #e0e0e0}.dhx_cal_container .dhx_cal_header.dhx_second_cal_header .dhx_scale_bar{border-left:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_cal_header.dhx_second_cal_header .dhx_scale_bar{border-left:unset;border-right:1px solid #e0e0e0}.dhx_cal_header.dhx_second_cal_header{border-right:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_cal_header.dhx_second_cal_header{border-right:unset;border-left:1px solid #e0e0e0}.dhx_cal_header .dhx_scale_bar.dhx_second_scale_bar:last-child{border-right:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_cal_header .dhx_scale_bar.dhx_second_scale_bar:last-child{border-left:unset;border-right:1px solid #e0e0e0}.dhx_scale_bar.undefined:last-child{border-right:1px solid #e0e0e0!important}.dhx_cal_header .dhx_scale_bar a,td .dhx_month_head a{text-decoration:none;color:#1b5dfb}.dhx_cal_header .dhx_scale_bar a:hover,td .dhx_month_head a:hover{text-decoration:underline}.dhx_cal_data table .dhx_cal_event_line,.dhx_cal_event_line{box-sizing:border-box;text-overflow:ellipsis}.dhx_cal_event_line .dhx_event_resize{padding-bottom:1px;width:10px;display:none}.dhx_cal_event_line.dhx_cal_event_drag .dhx_event_resize,.dhx_cal_event_line.dhx_cal_event_selected .dhx_event_resize,.dhx_cal_event_line:hover .dhx_event_resize{display:block}.dhtmlXTooltip.tooltip{border-left:1px dotted #e0e0e0;border-top:1px dotted #e0e0e0;font-family:Roboto,Arial;font-size:12px;color:rgba(0,0,0,.75);z-index:10}.dhtmlXTooltip.tooltip b{font-weight:500}.dhtmlXTooltip.tooltip[role=tooltip]{font-size:14px;box-shadow:0 10px 20px 0 rgba(0,0,0,.2),0 1px 6px 0 rgba(0,0,0,.2);border-style:solid;border-color:transparent}.dhx_cal_header .dhx_cal_next_button,.dhx_cal_header .dhx_cal_prev_button{width:20px;height:20px;border:none;top:0!important;right:7px!important}.dhx_cal_header .dhx_cal_next_button:hover,.dhx_cal_header .dhx_cal_prev_button:hover{background-image:url(imgs_dhx_material/arrow_left_hov.svg);background-color:rgba(0,0,0,.1);border-radius:50%}.dhx_cal_header .dhx_cal_next_button:hover{background-image:url(imgs_dhx_material/arrow_right_hov.svg)}.dhtmlx_popup_title{border-top-left-radius:0;border-top-right-radius:0;border-width:0;background:0 0;color:rgba(0,0,0,.75);font-weight:500;font-size:16px;text-transform:uppercase;text-shadow:none;line-height:42px}.dhtmlx_modal_box .dhtmlx_popup_controls{text-align:left}.dhtmlx_modal_box .dhtmlx_popup_controls .dhtmlx_popup_button.dhtmlx_cancel_button,.dhtmlx_modal_box .dhtmlx_popup_controls .dhtmlx_popup_button.dhtmlx_ok_button{float:right;text-align:center;text-transform:uppercase}.dhtmlx_popup_controls::after{content:"";display:table;clear:both}.dhtmlx_popup_button.dhtmlx_cancel_button{margin-right:10px}.dhtmlx_popup_button.dhtmlx_ok_button:active div{color:#fff}.dhtmlx_message_area .dhtmlx-error{box-shadow:0 10px 20px 0 rgba(0,0,0,.2),0 1px 6px 0 rgba(0,0,0,.2)}.dhtmlx_message_area .dhtmlx-error,.dhtmlx_message_area .dhtmlx-error div{background:#ff584c;border:1px solid transparent;border-radius:0}.dhx_minical_icon{left:291px!important;top:10px!important}.dhx_year_month{height:30px}.dhx_cal_navline div.dhx_minical_icon{left:210px;top:16px;width:40px!important;height:40px!important;background-position:center center}.dhx_cal_navline div.dhx_minical_icon:hover{background-color:rgba(0,0,0,.1);border-radius:50%;transition:all 50ms ease}.dhx_cal_container.dhx_mini_calendar{box-sizing:border-box;border:none;box-shadow:0 2px 10px 0 #aaa;border-radius:0;font-family:Roboto,Arial;padding:5px}.dhx_mini_calendar .dhx_year_month{border:1px solid #e0e0e0;color:rgba(0,0,0,.75);line-height:20px;font-size:14px;font-weight:500}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{border:0}.dhx_mini_calendar .dhx_year_week{border-bottom:1px solid #e0e0e0;padding-top:1px}.dhx_mini_calendar .dhx_scale_bar{font-family:Roboto,Arial;font-size:12px;font-weight:500;border-width:0}.dhx_mini_calendar .dhx_year_body{padding-top:1px}.dhx_mini_calendar .dhx_month_body,.dhx_mini_calendar .dhx_month_head,.dhx_mini_calendar .dhx_scale_bar,.dhx_mini_calendar .dhx_year_body,.dhx_mini_calendar .dhx_year_month{border-color:transparent}.dhx_mini_calendar .dhx_month_head{font-size:12px;font-weight:500;color:rgba(0,0,0,.54);margin:2px 2px;border-radius:50%;padding:5px 0 0 1px;text-align:center;box-sizing:border-box;height:30px;width:30px}.dhx_after>.dhx_month_head{color:rgba(0,0,0,.38)}.dhx_minical_popup{height:auto}.dhx_minical_popup .dhx_cal_container.dhx_mini_calendar .dhx_cal_next_button{width:25px;height:25px;right:10px!important;top:5px!important}.dhx_minical_popup .dhx_cal_container.dhx_mini_calendar .dhx_cal_next_button:hover{background-color:rgba(0,0,0,.1);border-radius:50%}.dhx_cal_container.dhx_mini_calendar .dhx_cal_prev_button{width:25px;height:25px;left:10px!important;top:5px!important}.dhx_cal_container.dhx_mini_calendar .dhx_cal_prev_button:hover{background-color:rgba(0,0,0,.1);border-radius:50%}.dhx_mini_calendar div.dhx_month_head.dhx_calendar_click{background-color:#e5e5e5;color:rgba(0,0,0,.75)}.dhx_mini_calendar div.dhx_month_head.dhx_year_event{background-color:rgba(2,136,209,.2);color:#0288d1}.dhx_mini_calendar div.dhx_month_head.dhx_year_event.dhx_calendar_click{background-color:#e5e5e5;color:#0288d1}.dhtmlx_modal_box.dhtmlx-alert .dhtmlx_edit_series_button{float:right;text-align:center;text-transform:uppercase;padding:0 16px;border:1px solid #0288d1;background-color:#0288d1}.dhtmlx_modal_box.dhtmlx-alert .dhtmlx_edit_series_button div{border:1px solid #0288d1;background-color:#0288d1;color:#fff}.dhtmlx_modal_box.dhtmlx-alert .dhtmlx_edit_series_button:hover{border-color:#015785;background-color:#015785;transition:all .1s ease-in-out}.dhtmlx_modal_box.dhtmlx-alert .dhtmlx_edit_series_button:hover div{background-color:#015785;border-color:#015785;transition:all .1s ease-in-out}.dhtmlx_modal_box.dhtmlx-alert .dhtmlx_edit_occurrence_button{width:auto;float:right;text-align:center;text-transform:uppercase;padding:0 16px;border:1px solid #fff;background-color:#fff}.dhtmlx_modal_box.dhtmlx-alert .dhtmlx_edit_occurrence_button div{border:1px solid #fff;background-color:#fff;color:#0288d1}.dhtmlx_modal_box.dhtmlx-alert .dhtmlx_edit_occurrence_button:hover{background-color:#d9edf8;transition:all .1s ease-in-out;border:1px solid #d9edf8}.dhtmlx_modal_box.dhtmlx-alert .dhtmlx_edit_occurrence_button:hover div{background-color:#d9edf8;transition:all .1s ease-in-out;border:1px solid #d9edf8}.dhx_cal_quick_info{box-shadow:0 3px 5px 0 rgba(0,0,0,.1)}.dhx_cal_qi_title{background-color:#0288d1}.dhx_cal_qi_tdate{margin-top:4px}.dhx_qi_big_icon .dhx_menu_icon{display:none}.dhx_qi_big_icon{border:1px solid transparent;font-weight:500}.dhx_qi_big_icon:hover{border:1px solid rgba(255,88,76,.01);background-color:#d9edf8;transition:all .1s ease-in-out}.dhx_qi_big_icon.icon_delete:hover{border:1px solid rgba(255,88,76,.01);background-color:rgba(255,88,76,.3)}.dhx_qi_big_icon.icon_delete{color:#ff584c}.dhx_cal_qi_controls div{float:unset}.dhx_quick_info_rtl .dhx_cal_qi_controls div{float:left}.dhx_cal_qi_controls div.dhx_qi_big_icon{display:inline-block}.dhx_cal_qi_controls{text-align:right;direction:rtl}.dhx_qi_right .dhx_cal_qi_controls{padding-right:10px}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon.dhx_qi_left .dhx_cal_qi_content,.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon.dhx_qi_left .dhx_cal_qi_title{padding-left:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon.dhx_qi_left .dhx_cal_qi_controls{padding-right:0;text-align:right}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon.dhx_qi_left .dhx_cal_qi_controls .dhx_qi_big_icon{float:unset}.dhx_cal_qi_controls div.dhx_qi_big_icon{text-transform:uppercase;border-right-color:transparent;border-bottom-color:transparent}.dhx_cal_qi_controls div.dhx_qi_big_icon div{float:unset}.dhx_cal_light{width:458px;height:auto!important;padding:0 0 20px 0}.dhx_cal_light_rec.dhx_cal_light_wide{width:458px}.dhx_cal_light .combo>div,.dhx_cal_light input,.dhx_cal_light select,.dhx_cal_light textarea{border-radius:2px}.dhx_cal_light input{border:1px solid #a9a9a9;padding:2px 5px 2px 2px}.dhx_cal_light .dhx_section_timeline{padding:4px 0 2px 19px}.dhx_cal_light .dhx_section_timeline select{width:100%;margin:0}.dhx_cal_title{border-radius:2px 2px 0 0;margin:0 0 20px 0}.dhx_cal_ltext textarea{font-size:14px}.dhx_cal_header .dhx_scale_bar{border-left-color:transparent}.dhx_cal_container_rtl .dhx_cal_header .dhx_scale_bar{border-right-color:transparent}.dhx_timeline_scale_header{border-right-color:transparent}.dhx_cal_container_rtl .dhx_timeline_scale_header{border-left-color:transparent}.dhx_timeline_scale_header.dhx_timeline_second_scale{border-right-color:#e0e0e0}.dhx_cal_container_rtl .dhx_timeline_scale_header.dhx_timeline_second_scale{border-left-color:#e0e0e0}textarea.dhx_cal_editor{box-sizing:border-box;color:rgba(0,0,0,.54);font-weight:500;resize:none}.dhx_cal_light.dhx_cal_light_wide .dhx_cal_larea,.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{height:auto!important;width:100%!important}.dhx_section_time select:nth-child(1){margin:0 0 16px 4px}.dhx_cal_light_readonly .dhx_section_time{color:#2e2e2e}.dhx_section_time select.dhx_lightbox_time_select{width:102px;box-sizing:border-box;padding:0 0 0 34px!important;background:url(imgs_dhx_material/time.svg) no-repeat 8px 5px,url(imgs_dhx_material/menu-down.svg) no-repeat 100% 3px}.dhx_section_time.dhx_lightbox_minical select.dhx_lightbox_time_select{background:url(imgs_dhx_material/menu-down.svg) no-repeat 100% 3px;padding:0 0 0 5px!important;width:62px}.dhx_section_time.dhx_lightbox_minical span{display:none}.dhx_section_time select.dhx_lightbox_day_select{min-width:46px!important;background:url(imgs_dhx_material/menu-down.svg) no-repeat 100% 3px;box-sizing:border-box}.dhx_cal_light_rtl .dhx_section_time select.dhx_lightbox_day_select,.dhx_cal_light_rtl .dhx_section_time select.dhx_lightbox_month_select,.dhx_cal_light_rtl .dhx_section_time select.dhx_lightbox_year_select{background-position-x:left}.dhx_cal_light_rtl .dhx_section_time select.dhx_lightbox_time_select{background:url(imgs_dhx_material/time.svg) no-repeat 75px 5px,url(imgs_dhx_material/menu-down.svg) no-repeat left!important}.dhx_section_time select.dhx_lightbox_month_select{width:98px!important;background:url(imgs_dhx_material/menu-down.svg) no-repeat 100% 3px}.dhx_section_time select.dhx_lightbox_year_select{min-width:58px!important;max-width:58px!important;padding-left:3px!important;background:url(imgs_dhx_material/menu-down.svg) no-repeat 100% 3px}.dhx_section_time select:nth-child(6){margin:0 0 16px 4px}.dhx_cal_light_rtl .dhx_section_time select:nth-child(1),.dhx_cal_light_rtl .dhx_section_time select:nth-child(6){margin:0 4px 16px 0}.dhx_section_time select:last-child{margin:0 0 16px 6px}.dhx_cal_light_rtl .dhx_section_time select:last-child{margin:0 6px 16px 0}.dhx_section_time{color:#fff}.dhx_section_time select{float:left;height:32px;box-sizing:border-box;margin:0 0 16px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;padding:0 0 0 4px!important}.dhx_cal_light_rtl .dhx_section_time select{float:right;margin:0 6px 16px 0;padding:0 4px 0 0!important}.dhx_cal_light_rtl select.dhx_lightbox_time_select{padding:0 34px 0 0!important}.dhx_time{color:#fff}.dhx_in_move{background-color:#0288d1;color:#fff}.dhx_cal_light select{box-sizing:border-box;height:32px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(imgs_dhx_material/menu-down.svg) no-repeat 100% 3px;border:1px solid rgba(0,0,0,.08)}.dhx_cal_light.dhx_cal_light_rtl select{background:url(imgs_dhx_material/menu-down.svg) no-repeat left}.dhx_multi_select_control{padding-top:3px;padding-left:15px;line-height:32px}.dhx_cal_light_rtl .dhx_multi_select_control{padding:3px 15px 0 0;float:right}.dhx_multi_select_control label{margin-right:12px}.dhx_cal_light_rtl .dhx_multi_select_control label{margin:0 0 0 12px;float:right}.dhx_multi_select_control.dhx_multi_select_control_vertical{padding-top:6px;line-height:25px}.dhx_cal_light .combo{min-height:32px!important}.dhx_cal_light_wide .combo>div{top:-3px}.dhx_cal_light_wide .combo>div,.dhx_cal_light_wide .dhx_combo_box{width:319px!important;margin:0;height:32px!important;position:relative;left:19px;font-size:14px;font-family:Roboto,Arial;border:1px solid rgba(0,0,0,.08)!important}.dhx_cal_light div.dhxcombo_dhx_terrace div.dhxcombo_select_button div.dhxcombo_select_img{background-position:center 10px!important}.dhxcombolist_dhx_terrace{width:319px!important}.dhx_cal_light .dhxcombo_dhx_terrace input.dhxcombo_input{width:321px!important;box-sizing:border-box;outline:hidden!important;border:none!important;height:32px!important;padding-left:8px}.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text{padding-left:8px!important}.dhx_cal_light_wide .dhx_wrap_section{padding-right:15px}.dhx_cal_light_rtl .dhx_wrap_section{padding:0 0 0 15px}.dhx_cal_light .dhx_wrap_section .dhx_cal_lsection{min-height:25px!important;line-height:18px;padding-top:10px}.dhx_cal_lsection .dhx_fullday{vertical-align:middle}.dhx_cal_lsection .dhx_fullday input[type=checkbox]{margin:0 3px 0 0;vertical-align:middle}.dhx_cal_light .dhx_wrap_section .dhx_section_time{height:100%!important;line-height:32px}.dhx_cal_light .dhx_wrap_section .dhx_section_time:after{content:" ";clear:both;display:table}.dhx_cal_light_rtl .dhx_wrap_section .dhx_section_time{line-height:0}.dhx_cal_light_rtl .dhx_section_time{white-space:normal}.dhx_cancel_btn_set:hover{background-color:#d9edf8;transition:all .1s ease-in-out;border:1px solid #d9edf8}.dhx_delete_btn_set{float:left}.dhx_delete_btn_set:hover{border:1px solid rgba(255,88,76,.01);background-color:rgba(255,88,76,.3)}.dhx_cal_light_rtl .dhx_delete_btn_set{float:right}.dhx_custom_btn_info_set:hover{background-color:#d9edf8;transition:all .1s ease-in-out;border:1px solid #d9edf8}.dhx_cal_ltext{min-height:32px!important;font-size:14px;margin:0 0 0 15px;line-height:32px;font-family:Roboto,Arial}.dhx_cal_ltext input[type=text]{height:26px;margin:0 0 0 4px;font-size:14px;font-family:Roboto,Arial;color:rgba(0,0,0,.8);border-color:rgba(0,0,0,.08)}.dhx_cal_light_wide .dhx_cal_ltext{margin:0 0 0 117px}.dhx_cal_light_rtl .dhx_cal_ltext{margin:0 117px 0 0}.dhx_multi_select_custom{min-height:52px!important;padding:5px 0 0 15px}.dhx_multi_select_custom label{font-size:14px;font-family:Roboto,Arial;width:35%!important;display:inline-block;margin:0 0 5px 0}.dhx_form_repeat{margin:30px 0 0 117px;padding-left:0}.dhx_form_repeat form{font-size:14px;font-family:Roboto,Arial;color:rgba(0,0,0,.8);padding:0 0 0 5px}.dhx_form_repeat form select{box-sizing:border-box;height:32px;font-size:12px;font-family:Roboto,Arial;color:rgba(0,0,0,.8);border-color:rgba(0,0,0,.08)}.dhx_form_repeat form label{font-size:14px;font-family:Roboto,Arial;display:inline-block;margin:0 0 5px 0}.dhx_form_repeat form label input[type=checkbox]{margin:0 5px 0 0}.dhx_cal_light_rtl .dhx_form_repeat{margin:30px 117px 0 0;padding-left:unset;padding-right:0}.dhx_cal_light_rtl .dhx_form_repeat form{padding:0 5px 0 0}.dhx_cal_light_rtl .dhx_form_repeat form label input[type=checkbox]{margin:0 0 0 5px}.dhx_section_time input.dhx_readonly{height:26px;float:left;border-color:#e0e0e0;width:77px;margin:0 4px 16px 4px;text-align:center;color:rgba(0,0,0,.8);font-size:14px}.dhx_section_time input.dhx_readonly:nth-last-child(2){margin-left:12px}.dhx_lightbox_minical.dhx_section_time select{margin:0 0 16px 3px}.dhtmlx_cancel_button:hover{background-color:#d9edf8;transition:all .1s ease-in-out}.dhtmlx_cancel_button:hover div{background-color:#d9edf8;border-color:#d9edf8;transition:all .1s ease-in-out}.dhtmlx_popup_button.dhtmlx_ok_button:hover{border-color:#f10;transition:all .1s ease-in-out}.dhtmlx_popup_button.dhtmlx_ok_button:hover div{background-color:#f10;border-color:#f10;transition:all .1s ease-in-out}.dhx_left_btn_set.dhx_btn_set~.dhx_left_btn_set.dhx_btn_set{margin:0 0 0 16px}.dhx_left_btn_set.dhx_btn_set{margin:0 0 0 20px}.dhx_right_btn_set.dhx_btn_set~.dhx_right_btn_set.dhx_btn_set{margin:0 15px 0 0}.dhx_right_btn_set.dhx_btn_set{margin:0 15px 0 0}.dhx_save_btn_set:hover{border-color:#0299eb;transition:all .1s ease-in-out}.dhx_save_btn_set:hover div{background-color:#0299eb;border-color:#0299eb;transition:all .1s ease-in-out}.dhx_cal_ltext.dhx_cal_radio{padding:4px 0 0 0;overflow:auto}.dhx_section_time.dhx_section_time_calendar select{width:64px}.dhx_repeat_left{width:325px!important;height:50px!important;border-bottom:1px solid #cecece}.dhx_repeat_left br{display:none}.dhx_repeat_left label{width:24%!important}.dhx_repeat_center{width:325px!important;height:105px!important;padding:10px 0 0 0!important;border-bottom:1px solid #cecece}.dhx_repeat_center #dhx_repeat_week table.dhx_repeat_days{width:100%!important;border-collapse:collapse}.dhx_repeat_center #dhx_repeat_week table.dhx_repeat_days td{width:24%!important}.dhx_repeat_center #dhx_repeat_week table.dhx_repeat_days td:nth-child(3){width:28%!important}.dhx_repeat_center #dhx_repeat_week table.dhx_repeat_days td label{box-sizing:border-box;height:20px!important;line-height:20px;font-size:12px;width:100%!important}.dhx_repeat_center #dhx_repeat_week table.dhx_repeat_days td label input{position:relative;top:2px}.dhx_repeat_center .dhx_repeat_month_label{width:65px!important}.dhx_repeat_center .dhx_repeat_year_label{width:60px!important}.dhx_repeat_left{padding-left:0}.dhx_repeat_right{float:left;width:325px!important;padding:10px 0 0 0!important}.dhx_repeat_right label:nth-child(3){width:49px!important}.dhx_repeat_right input.dhx_repeat_date{margin-left:10px;box-sizing:border-box;height:32px;font-size:14px;font-family:Roboto,Arial;border-color:rgba(0,0,0,.08)!important}.dhx_cal_light_rtl .dhx_repeat_right input.dhx_repeat_date{margin-left:0;margin-right:10px}.dhx_cal_light_wide .dhx_repeat_right{margin-right:15px!important}.dhx_cal_light_rtl .dhx_repeat_right{margin-right:0!important}.dhx_cal_light_rtl .dhx_repeat_divider,.dhx_repeat_divider{display:none}input.dhx_repeat_text{height:32px!important;width:28px!important;margin:0 6px 5px 4px!important;line-height:30px!important;padding:0!important;text-align:center!important;font-size:12px!important;font-family:Roboto,Arial!important;box-sizing:border-box!important;border-color:rgba(0,0,0,.08)!important}.dhx_cal_light_rtl input.dhx_repeat_text{margin:0 4px 5px 6px!important}.dhx_repeat_center .dhx_repeat_month select{margin:0 6px 0 0;box-sizing:border-box;height:32px!important}.dhx_wrap_section .dhx_cal_wide_checkbox{line-height:32px}.dhx_wrap_section .dhx_cal_wide_checkbox input[type=checkbox]{margin-top:8px;margin-left:19px;vertical-align:middle}.dhx_cal_light_rtl .dhx_wrap_section .dhx_cal_wide_checkbox input[type=checkbox]{margin:8px 19px 0 0}.dhx_cal_light .dhx_cal_radio input[type=radio]{position:relative;top:-1px}.dhx_cal_lsection div.dhx_custom_button{padding:0;color:#0288d1;font-family:Roboto,Arial;font-size:14px;background-color:rgba(255,255,255,0);margin:0 20px 0 0;width:auto;height:32px;font-weight:500;text-align:center;border-radius:2px}.dhx_cal_lsection div.dhx_custom_button:hover{background-color:#d9edf8}.dhx_cal_lsection div.dhx_custom_button .dhx_custom_button_recurring{display:none}.dhx_cal_lsection div.dhx_custom_button div{float:none;height:32px;line-height:32px;text-transform:uppercase;padding:0 16px 0 16px;border-radius:2px}@media only screen and (max-width:1023px){.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_wrap_section .dhx_cal_wide_checkbox input[type=checkbox]{margin:.781vw 1.855vw 0 0}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_cal_lsection{min-height:2.441vw!important;line-height:1.758vw;padding-top:.977vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_section_time{line-height:3.125vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_wrap_section .dhx_cal_wide_checkbox input[type=checkbox]{margin-top:.781vw;margin-left:1.855vw;vertical-align:middle}.dhx_cal_light.dhx_cal_light_responsive .dhx_section_time select.dhx_lightbox_time_select,.dhx_cal_light.dhx_cal_light_responsive select{background-position-y:.977vw!important;background-size:3.906vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_section_time select.dhx_lightbox_time_select{padding-left:3.32vw!important;background:url(imgs_dhx_material/time.svg) no-repeat .781vw .488vw,url(imgs_dhx_material/menu-down.svg) no-repeat 100% .293vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_template{padding-top:.977vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_radio{min-height:5.859vw!important}.dhx_cal_light.dhx_cal_light_responsive select{height:3.125vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_cal_lsection div.dhx_custom_button{height:3.125vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_custom_button .dhx_custom_button_recurring+div{height:100%;line-height:5vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_multi_select_control{padding-top:.293vw;padding-left:1.465vw;line-height:3.125vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_multi_select_control.dhx_multi_select_control_vertical{padding-top:.586vw;line-height:2.441vw}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_left{height:14.766vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_left label{width:23%!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_center .dhx_repeat_month_label{width:auto!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_center label{margin-right:.488vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_center .dhx_repeat_year_label{width:13.672vw!important}.dhx_cal_light.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_right label:nth-child(3){width:13.672vw!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_section_time select.dhx_lightbox_time_select{background:url(imgs_dhx_material/time.svg) no-repeat 135px 25px,url(imgs_dhx_material/menu-down.svg) no-repeat left!important;background-position-y:.977vw!important;background-size:3.906vw!important}.dhx_cal_light_rtl.dhx_cal_light_responsive .dhx_form_repeat .dhx_repeat_center label{margin-left:.488vw!important;margin-right:0!important}}.dhx_year_box .dhx_year_month{color:#0288d1;font-family:Roboto,Arial;font-size:14px;font-weight:500;line-height:20px;text-align:center}.dhx_scheduler_year .dhx_cal_data{padding:25px 0;box-sizing:border-box;text-align:center}.dhx_scheduler_year .dhx_cal_data::before{position:absolute;top:-3px;left:0;width:100%;height:3px;content:" ";box-shadow:0 3px 5px 0 rgba(0,0,0,.1)}.dhx_year_box{box-sizing:border-box;text-align:center;margin:15px 35px 18px;margin-top:15px!important}.dhx_year_box .dhx_year_week{text-align:left}.dhx_year_box .dhx_year_week>div{position:static;display:inline-block}@media (max-width:1790px){.dhx_year_box{margin:15px 20px}}@media (max-width:1350px){.dhx_year_box{margin:15px 10px}}.dhx_year_box{position:static!important;display:inline-block;width:224px!important;height:auto!important;overflow:hidden}.dhx_year_box .dhx_year_month{border:none;padding:0}.dhx_year_box .dhx_year_grid .dhx_year_week{margin:0 0 7px 0}.dhx_year_box .dhx_year_grid .dhx_year_week .dhx_scale_bar{width:32px!important;font-size:12px;box-sizing:border-box;text-align:center;border-color:transparent}.dhx_year_box .dhx_year_grid .dhx_year_week .dhx_scale_bar:nth-child(1){left:0}.dhx_year_box .dhx_year_grid .dhx_year_week .dhx_scale_bar:nth-child(2){left:32px!important}.dhx_year_box .dhx_year_grid .dhx_year_week .dhx_scale_bar:nth-child(3){left:64px!important}.dhx_year_box .dhx_year_grid .dhx_year_week .dhx_scale_bar:nth-child(4){left:96px!important}.dhx_year_box .dhx_year_grid .dhx_year_week .dhx_scale_bar:nth-child(5){left:128px!important}.dhx_year_box .dhx_year_grid .dhx_year_week .dhx_scale_bar:nth-child(6){left:160px!important}.dhx_year_box .dhx_year_grid .dhx_year_week .dhx_scale_bar:nth-child(7){left:192px!important}.dhx_year_box .dhx_year_grid .dhx_year_body{border:none}.dhx_year_box .dhx_year_grid .dhx_year_body table{padding:0;margin:0;box-sizing:border-box}.dhx_year_box .dhx_year_grid .dhx_year_body table tbody{padding:0;margin:0;box-sizing:border-box}.dhx_year_box .dhx_year_grid .dhx_year_body table tbody .dhx_before,.dhx_year_box .dhx_year_grid .dhx_year_body table tbody td{width:32px;height:32px;text-align:center;box-sizing:border-box;padding:2px}.dhx_year_box .dhx_year_grid .dhx_year_body table tbody .dhx_before .dhx_month_head,.dhx_year_box .dhx_year_grid .dhx_year_body table tbody td .dhx_month_head{border:none;width:28px;height:28px;text-align:center;border-radius:50%;padding:0;font-size:14px;line-height:28px}.dhx_year_box .dhx_year_grid .dhx_year_body table tbody .dhx_before .dhx_month_head.dhx_year_event,.dhx_year_box .dhx_year_grid .dhx_year_body table tbody td .dhx_month_head.dhx_year_event{background-color:#0288d1;color:#fff;font-weight:500;cursor:pointer}.dhx_year_box .dhx_year_grid .dhx_year_body table tbody .dhx_before .dhx_month_body,.dhx_year_box .dhx_year_grid .dhx_year_body table tbody td .dhx_month_body{display:none}div.dhx_year_tooltip{border:none;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.3);background:#fff;font-family:Roboto,Arial;font-size:14px;overflow:hidden;color:rgba(0,0,0,.8)}div.dhx_year_tooltip .dhx_tooltip_line{min-height:20px;height:auto;line-height:20px;margin:14px 12px 14px 0;overflow:visible;position:relative;box-sizing:border-box;padding:0 0 0 48px}div.dhx_year_tooltip .dhx_tooltip_line .dhx_event_icon.icon_details{background:url(imgs_dhx_material/agenda-calendar.svg) no-repeat center center;width:40px;height:40px;position:absolute;top:-10px;left:4px;padding:0}div.dhx_year_tooltip .dhx_tooltip_line .dhx_event_icon.icon_details:hover{background-color:rgba(0,0,0,.1);border-radius:50%}div.dhx_year_tooltip .dhx_tooltip_line .dhx_event_icon.icon_details{float:left}div.dhx_year_tooltip .dhx_tooltip_line .dhx_tooltip_date{float:right}div.dhx_tooltip_rtl .dhx_tooltip_line{margin:14px 0 14px 12px;padding:0 48px 0 0}div.dhx_tooltip_rtl .dhx_tooltip_line .dhx_tooltip_date{float:left}div.dhx_tooltip_rtl .dhx_tooltip_line .dhx_event_icon.icon_details{left:0;right:4px}.dhx_cal_header div.dhx_agenda_line div,.dhx_cal_header div.dhx_agenda_line span,.dhx_cal_header div.dhx_grid_line div,.dhx_cal_header div.dhx_map_line div.headline_date,.dhx_cal_header div.dhx_map_line div.headline_description{border-color:transparent}.dhx_cal_container_rtl .dhx_cal_header div.dhx_grid_line div{border-right-color:transparent}.dhx_scheduler_agenda .dhx_cal_data{border-top:1px solid #fff;background:#fff}.dhx_map_area{background-image:none}.dhx_agenda_area div[role=row],.dhx_grid_area div[role=row],.dhx_map_area div[role=row]{box-sizing:border-box;height:36px;border-bottom:1px solid transparent}.dhx_agenda_area .dhx_event_icon.icon_details,.dhx_map_area .dhx_event_icon.icon_details{border:none}.dhx_agenda_area .dhx_v_border,.dhx_grid_v_border,.dhx_map_area .dhx_v_border{border-right:1px solid #e0e0e0}.dhx_cal_container_rtl .dhx_grid_v_border,.dhx_cal_container_rtl .dhx_map_area .dhx_v_border{border-left:1px solid #e0e0e0;border-right:unset}.dhx_agenda_area div[role=row]:nth-child(even),.dhx_grid_area tr.dhx_grid_event:nth-child(even),.dhx_map_area div[role=row]:nth-child(even){background-color:#ededed}.dhx_agenda_area div[role=row]:nth-child(odd),.dhx_grid_area tr.dhx_grid_event:nth-child(odd),.dhx_map_area div[role=row]:nth-child(odd){background-color:#fff}.dhx_agenda_line div.dhx_agenda_event_time,.dhx_grid_area tr.dhx_grid_event,.dhx_map_line div.dhx_map_event_time{line-height:36px;height:36px;color:rgba(0,0,0,.75)}.dhx_cal_container_rtl .dhx_map_line div.dhx_map_event_time{float:right;direction:ltr}.dhx_cal_container_rtl .dhx_agenda_event_time{direction:ltr}.dhx_agenda_area .dhx_agenda_line .dhx_event_icon,.dhx_map_area .dhx_map_line .dhx_event_icon{background:url(imgs_dhx_material/agenda-calendar.svg) no-repeat center center;height:33px;width:33px;margin:2px 0 0 3px;background-size:20px 20px;border-radius:50%}.dhx_cal_container_rtl .dhx_map_area .dhx_map_line .dhx_event_icon{margin:2px 3px 0 0;float:right}.dhx_agenda_area .dhx_agenda_line .dhx_event_icon:hover,.dhx_map_area .dhx_map_line .dhx_event_icon:hover{background-color:rgba(0,0,0,.1)}.dhx_map_area .dhx_map_line .line_description{box-sizing:border-box;line-height:36px;height:100%;color:rgba(0,0,0,.75)}.dhx_agenda_area .dhx_agenda_line span{display:inline-block;line-height:36px;height:100%;color:rgba(0,0,0,.75)}.dhx_cal_container_rtl .dhx_agenda_line span{padding:0}.dhx_scheduler_week_agenda .dhx_wa_column{font-family:Roboto,Arial;font-size:14px;color:rgba(0,0,0,.75)}.dhx_scheduler_week_agenda .dhx_wa_scale_bar{font-family:inherit;font-size:14px;font-weight:500;color:inherit;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background-color:#ededed;padding-left:7px}.dhx_cal_container_rtl.dhx_scheduler_week_agenda .dhx_wa_scale_bar{padding-right:7px}.dhx_scheduler_week_agenda .dhx_wa_ev_body{border-bottom:1px solid #e0e0e0;padding:5px 0 5px 7px}.dhx_cal_container_rtl.dhx_scheduler_week_agenda .dhx_wa_ev_body{padding:5px 7px 5px 0}.dhx_wa_column.dhx_wa_column_last .dhx_wa_day_cont{border-left:1px solid #e0e0e0}.dhx_scheduler_week_agenda .dhx_cal_event_selected{background-color:#0288d1;color:#fff}.dhx_cal_ltitle{text-overflow:ellipsis}.dhx_expand_icon{background-image:url(imgs_dhx_material/collapse_expand_icon.png)}@media only screen and (max-width:550px){.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_title,.dhx_cal_event.dhx_cal_select_menu .dhx_body{padding-left:2px}.dhx_cal_container_rtl .dhx_cal_event .dhx_body,.dhx_cal_container_rtl .dhx_cal_event .dhx_title{padding-right:2px}} diff --git a/src/dhtml/imgs/but_repeat.gif b/src/dhtml/imgs/but_repeat.gif new file mode 100644 index 0000000..dd6595e Binary files /dev/null and b/src/dhtml/imgs/but_repeat.gif differ diff --git a/src/dhtml/imgs/buttons.png b/src/dhtml/imgs/buttons.png new file mode 100644 index 0000000..5036c9c Binary files /dev/null and b/src/dhtml/imgs/buttons.png differ diff --git a/src/dhtml/imgs/calendar.gif b/src/dhtml/imgs/calendar.gif new file mode 100644 index 0000000..6725708 Binary files /dev/null and b/src/dhtml/imgs/calendar.gif differ diff --git a/src/dhtml/imgs/clock_big.gif b/src/dhtml/imgs/clock_big.gif new file mode 100644 index 0000000..61f7dc2 Binary files /dev/null and b/src/dhtml/imgs/clock_big.gif differ diff --git a/src/dhtml/imgs/clock_small.gif b/src/dhtml/imgs/clock_small.gif new file mode 100644 index 0000000..9120ee7 Binary files /dev/null and b/src/dhtml/imgs/clock_small.gif differ diff --git a/src/dhtml/imgs/collapse_expand_icon.gif b/src/dhtml/imgs/collapse_expand_icon.gif new file mode 100644 index 0000000..64da948 Binary files /dev/null and b/src/dhtml/imgs/collapse_expand_icon.gif differ diff --git a/src/dhtml/imgs/controls.gif b/src/dhtml/imgs/controls.gif new file mode 100644 index 0000000..9732e2d Binary files /dev/null and b/src/dhtml/imgs/controls.gif differ diff --git a/src/dhtml/imgs/databg.png b/src/dhtml/imgs/databg.png new file mode 100644 index 0000000..d085226 Binary files /dev/null and b/src/dhtml/imgs/databg.png differ diff --git a/src/dhtml/imgs/databg_now.png b/src/dhtml/imgs/databg_now.png new file mode 100644 index 0000000..510dfd0 Binary files /dev/null and b/src/dhtml/imgs/databg_now.png differ diff --git a/src/dhtml/imgs/export_ical.png b/src/dhtml/imgs/export_ical.png new file mode 100644 index 0000000..fb915ae Binary files /dev/null and b/src/dhtml/imgs/export_ical.png differ diff --git a/src/dhtml/imgs/export_pdf.png b/src/dhtml/imgs/export_pdf.png new file mode 100644 index 0000000..7b9d81f Binary files /dev/null and b/src/dhtml/imgs/export_pdf.png differ diff --git a/src/dhtml/imgs/icon.png b/src/dhtml/imgs/icon.png new file mode 100644 index 0000000..31d6626 Binary files /dev/null and b/src/dhtml/imgs/icon.png differ diff --git a/src/dhtml/imgs/images.png b/src/dhtml/imgs/images.png new file mode 100644 index 0000000..8faac63 Binary files /dev/null and b/src/dhtml/imgs/images.png differ diff --git a/src/dhtml/imgs/loading.gif b/src/dhtml/imgs/loading.gif new file mode 100644 index 0000000..f5e71df Binary files /dev/null and b/src/dhtml/imgs/loading.gif differ diff --git a/src/dhtml/imgs/resize_dots.png b/src/dhtml/imgs/resize_dots.png new file mode 100644 index 0000000..44045c2 Binary files /dev/null and b/src/dhtml/imgs/resize_dots.png differ diff --git a/src/dhtml/imgs_dhx_material/Shape.svg b/src/dhtml/imgs_dhx_material/Shape.svg new file mode 100644 index 0000000..17c5f30 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/Shape.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/dhtml/imgs_dhx_material/agenda-calendar-hov.svg b/src/dhtml/imgs_dhx_material/agenda-calendar-hov.svg new file mode 100644 index 0000000..b311013 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/agenda-calendar-hov.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/dhtml/imgs_dhx_material/agenda-calendar.svg b/src/dhtml/imgs_dhx_material/agenda-calendar.svg new file mode 100644 index 0000000..b311013 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/agenda-calendar.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/dhtml/imgs_dhx_material/agenda_bg.png b/src/dhtml/imgs_dhx_material/agenda_bg.png new file mode 100644 index 0000000..d085226 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/agenda_bg.png differ diff --git a/src/dhtml/imgs_dhx_material/arrow_left.svg b/src/dhtml/imgs_dhx_material/arrow_left.svg new file mode 100644 index 0000000..9757717 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/arrow_left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/dhtml/imgs_dhx_material/arrow_left_hov.svg b/src/dhtml/imgs_dhx_material/arrow_left_hov.svg new file mode 100644 index 0000000..9757717 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/arrow_left_hov.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/dhtml/imgs_dhx_material/arrow_right.svg b/src/dhtml/imgs_dhx_material/arrow_right.svg new file mode 100644 index 0000000..b906d81 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/arrow_right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/dhtml/imgs_dhx_material/arrow_right_hov.svg b/src/dhtml/imgs_dhx_material/arrow_right_hov.svg new file mode 100644 index 0000000..b906d81 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/arrow_right_hov.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/dhtml/imgs_dhx_material/but_repeat.png b/src/dhtml/imgs_dhx_material/but_repeat.png new file mode 100644 index 0000000..e85b3d9 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/but_repeat.png differ diff --git a/src/dhtml/imgs_dhx_material/calendar.svg b/src/dhtml/imgs_dhx_material/calendar.svg new file mode 100644 index 0000000..b311013 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/calendar.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/dhtml/imgs_dhx_material/clock_big.png b/src/dhtml/imgs_dhx_material/clock_big.png new file mode 100644 index 0000000..412e6af Binary files /dev/null and b/src/dhtml/imgs_dhx_material/clock_big.png differ diff --git a/src/dhtml/imgs_dhx_material/clock_small.png b/src/dhtml/imgs_dhx_material/clock_small.png new file mode 100644 index 0000000..0e63e5f Binary files /dev/null and b/src/dhtml/imgs_dhx_material/clock_small.png differ diff --git a/src/dhtml/imgs_dhx_material/close_icon.png b/src/dhtml/imgs_dhx_material/close_icon.png new file mode 100644 index 0000000..4aa5d66 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/close_icon.png differ diff --git a/src/dhtml/imgs_dhx_material/collapse_expand_icon.png b/src/dhtml/imgs_dhx_material/collapse_expand_icon.png new file mode 100644 index 0000000..3e23f25 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/collapse_expand_icon.png differ diff --git a/src/dhtml/imgs_dhx_material/controls.png b/src/dhtml/imgs_dhx_material/controls.png new file mode 100644 index 0000000..f9a99e2 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/controls.png differ diff --git a/src/dhtml/imgs_dhx_material/databg.png b/src/dhtml/imgs_dhx_material/databg.png new file mode 100644 index 0000000..e77a9b7 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/databg.png differ diff --git a/src/dhtml/imgs_dhx_material/drag-horizontal.svg b/src/dhtml/imgs_dhx_material/drag-horizontal.svg new file mode 100644 index 0000000..3dc5716 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/drag-horizontal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/dhtml/imgs_dhx_material/drag-vertical.svg b/src/dhtml/imgs_dhx_material/drag-vertical.svg new file mode 100644 index 0000000..b836223 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/drag-vertical.svg @@ -0,0 +1,14 @@ + + + + drag-vertical + Created with Sketch. + + + + + + + + + diff --git a/src/dhtml/imgs_dhx_material/export_ical.png b/src/dhtml/imgs_dhx_material/export_ical.png new file mode 100644 index 0000000..ca496f5 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/export_ical.png differ diff --git a/src/dhtml/imgs_dhx_material/export_pdf.png b/src/dhtml/imgs_dhx_material/export_pdf.png new file mode 100644 index 0000000..ebadc7c Binary files /dev/null and b/src/dhtml/imgs_dhx_material/export_pdf.png differ diff --git a/src/dhtml/imgs_dhx_material/icon.png b/src/dhtml/imgs_dhx_material/icon.png new file mode 100644 index 0000000..31d6626 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/icon.png differ diff --git a/src/dhtml/imgs_dhx_material/menu-down.svg b/src/dhtml/imgs_dhx_material/menu-down.svg new file mode 100644 index 0000000..03e2de0 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/menu-down.svg @@ -0,0 +1 @@ + diff --git a/src/dhtml/imgs_dhx_material/resizing.png b/src/dhtml/imgs_dhx_material/resizing.png new file mode 100644 index 0000000..389ca54 Binary files /dev/null and b/src/dhtml/imgs_dhx_material/resizing.png differ diff --git a/src/dhtml/imgs_dhx_material/time.svg b/src/dhtml/imgs_dhx_material/time.svg new file mode 100644 index 0000000..02a5530 --- /dev/null +++ b/src/dhtml/imgs_dhx_material/time.svg @@ -0,0 +1,24 @@ + + + + Time + Created with Sketch. + + + + + + + + + + + + + + + + + + + diff --git a/src/dhtml/imgs_dhx_material/tree_arrow.svg b/src/dhtml/imgs_dhx_material/tree_arrow.svg new file mode 100644 index 0000000..6de40cc --- /dev/null +++ b/src/dhtml/imgs_dhx_material/tree_arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/error.js b/src/error.js new file mode 100644 index 0000000..35e8d64 --- /dev/null +++ b/src/error.js @@ -0,0 +1,24 @@ +import Vue from 'vue' +import store from './store' + +Vue.config.errorHandler = function(err, vm, info) { + Vue.nextTick(() => { + store.commit('ADD_LOGS', { + type: 'error', + message: err.message, + stack: err.stack, + info + }) + if (process.env.NODE_ENV === 'development') { + console.group('>>>>>> 错误信息 >>>>>>') + console.log(info) + console.groupEnd() + console.group('>>>>>> Vue 实例 >>>>>>') + console.log(vm) + console.groupEnd() + console.group('>>>>>> Error >>>>>>') + console.log(err) + console.groupEnd() + } + }) +} diff --git a/src/filters/index.js b/src/filters/index.js new file mode 100644 index 0000000..cc190e2 --- /dev/null +++ b/src/filters/index.js @@ -0,0 +1,157 @@ +import i18n from '@/i18n' + +function pluralize(time, label) { + if (time === 1) { + return time + label + } + return time + label + 's' +} + +/** + * 日期格式化 + */ +export function dateFormat(date) { + let format = 'yyyy-MM-dd hh:mm:ss' + if (date !== 'Invalid Date') { + var o = { + 'M+': date.getMonth() + 1, // month + 'd+': date.getDate(), // day + 'h+': date.getHours(), // hour + 'm+': date.getMinutes(), // minute + 's+': date.getSeconds(), // second + 'q+': Math.floor((date.getMonth() + 3) / 3), // quarter + S: date.getMilliseconds(), // millisecond + } + if (/(y+)/.test(format)) { + format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)) + } + for (var k in o) { + if (new RegExp('(' + k + ')').test(format)) { + format = format.replace( + RegExp.$1, + RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length) + ) + } + } + return format + } + return '' +} + +export function timeAgo(time) { + const between = Date.now() / 1000 - Number(time) + if (between < 3600) { + return pluralize(~~(between / 60), ' minute') + } else if (between < 86400) { + return pluralize(~~(between / 3600), ' hour') + } else { + return pluralize(~~(between / 86400), ' day') + } +} + +export function parseTime(time, cFormat) { + if (arguments.length === 0) { + return null + } + + if ((time + '').length === 10) { + time = +time * 1000 + } + + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + date = new Date(parseInt(time, 10)) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay(), + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + if (key === 'a') + return [ + i18n.t('el.datepicker.weeks.mon'), + i18n.t('el.datepicker.weeks.tue'), + i18n.t('el.datepicker.weeks.wed'), + i18n.t('el.datepicker.weeks.thu'), + i18n.t('el.datepicker.weeks.fri'), + i18n.t('el.datepicker.weeks.sat'), + i18n.t('el.datepicker.weeks.sun'), + ][value - 1] + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} + +export function formatTime(time, option) { + time = +time * 1000 + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return i18n.t('mes.justNow') + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + i18n.t('mes.minutesAgo') + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + i18n.t('mes.hoursAgo') + } else if (diff < 3600 * 24 * 2) { + return i18n.t('mes.oneDayAgo') + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + i18n.t('mes.month') + + d.getDate() + + i18n.t('mes.day') + + d.getHours() + + i18n.t('mes.hour') + + d.getMinutes() + + i18n.t('mes.minute') + ) + } +} + +/* 数字 格式化 */ +export function nFormatter(num, digits) { + const si = [ + { value: 1e18, symbol: 'E' }, + { value: 1e15, symbol: 'P' }, + { value: 1e12, symbol: 'T' }, + { value: 1e9, symbol: 'G' }, + { value: 1e6, symbol: 'M' }, + { value: 1e3, symbol: 'k' }, + ] + for (let i = 0; i < si.length; i++) { + if (num >= si[i].value) { + return (num / si[i].value + 0.1).toFixed(digits).replace(/\.0+$|(\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol + } + } + return num.toString() +} + +export function html2Text(val) { + const div = document.createElement('div') + div.innerHTML = val + return div.textContent || div.innerText +} + +export function toThousandslsFilter(num) { + return (+num || 0).toString().replace(/^-?\d+/g, (m) => m.replace(/(?=(?!\b)(\d{3})+$)/g, ',')) +} diff --git a/src/gantt/backend/data-dynamic.json b/src/gantt/backend/data-dynamic.json new file mode 100644 index 0000000..af5ca22 --- /dev/null +++ b/src/gantt/backend/data-dynamic.json @@ -0,0 +1,246 @@ +{ + "data": [ + { + "id": 1, + "start_date": "2018-04-01 00:00:00", + "duration": 5, + "text": "Project #1", + "progress": 0.8, + "parent": 0, + "open": 0 + }, + { + "id": 2, + "start_date": "2018-04-06 00:00:00", + "duration": 4, + "text": "Task #1", + "progress": 0.5, + "parent": 1, + "open": 0 + }, + { + "id": 5, + "start_date": "2018-04-05 00:00:00", + "duration": 5, + "text": "Task #1.1", + "progress": 0.34, + "parent": 2, + "open": 0 + }, + { + "id": 6, + "start_date": "2018-04-11 00:00:00", + "duration": 4, + "text": "Task #1.2", + "progress": 0.491477, + "parent": 2, + "open": 0 + }, + { + "id": 3, + "start_date": "2018-04-03 00:00:00", + "duration": 6, + "text": "Task #2", + "progress": 0.7, + "parent": 1, + "open": 0 + }, + { + "id": 7, + "start_date": "2018-04-07 00:00:00", + "duration": 5, + "text": "Task #2.1", + "progress": 0.2, + "parent": 3, + "open": 0 + }, + { + "id": 8, + "start_date": "2018-04-06 00:00:00", + "duration": 4, + "text": "Task #2.2", + "progress": 0.9, + "parent": 3, + "open": 0 + }, + { + "id": 4, + "start_date": "2018-04-07 00:00:00", + "duration": 2, + "text": "Task #3", + "progress": 0, + "parent": 1, + "open": 0 + }, + { + "id": 9, + "start_date": "2018-04-06 00:00:00", + "duration": 5, + "text": "Task #3.1", + "progress": 1, + "parent": 4, + "open": 0 + }, + { + "id": 10, + "start_date": "2018-04-06 00:00:00", + "duration": 3, + "text": "Task #3.2", + "progress": 0, + "parent": 4, + "open": 0 + }, + { + "id": 11, + "start_date": "2018-04-06 00:00:00", + "duration": 4, + "text": "Task #3.3", + "progress": 0.33, + "parent": 4, + "open": 0 + }, + { + "id": 12, + "start_date": "2018-04-02 00:00:00", + "duration": 8, + "text": "Project #2", + "progress": 0, + "parent": 0, + "open": 0 + }, + { + "id": 13, + "start_date": "2018-04-02 00:00:00", + "duration": 10, + "text": "Task #1", + "progress": 0.2, + "parent": 12, + "open": 0 + }, + { + "id": 14, + "start_date": "2018-04-04 00:00:00", + "duration": 4, + "text": "Task #2", + "progress": 0.9, + "parent": 12, + "open": 0 + }, + { + "id": 18, + "start_date": "2018-04-05 00:00:00", + "duration": 5, + "text": "Task #2.1", + "progress": 0.3, + "parent": 14, + "open": 0 + }, + { + "id": 19, + "start_date": "2018-04-05 00:00:00", + "duration": 6, + "text": "Task #2.2", + "progress": 0.453052, + "parent": 14, + "open": 0 + }, + { + "id": 20, + "start_date": "2018-04-05 00:00:00", + "duration": 4, + "text": "Task #2.3", + "progress": 0.512605, + "parent": 14, + "open": 0 + }, + { + "id": 21, + "start_date": "2018-04-05 00:00:00", + "duration": 6, + "text": "Task #2.4", + "progress": 0.7, + "parent": 14, + "open": 0 + }, + { + "id": 15, + "start_date": "2018-04-05 00:00:00", + "duration": 3, + "text": "Task #3", + "progress": 0.6, + "parent": 12, + "open": 0 + }, + { + "id": 16, + "start_date": "2018-04-01 00:00:00", + "duration": 3, + "text": "Task #4", + "progress": 0.214286, + "parent": 12, + "open": 0 + }, + { + "id": 22, + "start_date": "2018-04-05 00:00:00", + "duration": 7, + "text": "Task #4.1", + "progress": 1, + "parent": 16, + "open": 0 + }, + { + "id": 23, + "start_date": "2018-04-05 00:00:00", + "duration": 5, + "text": "Task #4.2", + "progress": 1, + "parent": 16, + "open": 0 + }, + { + "id": 24, + "start_date": "2018-04-05 00:00:00", + "duration": 5, + "text": "Task #4.3", + "progress": 0, + "parent": 16, + "open": 0 + }, + { + "id": 17, + "start_date": "2018-04-06 00:00:00", + "duration": 6, + "text": "Task #5", + "progress": 0.5, + "parent": 12, + "open": 0 + } + ], + "links": [ + { + "id": 1, + "source": 1, + "target": 2, + "type": "0" + }, + { + "id": 2, + "source": 1, + "target": 3, + "type": "0" + }, + { + "id": 3, + "source": 1, + "target": 4, + "type": "0" + }, + { + "id": 4, + "source": 2, + "target": 6, + "type": "0" + } + ] +} \ No newline at end of file diff --git a/src/gantt/backend/data.json b/src/gantt/backend/data.json new file mode 100644 index 0000000..5e83aa8 --- /dev/null +++ b/src/gantt/backend/data.json @@ -0,0 +1,230 @@ +{ + "data": [ + { + "id": 1, + "text": "Project #1", + "start_date": "2018-04-01 00:00", + "duration": 11, + "progress": 0.6, + "open": true, + "users": [ + "John", + "Mike", + "Anna" + ], + "priority": "2", + "end_date": "2018-04-12 00:00", + "parent": 0, + "usage": [ + { + "id": "1", + "value": "222" + } + ] + }, + { + "id": 2, + "text": "Task #1", + "start_date": "2018-04-03 00:00", + "duration": 5, + "parent": "1", + "progress": 1, + "open": true, + "users": [ + "John", + "Mike" + ], + "priority": "1", + "end_date": "2018-04-08 00:00" + }, + { + "id": 3, + "text": "Task #2", + "start_date": "2018-04-02 00:00", + "duration": 7, + "parent": "1", + "progress": 0.5, + "open": true, + "users": [ + "Anna" + ], + "priority": "1", + "end_date": "2018-04-09 00:00" + }, + { + "id": 7, + "text": "Task #2.1", + "start_date": "2018-04-03 00:00", + "duration": 2, + "parent": "3", + "progress": 1, + "open": true, + "users": [ + "Mike", + "Anna" + ], + "priority": "2", + "end_date": "2018-04-05 00:00", + "usage": [ + { + "id": "3", + "value": "1" + } + ] + }, + { + "id": 8, + "text": "Task #2.2", + "start_date": "2018-04-06 00:00", + "duration": 3, + "parent": "3", + "progress": 0.8, + "open": true, + "users": [ + "Anna" + ], + "priority": "3", + "end_date": "2018-04-09 00:00" + }, + { + "id": 9, + "text": "Task #2.3", + "start_date": "2018-04-10 00:00", + "duration": 4, + "parent": "3", + "progress": 0.2, + "open": true, + "users": [ + "Mike", + "Anna" + ], + "priority": "1", + "end_date": "2018-04-14 00:00", + "usage": [ + { + "id": "2", + "value": "50" + }, + { + "id": "1", + "value": "2" + } + ] + }, + { + "id": 10, + "text": "Task #2.4", + "start_date": "2018-04-10 00:00", + "duration": 4, + "parent": "3", + "progress": 0, + "open": true, + "users": [ + "John", + "Mike" + ], + "priority": "1", + "end_date": "2018-04-14 00:00" + }, + { + "id": 4, + "text": "Task #3", + "start_date": "2018-04-02 00:00", + "duration": 6, + "parent": "1", + "progress": 0.8, + "open": true, + "users": [ + "Mike", + "Anna" + ], + "priority": "2", + "end_date": "2018-04-08 00:00" + }, + { + "id": 5, + "text": "Task #4", + "start_date": "2018-04-02 00:00", + "duration": 5, + "parent": "1", + "progress": 0.2, + "open": true, + "users": [ + "John" + ], + "priority": "3", + "end_date": "2018-04-07 00:00" + }, + { + "id": 11, + "text": "Task #4.1", + "start_date": "2018-04-03 00:00", + "duration": 4, + "parent": "5", + "progress": 0.5, + "open": true, + "users": [ + "John", + "Anna" + ], + "priority": "3", + "end_date": "2018-04-07 00:00" + }, + { + "id": 12, + "text": "Task #4.2", + "start_date": "2018-04-03 00:00", + "duration": 4, + "parent": "5", + "progress": 0.1, + "open": true, + "users": [ + "John" + ], + "priority": "3", + "end_date": "2018-04-07 00:00" + }, + { + "id": 13, + "text": "Task #4.3", + "start_date": "2018-04-03 00:00", + "duration": 5, + "parent": "5", + "progress": 0, + "open": true, + "users": [ + "Anna" + ], + "priority": "3", + "end_date": "2018-04-08 00:00" + }, + { + "id": 6, + "text": "Task #5", + "start_date": "2018-04-02 00:00", + "duration": 7, + "parent": "1", + "progress": 0, + "open": true, + "users": [ + "John" + ], + "priority": "2", + "end_date": "2018-04-09 00:00" + } + ], + "links": [ + { + "id": "10", + "source": "11", + "target": "12", + "type": "1" + }, + { + "id": "11", + "source": "11", + "target": "13", + "type": "1" + } + ] +} \ No newline at end of file diff --git a/src/gantt/backend/index.js b/src/gantt/backend/index.js new file mode 100644 index 0000000..cb40f77 --- /dev/null +++ b/src/gantt/backend/index.js @@ -0,0 +1,6 @@ +const backend = require("./server"); + +const host = process.env.HOST || "127.0.0.1"; +const port = process.env.PORT || "9200"; + +backend(host, port); \ No newline at end of file diff --git a/src/gantt/backend/package.json b/src/gantt/backend/package.json new file mode 100644 index 0000000..adba4ad --- /dev/null +++ b/src/gantt/backend/package.json @@ -0,0 +1,16 @@ +{ + "name": "dhtmlx-gantt-samples", + "version": "1.0.0", + "description": "Simple backend and REST api for dhtmlx gantt samples", + "main": "./index.js", + "scripts": { + "start": "node ./index.js" + }, + "author": "DHTMLX", + "license": "DHTMLX Evaluation License", + "dependencies": { + "body-parser": "^1.18.3", + "express": "^4.16.4", + "striptags": "^3.1.1" + } +} diff --git a/src/gantt/backend/router.js b/src/gantt/backend/router.js new file mode 100644 index 0000000..5a3f064 --- /dev/null +++ b/src/gantt/backend/router.js @@ -0,0 +1,92 @@ +const actions = { + inserted: "inserted", + updated: "updated", + deleted: "deleted", + error: "error" +}; + +class Router { + constructor(root, storage) { + this.root = root; + this.storage = storage; + } + + _tryProcess(code, req, res) { + try { + code.call(this, req, res); + } catch (e) { + res.send({action: actions.error, message: e.message}); + } + } + + getData(req, res) { + res.send(this.storage.all()); + } + + insertTask(req, res) { + this._tryProcess(function (req, res) { + var insertedTask = this.storage.insert("data", req.body); + res.send({action: actions.inserted, tid: insertedTask.id}); + }, req, res); + + } + + updateTask(req, res) { + this._tryProcess(function (req, res) { + var sid = req.params.id; + + this.storage.update(sid, "data", req.body); + res.send({action: actions.updated}); + }, req, res) + } + + deleteTask(req, res) { + this._tryProcess(function (req, res) { + var sid = req.params.id; + this.storage.delete(sid, "data"); + res.send({action: actions.deleted}); + }, req, res); + } + + insertLink(req, res) { + this._tryProcess(function (req, res) { + var insertedLink = this.storage.insert("links", req.body); + res.send({action: actions.inserted, tid: insertedLink.id}); + }, req, res); + } + + updateLink(req, res) { + this._tryProcess(function (req, res) { + var sid = req.params.id; + this.storage.update(sid, "links", req.body); + res.send({action: actions.updated}); + }, req, res); + + } + + deleteLink(req, res) { + this._tryProcess(function (req, res) { + var sid = req.params.id; + this.storage.delete(sid, "links"); + res.send({action: actions.deleted}); + }, req, res); + + } + + connect(app) { + this._connect(app, ""); + this._connect(app, "/gantt/backend"); + this._connect(app, "/backend"); + } + + _connect(app, prefix){ + app.get(`${prefix}${this.root}`, this.getData.bind(this)); + app.post(`${prefix}${this.root}/task`, this.insertTask.bind(this)); + app.put(`${prefix}${this.root}/task/:id`, this.updateTask.bind(this)); + app.delete(`${prefix}${this.root}/task/:id`, this.deleteTask.bind(this)); + app.post(`${prefix}${this.root}/link`, this.insertLink.bind(this)); + app.put(`${prefix}${this.root}/link/:id`, this.updateLink.bind(this)); + app.delete(`${prefix}${this.root}/link/:id`, this.deleteLink.bind(this)); + } +} +module.exports = Router; diff --git a/src/gantt/backend/router_dynamic_loading.js b/src/gantt/backend/router_dynamic_loading.js new file mode 100644 index 0000000..952a029 --- /dev/null +++ b/src/gantt/backend/router_dynamic_loading.js @@ -0,0 +1,12 @@ +var Router = require("./router"); + +class RouterDynamicLoading extends Router { + getData(req, res) { + this._tryProcess(function (req, res) { + var parentId = req.query.parent_id || 0; + res.send(this.storage.children(parentId)); + }, req, res); + } +} + +module.exports = RouterDynamicLoading; \ No newline at end of file diff --git a/src/gantt/backend/server.js b/src/gantt/backend/server.js new file mode 100644 index 0000000..d91a1ab --- /dev/null +++ b/src/gantt/backend/server.js @@ -0,0 +1,40 @@ +var express = require("express"); +var bodyParser = require("body-parser"); +var path = require("path"); +var Storage = require("./storage"); +var StorageTree = require("./storage_tree"); +var Router = require("./router"); +var RouterDynamicLoading = require("./router_dynamic_loading"); + +module.exports = function (host = "127.0.0.1", port = "9200") { + + var app = express(); + + var storage = new Storage(require("./data.json")); + var dynamicStorage = new StorageTree(require("./data-dynamic.json")); + var router = new Router("/data", storage); + var dynLoading = new RouterDynamicLoading("/data-dynamic", dynamicStorage); + + app.use(bodyParser.json()); // for parsing application/json + app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded + app.use(function (req, res, next) { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); + res.header("Access-Control-Allow-Methods", "*"); + next(); + }); + + router.connect(app); + dynLoading.connect(app); + + app.use("/codebase", express.static(path.join(__dirname, "..", "codebase"))); + app.use("/samples", express.static(path.join(__dirname, "..", "samples"))); + app.use(/^\/$/, function (req, res) {//default url + res.redirect("/samples"); + }); + + var server = app.listen(port, host, function () { + console.log("Server is running on port " + port + "..."); + }); + +}; \ No newline at end of file diff --git a/src/gantt/backend/storage.js b/src/gantt/backend/storage.js new file mode 100644 index 0000000..f4a65ec --- /dev/null +++ b/src/gantt/backend/storage.js @@ -0,0 +1,55 @@ +const striptags = require("striptags"); + +class Storage { + constructor(data) { + this._data = data; + } + all() { + return this._data; + } + get(id, table) { + return this._data[table].find(function(entry) { + return id === entry.id; + }); + } + delete(id, table) { + this._data[table] = this._data[table].filter(function(entry) { + return id !== entry.id; + }); + } + update(id, table, newData) { + return this._data[table].find(function(entry, index, arr) { + if (id == entry.id) { + arr[index] = _addId(id, sanitizeObject(newData)); + return true; + } + }); + } + insert(table, data) { + data.id = uid(); + this._data[table].push(sanitizeObject(data)); + return data; + } +} + +var seed = Date.now(); +function uid(){ + return seed++; +} + +function sanitizeObject(data){ + for(var i in data){ + if(typeof data[i] === "string"){ + data[i] = striptags(data[i]); + }else if(typeof data[i] === "object"){ + sanitizeObject(data[i]); + } + } + return data; +} + +function _addId(id, data) { + return Object.assign(data, {id: id}); +} + +module.exports = Storage; \ No newline at end of file diff --git a/src/gantt/backend/storage_tree.js b/src/gantt/backend/storage_tree.js new file mode 100644 index 0000000..e3ebe8c --- /dev/null +++ b/src/gantt/backend/storage_tree.js @@ -0,0 +1,29 @@ +var Storage = require("./storage"); +class StorageTree extends Storage{ + children(parentId = 0) { + var all = this._data.data; + + var loaded = this._data.data.filter(function(entry) { + return parentId == entry.parent; + }); + + var search = {}; + loaded.forEach(function(value){ + search[value.id] = value; + }); + + all.forEach(function(task){ + if(search[task.parent]) { + search[task.parent]["$has_child"] = true; + } + }); + + var links = this._data.links.filter(function(entry) { + return (search[entry.source] || search[entry.target]); + }); + + return {data: loaded, links: links}; + } +} + +module.exports = StorageTree; \ No newline at end of file diff --git a/src/gantt/codebase/dhtmlxgantt.css b/src/gantt/codebase/dhtmlxgantt.css new file mode 100644 index 0000000..289fae4 --- /dev/null +++ b/src/gantt/codebase/dhtmlxgantt.css @@ -0,0 +1 @@ +.gridHoverStyle,.gridSelection,.timelineSelection{background-color:#fff3a1}.gantt_grid_scale .gantt_grid_head_cell{color:#a6a6a6;border-top:none!important;border-right:none!important}.gantt_grid_data .gantt_cell{border-right:none;color:#454545}.gantt_task_link .gantt_link_arrow_right{border-width:6px;margin-top:-3px}.gantt_task_link .gantt_link_arrow_left{border-width:6px;margin-left:-6px;margin-top:-3px}.gantt_task_link .gantt_link_arrow_down,.gantt_task_link .gantt_link_arrow_up{border-width:6px}.gantt_task_line .gantt_task_progress_drag{bottom:-4px;height:10px;margin-left:-8px;width:16px}.chartHeaderBg{background-color:#fff}.gantt_task .gantt_task_scale .gantt_scale_cell{color:#a6a6a6;border-right:1px solid #ebebeb}.gantt_row.gantt_project,.gantt_row.odd.gantt_project{background-color:#edffef}.gantt_task_row.gantt_project,.gantt_task_row.odd.gantt_project{background-color:#f5fff6}.gantt_task_line.gantt_project{background-color:#65c16f;border:1px solid #3c9445}.gantt_task_line.gantt_project .gantt_task_progress{background-color:#46ad51}.buttonBg{background:#fff}.gantt_cal_light .gantt_btn_set{margin:5px 10px}.gantt_btn_set.gantt_cancel_btn_set{background:#fff;color:#454545;border:1px solid #cecece}.gantt_btn_set.gantt_save_btn_set{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff}.gantt_btn_set.gantt_delete_btn_set{text-shadow:0 -1px 0 #6f6f6f;background:#ec8e00;text-shadow:0 -1px 0 #a60;color:#fff}.gantt_cal_light_wide{padding-left:0!important;padding-right:0!important}.gantt_cal_light_wide .gantt_cal_larea{border-left:none!important;border-right:none!important}.gantt_popup_button.gantt_ok_button{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff;font-weight:700;border-width:0}.gantt_popup_button.gantt_cancel_button{font-weight:700;color:#454544}.gantt_popup_title{background-color:#fff}.gantt_popup_shadow{box-shadow:3px 3px 3px rgba(0,0,0,.07)}.gantt_qi_big_icon.icon_edit{color:#454545;background:#fff}.gantt_qi_big_icon.icon_delete{text-shadow:0 -1px 0 #a60;background:#ec8e00;color:#fff;border-width:0}.gantt_tooltip{box-shadow:3px 3px 3px rgba(0,0,0,.07);border-left:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);font-size:8pt;color:#454545}.gantt_container,.gantt_tooltip{background-color:#fff;font-family:Arial}.gantt_container{font-size:13px;border:1px solid #cecece;position:relative;white-space:nowrap;overflow-x:hidden;overflow-y:hidden}.gantt_task_scroll{overflow-x:scroll}.gantt_grid,.gantt_task{position:relative;overflow-x:hidden;overflow-y:hidden;display:inline-block;vertical-align:top}.gantt_grid_scale,.gantt_task_scale{color:#6b6b6b;font-size:12px;border-bottom:1px solid #cecece;box-sizing:border-box}.gantt_grid_scale,.gantt_task_scale,.gantt_task_vscroll{background-color:#fff}.gantt_scale_line{box-sizing:border-box;-moz-box-sizing:border-box;border-top:1px solid #cecece}.gantt_scale_line:first-child{border-top:none}.gantt_grid_head_cell{display:inline-block;vertical-align:top;border-right:1px solid #cecece;text-align:center;position:relative;cursor:default;height:100%;box-sizing:border-box;-moz-box-sizing:border-box;line-height:33px;-moz-user-select:-moz-none;-webkit-user-select:none;user-select:none;overflow:hidden}.gantt_scale_line{clear:both}.gantt_grid_data{width:100%;overflow:hidden;position:relative}.gantt_row{position:relative;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_add,.gantt_grid_head_add{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQ3MjMyMENDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ3MjMyMERDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NDcyMzIwQUM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NDcyMzIwQkM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PshZT8UAAABbSURBVHjaYrTdeZmBEsCER+4wEP+H4sPkGGCDg020ARR7gb4GIAcYDKMDdPnDyAbYkGG5DVW9cIQMvUdBBAuUY4vDz8iAcZinA2zgCHqAYQMseAywJcYFAAEGAM+UFGuohFczAAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;cursor:pointer;position:relative;-moz-opacity:.3;opacity:.3}.gantt_grid_head_cell.gantt_grid_head_add{-moz-opacity:.6;opacity:.6;top:0}.gantt_grid_head_cell.gantt_grid_head_add:hover{-moz-opacity:1;opacity:1}.gantt_grid_data .gantt_row.odd:hover,.gantt_grid_data .gantt_row:hover{background-color:#fff3a1}.gantt_grid_data .gantt_row.odd:hover .gantt_add,.gantt_grid_data .gantt_row:hover .gantt_add{-moz-opacity:1;opacity:1}.gantt_row,.gantt_task_row{border-bottom:1px solid #ebebeb;background-color:#fff}.gantt_row.odd,.gantt_task_row.odd{background-color:#fff}.gantt_cell,.gantt_grid_head_cell,.gantt_row,.gantt_scale_cell,.gantt_task_cell,.gantt_task_row{box-sizing:border-box;-moz-box-sizing:border-box}.gantt_grid_head_cell,.gantt_scale_cell{line-height:inherit}.gantt_grid_scale .gantt_grid_column_resize_wrap{cursor:col-resize;position:absolute;width:13px;margin-left:-7px}.gantt_grid_column_resize_wrap .gantt_grid_column_resize{background-color:#cecece;height:100%;width:1px;margin:0 auto}.gantt_drag_marker.gantt_grid_resize_area{background-color:hsla(0,0%,91%,.5);border-left:1px solid #cecece;border-right:1px solid #cecece;height:100%;width:100%;box-sizing:border-box}.gantt_row{display:flex}.gantt_row>div{flex-shrink:0;flex-grow:0}.gantt_cell{vertical-align:top;border-right:1px solid #ebebeb;padding-left:6px;padding-right:6px;height:100%;overflow:hidden;white-space:nowrap;font-size:13px}.gantt_cell_tree{display:flex;flex-wrap:nowrap}.gantt_grid_data .gantt_last_cell,.gantt_grid_scale .gantt_last_cell,.gantt_task .gantt_task_scale .gantt_scale_cell.gantt_last_cell,.gantt_task_bg .gantt_last_cell{border-right-width:0}.gantt_task .gantt_task_scale .gantt_scale_cell.gantt_last_cell{border-right-width:1px}.gantt_task_bg{overflow:hidden}.gantt_scale_cell{display:inline-block;white-space:nowrap;overflow:hidden;border-right:1px solid #cecece;text-align:center;height:100%}.gantt_task_cell{display:inline-block;height:100%;border-right:1px solid #ebebeb}.gantt_layout_cell.gantt_ver_scroll{width:0;background-color:transparent;height:1px;overflow-x:hidden;overflow-y:scroll;position:absolute;right:0;z-index:1}.gantt_ver_scroll>div{width:1px;height:1px}.gantt_hor_scroll{height:0;background-color:transparent;width:100%;clear:both;overflow-x:scroll;overflow-y:hidden}.gantt_layout_cell .gantt_hor_scroll{position:absolute}.gantt_hor_scroll>div{width:5000px;height:1px}.gantt_tree_icon,.gantt_tree_indent{flex-grow:0;flex-shrink:0}.gantt_tree_indent{width:15px;height:100%}.gantt_tree_content,.gantt_tree_icon{vertical-align:top}.gantt_tree_icon{width:28px;height:100%;background-repeat:no-repeat;background-position:50%}.gantt_tree_content{height:100%;white-space:nowrap;min-width:0}.gantt_tree_icon.gantt_open{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAArklEQVQ4T2NkoBJgpJI5DEPAoFOnTv0/c+YMQR+bmJgwmJmZwX2E4bVp06b9j4yMZODg4MBp2I8fPxiWL1/OkJWVNUAGcXJyMnz//h3uQrJdRLFBIAPQAchlJLsIFuCMjIwM////B5sJMoRkg2CuIdtrQcHBDOxsbHBfCQgIMHz48AHO//nrF8O6tWsJR7+7uzsDIxMTznT0/98/hp07d+I3iGopm2DewKFg8OV+AJWkfRMrTobLAAAAAElFTkSuQmCC);width:18px;cursor:pointer}.gantt_tree_icon.gantt_close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAkUlEQVQ4T2NkoBJgpJI5DEPAoFOnTv0/c+YMQR+bmJgwmJmZwX2E4bVp06b9j4yMZODg4MBp2I8fPxiWL1/OkJWVNeIN4uTkxAin79+/M5AcRtgCHGQIyQbhijaiDQoKDmZgZ2PDGf0/f/1iWLd2LeHod3d3Z2BkYsJp0P9//xh27tyJ3yCqpWyCeQOHgsGX+wEZpW4T5LCxKwAAAABJRU5ErkJggg==);width:18px;cursor:pointer}.gantt_tree_icon.gantt_blank{width:18px}.gantt_tree_icon.gantt_folder_open{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAs0lEQVQ4T62T0Q2EIBBEpQlzuaaMsQoqooqLsSljbMLLmMxmUXBR4U+Qt7Mzi2sqLVeJ00SgEMKWAnvvzYLyAyHfT5sU2fXDJSwCAXK8MI0/UTkva7IIFJsg3NSwnKdFoKtAWOQ1CN7CEqeTotE5L7QyJhmBcklZM4ZgTiAr3iOU3kD93ppO5SkMjB1EeXdBWoSkRql3YeIRe+cGvktS056JR9wsmeBUkujCfNXWCPC8GugPqn5ii/hV+FoAAAAASUVORK5CYII=)}.gantt_tree_icon.gantt_folder_closed{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAfElEQVQ4T2NkoBJgpJI5DCgGTZ8+/T82gzMzMwlaCFcAM0RKQgyrI/0Dg/EahmIQyBB0DRvXr4W78tmLV1gtAbmYoEEgnciG4QpTogzCFyEwSyg2CBS2oCAZNQh3cA+hMAJ5AlcKxuVBlOgnNgVjMwyUrQjmamKLGaoZBAAOTFyLnFFW4wAAAABJRU5ErkJggg==)}.gantt_tree_icon.gantt_file{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAeElEQVQ4T2NkoBJgRDZn+vTp/wmZm5mZiaIHph7DICkJMUJmMfgHBmMYhtUgbAo3rl+L4lp0NUQbBPI2umuRDaPIIFAYwAyjv0HoMQALM5JdhG4QLMxGDcKdyIdoGIE89OzFK4KZF5Rl8EY/QROQFGA1iBQD0NUCAJVjcxO0naAQAAAAAElFTkSuQmCC)}.gantt_grid_head_cell .gantt_sort{position:absolute;right:5px;top:8px;width:7px;height:13px;background-repeat:no-repeat;background-position:50%}.gantt_grid_head_cell .gantt_sort.gantt_asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC)}.gantt_grid_head_cell .gantt_sort.gantt_desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC)}.gantt_inserted,.gantt_updated{font-weight:700}.gantt_deleted{text-decoration:line-through}.gantt_invalid{background-color:#ffe0e0}.gantt_error{color:red}.gantt_status{right:1px;padding:5px 10px;background:hsla(0,0%,61%,.1);position:absolute;top:1px;transition:opacity .2s;opacity:0}.gantt_status.gantt_status_visible{opacity:1}#gantt_ajax_dots span{transition:opacity .2s;background-repeat:no-repeat;opacity:0}#gantt_ajax_dots span.gantt_dot_visible{opacity:1}.gantt_column_drag_marker{border:1px solid #cecece;opacity:.8}.gantt_grid_head_cell_dragged{border:1px solid #cecece;opacity:.3}.gantt_grid_target_marker{position:absolute;top:0;width:2px;height:100%;background-color:#ffa011;transform:translateX(-1px)}.gantt_grid_target_marker:after,.gantt_grid_target_marker:before{display:block;content:"";position:absolute;left:-5px;width:0;height:0;border:6px solid transparent}.gantt_grid_target_marker:before{border-top-color:#ffa011}.gantt_grid_target_marker:after{bottom:0;border-bottom-color:#ffa011}.gantt_message_area{position:fixed;right:5px;width:250px;z-index:1000}.gantt-info{min-width:120px;padding:4px 4px 4px 20px;font-family:Arial;z-index:10000;margin:5px;margin-bottom:10px;transition:all .5s ease}.gantt-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.gantt_modal_box{overflow:hidden;display:inline-block;min-width:250px;width:250px;text-align:center;position:fixed;z-index:20000;box-shadow:3px 3px 3px rgba(0,0,0,.07);font-family:Arial;border-radius:6px;border:1px solid #cecece;background:#fff}.gantt_popup_title{border-top-left-radius:6px;border-top-right-radius:6px;border-width:0}.gantt_button,.gantt_popup_button{border:1px solid #cecece;height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:4px;background:#fff}.gantt-info,.gantt_button,.gantt_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.gantt_popup_text{overflow:hidden}.gantt_popup_controls{border-radius:6px;padding:10px}.gantt_popup_button{min-width:100px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.gantt-info img,.gantt_modal_box img{float:left;margin-right:20px}.gantt-alert-error,.gantt-confirm-error{border:1px solid red}.gantt_button input,.gantt_popup_button div{border-radius:4px;font-size:14px;box-sizing:content-box;padding:0;margin:0;vertical-align:top}.gantt_popup_title{border-bottom:1px solid #cecece;height:40px;line-height:40px;font-size:20px}.gantt_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.gantt-error,.gantt-info{font-size:14px;color:#000;box-shadow:3px 3px 3px rgba(0,0,0,.07);padding:0;background-color:#fff;border-radius:3px;border:1px solid #fff}.gantt-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #cecece}.gantt-error{background-color:#d81b1b;border:1px solid #ff3c3c}.gantt-error div{background-color:#d81b1b;border:1px solid #940000;color:#fff}.gantt-warning{background-color:#ff9000;border:1px solid #ffa633}.gantt-warning div{background-color:#ff9000;border:1px solid #b36500;color:#fff}.gantt_data_area div,.gantt_grid div{-ms-touch-action:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.gantt_data_area{position:relative;overflow-x:hidden;overflow-y:hidden;-moz-user-select:-moz-none;-webkit-user-select:none;user-select:none}.gantt_links_area{position:absolute;left:0;top:0}.gantt_side_content,.gantt_task_content,.gantt_task_progress{line-height:inherit;overflow:hidden;height:100%}.gantt_task_content{font-size:12px;color:#fff;width:100%;top:0;cursor:pointer;position:absolute;white-space:nowrap;text-align:center}.gantt_task_progress{text-align:center;z-index:0;background:#299cb4}.gantt_task_progress_wrapper{border-radius:inherit;position:relative;width:100%;height:100%;overflow:hidden}.gantt_task_line{border-radius:2px;position:absolute;box-sizing:border-box;background-color:#3db9d3;border:1px solid #2898b0;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_task_line.gantt_drag_move div{cursor:move}.gantt_touch_move,.gantt_touch_progress .gantt_touch_resize{transform:scale(1.02,1.1);transform-origin:50%}.gantt_touch_progress .gantt_task_progress_drag,.gantt_touch_resize .gantt_task_drag{transform:scaleY(1.3);transform-origin:50%}.gantt_side_content{position:absolute;white-space:nowrap;color:#6e6e6e;top:0;font-size:11px}.gantt_side_content.gantt_left{right:100%;padding-right:20px}.gantt_side_content.gantt_right{left:100%;padding-left:20px}.gantt_side_content.gantt_link_crossing{bottom:8.75px;top:auto}.gantt_link_arrow,.gantt_task_link .gantt_line_wrapper{position:absolute;cursor:pointer}.gantt_line_wrapper div{background-color:#ffa011}.gantt_task_link:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #ffa011}.gantt_task_link div.gantt_link_arrow{background-color:transparent;border-style:solid;width:0;height:0}.gantt_link_control{position:absolute;width:20px;top:0}.gantt_link_control div{display:none;cursor:pointer;box-sizing:border-box;position:relative;top:50%;margin-top:-7.5px;vertical-align:middle;border:1px solid #929292;border-radius:6.5px;height:13px;width:13px;background-color:#f0f0f0}.gantt_link_control.task_right div.gantt_link_point{margin-left:7px}.gantt_link_control div:hover{background-color:#fff}.gantt_link_control.task_left{left:-20px}.gantt_link_control.task_right{right:-20px}.gantt_link_target .gantt_link_control div,.gantt_task_line.gantt_drag_move .gantt_link_control div,.gantt_task_line.gantt_drag_move .gantt_task_drag,.gantt_task_line.gantt_drag_move .gantt_task_progress_drag,.gantt_task_line.gantt_drag_progress .gantt_link_control div,.gantt_task_line.gantt_drag_progress .gantt_task_drag,.gantt_task_line.gantt_drag_progress .gantt_task_progress_drag,.gantt_task_line.gantt_drag_resize .gantt_link_control div,.gantt_task_line.gantt_drag_resize .gantt_task_drag,.gantt_task_line.gantt_drag_resize .gantt_task_progress_drag,.gantt_task_line.gantt_selected .gantt_link_control div,.gantt_task_line.gantt_selected .gantt_task_drag,.gantt_task_line.gantt_selected .gantt_task_progress_drag,.gantt_task_line:hover .gantt_link_control div,.gantt_task_line:hover .gantt_task_drag,.gantt_task_line:hover .gantt_task_progress_drag{display:block}.gantt_link_source,.gantt_link_target{box-shadow:0 0 3px #3db9d3}.gantt_link_target.link_finish_allow,.gantt_link_target.link_start_allow{box-shadow:0 0 3px #ffbf5e}.gantt_link_target.link_finish_deny,.gantt_link_target.link_start_deny{box-shadow:0 0 3px #e87e7b}.link_finish_allow .gantt_link_control.task_end_date div,.link_start_allow .gantt_link_control.task_start_date div{background-color:#ffbf5e;border-color:#ffa011}.link_finish_deny .gantt_link_control.task_end_date div,.link_start_deny .gantt_link_control.task_start_date div{background-color:#e87e7b;border-color:#dd3e3a}.gantt_link_arrow_right{border-width:4px 0 4px 6px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:#ffa011;margin-top:-1px}.gantt_link_arrow_left{border-width:4px 6px 4px 0;margin-top:-1px;border-top-color:transparent!important;border-right-color:#ffa011;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_up{border-width:0 4px 6px;border-color:transparent transparent #ffa011;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:#ffa011;border-left-color:transparent!important}.gantt_link_arrow_down{border-width:4px 6px 0 4px;border-top-color:#ffa011;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_task_drag,.gantt_task_progress_drag{cursor:ew-resize;display:none;position:absolute}.gantt_task_drag.task_right{cursor:e-resize}.gantt_task_drag.task_left{cursor:w-resize}.gantt_task_drag{height:100%;width:8px;z-index:1;top:-1px}.gantt_task_drag.task_left{left:-7px}.gantt_task_drag.task_right{right:-7px}.gantt_task_progress_drag{height:8px;width:8px;bottom:-4px;margin-left:-4px;background-position:bottom;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3Rjk0RUVDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3Rjk0RUZDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjdGOTRFQ0MyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjdGOTRFREMyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PobPBzIAAADkSURBVHjaYpk2bRoDDsAExL1QdjEQ/8OmiAWHZk4gXqymqhQM4ty6fU8OSMUA8XdiDBAB4k0a6iqWRga6EKcwMQXduHlnL5DpB8Rv0J2JDFSA+JiOtgZcMwiA2CAxkBxUDVYDLEAKgIpV9XQ0MZwFEgPJAZnHoWpRDAgC4n2W5saiQKfjClQGkBxQDciL+6B6wAbkA/EqJwdrTkUFOQZCAKQGpBbIXA3SCzJggo+XK7OEuBgDsQCkFqgHrBfsBT5eHgZSAUwP2IBfv36TbABMDygdtK1Zv6UESLORaAbIhG6AAAMAKN8wE24DXWcAAAAASUVORK5CYII=);background-repeat:no-repeat;z-index:1}.gantt_task_progress_drag:hover{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAs0lEQVQoz6WMPW7CQBgFJxZaiZ60qcgdwjVMmzu8gpwhDULabXyBdHAGuzRHivQiQZovigS2+Jtu95t5T03TMITtCtjEc5VSOgx5k5F4CnxJWgKUUl5sv6eUvk/daiCeAe1fDCCpBtq4jQ/YngO9pMWpGH99OOcDtt8ifmWEuO3D/R+wXQOdpGcuIGkGdNFQ2RawlTTlSsLd2RY55+O95JyPFQ/y8MAE+CylfADpxvYHWP8CXj+JR4wdKHYAAAAASUVORK5CYII=)}.gantt_link_tooltip{box-shadow:3px 3px 3px #888;background-color:#fff;border-left:1px dotted #cecece;border-top:1px dotted #cecece;font-family:Tahoma;font-size:8pt;color:#444;padding:6px;line-height:20px}.gantt_link_direction{height:0;border:0 none #ffa011;border-bottom-style:dashed;border-bottom-width:2px;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;z-index:2;margin-left:1px;position:absolute}.gantt_grid_data .gantt_row.gantt_selected,.gantt_grid_data .gantt_row.odd.gantt_selected,.gantt_task_row.gantt_selected{background-color:#fff3a1}.gantt_task_row.gantt_selected .gantt_task_cell{border-right-color:#ffec6e}.gantt_task_line.gantt_selected{box-shadow:0 0 5px #299cb4}.gantt_task_line.gantt_project.gantt_selected{box-shadow:0 0 5px #46ad51}.gantt_task_line.gantt_milestone{visibility:hidden;background-color:#d33daf;border:0 solid #61164f;box-sizing:content-box;-moz-box-sizing:content-box}.gantt_task_line.gantt_milestone div{visibility:visible}.gantt_task_line.gantt_milestone .gantt_task_content{background:inherit;border:inherit;border-width:1px;border-radius:inherit;box-sizing:border-box;-moz-box-sizing:border-box;transform:rotate(45deg)}.gantt_task_line.gantt_task_inline_color{border-color:#999}.gantt_task_line.gantt_task_inline_color .gantt_task_progress{background-color:#363636;opacity:.2}.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected,.gantt_task_line.gantt_task_inline_color.gantt_selected{box-shadow:0 0 5px #999}.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #999}.gantt_critical_task{background-color:#e63030;border-color:#9d3a3a}.gantt_critical_task .gantt_task_progress{background-color:rgba(0,0,0,.4)}.gantt_critical_link .gantt_line_wrapper>div{background-color:#e63030}.gantt_critical_link .gantt_link_arrow{border-color:#e63030}.gantt_btn_set:focus,.gantt_cell:focus,.gantt_grid_head_cell:focus,.gantt_popup_button:focus,.gantt_qi_big_icon:focus,.gantt_row:focus{box-shadow:inset 0 0 1px 1px #4d90fe}.gantt_split_parent,.gantt_split_subproject{opacity:.1;pointer-events:none}.gantt_unselectable,.gantt_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_cal_light{-webkit-tap-highlight-color:transparent;background:#fff;border-radius:6px;font-family:Arial;font-size:13px;border:1px solid #cecece;color:#6b6b6b;font-size:12px;position:absolute;z-index:10001;width:550px;height:250px;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.gantt_cal_light_wide{width:650px}.gantt_cal_light select{font-family:Arial;border:1px solid #cecece;font-size:13px;padding:2px;margin:0}.gantt_cal_ltitle{padding:7px 10px;overflow:hidden;-webkit-border-top-left-radius:6px;-webkit-border-bottom-left-radius:0;-webkit-border-top-right-radius:6px;-webkit-border-bottom-right-radius:0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-top-left-radius:6px;border-bottom-left-radius:0;border-top-right-radius:6px;border-bottom-right-radius:0}.gantt_cal_ltitle,.gantt_cal_ltitle span{white-space:nowrap}.gantt_cal_lsection{color:#727272;font-weight:700;padding:12px 0 5px 10px}.gantt_cal_lsection .gantt_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.gantt_cal_lsection{font-size:13px}.gantt_cal_ltext{padding:2px 10px;overflow:hidden}.gantt_cal_ltext textarea{overflow-y:auto;overflow-x:hidden;font-family:Arial;font-size:13px;box-sizing:border-box;border:1px solid #cecece;height:100%;width:100%;outline:none!important;resize:none}.gantt_section_constraint [data-constraint-time-select]{margin-left:20px}.gantt_time{font-weight:700}.gantt_cal_light .gantt_title{padding-left:10px}.gantt_cal_larea{border:1px solid #cecece;border-left:none;border-right:none;background-color:#fff;overflow:hidden;height:1px}.gantt_btn_set{margin:10px 7px 5px 10px;padding:5px 15px 5px 10px;float:left;border-radius:4px;border:0 solid #cecece;height:32px;font-weight:700;background:#fff;box-sizing:border-box;cursor:pointer}.gantt_hidden{display:none}.gantt_btn_set div{float:left;font-size:13px;height:22px;line-height:22px;background-repeat:no-repeat;vertical-align:middle}.gantt_save_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTk1OUU5RDFDMzA0MTFFMkExMUZBQTdDNDAzOUE5RjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTk1OUU5RDJDMzA0MTFFMkExMUZBQTdDNDAzOUE5RjMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxOTU5RTlDRkMzMDQxMUUyQTExRkFBN0M0MDM5QTlGMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxOTU5RTlEMEMzMDQxMUUyQTExRkFBN0M0MDM5QTlGMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjDroXYAAAEXSURBVHjaYvz//z8DJYCRUgPIAUxAbAnEHiAHMIBcQCwGaRYXF3e6evXqoffv39/dv38/CymaGSUkJBzv3LlzCsj///fv3wdAihkkIQnEvkAshU8zLy+v7a1bt06ANP/79+87kDIAy505cybq06dPr3p7ezuwGQLTfOPGjWP/ESAZLg8kPKBO+g01RBJNszWyZqC6uSgWgIg/f/4shxnS2dnZBjMEqNkSFGBImi8CKTYMA4BYCGjIczRDHC5dunQQSfN7IKWI4UUkjjdMMdCwnw8ePLjwHxV4Yw1gZA5Q47z/2EELzhhCE+ABGvIQWSeQvwcU38QaAML2wHj+C/X3MyAlijeB4ZBoBOIPQGxJKIVSnBsBAgwABddBclWfcZUAAAAASUVORK5CYII=);margin-top:2px;width:21px}.gantt_cancel_btn{margin-top:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDkzMDA3MzlDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDkzMDA3M0FDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowOTMwMDczN0MzMDQxMUUyODZBNUUzMURDODBGQkRENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowOTMwMDczOEMzMDQxMUUyODZBNUUzMURDODBGQkRENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmYuYOUAAAEdSURBVHjaYvz//z8DJYAFXWDlypU8QKoIiD2A2AwqfAqIdwBxX3h4+Bdk9YzILgBqtgdS84FYEYeF94E4EWjIQZgAE5LmQCB1AKoZZKMPEAtAMYh9GSp3AKjWD8UFQAEhIPshEIOc3wHENUBb/qJ57SyQMoJyPwKxElDNO1gYFEE17wMKVmIJlzNQzeegrjaA6qmBecEbSvfh0GwMxGeBhoPoemQ9MAO0kEIbl2YTqPAFKK2IbMB3AjabYIkRZmQD7kNpMyI0G0PpO8gGbIUFJj7NQDk2INWIrIcJKfBAKcwJqvkcDs0TgFgXGo19KCkRmpDWQdWDEk0NUoCBoq0FqhkE/IEWbKJKUmZEz43QzFSKIzN1481M5ACAAAMAlfl/lCwRpagAAAAASUVORK5CYII=);width:20px}.gantt_delete_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=);margin-top:2px;width:20px}.gantt_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=10)}.gantt_custom_button{padding:0 3px;font-family:Arial;font-size:13px;font-weight:400;margin-right:10px;margin-top:-5px;cursor:pointer;float:right;height:21px;width:90px;border:1px solid #cecece;text-align:center;border-radius:4px}.gantt_custom_button div{cursor:pointer;float:none;height:21px;line-height:21px;vertical-align:middle}.gantt_custom_button div:first-child{display:none}.gantt_cal_light_wide{width:580px;padding:2px 4px}.gantt_cal_light_wide .gantt_cal_larea{box-sizing:border-box;border:1px solid #cecece}.gantt_cal_light_wide .gantt_cal_lsection{border:0;float:left;text-align:right;width:80px;height:20px;padding:5px 10px 0 0}.gantt_cal_light_wide .gantt_wrap_section{position:relative;padding:10px 0;overflow:hidden;border-bottom:1px solid #ebebeb}.gantt_cal_light_wide .gantt_section_time{overflow:hidden;padding-top:2px!important;padding-right:0;height:20px!important}.gantt_cal_light_wide .gantt_cal_ltext{padding-right:0}.gantt_cal_light_wide .gantt_cal_larea{padding:0 10px;width:100%}.gantt_cal_light_wide .gantt_section_time{background:transparent}.gantt_cal_light_wide .gantt_cal_checkbox label{padding-left:0}.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday{float:none;margin-right:0;font-weight:700;cursor:pointer}.gantt_cal_light_wide .gantt_custom_button{position:absolute;top:0;right:0;margin-top:2px}.gantt_cal_light_wide .gantt_repeat_right{margin-right:55px}.gantt_cal_light_wide.gantt_cal_light_full{width:738px}.gantt_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.gantt_cal_light input{font-size:13px}.gantt_section_time{background-color:#fff;white-space:nowrap;padding:2px 10px 5px;padding-top:2px!important}.gantt_section_time .gantt_time_selects{float:left;height:25px}.gantt_section_time .gantt_time_selects select{height:23px;padding:2px;border:1px solid #cecece}.gantt_duration{width:100px;height:23px;float:left;white-space:nowrap;margin-left:20px;line-height:23px}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc,.gantt_duration .gantt_duration_value{box-sizing:border-box;text-align:center;vertical-align:top;height:100%;border:1px solid #cecece}.gantt_duration .gantt_duration_value{width:40px;padding:3px 4px;border-left-width:0;border-right-width:0}.gantt_duration .gantt_duration_value.gantt_duration_value_formatted{width:70px}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc{width:20px;padding:1px;padding-bottom:1px;background:#fff}.gantt_duration .gantt_duration_dec{-moz-border-top-left-radius:4px;-moz-border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt_duration .gantt_duration_inc{margin-right:4px;-moz-border-top-right-radius:4px;-moz-border-bottom-right-radius:4px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt_resources{max-height:150px;height:auto;overflow-y:auto}.gantt_resource_row{display:block;padding:10px 0;border-bottom:1px solid #ebebeb;cursor:pointer}.gantt_resource_row input[type=checkbox]:not(:checked),.gantt_resource_row input[type=checkbox]:not(:checked)~div{opacity:.5}.gantt_resource_toggle{vertical-align:middle}.gantt_resources_filter .gantt_resources_filter_input{padding:1px 2px;box-sizing:border-box}.gantt_resources_filter .switch_unsetted{vertical-align:middle}.gantt_resource_cell{display:inline-block}.gantt_resource_cell.gantt_resource_cell_checkbox{width:24px;max-width:24px;min-width:24px;vertical-align:middle}.gantt_resource_cell.gantt_resource_cell_label{width:40%;max-width:40%;vertical-align:middle}.gantt_resource_cell.gantt_resource_cell_value{width:30%;max-width:30%;vertical-align:middle}.gantt_resource_cell.gantt_resource_cell_value input,.gantt_resource_cell.gantt_resource_cell_value select{width:80%;vertical-align:middle;padding:1px 2px;box-sizing:border-box}.gantt_resource_cell.gantt_resource_cell_unit{width:10%;max-width:10%;vertical-align:middle}.gantt_resource_early_value{opacity:.8;font-size:.9em}.gantt_cal_quick_info{border:1px solid #cecece;border-radius:6px;position:absolute;z-index:300;box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.gantt_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon{float:right}.gantt_cal_qi_title{-webkit-border-top-left-radius:6px;-webkit-border-bottom-left-radius:0;-webkit-border-top-right-radius:6px;-webkit-border-bottom-right-radius:0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-top-left-radius:6px;border-bottom-left-radius:0;border-top-right-radius:6px;border-bottom-right-radius:0;padding:5px 0 8px 12px;color:#454545;background-color:#fff;border-bottom:1px solid #cecece}.gantt_cal_qi_tdate{font-size:14px;font-weight:700}.gantt_cal_qi_tcontent{font-size:13px}.gantt_cal_qi_content{padding:16px 8px;font-size:13px;color:#454545;overflow:hidden}.gantt_cal_qi_controls{-webkit-border-top-left-radius:0;-webkit-border-bottom-left-radius:6px;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:6px;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:6px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:6px;border-top-left-radius:0;border-bottom-left-radius:6px;border-top-right-radius:0;border-bottom-right-radius:6px;padding-left:7px}.gantt_cal_qi_controls .gantt_menu_icon{margin-top:6px;background-repeat:no-repeat}.gantt_cal_qi_controls .gantt_menu_icon.icon_edit{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFCjI5ZQj5bAAAAFNJREFUOMvt0zEOACAIA0DkwTymH8bJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+vNGrM/LBtAAAAAElFTkSuQmCC)}.gantt_cal_qi_controls .gantt_menu_icon.icon_delete{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=)}.gantt_qi_big_icon{font-size:13px;border-radius:4px;font-weight:700;background:#fff;margin:5px 9px 8px 0;min-width:60px;line-height:32px;vertical-align:middle;padding:0 10px 0 5px;cursor:pointer;border:1px solid #cecece}.gantt_cal_qi_controls div{float:left;height:32px;text-align:center;line-height:32px}.gantt_tooltip{padding:10px;position:absolute;z-index:50;white-space:nowrap}.gantt_resource_marker{position:absolute;text-align:center;font-size:14px;color:#fff}.gantt_resource_marker_ok{background:rgba(78,208,134,.75)}.gantt_resource_marker_overtime{background:hsla(0,100%,76%,.69)}.gantt_histogram_label{width:100%;height:100%;position:absolute;z-index:1;font-weight:700;font-size:13px}.gantt_histogram_fill{background-color:rgba(41,157,180,.2);width:100%;position:absolute;bottom:0}.gantt_histogram_hor_bar{height:1px;margin-top:-1px}.gantt_histogram_hor_bar,.gantt_histogram_vert_bar{position:absolute;background:#299db4;margin-left:-1px}.gantt_histogram_vert_bar{width:1px}.gantt_histogram_cell{position:absolute;text-align:center;font-size:13px;color:#000}.gantt_marker{height:100%;width:2px;top:0;position:absolute;text-align:center;background-color:rgba(255,0,0,.4);box-sizing:border-box}.gantt_marker .gantt_marker_content{padding:5px;background:inherit;color:#fff;position:absolute;font-size:12px;line-height:12px;opacity:.8}.gantt_marker_area{position:absolute;top:0;left:0}.gantt_grid_editor_placeholder{position:absolute}.gantt_grid_editor_placeholder>div,.gantt_grid_editor_placeholder input,.gantt_grid_editor_placeholder select{width:100%;height:100%;box-sizing:border-box}.gantt_row_placeholder div{opacity:.5}.gantt_row_placeholder .gantt_add,.gantt_row_placeholder .gantt_file{display:none}.gantt_drag_marker.gantt_grid_dnd_marker{background-color:transparent;transition:all .1s ease}.gantt_grid_dnd_marker_line{height:4px;width:100%;background-color:#3498db}.gantt_grid_dnd_marker_line:before{background:#fff;width:12px;height:12px;box-sizing:border-box;border:3px solid #3498db;border-radius:6px;content:"";line-height:1px;display:block;position:absolute;margin-left:-11px;margin-top:-4px;pointer-events:none}.gantt_grid_dnd_marker_folder{height:100%;width:100%;position:absolute;pointer-events:none;box-sizing:border-box;box-shadow:inset 0 0 0 2px #3f98db;background:transparent}.gantt_overlay_area{display:none}.gantt_overlay,.gantt_overlay_area{position:absolute;height:inherit;width:inherit;top:0;left:0}.gantt_click_drag_rect{position:absolute;left:0;top:0;outline:1px solid #3f98db;background-color:rgba(52,152,219,.3)}.gantt_timeline_move_available,.gantt_timeline_move_available *{cursor:move}.gantt_rtl .gantt_grid{text-align:right}.gantt_rtl .gantt_cell,.gantt_rtl .gantt_row{flex-direction:row-reverse}.gantt_layout_content{width:100%;overflow:auto;box-sizing:border-box}.gantt_layout_cell{position:relative;box-sizing:border-box}.gantt_layout_cell>.gantt_layout_header{background:#33aae8;color:#fff;font-size:17px;padding:5px 10px;box-sizing:border-box}.gantt_layout_header.collapsed_x{background:#a9a9a9}.gantt_layout_header.collapsed_x .gantt_header_arrow:before{content:"\21E7"}.gantt_layout_header.collapsed_y{background:#a9a9a9}.gantt_layout_header.collapsed_y .gantt_header_arrow:before{content:"\21E9"}.gantt_layout_header{cursor:pointer}.gantt_layout_header .gantt_header_arrow{float:right;text-align:right}.gantt_layout_header .gantt_header_arrow:before{content:"\21E6"}.gantt_layout_header.vertical .gantt_header_arrow:before{content:"\21E7"}.gantt_layout_outer_scroll_vertical .gantt_layout_content{overflow-y:hidden}.gantt_layout_outer_scroll_horizontal .gantt_layout_content{overflow-x:hidden}.gantt_layout_x>.gantt_layout_cell{display:inline-block;vertical-align:top}.gantt_layout_x{white-space:nowrap}.gantt_resizing{opacity:.7;background:#f2f2f2}.gantt_layout_cell_border_right.gantt_resizer{overflow:visible;border-right:0}.gantt_resizer{cursor:e-resize;position:relative}.gantt_resizer_y{cursor:n-resize}.gantt_resizer_stick{background:#33aae8;z-index:9999;position:absolute;top:0;width:100%}.gantt_resizer_x .gantt_resizer_x{position:absolute;width:20px;height:100%;margin-left:-10px;top:0;left:0;z-index:1}.gantt_resizer_y .gantt_resizer_y{position:absolute;height:20px;width:100%;top:-10px;left:0;z-index:1}.gantt_resizer_error{background:#cd5c5c!important}.gantt_layout_cell_border_left{border-left:1px solid #cecece}.gantt_layout_cell_border_right{border-right:1px solid #cecece}.gantt_layout_cell_border_top{border-top:1px solid #cecece}.gantt_layout_cell_border_bottom{border-bottom:1px solid #cecece}.gantt_layout_cell_border_transparent{border-color:transparent}.gantt_window{position:absolute;top:50%;left:50%;z-index:999999999;background:#fff}.gantt_window_content{position:relative}.gantt_window_content_header{background:#39c;color:#fff;height:33px;padding:10px 10px 0;border-bottom:2px solid #fff;position:relative}.gantt_window_content_header_text{padding-left:10%}.gantt_window_content_header_buttons{position:absolute;top:10px;right:10px}.gantt_window_content_header_buttons:hover{color:#000;cursor:pointer}.gantt_window_content_resizer{position:absolute;width:15px;height:15px;bottom:0;line-height:15px;right:-1px;text-align:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABZJREFUeAFjIAUwUshlpJDLSIhLGAAACQ4AFk79JaMAAAAASUVORK5CYII=);cursor:nw-resize;z-index:999}.gantt_window_content_frame{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.1);z-index:9999}.gantt_window_drag{cursor:pointer!important}.gantt_window_resizing{overflow:visible}.gantt_window_resizing_body{overflow:hidden!important}.gantt_window_modal{background:rgba(0,0,0,.1);z-index:9999;top:0;left:0;width:100%;height:100%;position:fixed}.gantt_cal_light,.gantt_cal_quick_info,.gantt_container,.gantt_message_area,.gantt_modal_box,.gantt_tooltip{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.gantt_noselect{-moz-user-select:-moz-none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.gantt_drag_marker{position:absolute;top:-1000px;left:-1000px;font-family:Arial;font-size:13px;z-index:1;white-space:nowrap}.gantt_drag_marker .gantt_tree_icon.gantt_blank,.gantt_drag_marker .gantt_tree_icon.gantt_close,.gantt_drag_marker .gantt_tree_icon.gantt_open,.gantt_drag_marker .gantt_tree_indent{display:none}.gantt_drag_marker,.gantt_drag_marker .gantt_row.odd{background-color:#fff}.gantt_drag_marker .gantt_row{border-left:1px solid #d2d2d2;border-top:1px solid #d2d2d2}.gantt_drag_marker .gantt_cell{border-color:#d2d2d2}.gantt_row.gantt_over,.gantt_task_row.gantt_over{background-color:#0070fe}.gantt_row.gantt_transparent .gantt_cell{opacity:.7}.gantt_task_row.gantt_transparent{background-color:#f8fdfd}.gantt_popup_button.gantt_delete_button{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff;font-weight:700;border-width:0}.gantt_container_resize_watcher{background:transparent;width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1;pointer-events:none;border:0;box-sizing:border-box;opacity:0} \ No newline at end of file diff --git a/src/gantt/codebase/dhtmlxgantt.d.ts b/src/gantt/codebase/dhtmlxgantt.d.ts new file mode 100644 index 0000000..6b05113 --- /dev/null +++ b/src/gantt/codebase/dhtmlxgantt.d.ts @@ -0,0 +1,2498 @@ +// Type definitions for dhtmlxGantt 7.0.8 +// Project: https://dhtmlx.com/docs/products/dhtmlxGantt + +type GanttCallback = (...args: any[]) => any; + + +export type GanttEventName = "onAfterAutoSchedule"|"onAfterBatchUpdate"|"onAfterBranchLoading"|"onAfterLightbox"|"onAfterLinkAdd"|"onAfterLinkDelete"|"onAfterLinkUpdate"|"onAfterQuickInfo"|"onAfterRedo"|"onAfterSort"|"onAfterTaskAdd"|"onAfterTaskAutoSchedule"|"onAfterTaskDelete"|"onAfterTaskDrag"|"onAfterTaskMove"|"onAfterTaskUpdate"|"onAfterUndo"|"onAjaxError"|"onAutoScheduleCircularLink"|"onBeforeAutoSchedule"|"onBeforeBatchUpdate"|"onBeforeBranchLoading"|"onBeforeCollapse"|"onBeforeDataRender"|"onBeforeExpand"|"onBeforeGanttReady"|"onBeforeGanttRender"|"onBeforeLightbox"|"onBeforeLinkAdd"|"onBeforeLinkDelete"|"onBeforeLinkDisplay"|"onBeforeLinkUpdate"|"onBeforeMultiSelect"|"onBeforeParse"|"onBeforeRedo"|"onBeforeRedoStack"|"onBeforeRowDragEnd"|"onBeforeRowDragMove"|"onBeforeTaskAdd"|"onBeforeTaskAutoSchedule"|"onBeforeTaskChanged"|"onBeforeTaskDelete"|"onBeforeTaskDisplay"|"onBeforeTaskDrag"|"onBeforeTaskMove"|"onBeforeTaskMultiSelect"|"onBeforeTaskSelected"|"onBeforeTaskUpdate"|"onBeforeUndo"|"onBeforeUndoStack"|"onCircularLinkError"|"onClear"|"onCollapse"|"onColumnResize"|"onColumnResizeEnd"|"onColumnResizeStart"|"onContextMenu"|"onDataProcessorReady"|"onDataRender"|"onDestroy"|"onEmptyClick"|"onError"|"onExpand"|"onGanttLayoutReady"|"onGanttReady"|"onGanttRender"|"onGanttScroll"|"onGridHeaderClick"|"onGridResize"|"onGridResizeEnd"|"onGridResizeStart"|"onLightbox"|"onLightboxButton"|"onLightboxCancel"|"onLightboxChange"|"onLightboxDelete"|"onLightboxSave"|"onLinkClick"|"onLinkCreated"|"onLinkDblClick"|"onLinkIdChange"|"onLinkValidation"|"onLoadEnd"|"onLoadStart"|"onMouseMove"|"onMultiSelect"|"onOptionsLoad"|"onParse"|"onQuickInfo"|"onRowDragEnd"|"onRowDragStart"|"onScaleAdjusted"|"onScaleClick"|"onTaskClick"|"onTaskClosed"|"onTaskCreated"|"onTaskDblClick"|"onTaskDrag"|"onTaskIdChange"|"onTaskLoading"|"onTaskMultiSelect"|"onTaskOpened"|"onTaskRowClick"|"onTaskSelected"|"onTaskUnselected"|"onTemplatesReady"; + + +export interface GanttTemplates { + + /** + * specifies the content of start date or end date columns in grid + * @param date the date which needs formatting + * @param task the task object + * @param column the name of the column that called the template + */ + date_grid(date: Date, task: any, column: string): string; + + /** + * specifies the text of tooltips that are displayed when the user creates a new dependency link + * @param from the id of the source task + * @param from_start true, if the link is being dragged from the start of the source task, false - if
    from the end of the task + * @param to the id of the target task( 'null' or 'undefined', if the target task isn't specified yet) + * @param to_start true, if the link is being dragged to the start of the target task, false - if
    to the end of the task + */ + drag_link(from: string|number, from_start: boolean, to: string|number, to_start: boolean): string; + + /** + * specifies the CSS class that will be applied to the pop-up that appears when a user drags a link + * @param from the id of the source task + * @param from_start true, if the link is being dragged from the start of the source task, false - if
    from the end of the task + * @param to the id of the target task( 'null' or 'undefined', if the target task isn't specified yet) + * @param to_start true, if the link is being dragged to the start of the target task, false - if
    to the end of the task + */ + drag_link_class(from: string|number, from_start: boolean, to: string|number, to_start: boolean): string; + + /** + * converts a date object to a date string. Used to send data back to the server + * @param date the date which needs formatting + */ + format_date(date: Date): string; + + /** + * specifies the custom content inserted before the labels of child items in the tree column + * @param task the task object + */ + grid_blank(task: any): string; + + /** + * specifies the format of dates in the "Start time" column + * @param date the date which needs formatting + * @param column the name of the column that called the template + */ + grid_date_format(date: Date, column: string): string; + + /** + * specifies the icon of child items in the tree column + * @param task the task object + */ + grid_file(task: any): string; + + /** + * specifies the icon of parent items in the tree column + * @param task the task object + */ + grid_folder(task: any): string; + + /** + * specifies the CSS class that will be applied to the headers of the table's columns + * @param columnName the column's name (as specified in the "name" property of the column object) + * @param column column object (as specified in the gantt.config.columns config) + */ + grid_header_class(columnName: string, column: any): string; + + /** + * specifies the indent of the child items in a branch (in the tree column) + * @param task the task object + */ + grid_indent(task: any): string; + + /** + * specifies the icon of the open/close sign in the tree column + * @param task the task object + */ + grid_open(task: any): string; + + /** + * specifies the CSS class that will be applied to a grid row + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + grid_row_class(start: Date, end: Date, task: any): string; + + /** + * defines the height of the filled area in the resourceHistogram + * @param start_date start date of the scale cell + * @param end_date end date of the scale cell + * @param resource the resource object + * @param tasks tasks that are assigned to the specified resource and overlap start/end dates of the cell + */ + histogram_cell_allocated(start_date: Date, end_date: Date, resource: any, tasks: any[]): void; + + /** + * specifies the height of the line that defines the available capacity of the resource + * @param start_date start date of the scale cell + * @param end_date end date of the scale cell + * @param resource the resource object + * @param tasks tasks that are assigned to the specified resource and overlap start/end dates of the cell + */ + histogram_cell_capacity(start_date: Date, end_date: Date, resource: any, tasks: any[]): void; + + /** + * defines the CSS class which is applied to a cell of the resource panel + * @param start_date start date of the scale cell + * @param end_date end date of the scale cell + * @param resource the resource object + * @param tasks tasks that are assigned to the specified resource and overlap start/end dates of the cell + */ + histogram_cell_class(start_date: Date, end_date: Date, resource: any, tasks: any[]): void; + + /** + * defines the label inside a cell + * @param start_date start date of the scale cell + * @param end_date end date of the scale cell + * @param resource the resource object + * @param tasks tasks that are assigned to the specified resource and overlap start/end dates of the cell + */ + histogram_cell_label(start_date: Date, end_date: Date, resource: any, tasks: any[]): void; + + /** + * specifies the CSS class that will be applied to a link + * @param link the link object + */ + link_class(link: any): string; + + /** + * specifies the text in the header of the link's "delete" confirm window + * @param link the link object + */ + link_description(link: any): string; + + /** + * converts date string into a Date object + * @param date the string which need to be parsed + */ + parse_date(date: string): Date; + + /** + * specifies the text in the completed part of the task bar + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + progress_text(start: Date, end: Date, task: any): string; + + /** + * specifies the CSS class that will be applied to the pop-up edit form + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + quick_info_class(start: Date, end: Date, task: any): void; + + /** + * specifies the content of the pop-up edit form + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + quick_info_content(start: Date, end: Date, task: any): string; + + /** + * specifies the date of the pop-up edit form + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + quick_info_date(start: Date, end: Date, task: any): string; + + /** + * specifies the title of the pop-up edit form + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + quick_info_title(start: Date, end: Date, task: any): string; + + /** + * defines the CSS class names of cells in the resource timeline cells + * @param start_date start date of the scale cell + * @param end_date end date of the scale cell + * @param resource the resource object + * @param tasks tasks that are assigned to specified resource and overlap start/end dates of the cell + */ + resource_cell_class(start_date: Date, end_date: Date, resource: any, tasks: any[]): string; + + /** + * defines the HTML content of resource timeline cells + * @param start_date start date of the scale cell + * @param end_date end date of the scale cell + * @param resource the resource object + * @param tasks tasks that are assigned to specified resource and overlap start/end dates of the cell + */ + resource_cell_value(start_date: Date, end_date: Date, resource: any, tasks: any[]): string; + + /** + * specifies the CSS class that will be applied to cells of the time scale of the timeline area + * @param date the date of a cell + */ + scale_cell_class(date: Date): string; + + /** + * specifies the CSS class that will be applied to the time scale + * @param scale the scale's configuration object + */ + scale_row_class(scale: any): string; + + /** + * specifies the CSS class that will be applied to task bars + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + task_class(start: Date, end: Date, task: any): string; + + /** + * specifies the date format of the label in the 'Time period' section of the lightbox + * @param date the date which needs formatting + */ + task_date(date: Date): string; + + /** + * specifies the format for the end dates of tasks in the lightbox + * @param date the date which needs formatting + */ + task_end_date(date: Date): string; + + /** + * specifies the CSS class that will be applied to the row of the timeline area + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + task_row_class(start: Date, end: Date, task: any): string; + + /** + * specifies the text in the task bars and the header of the lightbox + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + task_text(start: Date, end: Date, task: any): string; + + /** + * specifies the date period in the header of the lightbox + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + task_time(start: Date, end: Date, task: any): string; + + /** + * specifies the dates of unscheduled tasks + * @param task the task object + */ + task_unscheduled_time(task: any): void; + + /** + * specifies the format of the drop-down time selector in the lightbox + * @param date the date which needs formatting + */ + time_picker(date: Date): string; + + /** + * specifies the CSS class that will be applied to the cells of the timeline area + * @param item the task object assigned to the row + * @param date the date of a cell + */ + timeline_cell_class(item: any, date: Date): string; + + /** + * specifies the format of start and end dates displayed in the tooltip + * @param date the date which needs formatting + */ + tooltip_date_format(date: Date): string; + + /** + * specifies the text of tooltips + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + tooltip_text(start: Date, end: Date, task: any): string; + + /** + * a string from an XML file is converted into a date object in conformity with this template + * @param date the date which needs formatting + */ + xml_date(date: Date): string; + + /** + * a date object is converted into a string in conformity with this template. Used to send data back to the server + * @param date the date which needs formatting + */ + xml_format(date: Date): string; + + /** + * specifies the text assigned to tasks bars on the right side + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + rightside_text(start: Date, end: Date, task: any): string; + + /** + * specifies the text assigned to tasks bars on the left side + * @param start the date when a task is scheduled to begin + * @param end the date when a task is scheduled to be completed + * @param task the task object + */ + leftside_text(start: Date, end: Date, task: any): string; + + /** + * specifies the lightbox's header + * @param start_date the date when a task is scheduled to begin + * @param end_date the date when a task is scheduled to be completed + * @param task the task's object + */ + lightbox_header(start_date: Date, end_date: Date, task: any): string; +} + +export interface GanttConfigOptions { + + /** + * enables auto scheduling + */ + auto_scheduling: boolean; + + /** + * disables usage of time contraints for tasks + */ + auto_scheduling_compatibility: boolean; + + /** + * allows or forbids creating links from parent tasks (projects) to their children + */ + auto_scheduling_descendant_links: boolean; + + /** + * defines whether gantt will do autoscheduling on data loading/parsing + */ + auto_scheduling_initial: boolean; + + /** + * defines whether the whole project will be moved (see the details below) + */ + auto_scheduling_move_projects: boolean; + + /** + * enables the auto scheduling mode, in which tasks will always be rescheduled to the earliest possible date + */ + auto_scheduling_strict: boolean; + + /** + * automatically converts tasks with subtasks to projects and projects without subtasks back to tasks + */ + auto_types: boolean; + + /** + * enables automatic adjusting of the grid's columns to the grid's width + */ + autofit: boolean; + + /** + * enables autoscrolling while dragging a task or link out of the current browser screen + */ + autoscroll: boolean; + + /** + * defines the speed of autoscrolling (in ms) while dragging a task or link out of the current browser screen + */ + autoscroll_speed: number; + + /** + * forces the Gantt chart to automatically change its size to show all tasks without scrolling + */ + autosize: boolean|string; + + /** + * sets the minimum width (in pixels) that the Gantt chart can take in the horizontal 'autosize' mode + */ + autosize_min_width: number; + + /** + * enables dynamic loading in the Gantt chart + */ + branch_loading: boolean; + + /** + * specifies that the task has children that are not yet loaded from the backend + */ + branch_loading_property: string; + + /** + * stores a collection of buttons resided in the left bottom corner of the lightbox + */ + buttons_left: any[]; + + /** + * stores a collection of buttons resided in the right bottom corner of the lightbox + */ + buttons_right: any[]; + + /** + * changes the name of the property that affects binding of a calendar to a task/group of tasks + */ + calendar_property: string; + + /** + * enables cascade deleting of nested tasks and links + */ + cascade_delete: boolean; + + /** + * enables advanced drag-n-drop + */ + click_drag: any; + + /** + * configures the columns of the table + */ + columns: any[]; + + /** + * contains all available constraint types + */ + constraint_types: any; + + /** + * enables adjusting the task's start and end dates to the work time (while dragging) + */ + correct_work_time: boolean; + + /** + * defines internal implementation of the code of date formatting methods + */ + csp: boolean|string; + + /** + * sets the date format that is used to parse data from a data set and to send dates back to the server + */ + date_format: string; + + /** + * sets the format of dates in the "Start time" column of the table + */ + date_grid: string; + + /** + * sets the format of the time scale (X-Axis) + */ + date_scale: string; + + /** + * 'says' to open the lightbox while creating new events by clicking the '+' button + */ + details_on_create: boolean; + + /** + * 'says' to open the lightbox after double clicking on a task + */ + details_on_dblclick: boolean; + + /** + * enables the possibility to drag the lightbox by the header + */ + drag_lightbox: boolean; + + /** + * enables creating dependency links by drag-and-drop + */ + drag_links: boolean; + + /** + * stores the types of available drag-and-drop modes + */ + drag_mode: any; + + /** + * enables the possibility to move tasks by drag-and-drop + */ + drag_move: boolean; + + /** + * enables the possibility to drag several selected tasks at once + */ + drag_multiple: boolean; + + /** + * enables the possibility to change the task progress by dragging the progress knob + */ + drag_progress: boolean; + + /** + * enables drag and drop of items of the project type + */ + drag_project: boolean; + + /** + * enables the possibility to resize tasks by drag-and-drop + */ + drag_resize: boolean; + + /** + * configures the behavior of the drag_timeline extension + */ + drag_timeline: any; + + /** + * sets the number of 'gantt.config.duration_unit' units that will correspond to one unit of the 'duration' data property. + */ + duration_step: number; + + /** + * sets the duration unit + */ + duration_unit: string; + + /** + * enables automatic merging of multiple resource calendars into one + */ + dynamic_resource_calendars: boolean; + + /** + * changes the name of a property that affects the editing ability of tasks/links in the read-only Gantt chart + */ + editable_property: string; + + /** + * an object that contains definitions of inline editors + */ + editor_types: any; + + /** + * sets the end value of the time scale + */ + end_date: Date; + + /** + * 'says' the Gantt chart to automatically extend the time scale in order to fit all displayed tasks + */ + fit_tasks: boolean; + + /** + * adjusts the width of columns inside a scrollable grid + */ + grid_elastic_columns: boolean; + + /** + * makes the grid resizable by dragging the right grid's border + */ + grid_resize: boolean; + + /** + * sets the name of the attribute of the grid resizer's DOM element + */ + grid_resizer_attribute: string; + + /** + * sets the name of the attribute of the column resizer's DOM element. The attribute presents the column's index + */ + grid_resizer_column_attribute: string; + + /** + * sets the width of the grid + */ + grid_width: number; + + /** + * shows the critical path in the chart + */ + highlight_critical_path: boolean; + + /** + * enables/disables horizontal scroll by the Shift|Alt|Meta key + mouse wheel movement + */ + horizontal_scroll_key: string|boolean; + + /** + * defines whether tasks should inherit work calendars from their summary parents + */ + inherit_calendar: boolean; + + /** + * specifies whether sub-scales shall use the scale_cell_class template by default + */ + inherit_scale_class: boolean; + + /** + * sets whether the timeline area will be initially scrolled to display the earliest task + */ + initial_scroll: boolean; + + /** + * keeps the duration of a task unchanged during editing of the start/end of a task + */ + inline_editors_date_processing: string; + + /** + * 'says' to preserve the initial grid's width while resizing columns within + */ + keep_grid_width: boolean; + + /** + * enables keyboard navigation in gantt + */ + keyboard_navigation: boolean; + + /** + * enables keyboard navigation by cells + */ + keyboard_navigation_cells: boolean; + + /** + * sets the name of the attribute of the task layer's DOM element + */ + layer_attribute: string; + + /** + * specifies the layout object + */ + layout: any; + + /** + * specifies the lightbox object + */ + lightbox: any; + + /** + * increases the height of the lightbox + */ + lightbox_additional_height: number; + + /** + * sets the size of the link arrow + */ + link_arrow_size: number; + + /** + * sets the name of the attribute that will specify the id of the link's HTML element + */ + link_attribute: string; + + /** + * sets the width of dependency links in the timeline area + */ + link_line_width: number; + + /** + * sets the width of the area (over the link) sensitive to clicks + */ + link_wrapper_width: number; + + /** + * stores the types of links dependencies + */ + links: any; + + /** + * sets the minimum width for a column in the timeline area + */ + min_column_width: number; + + /** + * sets the minimum duration (in milliseconds) that can be set for a task during resizing. + */ + min_duration: number; + + /** + * sets the minumum width for the grid (in pixels) while being resized + */ + min_grid_column_width: number; + + /** + * enables/disables multi-task selection in the Gantt chart + */ + multiselect: boolean; + + /** + * specifies whether multi-task selection will be available within one or any level + */ + multiselect_one_level: boolean; + + /** + * enables the possibility to expand/collapse split tasks by clicking the +/- button + */ + open_split_tasks: boolean; + + /** + * openes all branches initially + */ + open_tree_initially: boolean; + + /** + * activates the 'branch' mode that allows vertically reordering tasks within the same tree level + */ + order_branch: string|boolean; + + /** + * activates the 'branch' mode that allows reordering tasks within the whole gantt + */ + order_branch_free: boolean; + + /** + * adds an empty row into the end of the list of tasks to simplify tasks editing via keyboard + */ + placeholder_task: boolean; + + /** + * preserves the current position of the vertical and horizontal scrolls while re-drawing the gantt chart + */ + preserve_scroll: boolean; + + /** + * specifies whether the gantt container should block the mousewheel event, or should it be propagated up to the window element + */ + prevent_default_scroll: boolean; + + /** + * specifies the end date of a project + */ + project_end: Date; + + /** + * specifies the start date of a project + */ + project_start: Date; + + /** + * defines whether the task form will appear from the left/right side of the screen or near the selected task + */ + quick_info_detached: boolean; + + /** + * stores a collection of buttons resided in the pop-up task's details form + */ + quickinfo_buttons: any[]; + + /** + * activates the read-only mode for the Gantt chart + */ + readonly: boolean; + + /** + * changes the name of a property that affects the read-only behaviour of tasks/links + */ + readonly_property: string; + + /** + * enables the Redo functionality for the gantt + */ + redo: boolean; + + /** + * enables the possibility to reorder grid columns by drag and drop + */ + reorder_grid_columns: boolean; + + /** + * changes the name of the attribute that Gantt uses to find which resource the task row in the resource grid/timeline is referring to + */ + resource_attribute: string; + + /** + * defines a set of working calendars that can be assigned to a specific resource, e.g. a user + */ + resource_calendars: any; + + /** + * defines the property of a task object that stores a resource id associated with resourceGrid/Timeline/Histogram/Calendar + */ + resource_property: string; + + /** + * tells the resource timeline to render elements and call templates for non-allocated cells + */ + resource_render_empty_cells: boolean; + + /** + * specifies the name of the dataStore connected to the resourceGrid/resourceTimeline/resourceHistogram views + */ + resource_store: string; + + /** + * sets the id of the virtual root element + */ + root_id: string|number; + + /** + * enables rounding the task's start and end dates to the nearest scale marks + */ + round_dnd_dates: boolean; + + /** + * sets the default height for rows of the table + */ + row_height: number; + + /** + * switches gantt to the right-to-left mode + */ + rtl: boolean; + + /** + * sets the height of the time scale and the header of the grid + */ + scale_height: number; + + /** + * sets the minimal scale unit (in case multiple scales are used) as the interval of the leading/closing empty space + */ + scale_offset_minimal: boolean; + + /** + * sets the unit of the time scale (X-Axis) + */ + scale_unit: string; + + /** + * defines configuration settings of the time scale + */ + scales: any[]; + + /** + * enables backward scheduling + */ + schedule_from_end: boolean; + + /** + * specifies whether the timeline area shall be scrolled while selecting to display the selected task + */ + scroll_on_click: boolean; + + /** + * set the sizes of the vertical (width) and horizontal (height) scrolls + */ + scroll_size: number; + + /** + * enables selection of tasks in the Gantt chart + */ + select_task: boolean; + + /** + * enables converting server-side dates from UTC to a local time zone (and backward) while sending data to the server + */ + server_utc: boolean; + + /** + * shows the chart (timeline) area of the Gantt chart + */ + show_chart: boolean; + + /** + * enables showing error alerts in case of unexpected behavior + */ + show_errors: boolean; + + /** + * shows the grid area of the Gantt chart + */ + show_grid: boolean; + + /** + * enables/disables displaying links in the Gantt chart + */ + show_links: boolean; + + /** + * shows/hides markers on the page + */ + show_markers: boolean; + + /** + * enables displaying of the progress inside the task bars + */ + show_progress: boolean; + + /** + * activates/disables the 'quick_info' extension (pop-up task's details form) + */ + show_quick_info: boolean; + + /** + * enables/disables displaying column borders in the chart area + */ + show_task_cells: boolean; + + /** + * enables showing tasks that are outside the specified date range in the Gantt chart + */ + show_tasks_outside_timescale: boolean; + + /** + * enables showing unscheduled tasks + */ + show_unscheduled: boolean; + + /** + * hides non-working time from the time scale + */ + skip_off_time: boolean; + + /** + * enables the smart rendering mode for gantt's tasks and links rendering + */ + smart_rendering: boolean; + + /** + * specifies that only visible part of the time scale is rendered on the screen + */ + smart_scales: boolean; + + /** + * enables sorting in the table + */ + sort: boolean; + + /** + * sets the start value of the time scale + */ + start_date: Date; + + /** + * sets the starting day of the week + */ + start_on_monday: boolean; + + /** + * generates a background image for the timeline area instead of rendering actual columns' and rows' lines + */ + static_background: boolean; + + /** + * enables rendering of highlighted cells in the static_background mode + */ + static_background_cells: boolean; + + /** + * sets the step of the time scale (X-Axis) + */ + step: number; + + /** + * specifies the second time scale(s) (deprecated) + */ + subscales: any[]; + + /** + * sets the name of the attribute that will specify the id of the task's HTML element + */ + task_attribute: string; + + /** + * sets the format of the date label in the 'Time period' section of the lightbox + */ + task_date: string; + + /** + * sets the height of task bars in the timeline area + */ + task_height: number|string; + + /** + * sets the offset (in pixels) of the nearest task from the left border in the timeline + */ + task_scroll_offset: number; + + /** + * sets the format of the time drop-down selector in the lightbox + */ + time_picker: string; + + /** + * sets the minimum step (in minutes) for the task's time values + */ + time_step: number; + + /** + * sets the length of time, in milliseconds, before the tooltip hides + */ + tooltip_hide_timeout: number; + + /** + * sets the right (if positive) offset of the tooltip's position + */ + tooltip_offset_x: number; + + /** + * sets the top (if positive) offset of the tooltip's position + */ + tooltip_offset_y: number; + + /** + * sets the timeout in milliseconds before the tooltip is displayed for a task + */ + tooltip_timeout: number; + + /** + * enables/disables the touch support for the Gantt chart + */ + touch: boolean|string; + + /** + * defines the time period in milliseconds that is used to differ the long touch gesture from the scroll gesture + */ + touch_drag: number|boolean; + + /** + * returns vibration feedback before/after drag and drop on touch devices + */ + touch_feedback: boolean; + + /** + * defines the duration of vibration feedback before/after drag and drop on touch devices (in milliseconds) + */ + touch_feedback_duration: number; + + /** + * redefines functions responsible for displaying different types of tasks + */ + type_renderers: any; + + /** + * stores the names of lightbox's structures (used for different types of tasks) + */ + types: any; + + /** + * enables the Undo functionality for the gantt + */ + undo: boolean; + + /** + * sets the actions that the Undo operation will revert + */ + undo_actions: any; + + /** + * sets the number of steps that should be reverted by the undo method + */ + undo_steps: number; + + /** + * sets the types of entities for which the Undo operation will be applied + */ + undo_types: any; + + /** + * enables WAI-ARIA support to make the component recognizable for screen readers + */ + wai_aria_attributes: boolean; + + /** + * sets both the section and its label on the same line + */ + wide_form: boolean; + + /** + * enables calculating the duration of tasks in working time instead of calendar time + */ + work_time: boolean; + + /** + * defines date formats that are used to parse data from a data set and to send data to a server + */ + xml_date: string; +} + +export interface GanttDateHelpers { + add(origin: Date, count: number, unit: string): Date; + copy(origin: Date): Date; + date_part(origin: Date): Date; + time_part(origin: Date): Date; + day_start(origin: Date): Date; + month_start(origin: Date): Date; + week_start(origin: Date): Date; + year_start(origin: Date): Date; + getISOWeek(origin: Date): number; + getUTCISOWeek(origin: Date): number; + date_to_str(format: string): any; + str_to_date(format: string): any; + convert_to_utc(origin: Date): Date; + to_fixed(value: number): string; +} + +export interface GanttHotkeys { + edit_save: number; + edit_cancel: number; +} + +export type MonthLabelList = [string, string, string, string, string, string, string, string, string, string, string, string]; +export type WeekDayLabelList = [string, string, string, string, string, string, string]; + +export interface GanttLocaleDate { + month_full: MonthLabelList; + month_short: MonthLabelList; + day_full: WeekDayLabelList; + day_short: WeekDayLabelList; +} + +export interface GanttLocaleLabels { + new_task: string; + icon_save: string; + icon_cancel: string; + icon_details: string; + icon_edit: string; + icon_delete: string; + confirm_closing: string; + confirm_deleting: string; + section_description: string; + section_time: string; + section_type: string; + + /* grid columns */ + column_wbs: string; + column_text: string; + column_start_date: string; + column_duration: string; + column_add: string; + + /* link confirmation */ + link: string; + confirm_link_deleting: string; + link_start: string; + link_end: string; + + type_task: string; + type_project: string; + type_milestone: string; + + minutes: string; + hours: string; + days: string; + weeks: string; + months: string; + years: string; + + /* message popup */ + message_ok: string; + message_cancel: string; + + /* constraints */ + section_constraint: string; + constraint_type: string; + constraint_date: string; + asap: string; + alap: string; + snet: string; + snlt: string; + fnet: string; + fnlt: string; + mso: string; + mfo: string; + + /* resource control */ + resources_filter_placeholder: string; + resources_filter_label: string; +} + +export interface GanttLocale { + date: GanttLocaleDate; + labels: GanttLocaleLabels; +} + +export interface GanttPlugins { + auto_scheduling?: boolean; + click_drag?: boolean; + critical_path?: boolean; + drag_timeline?: boolean; + fullscreen?: boolean; + keyboard_navigation?: boolean; + quick_info?: boolean; + tooltip?: boolean; + undo?: boolean; + grouping?: boolean; + marker?: boolean; + multiselect?: boolean; + overlay?: boolean; +} + +export interface GanttInitializationConfig { + container?: string|HTMLElement; + config?: any; + templates?: any; + events?: any; + data?: any; + plugins?: GanttPlugins; + locale?: any; +} + +export interface GanttInternationalization { + setLocale(locale: any): void; + getLocale(language?: string): GanttLocale; + addLocale(language: string, locale: GanttLocale): void; +} +export type GanttPlugin = (gantt: GanttStatic) => void; + +export interface GanttEnterprise { + plugin(plugin: GanttPlugin): void; + getGanttInstance(settings?: GanttInitializationConfig) : GanttStatic; +} + + +export interface GanttStatic { + + /** + * redefines the default click behavior for buttons of the Gantt chart + */ + $click: any; + + /** + * gantt ajax module + */ + ajax: any; + + /** + * the interface of the working calendar object + */ + calendar: any; + + /** + * defines configuration options for dates, scale, controls + */ + config: GanttConfigOptions; + + /** + * stores various constants to reduce the use of magic numbers in the code + */ + constants: any; + + /** + * a set of date formatting methods + */ + date: GanttDateHelpers; + + /** + * a set of flags which describe current environment + */ + env: any; + + /** + * an object that stores various extensions + */ + ext: any; + + /** + * a set of methods for Gantt chart localization + */ + i18n: GanttInternationalization; + + /** + * specifies JSON serialization and parsing + */ + json: any; + + /** + * defines the hot keys for the Gantt chart + */ + keys: GanttHotkeys; + + /** + * returns the license name of dhtmlxGantt + */ + license: any; + + /** + * the current locale object (region-specific labels) of the Gantt chart + */ + locale: GanttLocale; + + /** + * specifies serialization and parsing in the XML format of dhtmlxGantt 1.0 + */ + oldxml: any; + + /** + * returns the current skin of the Gantt chart + */ + skin: string; + + /** + * returns objects of the available skins + */ + skins: any; + + /** + * defines formatting templates for dates, titles, tooltips in the Gantt chart + */ + templates: GanttTemplates; + + /** + * various helper modules + */ + utils: any; + + /** + * returns the version of dhtmlxGantt + */ + version: string; + + /** + * specifies XML serialization and parsing + */ + xml: any; + + /** + * Promise object constructor + * @param executor a callback used to initialize the promise + */ + Promise: new (executor: (resolve: (value?: any) => void, reject: (reason?: any) => void) => void) => Promise; + + /** + * adds a calendar into Gantt + * @param calendar an object with configuration of the calendar + */ + addCalendar(calendar: any): number; + + /** + * adds a new dependency link + * @param link the link object + */ + addLink(link: any): string|number; + + /** + * displays an additional layer with custom elements for a link in the timeline area + * @param func a render function or a config object + */ + addLinkLayer(func: any): string; + + /** + * adds a marker to the timeline area + * @param marker the marker's configuration object + */ + addMarker(marker: any): string; + + /** + * adds a new keyboard shortcut + * @param shortcut the key name or the name of keys combination for a shortcut (shortcut syntax) + * @param handler the handler of the shortcut call + * @param scope the name of the context element to attach the handler function to (list of scopes) + */ + addShortcut(shortcut: string, handler: GanttCallback, scope: string): void; + + /** + * adds a new task + * @param task the task object + * @param parent optional, optional, the parent's id + * @param index optional, optional, the position the task will be added into (0 or greater) + */ + addTask(task: any, parent?: string|number, index?: number): string|number; + + /** + * displays an additional layer with custom elements for a task in the timeline area + * @param func a render function or a config object + */ + addTaskLayer(func: any): string; + + /** + * calls an alert message box + * @param config the alert box's configuration + */ + alert(config: any): HTMLElement; + + /** + * if the specified expression is false, an errorMessage is shown in the red popup at the top right corner of the screen + * @param expression true to assert the expression, false - if assertion fails + * @param errorMessage an error message that will be shown in the red popup + */ + assert(expression: boolean, errorMessage: string): void; + + /** + * attaches the handler to an inner event of dhtmlxGantt + * @param name the event's name, case-insensitive + * @param handler the handler function + * @param settings optional, an object with settings for the event handler + */ + attachEvent(name: GanttEventName, handler: GanttCallback, settings: any): string; + + /** + * recalculates the schedule of the project + * @param taskId optional, optional, the task id + */ + autoSchedule(taskId?: string|number): void; + + /** + * updates multiple tasks/links at once + * @param callback the callback function + */ + batchUpdate(callback: GanttCallback): void; + + /** + * creates a new function that, when called, has its this keyword set to the provided value + * @param method the target function + * @param thisArg the value to be passed as the this parameter to the target function when the bound function is called + */ + bind(method: GanttCallback, thisArg: any): GanttCallback; + + /** + * calculates the duration of a task + * @param config the configuration object of a time span + */ + calculateDuration(config: any): number; + + /** + * calculates the end date of a task + * @param config the configuration object of a time span + */ + calculateEndDate(config: any): Date; + + /** + * calculates the level of nesting of a task + * @param task the task's object + */ + calculateTaskLevel(task: any): number; + + /** + * calls an inner event + * @param name the event's name, case-insensitive + * @param params an array of the event-related data + */ + callEvent(name: string, params: any[]): boolean; + + /** + * repaints the lighbox for the task according to its type + * @param type the task type + */ + changeLightboxType(type: string): void; + + /** + * changes the link's id + * @param id the current link's id + * @param new_id the new link's id + */ + changeLinkId(id: string|number, new_id: string|number): void; + + /** + * changes the task's id + * @param id the current task's id + * @param new_id the new task's id + */ + changeTaskId(id: string|number, new_id: string|number): void; + + /** + * checks whether an event has some handler(s) specified + * @param name the event's name + */ + checkEvent(name: GanttEventName): boolean; + + /** + * removes all tasks and additional elements (including markers) from the Gantt chart + */ + clearAll(): void; + + /** + * clears the stack of stored redo commands + */ + clearRedoStack(): void; + + /** + * clears the stack of stored undo commands + */ + clearUndoStack(): void; + + /** + * closes the branch with the specified id + * @param id the branch id + */ + close(id: string|number): void; + + /** + * collapses gantt from the full screen mode to the normal mode + */ + collapse(): void; + + /** + * returns the index of the column by the date + * @param date a date object + */ + columnIndexByDate(date: Date): number; + + /** + * calls a confirm message box + * @param config the confirm box's configuration + */ + confirm(config: any): HTMLElement; + + /** + * creates a deep copy of provided object + * @param task the object that needs to be copied + */ + copy(task: any): any; + + /** + * recalculates the task duration in the work time + * @param task the task's object + */ + correctTaskWorkTime(task: any): void; + + /** + * creates a working calendar + * @param parentCalendar optional, (optional) an existing calendar that is used for creating a new one on the base of it + */ + createCalendar(parentCalendar?: any): void; + + /** + * creates a new dataProcessor instance and attaches it to gantt + * @param config dataProcessor configuration object + */ + createDataProcessor(config: any): any; + + /** + * creates a datastore according to the provided configuration + * @param config a configuration object of a datastore + */ + createDatastore(config: any): void; + + /** + * adds a new task and opens the lightbox to confirm + * @param task the task object + * @param parent the parent's id + * @param index optional, optional, the position the task will be added into (0 or greater) + */ + createTask(task: any, parent: string, index?: number): string|number; + + /** + * dataProcessor constructor + * @param url url to the data feed + */ + dataProcessor(url: string): void; + + /** + * gets the date of the specified horizontal position in the chart area + * @param pos the relative horizontal position you want to know the date of + */ + dateFromPos(pos: number): Date; + + /** + * returns false if the provided argument is undefined, otherwise true + * @param task the object that should be checked + */ + defined(task: any): boolean; + + /** + * deletes a task calendar by its id + * @param id the id of the calendar + */ + deleteCalendar(id: string|number): void; + + /** + * deletes the specified dependency link + * @param id the dependency link's id + */ + deleteLink(id: string|number): void; + + /** + * deletes the specified marker + * @param markerId the marker's id + */ + deleteMarker(markerId: string): void; + + /** + * deletes the specified task + * @param id the task's id + */ + deleteTask(id: string|number): void; + + /** + * destroys the gantt instance + */ + destructor(): void; + + /** + * detaches all events from dhtmlxGantt (both custom and inner ones) + */ + detachAllEvents(): void; + + /** + * detaches a handler from an event (which was attached before by the attachEvent() method) + * @param id the event's id + */ + detachEvent(id: string): void; + + /** + * iterates over all parent tasks of the specified task in the Gantt chart + * @param code a function that will iterate over tasks. Takes a task object as a parameter + * @param startTask the id of the item the parent tasks of which should be iterated over + * @param master optional, the object, that 'this' will refer to + */ + eachParent(code: GanttCallback, startTask: string|number, master?: any): void; + + /** + * iterates over all selected tasks in the Gantt chart + * @param code a function that will iterate over tasks. Takes a task id as a parameter + */ + eachSelectedTask(code: GanttCallback): void; + + /** + * iterates over all child tasks of a specific task or the of whole Gantt chart + * @param code a function that will iterate over tasks. Takes a task object as a parameter + * @param parent optional, the parent id. If specified, the function will iterate over children of the
    specified parent + * @param master optional, the object, that 'this' will refer to + */ + eachTask(code: GanttCallback, parent?: string|number, master?: any): void; + + /** + * attaches an event handler to an HTML element + * @param node the HTML node or its id + * @param event the name of an HTML event (without the 'on' prefix) + * @param handler the event handler + * @param options optional, optional, the value of either the useCapture or options parameter. Read details + */ + event(node: HTMLElement|string, event: string, handler: GanttCallback, options?: any): void; + + /** + * removes an event handler from an HTML element + * @param node the HTML node or its id + * @param event the name of an HTML event (without the 'on' prefix) + * @param handler the event handler + * @param options optional, optional, the value of either the useCapture or options parameter. Read details + */ + eventRemove(node: HTMLElement|string, event: string, handler: GanttCallback, options?: any): void; + + /** + * expands gantt to the full screen mode + */ + expand(): void; + + /** + * exports data from the Gantt chart to an Excel document + * @param _export_ an object with export settings (see the details) + */ + exportToExcel(_export_: any): void; + + /** + * exports data from the Gantt chart to an iCal string + * @param _export_ an object with export settings (see the details) + */ + exportToICal(_export_: any): void; + + /** + * exports the structure and data of a Gantt chart into a JSON object + * @param config an object with Gantt configuration + */ + exportToJSON(config: any): void; + + /** + * exports data from the Gantt chart to MS Project + * @param _export_ an object with export settings (see the details) + */ + exportToMSProject(_export_: any): void; + + /** + * exports a Gantt chart into the PDF format + * @param _export_ an object with export settings (see the details) + */ + exportToPDF(_export_: any): void; + + /** + * exports a Gantt chart into the PNG format + * @param _export_ an object with export settings (see the details) + */ + exportToPNG(_export_: any): void; + + /** + * exports data from the Gantt chart to Primavera P6 + * @param _export_ an object with export settings (see the details) + */ + exportToPrimaveraP6(_export_: any): void; + + /** + * returns all dependency loops in the chart + */ + findCycles(): any[]; + + /** + * sets focus on the gantt + */ + focus(): void; + + /** + * gets worktime calendar by id + * @param calendarId the id of the global calendar or "global" + */ + getCalendar(calendarId: string|number): any; + + /** + * gets all the calendars added into Gantt + */ + getCalendars(): any[]; + + /** + * returns the 1st-level child tasks of the specified parent branch + * @param id the parent branch's id + */ + getChildren(id: string|number): any[]; + + /** + * returns the closest working time + * @param config the configuration object + */ + getClosestWorkTime(config: any): Date; + + /** + * returns the index of the column by its name + * @param name the name of the column + */ + getColumnIndex(name: string): number; + + /** + * returns all tasks and links that a task is connected with + * @param id optional, optional, the id of a task + */ + getConnectedGroup(id?: string|number): any; + + /** + * returns the earliest and latest dates allowed by the constraint applied to a task + * @param task a task object + */ + getConstraintLimitations(task: any): void; + + /** + * returns the constraint type applied to the task + * @param task a task object + */ + getConstraintType(task: any): string; + + /** + * returns the configuration object of a datastore + * @param name the name of the datastore + */ + getDatastore(name: string): any; + + /** + * returns the free slack of a task + * @param task the object of a task + */ + getFreeSlack(task: any): number; + + /** + * gets the index of a task in the tree + * @param id the task id + */ + getGlobalTaskIndex(id: string|number): number; + + /** + * gets the configuration object of a column + * @param name the column's name + */ + getGridColumn(name: string): any; + + /** + * gets columns of the Gantt chart + */ + getGridColumns(): any[]; + + /** + * gets the label of a select control in the lightbox + * @param property the name of a data property that the control is mapped to + * @param key the option's id. This parameter is compared with the task's data property to
    assign the select's option to the task + */ + getLabel(property: string, key: string|number): string; + + /** + * returns the id of the last selected task + */ + getLastSelectedTask(): string|number; + + /** + * gets the lightbox's HTML object element + */ + getLightbox(): HTMLElement; + + /** + * returns the object of the lightbox's section + * @param name the name of the section + */ + getLightboxSection(name: string): any; + + /** + * returns the name of the active lighbox's structure + */ + getLightboxType(): string; + + /** + * returns values of the lightbox's sections + */ + getLightboxValues(): any; + + /** + * returns the dependency link object by the specified id + * @param id the link id + */ + getLink(id: string|number): any; + + /** + * returns the number of all dependency links presented in the Gantt chart + */ + getLinkCount(): number; + + /** + * returns the HTML element of the specified dependency link + * @param id the link id + */ + getLinkNode(id: string|number): HTMLElement; + + /** + * returns all links presented in the Gantt chart + */ + getLinks(): any[]; + + /** + * gets the marker's object + * @param markerId the marker's id + */ + getMarker(markerId: string): any; + + /** + * returns the id of the next item (no matter what the level of nesting is: the same or different) + * @param id the task id + */ + getNext(id: string|number): string|number; + + /** + * returns the id of the next task of the same level + * @param id the task id + */ + getNextSibling(id: string|number): string|number; + + /** + * returns the id of the parent task + * @param id the task id + */ + getParent(id: string|number): string|number; + + /** + * returns the id of the previous item (no matter what the level of nesting is: the same or different) + * @param id the task id + */ + getPrev(id: string|number): string|number; + + /** + * returns the id of the previous task of the same level + * @param id the task id + */ + getPrevSibling(id: string|number): string|number; + + /** + * returns the stack of stored redo user actions + */ + getRedoStack(): any[]; + + /** + * returns all tasks assigned to the resource + * @param resourceId the id of the resource + */ + getResourceAssignments(resourceId: string|number): any[]; + + /** + * returns a calendar which the resource is assigned to + * @param resource the id or object of the resource + */ + getResourceCalendar(resource: any): any; + + /** + * returns the configuration of the time scale + */ + getScale(): any; + + /** + * returns the scroll position + */ + getScrollState(): any; + + /** + * returns the id of the selected task + */ + getSelectedId(): string; + + /** + * returns an array of the currently selected tasks + */ + getSelectedTasks(): any[]; + + /** + * gets a key navigation shortcut handler + * @param shortcut the key name or the name of keys combination for a shortcut (shortcut syntax) + * @param scope the name of the context element to attach the handler function to (list of scopes) + */ + getShortcutHandler(shortcut: string, scope: string): GanttCallback; + + /** + * returns siblings of the specified task (including itself) + * @param id the task id + */ + getSiblings(id: string|number): any[]; + + /** + * checks how much time (in the current duration unit) a task has before it starts to affect other tasks + * @param task1 the object of the 1st task to check the slack for + * @param task2 the object of the 2nd task to check the slack for + */ + getSlack(task1: any, task2: any): number|string; + + /** + * gets the current state of the Gantt chart + */ + getState(): any; + + /** + * calculates the combined start/end dates of tasks nested in a project or another task + * @param task_id optional, the task's id, api/gantt_root_id_config.md will be used if not specified + */ + getSubtaskDates(task_id?: string|number): any; + + /** + * calculates the combined duration of tasks nested in a project or another task. + * @param task_id optional, the task's id, api/gantt_root_id_config.md will be used if not specified + */ + getSubtaskDuration(task_id?: string|number): number; + + /** + * returns the task object + * @param id the task id + */ + getTask(id: string|number): any; + + /** + * finds a task by the specified criteria + * @param propertyName the name of the property to match, or a filter function + * @param propertyValue the property value + */ + getTaskBy(propertyName: string|GanttCallback, propertyValue: any): any[]; + + /** + * returns a task by its global task index + * @param index the task index in the tree (zero-based numbering) + */ + getTaskByIndex(index: number): any; + + /** + * returns a collection of tasks which occur during the specified period + * @param from optional, the start date of the period + * @param to optional, the end date of the period + */ + getTaskByTime(from?: Date, to?: Date): any[]; + + /** + * returns a task by its WBS code + * @param code the WBS code of the task + */ + getTaskByWBSCode(code: string): any; + + /** + * gets a calendar assigned to the specified task (a task level calendar) + * @param task the id or object of a task + */ + getTaskCalendar(task: any): any; + + /** + * gets the number of tasks that are currently loaded in the gantt + */ + getTaskCount(): number; + + /** + * returns the visible height of a task + */ + getTaskHeight(): number; + + /** + * gets the index of a task in the branch + * @param id the task id + */ + getTaskIndex(id: string|number): number; + + /** + * returns the HTML element of the task bar + * @param id the task id + */ + getTaskNode(id: string|number): HTMLElement; + + /** + * calculates the position and size of the task's DOM element in the timeline area + * @param task the task object + * @param from the start date of the item + * @param to the end date of the item + */ + getTaskPosition(task: any, from: Date, to: Date): any; + + /** + * returns the HTML element of the task row in the table + * @param id the task id + */ + getTaskRowNode(id: string|number): HTMLElement; + + /** + * gets the top position of the task's DOM element in the timeline area + * @param id the task's id + */ + getTaskTop(id: number|string): number; + + /** + * returns the type of a task + * @param task the task object + */ + getTaskType(task: any): string; + + /** + * returns the total slack of a task + * @param task the object of a task + */ + getTotalSlack(task: any): number; + + /** + * returns the stack of stored undo user actions + */ + getUndoStack(): any[]; + + /** + * gets the number of tasks visible on the screen (those that are not collapsed) + */ + getVisibleTaskCount(): number; + + /** + * returns the WBS code (the outline number) of a task + * @param task the object of a task + */ + getWBSCode(task: any): string; + + /** + * returns the working hours of the specified date + * @param date a date to check + */ + getWorkHours(date: Date): any[]; + + /** + * groups tasks by the specified task's attribute + * @param config the grouping configuration object, or false to ungroup tasks + */ + groupBy(config: any): void; + + /** + * checks whether the specified item has child tasks + * @param id the task id + */ + hasChild(id: string|number): boolean; + + /** + * hides the lightbox modal overlay that blocks interactions with the remaining screen + * @param box optional, an element to hide + */ + hideCover(box?: HTMLElement): void; + + /** + * closes the lightbox if it's currently active + */ + hideLightbox(): void; + + /** + * hides the pop-up task form (if it's currently active) + */ + hideQuickInfo(): void; + + /** + * converts an Excel file to JSON + * @param config an object with configuration properties of an imported file + */ + importFromExcel(config: any): void; + + /** + * converts an XML or MPP MS Project file to JSON + * @param config an object with configuration properties of an imported file + */ + importFromMSProject(config: any): void; + + /** + * converts an XML or XAR Primavera P6 file to JSON + * @param config an object with configuration properties of an imported file + */ + importFromPrimaveraP6(config: any): void; + + /** + * initializes a dhtmlxGantt inside a container + * @param container an HTML container (or its id) where a dhtmlxGantt object will be initialized + * @param from optional, the start value of the time scale (X–Axis) + * @param to optional, the end value of the time scale (X–Axis) + */ + init(container: string|HTMLElement, from?: Date, to?: Date): void; + + /** + * checks whether a task is a child of a different task + * @param childId the id of a task that you want to check as a child + * @param parentId the id of a task that you want to check as a parent + */ + isChildOf(childId: string|number, parentId: string|number): boolean; + + /** + * checks whether the link is circular + * @param link the link object + */ + isCircularLink(link: any): boolean; + + /** + * checks whether the specified link is critical + * @param link the link's object + */ + isCriticalLink(link: any): boolean; + + /** + * checks whether the specified task is critical + * @param task the task's object + */ + isCriticalTask(task: any): boolean; + + /** + * checks whether the specified link is correct + * @param link the link object + */ + isLinkAllowed(link: any): boolean; + + /** + * checks whether the specified link exists + * @param id the link id + */ + isLinkExists(id: string|number): boolean; + + /** + * checks whether the specified task or link is read-only + * @param id the task/link id + */ + isReadonly(id: string|number): boolean; + + /** + * checks whether the specified task is currently selected + * @param task the task's id + */ + isSelectedTask(task: string|number): boolean; + + /** + * checks whether the specified task is split + * @param task the object of a task + */ + isSplitTask(task: any): boolean; + + /** + * checks whether the specified task is summary + * @param task the object of a task + */ + isSummaryTask(task: any): boolean; + + /** + * checks whether the specified task exists + * @param id the task id + */ + isTaskExists(id: string|number): boolean; + + /** + * checks whether the specifies task is currently rendered in the Gantt chart + * @param id the task's id + */ + isTaskVisible(id: string|number): boolean; + + /** + * checks if the task is unscheduled + * @param task the task's object + */ + isUnscheduledTask(task: any): boolean; + + /** + * checks whether the specified date is working or not + * @param config the configuration object of a time span + */ + isWorkTime(config: any): boolean; + + /** + * loads data to the gantt from an external data source + * @param url the server-side url (may be a static file or a server side script that outputs data) + * @param type optional, ('json', 'xml', 'oldxml') the data type. The default value - 'json' + * @param callback optional, the callback function + */ + load(url: string, type?: string, callback?: GanttCallback): any; + + /** + * gets the id of a task from the specified HTML event + * @param e a native event + */ + locate(e: Event): string|number; + + /** + * merges several working calendars into one + * @param calendars an array of calendars' objects + */ + mergeCalendars(calendars: any[]): void; + + /** + * calls a message box of the specified type + * @param config the message box's configuration + */ + message(config: any): HTMLElement; + + /** + * adds properties of the 'source' object into the 'target' object + * @param target the target object + * @param source the source object + * @param force if true, properties of the 'source' will overwrite matching properties of the 'target', if there are any. If false, properties that already exist in the 'target' will be omitted + */ + mixin(target: any, source: any, force: boolean): void; + + /** + * calls a modalbox + * @param config the modal box's configuration + */ + modalbox(config: any): HTMLElement; + + /** + * moves a task to a new position + * @param sid the id of the task to move + * @param tindex the index of the position that the task will be moved to
    (the index within a branch) + * @param parent optional, the parent id. If specified, the tindex will refer to the index in the
    'parent' branch + */ + moveTask(sid: string|number, tindex: number, parent?: string|number): boolean; + + /** + * opens the branch with the specified id + * @param id the branch id + */ + open(id: string|number): void; + + /** + * loads data from a client-side resource + * @param url a string or object which represents data + * @param type optional, optional, ('json', 'xml') the data type. The default value - 'json' + */ + parse(url: any, type?: string): void; + + /** + * activates specified extensions + * @param ext extensions that need to be activated + */ + plugins(ext: any): void; + + /** + * gets the relative horizontal position of the specified date in the chart area + * @param date a date you want to know the position of + */ + posFromDate(date: Date): number; + + /** + * applies the reverted changes to the gantt once again + */ + redo(): void; + + /** + * refreshes data in the Gantt chart + */ + refreshData(): void; + + /** + * refreshes the specifies link + * @param id the link id + */ + refreshLink(id: string|number): void; + + /** + * refreshes the task and its related links + * @param id the task id + * @param refresh_links optional, optional, defines whether links related to the task should be refreshed, true by default + */ + refreshTask(id: string|number, refresh_links?: boolean): void; + + /** + * removes the specified layer related to a link + * @param layerId a DOM element that will be displayed in the layer + */ + removeLinkLayer(layerId: string): void; + + /** + * removes a keyboard shortcut + * @param shortcut the key name or the name of keys combination for a shortcut (shortcut syntax) + * @param scope the element to which the shortcut is attached (list of scopes) + */ + removeShortcut(shortcut: string, scope: any): void; + + /** + * removes the specified layer related to a task + * @param layerId a DOM element that will be displayed in the layer + */ + removeTaskLayer(layerId: string): void; + + /** + * renders the whole Gantt chart + */ + render(): void; + + /** + * updates all markers on the page + */ + renderMarkers(): void; + + /** + * rebuilds the Gantt layout using the current value of the layout config + */ + resetLayout(): void; + + /** + * removes the current lightbox's HTML object element + */ + resetLightbox(): void; + + /** + * re-calculates the duration of a project task depending on the dates of its children + * @param task the task's object + */ + resetProjectDates(task: any): void; + + /** + * re-calculates the skin's settings from the related attached skin CSS file + */ + resetSkin(): void; + + /** + * forces the lightbox to resize + */ + resizeLightbox(): void; + + /** + * rounds the specified date to the nearest date in the time scale + * @param date the Date object to round + */ + roundDate(date: Date): Date; + + /** + * rounds the start and end task's dates to the nearest dates in the time scale + * @param task the task object + */ + roundTaskDates(task: any): void; + + /** + * scrolls the Gantt container to the specified position + * @param x value of horizontal scroll or 'null' (if the scroll position shouldn't be changed) + * @param y value of vertical scroll or 'null' (if the scroll position shouldn't be changed) + */ + scrollTo(x: number|null, y: number|null): void; + + /** + * selects the specified task + * @param id the task id + */ + selectTask(id: string|number): string|number; + + /** + * serializes the data into JSON or XML format + * @param type optional, the format that the data will be serialized into.
    Possible values: 'json' (default ), 'xml'. + */ + serialize(type?: string): any; + + /** + * returns a list of options + * @param list_name the name of a list + * @param options optional, an array of options + */ + serverList(list_name: string, options?: any[]): any[]; + + /** + * set the parent for a task + * @param task the task id + * @param pid the parent task id + */ + setParent(task: number|string, pid: number|string): void; + + /** + * resizes the Gantt chart + */ + setSizes(): void; + + /** + * sets the working time for the Gantt chart + * @param config the configuration object of a time span + */ + setWorkTime(config: any): void; + + /** + * shows the lightbox modal overlay that blocks interactions with the remaining screen + * @param box optional, an element to hide + */ + showCover(box?: HTMLElement): void; + + /** + * scrolls the chart area to makes the specified date visible + * @param date the date to show in the chart + */ + showDate(date: Date): void; + + /** + * opens the lightbox for the specified task + * @param id the task id + */ + showLightbox(id: string|number): void; + + /** + * displays the pop-up task form for the specified task + * @param id the task id + */ + showQuickInfo(id: string|number): void; + + /** + * makes the specified task visible on the screen + * @param id the task id + */ + showTask(id: string|number): void; + + /** + * makes all code inside it not to trigger internal events or server-side calls + * @param callback the callback function + */ + silent(callback: GanttCallback): void; + + /** + * sorts tasks in the grid + * @param field the name of the column that the grid will be sorted by or a custom sorting function + * @param desc optional, specifies the sorting direction: true - descending sort and false - ascending
    sort. By default, false + * @param parent optional, the id of the parent task. Specify the parameter if you want to sort tasks only in the branch of the specified parent. + * @param silent optional, specifies whether rendering should be invoked after reordering items + */ + sort(field: string|GanttCallback, desc?: boolean, parent?: string|number, silent?: boolean): void; + + /** + * selects the specified task if it was unselected and vice versa + * @param task the task's id + */ + toggleTaskSelection(task: string|number): void; + + /** + * returns a unique id + */ + uid(): number; + + /** + * reverts the changes made in the gantt + */ + undo(): void; + + /** + * removes selection from the selected task + * @param id optional, optional, the id of the task to remove selection from, see details + */ + unselectTask(id?: string|number): void; + + /** + * unsets a working time in the Gantt Chart + * @param config the configuration object of a time span + */ + unsetWorkTime(config: any): void; + + /** + * updates the specified collection with new options + * @param collection the name of the collection to update + * @param options the new values of the collection + */ + updateCollection(collection: string, options: any[]): boolean; + + /** + * updates the specified dependency link + * @param id the task id + */ + updateLink(id: string): void; + + /** + * updates the specified marker + * @param markerId the marker's id + */ + updateMarker(markerId: string): void; + + /** + * updates the specified task + * @param id the task id + * @param newState the new values of the task + */ + updateTask(id: string, newState: any): void; +} + +declare var gantt: GanttStatic; + +declare var Gantt: GanttEnterprise; + +export {gantt, Gantt}; \ No newline at end of file diff --git a/src/gantt/codebase/dhtmlxgantt.js b/src/gantt/codebase/dhtmlxgantt.js new file mode 100644 index 0000000..94659c9 --- /dev/null +++ b/src/gantt/codebase/dhtmlxgantt.js @@ -0,0 +1,100 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "./codebase/sources/dhtmlxgantt.js"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./codebase/sources/dhtmlxgantt.js": +/*!*****************************************!*\ + !*** ./codebase/sources/dhtmlxgantt.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/*\n@license\n\ndhtmlxGantt v.7.0.8 Standard\n\nThis version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.\n\nTo use dhtmlxGantt in non-GPL projects (and get Pro version of the product), please obtain Commercial/Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxGantt/#licensing or contact us at sales@dhtmlx.com\n\n(c) XB Software Ltd.\n\n*/\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/codebase/sources/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./sources/dhtmlxgantt.gpl.ts\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/bluebird/js/browser/bluebird.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/bluebird/js/browser/bluebird.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, global, setImmediate) {/* @preserve\n * The MIT License (MIT)\n * \n * Copyright (c) 2013-2018 Petka Antonov\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n * \n */\n/**\n * bluebird build version 3.5.4\n * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each\n*/\n!function(e){if(true)module.exports=e();else { var f; }}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_==\"function\"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_==\"function\"&&_dereq_;for(var o=0;o 0) {\n _drainQueueStep(queue);\n }\n}\n\nfunction _drainQueueStep(queue) {\n var fn = queue.shift();\n if (typeof fn !== \"function\") {\n fn._settlePromises();\n } else {\n var receiver = queue.shift();\n var arg = queue.shift();\n fn.call(receiver, arg);\n }\n}\n\nAsync.prototype._drainQueues = function () {\n _drainQueue(this._normalQueue);\n this._reset();\n this._haveDrainedQueues = true;\n _drainQueue(this._lateQueue);\n};\n\nAsync.prototype._queueTick = function () {\n if (!this._isTickUsed) {\n this._isTickUsed = true;\n this._schedule(this.drainQueues);\n }\n};\n\nAsync.prototype._reset = function () {\n this._isTickUsed = false;\n};\n\nmodule.exports = Async;\nmodule.exports.firstLineError = firstLineError;\n\n},{\"./queue\":26,\"./schedule\":29,\"./util\":36}],3:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) {\nvar calledBind = false;\nvar rejectThis = function(_, e) {\n this._reject(e);\n};\n\nvar targetRejected = function(e, context) {\n context.promiseRejectionQueued = true;\n context.bindingPromise._then(rejectThis, rejectThis, null, this, e);\n};\n\nvar bindingResolved = function(thisArg, context) {\n if (((this._bitField & 50397184) === 0)) {\n this._resolveCallback(context.target);\n }\n};\n\nvar bindingRejected = function(e, context) {\n if (!context.promiseRejectionQueued) this._reject(e);\n};\n\nPromise.prototype.bind = function (thisArg) {\n if (!calledBind) {\n calledBind = true;\n Promise.prototype._propagateFrom = debug.propagateFromFunction();\n Promise.prototype._boundValue = debug.boundValueFunction();\n }\n var maybePromise = tryConvertToPromise(thisArg);\n var ret = new Promise(INTERNAL);\n ret._propagateFrom(this, 1);\n var target = this._target();\n ret._setBoundTo(maybePromise);\n if (maybePromise instanceof Promise) {\n var context = {\n promiseRejectionQueued: false,\n promise: ret,\n target: target,\n bindingPromise: maybePromise\n };\n target._then(INTERNAL, targetRejected, undefined, ret, context);\n maybePromise._then(\n bindingResolved, bindingRejected, undefined, ret, context);\n ret._setOnCancel(maybePromise);\n } else {\n ret._resolveCallback(target);\n }\n return ret;\n};\n\nPromise.prototype._setBoundTo = function (obj) {\n if (obj !== undefined) {\n this._bitField = this._bitField | 2097152;\n this._boundTo = obj;\n } else {\n this._bitField = this._bitField & (~2097152);\n }\n};\n\nPromise.prototype._isBound = function () {\n return (this._bitField & 2097152) === 2097152;\n};\n\nPromise.bind = function (thisArg, value) {\n return Promise.resolve(value).bind(thisArg);\n};\n};\n\n},{}],4:[function(_dereq_,module,exports){\n\"use strict\";\nvar old;\nif (typeof Promise !== \"undefined\") old = Promise;\nfunction noConflict() {\n try { if (Promise === bluebird) Promise = old; }\n catch (e) {}\n return bluebird;\n}\nvar bluebird = _dereq_(\"./promise\")();\nbluebird.noConflict = noConflict;\nmodule.exports = bluebird;\n\n},{\"./promise\":22}],5:[function(_dereq_,module,exports){\n\"use strict\";\nvar cr = Object.create;\nif (cr) {\n var callerCache = cr(null);\n var getterCache = cr(null);\n callerCache[\" size\"] = getterCache[\" size\"] = 0;\n}\n\nmodule.exports = function(Promise) {\nvar util = _dereq_(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar isIdentifier = util.isIdentifier;\n\nvar getMethodCaller;\nvar getGetter;\nif (false) { var getCompiled, makeGetter, makeMethodCaller; }\n\nfunction ensureMethod(obj, methodName) {\n var fn;\n if (obj != null) fn = obj[methodName];\n if (typeof fn !== \"function\") {\n var message = \"Object \" + util.classString(obj) + \" has no method '\" +\n util.toString(methodName) + \"'\";\n throw new Promise.TypeError(message);\n }\n return fn;\n}\n\nfunction caller(obj) {\n var methodName = this.pop();\n var fn = ensureMethod(obj, methodName);\n return fn.apply(obj, this);\n}\nPromise.prototype.call = function (methodName) {\n var args = [].slice.call(arguments, 1);;\n if (false) { var maybeCaller; }\n args.push(methodName);\n return this._then(caller, undefined, undefined, args, undefined);\n};\n\nfunction namedGetter(obj) {\n return obj[this];\n}\nfunction indexedGetter(obj) {\n var index = +this;\n if (index < 0) index = Math.max(0, index + obj.length);\n return obj[index];\n}\nPromise.prototype.get = function (propertyName) {\n var isIndex = (typeof propertyName === \"number\");\n var getter;\n if (!isIndex) {\n if (canEvaluate) {\n var maybeGetter = getGetter(propertyName);\n getter = maybeGetter !== null ? maybeGetter : namedGetter;\n } else {\n getter = namedGetter;\n }\n } else {\n getter = indexedGetter;\n }\n return this._then(getter, undefined, undefined, propertyName, undefined);\n};\n};\n\n},{\"./util\":36}],6:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, PromiseArray, apiRejection, debug) {\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nPromise.prototype[\"break\"] = Promise.prototype.cancel = function() {\n if (!debug.cancellation()) return this._warn(\"cancellation is disabled\");\n\n var promise = this;\n var child = promise;\n while (promise._isCancellable()) {\n if (!promise._cancelBy(child)) {\n if (child._isFollowing()) {\n child._followee().cancel();\n } else {\n child._cancelBranched();\n }\n break;\n }\n\n var parent = promise._cancellationParent;\n if (parent == null || !parent._isCancellable()) {\n if (promise._isFollowing()) {\n promise._followee().cancel();\n } else {\n promise._cancelBranched();\n }\n break;\n } else {\n if (promise._isFollowing()) promise._followee().cancel();\n promise._setWillBeCancelled();\n child = promise;\n promise = parent;\n }\n }\n};\n\nPromise.prototype._branchHasCancelled = function() {\n this._branchesRemainingToCancel--;\n};\n\nPromise.prototype._enoughBranchesHaveCancelled = function() {\n return this._branchesRemainingToCancel === undefined ||\n this._branchesRemainingToCancel <= 0;\n};\n\nPromise.prototype._cancelBy = function(canceller) {\n if (canceller === this) {\n this._branchesRemainingToCancel = 0;\n this._invokeOnCancel();\n return true;\n } else {\n this._branchHasCancelled();\n if (this._enoughBranchesHaveCancelled()) {\n this._invokeOnCancel();\n return true;\n }\n }\n return false;\n};\n\nPromise.prototype._cancelBranched = function() {\n if (this._enoughBranchesHaveCancelled()) {\n this._cancel();\n }\n};\n\nPromise.prototype._cancel = function() {\n if (!this._isCancellable()) return;\n this._setCancelled();\n async.invoke(this._cancelPromises, this, undefined);\n};\n\nPromise.prototype._cancelPromises = function() {\n if (this._length() > 0) this._settlePromises();\n};\n\nPromise.prototype._unsetOnCancel = function() {\n this._onCancelField = undefined;\n};\n\nPromise.prototype._isCancellable = function() {\n return this.isPending() && !this._isCancelled();\n};\n\nPromise.prototype.isCancellable = function() {\n return this.isPending() && !this.isCancelled();\n};\n\nPromise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) {\n if (util.isArray(onCancelCallback)) {\n for (var i = 0; i < onCancelCallback.length; ++i) {\n this._doInvokeOnCancel(onCancelCallback[i], internalOnly);\n }\n } else if (onCancelCallback !== undefined) {\n if (typeof onCancelCallback === \"function\") {\n if (!internalOnly) {\n var e = tryCatch(onCancelCallback).call(this._boundValue());\n if (e === errorObj) {\n this._attachExtraTrace(e.e);\n async.throwLater(e.e);\n }\n }\n } else {\n onCancelCallback._resultCancelled(this);\n }\n }\n};\n\nPromise.prototype._invokeOnCancel = function() {\n var onCancelCallback = this._onCancel();\n this._unsetOnCancel();\n async.invoke(this._doInvokeOnCancel, this, onCancelCallback);\n};\n\nPromise.prototype._invokeInternalOnCancel = function() {\n if (this._isCancellable()) {\n this._doInvokeOnCancel(this._onCancel(), true);\n this._unsetOnCancel();\n }\n};\n\nPromise.prototype._resultCancelled = function() {\n this.cancel();\n};\n\n};\n\n},{\"./util\":36}],7:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(NEXT_FILTER) {\nvar util = _dereq_(\"./util\");\nvar getKeys = _dereq_(\"./es5\").keys;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction catchFilter(instances, cb, promise) {\n return function(e) {\n var boundTo = promise._boundValue();\n predicateLoop: for (var i = 0; i < instances.length; ++i) {\n var item = instances[i];\n\n if (item === Error ||\n (item != null && item.prototype instanceof Error)) {\n if (e instanceof item) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (typeof item === \"function\") {\n var matchesPredicate = tryCatch(item).call(boundTo, e);\n if (matchesPredicate === errorObj) {\n return matchesPredicate;\n } else if (matchesPredicate) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (util.isObject(e)) {\n var keys = getKeys(item);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n if (item[key] != e[key]) {\n continue predicateLoop;\n }\n }\n return tryCatch(cb).call(boundTo, e);\n }\n }\n return NEXT_FILTER;\n };\n}\n\nreturn catchFilter;\n};\n\n},{\"./es5\":13,\"./util\":36}],8:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nvar longStackTraces = false;\nvar contextStack = [];\n\nPromise.prototype._promiseCreated = function() {};\nPromise.prototype._pushContext = function() {};\nPromise.prototype._popContext = function() {return null;};\nPromise._peekContext = Promise.prototype._peekContext = function() {};\n\nfunction Context() {\n this._trace = new Context.CapturedTrace(peekContext());\n}\nContext.prototype._pushContext = function () {\n if (this._trace !== undefined) {\n this._trace._promiseCreated = null;\n contextStack.push(this._trace);\n }\n};\n\nContext.prototype._popContext = function () {\n if (this._trace !== undefined) {\n var trace = contextStack.pop();\n var ret = trace._promiseCreated;\n trace._promiseCreated = null;\n return ret;\n }\n return null;\n};\n\nfunction createContext() {\n if (longStackTraces) return new Context();\n}\n\nfunction peekContext() {\n var lastIndex = contextStack.length - 1;\n if (lastIndex >= 0) {\n return contextStack[lastIndex];\n }\n return undefined;\n}\nContext.CapturedTrace = null;\nContext.create = createContext;\nContext.deactivateLongStackTraces = function() {};\nContext.activateLongStackTraces = function() {\n var Promise_pushContext = Promise.prototype._pushContext;\n var Promise_popContext = Promise.prototype._popContext;\n var Promise_PeekContext = Promise._peekContext;\n var Promise_peekContext = Promise.prototype._peekContext;\n var Promise_promiseCreated = Promise.prototype._promiseCreated;\n Context.deactivateLongStackTraces = function() {\n Promise.prototype._pushContext = Promise_pushContext;\n Promise.prototype._popContext = Promise_popContext;\n Promise._peekContext = Promise_PeekContext;\n Promise.prototype._peekContext = Promise_peekContext;\n Promise.prototype._promiseCreated = Promise_promiseCreated;\n longStackTraces = false;\n };\n longStackTraces = true;\n Promise.prototype._pushContext = Context.prototype._pushContext;\n Promise.prototype._popContext = Context.prototype._popContext;\n Promise._peekContext = Promise.prototype._peekContext = peekContext;\n Promise.prototype._promiseCreated = function() {\n var ctx = this._peekContext();\n if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this;\n };\n};\nreturn Context;\n};\n\n},{}],9:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, Context) {\nvar getDomain = Promise._getDomain;\nvar async = Promise._async;\nvar Warning = _dereq_(\"./errors\").Warning;\nvar util = _dereq_(\"./util\");\nvar es5 = _dereq_(\"./es5\");\nvar canAttachTrace = util.canAttachTrace;\nvar unhandledRejectionHandled;\nvar possiblyUnhandledRejection;\nvar bluebirdFramePattern =\n /[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/;\nvar nodeFramePattern = /\\((?:timers\\.js):\\d+:\\d+\\)/;\nvar parseLinePattern = /[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/;\nvar stackFramePattern = null;\nvar formatStack = null;\nvar indentStackFrames = false;\nvar printWarning;\nvar debugging = !!(util.env(\"BLUEBIRD_DEBUG\") != 0 &&\n ( true ||\n false));\n\nvar warnings = !!(util.env(\"BLUEBIRD_WARNINGS\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_WARNINGS\")));\n\nvar longStackTraces = !!(util.env(\"BLUEBIRD_LONG_STACK_TRACES\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_LONG_STACK_TRACES\")));\n\nvar wForgottenReturn = util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\") != 0 &&\n (warnings || !!util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));\n\nPromise.prototype.suppressUnhandledRejections = function() {\n var target = this._target();\n target._bitField = ((target._bitField & (~1048576)) |\n 524288);\n};\n\nPromise.prototype._ensurePossibleRejectionHandled = function () {\n if ((this._bitField & 524288) !== 0) return;\n this._setRejectionIsUnhandled();\n var self = this;\n setTimeout(function() {\n self._notifyUnhandledRejection();\n }, 1);\n};\n\nPromise.prototype._notifyUnhandledRejectionIsHandled = function () {\n fireRejectionEvent(\"rejectionHandled\",\n unhandledRejectionHandled, undefined, this);\n};\n\nPromise.prototype._setReturnedNonUndefined = function() {\n this._bitField = this._bitField | 268435456;\n};\n\nPromise.prototype._returnedNonUndefined = function() {\n return (this._bitField & 268435456) !== 0;\n};\n\nPromise.prototype._notifyUnhandledRejection = function () {\n if (this._isRejectionUnhandled()) {\n var reason = this._settledValue();\n this._setUnhandledRejectionIsNotified();\n fireRejectionEvent(\"unhandledRejection\",\n possiblyUnhandledRejection, reason, this);\n }\n};\n\nPromise.prototype._setUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField | 262144;\n};\n\nPromise.prototype._unsetUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField & (~262144);\n};\n\nPromise.prototype._isUnhandledRejectionNotified = function () {\n return (this._bitField & 262144) > 0;\n};\n\nPromise.prototype._setRejectionIsUnhandled = function () {\n this._bitField = this._bitField | 1048576;\n};\n\nPromise.prototype._unsetRejectionIsUnhandled = function () {\n this._bitField = this._bitField & (~1048576);\n if (this._isUnhandledRejectionNotified()) {\n this._unsetUnhandledRejectionIsNotified();\n this._notifyUnhandledRejectionIsHandled();\n }\n};\n\nPromise.prototype._isRejectionUnhandled = function () {\n return (this._bitField & 1048576) > 0;\n};\n\nPromise.prototype._warn = function(message, shouldUseOwnTrace, promise) {\n return warn(message, shouldUseOwnTrace, promise || this);\n};\n\nPromise.onPossiblyUnhandledRejection = function (fn) {\n var domain = getDomain();\n possiblyUnhandledRejection =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nPromise.onUnhandledRejectionHandled = function (fn) {\n var domain = getDomain();\n unhandledRejectionHandled =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nvar disableLongStackTraces = function() {};\nPromise.longStackTraces = function () {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (!config.longStackTraces && longStackTracesIsSupported()) {\n var Promise_captureStackTrace = Promise.prototype._captureStackTrace;\n var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace;\n var Promise_dereferenceTrace = Promise.prototype._dereferenceTrace;\n config.longStackTraces = true;\n disableLongStackTraces = function() {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n Promise.prototype._captureStackTrace = Promise_captureStackTrace;\n Promise.prototype._attachExtraTrace = Promise_attachExtraTrace;\n Promise.prototype._dereferenceTrace = Promise_dereferenceTrace;\n Context.deactivateLongStackTraces();\n async.enableTrampoline();\n config.longStackTraces = false;\n };\n Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace;\n Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace;\n Promise.prototype._dereferenceTrace = longStackTracesDereferenceTrace;\n Context.activateLongStackTraces();\n async.disableTrampolineIfNecessary();\n }\n};\n\nPromise.hasLongStackTraces = function () {\n return config.longStackTraces && longStackTracesIsSupported();\n};\n\nvar fireDomEvent = (function() {\n try {\n if (typeof CustomEvent === \"function\") {\n var event = new CustomEvent(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var eventData = {\n detail: event,\n cancelable: true\n };\n es5.defineProperty(\n eventData, \"promise\", {value: event.promise});\n es5.defineProperty(eventData, \"reason\", {value: event.reason});\n var domEvent = new CustomEvent(name.toLowerCase(), eventData);\n return !util.global.dispatchEvent(domEvent);\n };\n } else if (typeof Event === \"function\") {\n var event = new Event(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new Event(name.toLowerCase(), {\n cancelable: true\n });\n domEvent.detail = event;\n es5.defineProperty(domEvent, \"promise\", {value: event.promise});\n es5.defineProperty(domEvent, \"reason\", {value: event.reason});\n return !util.global.dispatchEvent(domEvent);\n };\n } else {\n var event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(\"testingtheevent\", false, true, {});\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = document.createEvent(\"CustomEvent\");\n domEvent.initCustomEvent(name.toLowerCase(), false, true,\n event);\n return !util.global.dispatchEvent(domEvent);\n };\n }\n } catch (e) {}\n return function() {\n return false;\n };\n})();\n\nvar fireGlobalEvent = (function() {\n if (util.isNode) {\n return function() {\n return process.emit.apply(process, arguments);\n };\n } else {\n if (!util.global) {\n return function() {\n return false;\n };\n }\n return function(name) {\n var methodName = \"on\" + name.toLowerCase();\n var method = util.global[methodName];\n if (!method) return false;\n method.apply(util.global, [].slice.call(arguments, 1));\n return true;\n };\n }\n})();\n\nfunction generatePromiseLifecycleEventObject(name, promise) {\n return {promise: promise};\n}\n\nvar eventToObjectGenerator = {\n promiseCreated: generatePromiseLifecycleEventObject,\n promiseFulfilled: generatePromiseLifecycleEventObject,\n promiseRejected: generatePromiseLifecycleEventObject,\n promiseResolved: generatePromiseLifecycleEventObject,\n promiseCancelled: generatePromiseLifecycleEventObject,\n promiseChained: function(name, promise, child) {\n return {promise: promise, child: child};\n },\n warning: function(name, warning) {\n return {warning: warning};\n },\n unhandledRejection: function (name, reason, promise) {\n return {reason: reason, promise: promise};\n },\n rejectionHandled: generatePromiseLifecycleEventObject\n};\n\nvar activeFireEvent = function (name) {\n var globalEventFired = false;\n try {\n globalEventFired = fireGlobalEvent.apply(null, arguments);\n } catch (e) {\n async.throwLater(e);\n globalEventFired = true;\n }\n\n var domEventFired = false;\n try {\n domEventFired = fireDomEvent(name,\n eventToObjectGenerator[name].apply(null, arguments));\n } catch (e) {\n async.throwLater(e);\n domEventFired = true;\n }\n\n return domEventFired || globalEventFired;\n};\n\nPromise.config = function(opts) {\n opts = Object(opts);\n if (\"longStackTraces\" in opts) {\n if (opts.longStackTraces) {\n Promise.longStackTraces();\n } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) {\n disableLongStackTraces();\n }\n }\n if (\"warnings\" in opts) {\n var warningsOption = opts.warnings;\n config.warnings = !!warningsOption;\n wForgottenReturn = config.warnings;\n\n if (util.isObject(warningsOption)) {\n if (\"wForgottenReturn\" in warningsOption) {\n wForgottenReturn = !!warningsOption.wForgottenReturn;\n }\n }\n }\n if (\"cancellation\" in opts && opts.cancellation && !config.cancellation) {\n if (async.haveItemsQueued()) {\n throw new Error(\n \"cannot enable cancellation after promises are in use\");\n }\n Promise.prototype._clearCancellationData =\n cancellationClearCancellationData;\n Promise.prototype._propagateFrom = cancellationPropagateFrom;\n Promise.prototype._onCancel = cancellationOnCancel;\n Promise.prototype._setOnCancel = cancellationSetOnCancel;\n Promise.prototype._attachCancellationCallback =\n cancellationAttachCancellationCallback;\n Promise.prototype._execute = cancellationExecute;\n propagateFromFunction = cancellationPropagateFrom;\n config.cancellation = true;\n }\n if (\"monitoring\" in opts) {\n if (opts.monitoring && !config.monitoring) {\n config.monitoring = true;\n Promise.prototype._fireEvent = activeFireEvent;\n } else if (!opts.monitoring && config.monitoring) {\n config.monitoring = false;\n Promise.prototype._fireEvent = defaultFireEvent;\n }\n }\n return Promise;\n};\n\nfunction defaultFireEvent() { return false; }\n\nPromise.prototype._fireEvent = defaultFireEvent;\nPromise.prototype._execute = function(executor, resolve, reject) {\n try {\n executor(resolve, reject);\n } catch (e) {\n return e;\n }\n};\nPromise.prototype._onCancel = function () {};\nPromise.prototype._setOnCancel = function (handler) { ; };\nPromise.prototype._attachCancellationCallback = function(onCancel) {\n ;\n};\nPromise.prototype._captureStackTrace = function () {};\nPromise.prototype._attachExtraTrace = function () {};\nPromise.prototype._dereferenceTrace = function () {};\nPromise.prototype._clearCancellationData = function() {};\nPromise.prototype._propagateFrom = function (parent, flags) {\n ;\n ;\n};\n\nfunction cancellationExecute(executor, resolve, reject) {\n var promise = this;\n try {\n executor(resolve, reject, function(onCancel) {\n if (typeof onCancel !== \"function\") {\n throw new TypeError(\"onCancel must be a function, got: \" +\n util.toString(onCancel));\n }\n promise._attachCancellationCallback(onCancel);\n });\n } catch (e) {\n return e;\n }\n}\n\nfunction cancellationAttachCancellationCallback(onCancel) {\n if (!this._isCancellable()) return this;\n\n var previousOnCancel = this._onCancel();\n if (previousOnCancel !== undefined) {\n if (util.isArray(previousOnCancel)) {\n previousOnCancel.push(onCancel);\n } else {\n this._setOnCancel([previousOnCancel, onCancel]);\n }\n } else {\n this._setOnCancel(onCancel);\n }\n}\n\nfunction cancellationOnCancel() {\n return this._onCancelField;\n}\n\nfunction cancellationSetOnCancel(onCancel) {\n this._onCancelField = onCancel;\n}\n\nfunction cancellationClearCancellationData() {\n this._cancellationParent = undefined;\n this._onCancelField = undefined;\n}\n\nfunction cancellationPropagateFrom(parent, flags) {\n if ((flags & 1) !== 0) {\n this._cancellationParent = parent;\n var branchesRemainingToCancel = parent._branchesRemainingToCancel;\n if (branchesRemainingToCancel === undefined) {\n branchesRemainingToCancel = 0;\n }\n parent._branchesRemainingToCancel = branchesRemainingToCancel + 1;\n }\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\n\nfunction bindingPropagateFrom(parent, flags) {\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\nvar propagateFromFunction = bindingPropagateFrom;\n\nfunction boundValueFunction() {\n var ret = this._boundTo;\n if (ret !== undefined) {\n if (ret instanceof Promise) {\n if (ret.isFulfilled()) {\n return ret.value();\n } else {\n return undefined;\n }\n }\n }\n return ret;\n}\n\nfunction longStackTracesCaptureStackTrace() {\n this._trace = new CapturedTrace(this._peekContext());\n}\n\nfunction longStackTracesAttachExtraTrace(error, ignoreSelf) {\n if (canAttachTrace(error)) {\n var trace = this._trace;\n if (trace !== undefined) {\n if (ignoreSelf) trace = trace._parent;\n }\n if (trace !== undefined) {\n trace.attachExtraTrace(error);\n } else if (!error.__stackCleaned__) {\n var parsed = parseStackAndMessage(error);\n util.notEnumerableProp(error, \"stack\",\n parsed.message + \"\\n\" + parsed.stack.join(\"\\n\"));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n }\n }\n}\n\nfunction longStackTracesDereferenceTrace() {\n this._trace = undefined;\n}\n\nfunction checkForgottenReturns(returnValue, promiseCreated, name, promise,\n parent) {\n if (returnValue === undefined && promiseCreated !== null &&\n wForgottenReturn) {\n if (parent !== undefined && parent._returnedNonUndefined()) return;\n if ((promise._bitField & 65535) === 0) return;\n\n if (name) name = name + \" \";\n var handlerLine = \"\";\n var creatorLine = \"\";\n if (promiseCreated._trace) {\n var traceLines = promiseCreated._trace.stack.split(\"\\n\");\n var stack = cleanStack(traceLines);\n for (var i = stack.length - 1; i >= 0; --i) {\n var line = stack[i];\n if (!nodeFramePattern.test(line)) {\n var lineMatches = line.match(parseLinePattern);\n if (lineMatches) {\n handlerLine = \"at \" + lineMatches[1] +\n \":\" + lineMatches[2] + \":\" + lineMatches[3] + \" \";\n }\n break;\n }\n }\n\n if (stack.length > 0) {\n var firstUserLine = stack[0];\n for (var i = 0; i < traceLines.length; ++i) {\n\n if (traceLines[i] === firstUserLine) {\n if (i > 0) {\n creatorLine = \"\\n\" + traceLines[i - 1];\n }\n break;\n }\n }\n\n }\n }\n var msg = \"a promise was created in a \" + name +\n \"handler \" + handlerLine + \"but was not returned from it, \" +\n \"see http://goo.gl/rRqMUw\" +\n creatorLine;\n promise._warn(msg, true, promiseCreated);\n }\n}\n\nfunction deprecated(name, replacement) {\n var message = name +\n \" is deprecated and will be removed in a future version.\";\n if (replacement) message += \" Use \" + replacement + \" instead.\";\n return warn(message);\n}\n\nfunction warn(message, shouldUseOwnTrace, promise) {\n if (!config.warnings) return;\n var warning = new Warning(message);\n var ctx;\n if (shouldUseOwnTrace) {\n promise._attachExtraTrace(warning);\n } else if (config.longStackTraces && (ctx = Promise._peekContext())) {\n ctx.attachExtraTrace(warning);\n } else {\n var parsed = parseStackAndMessage(warning);\n warning.stack = parsed.message + \"\\n\" + parsed.stack.join(\"\\n\");\n }\n\n if (!activeFireEvent(\"warning\", warning)) {\n formatAndLogError(warning, \"\", true);\n }\n}\n\nfunction reconstructStack(message, stacks) {\n for (var i = 0; i < stacks.length - 1; ++i) {\n stacks[i].push(\"From previous event:\");\n stacks[i] = stacks[i].join(\"\\n\");\n }\n if (i < stacks.length) {\n stacks[i] = stacks[i].join(\"\\n\");\n }\n return message + \"\\n\" + stacks.join(\"\\n\");\n}\n\nfunction removeDuplicateOrEmptyJumps(stacks) {\n for (var i = 0; i < stacks.length; ++i) {\n if (stacks[i].length === 0 ||\n ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) {\n stacks.splice(i, 1);\n i--;\n }\n }\n}\n\nfunction removeCommonRoots(stacks) {\n var current = stacks[0];\n for (var i = 1; i < stacks.length; ++i) {\n var prev = stacks[i];\n var currentLastIndex = current.length - 1;\n var currentLastLine = current[currentLastIndex];\n var commonRootMeetPoint = -1;\n\n for (var j = prev.length - 1; j >= 0; --j) {\n if (prev[j] === currentLastLine) {\n commonRootMeetPoint = j;\n break;\n }\n }\n\n for (var j = commonRootMeetPoint; j >= 0; --j) {\n var line = prev[j];\n if (current[currentLastIndex] === line) {\n current.pop();\n currentLastIndex--;\n } else {\n break;\n }\n }\n current = prev;\n }\n}\n\nfunction cleanStack(stack) {\n var ret = [];\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n var isTraceLine = \" (No stack trace)\" === line ||\n stackFramePattern.test(line);\n var isInternalFrame = isTraceLine && shouldIgnore(line);\n if (isTraceLine && !isInternalFrame) {\n if (indentStackFrames && line.charAt(0) !== \" \") {\n line = \" \" + line;\n }\n ret.push(line);\n }\n }\n return ret;\n}\n\nfunction stackFramesAsArray(error) {\n var stack = error.stack.replace(/\\s+$/g, \"\").split(\"\\n\");\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n if (\" (No stack trace)\" === line || stackFramePattern.test(line)) {\n break;\n }\n }\n if (i > 0 && error.name != \"SyntaxError\") {\n stack = stack.slice(i);\n }\n return stack;\n}\n\nfunction parseStackAndMessage(error) {\n var stack = error.stack;\n var message = error.toString();\n stack = typeof stack === \"string\" && stack.length > 0\n ? stackFramesAsArray(error) : [\" (No stack trace)\"];\n return {\n message: message,\n stack: error.name == \"SyntaxError\" ? stack : cleanStack(stack)\n };\n}\n\nfunction formatAndLogError(error, title, isSoft) {\n if (typeof console !== \"undefined\") {\n var message;\n if (util.isObject(error)) {\n var stack = error.stack;\n message = title + formatStack(stack, error);\n } else {\n message = title + String(error);\n }\n if (typeof printWarning === \"function\") {\n printWarning(message, isSoft);\n } else if (typeof console.log === \"function\" ||\n typeof console.log === \"object\") {\n console.log(message);\n }\n }\n}\n\nfunction fireRejectionEvent(name, localHandler, reason, promise) {\n var localEventFired = false;\n try {\n if (typeof localHandler === \"function\") {\n localEventFired = true;\n if (name === \"rejectionHandled\") {\n localHandler(promise);\n } else {\n localHandler(reason, promise);\n }\n }\n } catch (e) {\n async.throwLater(e);\n }\n\n if (name === \"unhandledRejection\") {\n if (!activeFireEvent(name, reason, promise) && !localEventFired) {\n formatAndLogError(reason, \"Unhandled rejection \");\n }\n } else {\n activeFireEvent(name, promise);\n }\n}\n\nfunction formatNonError(obj) {\n var str;\n if (typeof obj === \"function\") {\n str = \"[function \" +\n (obj.name || \"anonymous\") +\n \"]\";\n } else {\n str = obj && typeof obj.toString === \"function\"\n ? obj.toString() : util.toString(obj);\n var ruselessToString = /\\[object [a-zA-Z0-9$_]+\\]/;\n if (ruselessToString.test(str)) {\n try {\n var newStr = JSON.stringify(obj);\n str = newStr;\n }\n catch(e) {\n\n }\n }\n if (str.length === 0) {\n str = \"(empty array)\";\n }\n }\n return (\"(<\" + snip(str) + \">, no stack trace)\");\n}\n\nfunction snip(str) {\n var maxChars = 41;\n if (str.length < maxChars) {\n return str;\n }\n return str.substr(0, maxChars - 3) + \"...\";\n}\n\nfunction longStackTracesIsSupported() {\n return typeof captureStackTrace === \"function\";\n}\n\nvar shouldIgnore = function() { return false; };\nvar parseLineInfoRegex = /[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;\nfunction parseLineInfo(line) {\n var matches = line.match(parseLineInfoRegex);\n if (matches) {\n return {\n fileName: matches[1],\n line: parseInt(matches[2], 10)\n };\n }\n}\n\nfunction setBounds(firstLineError, lastLineError) {\n if (!longStackTracesIsSupported()) return;\n var firstStackLines = firstLineError.stack.split(\"\\n\");\n var lastStackLines = lastLineError.stack.split(\"\\n\");\n var firstIndex = -1;\n var lastIndex = -1;\n var firstFileName;\n var lastFileName;\n for (var i = 0; i < firstStackLines.length; ++i) {\n var result = parseLineInfo(firstStackLines[i]);\n if (result) {\n firstFileName = result.fileName;\n firstIndex = result.line;\n break;\n }\n }\n for (var i = 0; i < lastStackLines.length; ++i) {\n var result = parseLineInfo(lastStackLines[i]);\n if (result) {\n lastFileName = result.fileName;\n lastIndex = result.line;\n break;\n }\n }\n if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName ||\n firstFileName !== lastFileName || firstIndex >= lastIndex) {\n return;\n }\n\n shouldIgnore = function(line) {\n if (bluebirdFramePattern.test(line)) return true;\n var info = parseLineInfo(line);\n if (info) {\n if (info.fileName === firstFileName &&\n (firstIndex <= info.line && info.line <= lastIndex)) {\n return true;\n }\n }\n return false;\n };\n}\n\nfunction CapturedTrace(parent) {\n this._parent = parent;\n this._promisesCreated = 0;\n var length = this._length = 1 + (parent === undefined ? 0 : parent._length);\n captureStackTrace(this, CapturedTrace);\n if (length > 32) this.uncycle();\n}\nutil.inherits(CapturedTrace, Error);\nContext.CapturedTrace = CapturedTrace;\n\nCapturedTrace.prototype.uncycle = function() {\n var length = this._length;\n if (length < 2) return;\n var nodes = [];\n var stackToIndex = {};\n\n for (var i = 0, node = this; node !== undefined; ++i) {\n nodes.push(node);\n node = node._parent;\n }\n length = this._length = i;\n for (var i = length - 1; i >= 0; --i) {\n var stack = nodes[i].stack;\n if (stackToIndex[stack] === undefined) {\n stackToIndex[stack] = i;\n }\n }\n for (var i = 0; i < length; ++i) {\n var currentStack = nodes[i].stack;\n var index = stackToIndex[currentStack];\n if (index !== undefined && index !== i) {\n if (index > 0) {\n nodes[index - 1]._parent = undefined;\n nodes[index - 1]._length = 1;\n }\n nodes[i]._parent = undefined;\n nodes[i]._length = 1;\n var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;\n\n if (index < length - 1) {\n cycleEdgeNode._parent = nodes[index + 1];\n cycleEdgeNode._parent.uncycle();\n cycleEdgeNode._length =\n cycleEdgeNode._parent._length + 1;\n } else {\n cycleEdgeNode._parent = undefined;\n cycleEdgeNode._length = 1;\n }\n var currentChildLength = cycleEdgeNode._length + 1;\n for (var j = i - 2; j >= 0; --j) {\n nodes[j]._length = currentChildLength;\n currentChildLength++;\n }\n return;\n }\n }\n};\n\nCapturedTrace.prototype.attachExtraTrace = function(error) {\n if (error.__stackCleaned__) return;\n this.uncycle();\n var parsed = parseStackAndMessage(error);\n var message = parsed.message;\n var stacks = [parsed.stack];\n\n var trace = this;\n while (trace !== undefined) {\n stacks.push(cleanStack(trace.stack.split(\"\\n\")));\n trace = trace._parent;\n }\n removeCommonRoots(stacks);\n removeDuplicateOrEmptyJumps(stacks);\n util.notEnumerableProp(error, \"stack\", reconstructStack(message, stacks));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n};\n\nvar captureStackTrace = (function stackDetection() {\n var v8stackFramePattern = /^\\s*at\\s*/;\n var v8stackFormatter = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if (error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n if (typeof Error.stackTraceLimit === \"number\" &&\n typeof Error.captureStackTrace === \"function\") {\n Error.stackTraceLimit += 6;\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n var captureStackTrace = Error.captureStackTrace;\n\n shouldIgnore = function(line) {\n return bluebirdFramePattern.test(line);\n };\n return function(receiver, ignoreUntil) {\n Error.stackTraceLimit += 6;\n captureStackTrace(receiver, ignoreUntil);\n Error.stackTraceLimit -= 6;\n };\n }\n var err = new Error();\n\n if (typeof err.stack === \"string\" &&\n err.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\") >= 0) {\n stackFramePattern = /@/;\n formatStack = v8stackFormatter;\n indentStackFrames = true;\n return function captureStackTrace(o) {\n o.stack = new Error().stack;\n };\n }\n\n var hasStackAfterThrow;\n try { throw new Error(); }\n catch(e) {\n hasStackAfterThrow = (\"stack\" in e);\n }\n if (!(\"stack\" in err) && hasStackAfterThrow &&\n typeof Error.stackTraceLimit === \"number\") {\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n return function captureStackTrace(o) {\n Error.stackTraceLimit += 6;\n try { throw new Error(); }\n catch(e) { o.stack = e.stack; }\n Error.stackTraceLimit -= 6;\n };\n }\n\n formatStack = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if ((typeof error === \"object\" ||\n typeof error === \"function\") &&\n error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n return null;\n\n})([]);\n\nif (typeof console !== \"undefined\" && typeof console.warn !== \"undefined\") {\n printWarning = function (message) {\n console.warn(message);\n };\n if (util.isNode && process.stderr.isTTY) {\n printWarning = function(message, isSoft) {\n var color = isSoft ? \"\\u001b[33m\" : \"\\u001b[31m\";\n console.warn(color + message + \"\\u001b[0m\\n\");\n };\n } else if (!util.isNode && typeof (new Error().stack) === \"string\") {\n printWarning = function(message, isSoft) {\n console.warn(\"%c\" + message,\n isSoft ? \"color: darkorange\" : \"color: red\");\n };\n }\n}\n\nvar config = {\n warnings: warnings,\n longStackTraces: false,\n cancellation: false,\n monitoring: false\n};\n\nif (longStackTraces) Promise.longStackTraces();\n\nreturn {\n longStackTraces: function() {\n return config.longStackTraces;\n },\n warnings: function() {\n return config.warnings;\n },\n cancellation: function() {\n return config.cancellation;\n },\n monitoring: function() {\n return config.monitoring;\n },\n propagateFromFunction: function() {\n return propagateFromFunction;\n },\n boundValueFunction: function() {\n return boundValueFunction;\n },\n checkForgottenReturns: checkForgottenReturns,\n setBounds: setBounds,\n warn: warn,\n deprecated: deprecated,\n CapturedTrace: CapturedTrace,\n fireDomEvent: fireDomEvent,\n fireGlobalEvent: fireGlobalEvent\n};\n};\n\n},{\"./errors\":12,\"./es5\":13,\"./util\":36}],10:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nfunction returner() {\n return this.value;\n}\nfunction thrower() {\n throw this.reason;\n}\n\nPromise.prototype[\"return\"] =\nPromise.prototype.thenReturn = function (value) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n returner, undefined, undefined, {value: value}, undefined);\n};\n\nPromise.prototype[\"throw\"] =\nPromise.prototype.thenThrow = function (reason) {\n return this._then(\n thrower, undefined, undefined, {reason: reason}, undefined);\n};\n\nPromise.prototype.catchThrow = function (reason) {\n if (arguments.length <= 1) {\n return this._then(\n undefined, thrower, undefined, {reason: reason}, undefined);\n } else {\n var _reason = arguments[1];\n var handler = function() {throw _reason;};\n return this.caught(reason, handler);\n }\n};\n\nPromise.prototype.catchReturn = function (value) {\n if (arguments.length <= 1) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n undefined, returner, undefined, {value: value}, undefined);\n } else {\n var _value = arguments[1];\n if (_value instanceof Promise) _value.suppressUnhandledRejections();\n var handler = function() {return _value;};\n return this.caught(value, handler);\n }\n};\n};\n\n},{}],11:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseReduce = Promise.reduce;\nvar PromiseAll = Promise.all;\n\nfunction promiseAllThis() {\n return PromiseAll(this);\n}\n\nfunction PromiseMapSeries(promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, INTERNAL);\n}\n\nPromise.prototype.each = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, this, undefined);\n};\n\nPromise.prototype.mapSeries = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, INTERNAL);\n};\n\nPromise.each = function (promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, promises, undefined);\n};\n\nPromise.mapSeries = PromiseMapSeries;\n};\n\n\n},{}],12:[function(_dereq_,module,exports){\n\"use strict\";\nvar es5 = _dereq_(\"./es5\");\nvar Objectfreeze = es5.freeze;\nvar util = _dereq_(\"./util\");\nvar inherits = util.inherits;\nvar notEnumerableProp = util.notEnumerableProp;\n\nfunction subError(nameProperty, defaultMessage) {\n function SubError(message) {\n if (!(this instanceof SubError)) return new SubError(message);\n notEnumerableProp(this, \"message\",\n typeof message === \"string\" ? message : defaultMessage);\n notEnumerableProp(this, \"name\", nameProperty);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n Error.call(this);\n }\n }\n inherits(SubError, Error);\n return SubError;\n}\n\nvar _TypeError, _RangeError;\nvar Warning = subError(\"Warning\", \"warning\");\nvar CancellationError = subError(\"CancellationError\", \"cancellation error\");\nvar TimeoutError = subError(\"TimeoutError\", \"timeout error\");\nvar AggregateError = subError(\"AggregateError\", \"aggregate error\");\ntry {\n _TypeError = TypeError;\n _RangeError = RangeError;\n} catch(e) {\n _TypeError = subError(\"TypeError\", \"type error\");\n _RangeError = subError(\"RangeError\", \"range error\");\n}\n\nvar methods = (\"join pop push shift unshift slice filter forEach some \" +\n \"every map indexOf lastIndexOf reduce reduceRight sort reverse\").split(\" \");\n\nfor (var i = 0; i < methods.length; ++i) {\n if (typeof Array.prototype[methods[i]] === \"function\") {\n AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];\n }\n}\n\nes5.defineProperty(AggregateError.prototype, \"length\", {\n value: 0,\n configurable: false,\n writable: true,\n enumerable: true\n});\nAggregateError.prototype[\"isOperational\"] = true;\nvar level = 0;\nAggregateError.prototype.toString = function() {\n var indent = Array(level * 4 + 1).join(\" \");\n var ret = \"\\n\" + indent + \"AggregateError of:\" + \"\\n\";\n level++;\n indent = Array(level * 4 + 1).join(\" \");\n for (var i = 0; i < this.length; ++i) {\n var str = this[i] === this ? \"[Circular AggregateError]\" : this[i] + \"\";\n var lines = str.split(\"\\n\");\n for (var j = 0; j < lines.length; ++j) {\n lines[j] = indent + lines[j];\n }\n str = lines.join(\"\\n\");\n ret += str + \"\\n\";\n }\n level--;\n return ret;\n};\n\nfunction OperationalError(message) {\n if (!(this instanceof OperationalError))\n return new OperationalError(message);\n notEnumerableProp(this, \"name\", \"OperationalError\");\n notEnumerableProp(this, \"message\", message);\n this.cause = message;\n this[\"isOperational\"] = true;\n\n if (message instanceof Error) {\n notEnumerableProp(this, \"message\", message.message);\n notEnumerableProp(this, \"stack\", message.stack);\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n}\ninherits(OperationalError, Error);\n\nvar errorTypes = Error[\"__BluebirdErrorTypes__\"];\nif (!errorTypes) {\n errorTypes = Objectfreeze({\n CancellationError: CancellationError,\n TimeoutError: TimeoutError,\n OperationalError: OperationalError,\n RejectionError: OperationalError,\n AggregateError: AggregateError\n });\n es5.defineProperty(Error, \"__BluebirdErrorTypes__\", {\n value: errorTypes,\n writable: false,\n enumerable: false,\n configurable: false\n });\n}\n\nmodule.exports = {\n Error: Error,\n TypeError: _TypeError,\n RangeError: _RangeError,\n CancellationError: errorTypes.CancellationError,\n OperationalError: errorTypes.OperationalError,\n TimeoutError: errorTypes.TimeoutError,\n AggregateError: errorTypes.AggregateError,\n Warning: Warning\n};\n\n},{\"./es5\":13,\"./util\":36}],13:[function(_dereq_,module,exports){\nvar isES5 = (function(){\n \"use strict\";\n return this === undefined;\n})();\n\nif (isES5) {\n module.exports = {\n freeze: Object.freeze,\n defineProperty: Object.defineProperty,\n getDescriptor: Object.getOwnPropertyDescriptor,\n keys: Object.keys,\n names: Object.getOwnPropertyNames,\n getPrototypeOf: Object.getPrototypeOf,\n isArray: Array.isArray,\n isES5: isES5,\n propertyIsWritable: function(obj, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n return !!(!descriptor || descriptor.writable || descriptor.set);\n }\n };\n} else {\n var has = {}.hasOwnProperty;\n var str = {}.toString;\n var proto = {}.constructor.prototype;\n\n var ObjectKeys = function (o) {\n var ret = [];\n for (var key in o) {\n if (has.call(o, key)) {\n ret.push(key);\n }\n }\n return ret;\n };\n\n var ObjectGetDescriptor = function(o, key) {\n return {value: o[key]};\n };\n\n var ObjectDefineProperty = function (o, key, desc) {\n o[key] = desc.value;\n return o;\n };\n\n var ObjectFreeze = function (obj) {\n return obj;\n };\n\n var ObjectGetPrototypeOf = function (obj) {\n try {\n return Object(obj).constructor.prototype;\n }\n catch (e) {\n return proto;\n }\n };\n\n var ArrayIsArray = function (obj) {\n try {\n return str.call(obj) === \"[object Array]\";\n }\n catch(e) {\n return false;\n }\n };\n\n module.exports = {\n isArray: ArrayIsArray,\n keys: ObjectKeys,\n names: ObjectKeys,\n defineProperty: ObjectDefineProperty,\n getDescriptor: ObjectGetDescriptor,\n freeze: ObjectFreeze,\n getPrototypeOf: ObjectGetPrototypeOf,\n isES5: isES5,\n propertyIsWritable: function() {\n return true;\n }\n };\n}\n\n},{}],14:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseMap = Promise.map;\n\nPromise.prototype.filter = function (fn, options) {\n return PromiseMap(this, fn, options, INTERNAL);\n};\n\nPromise.filter = function (promises, fn, options) {\n return PromiseMap(promises, fn, options, INTERNAL);\n};\n};\n\n},{}],15:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) {\nvar util = _dereq_(\"./util\");\nvar CancellationError = Promise.CancellationError;\nvar errorObj = util.errorObj;\nvar catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\n\nfunction PassThroughHandlerContext(promise, type, handler) {\n this.promise = promise;\n this.type = type;\n this.handler = handler;\n this.called = false;\n this.cancelPromise = null;\n}\n\nPassThroughHandlerContext.prototype.isFinallyHandler = function() {\n return this.type === 0;\n};\n\nfunction FinallyHandlerCancelReaction(finallyHandler) {\n this.finallyHandler = finallyHandler;\n}\n\nFinallyHandlerCancelReaction.prototype._resultCancelled = function() {\n checkCancel(this.finallyHandler);\n};\n\nfunction checkCancel(ctx, reason) {\n if (ctx.cancelPromise != null) {\n if (arguments.length > 1) {\n ctx.cancelPromise._reject(reason);\n } else {\n ctx.cancelPromise._cancel();\n }\n ctx.cancelPromise = null;\n return true;\n }\n return false;\n}\n\nfunction succeed() {\n return finallyHandler.call(this, this.promise._target()._settledValue());\n}\nfunction fail(reason) {\n if (checkCancel(this, reason)) return;\n errorObj.e = reason;\n return errorObj;\n}\nfunction finallyHandler(reasonOrValue) {\n var promise = this.promise;\n var handler = this.handler;\n\n if (!this.called) {\n this.called = true;\n var ret = this.isFinallyHandler()\n ? handler.call(promise._boundValue())\n : handler.call(promise._boundValue(), reasonOrValue);\n if (ret === NEXT_FILTER) {\n return ret;\n } else if (ret !== undefined) {\n promise._setReturnedNonUndefined();\n var maybePromise = tryConvertToPromise(ret, promise);\n if (maybePromise instanceof Promise) {\n if (this.cancelPromise != null) {\n if (maybePromise._isCancelled()) {\n var reason =\n new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n errorObj.e = reason;\n return errorObj;\n } else if (maybePromise.isPending()) {\n maybePromise._attachCancellationCallback(\n new FinallyHandlerCancelReaction(this));\n }\n }\n return maybePromise._then(\n succeed, fail, undefined, this, undefined);\n }\n }\n }\n\n if (promise.isRejected()) {\n checkCancel(this);\n errorObj.e = reasonOrValue;\n return errorObj;\n } else {\n checkCancel(this);\n return reasonOrValue;\n }\n}\n\nPromise.prototype._passThrough = function(handler, type, success, fail) {\n if (typeof handler !== \"function\") return this.then();\n return this._then(success,\n fail,\n undefined,\n new PassThroughHandlerContext(this, type, handler),\n undefined);\n};\n\nPromise.prototype.lastly =\nPromise.prototype[\"finally\"] = function (handler) {\n return this._passThrough(handler,\n 0,\n finallyHandler,\n finallyHandler);\n};\n\n\nPromise.prototype.tap = function (handler) {\n return this._passThrough(handler, 1, finallyHandler);\n};\n\nPromise.prototype.tapCatch = function (handlerOrPredicate) {\n var len = arguments.length;\n if(len === 1) {\n return this._passThrough(handlerOrPredicate,\n 1,\n undefined,\n finallyHandler);\n } else {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return Promise.reject(new TypeError(\n \"tapCatch statement predicate: \"\n + \"expecting an object but got \" + util.classString(item)\n ));\n }\n }\n catchInstances.length = j;\n var handler = arguments[i];\n return this._passThrough(catchFilter(catchInstances, handler, this),\n 1,\n undefined,\n finallyHandler);\n }\n\n};\n\nreturn PassThroughHandlerContext;\n};\n\n},{\"./catch_filter\":7,\"./util\":36}],16:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n apiRejection,\n INTERNAL,\n tryConvertToPromise,\n Proxyable,\n debug) {\nvar errors = _dereq_(\"./errors\");\nvar TypeError = errors.TypeError;\nvar util = _dereq_(\"./util\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nvar yieldHandlers = [];\n\nfunction promiseFromYieldHandler(value, yieldHandlers, traceParent) {\n for (var i = 0; i < yieldHandlers.length; ++i) {\n traceParent._pushContext();\n var result = tryCatch(yieldHandlers[i])(value);\n traceParent._popContext();\n if (result === errorObj) {\n traceParent._pushContext();\n var ret = Promise.reject(errorObj.e);\n traceParent._popContext();\n return ret;\n }\n var maybePromise = tryConvertToPromise(result, traceParent);\n if (maybePromise instanceof Promise) return maybePromise;\n }\n return null;\n}\n\nfunction PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {\n if (debug.cancellation()) {\n var internal = new Promise(INTERNAL);\n var _finallyPromise = this._finallyPromise = new Promise(INTERNAL);\n this._promise = internal.lastly(function() {\n return _finallyPromise;\n });\n internal._captureStackTrace();\n internal._setOnCancel(this);\n } else {\n var promise = this._promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n }\n this._stack = stack;\n this._generatorFunction = generatorFunction;\n this._receiver = receiver;\n this._generator = undefined;\n this._yieldHandlers = typeof yieldHandler === \"function\"\n ? [yieldHandler].concat(yieldHandlers)\n : yieldHandlers;\n this._yieldedPromise = null;\n this._cancellationPhase = false;\n}\nutil.inherits(PromiseSpawn, Proxyable);\n\nPromiseSpawn.prototype._isResolved = function() {\n return this._promise === null;\n};\n\nPromiseSpawn.prototype._cleanup = function() {\n this._promise = this._generator = null;\n if (debug.cancellation() && this._finallyPromise !== null) {\n this._finallyPromise._fulfill();\n this._finallyPromise = null;\n }\n};\n\nPromiseSpawn.prototype._promiseCancelled = function() {\n if (this._isResolved()) return;\n var implementsReturn = typeof this._generator[\"return\"] !== \"undefined\";\n\n var result;\n if (!implementsReturn) {\n var reason = new Promise.CancellationError(\n \"generator .return() sentinel\");\n Promise.coroutine.returnSentinel = reason;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n result = tryCatch(this._generator[\"throw\"]).call(this._generator,\n reason);\n this._promise._popContext();\n } else {\n this._promise._pushContext();\n result = tryCatch(this._generator[\"return\"]).call(this._generator,\n undefined);\n this._promise._popContext();\n }\n this._cancellationPhase = true;\n this._yieldedPromise = null;\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseFulfilled = function(value) {\n this._yieldedPromise = null;\n this._promise._pushContext();\n var result = tryCatch(this._generator.next).call(this._generator, value);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseRejected = function(reason) {\n this._yieldedPromise = null;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n var result = tryCatch(this._generator[\"throw\"])\n .call(this._generator, reason);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._resultCancelled = function() {\n if (this._yieldedPromise instanceof Promise) {\n var promise = this._yieldedPromise;\n this._yieldedPromise = null;\n promise.cancel();\n }\n};\n\nPromiseSpawn.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseSpawn.prototype._run = function () {\n this._generator = this._generatorFunction.call(this._receiver);\n this._receiver =\n this._generatorFunction = undefined;\n this._promiseFulfilled(undefined);\n};\n\nPromiseSpawn.prototype._continue = function (result) {\n var promise = this._promise;\n if (result === errorObj) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._rejectCallback(result.e, false);\n }\n }\n\n var value = result.value;\n if (result.done === true) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._resolveCallback(value);\n }\n } else {\n var maybePromise = tryConvertToPromise(value, this._promise);\n if (!(maybePromise instanceof Promise)) {\n maybePromise =\n promiseFromYieldHandler(maybePromise,\n this._yieldHandlers,\n this._promise);\n if (maybePromise === null) {\n this._promiseRejected(\n new TypeError(\n \"A value %s was yielded that could not be treated as a promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\\u000a\".replace(\"%s\", String(value)) +\n \"From coroutine:\\u000a\" +\n this._stack.split(\"\\n\").slice(1, -7).join(\"\\n\")\n )\n );\n return;\n }\n }\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n this._yieldedPromise = maybePromise;\n maybePromise._proxy(this, null);\n } else if (((bitField & 33554432) !== 0)) {\n Promise._async.invoke(\n this._promiseFulfilled, this, maybePromise._value()\n );\n } else if (((bitField & 16777216) !== 0)) {\n Promise._async.invoke(\n this._promiseRejected, this, maybePromise._reason()\n );\n } else {\n this._promiseCancelled();\n }\n }\n};\n\nPromise.coroutine = function (generatorFunction, options) {\n if (typeof generatorFunction !== \"function\") {\n throw new TypeError(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var yieldHandler = Object(options).yieldHandler;\n var PromiseSpawn$ = PromiseSpawn;\n var stack = new Error().stack;\n return function () {\n var generator = generatorFunction.apply(this, arguments);\n var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler,\n stack);\n var ret = spawn.promise();\n spawn._generator = generator;\n spawn._promiseFulfilled(undefined);\n return ret;\n };\n};\n\nPromise.coroutine.addYieldHandler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n yieldHandlers.push(fn);\n};\n\nPromise.spawn = function (generatorFunction) {\n debug.deprecated(\"Promise.spawn()\", \"Promise.coroutine()\");\n if (typeof generatorFunction !== \"function\") {\n return apiRejection(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var spawn = new PromiseSpawn(generatorFunction, this);\n var ret = spawn.promise();\n spawn._run(Promise.spawn);\n return ret;\n};\n};\n\n},{\"./errors\":12,\"./util\":36}],17:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async,\n getDomain) {\nvar util = _dereq_(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar reject;\n\nif (false) { var i, promiseSetters, thenCallbacks, holderClasses, generateHolderClass, promiseSetter, thenCallback; }\n\nPromise.join = function () {\n var last = arguments.length - 1;\n var fn;\n if (last > 0 && typeof arguments[last] === \"function\") {\n fn = arguments[last];\n if (false) { var domain, bitField, maybePromise, i, callbacks, holder, HolderClass, ret; }\n }\n var args = [].slice.call(arguments);;\n if (fn) args.pop();\n var ret = new PromiseArray(args).promise();\n return fn !== undefined ? ret.spread(fn) : ret;\n};\n\n};\n\n},{\"./util\":36}],18:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nfunction MappingPromiseArray(promises, fn, limit, _filter) {\n this.constructor$(promises);\n this._promise._captureStackTrace();\n var domain = getDomain();\n this._callback = domain === null ? fn : util.domainBind(domain, fn);\n this._preservedValues = _filter === INTERNAL\n ? new Array(this.length())\n : null;\n this._limit = limit;\n this._inFlight = 0;\n this._queue = [];\n async.invoke(this._asyncInit, this, undefined);\n}\nutil.inherits(MappingPromiseArray, PromiseArray);\n\nMappingPromiseArray.prototype._asyncInit = function() {\n this._init$(undefined, -2);\n};\n\nMappingPromiseArray.prototype._init = function () {};\n\nMappingPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var values = this._values;\n var length = this.length();\n var preservedValues = this._preservedValues;\n var limit = this._limit;\n\n if (index < 0) {\n index = (index * -1) - 1;\n values[index] = value;\n if (limit >= 1) {\n this._inFlight--;\n this._drainQueue();\n if (this._isResolved()) return true;\n }\n } else {\n if (limit >= 1 && this._inFlight >= limit) {\n values[index] = value;\n this._queue.push(index);\n return false;\n }\n if (preservedValues !== null) preservedValues[index] = value;\n\n var promise = this._promise;\n var callback = this._callback;\n var receiver = promise._boundValue();\n promise._pushContext();\n var ret = tryCatch(callback).call(receiver, value, index, length);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n preservedValues !== null ? \"Promise.filter\" : \"Promise.map\",\n promise\n );\n if (ret === errorObj) {\n this._reject(ret.e);\n return true;\n }\n\n var maybePromise = tryConvertToPromise(ret, this._promise);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n if (limit >= 1) this._inFlight++;\n values[index] = maybePromise;\n maybePromise._proxy(this, (index + 1) * -1);\n return false;\n } else if (((bitField & 33554432) !== 0)) {\n ret = maybePromise._value();\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(maybePromise._reason());\n return true;\n } else {\n this._cancel();\n return true;\n }\n }\n values[index] = ret;\n }\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= length) {\n if (preservedValues !== null) {\n this._filter(values, preservedValues);\n } else {\n this._resolve(values);\n }\n return true;\n }\n return false;\n};\n\nMappingPromiseArray.prototype._drainQueue = function () {\n var queue = this._queue;\n var limit = this._limit;\n var values = this._values;\n while (queue.length > 0 && this._inFlight < limit) {\n if (this._isResolved()) return;\n var index = queue.pop();\n this._promiseFulfilled(values[index], index);\n }\n};\n\nMappingPromiseArray.prototype._filter = function (booleans, values) {\n var len = values.length;\n var ret = new Array(len);\n var j = 0;\n for (var i = 0; i < len; ++i) {\n if (booleans[i]) ret[j++] = values[i];\n }\n ret.length = j;\n this._resolve(ret);\n};\n\nMappingPromiseArray.prototype.preservedValues = function () {\n return this._preservedValues;\n};\n\nfunction map(promises, fn, options, _filter) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var limit = 0;\n if (options !== undefined) {\n if (typeof options === \"object\" && options !== null) {\n if (typeof options.concurrency !== \"number\") {\n return Promise.reject(\n new TypeError(\"'concurrency' must be a number but it is \" +\n util.classString(options.concurrency)));\n }\n limit = options.concurrency;\n } else {\n return Promise.reject(new TypeError(\n \"options argument must be an object but it is \" +\n util.classString(options)));\n }\n }\n limit = typeof limit === \"number\" &&\n isFinite(limit) && limit >= 1 ? limit : 0;\n return new MappingPromiseArray(promises, fn, limit, _filter).promise();\n}\n\nPromise.prototype.map = function (fn, options) {\n return map(this, fn, options, null);\n};\n\nPromise.map = function (promises, fn, options, _filter) {\n return map(promises, fn, options, _filter);\n};\n\n\n};\n\n},{\"./util\":36}],19:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\n\nPromise.method = function (fn) {\n if (typeof fn !== \"function\") {\n throw new Promise.TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return function () {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value = tryCatch(fn).apply(this, arguments);\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.method\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n };\n};\n\nPromise.attempt = Promise[\"try\"] = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value;\n if (arguments.length > 1) {\n debug.deprecated(\"calling Promise.try with more than 1 argument\");\n var arg = arguments[1];\n var ctx = arguments[2];\n value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg)\n : tryCatch(fn).call(ctx, arg);\n } else {\n value = tryCatch(fn)();\n }\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.try\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n};\n\nPromise.prototype._resolveFromSyncValue = function (value) {\n if (value === util.errorObj) {\n this._rejectCallback(value.e, false);\n } else {\n this._resolveCallback(value, true);\n }\n};\n};\n\n},{\"./util\":36}],20:[function(_dereq_,module,exports){\n\"use strict\";\nvar util = _dereq_(\"./util\");\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar errors = _dereq_(\"./errors\");\nvar OperationalError = errors.OperationalError;\nvar es5 = _dereq_(\"./es5\");\n\nfunction isUntypedError(obj) {\n return obj instanceof Error &&\n es5.getPrototypeOf(obj) === Error.prototype;\n}\n\nvar rErrorKey = /^(?:name|message|stack|cause)$/;\nfunction wrapAsOperationalError(obj) {\n var ret;\n if (isUntypedError(obj)) {\n ret = new OperationalError(obj);\n ret.name = obj.name;\n ret.message = obj.message;\n ret.stack = obj.stack;\n var keys = es5.keys(obj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!rErrorKey.test(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n }\n util.markAsOriginatingFromRejection(obj);\n return obj;\n}\n\nfunction nodebackForPromise(promise, multiArgs) {\n return function(err, value) {\n if (promise === null) return;\n if (err) {\n var wrapped = wrapAsOperationalError(maybeWrapAsError(err));\n promise._attachExtraTrace(wrapped);\n promise._reject(wrapped);\n } else if (!multiArgs) {\n promise._fulfill(value);\n } else {\n var args = [].slice.call(arguments, 1);;\n promise._fulfill(args);\n }\n promise = null;\n };\n}\n\nmodule.exports = nodebackForPromise;\n\n},{\"./errors\":12,\"./es5\":13,\"./util\":36}],21:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nvar util = _dereq_(\"./util\");\nvar async = Promise._async;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction spreadAdapter(val, nodeback) {\n var promise = this;\n if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback);\n var ret =\n tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val));\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nfunction successAdapter(val, nodeback) {\n var promise = this;\n var receiver = promise._boundValue();\n var ret = val === undefined\n ? tryCatch(nodeback).call(receiver, null)\n : tryCatch(nodeback).call(receiver, null, val);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\nfunction errorAdapter(reason, nodeback) {\n var promise = this;\n if (!reason) {\n var newReason = new Error(reason + \"\");\n newReason.cause = reason;\n reason = newReason;\n }\n var ret = tryCatch(nodeback).call(promise._boundValue(), reason);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nPromise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback,\n options) {\n if (typeof nodeback == \"function\") {\n var adapter = successAdapter;\n if (options !== undefined && Object(options).spread) {\n adapter = spreadAdapter;\n }\n this._then(\n adapter,\n errorAdapter,\n undefined,\n this,\n nodeback\n );\n }\n return this;\n};\n};\n\n},{\"./util\":36}],22:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function() {\nvar makeSelfResolutionError = function () {\n return new TypeError(\"circular promise resolution chain\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar reflectHandler = function() {\n return new Promise.PromiseInspection(this._target());\n};\nvar apiRejection = function(msg) {\n return Promise.reject(new TypeError(msg));\n};\nfunction Proxyable() {}\nvar UNDEFINED_BINDING = {};\nvar util = _dereq_(\"./util\");\n\nvar getDomain;\nif (util.isNode) {\n getDomain = function() {\n var ret = process.domain;\n if (ret === undefined) ret = null;\n return ret;\n };\n} else {\n getDomain = function() {\n return null;\n };\n}\nutil.notEnumerableProp(Promise, \"_getDomain\", getDomain);\n\nvar es5 = _dereq_(\"./es5\");\nvar Async = _dereq_(\"./async\");\nvar async = new Async();\nes5.defineProperty(Promise, \"_async\", {value: async});\nvar errors = _dereq_(\"./errors\");\nvar TypeError = Promise.TypeError = errors.TypeError;\nPromise.RangeError = errors.RangeError;\nvar CancellationError = Promise.CancellationError = errors.CancellationError;\nPromise.TimeoutError = errors.TimeoutError;\nPromise.OperationalError = errors.OperationalError;\nPromise.RejectionError = errors.OperationalError;\nPromise.AggregateError = errors.AggregateError;\nvar INTERNAL = function(){};\nvar APPLY = {};\nvar NEXT_FILTER = {};\nvar tryConvertToPromise = _dereq_(\"./thenables\")(Promise, INTERNAL);\nvar PromiseArray =\n _dereq_(\"./promise_array\")(Promise, INTERNAL,\n tryConvertToPromise, apiRejection, Proxyable);\nvar Context = _dereq_(\"./context\")(Promise);\n /*jshint unused:false*/\nvar createContext = Context.create;\nvar debug = _dereq_(\"./debuggability\")(Promise, Context);\nvar CapturedTrace = debug.CapturedTrace;\nvar PassThroughHandlerContext =\n _dereq_(\"./finally\")(Promise, tryConvertToPromise, NEXT_FILTER);\nvar catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\nvar nodebackForPromise = _dereq_(\"./nodeback\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nfunction check(self, executor) {\n if (self == null || self.constructor !== Promise) {\n throw new TypeError(\"the promise constructor cannot be invoked directly\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (typeof executor !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(executor));\n }\n\n}\n\nfunction Promise(executor) {\n if (executor !== INTERNAL) {\n check(this, executor);\n }\n this._bitField = 0;\n this._fulfillmentHandler0 = undefined;\n this._rejectionHandler0 = undefined;\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._resolveFromExecutor(executor);\n this._promiseCreated();\n this._fireEvent(\"promiseCreated\", this);\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.caught = Promise.prototype[\"catch\"] = function (fn) {\n var len = arguments.length;\n if (len > 1) {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return apiRejection(\"Catch statement predicate: \" +\n \"expecting an object but got \" + util.classString(item));\n }\n }\n catchInstances.length = j;\n fn = arguments[i];\n return this.then(undefined, catchFilter(catchInstances, fn, this));\n }\n return this.then(undefined, fn);\n};\n\nPromise.prototype.reflect = function () {\n return this._then(reflectHandler,\n reflectHandler, undefined, this, undefined);\n};\n\nPromise.prototype.then = function (didFulfill, didReject) {\n if (debug.warnings() && arguments.length > 0 &&\n typeof didFulfill !== \"function\" &&\n typeof didReject !== \"function\") {\n var msg = \".then() only accepts functions but was passed: \" +\n util.classString(didFulfill);\n if (arguments.length > 1) {\n msg += \", \" + util.classString(didReject);\n }\n this._warn(msg);\n }\n return this._then(didFulfill, didReject, undefined, undefined, undefined);\n};\n\nPromise.prototype.done = function (didFulfill, didReject) {\n var promise =\n this._then(didFulfill, didReject, undefined, undefined, undefined);\n promise._setIsFinal();\n};\n\nPromise.prototype.spread = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n return this.all()._then(fn, undefined, undefined, APPLY, undefined);\n};\n\nPromise.prototype.toJSON = function () {\n var ret = {\n isFulfilled: false,\n isRejected: false,\n fulfillmentValue: undefined,\n rejectionReason: undefined\n };\n if (this.isFulfilled()) {\n ret.fulfillmentValue = this.value();\n ret.isFulfilled = true;\n } else if (this.isRejected()) {\n ret.rejectionReason = this.reason();\n ret.isRejected = true;\n }\n return ret;\n};\n\nPromise.prototype.all = function () {\n if (arguments.length > 0) {\n this._warn(\".all() was passed arguments but it does not take any\");\n }\n return new PromiseArray(this).promise();\n};\n\nPromise.prototype.error = function (fn) {\n return this.caught(util.originatesFromRejection, fn);\n};\n\nPromise.getNewLibraryCopy = module.exports;\n\nPromise.is = function (val) {\n return val instanceof Promise;\n};\n\nPromise.fromNode = Promise.fromCallback = function(fn) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs\n : false;\n var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));\n if (result === errorObj) {\n ret._rejectCallback(result.e, true);\n }\n if (!ret._isFateSealed()) ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.all = function (promises) {\n return new PromiseArray(promises).promise();\n};\n\nPromise.cast = function (obj) {\n var ret = tryConvertToPromise(obj);\n if (!(ret instanceof Promise)) {\n ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._setFulfilled();\n ret._rejectionHandler0 = obj;\n }\n return ret;\n};\n\nPromise.resolve = Promise.fulfilled = Promise.cast;\n\nPromise.reject = Promise.rejected = function (reason) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._rejectCallback(reason, true);\n return ret;\n};\n\nPromise.setScheduler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return async.setScheduler(fn);\n};\n\nPromise.prototype._then = function (\n didFulfill,\n didReject,\n _, receiver,\n internalData\n) {\n var haveInternalData = internalData !== undefined;\n var promise = haveInternalData ? internalData : new Promise(INTERNAL);\n var target = this._target();\n var bitField = target._bitField;\n\n if (!haveInternalData) {\n promise._propagateFrom(this, 3);\n promise._captureStackTrace();\n if (receiver === undefined &&\n ((this._bitField & 2097152) !== 0)) {\n if (!((bitField & 50397184) === 0)) {\n receiver = this._boundValue();\n } else {\n receiver = target === this ? undefined : this._boundTo;\n }\n }\n this._fireEvent(\"promiseChained\", this, promise);\n }\n\n var domain = getDomain();\n if (!((bitField & 50397184) === 0)) {\n var handler, value, settler = target._settlePromiseCtx;\n if (((bitField & 33554432) !== 0)) {\n value = target._rejectionHandler0;\n handler = didFulfill;\n } else if (((bitField & 16777216) !== 0)) {\n value = target._fulfillmentHandler0;\n handler = didReject;\n target._unsetRejectionIsUnhandled();\n } else {\n settler = target._settlePromiseLateCancellationObserver;\n value = new CancellationError(\"late cancellation observer\");\n target._attachExtraTrace(value);\n handler = didReject;\n }\n\n async.invoke(settler, target, {\n handler: domain === null ? handler\n : (typeof handler === \"function\" &&\n util.domainBind(domain, handler)),\n promise: promise,\n receiver: receiver,\n value: value\n });\n } else {\n target._addCallbacks(didFulfill, didReject, promise, receiver, domain);\n }\n\n return promise;\n};\n\nPromise.prototype._length = function () {\n return this._bitField & 65535;\n};\n\nPromise.prototype._isFateSealed = function () {\n return (this._bitField & 117506048) !== 0;\n};\n\nPromise.prototype._isFollowing = function () {\n return (this._bitField & 67108864) === 67108864;\n};\n\nPromise.prototype._setLength = function (len) {\n this._bitField = (this._bitField & -65536) |\n (len & 65535);\n};\n\nPromise.prototype._setFulfilled = function () {\n this._bitField = this._bitField | 33554432;\n this._fireEvent(\"promiseFulfilled\", this);\n};\n\nPromise.prototype._setRejected = function () {\n this._bitField = this._bitField | 16777216;\n this._fireEvent(\"promiseRejected\", this);\n};\n\nPromise.prototype._setFollowing = function () {\n this._bitField = this._bitField | 67108864;\n this._fireEvent(\"promiseResolved\", this);\n};\n\nPromise.prototype._setIsFinal = function () {\n this._bitField = this._bitField | 4194304;\n};\n\nPromise.prototype._isFinal = function () {\n return (this._bitField & 4194304) > 0;\n};\n\nPromise.prototype._unsetCancelled = function() {\n this._bitField = this._bitField & (~65536);\n};\n\nPromise.prototype._setCancelled = function() {\n this._bitField = this._bitField | 65536;\n this._fireEvent(\"promiseCancelled\", this);\n};\n\nPromise.prototype._setWillBeCancelled = function() {\n this._bitField = this._bitField | 8388608;\n};\n\nPromise.prototype._setAsyncGuaranteed = function() {\n if (async.hasCustomScheduler()) return;\n this._bitField = this._bitField | 134217728;\n};\n\nPromise.prototype._receiverAt = function (index) {\n var ret = index === 0 ? this._receiver0 : this[\n index * 4 - 4 + 3];\n if (ret === UNDEFINED_BINDING) {\n return undefined;\n } else if (ret === undefined && this._isBound()) {\n return this._boundValue();\n }\n return ret;\n};\n\nPromise.prototype._promiseAt = function (index) {\n return this[\n index * 4 - 4 + 2];\n};\n\nPromise.prototype._fulfillmentHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 0];\n};\n\nPromise.prototype._rejectionHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 1];\n};\n\nPromise.prototype._boundValue = function() {};\n\nPromise.prototype._migrateCallback0 = function (follower) {\n var bitField = follower._bitField;\n var fulfill = follower._fulfillmentHandler0;\n var reject = follower._rejectionHandler0;\n var promise = follower._promise0;\n var receiver = follower._receiverAt(0);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._migrateCallbackAt = function (follower, index) {\n var fulfill = follower._fulfillmentHandlerAt(index);\n var reject = follower._rejectionHandlerAt(index);\n var promise = follower._promiseAt(index);\n var receiver = follower._receiverAt(index);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._addCallbacks = function (\n fulfill,\n reject,\n promise,\n receiver,\n domain\n) {\n var index = this._length();\n\n if (index >= 65535 - 4) {\n index = 0;\n this._setLength(0);\n }\n\n if (index === 0) {\n this._promise0 = promise;\n this._receiver0 = receiver;\n if (typeof fulfill === \"function\") {\n this._fulfillmentHandler0 =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this._rejectionHandler0 =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n } else {\n var base = index * 4 - 4;\n this[base + 2] = promise;\n this[base + 3] = receiver;\n if (typeof fulfill === \"function\") {\n this[base + 0] =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this[base + 1] =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n }\n this._setLength(index + 1);\n return index;\n};\n\nPromise.prototype._proxy = function (proxyable, arg) {\n this._addCallbacks(undefined, undefined, arg, proxyable, null);\n};\n\nPromise.prototype._resolveCallback = function(value, shouldBind) {\n if (((this._bitField & 117506048) !== 0)) return;\n if (value === this)\n return this._rejectCallback(makeSelfResolutionError(), false);\n var maybePromise = tryConvertToPromise(value, this);\n if (!(maybePromise instanceof Promise)) return this._fulfill(value);\n\n if (shouldBind) this._propagateFrom(maybePromise, 2);\n\n var promise = maybePromise._target();\n\n if (promise === this) {\n this._reject(makeSelfResolutionError());\n return;\n }\n\n var bitField = promise._bitField;\n if (((bitField & 50397184) === 0)) {\n var len = this._length();\n if (len > 0) promise._migrateCallback0(this);\n for (var i = 1; i < len; ++i) {\n promise._migrateCallbackAt(this, i);\n }\n this._setFollowing();\n this._setLength(0);\n this._setFollowee(promise);\n } else if (((bitField & 33554432) !== 0)) {\n this._fulfill(promise._value());\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(promise._reason());\n } else {\n var reason = new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n this._reject(reason);\n }\n};\n\nPromise.prototype._rejectCallback =\nfunction(reason, synchronous, ignoreNonErrorWarnings) {\n var trace = util.ensureErrorObject(reason);\n var hasStack = trace === reason;\n if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {\n var message = \"a promise was rejected with a non-error: \" +\n util.classString(reason);\n this._warn(message, true);\n }\n this._attachExtraTrace(trace, synchronous ? hasStack : false);\n this._reject(reason);\n};\n\nPromise.prototype._resolveFromExecutor = function (executor) {\n if (executor === INTERNAL) return;\n var promise = this;\n this._captureStackTrace();\n this._pushContext();\n var synchronous = true;\n var r = this._execute(executor, function(value) {\n promise._resolveCallback(value);\n }, function (reason) {\n promise._rejectCallback(reason, synchronous);\n });\n synchronous = false;\n this._popContext();\n\n if (r !== undefined) {\n promise._rejectCallback(r, true);\n }\n};\n\nPromise.prototype._settlePromiseFromHandler = function (\n handler, receiver, value, promise\n) {\n var bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n promise._pushContext();\n var x;\n if (receiver === APPLY) {\n if (!value || typeof value.length !== \"number\") {\n x = errorObj;\n x.e = new TypeError(\"cannot .spread() a non-array: \" +\n util.classString(value));\n } else {\n x = tryCatch(handler).apply(this._boundValue(), value);\n }\n } else {\n x = tryCatch(handler).call(receiver, value);\n }\n var promiseCreated = promise._popContext();\n bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n\n if (x === NEXT_FILTER) {\n promise._reject(value);\n } else if (x === errorObj) {\n promise._rejectCallback(x.e, false);\n } else {\n debug.checkForgottenReturns(x, promiseCreated, \"\", promise, this);\n promise._resolveCallback(x);\n }\n};\n\nPromise.prototype._target = function() {\n var ret = this;\n while (ret._isFollowing()) ret = ret._followee();\n return ret;\n};\n\nPromise.prototype._followee = function() {\n return this._rejectionHandler0;\n};\n\nPromise.prototype._setFollowee = function(promise) {\n this._rejectionHandler0 = promise;\n};\n\nPromise.prototype._settlePromise = function(promise, handler, receiver, value) {\n var isPromise = promise instanceof Promise;\n var bitField = this._bitField;\n var asyncGuaranteed = ((bitField & 134217728) !== 0);\n if (((bitField & 65536) !== 0)) {\n if (isPromise) promise._invokeInternalOnCancel();\n\n if (receiver instanceof PassThroughHandlerContext &&\n receiver.isFinallyHandler()) {\n receiver.cancelPromise = promise;\n if (tryCatch(handler).call(receiver, value) === errorObj) {\n promise._reject(errorObj.e);\n }\n } else if (handler === reflectHandler) {\n promise._fulfill(reflectHandler.call(receiver));\n } else if (receiver instanceof Proxyable) {\n receiver._promiseCancelled(promise);\n } else if (isPromise || promise instanceof PromiseArray) {\n promise._cancel();\n } else {\n receiver.cancel();\n }\n } else if (typeof handler === \"function\") {\n if (!isPromise) {\n handler.call(receiver, value, promise);\n } else {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (receiver instanceof Proxyable) {\n if (!receiver._isResolved()) {\n if (((bitField & 33554432) !== 0)) {\n receiver._promiseFulfilled(value, promise);\n } else {\n receiver._promiseRejected(value, promise);\n }\n }\n } else if (isPromise) {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n if (((bitField & 33554432) !== 0)) {\n promise._fulfill(value);\n } else {\n promise._reject(value);\n }\n }\n};\n\nPromise.prototype._settlePromiseLateCancellationObserver = function(ctx) {\n var handler = ctx.handler;\n var promise = ctx.promise;\n var receiver = ctx.receiver;\n var value = ctx.value;\n if (typeof handler === \"function\") {\n if (!(promise instanceof Promise)) {\n handler.call(receiver, value, promise);\n } else {\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (promise instanceof Promise) {\n promise._reject(value);\n }\n};\n\nPromise.prototype._settlePromiseCtx = function(ctx) {\n this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value);\n};\n\nPromise.prototype._settlePromise0 = function(handler, value, bitField) {\n var promise = this._promise0;\n var receiver = this._receiverAt(0);\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._settlePromise(promise, handler, receiver, value);\n};\n\nPromise.prototype._clearCallbackDataAtIndex = function(index) {\n var base = index * 4 - 4;\n this[base + 2] =\n this[base + 3] =\n this[base + 0] =\n this[base + 1] = undefined;\n};\n\nPromise.prototype._fulfill = function (value) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n if (value === this) {\n var err = makeSelfResolutionError();\n this._attachExtraTrace(err);\n return this._reject(err);\n }\n this._setFulfilled();\n this._rejectionHandler0 = value;\n\n if ((bitField & 65535) > 0) {\n if (((bitField & 134217728) !== 0)) {\n this._settlePromises();\n } else {\n async.settlePromises(this);\n }\n this._dereferenceTrace();\n }\n};\n\nPromise.prototype._reject = function (reason) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n this._setRejected();\n this._fulfillmentHandler0 = reason;\n\n if (this._isFinal()) {\n return async.fatalError(reason, util.isNode);\n }\n\n if ((bitField & 65535) > 0) {\n async.settlePromises(this);\n } else {\n this._ensurePossibleRejectionHandled();\n }\n};\n\nPromise.prototype._fulfillPromises = function (len, value) {\n for (var i = 1; i < len; i++) {\n var handler = this._fulfillmentHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, value);\n }\n};\n\nPromise.prototype._rejectPromises = function (len, reason) {\n for (var i = 1; i < len; i++) {\n var handler = this._rejectionHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, reason);\n }\n};\n\nPromise.prototype._settlePromises = function () {\n var bitField = this._bitField;\n var len = (bitField & 65535);\n\n if (len > 0) {\n if (((bitField & 16842752) !== 0)) {\n var reason = this._fulfillmentHandler0;\n this._settlePromise0(this._rejectionHandler0, reason, bitField);\n this._rejectPromises(len, reason);\n } else {\n var value = this._rejectionHandler0;\n this._settlePromise0(this._fulfillmentHandler0, value, bitField);\n this._fulfillPromises(len, value);\n }\n this._setLength(0);\n }\n this._clearCancellationData();\n};\n\nPromise.prototype._settledValue = function() {\n var bitField = this._bitField;\n if (((bitField & 33554432) !== 0)) {\n return this._rejectionHandler0;\n } else if (((bitField & 16777216) !== 0)) {\n return this._fulfillmentHandler0;\n }\n};\n\nfunction deferResolve(v) {this.promise._resolveCallback(v);}\nfunction deferReject(v) {this.promise._rejectCallback(v, false);}\n\nPromise.defer = Promise.pending = function() {\n debug.deprecated(\"Promise.defer\", \"new Promise\");\n var promise = new Promise(INTERNAL);\n return {\n promise: promise,\n resolve: deferResolve,\n reject: deferReject\n };\n};\n\nutil.notEnumerableProp(Promise,\n \"_makeSelfResolutionError\",\n makeSelfResolutionError);\n\n_dereq_(\"./method\")(Promise, INTERNAL, tryConvertToPromise, apiRejection,\n debug);\n_dereq_(\"./bind\")(Promise, INTERNAL, tryConvertToPromise, debug);\n_dereq_(\"./cancel\")(Promise, PromiseArray, apiRejection, debug);\n_dereq_(\"./direct_resolve\")(Promise);\n_dereq_(\"./synchronous_inspection\")(Promise);\n_dereq_(\"./join\")(\n Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain);\nPromise.Promise = Promise;\nPromise.version = \"3.5.4\";\n_dereq_('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n_dereq_('./call_get.js')(Promise);\n_dereq_('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);\n_dereq_('./timers.js')(Promise, INTERNAL, debug);\n_dereq_('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);\n_dereq_('./nodeify.js')(Promise);\n_dereq_('./promisify.js')(Promise, INTERNAL);\n_dereq_('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection);\n_dereq_('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection);\n_dereq_('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n_dereq_('./settle.js')(Promise, PromiseArray, debug);\n_dereq_('./some.js')(Promise, PromiseArray, apiRejection);\n_dereq_('./filter.js')(Promise, INTERNAL);\n_dereq_('./each.js')(Promise, INTERNAL);\n_dereq_('./any.js')(Promise);\n \n util.toFastProperties(Promise); \n util.toFastProperties(Promise.prototype); \n function fillTypes(value) { \n var p = new Promise(INTERNAL); \n p._fulfillmentHandler0 = value; \n p._rejectionHandler0 = value; \n p._promise0 = value; \n p._receiver0 = value; \n } \n // Complete slack tracking, opt out of field-type tracking and \n // stabilize map \n fillTypes({a: 1}); \n fillTypes({b: 2}); \n fillTypes({c: 3}); \n fillTypes(1); \n fillTypes(function(){}); \n fillTypes(undefined); \n fillTypes(false); \n fillTypes(new Promise(INTERNAL)); \n debug.setBounds(Async.firstLineError, util.lastLineError); \n return Promise; \n\n};\n\n},{\"./any.js\":1,\"./async\":2,\"./bind\":3,\"./call_get.js\":5,\"./cancel\":6,\"./catch_filter\":7,\"./context\":8,\"./debuggability\":9,\"./direct_resolve\":10,\"./each.js\":11,\"./errors\":12,\"./es5\":13,\"./filter.js\":14,\"./finally\":15,\"./generators.js\":16,\"./join\":17,\"./map.js\":18,\"./method\":19,\"./nodeback\":20,\"./nodeify.js\":21,\"./promise_array\":23,\"./promisify.js\":24,\"./props.js\":25,\"./race.js\":27,\"./reduce.js\":28,\"./settle.js\":30,\"./some.js\":31,\"./synchronous_inspection\":32,\"./thenables\":33,\"./timers.js\":34,\"./using.js\":35,\"./util\":36}],23:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise,\n apiRejection, Proxyable) {\nvar util = _dereq_(\"./util\");\nvar isArray = util.isArray;\n\nfunction toResolutionValue(val) {\n switch(val) {\n case -2: return [];\n case -3: return {};\n case -6: return new Map();\n }\n}\n\nfunction PromiseArray(values) {\n var promise = this._promise = new Promise(INTERNAL);\n if (values instanceof Promise) {\n promise._propagateFrom(values, 3);\n }\n promise._setOnCancel(this);\n this._values = values;\n this._length = 0;\n this._totalResolved = 0;\n this._init(undefined, -2);\n}\nutil.inherits(PromiseArray, Proxyable);\n\nPromiseArray.prototype.length = function () {\n return this._length;\n};\n\nPromiseArray.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {\n var values = tryConvertToPromise(this._values, this._promise);\n if (values instanceof Promise) {\n values = values._target();\n var bitField = values._bitField;\n ;\n this._values = values;\n\n if (((bitField & 50397184) === 0)) {\n this._promise._setAsyncGuaranteed();\n return values._then(\n init,\n this._reject,\n undefined,\n this,\n resolveValueIfEmpty\n );\n } else if (((bitField & 33554432) !== 0)) {\n values = values._value();\n } else if (((bitField & 16777216) !== 0)) {\n return this._reject(values._reason());\n } else {\n return this._cancel();\n }\n }\n values = util.asArray(values);\n if (values === null) {\n var err = apiRejection(\n \"expecting an array or an iterable object but got \" + util.classString(values)).reason();\n this._promise._rejectCallback(err, false);\n return;\n }\n\n if (values.length === 0) {\n if (resolveValueIfEmpty === -5) {\n this._resolveEmptyArray();\n }\n else {\n this._resolve(toResolutionValue(resolveValueIfEmpty));\n }\n return;\n }\n this._iterate(values);\n};\n\nPromiseArray.prototype._iterate = function(values) {\n var len = this.getActualLength(values.length);\n this._length = len;\n this._values = this.shouldCopyValues() ? new Array(len) : this._values;\n var result = this._promise;\n var isResolved = false;\n var bitField = null;\n for (var i = 0; i < len; ++i) {\n var maybePromise = tryConvertToPromise(values[i], result);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n bitField = maybePromise._bitField;\n } else {\n bitField = null;\n }\n\n if (isResolved) {\n if (bitField !== null) {\n maybePromise.suppressUnhandledRejections();\n }\n } else if (bitField !== null) {\n if (((bitField & 50397184) === 0)) {\n maybePromise._proxy(this, i);\n this._values[i] = maybePromise;\n } else if (((bitField & 33554432) !== 0)) {\n isResolved = this._promiseFulfilled(maybePromise._value(), i);\n } else if (((bitField & 16777216) !== 0)) {\n isResolved = this._promiseRejected(maybePromise._reason(), i);\n } else {\n isResolved = this._promiseCancelled(i);\n }\n } else {\n isResolved = this._promiseFulfilled(maybePromise, i);\n }\n }\n if (!isResolved) result._setAsyncGuaranteed();\n};\n\nPromiseArray.prototype._isResolved = function () {\n return this._values === null;\n};\n\nPromiseArray.prototype._resolve = function (value) {\n this._values = null;\n this._promise._fulfill(value);\n};\n\nPromiseArray.prototype._cancel = function() {\n if (this._isResolved() || !this._promise._isCancellable()) return;\n this._values = null;\n this._promise._cancel();\n};\n\nPromiseArray.prototype._reject = function (reason) {\n this._values = null;\n this._promise._rejectCallback(reason, false);\n};\n\nPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nPromiseArray.prototype._promiseCancelled = function() {\n this._cancel();\n return true;\n};\n\nPromiseArray.prototype._promiseRejected = function (reason) {\n this._totalResolved++;\n this._reject(reason);\n return true;\n};\n\nPromiseArray.prototype._resultCancelled = function() {\n if (this._isResolved()) return;\n var values = this._values;\n this._cancel();\n if (values instanceof Promise) {\n values.cancel();\n } else {\n for (var i = 0; i < values.length; ++i) {\n if (values[i] instanceof Promise) {\n values[i].cancel();\n }\n }\n }\n};\n\nPromiseArray.prototype.shouldCopyValues = function () {\n return true;\n};\n\nPromiseArray.prototype.getActualLength = function (len) {\n return len;\n};\n\nreturn PromiseArray;\n};\n\n},{\"./util\":36}],24:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar THIS = {};\nvar util = _dereq_(\"./util\");\nvar nodebackForPromise = _dereq_(\"./nodeback\");\nvar withAppended = util.withAppended;\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar canEvaluate = util.canEvaluate;\nvar TypeError = _dereq_(\"./errors\").TypeError;\nvar defaultSuffix = \"Async\";\nvar defaultPromisified = {__isPromisified__: true};\nvar noCopyProps = [\n \"arity\", \"length\",\n \"name\",\n \"arguments\",\n \"caller\",\n \"callee\",\n \"prototype\",\n \"__isPromisified__\"\n];\nvar noCopyPropsPattern = new RegExp(\"^(?:\" + noCopyProps.join(\"|\") + \")$\");\n\nvar defaultFilter = function(name) {\n return util.isIdentifier(name) &&\n name.charAt(0) !== \"_\" &&\n name !== \"constructor\";\n};\n\nfunction propsFilter(key) {\n return !noCopyPropsPattern.test(key);\n}\n\nfunction isPromisified(fn) {\n try {\n return fn.__isPromisified__ === true;\n }\n catch (e) {\n return false;\n }\n}\n\nfunction hasPromisified(obj, key, suffix) {\n var val = util.getDataPropertyOrDefault(obj, key + suffix,\n defaultPromisified);\n return val ? isPromisified(val) : false;\n}\nfunction checkValid(ret, suffix, suffixRegexp) {\n for (var i = 0; i < ret.length; i += 2) {\n var key = ret[i];\n if (suffixRegexp.test(key)) {\n var keyWithoutAsyncSuffix = key.replace(suffixRegexp, \"\");\n for (var j = 0; j < ret.length; j += 2) {\n if (ret[j] === keyWithoutAsyncSuffix) {\n throw new TypeError(\"Cannot promisify an API that has normal methods with '%s'-suffix\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\"\n .replace(\"%s\", suffix));\n }\n }\n }\n }\n}\n\nfunction promisifiableMethods(obj, suffix, suffixRegexp, filter) {\n var keys = util.inheritedDataKeys(obj);\n var ret = [];\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var value = obj[key];\n var passesDefaultFilter = filter === defaultFilter\n ? true : defaultFilter(key, value, obj);\n if (typeof value === \"function\" &&\n !isPromisified(value) &&\n !hasPromisified(obj, key, suffix) &&\n filter(key, value, obj, passesDefaultFilter)) {\n ret.push(key, value);\n }\n }\n checkValid(ret, suffix, suffixRegexp);\n return ret;\n}\n\nvar escapeIdentRegex = function(str) {\n return str.replace(/([$])/, \"\\\\$\");\n};\n\nvar makeNodePromisifiedEval;\nif (false) { var parameterCount, parameterDeclaration, argumentSequence, switchCaseArgumentOrder; }\n\nfunction makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {\n var defaultThis = (function() {return this;})();\n var method = callback;\n if (typeof method === \"string\") {\n callback = fn;\n }\n function promisified() {\n var _receiver = receiver;\n if (receiver === THIS) _receiver = this;\n var promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n var cb = typeof method === \"string\" && this !== defaultThis\n ? this[method] : callback;\n var fn = nodebackForPromise(promise, multiArgs);\n try {\n cb.apply(_receiver, withAppended(arguments, fn));\n } catch(e) {\n promise._rejectCallback(maybeWrapAsError(e), true, true);\n }\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed();\n return promise;\n }\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n return promisified;\n}\n\nvar makeNodePromisified = canEvaluate\n ? makeNodePromisifiedEval\n : makeNodePromisifiedClosure;\n\nfunction promisifyAll(obj, suffix, filter, promisifier, multiArgs) {\n var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + \"$\");\n var methods =\n promisifiableMethods(obj, suffix, suffixRegexp, filter);\n\n for (var i = 0, len = methods.length; i < len; i+= 2) {\n var key = methods[i];\n var fn = methods[i+1];\n var promisifiedKey = key + suffix;\n if (promisifier === makeNodePromisified) {\n obj[promisifiedKey] =\n makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n } else {\n var promisified = promisifier(fn, function() {\n return makeNodePromisified(key, THIS, key,\n fn, suffix, multiArgs);\n });\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n obj[promisifiedKey] = promisified;\n }\n }\n util.toFastProperties(obj);\n return obj;\n}\n\nfunction promisify(callback, receiver, multiArgs) {\n return makeNodePromisified(callback, receiver, undefined,\n callback, null, multiArgs);\n}\n\nPromise.promisify = function (fn, options) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n if (isPromisified(fn)) {\n return fn;\n }\n options = Object(options);\n var receiver = options.context === undefined ? THIS : options.context;\n var multiArgs = !!options.multiArgs;\n var ret = promisify(fn, receiver, multiArgs);\n util.copyDescriptors(fn, ret, propsFilter);\n return ret;\n};\n\nPromise.promisifyAll = function (target, options) {\n if (typeof target !== \"function\" && typeof target !== \"object\") {\n throw new TypeError(\"the target of promisifyAll must be an object or a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n options = Object(options);\n var multiArgs = !!options.multiArgs;\n var suffix = options.suffix;\n if (typeof suffix !== \"string\") suffix = defaultSuffix;\n var filter = options.filter;\n if (typeof filter !== \"function\") filter = defaultFilter;\n var promisifier = options.promisifier;\n if (typeof promisifier !== \"function\") promisifier = makeNodePromisified;\n\n if (!util.isIdentifier(suffix)) {\n throw new RangeError(\"suffix must be a valid identifier\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n\n var keys = util.inheritedDataKeys(target);\n for (var i = 0; i < keys.length; ++i) {\n var value = target[keys[i]];\n if (keys[i] !== \"constructor\" &&\n util.isClass(value)) {\n promisifyAll(value.prototype, suffix, filter, promisifier,\n multiArgs);\n promisifyAll(value, suffix, filter, promisifier, multiArgs);\n }\n }\n\n return promisifyAll(target, suffix, filter, promisifier, multiArgs);\n};\n};\n\n\n},{\"./errors\":12,\"./nodeback\":20,\"./util\":36}],25:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(\n Promise, PromiseArray, tryConvertToPromise, apiRejection) {\nvar util = _dereq_(\"./util\");\nvar isObject = util.isObject;\nvar es5 = _dereq_(\"./es5\");\nvar Es6Map;\nif (typeof Map === \"function\") Es6Map = Map;\n\nvar mapToEntries = (function() {\n var index = 0;\n var size = 0;\n\n function extractEntry(value, key) {\n this[index] = value;\n this[index + size] = key;\n index++;\n }\n\n return function mapToEntries(map) {\n size = map.size;\n index = 0;\n var ret = new Array(map.size * 2);\n map.forEach(extractEntry, ret);\n return ret;\n };\n})();\n\nvar entriesToMap = function(entries) {\n var ret = new Es6Map();\n var length = entries.length / 2 | 0;\n for (var i = 0; i < length; ++i) {\n var key = entries[length + i];\n var value = entries[i];\n ret.set(key, value);\n }\n return ret;\n};\n\nfunction PropertiesPromiseArray(obj) {\n var isMap = false;\n var entries;\n if (Es6Map !== undefined && obj instanceof Es6Map) {\n entries = mapToEntries(obj);\n isMap = true;\n } else {\n var keys = es5.keys(obj);\n var len = keys.length;\n entries = new Array(len * 2);\n for (var i = 0; i < len; ++i) {\n var key = keys[i];\n entries[i] = obj[key];\n entries[i + len] = key;\n }\n }\n this.constructor$(entries);\n this._isMap = isMap;\n this._init$(undefined, isMap ? -6 : -3);\n}\nutil.inherits(PropertiesPromiseArray, PromiseArray);\n\nPropertiesPromiseArray.prototype._init = function () {};\n\nPropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n var val;\n if (this._isMap) {\n val = entriesToMap(this._values);\n } else {\n val = {};\n var keyOffset = this.length();\n for (var i = 0, len = this.length(); i < len; ++i) {\n val[this._values[i + keyOffset]] = this._values[i];\n }\n }\n this._resolve(val);\n return true;\n }\n return false;\n};\n\nPropertiesPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nPropertiesPromiseArray.prototype.getActualLength = function (len) {\n return len >> 1;\n};\n\nfunction props(promises) {\n var ret;\n var castValue = tryConvertToPromise(promises);\n\n if (!isObject(castValue)) {\n return apiRejection(\"cannot await properties of a non-object\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n } else if (castValue instanceof Promise) {\n ret = castValue._then(\n Promise.props, undefined, undefined, undefined, undefined);\n } else {\n ret = new PropertiesPromiseArray(castValue).promise();\n }\n\n if (castValue instanceof Promise) {\n ret._propagateFrom(castValue, 2);\n }\n return ret;\n}\n\nPromise.prototype.props = function () {\n return props(this);\n};\n\nPromise.props = function (promises) {\n return props(promises);\n};\n};\n\n},{\"./es5\":13,\"./util\":36}],26:[function(_dereq_,module,exports){\n\"use strict\";\nfunction arrayMove(src, srcIndex, dst, dstIndex, len) {\n for (var j = 0; j < len; ++j) {\n dst[j + dstIndex] = src[j + srcIndex];\n src[j + srcIndex] = void 0;\n }\n}\n\nfunction Queue(capacity) {\n this._capacity = capacity;\n this._length = 0;\n this._front = 0;\n}\n\nQueue.prototype._willBeOverCapacity = function (size) {\n return this._capacity < size;\n};\n\nQueue.prototype._pushOne = function (arg) {\n var length = this.length();\n this._checkCapacity(length + 1);\n var i = (this._front + length) & (this._capacity - 1);\n this[i] = arg;\n this._length = length + 1;\n};\n\nQueue.prototype.push = function (fn, receiver, arg) {\n var length = this.length() + 3;\n if (this._willBeOverCapacity(length)) {\n this._pushOne(fn);\n this._pushOne(receiver);\n this._pushOne(arg);\n return;\n }\n var j = this._front + length - 3;\n this._checkCapacity(length);\n var wrapMask = this._capacity - 1;\n this[(j + 0) & wrapMask] = fn;\n this[(j + 1) & wrapMask] = receiver;\n this[(j + 2) & wrapMask] = arg;\n this._length = length;\n};\n\nQueue.prototype.shift = function () {\n var front = this._front,\n ret = this[front];\n\n this[front] = undefined;\n this._front = (front + 1) & (this._capacity - 1);\n this._length--;\n return ret;\n};\n\nQueue.prototype.length = function () {\n return this._length;\n};\n\nQueue.prototype._checkCapacity = function (size) {\n if (this._capacity < size) {\n this._resizeTo(this._capacity << 1);\n }\n};\n\nQueue.prototype._resizeTo = function (capacity) {\n var oldCapacity = this._capacity;\n this._capacity = capacity;\n var front = this._front;\n var length = this._length;\n var moveItemsCount = (front + length) & (oldCapacity - 1);\n arrayMove(this, 0, this, oldCapacity, moveItemsCount);\n};\n\nmodule.exports = Queue;\n\n},{}],27:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(\n Promise, INTERNAL, tryConvertToPromise, apiRejection) {\nvar util = _dereq_(\"./util\");\n\nvar raceLater = function (promise) {\n return promise.then(function(array) {\n return race(array, promise);\n });\n};\n\nfunction race(promises, parent) {\n var maybePromise = tryConvertToPromise(promises);\n\n if (maybePromise instanceof Promise) {\n return raceLater(maybePromise);\n } else {\n promises = util.asArray(promises);\n if (promises === null)\n return apiRejection(\"expecting an array or an iterable object but got \" + util.classString(promises));\n }\n\n var ret = new Promise(INTERNAL);\n if (parent !== undefined) {\n ret._propagateFrom(parent, 3);\n }\n var fulfill = ret._fulfill;\n var reject = ret._reject;\n for (var i = 0, len = promises.length; i < len; ++i) {\n var val = promises[i];\n\n if (val === undefined && !(i in promises)) {\n continue;\n }\n\n Promise.cast(val)._then(fulfill, reject, undefined, ret, null);\n }\n return ret;\n}\n\nPromise.race = function (promises) {\n return race(promises, undefined);\n};\n\nPromise.prototype.race = function () {\n return race(this, undefined);\n};\n\n};\n\n},{\"./util\":36}],28:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\n\nfunction ReductionPromiseArray(promises, fn, initialValue, _each) {\n this.constructor$(promises);\n var domain = getDomain();\n this._fn = domain === null ? fn : util.domainBind(domain, fn);\n if (initialValue !== undefined) {\n initialValue = Promise.resolve(initialValue);\n initialValue._attachCancellationCallback(this);\n }\n this._initialValue = initialValue;\n this._currentCancellable = null;\n if(_each === INTERNAL) {\n this._eachValues = Array(this._length);\n } else if (_each === 0) {\n this._eachValues = null;\n } else {\n this._eachValues = undefined;\n }\n this._promise._captureStackTrace();\n this._init$(undefined, -5);\n}\nutil.inherits(ReductionPromiseArray, PromiseArray);\n\nReductionPromiseArray.prototype._gotAccum = function(accum) {\n if (this._eachValues !== undefined && \n this._eachValues !== null && \n accum !== INTERNAL) {\n this._eachValues.push(accum);\n }\n};\n\nReductionPromiseArray.prototype._eachComplete = function(value) {\n if (this._eachValues !== null) {\n this._eachValues.push(value);\n }\n return this._eachValues;\n};\n\nReductionPromiseArray.prototype._init = function() {};\n\nReductionPromiseArray.prototype._resolveEmptyArray = function() {\n this._resolve(this._eachValues !== undefined ? this._eachValues\n : this._initialValue);\n};\n\nReductionPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nReductionPromiseArray.prototype._resolve = function(value) {\n this._promise._resolveCallback(value);\n this._values = null;\n};\n\nReductionPromiseArray.prototype._resultCancelled = function(sender) {\n if (sender === this._initialValue) return this._cancel();\n if (this._isResolved()) return;\n this._resultCancelled$();\n if (this._currentCancellable instanceof Promise) {\n this._currentCancellable.cancel();\n }\n if (this._initialValue instanceof Promise) {\n this._initialValue.cancel();\n }\n};\n\nReductionPromiseArray.prototype._iterate = function (values) {\n this._values = values;\n var value;\n var i;\n var length = values.length;\n if (this._initialValue !== undefined) {\n value = this._initialValue;\n i = 0;\n } else {\n value = Promise.resolve(values[0]);\n i = 1;\n }\n\n this._currentCancellable = value;\n\n if (!value.isRejected()) {\n for (; i < length; ++i) {\n var ctx = {\n accum: null,\n value: values[i],\n index: i,\n length: length,\n array: this\n };\n value = value._then(gotAccum, undefined, undefined, ctx, undefined);\n }\n }\n\n if (this._eachValues !== undefined) {\n value = value\n ._then(this._eachComplete, undefined, undefined, this, undefined);\n }\n value._then(completed, completed, undefined, value, this);\n};\n\nPromise.prototype.reduce = function (fn, initialValue) {\n return reduce(this, fn, initialValue, null);\n};\n\nPromise.reduce = function (promises, fn, initialValue, _each) {\n return reduce(promises, fn, initialValue, _each);\n};\n\nfunction completed(valueOrReason, array) {\n if (this.isFulfilled()) {\n array._resolve(valueOrReason);\n } else {\n array._reject(valueOrReason);\n }\n}\n\nfunction reduce(promises, fn, initialValue, _each) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var array = new ReductionPromiseArray(promises, fn, initialValue, _each);\n return array.promise();\n}\n\nfunction gotAccum(accum) {\n this.accum = accum;\n this.array._gotAccum(accum);\n var value = tryConvertToPromise(this.value, this.array._promise);\n if (value instanceof Promise) {\n this.array._currentCancellable = value;\n return value._then(gotValue, undefined, undefined, this, undefined);\n } else {\n return gotValue.call(this, value);\n }\n}\n\nfunction gotValue(value) {\n var array = this.array;\n var promise = array._promise;\n var fn = tryCatch(array._fn);\n promise._pushContext();\n var ret;\n if (array._eachValues !== undefined) {\n ret = fn.call(promise._boundValue(), value, this.index, this.length);\n } else {\n ret = fn.call(promise._boundValue(),\n this.accum, value, this.index, this.length);\n }\n if (ret instanceof Promise) {\n array._currentCancellable = ret;\n }\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n array._eachValues !== undefined ? \"Promise.each\" : \"Promise.reduce\",\n promise\n );\n return ret;\n}\n};\n\n},{\"./util\":36}],29:[function(_dereq_,module,exports){\n\"use strict\";\nvar util = _dereq_(\"./util\");\nvar schedule;\nvar noAsyncScheduler = function() {\n throw new Error(\"No async scheduler available\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar NativePromise = util.getNativePromise();\nif (util.isNode && typeof MutationObserver === \"undefined\") {\n var GlobalSetImmediate = global.setImmediate;\n var ProcessNextTick = process.nextTick;\n schedule = util.isRecentNode\n ? function(fn) { GlobalSetImmediate.call(global, fn); }\n : function(fn) { ProcessNextTick.call(process, fn); };\n} else if (typeof NativePromise === \"function\" &&\n typeof NativePromise.resolve === \"function\") {\n var nativePromise = NativePromise.resolve();\n schedule = function(fn) {\n nativePromise.then(fn);\n };\n} else if ((typeof MutationObserver !== \"undefined\") &&\n !(typeof window !== \"undefined\" &&\n window.navigator &&\n (window.navigator.standalone || window.cordova))) {\n schedule = (function() {\n var div = document.createElement(\"div\");\n var opts = {attributes: true};\n var toggleScheduled = false;\n var div2 = document.createElement(\"div\");\n var o2 = new MutationObserver(function() {\n div.classList.toggle(\"foo\");\n toggleScheduled = false;\n });\n o2.observe(div2, opts);\n\n var scheduleToggle = function() {\n if (toggleScheduled) return;\n toggleScheduled = true;\n div2.classList.toggle(\"foo\");\n };\n\n return function schedule(fn) {\n var o = new MutationObserver(function() {\n o.disconnect();\n fn();\n });\n o.observe(div, opts);\n scheduleToggle();\n };\n })();\n} else if (typeof setImmediate !== \"undefined\") {\n schedule = function (fn) {\n setImmediate(fn);\n };\n} else if (typeof setTimeout !== \"undefined\") {\n schedule = function (fn) {\n setTimeout(fn, 0);\n };\n} else {\n schedule = noAsyncScheduler;\n}\nmodule.exports = schedule;\n\n},{\"./util\":36}],30:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\n function(Promise, PromiseArray, debug) {\nvar PromiseInspection = Promise.PromiseInspection;\nvar util = _dereq_(\"./util\");\n\nfunction SettledPromiseArray(values) {\n this.constructor$(values);\n}\nutil.inherits(SettledPromiseArray, PromiseArray);\n\nSettledPromiseArray.prototype._promiseResolved = function (index, inspection) {\n this._values[index] = inspection;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nSettledPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var ret = new PromiseInspection();\n ret._bitField = 33554432;\n ret._settledValueField = value;\n return this._promiseResolved(index, ret);\n};\nSettledPromiseArray.prototype._promiseRejected = function (reason, index) {\n var ret = new PromiseInspection();\n ret._bitField = 16777216;\n ret._settledValueField = reason;\n return this._promiseResolved(index, ret);\n};\n\nPromise.settle = function (promises) {\n debug.deprecated(\".settle()\", \".reflect()\");\n return new SettledPromiseArray(promises).promise();\n};\n\nPromise.prototype.settle = function () {\n return Promise.settle(this);\n};\n};\n\n},{\"./util\":36}],31:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, apiRejection) {\nvar util = _dereq_(\"./util\");\nvar RangeError = _dereq_(\"./errors\").RangeError;\nvar AggregateError = _dereq_(\"./errors\").AggregateError;\nvar isArray = util.isArray;\nvar CANCELLATION = {};\n\n\nfunction SomePromiseArray(values) {\n this.constructor$(values);\n this._howMany = 0;\n this._unwrap = false;\n this._initialized = false;\n}\nutil.inherits(SomePromiseArray, PromiseArray);\n\nSomePromiseArray.prototype._init = function () {\n if (!this._initialized) {\n return;\n }\n if (this._howMany === 0) {\n this._resolve([]);\n return;\n }\n this._init$(undefined, -5);\n var isArrayResolved = isArray(this._values);\n if (!this._isResolved() &&\n isArrayResolved &&\n this._howMany > this._canPossiblyFulfill()) {\n this._reject(this._getRangeError(this.length()));\n }\n};\n\nSomePromiseArray.prototype.init = function () {\n this._initialized = true;\n this._init();\n};\n\nSomePromiseArray.prototype.setUnwrap = function () {\n this._unwrap = true;\n};\n\nSomePromiseArray.prototype.howMany = function () {\n return this._howMany;\n};\n\nSomePromiseArray.prototype.setHowMany = function (count) {\n this._howMany = count;\n};\n\nSomePromiseArray.prototype._promiseFulfilled = function (value) {\n this._addFulfilled(value);\n if (this._fulfilled() === this.howMany()) {\n this._values.length = this.howMany();\n if (this.howMany() === 1 && this._unwrap) {\n this._resolve(this._values[0]);\n } else {\n this._resolve(this._values);\n }\n return true;\n }\n return false;\n\n};\nSomePromiseArray.prototype._promiseRejected = function (reason) {\n this._addRejected(reason);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._promiseCancelled = function () {\n if (this._values instanceof Promise || this._values == null) {\n return this._cancel();\n }\n this._addRejected(CANCELLATION);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._checkOutcome = function() {\n if (this.howMany() > this._canPossiblyFulfill()) {\n var e = new AggregateError();\n for (var i = this.length(); i < this._values.length; ++i) {\n if (this._values[i] !== CANCELLATION) {\n e.push(this._values[i]);\n }\n }\n if (e.length > 0) {\n this._reject(e);\n } else {\n this._cancel();\n }\n return true;\n }\n return false;\n};\n\nSomePromiseArray.prototype._fulfilled = function () {\n return this._totalResolved;\n};\n\nSomePromiseArray.prototype._rejected = function () {\n return this._values.length - this.length();\n};\n\nSomePromiseArray.prototype._addRejected = function (reason) {\n this._values.push(reason);\n};\n\nSomePromiseArray.prototype._addFulfilled = function (value) {\n this._values[this._totalResolved++] = value;\n};\n\nSomePromiseArray.prototype._canPossiblyFulfill = function () {\n return this.length() - this._rejected();\n};\n\nSomePromiseArray.prototype._getRangeError = function (count) {\n var message = \"Input array must contain at least \" +\n this._howMany + \" items but contains only \" + count + \" items\";\n return new RangeError(message);\n};\n\nSomePromiseArray.prototype._resolveEmptyArray = function () {\n this._reject(this._getRangeError(0));\n};\n\nfunction some(promises, howMany) {\n if ((howMany | 0) !== howMany || howMany < 0) {\n return apiRejection(\"expecting a positive integer\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var ret = new SomePromiseArray(promises);\n var promise = ret.promise();\n ret.setHowMany(howMany);\n ret.init();\n return promise;\n}\n\nPromise.some = function (promises, howMany) {\n return some(promises, howMany);\n};\n\nPromise.prototype.some = function (howMany) {\n return some(this, howMany);\n};\n\nPromise._SomePromiseArray = SomePromiseArray;\n};\n\n},{\"./errors\":12,\"./util\":36}],32:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nfunction PromiseInspection(promise) {\n if (promise !== undefined) {\n promise = promise._target();\n this._bitField = promise._bitField;\n this._settledValueField = promise._isFateSealed()\n ? promise._settledValue() : undefined;\n }\n else {\n this._bitField = 0;\n this._settledValueField = undefined;\n }\n}\n\nPromiseInspection.prototype._settledValue = function() {\n return this._settledValueField;\n};\n\nvar value = PromiseInspection.prototype.value = function () {\n if (!this.isFulfilled()) {\n throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar reason = PromiseInspection.prototype.error =\nPromiseInspection.prototype.reason = function () {\n if (!this.isRejected()) {\n throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar isFulfilled = PromiseInspection.prototype.isFulfilled = function() {\n return (this._bitField & 33554432) !== 0;\n};\n\nvar isRejected = PromiseInspection.prototype.isRejected = function () {\n return (this._bitField & 16777216) !== 0;\n};\n\nvar isPending = PromiseInspection.prototype.isPending = function () {\n return (this._bitField & 50397184) === 0;\n};\n\nvar isResolved = PromiseInspection.prototype.isResolved = function () {\n return (this._bitField & 50331648) !== 0;\n};\n\nPromiseInspection.prototype.isCancelled = function() {\n return (this._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.__isCancelled = function() {\n return (this._bitField & 65536) === 65536;\n};\n\nPromise.prototype._isCancelled = function() {\n return this._target().__isCancelled();\n};\n\nPromise.prototype.isCancelled = function() {\n return (this._target()._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.isPending = function() {\n return isPending.call(this._target());\n};\n\nPromise.prototype.isRejected = function() {\n return isRejected.call(this._target());\n};\n\nPromise.prototype.isFulfilled = function() {\n return isFulfilled.call(this._target());\n};\n\nPromise.prototype.isResolved = function() {\n return isResolved.call(this._target());\n};\n\nPromise.prototype.value = function() {\n return value.call(this._target());\n};\n\nPromise.prototype.reason = function() {\n var target = this._target();\n target._unsetRejectionIsUnhandled();\n return reason.call(target);\n};\n\nPromise.prototype._value = function() {\n return this._settledValue();\n};\n\nPromise.prototype._reason = function() {\n this._unsetRejectionIsUnhandled();\n return this._settledValue();\n};\n\nPromise.PromiseInspection = PromiseInspection;\n};\n\n},{}],33:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar util = _dereq_(\"./util\");\nvar errorObj = util.errorObj;\nvar isObject = util.isObject;\n\nfunction tryConvertToPromise(obj, context) {\n if (isObject(obj)) {\n if (obj instanceof Promise) return obj;\n var then = getThen(obj);\n if (then === errorObj) {\n if (context) context._pushContext();\n var ret = Promise.reject(then.e);\n if (context) context._popContext();\n return ret;\n } else if (typeof then === \"function\") {\n if (isAnyBluebirdPromise(obj)) {\n var ret = new Promise(INTERNAL);\n obj._then(\n ret._fulfill,\n ret._reject,\n undefined,\n ret,\n null\n );\n return ret;\n }\n return doThenable(obj, then, context);\n }\n }\n return obj;\n}\n\nfunction doGetThen(obj) {\n return obj.then;\n}\n\nfunction getThen(obj) {\n try {\n return doGetThen(obj);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\n\nvar hasProp = {}.hasOwnProperty;\nfunction isAnyBluebirdPromise(obj) {\n try {\n return hasProp.call(obj, \"_promise0\");\n } catch (e) {\n return false;\n }\n}\n\nfunction doThenable(x, then, context) {\n var promise = new Promise(INTERNAL);\n var ret = promise;\n if (context) context._pushContext();\n promise._captureStackTrace();\n if (context) context._popContext();\n var synchronous = true;\n var result = util.tryCatch(then).call(x, resolve, reject);\n synchronous = false;\n\n if (promise && result === errorObj) {\n promise._rejectCallback(result.e, true, true);\n promise = null;\n }\n\n function resolve(value) {\n if (!promise) return;\n promise._resolveCallback(value);\n promise = null;\n }\n\n function reject(reason) {\n if (!promise) return;\n promise._rejectCallback(reason, synchronous, true);\n promise = null;\n }\n return ret;\n}\n\nreturn tryConvertToPromise;\n};\n\n},{\"./util\":36}],34:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, debug) {\nvar util = _dereq_(\"./util\");\nvar TimeoutError = Promise.TimeoutError;\n\nfunction HandleWrapper(handle) {\n this.handle = handle;\n}\n\nHandleWrapper.prototype._resultCancelled = function() {\n clearTimeout(this.handle);\n};\n\nvar afterValue = function(value) { return delay(+this).thenReturn(value); };\nvar delay = Promise.delay = function (ms, value) {\n var ret;\n var handle;\n if (value !== undefined) {\n ret = Promise.resolve(value)\n ._then(afterValue, null, null, ms, undefined);\n if (debug.cancellation() && value instanceof Promise) {\n ret._setOnCancel(value);\n }\n } else {\n ret = new Promise(INTERNAL);\n handle = setTimeout(function() { ret._fulfill(); }, +ms);\n if (debug.cancellation()) {\n ret._setOnCancel(new HandleWrapper(handle));\n }\n ret._captureStackTrace();\n }\n ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.prototype.delay = function (ms) {\n return delay(ms, this);\n};\n\nvar afterTimeout = function (promise, message, parent) {\n var err;\n if (typeof message !== \"string\") {\n if (message instanceof Error) {\n err = message;\n } else {\n err = new TimeoutError(\"operation timed out\");\n }\n } else {\n err = new TimeoutError(message);\n }\n util.markAsOriginatingFromRejection(err);\n promise._attachExtraTrace(err);\n promise._reject(err);\n\n if (parent != null) {\n parent.cancel();\n }\n};\n\nfunction successClear(value) {\n clearTimeout(this.handle);\n return value;\n}\n\nfunction failureClear(reason) {\n clearTimeout(this.handle);\n throw reason;\n}\n\nPromise.prototype.timeout = function (ms, message) {\n ms = +ms;\n var ret, parent;\n\n var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() {\n if (ret.isPending()) {\n afterTimeout(ret, message, parent);\n }\n }, ms));\n\n if (debug.cancellation()) {\n parent = this.then();\n ret = parent._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n ret._setOnCancel(handleWrapper);\n } else {\n ret = this._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n }\n\n return ret;\n};\n\n};\n\n},{\"./util\":36}],35:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function (Promise, apiRejection, tryConvertToPromise,\n createContext, INTERNAL, debug) {\n var util = _dereq_(\"./util\");\n var TypeError = _dereq_(\"./errors\").TypeError;\n var inherits = _dereq_(\"./util\").inherits;\n var errorObj = util.errorObj;\n var tryCatch = util.tryCatch;\n var NULL = {};\n\n function thrower(e) {\n setTimeout(function(){throw e;}, 0);\n }\n\n function castPreservingDisposable(thenable) {\n var maybePromise = tryConvertToPromise(thenable);\n if (maybePromise !== thenable &&\n typeof thenable._isDisposable === \"function\" &&\n typeof thenable._getDisposer === \"function\" &&\n thenable._isDisposable()) {\n maybePromise._setDisposable(thenable._getDisposer());\n }\n return maybePromise;\n }\n function dispose(resources, inspection) {\n var i = 0;\n var len = resources.length;\n var ret = new Promise(INTERNAL);\n function iterator() {\n if (i >= len) return ret._fulfill();\n var maybePromise = castPreservingDisposable(resources[i++]);\n if (maybePromise instanceof Promise &&\n maybePromise._isDisposable()) {\n try {\n maybePromise = tryConvertToPromise(\n maybePromise._getDisposer().tryDispose(inspection),\n resources.promise);\n } catch (e) {\n return thrower(e);\n }\n if (maybePromise instanceof Promise) {\n return maybePromise._then(iterator, thrower,\n null, null, null);\n }\n }\n iterator();\n }\n iterator();\n return ret;\n }\n\n function Disposer(data, promise, context) {\n this._data = data;\n this._promise = promise;\n this._context = context;\n }\n\n Disposer.prototype.data = function () {\n return this._data;\n };\n\n Disposer.prototype.promise = function () {\n return this._promise;\n };\n\n Disposer.prototype.resource = function () {\n if (this.promise().isFulfilled()) {\n return this.promise().value();\n }\n return NULL;\n };\n\n Disposer.prototype.tryDispose = function(inspection) {\n var resource = this.resource();\n var context = this._context;\n if (context !== undefined) context._pushContext();\n var ret = resource !== NULL\n ? this.doDispose(resource, inspection) : null;\n if (context !== undefined) context._popContext();\n this._promise._unsetDisposable();\n this._data = null;\n return ret;\n };\n\n Disposer.isDisposer = function (d) {\n return (d != null &&\n typeof d.resource === \"function\" &&\n typeof d.tryDispose === \"function\");\n };\n\n function FunctionDisposer(fn, promise, context) {\n this.constructor$(fn, promise, context);\n }\n inherits(FunctionDisposer, Disposer);\n\n FunctionDisposer.prototype.doDispose = function (resource, inspection) {\n var fn = this.data();\n return fn.call(resource, resource, inspection);\n };\n\n function maybeUnwrapDisposer(value) {\n if (Disposer.isDisposer(value)) {\n this.resources[this.index]._setDisposable(value);\n return value.promise();\n }\n return value;\n }\n\n function ResourceList(length) {\n this.length = length;\n this.promise = null;\n this[length-1] = null;\n }\n\n ResourceList.prototype._resultCancelled = function() {\n var len = this.length;\n for (var i = 0; i < len; ++i) {\n var item = this[i];\n if (item instanceof Promise) {\n item.cancel();\n }\n }\n };\n\n Promise.using = function () {\n var len = arguments.length;\n if (len < 2) return apiRejection(\n \"you must pass at least 2 arguments to Promise.using\");\n var fn = arguments[len - 1];\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var input;\n var spreadArgs = true;\n if (len === 2 && Array.isArray(arguments[0])) {\n input = arguments[0];\n len = input.length;\n spreadArgs = false;\n } else {\n input = arguments;\n len--;\n }\n var resources = new ResourceList(len);\n for (var i = 0; i < len; ++i) {\n var resource = input[i];\n if (Disposer.isDisposer(resource)) {\n var disposer = resource;\n resource = resource.promise();\n resource._setDisposable(disposer);\n } else {\n var maybePromise = tryConvertToPromise(resource);\n if (maybePromise instanceof Promise) {\n resource =\n maybePromise._then(maybeUnwrapDisposer, null, null, {\n resources: resources,\n index: i\n }, undefined);\n }\n }\n resources[i] = resource;\n }\n\n var reflectedResources = new Array(resources.length);\n for (var i = 0; i < reflectedResources.length; ++i) {\n reflectedResources[i] = Promise.resolve(resources[i]).reflect();\n }\n\n var resultPromise = Promise.all(reflectedResources)\n .then(function(inspections) {\n for (var i = 0; i < inspections.length; ++i) {\n var inspection = inspections[i];\n if (inspection.isRejected()) {\n errorObj.e = inspection.error();\n return errorObj;\n } else if (!inspection.isFulfilled()) {\n resultPromise.cancel();\n return;\n }\n inspections[i] = inspection.value();\n }\n promise._pushContext();\n\n fn = tryCatch(fn);\n var ret = spreadArgs\n ? fn.apply(undefined, inspections) : fn(inspections);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret, promiseCreated, \"Promise.using\", promise);\n return ret;\n });\n\n var promise = resultPromise.lastly(function() {\n var inspection = new Promise.PromiseInspection(resultPromise);\n return dispose(resources, inspection);\n });\n resources.promise = promise;\n promise._setOnCancel(resources);\n return promise;\n };\n\n Promise.prototype._setDisposable = function (disposer) {\n this._bitField = this._bitField | 131072;\n this._disposer = disposer;\n };\n\n Promise.prototype._isDisposable = function () {\n return (this._bitField & 131072) > 0;\n };\n\n Promise.prototype._getDisposer = function () {\n return this._disposer;\n };\n\n Promise.prototype._unsetDisposable = function () {\n this._bitField = this._bitField & (~131072);\n this._disposer = undefined;\n };\n\n Promise.prototype.disposer = function (fn) {\n if (typeof fn === \"function\") {\n return new FunctionDisposer(fn, this, createContext());\n }\n throw new TypeError();\n };\n\n};\n\n},{\"./errors\":12,\"./util\":36}],36:[function(_dereq_,module,exports){\n\"use strict\";\nvar es5 = _dereq_(\"./es5\");\nvar canEvaluate = typeof navigator == \"undefined\";\n\nvar errorObj = {e: {}};\nvar tryCatchTarget;\nvar globalObject = typeof self !== \"undefined\" ? self :\n typeof window !== \"undefined\" ? window :\n typeof global !== \"undefined\" ? global :\n this !== undefined ? this : null;\n\nfunction tryCatcher() {\n try {\n var target = tryCatchTarget;\n tryCatchTarget = null;\n return target.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\n\nvar inherits = function(Child, Parent) {\n var hasProp = {}.hasOwnProperty;\n\n function T() {\n this.constructor = Child;\n this.constructor$ = Parent;\n for (var propertyName in Parent.prototype) {\n if (hasProp.call(Parent.prototype, propertyName) &&\n propertyName.charAt(propertyName.length-1) !== \"$\"\n ) {\n this[propertyName + \"$\"] = Parent.prototype[propertyName];\n }\n }\n }\n T.prototype = Parent.prototype;\n Child.prototype = new T();\n return Child.prototype;\n};\n\n\nfunction isPrimitive(val) {\n return val == null || val === true || val === false ||\n typeof val === \"string\" || typeof val === \"number\";\n\n}\n\nfunction isObject(value) {\n return typeof value === \"function\" ||\n typeof value === \"object\" && value !== null;\n}\n\nfunction maybeWrapAsError(maybeError) {\n if (!isPrimitive(maybeError)) return maybeError;\n\n return new Error(safeToString(maybeError));\n}\n\nfunction withAppended(target, appendee) {\n var len = target.length;\n var ret = new Array(len + 1);\n var i;\n for (i = 0; i < len; ++i) {\n ret[i] = target[i];\n }\n ret[i] = appendee;\n return ret;\n}\n\nfunction getDataPropertyOrDefault(obj, key, defaultValue) {\n if (es5.isES5) {\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n if (desc != null) {\n return desc.get == null && desc.set == null\n ? desc.value\n : defaultValue;\n }\n } else {\n return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined;\n }\n}\n\nfunction notEnumerableProp(obj, name, value) {\n if (isPrimitive(obj)) return obj;\n var descriptor = {\n value: value,\n configurable: true,\n enumerable: false,\n writable: true\n };\n es5.defineProperty(obj, name, descriptor);\n return obj;\n}\n\nfunction thrower(r) {\n throw r;\n}\n\nvar inheritedDataKeys = (function() {\n var excludedPrototypes = [\n Array.prototype,\n Object.prototype,\n Function.prototype\n ];\n\n var isExcludedProto = function(val) {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (excludedPrototypes[i] === val) {\n return true;\n }\n }\n return false;\n };\n\n if (es5.isES5) {\n var getKeys = Object.getOwnPropertyNames;\n return function(obj) {\n var ret = [];\n var visitedKeys = Object.create(null);\n while (obj != null && !isExcludedProto(obj)) {\n var keys;\n try {\n keys = getKeys(obj);\n } catch (e) {\n return ret;\n }\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (visitedKeys[key]) continue;\n visitedKeys[key] = true;\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n if (desc != null && desc.get == null && desc.set == null) {\n ret.push(key);\n }\n }\n obj = es5.getPrototypeOf(obj);\n }\n return ret;\n };\n } else {\n var hasProp = {}.hasOwnProperty;\n return function(obj) {\n if (isExcludedProto(obj)) return [];\n var ret = [];\n\n /*jshint forin:false */\n enumeration: for (var key in obj) {\n if (hasProp.call(obj, key)) {\n ret.push(key);\n } else {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (hasProp.call(excludedPrototypes[i], key)) {\n continue enumeration;\n }\n }\n ret.push(key);\n }\n }\n return ret;\n };\n }\n\n})();\n\nvar thisAssignmentPattern = /this\\s*\\.\\s*\\S+\\s*=/;\nfunction isClass(fn) {\n try {\n if (typeof fn === \"function\") {\n var keys = es5.names(fn.prototype);\n\n var hasMethods = es5.isES5 && keys.length > 1;\n var hasMethodsOtherThanConstructor = keys.length > 0 &&\n !(keys.length === 1 && keys[0] === \"constructor\");\n var hasThisAssignmentAndStaticMethods =\n thisAssignmentPattern.test(fn + \"\") && es5.names(fn).length > 0;\n\n if (hasMethods || hasMethodsOtherThanConstructor ||\n hasThisAssignmentAndStaticMethods) {\n return true;\n }\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n\nfunction toFastProperties(obj) {\n /*jshint -W027,-W055,-W031*/\n function FakeConstructor() {}\n FakeConstructor.prototype = obj;\n var receiver = new FakeConstructor();\n function ic() {\n return typeof receiver.foo;\n }\n ic();\n ic();\n return obj;\n eval(obj);\n}\n\nvar rident = /^[a-z$_][a-z$_0-9]*$/i;\nfunction isIdentifier(str) {\n return rident.test(str);\n}\n\nfunction filledRange(count, prefix, suffix) {\n var ret = new Array(count);\n for(var i = 0; i < count; ++i) {\n ret[i] = prefix + i + suffix;\n }\n return ret;\n}\n\nfunction safeToString(obj) {\n try {\n return obj + \"\";\n } catch (e) {\n return \"[no string representation]\";\n }\n}\n\nfunction isError(obj) {\n return obj instanceof Error ||\n (obj !== null &&\n typeof obj === \"object\" &&\n typeof obj.message === \"string\" &&\n typeof obj.name === \"string\");\n}\n\nfunction markAsOriginatingFromRejection(e) {\n try {\n notEnumerableProp(e, \"isOperational\", true);\n }\n catch(ignore) {}\n}\n\nfunction originatesFromRejection(e) {\n if (e == null) return false;\n return ((e instanceof Error[\"__BluebirdErrorTypes__\"].OperationalError) ||\n e[\"isOperational\"] === true);\n}\n\nfunction canAttachTrace(obj) {\n return isError(obj) && es5.propertyIsWritable(obj, \"stack\");\n}\n\nvar ensureErrorObject = (function() {\n if (!(\"stack\" in new Error())) {\n return function(value) {\n if (canAttachTrace(value)) return value;\n try {throw new Error(safeToString(value));}\n catch(err) {return err;}\n };\n } else {\n return function(value) {\n if (canAttachTrace(value)) return value;\n return new Error(safeToString(value));\n };\n }\n})();\n\nfunction classString(obj) {\n return {}.toString.call(obj);\n}\n\nfunction copyDescriptors(from, to, filter) {\n var keys = es5.names(from);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (filter(key)) {\n try {\n es5.defineProperty(to, key, es5.getDescriptor(from, key));\n } catch (ignore) {}\n }\n }\n}\n\nvar asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n }\n return null;\n};\n\nif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n var ArrayFrom = typeof Array.from === \"function\" ? function(v) {\n return Array.from(v);\n } : function(v) {\n var ret = [];\n var it = v[Symbol.iterator]();\n var itResult;\n while (!((itResult = it.next()).done)) {\n ret.push(itResult.value);\n }\n return ret;\n };\n\n asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n } else if (v != null && typeof v[Symbol.iterator] === \"function\") {\n return ArrayFrom(v);\n }\n return null;\n };\n}\n\nvar isNode = typeof process !== \"undefined\" &&\n classString(process).toLowerCase() === \"[object process]\";\n\nvar hasEnvVariables = typeof process !== \"undefined\" &&\n typeof process.env !== \"undefined\";\n\nfunction env(key) {\n return hasEnvVariables ? process.env[key] : undefined;\n}\n\nfunction getNativePromise() {\n if (typeof Promise === \"function\") {\n try {\n var promise = new Promise(function(){});\n if ({}.toString.call(promise) === \"[object Promise]\") {\n return Promise;\n }\n } catch (e) {}\n }\n}\n\nfunction domainBind(self, cb) {\n return self.bind(cb);\n}\n\nvar ret = {\n isClass: isClass,\n isIdentifier: isIdentifier,\n inheritedDataKeys: inheritedDataKeys,\n getDataPropertyOrDefault: getDataPropertyOrDefault,\n thrower: thrower,\n isArray: es5.isArray,\n asArray: asArray,\n notEnumerableProp: notEnumerableProp,\n isPrimitive: isPrimitive,\n isObject: isObject,\n isError: isError,\n canEvaluate: canEvaluate,\n errorObj: errorObj,\n tryCatch: tryCatch,\n inherits: inherits,\n withAppended: withAppended,\n maybeWrapAsError: maybeWrapAsError,\n toFastProperties: toFastProperties,\n filledRange: filledRange,\n toString: safeToString,\n canAttachTrace: canAttachTrace,\n ensureErrorObject: ensureErrorObject,\n originatesFromRejection: originatesFromRejection,\n markAsOriginatingFromRejection: markAsOriginatingFromRejection,\n classString: classString,\n copyDescriptors: copyDescriptors,\n hasDevTools: typeof chrome !== \"undefined\" && chrome &&\n typeof chrome.loadTimes === \"function\",\n isNode: isNode,\n hasEnvVariables: hasEnvVariables,\n env: env,\n global: globalObject,\n getNativePromise: getNativePromise,\n domainBind: domainBind\n};\nret.isRecentNode = ret.isNode && (function() {\n var version;\n if (process.versions && process.versions.node) { \n version = process.versions.node.split(\".\").map(Number);\n } else if (process.version) {\n version = process.version.split(\".\").map(Number);\n }\n return (version[0] === 0 && version[1] > 10) || (version[0] > 0);\n})();\n\nif (ret.isNode) ret.toFastProperties(process);\n\ntry {throw new Error(); } catch (e) {ret.lastLineError = e;}\nmodule.exports = ret;\n\n},{\"./es5\":13}]},{},[4])(4)\n}); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; }\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../process/browser.js */ \"./node_modules/process/browser.js\"), __webpack_require__(/*! ./../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../../../timers-browserify/main.js */ \"./node_modules/timers-browserify/main.js\").setImmediate))\n\n/***/ }),\n\n/***/ \"./node_modules/process/browser.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/process/browser.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ \"./node_modules/setimmediate/setImmediate.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/setimmediate/setImmediate.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    工单: + + +
    料号: + + + 计划完成日期: + +
    工序: + + + 未排程数量: + +
    生产数量: + + 可排数量(回冲): + +
    + +
    +
    + + + + + +
    + 插入新项 + + 删除 +
    +
    +
    +
    +
    +
    +
    +
    设备
    +
    排程数量 + +
    +
    排程开始时间 + +
    + +
    +
    + +
    +
    + 确定 + + 取消 +
    + + + + + diff --git a/src/gantt/custom/ResourceSelectDialog.html b/src/gantt/custom/ResourceSelectDialog.html new file mode 100644 index 0000000..1c73de1 --- /dev/null +++ b/src/gantt/custom/ResourceSelectDialog.html @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + +
    + + + + + + + + +
    + +
    + + + + + + +
    + +
    + +
    +
    +
    +
    设备编号
    +
    设备名称
    + +
    +
    + +
    +
    + 确定 + + 取消 +
    + + + + + + + diff --git a/src/gantt/custom/ShopOrderSelectDialog.html b/src/gantt/custom/ShopOrderSelectDialog.html new file mode 100644 index 0000000..9f7b9d8 --- /dev/null +++ b/src/gantt/custom/ShopOrderSelectDialog.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + +
    + + + 查询 +
    +
    + +
    +
    +
    +
    工单编号
    +
    工作中心
    +
    物料
    +
    物料描述
    +
    工单总量
    +
    已排程量
    +
    已完成量
    +
    计划开始日期 +
    +
    计划完成日期 +
    +
    +
    + +
    +
    + 确定 + + 取消 +
    + + + + + diff --git a/src/gantt/custom/WorkCenterSelectDialog.html b/src/gantt/custom/WorkCenterSelectDialog.html new file mode 100644 index 0000000..ba489d3 --- /dev/null +++ b/src/gantt/custom/WorkCenterSelectDialog.html @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + +
    + +
    +
    +
    工作中心 + +
    +
    描述 + +
    +
    +
    + +
    +
    + 确定 + + 取消 +
    + + + diff --git a/src/gantt/custom/css/gantt_control.css b/src/gantt/custom/css/gantt_control.css new file mode 100644 index 0000000..fb94f89 --- /dev/null +++ b/src/gantt/custom/css/gantt_control.css @@ -0,0 +1,564 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(../fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2'); +} + +.mini-mask-background +{ + background-color: gray; + opacity: 0.4; +} + +.mini-button-danger +{ + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; + border-radius: 4px; + font-size: 10px; + height: 20px; +} +body a:hover.mini-button-danger, body a:focus.mini-button-danger +{ + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.mini-button-danger .mini-button-inner{ + line-height: 12px; +} + +.mini-button-success +{ + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; + border-radius: 4px; + font-size: 10px; + height: 20px; +} +body a:hover.mini-button-success, body a:focus.mini-button-success +{ + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.mini-button-success .mini-button-inner{ + line-height: 12px; +} + +.mini-button-toggle +{ + color: #fff; + background-color: lightgrey; + border-color: gray; + border-radius: 4px; + font-size: 10px; + width: 20px; + height: 20px; +} + +.mini-button-toggle .mini-button-icon-only .mini-button-icon { + left: -6.5px; + color: #838383; +} + +body a:hover.mini-button-toggle, body a:focus.mini-button-toggle +{ + color: #fff; + background-color: lightgrey; + border-color: gray; +} + +.mini-button-toggle .mini-button-inner{ + line-height: 12px; + margin: 0; + padding: 0; +} + +.mini-button-menu +{ + color: #fff; + background-color: #ffc529; + border-color: #ffc529; + border-radius: 4px; + font-size: 10px; + width: 20px; + height: 20px; +} +body a:hover.mini-button-menu, body a:focus.mini-button-menu +{ + color: #fff; + background-color: #ffc529; + border-color: #ffc529; +} +.mini-button-menu .mini-button-inner{ + line-height: 12px; +} + +.mini-button-menu .mini-button-icon-only .mini-button-icon { + left: 1px; + top: 9.5px; + color: #838383; +} + +.mini-state-active, body .mini-button-checked, body a:hover.mini-button-checked, body a:focus.mini-button-checked, html body .mini-grid-row-selected, .mini-listbox-item-selected td, .mini-calendar .mini-calendar-selected, .mini-calendar-menu-selected, .mini-tree-selectedNode .mini-tree-nodeshow { + background-color: #5cb85c; + border-color: #4cae4c; + color: #fff; +} + +.blingbling { + width: 16px; + height: 16px; + border-radius: 50%; + -webkit-animation: scaleout 1s infinite ease-in-out; + animation: scaleout 1s infinite ease-in-out; +} + +@-webkit-keyframes scaleout { + 0% { + -webkit-transform: scale(1.0) + } + 100% { + -webkit-transform: scale(1.1); + opacity: 0; + } +} + +@keyframes scaleout { + 0% { + transform: scale(1.0); + -webkit-transform: scale(1.0); + } + 100% { + transform: scale(1.1); + -webkit-transform: scale(1.1); + opacity: 0; + } +} + +.gantt_task_content { + color: black; +} + +.gantt_control { + background: #ededed; + text-align: center; +} + +.gantt_control input[type=button], +.gantt_control input[type=file], +.gantt_control input[type=checkbox], +.gantt_control button { + font: 500 14px Roboto; + border: 1px solid #D9D9D9; + border-radius: 2px; + background: #fff; + padding: 4px 12px; + margin: 0 5px; + color: rgba(0, 0, 0, 0.7); + line-height: 20px; +} + +.gantt_control input[type=button]:hover, +.gantt_control button:hover { + border: 1px solid #B3B3B3; + color: rgba(0, 0, 0, 0.8); + cursor: pointer; +} + +.gantt_control input[type=button]:active, +.gantt_control button:active { + background: #F7F7F7; +} + +.gantt_control input[type=button]:focus, +.gantt_control button:focus { + outline: none !important; +} + +.gantt_control { + padding: 5px 12px; +} + +.gantt_control input[type=radio], +.gantt_control input[type=checkbox] { + display: none; +} + +.gantt_control label { + padding: 0 6px; + color: rgba(0, 0, 0, 0.54); + font: 14px Roboto; + line-height: 20px; + letter-spacing: 0.2px; +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + position: relative; + top: 6px; + right: 2px; + color: rgba(0, 0, 0, 0.54); +} + +.material-icons.icon_color { + color: #0288D1; +} + +.material-icons.md-inactive { + color: rgba(0, 0, 0, 0.38); +} + +.checked_label { + color: rgba(0, 0, 0, 0.7) !important; +} + +.gantt_task_progress { + background: #d94511; +} + +.shop_order_task .gantt_task_progress { + background: #D9DF29; +} + +.shop_order_task { + border: 1px solid #03c505; + border-radius: 6px; + color: white; + background: #09cd15; + opacity: 0.7; + z-index: 999 +} + +.shop_order_task .gantt_task_progress { + background: #016906; +} + +.shop_order_task_unsaved { + border: 1px solid #03c505; + border-radius: 6px; + color: white; + background: #87cd82; + opacity: 0.7; + z-index: 999 +} + +.shop_order_task_unsaved .gantt_task_progress { + background: #24872e; +} + +.shop_order_task_effect_unsaved { + border: 1px solid #ff0600; + border-radius: 6px; + color: white; + background: #ffa69a; + opacity: 0.7; + z-index: 999 +} + +.shop_order_task_effect_unsaved .gantt_task_progress { + background: #ffa69a; +} + +.rest_task { + border: 1px solid #f2f2f2; + color: white; + border: 1px solid #f2f2f2; +} + +.rest_task .gantt_task_progress { + border: 1px solid #f2f2f2; +} + +.project_task { + border: 1px solid #4241df; + color: white; + background: #6461df; + opacity: 0; + z-index: 999 +} + +.project_task .gantt_task_progress { + background: #6461df +} + +.validated_task { + border: 1px solid #ffc514; + border-radius: 6px; + color: white; + background: #ffc514; + opacity: 0.7; + z-index: 999 +} + +.validated_task .gantt_task_progress { + background: #ffc514 +} + +.readonly_task { + border: darkgrey; + border-radius: 6px; + color: white; + background: gray; + opacity: 0.7; + z-index: 999 +} + +.readonly_task .gantt_task_progress { + background: gray +} + +.weekend { + border-radius: 2px; + opacity: 0.4; + background: #B6A1E4; + /*z-index: 2;*/ + pointer-events: none; +} + +.weekend_task_layer { + position: absolute; + opacity: 0.4; + background: #8E53ED; + /*z-index: 2;*/ + pointer-events: none; +} + +.gantt_task_cell.weekend { + background-color: #f23fd8; +} + +.gantt_task_row.gantt_selected .gantt_task_cell.weekend { + background-color: #e0e0dd; +} + +.red .gantt_cell, .odd.red .gantt_cell, +.red .gantt_task_cell, .odd.red .gantt_task_cell { + background-color: #FDE0E0; +} + +.green .gantt_cell, .odd.green .gantt_cell, +.green .gantt_task_cell, .odd.green .gantt_task_cell { + background-color: #BEE4BE; +} + +.weekend { + background: #f4f7f4; +} + +.gantt_selected .weekend { + background: #f7eb91; +} + +.complex_gantt_bar { + background: transparent; + border: none; +} + +.complex_gantt_bar .gantt_task_progress { + display: none; +} + +.task_normal { + border-radius: 6px; +} + +.task_red { + border: 1px solid #a80009; + border-radius: 6px; + color: white; + background: #c44d15; +} + +.task_red .gantt_task_progress { + background: #83330e +} + + +.task_yellow { + border: 1px solid #d99631; + border-radius: 6px; + color: #dd9a2e; + background: #dd9a2e; +} + +.task_yellow .gantt_task_progress { + background: #765219; +} + +.task_green { + border: 1px solid #02a80b; + border-radius: 6px; + color: #34c461; + background: #34c461; +} + +.task_green .gantt_task_progress { + background: #01712a; +} + +.task_white { + border: 1px solid gray; + border-radius: 6px; + color: white; + background: white; +} + +.task_white .gantt_task_progress { + background: rgb(138, 137, 137); +} + +.task_gray { + border: 1px solid gray; + border-radius: 6px; + color: lightgray; + background: lightgray; +} + +.task_gray .gantt_task_progress { + background: rgb(113, 112, 112); +} + +.task_blue { + border: 1px solid darkblue; + border-radius: 6px; + color: black; + background: #2068cc; + opacity: 0.8; +} + +.task_blue .gantt_task_progress { + background: #547dab; +} + +.task_yellow { + border: 1px solid #faff11; + border-radius: 6px; + color: black; + background: #efe959; + opacity: 1; +} + +.task_yellow .gantt_task_progress { + background: #9e993e; +} + +.task_orange { + border: 1px solid #ffa500; + border-radius: 6px; + color: black; + background: #ffc529; + opacity: 1; +} + +.task_orange .gantt_task_progress { + background: #9e7b1a; +} + +.root .gantt_task_progress { + background: #ffa69a; +} + +.firstBatchDate { + background: #a80009; +} + +.custom_progress { + border: 1px solid #ffa69a; + display: inline-block; + vertical-align: top; + text-align: center; + height: 100%; +} + +.custom_progress.nearly_done { + background-color: #4CC259; +} + +.custom_progress.in_progress { + background-color: #88BFF5; +} + +.custom_progress.idle { + background-color: #d96c49; +} + +.red .gantt_cell, .odd.red .gantt_cell, +.red .gantt_task_cell, .odd.red .gantt_task_cell { + background-color: #FDE0E0; +} + +.task_locked { + border: 2px solid darkred; +} + +.task_unsaved { + opacity: 0.6; +} + +.task_highlight { + background-color: #b9ff0a; + border-color: cyan; +} + +.task_locked.task_highlight{ + border: 2px solid #b60000; +} + +.gantt_side_content { + position: absolute; + white-space: nowrap; + color: #6e6e6e; + top: 0; + font-weight: bold; + font-size: 15px; +} + +.gantt_left { + background-color: rgba(255, 255, 255, 0); + color: black; + z-index: 9999; +} + +.gantt_right { + background-color: rgba(255, 255, 255, 0); + color: black; + z-index: 9999; +} + +.gantt_task_line { + z-index: 1; +} + +.gantt_task_line.gantt_selected { + box-shadow: 0 0 2px 2px #299cb4; +} + +.drag_move_vertical, .drag_move_horizontal { + background-color: red; + opacity: 0.7; +} + +.drag_move_horizontal { + border-top: 1px red solid; + border-bottom: 1px red solid; + border-left: 0px; + border-right: 0px; + background: transparent; +} \ No newline at end of file diff --git a/src/gantt/custom/dispatch.html b/src/gantt/custom/dispatch.html new file mode 100644 index 0000000..f4259a6 --- /dev/null +++ b/src/gantt/custom/dispatch.html @@ -0,0 +1,1942 @@ + + + + 生产派工-甘特图 + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + +
    +
    + +   派工开始时间: + 至 + + + 检索 + 保存 + 还原 + 新建 + +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    + + + + + + + +
    + + + + + + + +
    + + + + + + + +
    +
    +
    + + +
    +
    + +
      +
    • 修改
    • + +
    • 删除
    • +
    + +
    + + diff --git a/src/gantt/custom/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 b/src/gantt/custom/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 new file mode 100644 index 0000000..373c2c5 Binary files /dev/null and b/src/gantt/custom/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 differ diff --git a/src/gantt/custom/gantt_order_report.html b/src/gantt/custom/gantt_order_report.html new file mode 100644 index 0000000..9c6ec0d --- /dev/null +++ b/src/gantt/custom/gantt_order_report.html @@ -0,0 +1,745 @@ + + + + 生产派工-甘特图 + + + + + + + + + + + + + + + + + +
    + + + + + +
    + 全部收缩 + 展开全部 +   派工开始时间: + 至 + + + + 检索 + 清除 + + + + + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    + + + + + + + +
    + + + + + + + +
    +
    +
    + + +
    +
    + +
      +
    • 修改
    • +
    + +
    + + diff --git a/src/gantt/custom/monitordata/monitor_backend.json b/src/gantt/custom/monitordata/monitor_backend.json new file mode 100644 index 0000000..5a49461 --- /dev/null +++ b/src/gantt/custom/monitordata/monitor_backend.json @@ -0,0 +1,298 @@ +{ + "Status": "OK", + "Message": "检索成功", + "Data": [ + { + "line": "A1", + "appointments": [ + { + "handle": "HandleBO:a35221329f1a4fc284b73675df132be3", + "shopOrder": "1069434", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 6.000000, + "dispatchingQty": 6, + "dispatchingHour": 0.150000, + "start": "2019-12-03 18:31:00.0", + "end": "2019-12-03 18:40:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:c4fdd02cdeae4f299b6aafcb40485e29", + "shopOrder": "1069435", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 112.000000, + "dispatchingQty": 112, + "dispatchingHour": 2.800000, + "start": "2019-12-03 18:41:00.0", + "end": "2019-12-03 21:29:00.0", + "lock": "Y", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:4560ba7dbba2491082499c7815e84c62", + "shopOrder": "1069436", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 8.000000, + "dispatchingQty": 8, + "dispatchingHour": 0.200000, + "start": "2019-12-03 21:30:00.0", + "end": "2019-12-03 21:42:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:bf6745c44a7342a49de0f4733e0fb882", + "shopOrder": "1069437", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 16.000000, + "dispatchingQty": 16, + "dispatchingHour": 0.400000, + "start": "2019-12-03 21:43:00.0", + "end": "2019-12-03 22:07:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:777a01841357416d961ca73fdc3ef12a", + "shopOrder": "1069439", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 10.000000, + "dispatchingQty": 10, + "dispatchingHour": 0.250000, + "start": "2019-12-03 22:08:00.0", + "end": "2019-12-03 22:23:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:b604b54385a943d4ac69aa08647dd986", + "shopOrder": "1078461", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 420.000000, + "dispatchingQty": 420, + "dispatchingHour": 10.500000, + "start": "2019-12-03 22:24:00.0", + "end": "2019-12-04 08:54:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + } + ] + }, + { + "line": "A2", + "appointments": [] + }, + { + "line": "A3", + "appointments": [] + }, + { + "line": "A4", + "appointments": [ + { + "handle": "HandleBO:c4c76029856246b4a4a863ffb2e51344", + "shopOrder": "1079472", + "customerOrder": "1079472", + "item": "201100NA51400R001", + "productionType": "dahuo", + "shopOrderQty": 700.000000, + "dispatchingQty": 350, + "dispatchingHour": 1.000000, + "start": "2019-11-23 09:05:48.0", + "end": "2019-11-23 10:05:48.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:442568720184430eb3d801ba60b57b89", + "shopOrder": "1080277", + "customerOrder": "HK192909A", + "item": "20110719P1300R001", + "productionType": "dahuo", + "shopOrderQty": 4.000000, + "dispatchingQty": 4, + "dispatchingHour": 0.080000, + "start": "2019-11-23 08:00:00.0", + "end": "2019-11-23 08:04:48.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + } + ] + }, + { + "line": "A5", + "appointments": [] + }, + { + "line": "A6", + "appointments": [ + { + "handle": "HandleBO:c292bb39debc4b2d97f6aba8eda04d7f", + "shopOrder": "1080025", + "customerOrder": "HK192887A", + "item": "201104S8W2300R001", + "productionType": "dahuo", + "shopOrderQty": 3.000000, + "dispatchingQty": 3, + "dispatchingHour": 0.050000, + "start": "2019-11-23 12:49:00.0", + "end": "2019-11-23 12:52:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:6644c7e531cc4bcc8c781ef89ece52bf", + "shopOrder": "1080024", + "customerOrder": "HK192887A", + "item": "201104S8W2300R001", + "productionType": "dahuo", + "shopOrderQty": 288.000000, + "dispatchingQty": 288, + "dispatchingHour": 4.800000, + "start": "2019-11-23 08:00:00.0", + "end": "2019-11-23 12:48:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + } + ] + }, + { + "line": "A7", + "appointments": [] + }, + { + "line": "A8", + "appointments": [] + }, + { + "line": "A9", + "appointments": [] + }, + { + "line": "A10", + "appointments": [] + }, + { + "line": "A11", + "appointments": [] + }, + { + "line": "A12", + "appointments": [] + }, + { + "line": "A13", + "appointments": [] + }, + { + "line": "A14", + "appointments": [] + }, + { + "line": "A15", + "appointments": [] + }, + { + "line": "A16", + "appointments": [] + }, + { + "line": "A17", + "appointments": [] + }, + { + "line": "A18", + "appointments": [] + }, + { + "line": "A19", + "appointments": [] + }, + { + "line": "A20", + "appointments": [] + }, + { + "line": "A22", + "appointments": [ + { + "handle": "HandleBO:30d30d4066694793b76052a6ad00f8f2", + "shopOrder": "1079533", + "customerOrder": "SZ190854A", + "item": "201100XD41300R003", + "productionType": "dahuo", + "shopOrderQty": 1.000000, + "dispatchingQty": 1, + "dispatchingHour": 0.040000, + "start": "2019-11-23 10:53:47.0", + "end": "2019-11-23 10:56:11.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:b26a04899c2b41ce9cf51767fecd964a", + "shopOrder": "1079528", + "customerOrder": "SZ190854A", + "item": "201100XD41300R003", + "productionType": "dahuo", + "shopOrderQty": 72.000000, + "dispatchingQty": 72, + "dispatchingHour": 2.880000, + "start": "2019-11-23 08:00:00.0", + "end": "2019-11-23 10:52:47.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/gantt/custom/monitordata/monitor_backend1.json b/src/gantt/custom/monitordata/monitor_backend1.json new file mode 100644 index 0000000..1bdfc1d --- /dev/null +++ b/src/gantt/custom/monitordata/monitor_backend1.json @@ -0,0 +1,98 @@ +{ + "Status": "OK", + "Message": "检索成功", + "Data": [ + { + "line": "A1", + "appointments": [ + + ] + }, + { + "line": "A2", + "appointments": [] + }, + { + "line": "A3", + "appointments": [] + }, + { + "line": "A4", + "appointments": [ + + ] + }, + { + "line": "A5", + "appointments": [] + }, + { + "line": "A6", + "appointments": [ + + ] + }, + { + "line": "A7", + "appointments": [] + }, + { + "line": "A8", + "appointments": [] + }, + { + "line": "A9", + "appointments": [] + }, + { + "line": "A10", + "appointments": [] + }, + { + "line": "A11", + "appointments": [] + }, + { + "line": "A12", + "appointments": [] + }, + { + "line": "A13", + "appointments": [] + }, + { + "line": "A14", + "appointments": [] + }, + { + "line": "A15", + "appointments": [] + }, + { + "line": "A16", + "appointments": [] + }, + { + "line": "A17", + "appointments": [] + }, + { + "line": "A18", + "appointments": [] + }, + { + "line": "A19", + "appointments": [] + }, + { + "line": "A20", + "appointments": [] + }, + { + "line": "A22", + "appointments": [ + + ] + } + ] +} \ No newline at end of file diff --git a/src/gantt/custom/monitordata/monitor_report_backend.json b/src/gantt/custom/monitordata/monitor_report_backend.json new file mode 100644 index 0000000..60bc4d3 --- /dev/null +++ b/src/gantt/custom/monitordata/monitor_report_backend.json @@ -0,0 +1,306 @@ +{ + "Status": "OK", + "Message": "检索成功", + "Data": [ + { + "line": "A1", + "appointments": [ + { + "handle": "HandleBO:a35221329f1a4fc284b73675df132be3", + "shopOrder": "1069434", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 6.000000, + "dispatchingQty": 6, + "dispatchingHour": 0.150000, + "start": "2019-12-03 18:31:00.0", + "end": "2019-12-03 18:40:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:c4fdd02cdeae4f299b6aafcb40485e29", + "shopOrder": "1069435", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 112.000000, + "dispatchingQty": 112, + "dispatchingHour": 2.800000, + "start": "2019-12-03 18:41:00.0", + "end": "2019-12-03 21:29:00.0", + "lock": "Y", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:4560ba7dbba2491082499c7815e84c62", + "shopOrder": "1069436", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 8.000000, + "dispatchingQty": 8, + "dispatchingHour": 0.200000, + "start": "2019-12-03 21:30:00.0", + "end": "2019-12-03 21:42:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:bf6745c44a7342a49de0f4733e0fb882", + "shopOrder": "1069437", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 16.000000, + "dispatchingQty": 16, + "dispatchingHour": 0.400000, + "start": "2019-12-03 21:43:00.0", + "end": "2019-12-03 22:07:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:777a01841357416d961ca73fdc3ef12a", + "shopOrder": "1069439", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 10.000000, + "dispatchingQty": 10, + "dispatchingHour": 0.250000, + "start": "2019-12-03 22:08:00.0", + "end": "2019-12-03 22:23:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:b604b54385a943d4ac69aa08647dd986", + "shopOrder": "1078461", + "customerOrder": "HK191667B", + "item": "201100XD41300R004", + "productionType": "dahuo", + "shopOrderQty": 420.000000, + "dispatchingQty": 420, + "dispatchingHour": 10.500000, + "start": "2019-12-03 22:24:00.0", + "end": "2019-12-04 08:54:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + } + ] + }, + { + "line": "A2", + "appointments": [] + }, + { + "line": "A3", + "appointments": [] + }, + { + "line": "A4", + "appointments": [ + { + "handle": "HandleBO:c4c76029856246b4a4a863ffb2e51344", + "shopOrder": "1079472", + "customerOrder": "1079472", + "item": "201100NA51400R001", + "productionType": "dahuo", + "shopOrderQty": 700.000000, + "dispatchingQty": 350, + "dispatchingHour": 1.000000, + "start": "2019-11-23 09:05:48.0", + "end": "2019-11-23 10:05:48.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:442568720184430eb3d801ba60b57b89", + "shopOrder": "1080277", + "customerOrder": "HK192909A", + "item": "20110719P1300R001", + "productionType": "dahuo", + "shopOrderQty": 4.000000, + "dispatchingQty": 4, + "dispatchingHour": 0.080000, + "start": "2019-11-23 08:00:00.0", + "end": "2019-11-23 08:04:48.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + } + ] + }, + { + "line": "A5", + "appointments": [] + }, + { + "line": "A6", + "appointments": [ + { + "handle": "HandleBO:c292bb39debc4b2d97f6aba8eda04d7f", + "shopOrder": "1080025", + "customerOrder": "HK192887A", + "item": "201104S8W2300R001", + "productionType": "dahuo", + "shopOrderQty": 3.000000, + "dispatchingQty": 3, + "dispatchingHour": 0.050000, + "start": "2019-11-23 12:49:00.0", + "end": "2019-11-23 12:52:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:6644c7e531cc4bcc8c781ef89ece52bf", + "shopOrder": "1080024", + "customerOrder": "HK192887A", + "item": "201104S8W2300R001", + "productionType": "dahuo", + "shopOrderQty": 288.000000, + "dispatchingQty": 288, + "dispatchingHour": 4.800000, + "start": "2019-11-23 08:00:00.0", + "end": "2019-11-23 12:48:00.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + } + ] + }, + { + "line": "A7", + "appointments": [] + }, + { + "line": "A8", + "appointments": [] + }, + { + "line": "A9", + "appointments": [] + }, + { + "line": "A10", + "appointments": [] + }, + { + "line": "A11", + "appointments": [] + }, + { + "line": "A12", + "appointments": [] + }, + { + "line": "A13", + "appointments": [] + }, + { + "line": "A14", + "appointments": [] + }, + { + "line": "A15", + "appointments": [] + }, + { + "line": "A16", + "appointments": [] + }, + { + "line": "A17", + "appointments": [] + }, + { + "line": "A18", + "appointments": [] + }, + { + "line": "A19", + "appointments": [] + }, + { + "line": "A20", + "appointments": [] + }, + { + "line": "A22", + "appointments": [ + { + "handle": "HandleBO:30d30d4066694793b76052a6ad00f8f2", + "shopOrder": "1079533", + "customerOrder": "SZ190854A", + "item": "201100XD41300R003", + "productionType": "dahuo", + "shopOrderQty": 1.000000, + "dispatchingQty": 1, + "dispatchingHour": 0.040000, + "start": "2019-11-23 10:53:47.0", + "end": "2019-11-23 10:56:11.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + }, + { + "handle": "HandleBO:b26a04899c2b41ce9cf51767fecd964a", + "shopOrder": "1079528", + "customerOrder": "SZ190854A", + "item": "201100XD41300R003", + "productionType": "dahuo", + "shopOrderQty": 72.000000, + "dispatchingQty": 72, + "dispatchingHour": 2.880000, + "start": "2019-11-23 08:00:00.0", + "end": "2019-11-23 10:52:47.0", + "lock": "N", + "status": "open", + "postQty": 0.000000, + "planCompleteRate": 0.0000, + "shopOrderCompleteRate": 0.0000 + } + ] + }, + { + "line": "A23", + "appointments": [] + }, + { + "line": "A24", + "appointments": [] + } + ] +} \ No newline at end of file diff --git a/src/gantt/custom/monitordata/monitor_task_line.json b/src/gantt/custom/monitordata/monitor_task_line.json new file mode 100644 index 0000000..41fba72 --- /dev/null +++ b/src/gantt/custom/monitordata/monitor_task_line.json @@ -0,0 +1,30 @@ +{"data":[ + {"id":"A01","text":"SMT车间", "priority": "2", "capability":"10000", "completeQty": "1200", "start_date":"2020-03-09 08:00","type":"project","render":"split","parent":"0","progress":0, "planCompleteRate": "80%","open":true}, + {"id":"A01-20191023005","text":"800/1000", "type": "order", "customerOrder": "KC2A937", "lock": "N", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "100%", "status": "closed","start_date":"2020-03-09 08:00","duration":600,"parent":"A01","qty":1000,"progress":1,"open":true}, + {"id":"A01-20191023001","text":"800/1000", "type": "order", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "80%", "status": "closed","start_date":"2020-03-09 18:15","duration":1200,"parent":"A01","qty":1000,"progress":0.8,"open":true}, + {"id":"A01-20191023001-01","text":"800/1000", "line": "A01", "type": "shop_order", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "status": "closed","start_date":"2020-03-09 18:15","duration":600,"parent":"A01-20191023001","qty":1000,"progress":0.8, "planCompleteRate": "80%","open":true}, + {"id":"A01-20191023001-02","text":"800/1000", "line": "A01", "type": "shop_order", "customerOrder": "KC2A937", "shopOrder": "2P2A938", "priority": "2", "completeQty": 800, "status": "closed","start_date":"2020-03-10 04:15","duration":600,"parent":"A01-20191023001","qty":1000,"progress":0.8, "planCompleteRate": "80%","open":true}, + {"id":"A01-20191023002","text":"800/1000", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "80%", "status": "processing","start_date":"2020-03-10 16:00","duration":1200,"parent":"A01","qty":1000,"progress":0.8,"open":true}, + {"id":"A01-20191023003","text":"500/1000", "customerOrder": "KC2A938", "shopOrder": "2P2A938", "priority": "2", "completeQty": 530, "planCompleteRate": "53%", "status": "processing","start_date":"2020-03-11 13:00","duration":1200,"parent":"A01","qty":1000,"progress":0.53,"open":true}, + {"id":"A01-20191023004","text":"500/1000", "customerOrder": "KC2A938", "shopOrder": "2P2A938", "priority": "2", "completeQty": 0, "planCompleteRate": "0%", "status": "new","start_date":"2020-03-12 09:10","duration":1200,"parent":"A01","qty":1000,"progress":0,"open":true}, + {"id":"A02","text":"模组车间", "priority": "2", "capability":"10000", "completeQty": "", "start_date":"2020-03-09 08:00","type":"project","render":"split","parent":"0","progress":0,"open":true}, + {"id":"A02-20191023001","text":"800/1000", "type": "order", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "80%", "status": "processing","start_date":"2020-03-09 09:00","duration":1200,"parent":"A02","qty":1000,"progress":0.8,"open":true}, + {"id":"A02-20191023001-01","text":"800/1000", "line": "A02", "type": "shop_order", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "status": "closed","start_date":"2020-03-09 18:15","duration":600,"parent":"A02-20191023001","qty":1000,"progress":0.8,"open":true}, + {"id":"A02-20191023001-02","text":"800/1000", "line": "A02", "type": "shop_order", "customerOrder": "KC2A937", "shopOrder": "2P2A939", "priority": "2", "completeQty": 800, "status": "closed","start_date":"2020-03-10 04:15","duration":600,"parent":"A02-20191023001","qty":1000,"progress":0.8,"open":true}, + {"id":"A02-20191023002","text":"800/1000", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "80%", "status": "processing","start_date":"2020-03-10 08:00","duration":660,"parent":"A02","qty":1000,"progress":0.8,"open":true}, + {"id":"A02-20191023003","text":"500/1000", "customerOrder": "KC2A938", "shopOrder": "2P2A938", "priority": "2", "completeQty": 530, "planCompleteRate": "53%", "status": "processing","start_date":"2020-03-10 20:00","duration":1200,"parent":"A02","qty":1000,"progress":0.53,"open":true}, + {"id":"A02-20191023004","text":"500/1000", "customerOrder": "KC2A938", "shopOrder": "2P2A939", "priority": "2", "completeQty": 530, "planCompleteRate": "0%", "status": "new","start_date":"2020-03-11 18:00","duration":1200,"parent":"A02","qty":1000,"progress":0,"open":true}, + {"id":"A03","text":"箱体车间", "priority": "2", "capability":"10000", "completeQty": "", "start_date":"2020-03-09 08:00","type":"project","render":"split","parent":"0","progress":0,"open":false}, + {"id":"A03-20191023005","text":"800/1000", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "100%", "status": "closed","start_date":"2020-03-09 08:00","duration":600,"parent":"A03","qty":1000,"progress":1,"open":true}, + {"id":"A03-20191023001","text":"800/1000", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "80%", "status": "closed","start_date":"2020-03-09 18:15","duration":1200,"parent":"A03","qty":1000,"progress":0.8,"open":true}, + {"id":"A03-20191023002","text":"800/1000", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "80%", "status": "processing","start_date":"2020-03-10 16:00","duration":1200,"parent":"A03","qty":1000,"progress":0.8,"open":true}, + {"id":"A03-20191023003","text":"500/1000", "customerOrder": "KC2A938", "shopOrder": "2P2A938", "priority": "2", "completeQty": 530, "planCompleteRate": "53%", "status": "processing","start_date":"2020-03-11 13:00","duration":1200,"parent":"A03","qty":1000,"progress":0.53,"open":true}, + {"id":"A03-20191023004","text":"500/1000", "customerOrder": "KC2A938", "shopOrder": "2P2A938", "priority": "2", "completeQty": 0, "planCompleteRate": "0%", "status": "new","start_date":"2020-03-12 09:10","duration":1200,"parent":"A03","qty":1000,"progress":0,"open":true}, + {"id":"A04","text":"A04", "priority": "2", "capability":"10000", "completeQty": "", "start_date":"2020-03-09 08:00","type":"project","render":"split","parent":"0","progress":0,"open":false}, + {"id":"A04-20191023005","text":"800/1000", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "100%", "status": "closed","start_date":"2020-03-09 08:00","duration":600,"parent":"A04","qty":1000,"progress":1,"open":true}, + {"id":"A04-20191023001","text":"800/1000", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "80%", "status": "closed","start_date":"2020-03-09 18:15","duration":1200,"parent":"A04","qty":1000,"progress":0.8,"open":true}, + {"id":"A04-20191023002","text":"800/1000", "customerOrder": "KC2A937", "shopOrder": "2P2A937", "priority": "2", "completeQty": 800, "planCompleteRate": "80%", "status": "processing","start_date":"2020-03-10 16:00","duration":1200,"parent":"A04","qty":1000,"progress":0.8,"open":true}, + {"id":"A04-20191023003","text":"500/1000", "customerOrder": "KC2A938", "shopOrder": "2P2A938", "priority": "2", "completeQty": 530, "planCompleteRate": "53%", "status": "processing","start_date":"2020-03-11 13:00","duration":1200,"parent":"A04","qty":1000,"progress":0.53,"open":true}, + {"id":"A04-20191023004","text":"500/1000", "customerOrder": "KC2A938", "shopOrder": "2P2A938", "priority": "2", "completeQty": 0, "planCompleteRate": "0%", "status": "new","start_date":"2020-03-12 09:10","duration":1200,"parent":"A04","qty":1000,"progress":0,"open":true}, + {"id":"A05","text":"A05", "priority": "2", "capability":"10000", "completeQty": "", "start_date":"2020-03-09 08:00","type":"project","render":"split","parent":"0","progress":0,"open":false} +]} \ No newline at end of file diff --git a/src/gantt/custom/monitordata/resource_list.json b/src/gantt/custom/monitordata/resource_list.json new file mode 100644 index 0000000..8d51567 --- /dev/null +++ b/src/gantt/custom/monitordata/resource_list.json @@ -0,0 +1,6 @@ +{ + "data": [ + {"resrce": "RS10101", "description": "A25一厂一号线一号机"}, + {"resrce": "RS10102", "description": "A25一厂一号线二号机"} + ] +} \ No newline at end of file diff --git a/src/gantt/edge/dhtmlx.css b/src/gantt/edge/dhtmlx.css new file mode 100644 index 0000000..54f24f0 --- /dev/null +++ b/src/gantt/edge/dhtmlx.css @@ -0,0 +1,9 @@ +/* +Product Name: dhtmlxSuite +Version: 5.0 +Edition: Standard +License: content of this file is covered by GPL. Usage outside GPL terms is prohibited. To obtain Commercial or Enterprise license contact sales@dhtmlx.com +Copyright UAB Dinamenta http://www.dhtmlx.com +*/ + +.dhtmlxcalendar_dhx_terrace{position:absolute;display:block;background-color:#fff;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhtmlxcalendar_dhx_terrace.dhtmlxcalendar_in_input{box-shadow:0 0 6px rgba(0,0,0,0.25);}.dhtmlxcalendar_ifr{position:absolute;overflow:hidden;background-color:white;}.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line{position:relative;display:block;clear:both;margin:0;padding:0;overflow:hidden;width:225px;margin-left:12px;}.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line li{float:left;position:relative;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;cursor:default;overflow:hidden;margin:0;padding:0;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont{position:relative;display:block;width:249px;margin:0;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top-left-radius:3px;border-top-right-radius:3px;overflow:hidden;color:#333;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr{width:225px;height:31px;line-height:31px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow{position:absolute;top:0;width:18px;height:31px;color:inherit;text-align:center;background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left{left:4px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif");opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{left:4px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right{right:4px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif");opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{right:4px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year{position:relative;font-weight:bold;color:inherit;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{display:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:74px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:22px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont{position:relative;display:block;width:249px;margin:0;border-left:1px solid #ccc;border-right:1px solid #ccc;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;overflow:hidden;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line{height:31px;border-bottom:1px solid #ccc;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li{width:31px;height:31px;line-height:31px;margin-left:1px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first{margin-left:1px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first{color:#d43f3a;margin-left:1px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont{position:relative;display:block;width:249px;margin:0;padding-bottom:8px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-bottom-left-radius:3px;border-bottom-right-radius:3px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line{margin-top:1px;margin-left:13px;height:31px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li{color:#909090;border-radius:3px;width:31px;height:31px;line-height:31px;margin-right:1px;overflow:visible;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label{width:100%;height:100%;text-align:center;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend{background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis{color:#c4c4c4;background-color:#ededed;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis{color:#d43f3a;background-color:#ededed;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover{background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month{color:#333;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date{color:black;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis{color:#d43f3a;background-color:#ededed;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis{color:#c4c4c4;background-color:#ededed;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover{color:#333;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover{color:#333;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title{background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_mark.gif");background-position:top right;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont{position:relative;display:block;width:249px;height:31px;margin-top:-4px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-bottom-left-radius:3px;border-bottom-right-radius:3px;background-color:#fff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li{width:225px;height:27px;line-height:25px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:left;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{position:absolute;left:22px;top:6px;width:13px;height:13px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_clock.gif");background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:42px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{left:75px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:center;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:0;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon{display:none;}.dhtmlxcalendar_dhx_terrace span.dhtmlxcalendar_label_colon{padding:0 4px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_cover{position:absolute;left:1px;background-color:white;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj{position:absolute;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow{position:absolute;bottom:auto;top:1px;left:0;width:100%;height:9px;overflow:hidden;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif");background-position:top center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow{background-position:-13px top;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow{background-position:-27px top;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{background-position:-52px top;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table{border-bottom:1px solid #ccc;border-top:0 solid white;background-color:white;margin-top:9px;box-shadow:0 0 5px rgba(0,0,0,0.25);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left{width:17px;text-align:center;border-top:1px solid #ccc;border-left:1px solid #ccc;border-bottom:0 solid white;border-right:0 solid white;padding:0;margin:0;background-color:white;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif");background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover{background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif");}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle{cursor:default;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{width:17px;text-align:center;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:0 solid white;border-left:0 solid white;background-color:white;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif");background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover{background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif");}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul{display:block;clear:both;background-color:white;border-left:1px solid #ccc;margin:0;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li{float:left;font-family:Arial,Helvetica;font-size:12px;color:#333;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;margin:0;border-right:1px solid #ccc;padding:0;background-color:white;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover{background-color:#fff3a1;color:black;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:24px;border-top:1px solid #ccc;border-bottom:0 solid white;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:35px;height:24px;line-height:24px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{top:auto;bottom:1px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif");}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:22px;border-top:0 solid white;border-bottom:1px solid #ccc;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:24px;height:22px;line-height:22px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table{margin-top:0;margin-bottom:9px;border-top:1px solid #ccc;border-bottom:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5{display:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5{display:block;}.dhtmlxcalendar_dhx_terrace span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date{border-bottom:2px solid red;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:#efefef;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:#efefef;}div.dhtmlxcalendar_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:30px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}div.dhxcombo_dhx_terrace{position:relative;border:1px solid #ccc;overflow:hidden;vertical-align:middle;background-color:white;font-size:1px;height:24px;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombo_dhx_terrace input.dhxcombo_input{position:absolute;left:1px;top:0;*top:1px;height:24px;line-height:23px;*height:22px;*line-height:21px;border:0 solid white;outline:0 solid white;padding:0;margin:0 0 0 2px;background-color:white;vertical-align:top;font-family:Arial,Helvetica;font-size:13px;color:black;}div.dhxcombo_dhx_terrace input.dhxcombo_input::-ms-clear{display:none;}div.dhxcombo_dhx_terrace div.dhxcombo_select_button{position:absolute;width:16px;height:17px;top:4px;right:2px;font-size:1px;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}div.dhxcombo_dhx_terrace div.dhxcombo_select_button div.dhxcombo_select_img{position:relative;width:100%;height:100%;background-image:url("imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif");background-repeat:no-repeat;background-position:center center;}div.dhxcombo_dhx_terrace div.dhxcombo_top_image{position:absolute;left:0;top:0;width:23px;height:25px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image{top:4px;*top:3px;}div.dhxcombolist_dhx_terrace{position:absolute;border:1px solid #ccc;box-shadow:0 3px 5px rgba(127,127,127,0.35);background-color:#f5f5f5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow-x:none;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombolist_dhx_terrace div.dhxcombo_option{position:relative;font-size:inherit;font-family:Arial,Helvetica;font-size:13px;color:#333;height:27px;line-height:27px;vertical-align:middle;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected{background-color:#fff3a1;}div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text{color:black;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text{position:relative;padding:0 4px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx{position:relative;padding:0 4px 0 4px;margin-left:20px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox{position:absolute;left:3px;width:18px;height:18px;background-image:url("imgs/dhxcombo_terrace/dhxcombo_chbx.gif");background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox{top:5px;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1{background-position:0 0;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0{background-position:-18px 0;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image{position:relative;padding:0 4px 0 4px;margin-left:20px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image{top:5px;}div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image,div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image{position:absolute;top:3px;left:3px;width:18px;height:18px;background-repeat:no-repeat;background-position:center center;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image{top:5px;}div.dhxcombo_dhx_terrace.dhxcombo_disabled{border:1px solid #d4d4d4;background-color:#fcfcfc;}div.dhxcombo_dhx_terrace.dhxcombo_disabled input.dhxcombo_input{color:#bbb;background-color:#fcfcfc;}div.dhxcombo_dhx_terrace.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img{background-image:url("imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif");cursor:default;}.dhxgrid_combo_icon{position:absolute;z-index:1;top:0;right:0;}div.dhxcombo_in_grid_parent{position:relative;height:100%;top:0;}div.dhxcombo_in_grid_parent div.dhxcombo_dhx_terrace{position:absolute;top:3px;left:-22px;border-color:#fff3a1;}div.dhxcombo_in_grid_parent input.dhxcombo_input{border-left:20px solid white;font-family:Arial;font-size:12px;}div.dhxcombolist_dhx_terrace.dhxcombolist_hdr{border-bottom-width:0;height:31px;line-height:31px;box-shadow:none;}div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext{position:relative;padding:0;white-space:nowrap;cursor:default;font-family:Arial,Helvetica;font-size:13px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell,div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;z-index:2;border-left:1px solid #f5f5f5;padding:0;margin:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first,div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child{border-left-width:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option{height:27px;line-height:27px;margin-top:-1px;z-index:0;border-top:1px solid #f5f5f5;border-bottom:1px solid #f5f5f5;background-color:white;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text{padding:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell,div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;border-left:1px solid #f5f5f5;padding:0;margin:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first,div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child{border-left-width:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected{z-index:1;background-color:#fff3a1;border-top-color:#ccc;border-bottom-color:#ccc;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell{border-left-color:#fff3a1;color:black;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text,div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text{position:relative;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto;}.dhxcombo_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxcolorpicker_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhtmlxcp_dhx_terrace .dhxcp_g_area{position:absolute;width:254px;height:272px;border:1px solid #ccc;border-radius:3px;background-color:#f5f5f5;box-shadow:0 0 5px 2px #cfcfcf;}.dhtmlxcp_dhx_terrace .dhxcp_add_memory{height:317px!important;}.dhtmlxcp_dhx_terrace .dhxcp_sub_area{margin:1px;width:252px;height:270px;border-radius:2px;background-color:#f5f5f5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcp_dhx_terrace .dhxcp_add_memory .dhxcp_sub_area{height:315px!important;}.dhtmlxcp_dhx_terrace .dhxcp_g_color_area{padding:10px;width:232px;height:122px;margin:0;}.dhtmlxcp_dhx_terrace .dhxcp_color_selector{position:absolute;width:210px;height:120px;background-image:url("imgs/dhxcp_terrace/dhxcp_colors.png");background-repeat:no-repeat;border:1px solid #ccc;cursor:pointer;float:left;}.dhtmlxcp_dhx_terrace .dhxcp_contrast_area{border:1px solid #ccc;position:relative;height:120px;width:10px;cursor:pointer;float:right;}.dhtmlxcp_dhx_terrace .dhxcp_ie_gradient{height:120px;width:10px;margin:0;}.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_v_line{position:absolute;width:0;height:120px;border-left:1px solid #fff;cursor:pointer;overflow:hidden;}.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_h_line,.dhtmlxcp_dhx_terrace .dhxcp_contrast_area .dhxcp_h_line{position:absolute;height:0;border-top:1px solid #fff;cursor:pointer;overflow:hidden;}.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_h_line{width:210px;}.dhtmlxcp_dhx_terrace .dhxcp_contrast_area .dhxcp_h_line{width:10px;}.dhtmlxcp_dhx_terrace .dhxcp_g_input_area{padding:0 10px;width:232px;height:78px;margin:0;}.dhtmlxcp_dhx_terrace .dhxcp_value_cont{width:60px;height:78px;float:left;}.dhtmlxcp_dhx_terrace .dhxcp_value_color{width:58px;height:30px;border:1px solid #ccc;}.dhtmlxcp_dhx_terrace .dhxcp_value{width:54px;height:21px;line-height:20px;border:1px solid #ccc;border-radius:0;background-color:#fff;margin:5px 0 0 0;padding:0 2px;font-family:Arial,Helvetica;font-size:13px;color:black;text-align:left;}.dhtmlxcp_dhx_terrace .dhxcp_inputs_cont{border:none;border-spacing:0;width:160px;height:78px;float:right;}.dhtmlxcp_dhx_terrace .dhxcp_label_hsl,.dhtmlxcp_dhx_terrace .dhxcp_label_rgb{text-align:right;font-family:Arial,Helvetica;font-size:13px;color:#333;padding:0 3px 0 0;}.dhtmlxcp_dhx_terrace td.dhxcp_input_hsl,.dhtmlxcp_dhx_terrace td.dhxcp_input_rgb{width:27px;border:none;padding:0;margin:0;}.dhtmlxcp_dhx_terrace input.dhxcp_input_hsl,.dhtmlxcp_dhx_terrace input.dhxcp_input_rgb{width:24px;height:19px;border:1px solid #ccc;border-radius:0;background-color:#fff;font-family:Arial,Helvetica;font-size:13px;color:black;text-align:right;padding:1px 3px;margin:2px 0;}.dhtmlxcp_dhx_terrace .dhxcp_g_memory_area{width:232px;height:0;overflow:hidden;border:1px solid #ccc;border-bottom:none;border-left:none;border-right:none;margin:10px;}.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont{width:232px;margin:0;height:24px;}.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button,.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button{outline:none;border-radius:0;padding:0;background-color:#f0f0f0;border:1px solid #ccc;font-family:Arial,Helvetica;font-size:13px;color:#333;border-radius:3px;}.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button:hover,.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button:hover{background-color:#ebebeb;}.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button:active,.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button:active{background-color:#e6e6e6;box-shadow:0 0 3px #d6d6d6 inset;}.dhtmlxcp_dhx_terrace .dhxcp_save_to_memory{width:232px;height:24px;margin:0;}.dhtmlxcp_dhx_terrace .dhxcp_save_to_memory .dhxcp_label_bm{display:inherit;width:90px;margin:0 auto;height:16px;}.dhtmlxcp_dhx_terrace .dhxcp_memory_els_cont{width:232px;height:25px;margin-top:3px;text-align:center;}.dhtmlxcp_dhx_terrace .dhxcp_memory_el{width:24px;height:24px;background-color:#fff;border:1px solid #ccc;display:inline-block;margin:0 1px;}.dhtmlxcp_dhx_terrace .dhxcp_memory_el_select{border:1px dashed black!important;}.dhtmlxcp_dhx_terrace .dhxcp_memory_el_next{border:1px dashed red!important;}.dhtmlxcp_dhx_terrace .dhxcp_add_memory .dhxcp_g_memory_area{height:55px!important;border-top:none!important;margin:5px 10px 5px 10px;}.dhtmlxcp_dhx_terrace .dhxcp_buttons_area{padding:0 10px;width:232px;height:28px;text-align:right;margin:0;}.dhtmlxcp_dhx_terrace .dhx_button_save,.dhtmlxcp_dhx_terrace .dhx_button_cancel{height:26px;line-height:22px;width:75px;margin:0 2px;overflow:hidden;text-align:center;}.dhxcp_colorBox{float:right;}.dhxcp_colorInput{float:left;}.dhxcp_frm{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);width:256px;height:274px;}.dhtmlxslider_dhx_terrace{z-index:0;}.dhtmlxslider_dhx_terrace .dhxsl_hidden{display:none;}.dhtmlxslider_dhx_terrace .dhxsl_container{position:relative;float:left;clear:left;margin:0;padding:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhtmlxslider_dhx_terrace .dhxsl_container.dhxsl_cont_hr{margin-top:4px;}.dhtmlxslider_dhx_terrace .dhxsl_container.dhxsl_cont_vr{margin-left:4px;}.dhtmlxslider_dhx_terrace .dhxsl_runner{position:absolute;margin:0;padding:0;overflow:hidden;border:1px solid #ccc;border-radius:3px;background-color:#e8e8e8;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;z-index:1;}.dhtmlxslider_dhx_terrace .dhxsl_runner.dhxsl_runner_actv{background-color:#e6e6e6;z-index:2;}.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_runner{width:12px;height:22px;}.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_runner{width:22px;height:12px;}.dhtmlxslider_dhx_terrace .dhxsl_runner_dis{border:1px solid #d1d1d1;background-color:#f0f0f0;}.dhtmlxslider_dhx_terrace .dhxsl_track{border:1px solid #ccc;border-radius:3px;background-color:#f5f5f5;overflow:hidden;position:relative;margin:0;padding:0;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;}.dhtmlxslider_dhx_terrace .dhxsl_track div.dhxsl_track_bg{position:absolute;background-color:#f0f0f0;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_track{height:100%;width:8px;}.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg{left:0;width:100%;}.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_track{width:100%;height:8px;}.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg{top:0;height:100%;}.dhtmlxslider_dhx_terrace .dhxsl_track_dis{border:1px solid #d1d1d1;background-color:#f0f0f0;}.dhtmlxslider_dhx_terrace .dhxsl_track_dis div.dhxsl_track_bg{background-color:#f0f0f0;}.dhxslider_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}div.dhx_popup_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:30px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}div.dhx_popup_dhx_terrace{-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;}div.dhx_popup_dhx_terrace div.dhx_popup_area{position:relative;margin:10px;padding:5px 0;border:1px solid #ccc;box-shadow:0 0 5px rgba(127,127,127,0.35);border-radius:3px;background-color:#f5f5f5;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td{font-family:Arial,Helvetica;font-size:13px;color:#333;text-align:left;line-height:normal;padding:7px 10px 6px 10px;white-space:nowrap;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td div.dhtmlxcalendar_dhx_terrace{position:relative;float:left;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td *{white-space:normal;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_terrace{position:relative!important;box-shadow:none;background-image:none;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_terrace{border:1px solid #ccc;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_terrace div.dhxcp_g_area{position:relative;box-shadow:none;border:0 solid white;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep{font-size:1px;padding-top:2px;padding-bottom:2px;position:relative;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #dcdcdc;overflow:hidden;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td:first-child{padding-left:23px;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td:last-child{padding-right:21px;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr:hover td.dhx_popup_td{background-color:#fff3a1;color:black;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td{background:none;}div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single{padding-left:23px;padding-right:21px;}div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first{padding-left:23px;}div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last{padding-right:21px;}div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td{background-color:#fff3a1;color:black;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow{position:absolute;background-repeat:no-repeat;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_bottom{width:19px;height:16px;background-image:url("imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif");background-position:top center;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_top{width:19px;height:16px;background-image:url("imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif");background-position:bottom center;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_right{width:16px;height:19px;background-image:url("imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif");background-position:center left;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_left{width:16px;height:19px;background-image:url("imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif");background-position:center right;}.dhxmenu_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhtmlxMenu_dhx_terrace_Middle{position:relative;height:34px;padding:0 5px;border:none;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_dhx_terrace_Middle div.top_sep{float:left;position:relative;height:20px;margin:5px 6px 0 5px;line-height:1px;font-size:1px;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_dhx_terrace_Middle img.dhtmlxMenu_TopLevel_Item_Icon{float:left;margin:2px 3px 0 3px;width:18px;height:18px;}.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_right{position:absolute;top:10px;left:none;right:8px;font-family:Arial,Helvetica;font-size:13px;color:#333;cursor:default;}.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_left{position:absolute;top:10px;right:none;left:8px;font-family:Arial,Helvetica;font-size:13px;color:#333;cursor:default;}.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_left{float:left;}.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_right{float:right;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected{position:relative;float:left;font-family:Arial,Helvetica;font-size:13px;color:#333;border:1px solid #ccc;background-color:#f5f5f5;cursor:default;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;height:22px;line-height:22px;vertical-align:middle;margin-top:2px;padding:3px 5px;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal div.top_level_text,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled div.top_level_text,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected div.top_level_text{float:left;margin:0 5px;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal i,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled i,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected i{height:inherit;line-height:inherit;float:left;color:inherit;margin:0 5px;font-size:1.1em;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled{color:#d1d1d1;background-color:#ededed;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected{color:#2e2e2e;background-color:#ebebeb;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon{position:absolute;border:1px solid #ccc;*border:1px solid #c7c7c7;box-shadow:0 0 5px rgba(127,127,127,0.35);padding:3px 0;border-bottom-left-radius:1px;border-bottom-right-radius:1px;border-top-right-radius:1px;background-color:#f5f5f5;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td{font-family:Arial,Helvetica;font-size:13px;color:#333;line-height:normal;padding:0 5px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td{background-color:#fff3a1;color:black;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon{width:18px;text-align:center;vertical-align:middle;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon{float:left;margin:0;width:18px;height:18px;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon i{float:left;text-align:center;width:18px;height:18px;line-height:17px;font-size:1.1em;color:inherit;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text{padding:0 16px 0 1px;height:26px;line-height:25px;white-space:nowrap;text-align:left;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text{color:#bbb;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_icon i{color:#bbb!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk{padding-left:8px;padding-right:8px;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk{font-family:Arial,Helvetica;font-size:13px;color:#737373;text-align:right;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk{color:#c8c8c8!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow{width:4px;margin:0 2px 0 5px;height:22px;background-image:url("imgs/dhxmenu_terrace/dhxmenu_subar.gif");background-repeat:no-repeat;background-position:0 0;overflow:hidden;font-size:1px;float:right;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow{background-position:-4px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow{background-position:-8px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading{width:11px;height:22px;background-position:center center;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_terrace/dhxmenu_loader.gif");float:right;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon{float:left;margin:0;width:18px;height:18px;background-position:top right;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_terrace/dhxmenu_chrd.gif");}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0{background-position:0 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1{background-position:-18px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0{background-position:-36px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1{background-position:-54px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0{background-position:-72px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1{background-position:-90px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0{background-position:-108px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1{background-position:-126px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon tr.sub_sep td{padding:2px 0;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon div.sub_sep{position:static;font-size:1px;line-height:1px;height:1px;width:100%;border-top:1px solid #e8e8e8;}iframe.dhtmlxMenu_IE6CoverFix_dhx_terrace{position:absolute;border:none;background:#000;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp,div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Over,div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled{position:relative;font-size:1px;border-bottom:1px solid #ccc;background-image:url("imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif");background-repeat:no-repeat;background-position:center center;padding:8px 0;margin-bottom:3px;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled{background-image:url("imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif");}div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown,div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Over,div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled{position:relative;font-size:1px;border-top:1px solid #ccc;background-image:url("imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif");background-repeat:no-repeat;background-position:center center;padding:8px 0;margin-top:3px;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled{background-image:url("imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif");}.dhtmlxribbon_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{background-color:#fff;border:1px solid #ccc;}.dhtmlxribbon_dhx_terrace{overflow:hidden;width:100%;}.dhtmlxribbon_dhx_terrace .dhxrb_background_area{height:116px;background-color:#fff;margin:1px;}.dhtmlxribbon_dhx_terrace .dhxrb_with_tabbar{height:151px;}.dhtmlxribbon_dhx_terrace div.dhx_cell_tabbar{background-color:#fff;}.dhtmlxribbon_dhx_terrace .dhxrb_g_area{height:114px;float:left;clear:left;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_block_base{margin:3px 0 3px 3px;float:left;border:1px solid #ccc;background-color:#f5f5f5;border-radius:3px;height:108px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_block_base .dhxrb_block_items{height:85px;float:left;padding:2px 0;overflow:hidden;}.dhtmlxribbon_dhx_terrace .dhxrb_block_base>.dhxrb_block_label{height:19px;line-height:18px;*height:auto;*line-height:1em;}.dhtmlxribbon_dhx_terrace .dhxrb_block_base .dhxrb_block_label{text-align:center;clear:left;font-family:Arial,Helvetica;font-size:13px;color:#b5b5b5;background-color:#e8e8e8;*font-size:12px;*padding:1px 3px 3px;*font-family:Arial;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button{margin:1px 3px;float:left;text-align:center;padding:4px 10px;height:72px;border-radius:3px;border:1px solid #f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_image{width:48px;height:48px;border:none;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button i{position:relative;display:block;margin-top:2px;margin-bottom:2px;width:48px;height:48px;line-height:47px;font-size:30px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_label_button{margin:0 auto;cursor:default;font-family:Arial,Helvetica;font-size:13px;color:#333;line-height:11px;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_invisible{visibility:hidden;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block{float:left;margin:0 3px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block .dhxrb_invisible{display:none;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button{height:22px;margin:1px 0;float:left;clear:left;padding:1px 8px;border-radius:3px;border:1px solid #f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhtmlxribbon_dhx_terrace .dhxrb_in_row{height:22px;margin:1px 0;float:left;padding:1px 8px;white-space:nowrap;border-radius:3px;border:1px solid #f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhtmlxribbon_dhx_terrace .dhxrb_group .dhxrb_buttoncombo_cont{height:20px;}.dhtmlxribbon_dhx_terrace .dhxrb_buttoncombo_cont{height:24px;padding:1px 2px!important;}.dhtmlxribbon_dhx_terrace .dhxrb_buttoncombo{float:left;}.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_slider,.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_row center,.dhtmlxribbon_dhx_terrace .dhxrb_in_group center,.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button center{float:left;margin:0;padding:0;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_slider{width:16px;margin:2px 0;height:50px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group{height:20px;float:left;padding:1px 4px;border:1px solid #f0f0f0;}.dhtmlxribbon_dhx_terrace .dhxrb_input{float:left;border:1px solid #ccc;height:18px;width:80px;padding:1px 2px;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhtmlxribbon_dhx_terrace .dhxrb_input:disabled{border:1px solid #d4d4d4;background-color:#fafafa;color:#bbb;}.dhtmlxribbon_dhx_terrace div.dhxcombo_dhx_terrace input.dhxcombo_input{float:left;height:18px;width:80px;padding:1px 2px;font-family:Arial,Helvetica;font-size:13px;color:black;line-height:18px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_input,.dhtmlxribbon_dhx_terrace .dhxrb_in_group div.dhxcombo_dhx_terrace input.dhxcombo_input{height:16px;padding:1px 1px;line-height:16px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group div.dhxcombo_dhx_terrace div.dhxcombo_select_button{top:0;}.dhtmlxribbon_dhx_terrace div.dhxcombo_dhx_terrace div.dhxcombo_select_button{top:2px;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_image,.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_image,.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_image{margin:2px 0;width:18px;height:18px;float:left;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button i,.dhtmlxribbon_dhx_terrace .dhxrb_in_row i,.dhtmlxribbon_dhx_terrace .dhxrb_in_group i{position:relative;float:left;width:18px;height:18px;line-height:17px;font-size:15px;margin-top:1px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_dhx_terrace .dhxrb_item_disable i{color:#bbb;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_label_button,.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_button{float:left;cursor:default;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_label_button{margin:1px 0 1px 6px;line-height:19px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_button{margin:1px;}.dhtmlxribbon_dhx_terrace .dhxrb_label_checkbox{float:left;margin:0 4px;cursor:default;font-family:Arial,Helvetica;font-size:13px;color:#333;line-height:21px;}.dhtmlxribbon_dhx_terrace .dhxrb_group .dhxrb_label_checkbox{line-height:19px;}.dhtmlxribbon_dhx_terrace .dhxrb_disable_text_style,.dhtmlxribbon_dhx_terrace .dhxrb_item_disable .dhxrb_label_checkbox{color:#bbb!important;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxribbon_dhx_terrace .dhxrb_highlight0{border-color:#ebebeb;background-color:#ebebeb;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_terrace .dhxrb_highlight1{border-color:#e6e6e6;background-color:#e6e6e6;box-shadow:0 0 3px #d9d9d9 inset;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group.dhxrb_highlight1,.dhtmlxribbon_dhx_terrace .dhxrb_in_group.dhxrb_highlight0{border-radius:1px;}.dhtmlxribbon_dhx_terrace .dhxrb_item_hide{display:none!important;}.dhtmlxribbon_dhx_terrace .dhxrb_block_rows{float:left;margin:0 3px;}.dhtmlxribbon_dhx_terrace .dhxrb_block_row{float:left;clear:left;height:28px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_arrow{padding:0 5px;margin-left:2px;background:url("imgs/dhxribbon_terrace/dhxribbon_arrow.gif") no-repeat 50%;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block .dhxrb_group{border:1px solid #ccc;background-color:#f0f0f0;height:24px;border-radius:3px;float:left;clear:left;margin:1px 0;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_block_row .dhxrb_group{border:1px solid #ccc;background-color:#f0f0f0;height:24px;border-radius:3px;float:left;margin:1px 0;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_hide{display:none;}.dhtmlxribbon_dhx_terrace .dhxrb_separator_groupp{height:24px;width:0;border-left:1px solid #cacaca;overflow:hidden;float:left;}.dhtmlxribbon_dhx_terrace .dhxrb_checkbox{border:1px solid #ccc;background-color:white;float:left;width:12px;height:12px;margin-top:4px;overflow:hidden;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_checkbox{margin-top:3px;}.dhtmlxribbon_dhx_terrace .dhxrb_checked .dhxrb_checkbox{background-image:url("imgs/dhxribbon_terrace/dhxribbon_checked.gif");background-repeat:no-repeat;}.dhtmlxribbon_dhx_terrace .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox{background-image:url("imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif");}.dhtmlxribbon_dhx_terrace .dhxrb_item_disable .dhxrb_checkbox{border:1px solid #d4d4d4;background-color:#fafafa;}.dhtmlxribbon_dhx_terrace .dhxrb_item_text{font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_item_text{height:20px;line-height:19px;*float:left;*clear:left;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_item_text,.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_item_text{font-family:Arial,Helvetica;font-size:14px;color:#333;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_item_text{font-family:Arial,Helvetica;font-size:30px;color:#333;line-height:72px;height:72px;float:left;clear:left;}.dhxtoolbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhx_toolbar_dhx_terrace{background-color:#fff;position:relative;padding:0 5px;height:34px;line-height:normal;cursor:default;overflow:hidden;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{font-size:20px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{font-size:26px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{font-size:38px;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_float_left{float:left;*margin-left:1px;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_float_right{float:right;*margin-right:1px;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw{border:1px solid #ccc;background-color:#f5f5f5;position:relative;float:left;margin-top:2px;padding:3px 5px;*padding-bottom:4px;*margin-left:-1px;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;height:22px;*height:20px;overflow:hidden;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_dis{color:#bbb;background-color:#fafafa;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_over,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_over{color:#2e2e2e;background-color:#ebebeb;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_pres,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_pres{color:#2e2e2e;background-color:#e6e6e6;box-shadow:0 0 5px #d9d9d9 inset;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn{float:left;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis{background-color:#e6e6e6;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn img{float:left;margin:2px;width:18px;height:18px;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn i{float:left;margin:2px;width:18px;height:18px;line-height:17px;font-size:1.1em;text-align:center;cursor:default;color:inherit;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn .dhxtoolbar_input{position:relative;float:left;border:1px solid #ccc;background-color:#fff;margin:1px 5px;padding:2px;font-family:Arial,Helvetica;font-size:11px;color:black;line-height:normal;direction:ltr;outline:none;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn .dhxtoolbar_input:disabled{background-color:#fafafa;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen{border-color:#c2c2c2;background-color:#dcdcdc;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r{border-color:#c2c2c2;background-color:#e1e1e1;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw{margin-left:-3px;z-index:1;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw div.arwimg{margin:2px 0;padding:0 3px;background-image:url("imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif");background-position:center center;background-repeat:no-repeat;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg{background-image:url("imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif");}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw div.arwimg{float:left;font:inherit;height:18px;line-height:17px;cursor:default;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn div.dhxtoolbar_text{padding:0;margin:2px 5px;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_sep{float:left;height:20px;margin:5px 6px 0 5px;overflow:hidden;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_text{float:left;vertical-align:middle;margin-top:3px;padding:5px;line-height:17px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_r{float:left;height:5px;line-height:1px;margin:8px 0 6px 0;padding:0;width:2px;font-size:1px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#e8e8e8;overflow:hidden;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_l{margin-left:4px;border-left:1px solid #ccc;border-top-left-radius:2px;border-bottom-left-radius:2px;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_r{margin-right:4px;border-right:1px solid #ccc;border-top-right-radius:2px;border-bottom-right-radius:2px;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_pen,.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_pen.dhxtoolbar_over{position:absolute;top:6px;width:7px;height:14px;border:1px solid #ccc;background-color:#e8e8e8;border-radius:1px;cursor:default;font-size:1px;line-height:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24{height:40px!important;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_arw{height:28px;*height:26px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn img{width:24px;height:24px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{width:24px;height:24px;line-height:23px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_arw div.arwimg{height:24px;line-height:23px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_text{padding-top:6px;padding-bottom:6px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_sep{height:26px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r{margin-top:11px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen{top:9px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:4px;margin-bottom:4px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32{height:48px!important;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_arw{height:36px;*height:34px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn img{width:32px;height:32px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{width:32px;height:32px;line-height:31px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_arw div.arwimg{height:32px;line-height:31px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_text{padding-top:10px;padding-bottom:10px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_sep{height:34px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r{margin-top:15px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen{top:13px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:8px;margin-bottom:8px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48{height:64px!important;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_arw{height:52px;*height:50px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn img{width:48px;height:48px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{width:48px;height:48px;line-height:47px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_arw div.arwimg{height:48px;line-height:47px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_text{padding-top:18px;padding-bottom:18px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_sep{height:50px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r{margin-top:23px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen{top:21px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:16px;margin-bottom:16px;}div.dhx_toolbar_poly_dhx_terrace{position:absolute;border:1px solid #ccc;box-shadow:0 0 5px rgba(127,127,127,0.35);padding:3px 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px;background-color:#fff;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhx_toolbar_poly_dhx_terrace td{font-family:Arial,Helvetica;font-size:13px;color:black;line-height:normal;padding:0 5px;}div.dhx_toolbar_poly_dhx_terrace .tr_btn_over td,div.dhx_toolbar_poly_dhx_terrace .tr_btn_selected td{background-color:#fff3a1;}div.dhx_toolbar_poly_dhx_terrace .tr_btn_disabled td{color:#bbb;}div.dhx_toolbar_poly_dhx_terrace td.td_btn_img{width:18px;text-align:center;}div.dhx_toolbar_poly_dhx_terrace td.td_btn_img img.btn_sel_img{margin-top:2px;width:18px;height:18px;}div.dhx_toolbar_poly_dhx_terrace td.td_btn_img i{width:18px;height:18px;line-height:17px;text-align:center;color:inherit;font-size:1.1em;}div.dhx_toolbar_poly_dhx_terrace td.td_btn_txt div.btn_sel_text{padding:0 16px 0 1px;height:26px;line-height:25px;overflow:hidden;}div.dhx_toolbar_poly_dhx_terrace tr.tr_sep td{padding:2px 0;}div.dhx_toolbar_poly_dhx_terrace div.btn_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #ccc;}div.dhx_toolbar_slider_label_dhx_terrace{position:absolute;border:1px solid #ccc;box-shadow:0 0 5px rgba(127,127,127,0.35);background-color:#fff;padding:5px 8px;border-radius:2px;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-family:Arial,Helvetica;font-size:13px;color:black;}.dhxtoolbar_maxopen_test{position:absolute;width:200px;height:50px;overflow-x:none;overflow-y:auto;left:-300px;top:100px;border:1px solid #fff;visibility:hidden;}.dhxtoolbar_maxopen_test2{height:200px;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{position:relative;height:42px;line-height:41px;padding:6px 8px 0;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;overflow:hidden;white-space:nowrap;background:white;z-index:1;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{position:relative;height:42px;line-height:41px;margin-top:6px;overflow:hidden;white-space:nowrap;}.dhxeditor_dhx_terrace{position:relative;}.dhxeditor_dhx_terrace iframe.dhxeditor_mainiframe{position:absolute;overflow:hidden;top:0;left:0;width:100%;height:100%;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb{position:relative;height:34px;background-color:#f5f5f5;padding:0 5px;border-bottom:1px solid #ccc;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button{float:left;position:relative;width:18px;height:18px;font-size:2px;margin-left:7px;margin-top:9px;cursor:pointer;background-image:url("imgs/dhxeditor_terrace/buttons.gif");}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold{margin-left:12px;background-position:0 0;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic{background-position:-18px 0;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline{background-position:-36px 0;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat{background-position:-54px 0;}.dhxeditor_dhx_terrace div.dhx_cell_editor{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor{position:absolute;overflow:hidden;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:5px;border-bottom:1px solid #ccc;}.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb{border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;}.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def{padding:0;border-top:1px solid #ccc;}.dhxeditor_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhx_tooltip{display:none;position:absolute;font-family:Arial,Helvetica;color:#626262;font-size:13px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_chart{position:relative;font-family:Arial,Helvetica;font-size:13px;color:black;overflow:hidden;z-index:0;}.dhx_chart canvas{position:absolute;left:0;top:0;}.dhx_canvas_text{position:absolute;text-align:center;overflow:hidden;white-space:nowrap;z-index:1000;}.dhx_map_img{width:100%;height:100%;position:absolute;top:0;left:0;border:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);opacity:0;}.dhx_axis_item_y{position:absolute;height:18px;line-height:18px;margin-top:-4px;text-align:right;}.dhx_axis_title_x{text-align:center;}.dhx_axis_title_y{text-align:center;font-family:Arial,Helvetica;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);height:18px;line-height:18px;font-size:13px;}.dhx_ie_filter{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);zoom:1;font-family:serif;}.dhx_chart_legend{position:absolute;z-index:1000;}.dhx_chart_legend_item{height:18px;line-height:18px;padding:2px;cursor:pointer;}.dhx_chart_legend_item.hidden{color:#aaa;}.dhx_axis_item_y.dhx_radar{color:#666;font-size:12px;padding-right:3px;height:13px;line-height:13px;margin-top:0;}.dhx_canvas_text.dhx_axis_radar_title{margin-top:0;padding-top:0;}.dhx_axis_item_y,.dhx_axis_item_x{color:#666;}.dhx_axis_item_x{padding-top:2px;}.dhx_tooltip{display:none;position:absolute;font-family:Arial,Helvetica;color:#626262;font-size:13px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_noselect{-moz-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;}.dhx_allow_selection{-moz-user-select:text;-user-select:text;}.dhx_dataview{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_drag_zone{position:absolute;border:1px solid #A4BED4;z-index:8000;-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;}.dhx_dataview_default_item,.dhx_dataview_default_item_selected{cursor:pointer;background-color:#fff;}.dhx_dataview .dhx_dataview_default_item,.dhx_dataview .dhx_dataview_default_item_selected{border-right:1px solid #ccc;border-bottom:1px dotted #ccc;}.dhx_dataview_default_item_selected{background-color:#fff3a1;color:#fff3a1;border-color:#fff3a1;background-repeat:repeat-x;}.dhx_dataview_item{font-family:Arial,Helvetica;font-size:13px;color:black;}.dhx_dataview_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_dataview_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_dataview_item .dhx_light{color:#919191;}.dhx_drag_over{background-color:#faf768;background-image:url("imgs/dhxdataview_terrace/marker.png");background-repeat:repeat-x;}.dhx_pager_item,.dhx_pager_item_selected{float:left;text-align:center;height:16px;font-family:Arial,Helvetica;font-size:10pt;border:1px solid gray;padding:2px 4px;margin-left:5px;cursor:pointer;background-color:white;}.dhx_pager_item_selected{background-color:lightgrey;color:white;cursor:default;font-weight:bold;}.dhx_list{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_list_default_item,.dhx_list_default_item_selected{cursor:pointer;background-color:#fff;}.dhx_list .dhx_list_default_item,.dhx_list .dhx_list_default_item_selected{border-right:1px solid #ccc;border-bottom:1px dotted #ccc;}.dhx_list_default_item_selected{background-color:#fff3a1;color:#fff3a1;border-color:#fff3a1;background-repeat:repeat-x;}.dhx_list_item{font-family:Arial,Helvetica;font-size:13px;color:black;box-sizing:border-box;}.dhx_list_item textarea{resize:none;margin-top:-8px;}.dhx_list_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_list_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_list_item .dhx_light{color:#919191;}.defaultTreeTable{margin:0;padding:0;border:0;}.containerTableStyle{overflow:auto;-webkit-overflow-scrolling:touch;position:relative;top:0;font-size:12px;-khtml-user-select:none;}.containerTableStyleRTL span{direction:rtl;unicode-bidi:bidi-override;}.containerTableStyleRTL{direction:rtl;overflow:auto;position:relative;top:0;font-size:12px;}.standartTreeRow{font-family:Arial,Helvetica;font-size:13px;-moz-user-select:none;}.selectedTreeRow{background-color:navy;color:white;font-family:Arial,Helvetica;font-size:13px;-moz-user-select:none;}.dragAndDropRow{background-color:navy;color:white;}.standartTreeRow_lor{text-decoration:underline;background-color:#fff;font-family:Arial,Helvetica;font-size:13px;-moz-user-select:none;}.selectedTreeRow_lor{text-decoration:underline;background-color:navy;color:white;font-family:Arial,Helvetica;font-size:13px;-moz-user-select:none;}.standartTreeImage{height:24px;overflow:hidden;border:0;padding:0;margin:0;font-size:1px;}.standartTreeImage img{width:18px;height:24px;background-position:center center;background-repeat:no-repeat;border:0;padding:0;margin:0;font-size:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.hiddenRow{width:1px;overflow:hidden;}.dragSpanDiv,.dragSpanDiv td{font-family:Arial,Helvetica;font-size:12px;background-color:#fff;z-index:999;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.selectionBox{background-color:#FFC;}.selectionBar{top:0;background-color:black;position:absolute;overflow:hidden;height:2px;z-index:11;}.intreeeditRow{font-size:8pt;height:16px;border:1px solid silver;padding:0;margin:0;margin-left:4px;-moz-user-select:text;-khtml-user-select:text;}.dhx_tree_textSign{font-size:8pt;font-family:monospace;width:21px;color:black;padding:0;margin:0;cursor:pointer;text-align:center;}.dhx_tree_opacity{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_bg_img_fix{width:18px;height:24px;background-repeat:no-repeat;background-position:center;background-position-x:center;background-position-y:center;}.dhxtree_dhx_terrace .standartTreeRow,.dhxtree_dhx_terrace .standartTreeRow,.dhxtree_dhx_terrace .selectedTreeRow_lor,.dhxtree_dhx_terrace .selectedTreeRow{font-family:Arial,Helvetica;font-size:13px;padding:3px 1px 4px 2px;}.dhxtree_dhx_terrace .standartTreeImage{padding-left:3px;}.dhxtree_dhx_terrace .selectedTreeRow_lor,.dhxtree_dhx_terrace .selectedTreeRow{background-color:transparent;}.dhxtree_dhx_terrace span.selectedTreeRow_lor,.dhxtree_dhx_terrace span.selectedTreeRow{background-color:#fff3a1;color:black;}.dhxtree_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxtreeview_dhx_terrace{position:relative;overflow:hidden;background-color:#fff;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont{position:absolute;overflow:auto;background-color:#fff;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area{position:relative;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont{position:relative;-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item{position:relative;white-space:nowrap;cursor:default;color:black;font-size:13px;font-family:Arial,Helvetica;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text{position:relative;padding:0;margin:0;height:32px;line-height:31px;color:inherit;vertical-align:middle;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label{position:absolute;top:0;padding:0 10px 0 4px;height:32px;line-height:inherit;font:inherit;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#fff3a1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#fff3a1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#fffad4;border-color:#fffad4;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#fffad4;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon{position:absolute;width:24px;top:0;height:32px;line-height:30px;text-align:center;font-size:15px;color:#333;overflow:hidden;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon{position:absolute;left:0;top:0;width:24px;height:32px;background-repeat:no-repeat;background-position:center center;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus{background-image:url(imgs/dhxtreeview_terrace/icon_plus.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus{background-image:url(imgs/dhxtreeview_terrace/icon_minus.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file{background-image:url(imgs/dhxtreeview_terrace/icon_file.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed{background-image:url(imgs/dhxtreeview_terrace/icon_folder_closed.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened{background-image:url(imgs/dhxtreeview_terrace/icon_folder_opened.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading{background-image:url(imgs/dhxtreeview_terrace/loading.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0{background-image:url(imgs/dhxtreeview_terrace/icon_chbx_0.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1{background-image:url(imgs/dhxtreeview_terrace/icon_chbx_1.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0{background-image:url(imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1{background-image:url(imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-open-o,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-o{position:absolute;line-height:32px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o{position:absolute;line-height:32px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled{color:#a6a6a6;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview{display:none;position:absolute;height:0;width:40px;border-bottom:2px dotted #a18c00;z-index:1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0{display:block;top:-1px;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2{display:block;top:31px;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged{opacity:.4;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=40);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1,.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover{background-color:#fff3a1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label,.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label{background-color:#fff3a1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#fffad4;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#fffad4;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#fff;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#fff;}.dhxtreeview_dhx_terrace.dhxtreeview_icon_width{position:absolute;left:0;top:-100px;width:24px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxtreeview_dragged_obj_dhx_terrace{position:absolute;font-size:13px;color:black;font-family:Arial,Helvetica;white-space:nowrap;cursor:default;background-color:#fcfcfc;border-radius:1px;box-shadow:0 0 10px rgba(90,90,90,0.2);padding:6px 14px;border:1px solid #ccc;}html.dhxtreeview_dnd_mode,html.dhxtreeview_dnd_mode *,body.dhxtreeview_dnd_mode,body.dhxtreeview_dnd_mode *{cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_dhx_terrace div.dhxtreeview_item div.dhxtreeview_item_label{white-space:nowrap;}.dhxtreeview_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}div.gridbox{overflow:hidden;text-align:left;}.dhx_sub_row{background-color:#fff;}div.gridbox table.obj{height:1px;}div.gridbox table.hdr td{line-height:normal;border:1px solid;border-color:#fff Gray Gray #fff;text-align:center;margin:0;padding:5px 0 4px 0;font-weight:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;empty-cells:show;}div.gridbox table.hdr td div.hdrcell{overflow:hidden;}div.gridbox table.obj td{overflow:hidden;padding-top:0;padding-bottom:0;empty-cells:show;white-space:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.obj th,div.gridbox table.hdr th{padding:0;margin:0;}div.gridbox table.row20px tr td{height:20px;white-space:nowrap;padding:0;}div.gridbox .objbox{background-color:#fff;position:relative;-webkit-overflow-scrolling:touch;}div.gridbox table.obj td span.space,div.gridbox table.obj td img.space{width:18px;}div.gridbox table.obj td.editable{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox table.obj td.group_row{vertical-align:middle;font-family:Tahoma;font-size:10pt;font-weight:bold;height:30px;border:0;border-bottom:2px solid navy;}.dragSpanDiv{font-family:Arial,Helvetica;font-size:12px;border:1px gray solid;background-color:#fff;z-index:999;}.dhx_combo_select{border:1px solid;border-color:black silver silver black;background-color:#fff;overflow:auto;cursor:default;position:absolute;height:auto;z-index:600;}.dhx_combo_edit{width:100%;border:0;padding:0;padding-right:1px!ie;margin:0;overflow:hidden;}.dhx_textarea{border:1px solid;border-color:black silver silver black;position:absolute;height:100px;z-index:600;}.dhx_clist{background-color:#fff;border:1px solid black;padding:2px 2px 2px 2px;z-index:300;}.gridDragLine{position:absolute;top:10px;left:0;width:100%;height:2px;background-color:black;overflow:hidden;}div.pagingBlock .pagingCurrentPage{font-weight:bold;cursor:default;}div.pagingBlock .pagingPage{cursor:pointer;text-decoration:underline;}div.pagingBlock a{text-decoration:none;padding-right:2px;color:black;cursor:pointer;}div.pagingBlock a.dhx_not_active{text-decoration:none;cursor:default;}.toolbar_select{font-size:10px;}.dhtmlxGrid_selection{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);background-color:yellow;border:1px dotted black;}div.gridbox div.ftr{position:absolute;left:0;bottom:1px;width:100%;overflow:hidden;}div.gridbox div.ftr td{padding:0;padding-left:10px;padding-right:5px;border-top:1px solid gray;border-right:1px solid gray;background-color:#ffc;font-style:italic;overflow:hidden;}div.gridbox table.hdr td.columnTargetR div.hdrcell{border-right:3px double #F60;border-left:3px solid #D4D0C8;}div.gridbox table.hdr td.columnTargetL div.hdrcell{border-right:3px solid #D4D0C8;border-left:3px double #F60;}.dhx_dragColDiv{background-color:#D4D0C8;border:1px solid;border-color:#fff Gray Gray #fff;text-align:center;margin:0;padding:5px 20px 5px 20px;font-weight:normal;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:100;}.dhtmlx_live_validation_error{background-color:#FFE0E0!important;}.dhtmlx_validation_error{border-bottom:2px solid red!important;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}div.gridbox td.filter input,div.gridbox td.filter select{width:90%;font-size:8pt;font-family:Tahoma;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox .filter input::-ms-clear{display:none;}div.gridbox_dhx_terrace.gridbox .xhdr{background-color:#fff;}div.gridbox_dhx_terrace.gridbox table.hdr tr{background-color:#f5f5f5;}div.gridbox_dhx_terrace.gridbox .ftr tr{background-color:#f5f5f5;}div.gridbox_dhx_terrace.gridbox table.obj,.dhx_combo_select,.gridbox_dhx_skyblue.gridbox .dhx_combo_edit,.gridbox_dhx_skyblue.gridbox .dhx_textarea,dhx_dragColDiv,div.gridbox div.ftr td,div.pagingBlock,span.recordsInfoBlock{font-family:Arial,Helvetica;font-size:13px;color:#333;}div.gridbox_dhx_terrace.gridbox table.obj tr td{border-color:#ccc;border-width:0 0 1px 0;padding-right:20px;padding-left:20px;}div.gridbox_dhx_terrace.gridbox .xhdr{border-bottom:1px solid #ccc;background-color:#f5f5f5;}div.gridbox_dhx_terrace.gridbox table.hdr td div.hdrcell{width:auto;padding-left:20px;line-height:36px;text-transform:uppercase;width:100%!ie;}div.gridbox_dhx_terrace.gridbox .ftr table td{width:auto;background-color:#fff;border-width:1px 0 0 0;font-style:normal;color:#333;border-color:#ccc;padding-left:20px;line-height:41px;width:100%!ie;}div.gridbox_dhx_terrace.gridbox table.hdr td{border:1px solid #ccc;border-width:0;padding:0;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:12px;color:#333;vertical-align:top;text-align:left;position:relative;}div.gridbox_dhx_terrace.gridbox{border:1px solid #ccc;}div.gridbox_dhx_terrace.gridbox table.obj tr td{padding-top:10px;padding-bottom:10px;}div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td{padding-top:0;padding-bottom:0;height:32px;line-height:32px;}div.gridbox_dhx_terrace.gridbox table.obj tr td.editable{padding-left:20px;padding-right:0;}div.gridbox_dhx_terrace.gridbox table.obj tr td.editable div.treegrid_cell{padding:1px 4px;}div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected{background-color:#fff3a1;}div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected td{background-color:#fff3a1;color:black;}div.gridbox_dhx_terrace.gridbox table.obj.row20px tr.rowselected td{background-color:#fff3a1;color:black;}div.gridbox_dhx_terrace.gridbox table.obj tr td.cellselected{background-color:#fff3a1;color:black;}div.gridbox_dhx_terrace.gridbox .odd_dhx_terrace{background-color:#f7f7f7;}.gridbox_dhx_terrace.gridbox .dhx_combo_edit{font-family:Arial,Helvetica;font-size:13px;line-height:32px;}.dhx_combo_select,.dhx_textarea{margin-left:20px;line-height:20px;font-family:Arial,Helvetica;font-size:13px;}.gridbox_dhx_terrace.gridbox .dhx_combo_edit{padding:1px 0 1px 1px;}.gridbox_dhx_terrace.gridbox .dhx_sub_row{background-color:transparent;}.gridbox_dhx_terrace.gridbox table.hdr td.filter{padding-left:20px;line-height:41px;height:30px;}div.gridbox_dhx_terrace.gridbox td.filter input,div.gridbox_dhx_terrace.gridbox td.filter select{font-size:13px!important;font-family:Arial,Helvetica!important;height:22px;border-radius:3px;border:1px solid #ccc;background:#fff;box-shadow:none;}.gridbox_dhx_terrace.gridbox .dhx_combo_box.dhx_terrace{height:30px!important;margin-left:-20px;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}.dhx_pbox{margin-top:3px;border:1px solid #D4D0C8;border-top:0;font-size:10px;}.dhx_pline{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page,.dhx_pager_info{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:black;background-color:gray;padding:1px;}.dhx_pager_info{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active{font-weight:bold;background-color:lightgrey;cursor:default;color:white;}.dhx_pbox_modern{margin-top:3px;border:1px solid #D6D6D6;border-top:0;font-size:10px;}.dhx_pline_modern{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_modern,.dhx_pager_info_modern{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:#055A78;background-color:#D6D6D6;padding:1px;}.dhx_pager_info_modern{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_modern div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_modern{font-weight:bold;background-color:#055A78;cursor:default;color:white;}.dhx_pbox_light{margin-top:3px;border:1px solid #C2D5DC;border-top:0;font-size:10px;}.dhx_pline_light{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_light,.dhx_pager_info_light{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:#055A78;background-color:#93AFBA;padding:1px;}.dhx_pager_info_light{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_light div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_light{font-weight:bold;background-color:#D1DFE3;cursor:default;color:white;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:tahoma,arial;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.dhxgrid_sort_desc,.dhxgrid_sort_asc{width:9px;height:8px;background-image:url("imgs/dhxgrid_terrace/sort_desc.gif");background-repeat:no-repeat;z-index:10;}.dhxgrid_sort_asc{background-image:url("imgs/dhxgrid_terrace/sort_asc.gif");background-repeat:no-repeat;}.dhxgrid_rh_dhx_terrace{position:absolute;top:-20px;left:-33px;width:32px;height:10px;margin:0;padding:0;border-width:0;font-size:1px;overflow:hidden;}.dhxgrid_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td img{display:block;}div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td.group_row img,div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td .treegrid_cell img{display:inline;}.dhx_grid_icon{text-align:center;color:#777;font-size:18px;}.dhx_treegrid_icon{text-align:center;color:#777;font-size:16px;margin-right:4px;position:relative;top:1px;}.grid_cell_dyn{position:relative;padding-right:2px;width:100%;overflow:hidden;white-space:nowrap;}.grid_cell_dyn img{position:absolute;top:0;left:0;height:15px;}.grid_cell_dyn span{padding-left:20px;width:100%;}.grid_collapse_icon{margin-top:-2px;}.dhxform_obj_dhx_terrace{font-family:Arial,Helvetica;float:left;line-height:normal;}.dhxform_obj_dhx_terrace div.dhxform_base{position:relative;float:left;}.dhxform_obj_dhx_terrace div.dhxform_base_nested{padding:0;clear:both;*display:inline-block;}.dhxform_obj_dhx_terrace.dhxform_block{clear:both;}.dhxform_obj_dhx_terrace div.block_dhxform_item_label_left{display:block;clear:both;*clear:none;}.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:visited,.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:active,.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:hover{outline:0 solid white;text-decoration:none;color:inherit;cursor:default;overflow:hidden;white-space:normal;}.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:focus{color:#bfbfbf;}.dhxform_obj_dhx_terrace div.disabled span.nav_link{color:inherit;}.dhxform_obj_dhx_terrace div.dhxform_img{width:18px;height:18px;font-size:1px;}.dhxform_obj_dhx_terrace div.dhxform_actv_c{width:15px;height:15px;box-shadow:0 0 3px #909090;}.dhxform_obj_dhx_terrace div.dhxform_actv_r{width:15px;height:15px;box-shadow:0 0 3px #999;border-radius:11px;}.dhxform_obj_dhx_terrace div.dhxform_img.chbx0,.dhxform_obj_dhx_terrace div.dhxform_img.chbx1,.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0,.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1,.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0,.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1,.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0,.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1,.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0,.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1,.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0,.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1{background-image:url("imgs/dhxform_terrace/dhxform_chbxrd.gif");background-repeat:no-repeat;}.dhxform_obj_dhx_terrace div.dhxform_img.chbx0{background-position:-18px 0;}.dhxform_obj_dhx_terrace div.dhxform_img.chbx1{background-position:0 0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0{background-position:-54px 0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1{background-position:-36px 0;}.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0{background-position:-90px 0;}.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1{background-position:-72px 0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0{background-position:-126px 0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1{background-position:-108px 0;}.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0{background-position:-164px -2px;}.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1{background-position:-146px -2px;}.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0{background-position:-200px -2px;}.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1{background-position:-182px -2px;}.dhxform_obj_dhx_terrace div.dhxform_label{font-family:Arial,Helvetica;font-size:inherit;color:black;overflow-x:hidden;overflow:hidden;white-space:normal;}.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_left{text-align:left;}.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_center{text-align:center;}.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_right{text-align:right;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_label,.dhxform_obj_dhx_terrace div.disabled div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_dhx_terrace div.disabled div.dhxform_label span.dhxform_item_required{color:#bbb;}.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_item_required{margin-left:5px;color:red;}.dhxform_obj_dhx_terrace input.dhxform_textarea,.dhxform_obj_dhx_terrace textarea.dhxform_textarea{padding:4px 2px!important;margin:0;font-size:1em;background-color:white;}.dhxform_obj_dhx_terrace input.dhxform_textarea::-ms-clear,.dhxform_obj_dhx_terrace textarea.dhxform_textarea::-ms-clear{display:none;}.dhxform_obj_dhx_terrace input.dhxform_textarea:focus,.dhxform_obj_dhx_terrace textarea.dhxform_textarea:focus{box-shadow:0 0 3px #c0c0c0;border:1px solid #bfbfbf;outline:none;}.dhxform_obj_dhx_terrace .dhxform_textarea{border:1px solid #ccc;font-family:Arial,Helvetica;font-size:1em;color:black;resize:none;}.dhxform_obj_dhx_terrace div.disabled .dhxform_textarea{color:#bbb;background-color:#f0f0f0;border:1px solid #d4d4d4;}.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node{position:relative;}.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node .dhxform_textarea{border:1px solid white;background-color:white;color:white;visibility:hidden;*height:1px;*line-height:1px;*display:inline;}.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_img{float:none;top:3px;left:0;position:absolute;margin:0;}.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_c,.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_r{float:none;top:5px;left:2px;position:absolute;margin:0;*top:3px;*left:0;}.dhxform_obj_dhx_terrace .dhxform_select{border:1px solid #ccc;background-color:white;font-family:Arial,Helvetica;font-size:1em;color:black;margin:0;padding:3px 2px 2px 0!important;line-height:100%;vertical-align:middle;}.dhxform_obj_dhx_terrace .dhxform_select option{padding-left:2px;}.dhxform_obj_dhx_terrace div.disabled .dhxform_select{color:#bbb;background-color:#f0f0f0;border:1px solid #d4d4d4;}.dhxform_obj_dhx_terrace .dhxform_select option{padding:1px 2px;}.dhxform_obj_dhx_terrace .dhxform_select:focus{box-shadow:0 0 3px #c0c0c0;border:1px solid #bfbfbf;outline:none;}.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left{padding:5px 0 5px 0;}.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested{margin-right:19px;margin-left:5px;}.dhxform_obj_dhx_terrace fieldset.dhxform_fs{border:1px solid #ccc;margin:0;padding:5px 0 12px 0;clear:left;width:100%;border-radius:3px;}.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs{border:1px solid #d4d4d4;}.dhxform_obj_dhx_terrace fieldset.dhxform_fs legend.fs_legend{font-family:Arial,Helvetica;font-size:inherit;color:#bfbfbf;font-weight:normal;padding:0 4px 1px 4px;margin-left:5px;text-align:left;}.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs legend.fs_legend{color:#bbb;}.dhxform_obj_dhx_terrace div.dhxform_item_label_right{clear:both;padding-top:7px;cursor:default;*display:inline-block;}.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_img,.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_c,.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_r{float:left;margin:0;}.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_label{float:left;padding:2px 0 1px 0;margin:2px 0 2px 0;*padding-top:0;*display:inline-block;}.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_control{float:left;margin-right:3px;}.dhxform_obj_dhx_terrace div.dhxform_item_label_left{clear:both;padding-top:7px;cursor:default;*display:inline-block;}.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_img,.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_c,.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_r{float:right;margin:3px 1px 0 5px;}.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_label{float:left;padding:4px 0 1px 0;margin:2px 0 2px 0;}.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_control{float:left;margin-left:3px;}.dhxform_obj_dhx_terrace div.dhxform_item_label_top{clear:both;}.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_label{float:none;margin-bottom:5px;margin-top:8px;}.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_control{float:none;margin-left:0;margin-bottom:5px;}.dhxform_obj_dhx_terrace div.dhxform_item_absolute{position:absolute;left:0;top:0;cursor:default;}.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_img,.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_c,.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_r{position:absolute;}.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control,.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_label,.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control.dhxform_img_node,.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_txt_label2,.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_btn,.dhxform_obj_dhx_terrace div.block_item_absolute div.dhxform_block{position:absolute;}.dhxform_obj_dhx_terrace div.dhxform_txt_label2{font-family:Arial,Helvetica;font-size:inherit;color:black;font-weight:bold;margin:0 3px;padding:5px 0;cursor:default;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_txt_label2{color:#bbb;}.dhxform_obj_dhx_terrace div.dhxform_btn{margin:1px 2px;background-color:#f0f0f0;float:left;cursor:default;clear:both;border-radius:3px;position:relative;overflow:hidden;font-family:Arial,Helvetica;font-size:inherit;color:#333;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;border:1px solid #ccc;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_dhx_terrace.dhxform_rtl div.dhxform_btn{float:right;}.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_over{color:#333;background-color:#ebebeb;}.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_pressed{color:#333;background-color:#e6e6e6;box-shadow:0 0 5px #e1e1e1 inset;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn{background-color:#f2f2f2;}.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_txt{float:left;margin:0 18px;height:28px;line-height:27px;text-align:center;vertical-align:middle;overflow:hidden;white-space:nowrap;border-radius:3px;*display:inline;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth{width:100%;margin:0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn div.dhxform_btn_txt{color:#b2b2b2;}.dhxform_obj_dhx_terrace div.dhxform_btn:focus{outline:1px dotted #bfbfbf;}.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_filler{position:absolute;display:inline-block;width:100%;height:100px;left:0;top:0;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_dhx_terrace div.dhxform_control div.dhxform_note{font-family:Arial,Helvetica;font-size:.8em;color:gray;padding-bottom:3px;white-space:normal;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_control div.dhxform_note{color:#bbb;}.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_info{font-family:Arial,Helvetica;font-size:.6em;color:gray;margin-left:3px;padding-bottom:2px;line-height:100%;vertical-align:middle;cursor:pointer;}.dhxform_obj_dhx_terrace .validate_error .dhxform_label,.dhxform_obj_dhx_terrace .validate_error .dhxform_textarea,.dhxform_obj_dhx_terrace .validate_error .dhxform_select,.dhxform_obj_dhx_terrace .validate_error div.dhxform_label_nav_link,.dhxform_obj_dhx_terrace .validate_error div.dhxform_label div.dhxform_label_nav_link:focus{color:red;}.dhxform_obj_dhx_terrace span.combo_in_focus div.dhxcombo_dhx_terrace{box-shadow:0 0 3px #c0c0c0;border:1px solid #bfbfbf;}div.dhxcombolist_dhx_terrace{border-top:1px solid #bfbfbf!important;}div.dhxcombolist_dhx_terrace:active{border-top:1px solid #ccc!important;}.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb{border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;}.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def{padding:0;border-top:1px solid #ccc;}.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace{box-shadow:0 0 3px #c0c0c0;outline:none;}.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb,.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor,.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def{border-color:#bfbfbf;}.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker{display:none;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker{display:inline;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fefefe;opacity:.7;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);}.dhtmlx_skin_dhx_terrace div.dhtmlx_wins_body_inner .dhxform_obj_dhx_terrace{background-color:white;}.dhxform_obj_dhx_terrace div.dhxform_control .dhx_combo_box.dhx_terrace .dhx_combo_input,.dhx_combo_list.dhx_terrace_list div{font-size:1em!important;}.dhxform_obj_dhx_terrace .dhx_file_uploader{position:relative;width:100%;margin-bottom:4px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls{position:relative;width:100%;height:35px;font-size:2px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button{position:absolute;width:19px;height:19px;top:8px;background-image:url("imgs/dhxform_terrace/dhxform_upload_buttons.gif");background-repeat:no-repeat;font-size:2px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);z-index:1;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{background-position:0 0;right:108px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload{background-position:-19px 0;right:79px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel{background-position:-57px 0;right:79px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{background-position:-38px 0;right:50px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input{position:absolute;left:-1000px;top:0;visibility:hidden;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont{position:absolute;width:19px;height:19px;left:0;top:0;cursor:pointer;overflow:hidden;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);cursor:pointer;outline:none;height:19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files{position:relative;width:100%;left:0;top:0;overflow:auto;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file{position:relative;width:100%;height:25px;overflow:hidden;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading{color:black;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded{color:#646464;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail{color:#e94a4a;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param{position:absolute;font-family:inherit;font-size:inherit;color:inherit;top:0;height:25px;line-height:25px;vertical-align:middle;overflow:hidden;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name{left:20px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress{right:50px;width:38px;text-align:right;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete{right:30px;width:11px;background-image:url("imgs/dhxform_terrace/dhxform_upload_buttons.gif");background-position:-76px 0;background-repeat:no-repeat;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading{right:50px;width:38px;text-align:right;background-image:url("imgs/dhxform_terrace/dhxform_upload_uploading.gif");background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls{height:60px;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files{display:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:inline;background-image:none;font-family:Arial,Helvetica;font-size:13px;color:#a0a0a0;height:auto;top:0;left:35px;vertical-align:top;padding-top:6px;line-height:20px;cursor:default;filter:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{top:0;width:54px;height:54px;right:35px;background-image:url("imgs/dhxform_terrace/dhxform_upload_buttons.gif");background-position:0 -38px;background-repeat:no-repeat;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload,.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel,.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{display:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont{width:54px;height:54px;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{height:54px;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail{color:#bbb;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:-54px -38px;cursor:default;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont{display:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button{cursor:default;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:0 -19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload{background-position:-19px -19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel{background-position:-57px -19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear{background-position:-38px -19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete{background-position:-87px 0;cursor:default;}.dhxform_obj_dhx_terrace div.dhxform_image{position:relative;overflow:hidden;border:1px solid #ccc;}.dhxform_obj_dhx_terrace div.dhxform_image img.dhxform_image_img{position:absolute;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;overflow:hidden;*border:1px solid white;*height:1000px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-ms-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress{background-image:url("imgs/dhxform_terrace/dhxform_image_uploading.gif");background-position:center center;background-repeat:no-repeat;*border-width:0;*height:100%;opacity:.85;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=85);-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form{display:none;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input{cursor:pointer;outline:none;height:1000px;font-size:100px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_dhx_terrace div.disabled div.dhxform_image{border-color:#d4d4d4;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_image img.dhxform_image_img{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxform_obj_dhx_terrace div.disabled div.dhxform_image div.dhxform_image_wrap{cursor:default;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_image form.dhxform_image_form{display:none;}div.dhx_form_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:30px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}.dhxacc_base_dhx_terrace{position:relative;cursor:default;overflow:hidden;}.dhxacc_base_dhx_terrace div.dhxacc_cont{position:absolute;*overflow:hidden;}.dhxacc_base_dhx_terrace div.dhx_cell_acc{position:relative;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;box-shadow:0 0 3px #e0e0e0;border-color:#ccc;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont_acc{position:absolute;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:0 solid #fff;overflow:hidden;z-index:0;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr{position:relative;height:36px;line-height:35px;overflow:hidden;font-family:Arial,Helvetica;font-size:13px;color:#333;font-weight:normal;border:1px solid #ccc;background-color:#f5f5f5;cursor:default;z-index:3;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 26px 0 10px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon{position:absolute;top:11px;left:10px;width:16px;height:16px;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr i{position:absolute;top:10px;left:10px;width:16px;height:16px;line-height:16px;text-align:center;cursor:default;font-size:1.1em;color:inherit;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon{margin-left:32px!important;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow{position:absolute;top:11px;right:4px;width:16px;height:16px;background-image:url("imgs/dhxacc_terrace/dhxacc_btns.gif");background-repeat:no-repeat;background-position:0 0;overflow:hidden;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_terrace div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow{background-position:-16px 0;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont.dhx_cell_cont_not_last{border-bottom:0 solid white;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:6px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_toolbar_def{border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;padding:6px;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{border-top:1px solid #fff;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-top:0 solid #fff;width:auto;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;z-index:1;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:23px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxacc_base_dhx_terrace div.dhx_cell_acc.acc_cell_dragged{box-shadow:0 0 5px #aaa;z-index:5!important;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-position:center 55%;background-image:url("imgs/dhxacc_terrace/dhxacc_cell_progress.gif");background-repeat:no-repeat;cursor:progress;z-index:2;}.dhxacc_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxlayout_base_dhx_terrace{position:relative;cursor:default;}.dhxlayout_base_dhx_terrace div.dhxlayout_cont{position:absolute;*overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhxlayout_sep{position:absolute;background-color:#fff;font-size:1px;margin:0;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-repeat:no-repeat;background-position:center center;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;touch-action:none;}div.dhxlayout_sep_sw_dhx_terrace{position:absolute;left:0;top:-100px;width:10px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhxlayout_sep.dhxlayout_sep_resize_v{cursor:w-resize;background-image:url('imgs/dhxlayout_terrace/dhxlayout_sep_v.gif');}.dhxlayout_base_dhx_terrace div.dhxlayout_sep.dhxlayout_sep_resize_h{cursor:n-resize;background-image:url('imgs/dhxlayout_terrace/dhxlayout_sep_h.gif');}.dhxlayout_base_dhx_terrace div.dhxlayout_sep.dhxlayout_sep_resize_actv{background-color:#f2f2f2;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_cont_layout{position:absolute;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:0 solid white;overflow:hidden;z-index:0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders{border:0 solid white!important;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout,.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout{display:none;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr{position:relative;height:32px;line-height:31px;overflow:hidden;font-family:Arial,Helvetica;font-size:13px;color:#333;font-weight:bold;border:1px solid #ccc;background-color:#f5f5f5;cursor:default;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden{height:0;line-height:0;border-bottom-width:0;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders{height:0;line-height:0;border-width:0;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 26px 0 5px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr{height:18px;line-height:17px;color:#333;font-weight:normal;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr{width:18px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text{position:absolute;left:3px;bottom:0;transform:rotate(270deg);-ms-transform:rotate(270deg);transform-origin:left center;font-weight:normal;text-overflow:ellipsis;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8{left:-5px;line-height:17px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');margin-bottom:95%;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9{left:0;line-height:17px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 span{float:left;filter:none;margin-bottom:95%;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7{left:-6px;line-height:17px;padding-bottom:10px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6{left:-6px;line-height:17px;padding-bottom:10px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome{left:3px;-webkit-transform:rotate(270deg);-webkit-transform-origin:left center;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow{position:absolute;right:4px;top:9px;width:16px;height:16px;background-image:url('imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif');background-repeat:no-repeat;cursor:pointer;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-16px 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-48px 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:-32px 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:0 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:0 -5px;top:6px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:-32px -4px;top:6px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-45px 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-13px 0;}body.dhxlayout_resize_v *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:w-resize!important;}body.dhxlayout_resize_h *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:n-resize!important;}.dhxlayout_base_dhx_terrace div.dhxlayout_resize_area{position:absolute;background-color:#ccc;opacity:.15;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=15);z-index:1;border:2px dashed black;cursor:inherit;}.dhxlayout_base_dhx_terrace div.dhxlayout_resize_sep{position:absolute;background-color:#ccc;overflow:hidden;display:block;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);z-index:2;cursor:inherit;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def,.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def{display:none;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:6px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_def div.dhtmlxMenu_dhx_terrace_Middle,.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_terrace_Middle{padding:0 2px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_toolbar_def{position:relative;overflow:hidden;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;padding:6px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_terrace{border-top:0 solid white;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{margin-top:-1px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-top:0 solid white;width:auto;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:24px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxlayout_base_dhx_terrace div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxlayout_base_dhx_terrace div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxlayout_base_dhx_terrace div.dhxcelltop_hdr{position:relative;}.dhxlayout_base_dhx_terrace div.dhxcelltop_ftr{position:absolute;}.dhxlayout_base_dhx_terrace div.dhxcelltop_menu{position:relative;overflow:hidden;padding-left:0;padding-right:0;padding-bottom:10px;}.dhxlayout_base_dhx_terrace div.dhxcelltop_toolbar{position:relative;padding-bottom:10px;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace{padding-left:0;padding-right:0;}.dhxlayout_base_dhx_terrace div.dhxcelltop_ribbon{padding-bottom:10px;position:relative;}.dhxlayout_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{width:auto;}.dhxlayout_base_dhx_terrace div.dhxcelltop_statusbar{position:absolute;background-color:#fff;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:10px;border:1px solid #ccc;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;padding:3px 4px;}.dhxlayout_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxtabbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxtabbar_fullscreen{width:100%;height:100%;margin:0;overflow:hidden;}.dhxtabbar_base_dhx_terrace{position:relative;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_cont{position:absolute;*overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs{position:absolute;top:0;bottom:auto;height:33px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;overflow:hidden;white-space:nowrap;background-color:#fff;z-index:2;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base{position:absolute;top:0;height:34px;overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right{position:absolute;width:5000px;height:34px;margin:0 1px;top:-1px;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{position:absolute;width:100%;left:0;bottom:0;top:none;height:1px;overflow:hidden;background-color:#ccc;border:none;z-index:2;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left{position:absolute;left:0;top:0;width:17px;height:32px;background-color:#fff;border-bottom:1px solid #ccc;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img{position:relative;height:100%;border-right:1px solid #ccc;background-image:url("imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif");background-position:1px 14px;background-repeat:no-repeat;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{position:absolute;right:0;top:0;width:17px;height:32px;background-color:#fff;border-bottom:1px solid #ccc;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img{position:relative;height:100%;border-left:1px solid #ccc;background-image:url("imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif");background-position:-13px 14px;background-repeat:no-repeat;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab{position:relative;height:34px;font-family:Arial,Helvetica;font-size:13px;color:#333;z-index:1;cursor:pointer;background-color:#f5f5f5;margin-left:-1px;margin-right:0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_text{color:#262626;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_close{background-color:#e8e8e8;border-color:#c7c7c7;background-position:-15px 0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis{color:#bbb;background-color:#fafafa;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{background-color:#fff;z-index:3;font-weight:bold;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_hidden{border:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text{position:relative;height:33px;line-height:33px;vertical-align:middle;top:0;bottom:none;text-align:center;padding:0 15px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-bottom:0 solid #fff;overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close{padding-right:20px;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text{color:#333;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_text,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text{color:#bbb;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis:hover div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis:hover div.dhxtabbar_tab_close{background-color:#e8e8e8;border-color:#c7c7c7;background-position:-30px 0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close{position:absolute;top:9px;right:9px;width:15px;height:15px;border:1px solid #ccc;background-color:#f0f0f0;border-radius:3px;background-image:url("imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif");background-position:0 0;background-repeat:no-repeat;z-index:1;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv:hover div.dhxtabbar_tab_close{background-color:#fff;border-color:#ccc;background-position:0 0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab{float:left;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab{float:right;margin-right:-1px;margin-left:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs{top:auto;bottom:0;border-bottom:1px solid #ccc;border-top:0 solid #fff;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right{top:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{top:0;bottom:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab{margin-top:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{margin-top:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text{border-bottom:1px solid #ccc;border-top:0 solid white;top:none;bottom:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{top:0;bottom:none;border-top:1px solid #ccc;border-bottom:0 solid #fff;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-top:1px solid #ccc;border-bottom:0 solid white;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_menu_def{border-top:1px solid #ccc;border-bottom:0 solid white;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_toolbar_def{border-top:1px solid #ccc;border-bottom:0 solid white;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-top:1px solid #ccc;border-bottom:0 solid white;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{position:absolute;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:0 solid white;overflow:hidden;z-index:0;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders{border:0 solid white!important;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:6px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_toolbar_def{position:relative;padding:6px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-top:0 solid white;width:auto;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{margin-top:-1px;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:28px;line-height:27px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}span.dhxtabbar_tabs_text_test_dhx_terrace{position:absolute;visibility:hidden;right:0;top:0;font-weight:normal;padding:0 4px;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhxsidebar_base_dhx_terrace{position:relative;cursor:default;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont{position:absolute;cursor:default;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side{position:absolute;left:0;top:0;background-color:#f5f5f5;border-style:solid;border-color:#ccc;border-width:1px 1px 0 1px;overflow:hidden;z-index:5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items{position:absolute;width:100%;overflow:hidden;box-sizing:border-box;-ms-touch-action:none;-webkit-transition:top .2s;-moz-transition:top .2s;-ms-transition:top .2s;-o-transition:top .2s;transition:top .2s;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item{position:relative;padding:0 10px;z-index:1;cursor:default;margin:1px 0;background-color:#f5f5f5;overflow:hidden;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);font-family:Arial,Helvetica;font-size:13px;color:#333;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-ms-touch-action:none;-webkit-touch-callout:none;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden{height:0!important;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#f0f0f0;z-index:2;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#fff3a1;color:black;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:absolute;left:9px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:absolute;left:0;top:0;height:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{position:absolute;width:15px;height:15px;line-height:14px;right:5px;top:5px;border-radius:10px;background-color:#f5f5f5;border:1px solid #333;font-family:Tahoma;font-size:10px;text-align:center;font-weight:normal;color:#333;cursor:default;overflow:hidden;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble{background-color:#f0f0f0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble{background-color:#fff3a1;color:black;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep{position:relative;height:1px;margin:1px 0;overflow:hidden;background-color:#e8e8e8;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#f5f5f5;z-index:1;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#fff3a1;color:black;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item{height:27px;line-height:27px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:5px;width:16px;height:16px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:34px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item{height:47px;line-height:47px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:7px;width:32px;height:32px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:50px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{top:15px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item{height:47px;line-height:47px;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:7px;width:32px;height:32px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item{height:66px;line-height:1em;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:4px;width:32px;height:32px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:relative;display:block;height:16px;margin-top:10px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item{height:27px;line-height:27px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:14px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar{border-top-color:#fff;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{position:absolute;border-style:solid;border-color:#ccc;border-width:1px 1px 1px 0;overflow:hidden;z-index:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-top:1px solid #ccc;border-right:1px solid #ccc;padding:8px 8px 0 8px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;padding-left:8px;padding-bottom:8px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhtmlxMenu_dhx_terrace_Middle{padding:0 2px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:8px 8px 0 8px;border-top:1px solid #ccc;border-right:1px solid #ccc;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders{padding-left:8px;padding-bottom:8px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def{position:relative;overflow:hidden;padding:4px 4px 0 4px;border-top:1px solid #ccc;border-right:1px solid #ccc;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web{border-width:0;width:auto;margin:4px 4px 0 4px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-width:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders{position:relative;overflow:hidden;padding:0;padding:0 0 8px 8px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{width:auto;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:24px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr{position:relative;background-color:#f5f5f5;height:36px;line-height:35px;font-weight:normal;overflow:hidden;cursor:default;z-index:1;border:1px solid #ccc;font-family:Arial,Helvetica;font-size:13px;color:#333;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text{position:relative;margin:0 10px;overflow:hidden;white-space:nowrap;cursor:default;text-align:left;height:100%;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon{margin-left:34px!important;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon{position:absolute;top:0;left:10px;width:16px;height:100%;background-image:url("imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif");background-position:center center;background-repeat:no-repeat;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{border-left-width:1px;border-top-width:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-left-width:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def,.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def,.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def{border-top-width:0;border-left:1px solid #ccc;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide{overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 2px 8px rgba(127,127,127,0.4);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 4px 6px rgba(127,127,127,0.4);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#fff;z-index:3;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s;opacity:.0001;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows{position:absolute;left:0;bottom:0;height:24px;border:1px solid #ccc;background-color:#f5f5f5;font-size:1px;overflow:hidden;z-index:6;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden{height:0;border-width:0 1px 1px 1px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow{position:absolute;width:50%;height:100%;top:0;font-size:1px;overflow:hidden;z-index:1;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left{left:0;border-right:1px solid #ccc;z-index:2;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif");}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right{right:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif");}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image{position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;font-size:1px;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover{background-color:#f0f0f0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active{background-color:#ebebeb;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxsidebar_base_dhx_terrace div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_hdr{position:relative;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_ftr{position:absolute;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_menu{position:relative;overflow:hidden;padding-left:0;padding-right:0;padding-bottom:10px;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_toolbar{position:relative;padding-bottom:10px;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace{padding-left:0;padding-right:0;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_ribbon{padding-bottom:10px;position:relative;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{width:auto;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_statusbar{position:absolute;background-color:#fff;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:10px;border:1px solid #ccc;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;padding:3px 4px;}.dhxsidebar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxcarousel_base_dhx_terrace{background-color:white;position:relative;cursor:default;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip{perspective:900px;-webkit-perspective:900;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;-webkit-transform-style:preserve-3d;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel{position:absolute;border:1px solid #ccc;overflow:hidden;margin:0;padding:0;z-index:0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;padding:0 0 8px 0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def div.dhtmlxMenu_dhx_terrace_Middle,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_terrace_Middle{padding:0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders{position:relative;overflow:hidden;padding:0 0 8px 0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_terrace,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_terrace{padding:0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{border-width:0;width:auto;margin-left:-4px;margin-top:-4px;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-width:0;margin-left:-4px;margin-top:-4px;width:auto;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:25px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls{position:absolute;width:100%;height:34px;bottom:0;left:0;z-index:3;overflow:visible;border-top:1px solid #ccc;background-color:#f5f5f5;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn{position:absolute;bottom:0;width:38px;height:100%;overflow:hidden;font-size:14px;line-height:33px;font-family:Arial;color:#333;background-color:#f5f5f5;border:0 solid #ccc;text-align:center;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover{color:#2e2e2e;background-color:#ebebeb;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active{color:#2e2e2e;background-color:#e6e6e6;box-shadow:0 0 5px #d9d9d9 inset;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{left:0;border-right-width:1px;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{right:0;border-left-width:1px;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{color:#bbb;background-color:#fafafa;z-index:1;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars{position:absolute;top:11px;text-align:center;font-size:1px;line-height:36px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar{float:left;position:relative;margin:0 2px;width:12px;height:12px;border:1px solid #ccc;border-radius:12px;background-color:white;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore{display:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore{position:absolute;display:block;font-size:1px;margin:0;padding:0;width:6px;height:6px;top:3px;left:3px;border-radius:12px;background-color:#333;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_hdr{position:relative;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_ftr{position:absolute;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxcarousel_base_dhx_terrace div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_menu{position:relative;overflow:hidden;padding-left:0;padding-right:0;padding-bottom:10px;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_toolbar{position:relative;padding-bottom:10px;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace{padding-left:0;padding-right:0;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_ribbon{padding-bottom:10px;position:relative;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{width:auto;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_statusbar{position:absolute;background-color:#fff;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:10px;border:1px solid #ccc;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;padding:3px 4px;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace{background-color:#f5f5f5;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls{border-bottom:1px solid #ccc;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{border-left-width:1px;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{border-right-width:1px;}.dhxcarousel_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxwins_vp_dhx_terrace{overflow:hidden;position:relative;cursor:default;}.dhxwins_vp_auto{overflow:auto!important;}.dhxwins_vp_dhx_terrace div.dhxwin_active{position:absolute;overflow:hidden;border:1px solid #ccc;box-shadow:0 0 6px #a0a0a0;border-radius:3px;background:#fff;cursor:inherit;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive{position:absolute;overflow:hidden;border:1px solid #ccc;box-shadow:0 0 6px #c0c0c0;border-radius:3px;background:#fff;cursor:inherit;}.dhxwins_vp_dhx_terrace div.dhxwin_brd{position:absolute;border-left:5px solid #fff;border-right:5px solid #fff;border-bottom:5px solid #fff;background:#fff;z-index:0;}.dhxwins_vp_dhx_terrace div.dhxwin_brd.dhxwin_hdr_hidden{border-top:5px solid #fff;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_brd{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_terrace div.dhxwin_fr_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#fff;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwin_fr_cover .dhxwin_fr_cover_inner{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover{display:none;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_fr_cover{z-index:4;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize{display:block;}.dhxwins_vp_dhx_terrace iframe.dhxwin_main_fr_cover{position:absolute;background-color:#fff;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwin_hdr{position:relative;height:36px;line-height:37px;margin:0;padding:0;font-weight:normal;border-bottom:1px solid #ccc;background-color:#fff;border-top-left-radius:3px;border-top-right-radius:3px;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;cursor:inherit;overflow:hidden;z-index:3;-ms-touch-action:none;touch-action:none;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr{color:#404040;opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_terrace div.dhxwin_hdr.dhxwin_hdr_parked{border-bottom-left-radius:3px;border-bottom-right-radius:3px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr.dhxwin_hdr_hidden{visibility:hidden;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_icon{position:absolute;left:11px;top:10px;width:23px;height:18px;cursor:default;overflow:hidden;background-image:url("imgs/dhxwins_terrace/dhxwins_icon.gif");background-position:left center;background-repeat:no-repeat;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_text{position:relative;padding:0;margin:0;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:inherit;z-index:1;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns{position:absolute;right:10px;top:10px;height:18px;cursor:default;overflow:hidden;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button,.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis{position:relative;float:left;width:15px;height:15px;margin-left:2px;margin-top:2px;border-radius:2px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-image:url("imgs/dhxwins_terrace/dhxwins_buttons.gif");background-repeat:no-repeat;background-position:0 0;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover{background-color:#ebebeb;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close{background-position:-15px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis{background-position:-15px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax{background-position:-30px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis{background-position:-30px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed{background-position:-45px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis{background-position:-45px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park{background-position:-60px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis{background-position:-60px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick{background-position:-75px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis{background-position:-75px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked{background-position:-90px 0;z-index:1;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis{background-position:-90px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help{background-position:-105px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis{background-position:-105px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock{background-position:-120px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis{background-position:-120px -15px;}.dhxwins_vp_dhx_terrace.dhxwins_vp_dnd{cursor:move!important;}.dhxwins_vp_dhx_terrace div.dhxwin_resize{position:absolute;background-color:#9c9c9c;opacity:.2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);}.dhxwins_vp_dhx_terrace iframe.dhxwin_resize_fr_cover{position:absolute;background-color:#fff;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwins_mcover{position:absolute;background-color:#ededed;left:0;top:0;width:100%;height:100%;opacity:.53;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=53);}.dhxwins_vp_dhx_terrace iframe.dhxwins_mcover{position:absolute;background-color:#fff;left:0;top:0;width:100%;height:100%;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;visibility:visible;z-index:1;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins{position:absolute;border:5px solid #fff;border-top:10px solid #fff;background-color:#fff;overflow:hidden;z-index:0;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders{border:0 solid #fff!important;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def{position:relative;overflow:hidden;height:42px;margin:10px 5px 0 5px;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:10px 5px 0 5px;border-width:0;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def{padding-top:4px;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border:0 solid white;width:auto;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{margin-left:4px;margin-top:4px;margin-right:4px;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;margin:5px 5px 5px 5px;padding:5px 10px;background-color:#f5f5f5;white-space:nowrap;overflow:hidden;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxwins_terrace/dhxwins_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxwins_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}div.dhxwins_vp_dhx_terrace.dhxwins_vp_fs{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000;padding:0;}.dhtmlx-info{color:#333;border-radius:4px;min-width:120px;padding:10px 10px 8px 15px;background:#fffcef;font-size:12px;font-family:Arial;z-index:10000;margin:0 5px 5px 5px;border:1px solid #ccc;-moz-box-shadow:0 0 5px #ccc;-webkit-box-shadow:0 0 5px #ccc;box-shadow:0 0 5px #ccc;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info.hidden{height:0;padding-bottom:0;padding-top:0;border-width:0;margin-top:0;margin-bottom:0;overflow:hidden;}.dhtmlx-error{border:1px solid #f17373;box-shadow:inset 0 0 1px 1px #f59696;background:#f17373;color:#fff;}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;width:300px;text-align:center;position:fixed;z-index:20000;background:#fff;-moz-box-shadow:0 0 5px #AAA;-webkit-box-shadow:0 0 0 #AAA;box-shadow:0 0 5px #AAA;border:1px solid #ddd;border-radius:6px;}.dhtmlx_popup_title{padding:10px 0;font-size:13px;border-bottom:1px solid #ddd;line-height:16px;font-weight:bold;font-family:Arial;border-radius:0;text-shadow:none;height:auto;}.dhtmlx-info,.dhtmlx_popup_title,.dhtmlx_popup_button{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;-moz-user-select:-moz-none;cursor:pointer;}.dhtmlx_popup_text{font-size:13px;font-family:Arial;color:#444;min-height:30px;padding:20px 10px 10px 10px!important;overflow:hidden;border-width:0;margin:0;}.dhtmlx_popup_button div,.dhtmlx_popup_button div:active{line-height:28px;background:inherit;color:inherit;border:none;}.dhtmlx_popup_controls{font-family:Arial;font-weight:bold;padding:10px 10px 15px 10px!important;}.dhtmlx_popup_button{font-size:14px;font-family:Arial;font-weight:normal;min-width:120px;width:120px;height:28px;line-height:28px;display:inline-block;margin:0 5px;border-radius:4px;}div.dhx_modal_cover{background:#000;cursor:default;opacity:.2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1;}.dhtmlx_popup_button{color:#222;border:1px solid #cecece;box-shadow:0 0 1px #111;}.dhtmlx_popup_button:active,.dhtmlx_popup_button:focus{background:#eee;}.dhtmlx_popup_button:first-child{background:#22A1BC;color:white;border:1px solid #22A1BC;box-shadow:none;}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid #f17373;}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{color:#fff;background:#f17373;}.dhtmlx-alert-warning,.dhtmlx-confirm-warning{border:1px solid #E6951A;}.dhtmlx-alert-warning .dhtmlx_popup_title,.dhtmlx-confirm-warning .dhtmlx_popup_title{color:#fff;background:#E6951A;}.dhtmlx-alert .dhtmlx_popup_title,.dhtmlx-confirm .dhtmlx_popup_title{color:#444;background:#f5f5f5;}.dhtmlx-alert .dhtmlx_popup_controls,.dhtmlx-confirm .dhtmlx_popup_controls{border:1px solid #eee;border-width:0 1px 1px 1px;}.dhtmlx-alert .dhtmlx_popup_text,.dhtmlx-confirm .dhtmlx_popup_text{border:1px solid #eee;border-width:0;}.dhtmlx-error div,.dhtmlx-info div{padding:0;background:inherit;color:inherit;border:none;} diff --git a/src/gantt/edge/dhtmlx.js b/src/gantt/edge/dhtmlx.js new file mode 100644 index 0000000..baa3beb --- /dev/null +++ b/src/gantt/edge/dhtmlx.js @@ -0,0 +1,9 @@ +/* +Product Name: dhtmlxSuite +Version: 5.1.29 +Edition: Standard +License: content of this file is covered by GPL. Usage outside GPL terms is prohibited. To obtain Commercial or Enterprise license contact sales@dhtmlx.com +Copyright UAB Dinamenta http://www.dhtmlx.com +*/ + +if(typeof(window.dhx)=="undefined"){window.dhx=window.dhx4={version:"5.1.29",skin:null,skinDetect:function(a){var c=Math.floor(dhx4.readFromCss(a+"_skin_detect")/10)*10;return{10:"dhx_skyblue",20:"dhx_web",30:"dhx_terrace",40:"material"}[c]||null},readFromCss:function(e,g,h){var c=document.createElement("DIV");c.className=e;if(document.body.firstChild!=null){document.body.insertBefore(c,document.body.firstChild)}else{document.body.appendChild(c)}if(typeof(h)=="string"){c.innerHTML=h}var a=c[g||"offsetWidth"];c.parentNode.removeChild(c);c=null;return a},lastId:1,newId:function(){return this.lastId++},zim:{data:{},step:5,first:function(){return 100},last:function(){var e=this.first();for(var c in this.data){e=Math.max(e,this.data[c])}return e},reserve:function(a){this.data[a]=this.last()+this.step;return this.data[a]},clear:function(a){if(this.data[a]!=null){this.data[a]=null;delete this.data[a]}}},s2b:function(a){if(typeof(a)=="string"){a=a.toLowerCase()}return(a==true||a==1||a=="true"||a=="1"||a=="yes"||a=="y"||a=="on")},s2j:function(s){var obj=null;dhx4.temp=null;try{eval("dhx4.temp="+s)}catch(e){dhx4.temp=null}obj=dhx4.temp;dhx4.temp=null;return obj},absLeft:function(a){if(typeof(a)=="string"){a=document.getElementById(a)}return this.getOffset(a).left},absTop:function(a){if(typeof(a)=="string"){a=document.getElementById(a)}return this.getOffset(a).top},_aOfs:function(a){var e=0,c=0;while(a){e=e+parseInt(a.offsetTop);c=c+parseInt(a.offsetLeft);a=a.offsetParent}return{top:e,left:c}},_aOfsRect:function(g){var l=g.getBoundingClientRect();var m=document.body;var c=document.documentElement;var a=window.pageYOffset||c.scrollTop||m.scrollTop;var h=window.pageXOffset||c.scrollLeft||m.scrollLeft;var j=c.clientTop||m.clientTop||0;var n=c.clientLeft||m.clientLeft||0;var o=l.top+a-j;var e=l.left+h-n;return{top:Math.round(o),left:Math.round(e)}},getOffset:function(a){if(a.getBoundingClientRect){return this._aOfsRect(a)}else{return this._aOfs(a)}},_isObj:function(a){return(a!=null&&typeof(a)=="object"&&typeof(a.length)=="undefined")},_copyObj:function(g){if(this._isObj(g)){var e={};for(var c in g){if(typeof(g[c])=="object"&&g[c]!=null){e[c]=this._copyObj(g[c])}else{e[c]=g[c]}}}else{var e=[];for(var c=0;c=0);var c={};c.left=document.body.scrollLeft;c.right=c.left+(window.innerWidth||document.body.clientWidth);c.top=Math.max((a?document.documentElement:document.getElementsByTagName("html")[0]).scrollTop,document.body.scrollTop);c.bottom=c.top+(a?Math.max(document.documentElement.clientHeight||0,document.documentElement.offsetHeight||0):window.innerHeight);return c},selectTextRange:function(h,l,c){h=(typeof(h)=="string"?document.getElementById(h):h);var a=h.value.length;l=Math.max(Math.min(l,a),0);c=Math.min(c,a);if(h.setSelectionRange){try{h.setSelectionRange(l,c)}catch(j){}}else{if(h.createTextRange){var g=h.createTextRange();g.moveStart("character",l);g.moveEnd("character",c-a);try{g.select()}catch(j){}}}},transData:null,transDetect:function(){if(this.transData==null){this.transData={transProp:false,transEv:null};var e={MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd",OTransition:"oTransitionEnd",msTransition:"transitionend",transition:"transitionend"};for(var c in e){if(this.transData.transProp==false&&document.documentElement.style[c]!=null){this.transData.transProp=c;this.transData.transEv=e[c]}}e=null}return this.transData},_xmlNodeValue:function(a){var e="";for(var c=0;c=0||navigator.userAgent.indexOf("Trident")>=0);window.dhx4.isIE6=(window.XMLHttpRequest==null&&navigator.userAgent.indexOf("MSIE")>=0);window.dhx4.isIE7=(navigator.userAgent.indexOf("MSIE 7.0")>=0&&navigator.userAgent.indexOf("Trident")<0);window.dhx4.isIE8=(navigator.userAgent.indexOf("MSIE 8.0")>=0&&navigator.userAgent.indexOf("Trident")>=0);window.dhx4.isIE9=(navigator.userAgent.indexOf("MSIE 9.0")>=0&&navigator.userAgent.indexOf("Trident")>=0);window.dhx4.isIE10=(navigator.userAgent.indexOf("MSIE 10.0")>=0&&navigator.userAgent.indexOf("Trident")>=0&&window.navigator.pointerEnabled!=true);window.dhx4.isIE11=(navigator.userAgent.indexOf("Trident")>=0&&window.navigator.pointerEnabled==true);window.dhx4.isEdge=(navigator.userAgent.indexOf("Edge")>=0);window.dhx4.isOpera=(navigator.userAgent.indexOf("Opera")>=0);window.dhx4.isChrome=(navigator.userAgent.indexOf("Chrome")>=0)&&!window.dhx4.isEdge;window.dhx4.isKHTML=(navigator.userAgent.indexOf("Safari")>=0||navigator.userAgent.indexOf("Konqueror")>=0)&&!window.dhx4.isEdge;window.dhx4.isFF=(navigator.userAgent.indexOf("Firefox")>=0);window.dhx4.isIPad=(navigator.userAgent.search(/iPad/gi)>=0);window.dhx4.dnd={evs:{},p_en:((window.dhx4.isIE||window.dhx4.isEdge)&&(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)),_mTouch:function(a){return(window.dhx4.isIE10&&a.pointerType==a.MSPOINTER_TYPE_MOUSE||window.dhx4.isIE11&&a.pointerType=="mouse"||window.dhx4.isEdge&&a.pointerType=="mouse")},_touchOn:function(a){if(a==null){a=document.body}a.style.touchAction=a.style.msTouchAction="";a=null},_touchOff:function(a){if(a==null){a=document.body}a.style.touchAction=a.style.msTouchAction="none";a=null}};if(window.navigator.pointerEnabled==true){window.dhx4.dnd.evs={start:"pointerdown",move:"pointermove",end:"pointerup"}}else{if(window.navigator.msPointerEnabled==true){window.dhx4.dnd.evs={start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}}else{if(typeof(window.addEventListener)!="undefined"){window.dhx4.dnd.evs={start:"touchstart",move:"touchmove",end:"touchend"}}}}}if(typeof(window.dhx4.template)=="undefined"){window.dhx4.trim=function(a){return String(a).replace(/^\s{1,}/,"").replace(/\s{1,}$/,"")};window.dhx4.template=function(c,e,a){return c.replace(/#([a-z0-9_-]{1,})(\|([^#]*))?#/gi,function(){var l=arguments[1];var j=window.dhx4.trim(arguments[3]);var m=null;var h=[e[l]];if(j.length>0){j=j.split(":");var g=[];for(var n=0;n0&&g[g.length-1].match(/\\$/)!=null){g[g.length-1]=g[g.length-1].replace(/\\$/,"")+":"+j[n]}else{g.push(j[n])}}m=g[0];for(var n=1;n0&&typeof(e[l])!="undefined"){if(!e[l]&&e[l]!==0){return""}if(a==true){return window.dhx4.trim(e[l])}return String(e[l])}return""})};window.dhx4.template.date=function(a,c){if(a!=null){if(a instanceof Date){return window.dhx4.date2str(a,c)}else{a=a.toString();if(a.match(/^\d*$/)!=null){return window.dhx4.date2str(new Date(parseInt(a)),c)}return a}}return""};window.dhx4.template.maxlength=function(c,a){return String(c).substr(0,a)};window.dhx4.template.number_format=function(g,h,e,a){var c=window.dhx4.template._parseFmt(h,e,a);if(c==false){return g}return window.dhx4.template._getFmtValue(g,c)};window.dhx4.template.lowercase=function(a){if(typeof(a)=="undefined"||a==null){a=""}return String(a).toLowerCase()};window.dhx4.template.uppercase=function(a){if(typeof(a)=="undefined"||a==null){a=""}return String(a).toUpperCase()};window.dhx4.template._parseFmt=function(l,e,a){var g=l.match(/^([^\.\,0-9]*)([0\.\,]*)([^\.\,0-9]*)/);if(g==null||g.length!=4){return false}var c={i_len:false,i_sep:(typeof(e)=="string"?e:","),d_len:false,d_sep:(typeof(a)=="string"?a:"."),s_bef:(typeof(g[1])=="string"?g[1]:""),s_aft:(typeof(g[3])=="string"?g[3]:"")};var j=g[2].split(".");if(j[1]!=null){c.d_len=j[1].length}var h=j[0].split(",");if(h.length>1){c.i_len=h[h.length-1].length}return c};window.dhx4.template._getFmtValue=function(value,fmt){var r=String(value).match(/^(-)?([0-9]{1,})(\.([0-9]{1,}))?$/);if(r!=null&&r.length==5){var v0="";if(r[1]!=null){v0+=r[1]}v0+=fmt.s_bef;if(fmt.i_len!==false){var i=0;var v1="";for(var q=r[2].length-1;q>=0;q--){v1=""+r[2].charAt(q)+v1;if(++i==fmt.i_len&&q>0){v1=fmt.i_sep+v1;i=0}}v0+=v1}else{v0+=r[2]}if(fmt.d_len!==false){if(r[4]==null){r[4]=""}while(r[4].length11?"pm":"am");case"%A":return(j.getHours()>11?"PM":"AM");case"%%":return"%";case"%u":return j.getMilliseconds();case"%P":if(window.dhx4.temp_calendar!=null&&window.dhx4.temp_calendar.tz!=null){return window.dhx4.temp_calendar.tz}var q=j.getTimezoneOffset();var o=Math.abs(Math.floor(q/60));var l=Math.abs(q)-o*60;return(q>0?"-":"+")+h(o)+":"+h(l);default:return n}};var e=String(g||window.dhx4.dateFormat).replace(/%[a-zA-Z]/g,c)}return(e||String(j))};window.dhx4.str2date=function(j,y,D){if(y==null||typeof(y)=="undefined"){y=window.dhx4.dateFormat[window.dhx4.dateLang]}if(D==null||typeof(D)=="undefined"){D=window.dhx4.dateStrings[window.dhx4.dateLang]}y=y.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\\:|]/g,"\\$&");var C=[];var n=[];y=y.replace(/%[a-z]/gi,function(e){switch(e){case"%d":case"%m":case"%y":case"%h":case"%H":case"%i":case"%s":n.push(e);return"(\\d{2})";case"%D":case"%l":case"%M":case"%F":n.push(e);return"([a-z??????\u0430-\u044F\u0451]{1,})";case"%j":case"%n":case"%g":case"%G":n.push(e);return"(\\d{1,2})";case"%Y":n.push(e);return"(\\d{4})";case"%a":n.push(e);return"([a|p]m)";case"%A":n.push(e);return"([A|P]M)";case"%u":n.push(e);return"(\\d{1,6})";case"%P":n.push(e);return"([+-]\\d{1,2}:\\d{1,2})"}return e});var E=new RegExp(y,"i");var o=j.match(E);if(o==null||o.length-1!=n.length){return"Invalid Date"}for(var c=1;c=0){a.setMonth(l)}break;case"%y":if(!isNaN(C[c])){var A=Number(C[c]);a.setFullYear(A+(A>50?1900:2000))}break;case"%g":case"%h":if(!isNaN(C[c])){var A=Number(C[c]);if(A<=12&&A>=0){a.setHours(A+(u("pm",C)>=0?(A==12?0:12):(A==12?-12:0)))}}break;case"%P":if(window.dhx4.temp_calendar!=null){window.dhx4.temp_calendar.tz=C[c]}break}}return a}}if(typeof(window.dhx4.ajax)=="undefined"){window.dhx4.ajax=function(c){return dhx4.ajax.get(c)};var ajaxbase={cache:false,method:"get",parse:function(a){if(typeof a!=="string"){return a}a=a.replace(/^[\s]+/,"");if(window.DOMParser&&!dhx4.isIE){var c=(new window.DOMParser()).parseFromString(a,"text/xml")}else{if(window.ActiveXObject!==window.undefined){var c=new window.ActiveXObject("Microsoft.XMLDOM");c.async="false";c.loadXML(a)}}return c},xmltop:function(a,h,g){if(typeof h.status=="undefined"||h.status<400){xml=(!h.responseXML)?dhx4.ajax.parse(h.responseText||h):(h.responseXML||h);if(xml&&xml.documentElement!==null){try{if(!xml.getElementsByTagName("parsererror").length){return xml.getElementsByTagName(a)[0]}}catch(c){}}}if(g!==-1){dhx4.callEvent("onLoadXMLError",["Incorrect XML",arguments[1],g])}return document.createElement("DIV")},xpath:function(g,a){if(!a.nodeName){a=a.responseXML||a}if(dhx4.isIE){try{return a.selectNodes(g)||[]}catch(j){return[]}}else{var h=[];var l;var c=(a.ownerDocument||a).evaluate(g,a,null,XPathResult.ANY_TYPE,null);while(l=c.iterateNext()){h.push(l)}return h}},query:function(a){return dhx4.ajax._call((a.method||"GET"),a.url,a.data||"",(a.async||true),a.callback,null,a.headers)},get:function(a,c){return this._call("GET",a,null,true,c)},getSync:function(a){return this._call("GET",a,null,false)},put:function(c,a,e){return this._call("PUT",c,a,true,e)},del:function(c,a,e){return this._call("DELETE",c,a,true,e)},post:function(c,a,e){if(arguments.length==1){a=""}else{if(arguments.length==2&&(typeof(a)=="function"||typeof(window[a])=="function")){e=a;a=""}else{if(!a||typeof a!=="object"){a=String(a)}}}return this._call("POST",c,a,true,e)},postSync:function(c,a){a=(a==null?"":String(a));return this._call("POST",c,a,false)},getLong:function(a,c){this._call("GET",a,null,true,c,{url:a})},postLong:function(c,a,e){if(arguments.length==2&&(typeof(a)=="function"||typeof(window[a]))){e=a;a=""}this._call("POST",c,a,true,e,{url:c,postData:a})},_call:function(c,e,g,m,o,u,j){if(typeof g==="object"){var l=[];for(var q in g){l.push(q+"="+encodeURIComponent(g[q]))}g=l.join("&")}var h=dhx.promise.defer();var s=(window.XMLHttpRequest&&!dhx4.isIE?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));var n=(navigator.userAgent.match(/AppleWebKit/)!=null&&navigator.userAgent.match(/Qt/)!=null&&navigator.userAgent.match(/Safari/)!=null);if(m==true){s.onreadystatechange=function(){if((s.readyState==4)||(n==true&&s.readyState==3)){if(s.status!=200||s.responseText==""){h.reject(s);if(!dhx4.callEvent("onAjaxError",[{xmlDoc:s,filePath:e,async:m}])){return}}window.setTimeout(function(){if(typeof(o)=="function"){try{o.apply(window,[{xmlDoc:s,filePath:e,async:m}])}catch(a){h.reject(a)}}if(u!=null){if(typeof(u.postData)!="undefined"){dhx4.ajax.postLong(u.url,u.postData,o)}else{dhx4.ajax.getLong(u.url,o)}}h.resolve(s.responseText);o=null;s=null},1)}}}if(c=="GET"){e+=this._dhxr(e)}s.open(c,e,m);if(j!=null){for(var r in j){s.setRequestHeader(r,j[r])}}else{if(c=="POST"||c=="PUT"||c=="DELETE"){s.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}else{if(c=="GET"){g=null}}}s.setRequestHeader("X-Requested-With","XMLHttpRequest");s.send(g);if(m!=true){if((s.readyState==4)||(n==true&&s.readyState==3)){if(s.status!=200||s.responseText==""){dhx4.callEvent("onAjaxError",[{xmlDoc:s,filePath:e,async:m}])}}}h.xmlDoc=s;h.filePath=e;h.async=m;return h},_dhxr:function(a,c){if(this.cache!=true){if(a.match(/^[\?\&]$/)==null){a=(a.indexOf("?")>=0?"&":"?")}if(typeof(c)=="undefined"){c=true}return a+"dhxr"+new Date().getTime()+(c==true?"=1":"")}return""}};for(var key in ajaxbase){dhx4.ajax[key]=ajaxbase[key]}}if(typeof(window.dhx4._enableDataLoading)=="undefined"){window.dhx4._enableDataLoading=function(l,e,j,h,m){if(m=="clear"){for(var c in l._dhxdataload){l._dhxdataload[c]=null;delete l._dhxdataload[c]}l._loadData=null;l._dhxdataload=null;l.load=null;l.loadStruct=null;l=null;return}l._dhxdataload={initObj:e,xmlToJson:j,xmlRootTag:h,onBeforeXLS:null};l._loadData=function(s,u,v){if(arguments.length==2){v=u;u=null}var r=null;if(arguments.length==3){v=arguments[2]}this.callEvent("onXLS",[]);if(typeof(s)=="string"){var q=s.replace(/^\s{1,}/,"").replace(/\s{1,}$/,"");var y=new RegExp("^<"+this._dhxdataload.xmlRootTag);if(y.test(q.replace(/^<\?xml[^\?]*\?>\s*/,""))){r=dhx4.ajax.parse(s);if(r!=null){r=this[this._dhxdataload.xmlToJson].apply(this,[r])}}if(r==null&&(q.match(/^[\s\S]*{[.\s\S]*}[\s\S]*$/)!=null||q.match(/^[\s\S]*\[[.\s\S]*\][\s\S]*$/)!=null)){r=dhx4.s2j(q)}if(r==null){var o=[];if(typeof(this._dhxdataload.onBeforeXLS)=="function"){var q=this._dhxdataload.onBeforeXLS.apply(this,[s]);if(q!=null&&typeof(q)=="object"){if(q.url!=null){s=q.url}if(q.params!=null){for(var w in q.params){o.push(w+"="+encodeURIComponent(q.params[w]))}}}}var x=this;var n=function(a){var A=null;if((a.xmlDoc.getResponseHeader("Content-Type")||"").search(/xml/gi)>=0||(a.xmlDoc.responseText.replace(/^\s{1,}/,"")).match(/^0?(s.indexOf("?")>0?"&":"?")+o:""),n)}}return}}else{if(typeof(s.documentElement)=="object"||(typeof(s.tagName)!="undefined"&&typeof(s.getElementsByTagName)!="undefined"&&s.getElementsByTagName(this._dhxdataload.xmlRootTag).length>0)){r=this[this._dhxdataload.xmlToJson].apply(this,[s])}else{r=window.dhx4._copyObj(s)}}if(r!=null){this[this._dhxdataload.initObj].apply(this,[r])}this.callEvent("onXLE",[]);if(v!=null){if(typeof(v)=="function"){v.apply(this,[])}else{if(typeof(window[v])=="function"){window[v].apply(this,[])}}v=null}};if(m!=null){var g={struct:"loadStruct",data:"load"};for(var c in m){if(m[c]==true){l[g[c]]=function(){return this._loadData.apply(this,arguments)}}}}l=null}}if(typeof(window.dhx4._eventable)=="undefined"){window.dhx4._eventable=function(a,c){if(c=="clear"){a.detachAllEvents();a.dhxevs=null;a.attachEvent=null;a.detachEvent=null;a.checkEvent=null;a.callEvent=null;a.detachAllEvents=null;a=null;return}a.dhxevs={data:{}};a.attachEvent=function(e,h){e=String(e).toLowerCase();if(!this.dhxevs.data[e]){this.dhxevs.data[e]={}}var g=window.dhx4.newId();this.dhxevs.data[e][g]=h;return g};a.detachEvent=function(j){for(var g in this.dhxevs.data){var h=0;for(var e in this.dhxevs.data[g]){if(e==j){this.dhxevs.data[g][e]=null;delete this.dhxevs.data[g][e]}else{h++}}if(h==0){this.dhxevs.data[g]=null;delete this.dhxevs.data[g]}}};a.checkEvent=function(e){e=String(e).toLowerCase();return(this.dhxevs.data[e]!=null)};a.callEvent=function(g,j){g=String(g).toLowerCase();if(this.dhxevs.data[g]==null){return true}var h=true;for(var e in this.dhxevs.data[g]){h=this.dhxevs.data[g][e].apply(this,j)&&h}return h};a.detachAllEvents=function(){for(var g in this.dhxevs.data){for(var e in this.dhxevs.data[g]){this.dhxevs.data[g][e]=null;delete this.dhxevs.data[g][e]}this.dhxevs.data[g]=null;delete this.dhxevs.data[g]}};a=null};dhx4._eventable(dhx4)}if(!window.dhtmlxValidation){dhtmlxValidation=function(){};dhtmlxValidation.prototype={isEmpty:function(a){return a==""},isNotEmpty:function(a){return(a instanceof Array?a.length>0:!a=="")},isValidBoolean:function(a){return !!a.toString().match(/^(0|1|true|false)$/)},isValidEmail:function(a){return !!a.toString().match(/^[a-z0-9][0-9a-z\-_\.]*@[0-9a-z_\-\.]*\.[a-z]{2,5}$/i)},isValidInteger:function(a){return !!a.toString().match(/(^-?\d+$)/)},isValidNumeric:function(a){return !!a.toString().match(/(^-?\d\d*[\.|,]\d*$)|(^-?\d\d*$)|(^-?[\.|,]\d\d*$)/)},isValidAplhaNumeric:function(a){return !!a.toString().match(/^[_\-a-z0-9]+$/gi)},isValidDatetime:function(c){var a=c.toString().match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})$/);return a&&!!(a[1]<=9999&&a[2]<=12&&a[3]<=31&&a[4]<=59&&a[5]<=59&&a[6]<=59)||false},isValidDate:function(a){var c=a.toString().match(/^(\d{4})-(\d{2})-(\d{2})$/);return c&&!!(c[1]<=9999&&c[2]<=12&&c[3]<=31)||false},isValidTime:function(c){var a=c.toString().match(/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/);return a&&!!(a[1]<=24&&a[2]<=59&&a[3]<=59)||false},isValidIPv4:function(a){var c=a.toString().match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);return c&&!!(c[1]<=255&&c[2]<=255&&c[3]<=255&&c[4]<=255)||false},isValidCurrency:function(a){return a.toString().match(/^\$?\s?\d+?([\.,\,]?\d+)?\s?\$?$/)&&true||false},isValidSSN:function(a){return a.toString().match(/^\d{3}\-?\d{2}\-?\d{4}$/)&&true||false},isValidSIN:function(a){return a.toString().match(/^\d{9}$/)&&true||false}};dhtmlxValidation=new dhtmlxValidation()}if(typeof(window.dhtmlx)=="undefined"){window.dhtmlx={}}if(!window.dhtmlx.extend){window.dhtmlx.extend=function(e,c){for(var g in c){if(!e[g]){e[g]=c[g]}}return e};window.dhtmlx.extend_api=function(a,g,e){var c=window[a];if(!c){return}window[a]=function(l){if(l&&typeof l=="object"&&!l.tagName){var j=c.apply(this,(g._init?g._init(l):arguments));for(var h in dhtmlx){if(g[h]){this[g[h]](dhtmlx[h])}}for(var h in l){if(g[h]){this[g[h]](l[h])}else{if(h.indexOf("on")===0){this.attachEvent(h,l[h])}}}}else{var j=c.apply(this,arguments)}if(g._patch){g._patch(this)}return j||this};window[a].prototype=c.prototype;if(e){dhtmlx.extend(window[a].prototype,e)}};window.dhtmlx.url=function(a){if(a.indexOf("?")!=-1){return"&"}else{return"?"}}}function dhtmlDragAndDropObject(){if(window.dhtmlDragAndDrop){return window.dhtmlDragAndDrop}this.lastLanding=0;this.dragNode=0;this.dragStartNode=0;this.dragStartObject=0;this.tempDOMU=null;this.tempDOMM=null;this.waitDrag=0;window.dhtmlDragAndDrop=this;return this}dhtmlDragAndDropObject.prototype.removeDraggableItem=function(a){a.onmousedown=null;a.dragStarter=null;a.dragLanding=null};dhtmlDragAndDropObject.prototype.addDraggableItem=function(a,c){a.onmousedown=this.preCreateDragCopy;a.dragStarter=c;this.addDragLanding(a,c)};dhtmlDragAndDropObject.prototype.addDragLanding=function(a,c){a.dragLanding=c};dhtmlDragAndDropObject.prototype.preCreateDragCopy=function(a){if((a||window.event)&&(a||event).button==2){return}if(window.dhtmlDragAndDrop.waitDrag){window.dhtmlDragAndDrop.waitDrag=0;document.body.onmouseup=window.dhtmlDragAndDrop.tempDOMU;document.body.onmousemove=window.dhtmlDragAndDrop.tempDOMM;return false}if(window.dhtmlDragAndDrop.dragNode){window.dhtmlDragAndDrop.stopDrag(a)}window.dhtmlDragAndDrop.waitDrag=1;window.dhtmlDragAndDrop.tempDOMU=document.body.onmouseup;window.dhtmlDragAndDrop.tempDOMM=document.body.onmousemove;window.dhtmlDragAndDrop.dragStartNode=this;window.dhtmlDragAndDrop.dragStartObject=this.dragStarter;document.body.onmouseup=window.dhtmlDragAndDrop.preCreateDragCopy;document.body.onmousemove=window.dhtmlDragAndDrop.callDrag;window.dhtmlDragAndDrop.downtime=new Date().valueOf();if((a)&&(a.preventDefault)){a.preventDefault();return false}return false};dhtmlDragAndDropObject.prototype.callDrag=function(g){if(!g){g=window.event}dragger=window.dhtmlDragAndDrop;if((new Date()).valueOf()-dragger.downtime<100){return}if(!dragger.dragNode){if(dragger.waitDrag){dragger.dragNode=dragger.dragStartObject._createDragNode(dragger.dragStartNode,g);if(!dragger.dragNode){return dragger.stopDrag()}dragger.dragNode.onselectstart=function(){return false};dragger.gldragNode=dragger.dragNode;document.body.appendChild(dragger.dragNode);document.body.onmouseup=dragger.stopDrag;dragger.waitDrag=0;dragger.dragNode.pWindow=window;dragger.initFrameRoute()}else{return dragger.stopDrag(g,true)}}if(dragger.dragNode.parentNode!=window.document.body&&dragger.gldragNode){var a=dragger.gldragNode;if(dragger.gldragNode.old){a=dragger.gldragNode.old}a.parentNode.removeChild(a);var c=dragger.dragNode.pWindow;if(a.pWindow&&a.pWindow.dhtmlDragAndDrop.lastLanding){a.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(a.pWindow.dhtmlDragAndDrop.lastLanding)}if(_isIE){var j=document.createElement("Div");j.innerHTML=dragger.dragNode.outerHTML;dragger.dragNode=j.childNodes[0]}else{dragger.dragNode=dragger.dragNode.cloneNode(true)}dragger.dragNode.pWindow=window;dragger.gldragNode.old=dragger.dragNode;document.body.appendChild(dragger.dragNode);c.dhtmlDragAndDrop.dragNode=dragger.dragNode}dragger.dragNode.style.left=g.clientX+15+(dragger.fx?dragger.fx*(-1):0)+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px";dragger.dragNode.style.top=g.clientY+3+(dragger.fy?dragger.fy*(-1):0)+(document.body.scrollTop||document.documentElement.scrollTop)+"px";if(!g.srcElement){var h=g.target}else{h=g.srcElement}dragger.checkLanding(h,g)};dhtmlDragAndDropObject.prototype.calculateFramePosition=function(h){if(window.name){var e=parent.frames[window.name].frameElement.offsetParent;var g=0;var c=0;while(e){g+=e.offsetLeft;c+=e.offsetTop;e=e.offsetParent}if((parent.dhtmlDragAndDrop)){var a=parent.dhtmlDragAndDrop.calculateFramePosition(1);g+=a.split("_")[0]*1;c+=a.split("_")[1]*1}if(h){return g+"_"+c}else{this.fx=g}this.fy=c}return"0_0"};dhtmlDragAndDropObject.prototype.checkLanding=function(c,a){if((c)&&(c.dragLanding)){if(this.lastLanding){this.lastLanding.dragLanding._dragOut(this.lastLanding)}this.lastLanding=c;this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding,this.dragStartNode,a.clientX,a.clientY,a);this.lastLanding_scr=(_isIE?a.srcElement:a.target)}else{if((c)&&(c.tagName!="BODY")){this.checkLanding(c.parentNode,a)}else{if(this.lastLanding){this.lastLanding.dragLanding._dragOut(this.lastLanding,a.clientX,a.clientY,a)}this.lastLanding=0;if(this._onNotFound){this._onNotFound()}}}};dhtmlDragAndDropObject.prototype.stopDrag=function(c,g){dragger=window.dhtmlDragAndDrop;if(!g){dragger.stopFrameRoute();var a=dragger.lastLanding;dragger.lastLanding=null;if(a){a.dragLanding._drag(dragger.dragStartNode,dragger.dragStartObject,a,(_isIE?event.srcElement:c.target))}}dragger.lastLanding=null;if((dragger.dragNode)&&(dragger.dragNode.parentNode==document.body)){dragger.dragNode.parentNode.removeChild(dragger.dragNode)}dragger.dragNode=0;dragger.gldragNode=0;dragger.fx=0;dragger.fy=0;dragger.dragStartNode=0;dragger.dragStartObject=0;document.body.onmouseup=dragger.tempDOMU;document.body.onmousemove=dragger.tempDOMM;dragger.tempDOMU=null;dragger.tempDOMM=null;dragger.waitDrag=0};dhtmlDragAndDropObject.prototype.stopFrameRoute=function(g){if(g){window.dhtmlDragAndDrop.stopDrag(1,1)}for(var a=0;a-1){_isChrome=true}if((navigator.userAgent.indexOf("Safari")!=-1)||(navigator.userAgent.indexOf("Konqueror")!=-1)){_KHTMLrv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Safari")+7,5));if(_KHTMLrv>525){_isFF=true;_FFrv=1.9}else{_isKHTML=true}}else{if(navigator.userAgent.indexOf("Opera")!=-1){_isOpera=true;_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Opera")+6,3))}else{if(navigator.appName.indexOf("Microsoft")!=-1){_isIE=true;if((navigator.appVersion.indexOf("MSIE 8.0")!=-1||navigator.appVersion.indexOf("MSIE 9.0")!=-1||navigator.appVersion.indexOf("MSIE 10.0")!=-1||document.documentMode>7)&&document.compatMode!="BackCompat"){_isIE=8}}else{if(navigator.appName=="Netscape"&&navigator.userAgent.indexOf("Trident")!=-1){_isIE=8}else{_isFF=true;_FFrv=parseFloat(navigator.userAgent.split("rv:")[1])}}}}if(typeof(window.dhtmlxEvent)=="undefined"){window.dhtmlxEvent=function(c,e,a){if(c.addEventListener){c.addEventListener(e,a,false)}else{if(c.attachEvent){c.attachEvent("on"+e,a)}}}}if(dhtmlxEvent.touchDelay==null){dhtmlxEvent.touchDelay=2000}if(typeof(dhtmlxEvent.initTouch)=="undefined"){dhtmlxEvent.initTouch=function(){var g;var h;var c,a;dhtmlxEvent(document.body,"touchstart",function(j){h=j.touches[0].target;c=j.touches[0].clientX;a=j.touches[0].clientY;g=window.setTimeout(e,dhtmlxEvent.touchDelay)});function e(){if(h){var j=document.createEvent("HTMLEvents");j.initEvent("dblclick",true,true);h.dispatchEvent(j);g=h=null}}dhtmlxEvent(document.body,"touchmove",function(j){if(g){if(Math.abs(j.touches[0].clientX-c)>50||Math.abs(j.touches[0].clientY-a)>50){window.clearTimeout(g);g=h=false}}});dhtmlxEvent(document.body,"touchend",function(j){if(g){window.clearTimeout(g);g=h=false}});dhtmlxEvent.initTouch=function(){}}}(function(c){var e=typeof setImmediate!=="undefined"?setImmediate:function(h){setTimeout(h,0)};function g(j,l){var h=this;h.promise=h;h.state="pending";h.val=null;h.fn=j||null;h.er=l||null;h.next=[]}g.prototype.resolve=function(j){var h=this;if(h.state==="pending"){h.val=j;h.state="resolving";e(function(){h.fire()})}};g.prototype.reject=function(j){var h=this;if(h.state==="pending"){h.val=j;h.state="rejecting";e(function(){h.fire()})}};g.prototype.then=function(j,m){var h=this;var l=new g(j,m);h.next.push(l);if(h.state==="resolved"){l.resolve(h.val)}if(h.state==="rejected"){l.reject(h.val)}return l};g.prototype.fail=function(h){return this.then(null,h)};g.prototype.finish=function(l){var h=this;h.state=l;if(h.state==="resolved"){for(var j=0;j=0){return true}return false};dhtmlx.assert_rule_dimension.describe=function(){return"{Integer} value must be a positive number"};dhtmlx.assert_rule_number=function(a){if(typeof a=="number"){return true}return false};dhtmlx.assert_rule_number.describe=function(){return"{Integer} value must be a number"};dhtmlx.assert_rule_function=function(a){if(typeof a=="function"){return true}return false};dhtmlx.assert_rule_function.describe=function(){return"{Function} value must be a custom function"};dhtmlx.assert_rule_any=function(a){return true};dhtmlx.assert_rule_any.describe=function(){return"Any value"};dhtmlx.assert_rule_mix=function(e,c){var g=function(a){if(e(a)||c(a)){return true}return false};g.describe=function(){return e.describe()};return g}}dhtmlx.codebase="./";dhtmlx.copy=function(c){var a=dhtmlx.copy._function;a.prototype=c;return new a()};dhtmlx.copy._function=function(){};dhtmlx.extend=function(c,a){for(var e in a){c[e]=a[e]}if(dhtmlx.assert_enabled()&&a._assert){c._assert();c._assert=null}dhtmlx.assert(c,"Invalid nesting target");dhtmlx.assert(a,"Invalid nesting source");if(a._init){c._init()}return c};dhtmlx.proto_extend=function(){var j=arguments;var e=j[0];var c=[];for(var h=j.length-1;h>0;h--){if(typeof j[h]=="function"){j[h]=j[h].prototype}for(var g in j[h]){if(g=="_init"){c.push(j[h][g])}else{if(!e[g]){e[g]=j[h][g]}}}}if(j[0]._init){c.push(j[0]._init)}e._init=function(){for(var l=0;l=0){this.splice(c,(a||1))}},remove:function(a){this.removeAt(this.find(a))},insertAt:function(c,e){if(!e&&e!==0){this.push(c)}else{var a=this.splice(e,(this.length-e));this[e]=c;this.push.apply(this,a)}},find:function(c){for(var a=0;ae){var c=e;e=g;g=c}return this.getIndexRange(g,e)},getIndexRange:function(g,e){e=Math.min((e||Infinity),this.dataCount()-1);var a=dhtmlx.toArray();for(var c=(g||0);c<=e;c++){a.push(this.item(this.order[c]))}return a},dataCount:function(){return this.order.length},exists:function(a){return !!(this.pull[a])},move:function(a,g){if(a<0||g<0){dhtmlx.error("DataStore::move","Incorrect indexes");return}var e=this.idByIndex(a);var c=this.item(e);this.order.removeAt(a);this.order.insertAt(e,Math.min(this.order.length,g));this.callEvent("onStoreUpdated",[e,c,"move"])},scheme:function(a){this._scheme=a},sync:function(h,g,a){if(typeof g!="function"){a=g;g=null}if(dhtmlx.debug_bind){this.debug_sync_master=h;dhtmlx.log("[sync] "+this.debug_bind_master.name+"@"+this.debug_bind_master._settings.id+" <= "+this.debug_sync_master.name+"@"+this.debug_sync_master._settings.id)}var e=h;if(h.name!="DataStore"){h=h.data}var c=dhtmlx.bind(function(m,j,l){if(l!="update"||g){m=null}if(!m){this.order=dhtmlx.toArray([].concat(h.order));this._filter_order=null;this.pull=h.pull;if(g){this.silent(g)}if(this._on_sync){this._on_sync()}}if(dhtmlx.debug_bind){dhtmlx.log("[sync:request] "+this.debug_sync_master.name+"@"+this.debug_sync_master._settings.id+" <= "+this.debug_bind_master.name+"@"+this.debug_bind_master._settings.id)}if(!a){this.refresh(m)}else{a=false}},this);h.attachEvent("onStoreUpdated",c);this.feed=function(l,j){e.loadNext(j,l)};c()},add:function(h,a){if(this._scheme){h=h||{};for(var c in this._scheme){h[c]=h[c]||this._scheme[c]}if(this._scheme){if(this._scheme.$init){this._scheme.$update(h)}else{if(this._scheme.$update){this._scheme.$update(h)}}}}var j=this.id(h);var g=this.dataCount();if(dhtmlx.isNotDefined(a)||a<0){a=g}if(a>g){dhtmlx.log("Warning","DataStore:add","Index of out of bounds");a=Math.min(this.order.length,a)}if(this.callEvent("onBeforeAdd",[j,h,a])===false){return false}if(this.exists(j)){return dhtmlx.error("Not unique ID")}this.pull[j]=h;this.order.insertAt(j,a);if(this._filter_order){var e=this._filter_order.length;if(!a&&this.order.length){e=0}this._filter_order.insertAt(j,e)}this.callEvent("onafterAdd",[j,a]);this.callEvent("onStoreUpdated",[j,h,"add"]);return j},remove:function(e){if(e instanceof Array){for(var a=0;a=this.order.length||a<0){dhtmlx.log("Warning","DataStore::idByIndex Incorrect index")}return this.order[a]},indexById:function(c){var a=this.order.find(c);return a},next:function(c,a){return this.order[this.indexById(c)+(a||1)]},first:function(){return this.order[0]},last:function(){return this.order[this.order.length-1]},previous:function(c,a){return this.order[this.indexById(c)-(a||1)]},sort:function(j,c,a){var e=j;if(typeof j=="function"){e={as:j,dir:c}}else{if(typeof j=="string"){e={by:j,dir:c,as:a}}}var h=[e.by,e.dir,e.as];if(!this.callEvent("onbeforesort",h)){return}if(this.order.length){var l=dhtmlx.sort.create(e);var g=this.getRange(this.first(),this.last());g.sort(l);this.order=g.map(function(m){return this.id(m)},this)}this.refresh();this.callEvent("onaftersort",h)},filter:function(h,g){if(!this.callEvent("onBeforeFilter",[h,g])){return}if(this._filter_order){this.order=this._filter_order;delete this._filter_order}if(!this.order.length){return}if(h){var c=h;g=g||"";if(typeof h=="string"){h=dhtmlx.Template.fromHTML(h);g=g.toString().toLowerCase();c=function(m,l){return h(m).toLowerCase().indexOf(l)!=-1}}var e=dhtmlx.toArray();for(var a=0;ac?1:(ec?1:(ec?1:(e")!=-1){c=c.split("->");switch(c[0]){case"html":c=dhtmlx.html.getValue(c[1]).replace(/\"/g,'\\"');break;case"http":c=new dhtmlx.ajax().sync().get(c[1],{uid:(new Date()).valueOf()}).responseText;break;default:break}}e[a]=dhtmlx.Template.fromHTML(c)}}};dhtmlx.SingleRender={_init:function(){},_toHTML:function(a){return this.type._item_start(a,this.type)+this.type.template(a,this.type)+this.type._item_end},render:function(){if(!this.callEvent||this.callEvent("onBeforeRender",[this.data])){if(this.data){this._dataobj.innerHTML=this._toHTML(this.data)}if(this.callEvent){this.callEvent("onAfterRender",[])}}}};dhtmlx.ui.Tooltip=function(a){this.name="Tooltip";if(dhtmlx.assert_enabled()){this._assert()}if(typeof a=="string"){a={template:a}}dhtmlx.extend(this,dhtmlx.Settings);dhtmlx.extend(this,dhtmlx.SingleRender);this._parseSettings(a,{type:"default",dy:0,dx:20});this._dataobj=this._obj=document.createElement("DIV");this._obj.className="dhx_tooltip";dhtmlx.html.insertBefore(this._obj,document.body.firstChild)};dhtmlx.ui.Tooltip.prototype={show:function(a,c){if(this._disabled){return}if(this.data!=a){this.data=a;this.render(a)}this._obj.style.top=c.y+this._settings.dy+"px";this._obj.style.left=c.x+this._settings.dx+"px";this._obj.style.display="block"},hide:function(){this.data=null;this._obj.style.display="none"},disable:function(){this._disabled=true},enable:function(){this._disabled=false},types:{"default":dhtmlx.Template.fromHTML("{obj.id}")},template_item_start:dhtmlx.Template.empty,template_item_end:dhtmlx.Template.empty};dhtmlx.AutoTooltip={tooltip_setter:function(c){var a=new dhtmlx.ui.Tooltip(c);this.attachEvent("onMouseMove",function(h,g){a.show(this.get(h),dhtmlx.html.pos(g))});this.attachEvent("onMouseOut",function(h,g){a.hide()});this.attachEvent("onMouseMoving",function(h,g){a.hide()});return a}};dhtmlx.compat=function(a,c){if(dhtmlx.compat[a]){dhtmlx.compat[a](c)}};if(!dhtmlx.attaches){dhtmlx.attaches={}}dhtmlx.attaches.attachAbstract=function(c,a){var h=document.createElement("DIV");h.id="CustomObject_"+dhtmlx.uid();h.style.width="100%";h.style.height="100%";h.cmp="grid";document.body.appendChild(h);this.attachObject(h.id);a.container=h.id;var g=this.vs[this.av];g.grid=new window[c](a);g.gridId=h.id;g.gridObj=h;g.grid.setSizes=function(){if(this.resize){this.resize()}else{this.render()}};var e="_viewRestore";return this.vs[this[e]()].grid};dhtmlx.attaches.attachDataView=function(a){return this.attachAbstract("dhtmlXDataView",a)};dhtmlx.attaches.attachChart=function(a){return this.attachAbstract("dhtmlXChart",a)};dhtmlx.compat.layout=function(){};function dhtmlXCellObject(e,a){this.cell=document.createElement("DIV");this.cell.className="dhx_cell"+(a||"");this._idd=e;this._isCell=true;this.conf={borders:true,idx:{},css:a||"",idx_data:{cont:"dhx_cell_cont",pr1:"dhx_cell_progress_bar",pr2:"dhx_cell_progress_img",pr3:"dhx_cell_progress_svg",menu:"dhx_cell_menu",toolbar:"dhx_cell_toolbar",ribbon:"dhx_cell_ribbon",sb:"dhx_cell_statusbar",cover:"dhx_cell_cover"},ofs_nodes:{t:{},b:{}}};this.dataNodes={};this.views={};var c=document.createElement("DIV");c.className="dhx_cell_cont"+this.conf.css;this.cell.appendChild(c);c=null;this._updateIdx=function(){for(var g in this.conf.idx){this.conf.idx[g]=null;delete this.conf.idx[g]}for(var l=0;l0){this.views[j].cellCont.push(l.firstChild);l.removeChild(l.firstChild)}l=null;this.dataType=null;this.dataObj=null;this.conf.url_data=null;for(var h in this.dataNodes){for(var g in this.conf.ofs_nodes){if(typeof(this.conf.ofs_nodes[g][h])!="undefined"){this.views[j].ofs_nodes[g][h]=this.conf.ofs_nodes[g][h];this.conf.ofs_nodes[g][h]=null;delete this.conf.ofs_nodes[g][h]}}this.views[j].dataNodesCont[h]=this.cell.childNodes[this.conf.idx[h]];this.cell.removeChild(this.cell.childNodes[this.conf.idx[h]]);this.views[j].dataNodes[h]=this.dataNodes[h];this.dataNodes[h]=null;delete this.dataNodes[h];this._updateIdx()}this.callEvent("_onViewSave",[j])};this._viewRestore=function(j){if(this.views[j]==null){return}this.dataObj=this.views[j].dataObj;this.dataType=this.views[j].dataType;this.conf.url_data=this.views[j].url_data;for(var l=0;l'}else{a.className=this.conf.idx_data.pr2}if(this.conf.idx.cover!=null){this.cell.insertBefore(a,this.cell.childNodes[this.conf.idx.cover])}else{this.cell.appendChild(a)}this.cell.insertBefore(c,a);c=a=null;this._updateIdx();this._adjustProgress()};dhtmlXCellObject.prototype.progressOff=function(){if(this.conf.progress!=true){return}for(var c in {pr3:3,pr2:2,pr1:1}){var e=this.cell.childNodes[this.conf.idx[c]];if(e!=null){e.parentNode.removeChild(e)}e=null}this.conf.progress=false;this._updateIdx()};dhtmlXCellObject.prototype._adjustProgress=function(){if(this.conf.idx.pr1==null){return}if(!this.conf.pr){this.conf.pr={}}var c=this.cell.childNodes[this.conf.idx.pr1];var a=this.cell.childNodes[this.conf.idx.pr2]||this.cell.childNodes[this.conf.idx.pr3];if(!this.conf.pr.ofs){a.style.width=c.offsetWidth+"px";a.style.height=c.offsetHeight+"px";this.conf.pr.ofs={w:a.offsetWidth-a.clientWidth,h:a.offsetHeight-a.clientHeight}}a.style.width=c.offsetWidth-this.conf.pr.ofs.w+"px";a.style.height=c.offsetHeight-this.conf.pr.ofs.h+"px";c=a=null};dhtmlXCellObject.prototype._showCellCover=function(){if(this.conf.cover==true){return}this.conf.cover=true;var a=document.createElement("DIV");a.className=this.conf.idx_data.cover;this.cell.appendChild(a);a=null;this._updateIdx()};dhtmlXCellObject.prototype._hideCellCover=function(){if(this.conf.cover!=true){return}this.cell.removeChild(this.cell.childNodes[this.conf.idx.cover]);this._updateIdx();this.conf.cover=false};dhtmlXCellObject.prototype._showBorders=function(a){if(this.conf.borders){return}this.conf.borders=true;this.cell.childNodes[this.conf.idx.cont].className="dhx_cell_cont"+this.conf.css;this.conf.cells_cont=null;this._mtbUpdBorder();this.callEvent("_onBorderChange",[true]);if(a!==true){this._adjustCont(this._idd)}};dhtmlXCellObject.prototype._hideBorders=function(a){if(!this.conf.borders){return}this.conf.borders=false;this.cell.childNodes[this.conf.idx.cont].className="dhx_cell_cont"+this.conf.css+" dhx_cell_cont_no_borders";this.conf.cells_cont=null;this._mtbUpdBorder();this.callEvent("_onBorderChange",[false]);if(a!==true){this._adjustCont(this._idd)}};dhtmlXCellObject.prototype._getWidth=function(){return this.cell.offsetWidth};dhtmlXCellObject.prototype._getHeight=function(){return this.cell.offsetHeight};dhtmlXCellObject.prototype.showInnerScroll=function(){this.cell.childNodes[this.conf.idx.cont].style.overflow="auto"};dhtmlXCellObject.prototype._unload=function(){this.conf.unloading=true;this.callEvent("_onCellUnload",[]);this.progressOff();this.unloadView(this.conf.view);this.dataNodes=null;this.cell.parentNode.removeChild(this.cell);this.cell=null;window.dhx4._eventable(this,"clear");for(var c in this.views){this.unloadView(c)}this.conf=null;for(var c in this){this[c]=null}};dhtmlXCellObject.prototype.attachObject=function(g,e){if(window.dhx4.s2b(e)&&!(typeof(window.dhtmlXWindowsCell)=="function"&&this instanceof window.dhtmlXWindowsCell)){e=false}if(typeof(g)=="string"){g=document.getElementById(g)}if(g.parentNode==this.cell.childNodes[this.conf.idx.cont]){g=null;return}if(e){g.style.display="";var a=g.offsetWidth;var c=g.offsetHeight}this._attachObject(g);this.dataType="obj";g.style.display="";g=null;if(e){this._adjustByCont(a,c)}};dhtmlXCellObject.prototype.appendObject=function(a){if(typeof(a)=="string"){a=document.getElementById(a)}if(a.parentNode==this.cell.childNodes[this.conf.idx.cont]){a=null;return}if(!this.conf.append_mode){this.cell.childNodes[this.conf.idx.cont].style.overflow="auto";this.conf.append_mode=true}this._attachObject(a,null,null,true);this.dataType="obj";a.style.display="";a=null};dhtmlXCellObject.prototype.detachObject=function(c,a){this._detachObject(null,c,a)};dhtmlXCellObject.prototype.getAttachedStatusBar=function(){return this.dataNodes.sb};dhtmlXCellObject.prototype.getAttachedObject=function(){if(this.dataType=="obj"||this.dataType=="url"||this.dataType=="url-ajax"){return this.cell.childNodes[this.conf.idx.cont].firstChild}else{return this.dataObj}};dhtmlXCellObject.prototype.attachURL=function(c,r,g){if(g==true){g={}}var h=(typeof(g)!="undefined"&&g!=false&&g!=null);if(this.conf.url_data==null){this.conf.url_data={}}this.conf.url_data.url=c;this.conf.url_data.ajax=(r==true);this.conf.url_data.post_data=(g==true?{}:(g||null));if(this.conf.url_data.xml_doc!=null){try{this.conf.url_data.xml_doc.xmlDoc.abort()}catch(m){}this.conf.url_data.xml_doc.xmlDoc=null;this.conf.url_data.xml_doc=null}if(r==true){var q=this;if(h){var j="";for(var o in g){j+="&"+encodeURIComponent(o)+"="+encodeURIComponent(g[o])}this.conf.url_data.xml_doc=dhx4.ajax.post(c,j,function(a){if(q.attachHTMLString!=null&&typeof(a.xmlDoc.responseText)=="string"){q.attachHTMLString("
    "+a.xmlDoc.responseText+"
    ");if(typeof(q._doOnFrameContentLoaded)=="function"){q._doOnFrameContentLoaded()}q.dataType="url-ajax"}q=a=null})}else{this.conf.url_data.xml_doc=dhx4.ajax.get(c,function(a){if(q.attachHTMLString!=null&&typeof(a.xmlDoc.responseText)=="string"){q.attachHTMLString("
    "+a.xmlDoc.responseText+"
    ");if(typeof(q._doOnFrameContentLoaded)=="function"){q._doOnFrameContentLoaded()}q.dataType="url-ajax"}q=a=null})}}else{if(this.dataType=="url"){var l=this.getFrame()}else{var l=document.createElement("IFRAME");l.frameBorder=0;l.border=0;l.style.width="100%";l.style.height="100%";l.style.position="relative";this._attachObject(l);this.dataType="url";this._attachURLEvents()}if(h){var n=(typeof(this.conf.url_data.post_ifr)=="undefined");this.conf.url_data.post_ifr=true;if(n){this._attachURLEvents()}l.src="about:blank"}else{l.src=c+window.dhx4.ajax._dhxr(c)}l=null}l=null};dhtmlXCellObject.prototype.reloadURL=function(){if(!(this.dataType=="url"||this.dataType=="url-ajax")){return}if(this.conf.url_data==null){return}this.attachURL(this.conf.url_data.url,this.conf.url_data.ajax,this.conf.url_data.post_data)};dhtmlXCellObject.prototype.attachHTMLString=function(str){this._attachObject(null,null,str);var z=str.match(/]*>[^\f]*?<\/script>/g)||[];for(var i=0;i]*>/gi,"");if(s){if(window.execScript){window.execScript(s)}else{window.eval(s)}}}};dhtmlXCellObject.prototype.attachScheduler=function(a,l,c,g){g=g||window.scheduler;var h=false;if(c){var j=document.getElementById(c);if(j){h=true}}if(!h){var e=c||'
    ';var j=document.createElement("DIV");j.id="dhxSchedObj_"+new Date().getTime();j.style.width="100%";j.style.height="100%";j.style.position="relative";j.style.overflow="hidden";j.className="dhx_cal_container";j.innerHTML='
     
     
    '+e+'
    '}this._attachObject(j);this.dataType="scheduler";this.dataObj=g;this.dataObj.setSizes=function(){this.update_view()};g.init(j.id,a,l);j=null;this.callEvent("_onContentAttach",[]);return this.dataObj};dhtmlXCellObject.prototype.attachMap=function(a){var c=document.createElement("DIV");c.style.width="100%";c.style.height="100%";c.style.position="relative";c.style.overflow="hidden";this._attachObject(c);if(!a){a={center:new google.maps.LatLng(40.719837,-73.992348),zoom:11,mapTypeId:google.maps.MapTypeId.ROADMAP}}this.dataType="maps";this.dataObj=new google.maps.Map(c,a);this.dataObj.setSizes=function(){google.maps.event.trigger(this,"resize")};c=null;this.callEvent("_onContentAttach",[]);return this.dataObj};dhtmlXCellObject.prototype._createNode_sb=function(m,g,l,a,j){if(typeof(j)!="undefined"){m=j}else{var c=g||{};var n=(typeof(c.text)=="string"&&c.text.length>0?c.text:" ");var e=(typeof(c.height)=="number"?c.height:false);var m=document.createElement("DIV");m.className="dhx_cell_statusbar_def";m.innerHTML="
    "+n+"
    ";if(e!=false){m.firstChild.style.height=m.firstChild.style.lineHeight=e+"px"}}if(this.conf.idx.pr1!=null){this.cell.insertBefore(m,this.cell.childNodes[this.conf.idx.pr1])}else{this.cell.appendChild(m)}this.conf.ofs_nodes.b.sb=true;this._updateIdx();this._adjustCont(this._idd);return m};dhtmlXCellObject.prototype.attachStatusBar=function(a){if(this.dataNodes.sb){return}if(a!=null&&window.dhx4.s2b(a.paging)==true){a.height=null}if(this.conf.skin=="dhx_skyblue"&&typeof(window.dhtmlXWindowsCell)=="function"&&this instanceof window.dhtmlXWindowsCell){this.cell.childNodes[this.conf.idx.cont].className+=" dhx_cell_statusbar_attached"}this.dataNodes.sb=this._attachObject("sb",a);this.dataNodes.sb.setText=function(c){this.childNodes[0].innerHTML=c};this.dataNodes.sb.getText=function(){return this.childNodes[0].innerHTML};this.dataNodes.sb.onselectstart=function(c){return false};return this.dataNodes.sb};dhtmlXCellObject.prototype.detachStatusBar=function(){if(!this.dataNodes.sb){return}if(this.conf.skin=="dhx_skyblue"&&typeof(window.dhtmlXWindowsCell)=="function"&&this instanceof window.dhtmlXWindowsCell){this.cell.childNodes[this.conf.idx.cont].className=this.cell.childNodes[this.conf.idx.cont].className.replace(/\s{0,}dhx_cell_statusbar_attached/,"")}this.dataNodes.sb.setText=this.dataNodes.sb.getText=this.dataNodes.sb.onselectstart=null;this.dataNodes.sb=null;delete this.dataNodes.sb;this._detachObject("sb")};dhtmlXCellObject.prototype.showStatusBar=function(){this._mtbShowHide("sb","")};dhtmlXCellObject.prototype.hideStatusBar=function(){this._mtbShowHide("sb","none")};dhtmlXCellObject.prototype._mtbShowHide=function(c,a){if(!this.dataNodes[c]){return}this.cell.childNodes[this.conf.idx[c]].style.display=a;this._adjustCont()};dhtmlXCellObject.prototype.getFrame=dhtmlXCellObject.prototype._getFrame=function(){if(this.dataType!="url"){return null}return this.cell.childNodes[this.conf.idx.cont].firstChild};dhtmlXCellObject.prototype._attachURLEvents=function(){if(this.dataType!="url"){return}var e=this;var c=this._idd;var a=this.cell.childNodes[this.conf.idx.cont].firstChild;if(typeof(this._doOnFrameMouseDown)!="function"){this._doOnFrameMouseDown=function(g){e.callEvent("_onContentMouseDown",[c,g||event])}}if(typeof(window.addEventListener)=="function"){a.onload=function(){try{if(typeof(e._doOnFrameMouseDown)=="function"){this.contentWindow.document.body.addEventListener("mousedown",e._doOnFrameMouseDown,false)}}catch(g){}try{if(typeof(e._doOnFrameContentLoaded)=="function"){e._doOnFrameContentLoaded()}}catch(g){}}}else{a.onreadystatechange=function(g){if(this.readyState=="complete"){try{if(typeof(e._doOnFrameMouseDown)=="function"){this.contentWindow.document.body.attachEvent("onmousedown",e._doOnFrameMouseDown)}}catch(h){}try{if(typeof(e._doOnFrameContentLoaded)=="function"){e._doOnFrameContentLoaded()}}catch(h){}}}}};dhtmlXCellObject.prototype._doOnFrameContentLoaded=function(){if(this.conf.url_data.post_ifr==true){var j=this.getFrame().contentWindow.document;var h=j.createElement("FORM");h.method="POST";h.action=this.conf.url_data.url;j.body.appendChild(h);var e={};if(window.dhx4.ajax.cache!=true){e["dhxr"+new Date().getTime()]="1"}for(var c in this.conf.url_data.post_data){e[c]=this.conf.url_data.post_data[c]}for(var c in e){var g=j.createElement("INPUT");g.type="hidden";g.name=c;g.value=e[c];h.appendChild(g);g=null}this.conf.url_data.post_ifr=false;h.submit()}else{this.callEvent("_onContentLoaded",[this._idd])}};dhtmlXCellObject.prototype._detachURLEvents=function(a){if(a==null){if(this.dataType!="url"){return}a=this.cell.childNodes[this.conf.idx.cont].firstChild}if(!a){return}if(typeof(window.addEventListener)=="function"){a.onload=null;try{a.contentWindow.document.body.removeEventListener("mousedown",this._doOnFrameMouseDown,false)}catch(c){}}else{a.onreadystatechange=null;try{a.contentWindow.document.body.detachEvent("onmousedown",this._doOnFrameMouseDown)}catch(c){}}a=null};dhtmlXCellObject.prototype._attachObject=function(h,c,g,a,e){if(typeof(h)=="string"&&{menu:1,toolbar:1,ribbon:1,sb:1}[h]==1){return this["_createNode_"+h].apply(this,arguments)}if(a!=true){this._detachObject(null,true,null)}if(typeof(g)=="string"){this.cell.childNodes[this.conf.idx.cont].innerHTML=g}else{this.cell.childNodes[this.conf.idx.cont].appendChild(h)}h=null};dhtmlXCellObject.prototype._detachObject=function(l,c,a){this.callEvent("_onBeforeContentDetach",[]);if(l=="menu"||l=="toolbar"||l=="ribbon"||l=="sb"){var j=this.cell.childNodes[this.conf.idx[l]];j.parentNode.removeChild(j);j=null;this.conf.ofs_nodes[l=="sb"?"b":"t"][l]=false;this._updateIdx();if(!this.conf.unloading){this._adjustCont(this._idd)}return}if(c==true){a=false}else{if(typeof(a)=="undefined"){a=document.body}else{if(typeof(a)=="string"){a=document.getElementById(a)}}}if(a===false){if(this.conf.unloading==true&&String(this.dataType).match(/ajax/)!=null){if(this.conf.url_data!=null&&this.conf.url_data.xml_doc!=null){try{this.conf.url_data.xml_doc.xmlDoc.abort()}catch(h){}this.conf.url_data.xml_doc.xmlDoc=null;this.conf.url_data.xml_doc=null}}if(this.dataType=="url"){this._detachURLEvents()}else{if(this.dataObj!=null){if(typeof(this.dataObj.unload)=="function"){this.dataObj.unload()}else{if(typeof(this.dataObj.destructor)=="function"){this.dataObj.destructor()}}}}}var j=this.cell.childNodes[this.conf.idx.cont];while(j.childNodes.length>0){if(a===false){j.removeChild(j.lastChild)}else{j.firstChild.style.display="none";a.appendChild(j.firstChild)}}if(this.conf.append_mode){j.style.overflow="";this.conf.append_mode=false}var g=(this.dataType=="tabbar");this.dataObj=null;this.dataType=null;a=j=null;if(this.conf.unloading!=true&&g){this.showHeader(true);this._showBorders()}};dhtmlXCellObject.prototype._attachFromCell=function(c){this.detachObject(true);var g="layout";if(typeof(window.dhtmlXWindowsCell)=="function"&&this instanceof window.dhtmlXWindowsCell){g="window"}if(typeof(window.dhtmlXWindowsCell)=="function"&&c instanceof window.dhtmlXWindowsCell&&c.wins.w[c._idd].conf.parked==true){c.wins._winCellSetOpacity(c._idd,"open",false)}if(typeof(window.dhtmlXAccordionCell)=="function"&&c instanceof window.dhtmlXAccordionCell&&c.conf.opened==false){c._cellSetOpacity("open",false)}for(var e in c.dataNodes){this._attachObject(e,null,null,null,c.cell.childNodes[c.conf.idx[e]]);this.dataNodes[e]=c.dataNodes[e];c.dataNodes[e]=null;c.conf.ofs_nodes[e=="sb"?"b":"t"][e]=false;c._updateIdx()}this._mtbUpdBorder();if(c.dataType!=null&&c.dataObj!=null){this.dataType=c.dataType;this.dataObj=c.dataObj;while(c.cell.childNodes[c.conf.idx.cont].childNodes.length>0){this.cell.childNodes[this.conf.idx.cont].appendChild(c.cell.childNodes[c.conf.idx.cont].firstChild)}c.dataType=null;c.dataObj=null;if(this.dataType=="grid"){if(g=="window"&&this.conf.skin=="dhx_skyblue"){this.dataObj.entBox.style.border="1px solid #a4bed4";this.dataObj._sizeFix=0}else{this.dataObj.entBox.style.border="0px solid white";this.dataObj._sizeFix=2}}}else{while(c.cell.childNodes[c.conf.idx.cont].childNodes.length>0){this.cell.childNodes[this.conf.idx.cont].appendChild(c.cell.childNodes[c.conf.idx.cont].firstChild)}}this.conf.view=c.conf.view;c.conf.view="def";for(var e in c.views){this.views[e]=c.views[e];c.views[e]=null;delete c.views[e]}c._updateIdx();c._adjustCont();this._updateIdx();this._adjustCont();if(c.conf.progress==true){c.progressOff();this.progressOn()}else{this.progressOff()}if(g=="window"&&this.wins.w[this._idd].conf.parked){this.wins._winCellSetOpacity(this._idd,"close",false)}};function dhtmlXCellTop(h,c){if(arguments.length==0||typeof(h)=="undefined"){return}var a=this;this.dataNodes={};this.conf.ofs={t:0,b:0,l:0,r:0};this.conf.ofs_nodes={t:{},b:{}};this.conf.progress=false;this.conf.fs_mode=false;this.conf.fs_tm=null;this.conf.fs_resize=false;if(h==document.body){this.conf.fs_mode=true;this.base=h;if(this.base==document.body){var g={dhx_skyblue:{t:2,b:2,l:2,r:2},dhx_web:{t:8,b:8,l:8,r:8},dhx_terrace:{t:9,b:9,l:8,r:8},material:{t:9,b:9,l:8,r:8}};this.conf.ofs=(g[this.conf.skin]!=null?g[this.conf.skin]:g.dhx_skyblue)}}else{this.base=(typeof(h)=="string"?document.getElementById(h):h)}this.base.className+=" "+this.conf.css+"_base_"+this.conf.skin;this.cont=document.createElement("DIV");this.cont.className=this.conf.css+"_cont";this.base.appendChild(this.cont);if(c!=null){this.setOffsets(c,false)}else{if(this.base._ofs!=null){this.setOffsets(this.base._ofs,false);this.base._ofs=null;try{delete this.base._ofs}catch(j){}}}this._adjustCont=function(){var m=this.conf.ofs.t;for(var l in this.conf.ofs_nodes.t){m+=(this.conf.ofs_nodes.t[l]==true?this.dataNodes[l].offsetHeight:0)}var e=this.conf.ofs.b;for(var l in this.conf.ofs_nodes.b){e+=(this.conf.ofs_nodes.b[l]==true?this.dataNodes[l].offsetHeight:0)}this.cont.style.left=this.conf.ofs.l+"px";this.cont.style.width=this.base.clientWidth-this.conf.ofs.l-this.conf.ofs.r+"px";this.cont.style.top=m+"px";this.cont.style.height=this.base.clientHeight-m-e+"px"};this._setBaseSkin=function(e){this.base.className=this.base.className.replace(new RegExp(this.conf.css+"_base_"+this.conf.skin,"gi"),this.conf.css+"_base_"+e)};this._initFSResize=function(){if(this.conf.fs_resize==true){return}this._doOnResizeStart=function(){window.clearTimeout(a.conf.fs_tm);a.conf.fs_tm=window.setTimeout(a._doOnResizeEnd,200)};this._doOnResizeEnd=function(){a.setSizes()};if(typeof(window.addEventListener)=="function"){window.addEventListener("resize",this._doOnResizeStart,false)}else{window.attachEvent("onresize",this._doOnResizeStart)}this.conf.fs_resize=true};if(this.conf.fs_mode==true){this._initFSResize()}this._unloadTop=function(){this._mtbUnload();this.detachHeader();this.detachFooter();if(this.conf.fs_mode==true){if(typeof(window.addEventListener)=="function"){window.removeEventListener("resize",this._doOnResizeStart,false)}else{window.detachEvent("onresize",this._doOnResizeStart)}}this.base.removeChild(this.cont);var e=new RegExp("s{0,}"+this.conf.css+"_base_"+this.conf.skin,"gi");this.base.className=this.base.className.replace(e,"");this.cont=this.base=null;a=null};h=null}dhtmlXCellTop.prototype.setOffsets=function(j,h){var g=false;for(var c in j){var e=c.charAt(0);if(typeof(this.conf.ofs[e])!="undefined"&&!isNaN(j[c])){this.conf.ofs[e]=parseInt(j[c]);g=true}}if(h!==false&&typeof(this.setSizes)=="function"&&g==true){this.setSizes()}};dhtmlXCellTop.prototype.attachMenu=function(a){if(this.dataNodes.menu!=null){return}this.dataNodes.menuObj=document.createElement("DIV");this.dataNodes.menuObj.className="dhxcelltop_menu";this.base.insertBefore(this.dataNodes.menuObj,this.dataNodes.toolbarObj||this.dataNodes.ribbonObj||this.cont);if(typeof(a)!="object"||a==null){a={}}a.skin=this.conf.skin;a.parent=this.dataNodes.menuObj;this.dataNodes.menu=new dhtmlXMenuObject(a);this.dataNodes.menuEv=this.attachEvent("_onSetSizes",function(){if(this.dataNodes.menuObj.style.display=="none"){return}if(this.conf.ofs_menu==null){this.dataNodes.menuObj.style.width=this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px";this.conf.ofs_menu={w:this.dataNodes.menuObj.offsetWidth-parseInt(this.dataNodes.menuObj.style.width)}}this.dataNodes.menuObj.style.left=this.conf.ofs.l+"px";this.dataNodes.menuObj.style.marginTop=(this.dataNodes.haObj!=null?0:this.conf.ofs.t)+"px";this.dataNodes.menuObj.style.width=this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r-this.conf.ofs_menu.w+"px"});this.conf.ofs_nodes.t.menuObj=true;this.setSizes();a.parnt=null;a=null;return this.dataNodes.menu};dhtmlXCellTop.prototype.detachMenu=function(){if(this.dataNodes.menu==null){return}this.dataNodes.menu.unload();this.dataNodes.menu=null;this.dataNodes.menuObj.parentNode.removeChild(this.dataNodes.menuObj);this.dataNodes.menuObj=null;this.detachEvent(this.dataNodes.menuEv);this.dataNodes.menuEv=null;delete this.dataNodes.menu;delete this.dataNodes.menuObj;delete this.dataNodes.menuEv;this.conf.ofs_nodes.t.menuObj=false;if(!this.conf.unloading){this.setSizes()}};dhtmlXCellTop.prototype.attachToolbar=function(a){if(!(this.dataNodes.ribbon==null&&this.dataNodes.toolbar==null)){return}this.dataNodes.toolbarObj=document.createElement("DIV");this.dataNodes.toolbarObj.className="dhxcelltop_toolbar";this.base.insertBefore(this.dataNodes.toolbarObj,this.cont);this.dataNodes.toolbarObj.appendChild(document.createElement("DIV"));if(typeof(a)!="object"||a==null){a={}}a.skin=this.conf.skin;a.parent=this.dataNodes.toolbarObj.firstChild;this.dataNodes.toolbar=new dhtmlXToolbarObject(a);this.dataNodes.toolbarEv=this.attachEvent("_onSetSizes",function(){if(this.dataNodes.toolbarObj.style.display=="none"){return}this.dataNodes.toolbarObj.style.left=this.conf.ofs.l+"px";this.dataNodes.toolbarObj.style.marginTop=(this.dataNodes.haObj!=null||this.dataNodes.menuObj!=null?0:this.conf.ofs.t)+"px";this.dataNodes.toolbarObj.style.width=this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"});this.dataNodes.toolbar._masterCell=this;this.dataNodes.toolbar.attachEvent("_onIconSizeChange",function(){this._masterCell.setSizes()});this.conf.ofs_nodes.t.toolbarObj=true;this.setSizes();a.parnt=null;a=null;return this.dataNodes.toolbar};dhtmlXCellTop.prototype.detachToolbar=function(){if(this.dataNodes.toolbar==null){return}this.dataNodes.toolbar._masterCell=null;this.dataNodes.toolbar.unload();this.dataNodes.toolbar=null;this.dataNodes.toolbarObj.parentNode.removeChild(this.dataNodes.toolbarObj);this.dataNodes.toolbarObj=null;this.detachEvent(this.dataNodes.toolbarEv);this.dataNodes.toolbarEv=null;this.conf.ofs_nodes.t.toolbarObj=false;delete this.dataNodes.toolbar;delete this.dataNodes.toolbarObj;delete this.dataNodes.toolbarEv;if(!this.conf.unloading){this.setSizes()}};dhtmlXCellTop.prototype.attachRibbon=function(a){if(!(this.dataNodes.ribbon==null&&this.dataNodes.toolbar==null)){return}this.dataNodes.ribbonObj=document.createElement("DIV");this.dataNodes.ribbonObj.className="dhxcelltop_ribbon";this.base.insertBefore(this.dataNodes.ribbonObj,this.cont);this.dataNodes.ribbonObj.appendChild(document.createElement("DIV"));if(typeof(a)!="object"||a==null){a={}}a.skin=this.conf.skin;a.parent=this.dataNodes.ribbonObj.firstChild;this.dataNodes.ribbon=new dhtmlXRibbon(a);this.dataNodes.ribbonEv=this.attachEvent("_onSetSizes",function(){if(this.dataNodes.ribbonObj.style.display=="none"){return}this.dataNodes.ribbonObj.style.left=this.conf.ofs.l+"px";this.dataNodes.ribbonObj.style.marginTop=(this.dataNodes.haObj!=null||this.dataNodes.menuObj!=null?0:this.conf.ofs.t)+"px";this.dataNodes.ribbonObj.style.width=this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px";this.dataNodes.ribbon.setSizes()});this.conf.ofs_nodes.t.ribbonObj=true;var c=this;this.dataNodes.ribbon.attachEvent("_onHeightChanged",function(){c.setSizes()});this.setSizes();a.parnt=null;a=null;return this.dataNodes.ribbon};dhtmlXCellTop.prototype.detachRibbon=function(){if(this.dataNodes.ribbon==null){return}this.dataNodes.ribbon.unload();this.dataNodes.ribbon=null;this.dataNodes.ribbonObj.parentNode.removeChild(this.dataNodes.ribbonObj);this.dataNodes.ribbonObj=null;this.detachEvent(this.dataNodes.ribbonEv);this.dataNodes.ribbonEv=null;this.conf.ofs_nodes.t.ribbonObj=false;delete this.dataNodes.ribbon;delete this.dataNodes.ribbonObj;delete this.dataNodes.ribbonEv;if(!this.conf.unloading){this.setSizes()}};dhtmlXCellTop.prototype.attachStatusBar=function(a){if(this.dataNodes.sbObj){return}if(typeof(a)=="undefined"){a={}}this.dataNodes.sbObj=document.createElement("DIV");this.dataNodes.sbObj.className="dhxcelltop_statusbar";if(this.cont.nextSibling!=null){this.base.insertBefore(this.dataNodes.sbObj,this.cont.nextSibling)}else{this.base.appendChild(this.dataNodes.sbObj)}this.dataNodes.sbObj.innerHTML="
    "+(typeof(a.text)=="string"&&a.text.length>0?a.text:" ")+"
    ";if(typeof(a.height)=="number"){this.dataNodes.sbObj.firstChild.style.height=this.dataNodes.sbObj.firstChild.style.lineHeight=a.height+"px"}this.dataNodes.sbObj.setText=function(c){this.childNodes[0].innerHTML=c};this.dataNodes.sbObj.getText=function(){return this.childNodes[0].innerHTML};this.dataNodes.sbObj.onselectstart=function(c){return false};this.dataNodes.sbEv=this.attachEvent("_onSetSizes",function(){if(this.dataNodes.sbObj.style.display=="none"){return}this.dataNodes.sbObj.style.left=this.conf.ofs.l+"px";this.dataNodes.sbObj.style.bottom=(this.dataNodes.faObj!=null?this.dataNodes.faObj.offsetHeight:0)+this.conf.ofs.b+"px";this.dataNodes.sbObj.style.width=this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"});this.conf.ofs_nodes.b.sbObj=true;this.setSizes();return this.dataNodes.sbObj};dhtmlXCellTop.prototype.detachStatusBar=function(){if(!this.dataNodes.sbObj){return}this.dataNodes.sbObj.setText=this.dataNodes.sbObj.getText=this.dataNodes.sbObj.onselectstart=null;this.dataNodes.sbObj.parentNode.removeChild(this.dataNodes.sbObj);this.dataNodes.sbObj=null;this.detachEvent(this.dataNodes.sbEv);this.dataNodes.sbEv=null;this.conf.ofs_nodes.b.sbObj=false;delete this.dataNodes.sb;delete this.dataNodes.sbObj;delete this.dataNodes.sbEv;if(!this.conf.unloading){this.setSizes()}};dhtmlXCellTop.prototype.showMenu=function(){this._mtbShowHide("menuObj","")};dhtmlXCellTop.prototype.hideMenu=function(){this._mtbShowHide("menuObj","none")};dhtmlXCellTop.prototype.showToolbar=function(){this._mtbShowHide("toolbarObj","")};dhtmlXCellTop.prototype.hideToolbar=function(){this._mtbShowHide("toolbarObj","none")};dhtmlXCellTop.prototype.showRibbon=function(){this._mtbShowHide("ribbonObj","")};dhtmlXCellTop.prototype.hideRibbon=function(){this._mtbShowHide("ribbonObj","none")};dhtmlXCellTop.prototype.showStatusBar=function(){this._mtbShowHide("sbObj","")};dhtmlXCellTop.prototype.hideStatusBar=function(){this._mtbShowHide("sbObj","none")};dhtmlXCellTop.prototype._mtbShowHide=function(c,a){if(this.dataNodes[c]==null){return}this.dataNodes[c].style.display=a;this.setSizes()};dhtmlXCellTop.prototype._mtbUnload=function(c,a){this.detachMenu();this.detachToolbar();this.detachStatusBar();this.detachRibbon()};dhtmlXCellTop.prototype.getAttachedMenu=function(){return this.dataNodes.menu};dhtmlXCellTop.prototype.getAttachedToolbar=function(){return this.dataNodes.toolbar};dhtmlXCellTop.prototype.getAttachedRibbon=function(){return this.dataNodes.ribbon};dhtmlXCellTop.prototype.getAttachedStatusBar=function(){return this.dataNodes.sbObj};dhtmlXCellTop.prototype.progressOn=function(){if(this.conf.progress){return}this.conf.progress=true;var c=document.createElement("DIV");c.className="dhxcelltop_progress";this.base.appendChild(c);var a=document.createElement("DIV");if(this.conf.skin=="material"&&(window.dhx4.isFF||window.dhx4.isChrome||window.dhx4.isOpera||window.dhx4.isEdge)){a.className="dhxcelltop_progress_svg";a.innerHTML=''}else{var a=document.createElement("DIV");a.className="dhxcelltop_progress_img"}this.base.appendChild(a);c=a=null};dhtmlXCellTop.prototype.progressOff=function(){if(!this.conf.progress){return}var g={dhxcelltop_progress:true,dhxcelltop_progress_img:true,dhxcelltop_progress_svg:true};for(var e=0;e0){this.dataNodes.haObj.lastChild.style.visibility="hidden";document.body.appendChild(this.dataNodes.haObj.lastChild)}this.dataNodes.haObj.parentNode.removeChild(this.dataNodes.haObj);this.dataNodes.haObj=null;this.detachEvent(this.dataNodes.haEv);this.dataNodes.haEv=null;this.conf.ofs_nodes.t.haObj=false;delete this.dataNodes.haEv;delete this.dataNodes.haObj;if(!this.conf.unloading){this.setSizes()}};dhtmlXCellTop.prototype.attachFooter=function(e,a){if(this.dataNodes.faObj!=null){return}if(typeof(e)!="object"){e=document.getElementById(e)}this.dataNodes.faObj=document.createElement("DIV");this.dataNodes.faObj.className="dhxcelltop_ftr";this.dataNodes.faObj.style.height=(a||e.offsetHeight)+"px";var c=(this.dataNodes.sbObj||this.cont);if(this.base.lastChild==c){this.base.appendChild(this.dataNodes.faObj)}else{this.base.insertBefore(this.dataNodes.faObj,c.nextSibling)}this.dataNodes.faEv=this.attachEvent("_onSetSizes",function(){this.dataNodes.faObj.style.left=this.conf.ofs.l+"px";this.dataNodes.faObj.style.bottom=this.conf.ofs.b+"px";this.dataNodes.faObj.style.width=this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"});this.dataNodes.faObj.appendChild(e);e.style.visibility="visible";c=e=null;this.conf.ofs_nodes.b.faObj=true;this.setSizes()};dhtmlXCellTop.prototype.detachFooter=function(){if(!this.dataNodes.faObj){return}while(this.dataNodes.faObj.childNodes.length>0){this.dataNodes.faObj.lastChild.style.visibility="hidden";document.body.appendChild(this.dataNodes.faObj.lastChild)}this.dataNodes.faObj.parentNode.removeChild(this.dataNodes.faObj);this.dataNodes.faObj=null;this.detachEvent(this.dataNodes.faEv);this.dataNodes.faEv=null;this.conf.ofs_nodes.b.faObj=false;delete this.dataNodes.faEv;delete this.dataNodes.faObj;if(!this.conf.unloading){this.setSizes()}};function dhtmlXCalendarObject(j,r){this.i={};var e=null;if(typeof(j)=="string"){var g=document.getElementById(j)}else{var g=j}if(g&&typeof(g)=="object"&&g.tagName&&String(g.tagName).toLowerCase()!="input"){e=g}g=null;if(typeof(j)!="object"||!j.length){j=[j]}for(var c=0;c
    ";l.appendChild(o);var h=this;o.onclick=function(u){u=u||event;if(u.type=="touchstart"&&u.preventDefault!=null){u.preventDefault()}var q=(u.target||u.srcElement);if(q.className&&q.className.indexOf("dhtmlxcalendar_month_arrow")===0){h._hideSelector();var s=(q.parentNode.firstChild==q?-1:1);var a=new Date(h._activeMonth);h._drawMonth(new Date(h._activeMonth.getFullYear(),h._activeMonth.getMonth()+s,1,0,0,0,0));h._evOnArrowClick([a,new Date(h._activeMonth)]);return}if(q.className&&q.className=="dhtmlxcalendar_month_label_month"){u.cancelBubble=true;h._showSelector("month",Math.round(q.offsetLeft+q.offsetWidth/2),q.offsetTop+q.offsetHeight+2,"selector_month",true);return}if(q.className&&q.className=="dhtmlxcalendar_month_label_year"){u.cancelBubble=true;h._showSelector("year",Math.round(q.offsetLeft+q.offsetWidth/2),q.offsetTop+q.offsetHeight+2,"selector_year",true);return}h._hideSelector()};if(this.conf.touch==true){o.ontouchstart=o.onclick}this.contDays=document.createElement("DIV");this.contDays.className="dhtmlxcalendar_days_cont";this.base.firstChild.appendChild(this.contDays);this.setWeekStartDay=function(a){if(a==0){a=7}this._wStart=Math.min(Math.max((isNaN(a)?1:a),1),7);this._drawDaysOfWeek()};this._drawDaysOfWeek=function(){if(this.contDays.childNodes.length==0){var v=document.createElement("UL");v.className="dhtmlxcalendar_line";this.contDays.appendChild(v)}else{var v=this.contDays.firstChild}var s=this._wStart;var u=this.langData[this.lang].daysSNames;u.push(String(this.langData[this.lang].daysSNames[0]).valueOf());for(var x=0;x<8;x++){if(v.childNodes[x]==null){var a=document.createElement("LI");v.appendChild(a)}else{var a=v.childNodes[x]}if(x==0){a.className="dhtmlxcalendar_cell_wn";a.innerHTML="
    "+(this.langData[this.lang].weekname||"w")+"
    "}else{a.className="dhtmlxcalendar_cell"+(s>=6?" dhtmlxcalendar_day_weekday_cell":"")+(x==1?"_first":"");a.innerHTML=u[s];if(++s>7){s=1}}}if(this._activeMonth!=null){this._drawMonth(this._activeMonth)}};this._wStart=this.langData[this.lang].weekstart;this.setWeekStartDay(this._wStart);this.contDates=document.createElement("DIV");this.contDates.className="dhtmlxcalendar_dates_cont";this.base.firstChild.appendChild(this.contDates);this.contDates.onclick=function(w){w=w||event;var q=(w.target||w.srcElement);if(q.parentNode!=null&&q.parentNode._date!=null){q=q.parentNode}if(q._date!=null&&!q._css_dis){var u=h._activeDate.getHours();var s=h._activeDate.getMinutes();var v=q._date;if(h.checkEvent("onBeforeChange")){if(!h.callEvent("onBeforeChange",[new Date(q._date.getFullYear(),q._date.getMonth(),q._date.getDate(),u,s)])){return}}if(h._activeDateCell!=null){h._activeDateCell._css_date=false;h._updateCellStyle(h._activeDateCell._q,h._activeDateCell._w)}var a=(h._activeDate.getFullYear()+"_"+h._activeDate.getMonth()!=v.getFullYear()+"_"+v.getMonth());h._nullDate=false;h._activeDate=new Date(v.getFullYear(),v.getMonth(),v.getDate(),u,s);h._activeDateCell=q;h._activeDateCell._css_date=true;h._activeDateCell._css_hover=false;h._updateCellStyle(h._activeDateCell._q,h._activeDateCell._w);if(a){h._drawMonth(h._activeDate)}h._updateInp();if(!h._hasParent){if(w.type=="touchstart"){window.setTimeout(function(){h._hide()},400)}else{h._hide()}}h._evOnClick([new Date(h._activeDate.getTime())]);h._doOnSelectorChange(true)}};if(this.conf.touch==true){this.contDates.ontouchstart=this.contDates.onclick}this.contDates.onmouseover=function(q){q=q||event;var a=(q.target||q.srcElement);if(a.parentNode!=null&&a.parentNode._date!=null){a=a.parentNode}if(a._date!=null){if(h._lastHover==a||a._css_hover){return}a._css_hover=true;h._updateCellStyle(a._q,a._w);h._lastHover=a;h._evOnMouseOver([new Date(a._date.getFullYear(),a._date.getMonth(),a._date.getDate(),0,0,0,0),q]);a=null}};this.contDates.onmouseout=function(a){h._clearDayHover(a||event)};this._lastHover=null;this._clearDayHover=function(a){if(!this._lastHover){return}this._lastHover._css_hover=false;this._updateCellStyle(this._lastHover._q,this._lastHover._w);if(a!=null){h._evOnMouseOut([new Date(this._lastHover._date.getFullYear(),this._lastHover._date.getMonth(),this._lastHover._date.getDate(),0,0,0,0),a])}this._lastHover=null};for(var c=0;c<6;c++){var l=document.createElement("UL");l.className="dhtmlxcalendar_line";this.contDates.appendChild(l);for(var n=0;n<=7;n++){var o=document.createElement("LI");if(n==0){o.className="dhtmlxcalendar_cell_wn"}else{o.className="dhtmlxcalendar_cell"}l.appendChild(o)}}this.contTime=document.createElement("DIV");this.contTime.className="dhtmlxcalendar_time_cont";this.contTime.style.display="none";this.base.firstChild.appendChild(this.contTime);this.showTime=function(){if(this.conf.time!=true){this.conf.time=true;this._adjustTimeCont()}};this.hideTime=function(){if(this.conf.time==true){this.conf.time=false;this._adjustTimeCont()}};this.showToday=function(){if(this.conf.today!=true){this.conf.today=true;this._adjustTimeCont()}};this.hideToday=function(){if(this.conf.today==true){this.conf.today=false;this._adjustTimeCont()}};this._adjustTimeCont=function(){var a="";if(this.conf.time==true){a+="_time"}if(this.conf.today==true){a+="_today"}if(a==""){this.contTime.style.display="none"}else{this.contTime.className="dhtmlxcalendar_time_cont dhtmlxcalendar_mode"+a;this.contTime.style.display=""}this._ifrSize()};this._adjustTimeCont();var l=document.createElement("UL");l.className="dhtmlxcalendar_line";this.contTime.appendChild(l);var o=document.createElement("LI");o.className="dhtmlxcalendar_cell dhtmlxcalendar_time_hdr";o.innerHTML="
    :"+this.langData[this.lang].clear+""+this.langData[this.lang].today+"";l.appendChild(o);o.onclick=function(s){s=s||event;if(s.type=="touchstart"&&s.preventDefault!=null){s.preventDefault()}var a=(s.target||s.srcElement);if(a.tagName!=null&&a.tagName.toLowerCase()=="span"&&a._par==true&&a.parentNode!=null){a=a.parentNode}if(a.className&&a.className=="dhtmlxcalendar_label_hours"){s.cancelBubble=true;var q=h.contMonth.offsetHeight+h.contDays.offsetHeight+h.contDates.offsetHeight+a.offsetTop;h._showSelector("hours",Math.round(a.offsetLeft+a.offsetWidth/2),q-2,"selector_hours",true);return}if(a.className&&a.className=="dhtmlxcalendar_label_minutes"){s.cancelBubble=true;if(h._minutesInterval==1){var u=h.getFormatedDate("%i");a.innerHTML=""+u.charAt(0)+""+u.charAt(1);a.firstChild._par=true;h._selectorMode=1}var q=h.contMonth.offsetHeight+h.contDays.offsetHeight+h.contDates.offsetHeight+a.offsetTop;h._showSelector("minutes",Math.round(a.offsetLeft+a.offsetWidth/2),q-2,"selector_minutes",true);return}h._hideSelector();if(a.className&&a.className=="dhtmlxcalendar_label_today"){var u=new Date();u=new Date(u.getFullYear(),u.getMonth(),u.getDate(),h._activeDate.getHours(),h._activeDate.getMinutes(),h._activeDate.getSeconds(),h._activeDate.getMilliseconds());h.setDate(u);h._updateInp();h.callEvent("onButtonClick",[u])}if(a.className&&a.className=="dhtmlxcalendar_label_clear"){h._nullDate=true;h._drawMonth(new Date());h._updateInp();h.callEvent("onButtonClick",[null])}};if(this.conf.touch==true){o.ontouchstart=o.onclick}this._activeMonth=null;this._activeDate=new Date();this._activeDateCell=null;this.setDate=function(q){window.dhx4.temp_calendar={tz:null};this._nullDate=(typeof(q)=="undefined"||q===""||!q);if(!(q instanceof Date)){q=this._strToDate(String(q||""));if(q=="Invalid Date"){q=new Date()}else{this.conf.tz=window.dhx4.temp_calendar.tz}window.dhx4.temp_calendar=null}if(this.conf.tz==null){this.conf.tz=window.dhx4.date2str(q,"%P")}var a=q.getTime();if(this._isOutOfRange(a)){return}this._activeDate=new Date(a);this._drawMonth(this._nullDate?new Date():this._activeDate);this._updateVisibleHours();this._updateVisibleMinutes()};this.getDate=function(s){if(this._nullDate){return null}var a=new Date(this._activeDate.getTime());if(s){window.dhx4.temp_calendar={tz:this.conf.tz};var q=this._dateToStr(a);window.dhx4.temp_calendar=null;return q}return a};this._drawMonth=function(E){if(!(E instanceof Date)){return}if(isNaN(E.getFullYear())){E=new Date(this._activeMonth.getFullYear(),this._activeMonth.getMonth(),1,0,0,0,0)}this._activeMonth=new Date(E.getFullYear(),E.getMonth(),1,0,0,0,0);this._activeDateCell=null;var C=new Date(this._activeMonth.getTime());var u=C.getDay();var I=u-this._wStart;if(I<0){I=I+7}C.setDate(C.getDate()-I);var L=E.getMonth();var M=new Date(this._activeDate.getFullYear(),this._activeDate.getMonth(),this._activeDate.getDate(),0,0,0,0).getTime();var y=0;for(var s=0;s<6;s++){var D=this._wStart;for(var K=0;K<=7;K++){if(K==0){var J=this.getWeekNumber(new Date(C.getFullYear(),C.getMonth(),C.getDate()+y,0,0,0,0));if(J>=52&&this.conf.ws_first==true&&this._activeMonth.getMonth()==0){var x=this.getWeekNumber(new Date(C.getFullYear(),C.getMonth(),C.getDate()+y+7,0,0,0,0));if(x1){J=1}}else{if(J>52&&this._activeMonth.getMonth()==11){var x=this.getWeekNumber(new Date(C.getFullYear()+1,0,1));if(x==1){J=1}}}this.contDates.childNodes[s].childNodes[K].innerHTML="
    "+J+"
    "}else{var a=new Date(C.getFullYear(),C.getMonth(),C.getDate()+y,0,0,0,0);if(a.getHours()!=0){var A=(a.getHours()>12?24-a.getHours():a.getHours());a.setTime(a.getTime()+60*60*1000*A)}var H=a.getDay();var v=a.getTime();var F="dhtmlxcalendar_label";if(this._tipData[v]!=null){if(this._tipData[v].usePopup&&typeof(window.dhtmlXPopup)=="function"){this.contDates.childNodes[s].childNodes[K].removeAttribute("title");this._initTooltipPopup()}else{this.contDates.childNodes[s].childNodes[K].setAttribute("title",this._tipData[v].text)}if(this._tipData[v].showIcon){F+=" dhtmlxcalendar_label_title"}}else{this.contDates.childNodes[s].childNodes[K].removeAttribute("title")}this.contDates.childNodes[s].childNodes[K].innerHTML="
    "+a.getDate()+"
    ";this.contDates.childNodes[s].childNodes[K]._date=new Date(v);this.contDates.childNodes[s].childNodes[K]._q=s;this.contDates.childNodes[s].childNodes[K]._w=K;this.contDates.childNodes[s].childNodes[K]._css_month=(a.getMonth()==L);this.contDates.childNodes[s].childNodes[K]._css_date=(!this._nullDate&&v==M);this.contDates.childNodes[s].childNodes[K]._css_weekend=(D>=6);this.contDates.childNodes[s].childNodes[K]._css_dis=this._isOutOfRange(v);this.contDates.childNodes[s].childNodes[K]._css_holiday=(this._holidays[v]==true);this._updateCellStyle(s,K);if(v==M){this._activeDateCell=this.contDates.childNodes[s].childNodes[K]}if(++D>7){D=1}y++}}}this.contMonth.firstChild.firstChild.childNodes[1].innerHTML=this._buildMonthHdr(E)};this._updateCellStyle=function(x,a){var v=this.contDates.childNodes[x].childNodes[a];var u="dhtmlxcalendar_cell dhtmlxcalendar_cell";u+=(v._css_month?"_month":"");u+=(v._css_date?"_date":"");u+=(v._css_weekend?"_weekend":"");u+=(v._css_holiday?"_holiday":"");u+=(v._css_dis?"_dis":"");u+=(v._css_hover&&!v._css_dis?"_hover":"");v.className=u;v=null};this._minutesInterval=5;this._initSelector=function(C,v){if(!this._selCover){this._selCover=document.createElement("DIV");this._selCover.className="dhtmlxcalendar_selector_cover";this.base.firstChild.appendChild(this._selCover)}if(!this._sel){this._sel=document.createElement("DIV");this._sel.className="dhtmlxcalendar_selector_obj";this.base.firstChild.appendChild(this._sel);this._sel.appendChild(document.createElement("TABLE"));this._sel.firstChild.className="dhtmlxcalendar_selector_table";this._sel.firstChild.cellSpacing=0;this._sel.firstChild.cellPadding=0;this._sel.firstChild.border=0;this._sel.firstChild.appendChild(document.createElement("TBODY"));this._sel.firstChild.firstChild.appendChild(document.createElement("TR"));this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD"));this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD"));this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD"));this._sel.firstChild.firstChild.firstChild.childNodes[0].className="dhtmlxcalendar_selector_cell_left";this._sel.firstChild.firstChild.firstChild.childNodes[1].className="dhtmlxcalendar_selector_cell_middle";this._sel.firstChild.firstChild.firstChild.childNodes[2].className="dhtmlxcalendar_selector_cell_right";this._sel.firstChild.firstChild.firstChild.childNodes[0].innerHTML=" ";this._sel.firstChild.firstChild.firstChild.childNodes[2].innerHTML=" ";this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseover=function(){this.className="dhtmlxcalendar_selector_cell_left dhtmlxcalendar_selector_cell_left_hover"};this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseout=function(){this.className="dhtmlxcalendar_selector_cell_left"};this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseover=function(){this.className="dhtmlxcalendar_selector_cell_right dhtmlxcalendar_selector_cell_right_hover"};this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseout=function(){this.className="dhtmlxcalendar_selector_cell_right"};this._sel.onmouseover=function(w){w=w||event;var q=(w.target||w.srcElement);if(q._cell===true){if(h._selHover!=q){h._clearSelHover()}if(String(q.className).match(/^\s{0,}dhtmlxcalendar_selector_cell\s{0,}$/gi)!=null){q.className+=" dhtmlxcalendar_selector_cell_hover";h._selHover=q}}};this._sel.onmouseout=function(){h._clearSelHover()};this._sel.firstChild.firstChild.firstChild.childNodes[0].onclick=function(q){q=q||event;if(q.type=="touchstart"&&q.preventDefault!=null){q.preventDefault()}q.cancelBubble=true;h._scrollYears(-1)};this._sel.firstChild.firstChild.firstChild.childNodes[2].onclick=function(q){q=q||event;if(q.type=="touchstart"&&q.preventDefault!=null){q.preventDefault()}q.cancelBubble=true;h._scrollYears(1)};if(this.conf.touch==true){this._sel.firstChild.firstChild.firstChild.childNodes[0].ontouchstart=this._sel.firstChild.firstChild.firstChild.childNodes[0].onclick;this._sel.firstChild.firstChild.firstChild.childNodes[2].ontouchstart=this._sel.firstChild.firstChild.firstChild.childNodes[2].onclick}this._sel._ta={};this._selHover=null;this._sel.appendChild(document.createElement("DIV"));this._sel.lastChild.className="dhtmlxcalendar_selector_obj_arrow"}if(this._sel._ta[C]==true){return}if(C=="month"){this._msCells={};this.msCont=document.createElement("DIV");this.msCont.className="dhtmlxcalendar_area_"+v;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.msCont);var s=0;for(var a=0;a<4;a++){var A=document.createElement("UL");A.className="dhtmlxcalendar_selector_line";this.msCont.appendChild(A);for(var D=0;D<3;D++){var E=document.createElement("LI");E.innerHTML=this.langData[this.lang].monthesSNames[s];E.className="dhtmlxcalendar_selector_cell";A.appendChild(E);E._month=s;E._cell=true;this._msCells[s++]=E}}this.msCont.onclick=function(w){w=w||event;if(w.type=="touchstart"&&w.preventDefault!=null){w.preventDefault()}w.cancelBubble=true;var q=(w.target||w.srcElement);if(q._month!=null){h._hideSelector();h._updateActiveMonth();h._drawMonth(new Date(h._activeMonth.getFullYear(),q._month,1,0,0,0,0));h._doOnSelectorChange()}};if(this.conf.touch==true){this.msCont.ontouchstart=this.msCont.onclick}}if(C=="year"){this._ysCells={};this.ysCont=document.createElement("DIV");this.ysCont.className="dhtmlxcalendar_area_"+v;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.ysCont);for(var a=0;a<4;a++){var A=document.createElement("UL");A.className="dhtmlxcalendar_selector_line";this.ysCont.appendChild(A);for(var D=0;D<3;D++){var E=document.createElement("LI");E.className="dhtmlxcalendar_selector_cell";E._cell=true;A.appendChild(E)}}this.ysCont.onclick=function(w){w=w||event;if(w.type=="touchstart"&&w.preventDefault!=null){w.preventDefault()}w.cancelBubble=true;var q=(w.target||w.srcElement);if(q._year!=null){h._hideSelector();h._drawMonth(new Date(q._year,h._activeMonth.getMonth(),1,0,0,0,0));h._doOnSelectorChange()}};if(this.conf.touch==true){this.ysCont.ontouchstart=this.ysCont.onclick}}if(C=="hours"){this._hsCells={};this.hsCont=document.createElement("DIV");this.hsCont.className="dhtmlxcalendar_area_"+v;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.hsCont);var s=0;for(var a=0;a<4;a++){var A=document.createElement("UL");A.className="dhtmlxcalendar_selector_line";this.hsCont.appendChild(A);for(var D=0;D<6;D++){var E=document.createElement("LI");E.innerHTML=this._fixLength(s,2);E.className="dhtmlxcalendar_selector_cell";A.appendChild(E);E._hours=s;E._cell=true;this._hsCells[s++]=E}}this.hsCont.onclick=function(w){w=w||event;if(w.type=="touchstart"&&w.preventDefault!=null){w.preventDefault()}w.cancelBubble=true;var q=(w.target||w.srcElement);if(q._hours!=null){h._hideSelector();h._activeDate.setHours(q._hours);h._updateActiveHours();h._updateVisibleHours();h._doOnSelectorChange();h.callEvent("onTimeChange",[new Date(h._activeDate.getTime())])}};if(this.conf.touch==true){this.hsCont.ontouchstart=this.hsCont.onclick}}if(C=="minutes"){var y=4;var u=3;var x=2;if(this._minutesInterval==1){if(this._selectorMode==1){y=2;u=3;x=1}else{y=2;u=5;x=1;v+="5"}}if(this._minutesInterval==10){y=2}if(this._minutesInterval==15){y=1;u=4;v+="4"}this._rsCells={};this.rsCont=document.createElement("DIV");this.rsCont.className="dhtmlxcalendar_area_"+v;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.rsCont);var s=0;for(var a=0;a1?this._fixLength(s,x):s);E.className="dhtmlxcalendar_selector_cell";A.appendChild(E);E._minutes=s;E._cell=true;this._rsCells[s]=E;s+=this._minutesInterval}}this.rsCont.onclick=function(F){F=F||event;if(F.type=="touchstart"&&F.preventDefault!=null){F.preventDefault()}F.cancelBubble=true;var w=(F.target||F.srcElement);if(w._minutes!=null){if(h._minutesInterval==1){var q=h.getFormatedDate("%i");if(h._selectorMode==1){q=w._minutes.toString()+q.charAt(1)}else{q=q.charAt(0)+w._minutes.toString()}h._activeDate.setMinutes(Number(q));h.callEvent("onTimeChange",[new Date(h._activeDate.getTime())]);h._hideSelector();if(h._selectorMode==1){h._updateVisibleMinutes(true);h._selectorMode=2;h._showSelector("minutes",h._sel._x,h._sel._y,"selector_minutes",true);h._updateActiveMinutes();return}else{h._selectorMode=1}}else{h._hideSelector();h._activeDate.setMinutes(w._minutes);h._updateActiveMinutes();h.callEvent("onTimeChange",[new Date(h._activeDate.getTime())])}h._updateVisibleMinutes();h._doOnSelectorChange()}};if(this.conf.touch==true){this.rsCont.ontouchstart=this.rsCont.onclick}}this._sel._ta[C]=true};this._showSelector=function(v,q,w,u,a){if(a===true&&this._sel!=null&&this._isSelectorVisible()&&v==this._sel._t){this._hideSelector();return}if(this.conf.skin=="dhx_terrace"){q+=12}if(!this._sel||!this._sel._ta[v]){this._initSelector(v,u)}if(v!=this._sel._t&&this._sel._t=="minutes"&&this._minutesInterval==1){this.contTime.firstChild.firstChild.childNodes[3].innerHTML=this.getFormatedDate("%i")}this._sel._x=q;this._sel._y=w;this._sel.style.visibility="hidden";this._sel.style.display="";this._selCover.style.width=this.base.offsetWidth-2+"px";this._selCover.style.top=this.contMonth.offsetHeight+"px";this._selCover.style.height=this.contDates.offsetHeight+this.contDays.offsetHeight-1+"px";this._selCover.style.display="";this._sel._t=v;this._sel.className="dhtmlxcalendar_selector_obj dhtmlxcalendar_"+u+(v=="hours"&&this.conf.today==true?"2":"");this._sel.childNodes[0].firstChild.firstChild.childNodes[0].style.display=this._sel.childNodes[0].firstChild.firstChild.childNodes[2].style.display=(v=="year"?"":"none");var s=Math.max(0,q-Math.round(this._sel.offsetWidth/2));if(s+this._sel.offsetWidth>this._sel.parentNode.offsetWidth){s=this._sel.parentNode.offsetWidth-this._sel.offsetWidth}this._sel.style.left=s+"px";if(v=="hours"||v=="minutes"){this._sel.style.top=w-this._sel.offsetHeight+"px"}else{this._sel.style.top=w+"px"}this._sel.childNodes[1].style.width=this._sel.childNodes[0].offsetWidth+"px";this._sel.style.visibility="visible";this._doOnSelectorShow(v)};this._doOnSelectorShow=function(a){if(a=="month"){this._updateActiveMonth()}if(a=="year"){this._updateYearsList(this._activeMonth)}if(a=="hours"){this._updateActiveHours()}if(a=="minutes"){this._updateActiveMinutes()}};this._hideSelector=function(a){if(!this._sel){return}this._sel.style.display="none";this._sel.style.visible="hidden";this._selCover.style.display="none";if(this._sel._t=="minutes"&&this._minutesInterval==1){this.contTime.firstChild.firstChild.childNodes[3].innerHTML=this.getFormatedDate("%i");this._unloadSelector("minutes")}};this._isSelectorVisible=function(){if(!this._sel){return false}return(this._sel.style.display!="none")};this._doOnSelectorChange=function(a){this.callEvent("onChange",[new Date(this._activeMonth.getFullYear(),this._activeMonth.getMonth(),this._activeDate.getDate(),this._activeDate.getHours(),this._activeDate.getMinutes(),this._activeDate.getSeconds()),a===true])};this._clearSelHover=function(){if(!this._selHover){return}this._selHover.className=String(this._selHover.className.replace(/dhtmlxcalendar_selector_cell_hover/gi,""));this._selHover=null};this._unloadSelector=function(s){if(!this._sel){return}if(!this._sel._ta[s]){return}if(s=="month"){this.msCont.onclick=this.msCont.ontouchstart=null;this._msActive=null;for(var q in this._msCells){this._msCells[q]._cell=null;this._msCells[q]._month=null;this._msCells[q].parentNode.removeChild(this._msCells[q]);this._msCells[q]=null}this._msCells=null;while(this.msCont.childNodes.length>0){this.msCont.removeChild(this.msCont.lastChild)}this.msCont.parentNode.removeChild(this.msCont);this.msCont=null}if(s=="year"){this.ysCont.onclick=this.ysCont.ontouchstart=null;for(var q in this._ysCells){this._ysCells[q]._cell=null;this._ysCells[q]._year=null;this._ysCells[q].parentNode.removeChild(this._ysCells[q]);this._ysCells[q]=null}this._ysCells=null;while(this.ysCont.childNodes.length>0){this.ysCont.removeChild(this.ysCont.lastChild)}this.ysCont.parentNode.removeChild(this.ysCont);this.ysCont=null}if(s=="hours"){this.hsCont.onclick=this.hsCont.ontouchstart=null;this._hsActive=null;for(var q in this._hsCells){this._hsCells[q]._cell=null;this._hsCells[q]._hours=null;this._hsCells[q].parentNode.removeChild(this._hsCells[q]);this._hsCells[q]=null}this._hsCells=null;while(this.hsCont.childNodes.length>0){this.hsCont.removeChild(this.hsCont.lastChild)}this.hsCont.parentNode.removeChild(this.hsCont);this.hsCont=null}if(s=="minutes"){this.rsCont.onclick=this.rsCont.ontouchstart=null;this._rsActive=null;for(var q in this._rsCells){this._rsCells[q]._cell=null;this._rsCells[q]._minutes=null;this._rsCells[q].parentNode.removeChild(this._rsCells[q]);this._rsCells[q]=null}this._rsCells=null;while(this.rsCont.childNodes.length>0){this.rsCont.removeChild(this.rsCont.lastChild)}this.rsCont.parentNode.removeChild(this.rsCont);this.rsCont=null}this._sel._ta[s]=null};this.setMinutesInterval=function(a){if(!(a==1||a==5||a==10||a==15)){return}this._minutesInterval=a;this._unloadSelector("minutes")};this._updateActiveMonth=function(){if(typeof(this._msActive)!="undefined"&&typeof(this._msCells[this._msActive])!="undefined"){this._msCells[this._msActive].className="dhtmlxcalendar_selector_cell"}this._msActive=this._activeMonth.getMonth();this._msCells[this._msActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateActiveYear=function(){var a=this._activeMonth.getFullYear();if(this._ysCells[a]){this._ysCells[a].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"}};this._updateYearsList=function(y){for(var u in this._ysCells){this._ysCells[u]=null;delete this._ysCells[u]}var v=12*Math.floor(y.getFullYear()/12);for(var x=0;x<4;x++){for(var s=0;s<3;s++){this.ysCont.childNodes[x].childNodes[s].innerHTML=v;this.ysCont.childNodes[x].childNodes[s]._year=v;this.ysCont.childNodes[x].childNodes[s].className="dhtmlxcalendar_selector_cell";this._ysCells[v++]=this.ysCont.childNodes[x].childNodes[s]}}this._updateActiveYear()};this._scrollYears=function(a){var s=(a<0?this.ysCont.firstChild.firstChild._year:this.ysCont.lastChild.lastChild._year)+a;var q=new Date(s,this._activeMonth.getMonth(),1,0,0,0,0);this._updateYearsList(q)};this._updateActiveHours=function(){if(typeof(this._hsActive)!="undefined"&&typeof(this._hsCells[this._hsActive])!="undefined"){this._hsCells[this._hsActive].className="dhtmlxcalendar_selector_cell"}this._hsActive=this._activeDate.getHours();this._hsCells[this._hsActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateVisibleHours=function(){this.contTime.firstChild.firstChild.childNodes[1].innerHTML=this._fixLength(this._activeDate.getHours(),2)};this._updateActiveMinutes=function(){if(this._rsActive!=null&&typeof(this._rsActive)!="undefined"&&typeof(this._rsCells[this._rsActive])!="undefined"){this._rsCells[this._rsActive].className="dhtmlxcalendar_selector_cell"}if(this._minutesInterval==1){this._rsActive=(this.getFormatedDate("%i").toString()).charAt(this._selectorMode==1?0:1)}else{this._rsActive=this._activeDate.getMinutes()}if(typeof(this._rsCells[this._rsActive])!="undefined"){this._rsCells[this._rsActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"}};this._updateVisibleMinutes=function(q){var a=this._fixLength(this._activeDate.getMinutes(),2).toString();if(q==true){a=a.charAt(0)+""+a.charAt(1)+""}this.contTime.firstChild.firstChild.childNodes[3].innerHTML=a;if(q==true){this.contTime.firstChild.firstChild.childNodes[3].lastChild._par=true}};this._fixLength=function(a,q){while(String(a).length0){var w=this._strToDate(this.i[q].input.value,this._dateFormat||this.langData[this.lang].dateformat||"%Y-%m-%d");if(w instanceof Date){u[q]=w}}}}this._dateFormat=v;var s=String(this._dateFormat).replace(/%[a-zA-Z]+/g,function(a){var x=a.replace(/%/,"");switch(x){case"n":case"h":case"j":case"g":case"G":return"\\d{1,2}";case"m":case"d":case"H":case"i":case"s":case"y":return"\\d{2}";case"Y":return"\\d{4}";case"M":return"("+h.langData[h.lang].monthesSNames.join("|").toLowerCase()+"){1,}";case"F":return"("+h.langData[h.lang].monthesFNames.join("|").toLowerCase()+"){1,}";case"D":return"[a-z]{2}";case"a":case"A":return"AM|PM";case"u":return"\\d{1,6}";case"P":return"[\\+\\-]\\d{1,2}\\:\\d{1,2}"}return a});this._dateFormatRE=new RegExp(s,"i");for(var q in u){this.i[q].input.value=this._dateToStr(u[q])}u=null};this.setDateFormat(this.langData[this.lang].dateformat||"%Y-%m-%d");this._updateDateStr=function(q){var a;if(!q){a=new Date()}else{if(!this._dateFormatRE||!q.match(this._dateFormatRE)){return}if(q==this.getFormatedDate()){return}a=this._strToDate(q)}if(!(a instanceof Date)){return}if(this.checkEvent("onBeforeChange")){if(!this.callEvent("onBeforeChange",[new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds())])){this._updateInp();return}}this._nullDate=false;this._activeDate=a;this._drawMonth(this._nullDate?new Date():this._activeDate);this._updateVisibleMinutes();this._updateVisibleHours();if(this._sel&&this._isSelectorVisible()){this._doOnSelectorShow(this._sel._t)}this._doOnSelectorChange(true)};this.showMonth=function(a){if(typeof(a)=="string"){a=this._strToDate(a)}if(!(a instanceof Date)){return}this._drawMonth(a)};this.setFormatedDate=function(v,w,q,u){var s=this._strToDate(w,v);if(u){return s}this.setDate(s)};this.getFormatedDate=function(q,a){if(!(a&&a instanceof Date)){if(this._nullDate){return""}a=new Date(this._activeDate)}return this._dateToStr(a,q)};this.getWeekNumber=function(s){if(typeof(s)=="string"){s=this._strToDate(s)}if(!(s instanceof Date)){return"Invalid Date"}var q=s.getDay();if(q===0){q=7}var u=new Date(s.valueOf());u.setDate(s.getDate()+(4-q));var a=u.getFullYear();var v=Math.round((u.getTime()-new Date(a,0,1).getTime())/86400000);return 1+Math.floor(v/7)};this.showWeekNumbers=function(){this.base.firstChild.className="dhtmlxcalendar_wn"};this.hideWeekNumbers=function(){this.base.firstChild.className=""};this.show=function(u){if(!u&&this._hasParent){this._show();return}if(typeof(u)=="string"){var s=document.getElementById(u);if(s!=null&&typeof(s._dhtmlxcalendar_uid)!="undefined"&&this.i[s._dhtmlxcalendar_uid]!=null){this._show(s._dhtmlxcalendar_uid);return}}if(typeof(u)=="object"&&typeof(u._dhtmlxcalendar_uid)!="undefined"&&this.i[u._dhtmlxcalendar_uid]==u){this._show(u._dhtmlxcalendar_uid);return}if(typeof(u)=="undefined"){for(var q in this.i){if(!u){u=q}}}if(!u){return}this._show(u)};this.hide=function(){if(this._isVisible()){this._hide()}};this.isVisible=function(){return this._isVisible()};this._activeInp=null;this.pos="bottom";this.setPosition=function(a,q){this._px=null;this._py=null;if(a=="right"||a=="bottom"){this.pos=a}else{this.pos="int";if(typeof(a)!="undefined"&&!isNaN(a)){this.base.style.left=a+"px";this._px=a}if(typeof(q)!="undefined"&&!isNaN(q)){this.base.style.top=q+"px";this._py=q}this._ifrSize()}};this._show=function(y,q){if(q===true&&this._activeInp==y&&this._isVisible()){this._hide();return}this.base.style.visibility="hidden";this.base.style.display="";if(!y){if(this._px!=null&&this._py!=null){this.base.style.left=this._px+"px";this.base.style.top=this._py+"px"}else{this.base.style.left="0px";this.base.style.top="0px"}}else{if(this.base.className.indexOf("dhtmlxcalendar_in_input")==-1){this.base.className+=" dhtmlxcalendar_in_input"}var s=(this.i[y].input||this.i[y].button);var A=window.dhx4.screenDim();var w={top:window.dhx4.absTop(s),left:window.dhx4.absLeft(s)};if(this.pos=="right"){this.base.style.left=w.left+s.offsetWidth+"px";this.base.style.top=Math.min(w.top,A.bottom-this.base.offsetHeight)+"px"}else{if(this.pos=="bottom"){var v=w.top+s.offsetHeight+1;if(v+this.base.offsetHeight>A.bottom){var u=w.top-this.base.offsetHeight;if(u>=-20){v=u}}var a=w.left;if(a+this.base.offsetWidth>A.right){a=Math.max(0,w.left+s.offsetWidth-this.base.offsetWidth)}this.base.style.left=a+"px";this.base.style.top=v+"px"}else{this.base.style.left=(this._px||0)+"px";this.base.style.top=(this._py||0)+"px"}}this._activeInp=y;s=null}this._hideSelector();this.base.style.visibility="visible";this.base.style.zIndex=window.dhx4.zim.reserve(this.conf.zi);this._ifrSize();if(this._ifr){this._ifr.style.display=""}this.callEvent("onShow",[])};this._hide=function(){if(this._lastHover!=null){this._clearDayHover()}this._hideSelector();this.base.style.display="none";window.dhx4.zim.clear(this.conf.zi);if(this.base.className.indexOf("dhtmlxcalendar_in_input")>=0){this.base.className=this.base.className.replace(/\s{0,}dhtmlxcalendar_in_input/gi,"")}this._activeInp=null;if(this._ifr){this._ifr.style.display="none"}this.callEvent("onHide",[])};this._isVisible=function(){return(this.base.style.display!="none")};this._rangeActive=false;this._rangeFrom=null;this._rangeTo=null;this._rangeSet={};this.setInsensitiveDays=function(u){var a=this._extractDates(u);for(var s=0;sthis._rangeTo)){return true}if(this._rangeType=="out"&&(q>=this._rangeFrom&&q<=this._rangeTo)){return true}if(this._rangeType=="from"&&qthis._rangeTo){return true}}var a=new Date(q);if(this._rangeWeek){if(this._rangeWeekData[a.getDay()]===true){return true}}if(this._rangeMonth){if(this._rangeMonthData[a.getDate()]===true){return true}}if(this._rangeYear){if(this._rangeYearData[a.getMonth()+"_"+a.getDate()]===true){return true}}return false};this.clearSensitiveRange=function(){this._clearRange();this._drawMonth(this._activeMonth)};this.setSensitiveRange=function(u,s,a){var q=false;if(u!=null&&s!=null){if(!(u instanceof Date)){u=this._strToDate(u)}if(!(s instanceof Date)){s=this._strToDate(s)}if(u.getTime()>s.getTime()){return}this._rangeFrom=new Date(u.getFullYear(),u.getMonth(),u.getDate(),0,0,0,0).getTime();this._rangeTo=new Date(s.getFullYear(),s.getMonth(),s.getDate(),0,0,0,0).getTime();this._rangeActive=true;this._rangeType="in";q=true}if(!q&&u!=null&&s==null){if(!(u instanceof Date)){u=this._strToDate(u)}this._rangeFrom=new Date(u.getFullYear(),u.getMonth(),u.getDate(),0,0,0,0).getTime();this._rangeTo=null;if(a===true){this._rangeFrom++}this._rangeActive=true;this._rangeType="from";q=true}if(!q&&u==null&&s!=null){if(!(s instanceof Date)){s=this._strToDate(s)}this._rangeFrom=null;this._rangeTo=new Date(s.getFullYear(),s.getMonth(),s.getDate(),0,0,0,0).getTime();if(a===true){this._rangeTo--}this._rangeActive=true;this._rangeType="to";q=true}if(q){this._drawMonth(this._activeMonth)}};this.setInsensitiveRange=function(q,a){if(q!=null&&a!=null){if(!(q instanceof Date)){q=this._strToDate(q)}if(!(a instanceof Date)){a=this._strToDate(a)}if(q.getTime()>a.getTime()){return}this._rangeFrom=new Date(q.getFullYear(),q.getMonth(),q.getDate(),0,0,0,0).getTime();this._rangeTo=new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0).getTime();this._rangeActive=true;this._rangeType="out";this._drawMonth(this._activeMonth);return}if(q!=null&&a==null){this.setSensitiveRange(null,q,true);return}if(q==null&&a!=null){this.setSensitiveRange(a,null,true);return}};this.disableDays=function(x,w){if(x=="week"){if(typeof(w)!="object"&&typeof(w.length)=="undefined"){w=[w]}if(!this._rangeWeekData){this._rangeWeekData={}}for(var s in this._rangeWeekData){this._rangeWeekData[s]=false;delete this._rangeWeekData[s]}for(var v=0;v0){this.contMonth.firstChild.firstChild.removeChild(this.contMonth.firstChild.firstChild.lastChild)}this.contMonth.firstChild.removeChild(this.contMonth.firstChild.firstChild);this.contMonth.removeChild(this.contMonth.firstChild);this.contMonth.parentNode.removeChild(this.contMonth);this.contMonth=null;while(this.contDays.firstChild.childNodes.length>0){this.contDays.firstChild.removeChild(this.contDays.firstChild.lastChild)}this.contDays.removeChild(this.contDays.firstChild);this.contDays.parentNode.removeChild(this.contDays);this.contDays=null;this.contDates.onclick=null;this.contDates.ontouchstart=null;this.contDates.onmouseover=null;this.contDates.onmouseout=null;while(this.contDates.childNodes.length>0){while(this.contDates.lastChild.childNodes.length>0){this.contDates.lastChild.lastChild._css_date=null;this.contDates.lastChild.lastChild._css_month=null;this.contDates.lastChild.lastChild._css_weekend=null;this.contDates.lastChild.lastChild._css_hover=null;this.contDates.lastChild.lastChild._date=null;this.contDates.lastChild.lastChild._q=null;this.contDates.lastChild.lastChild._w=null;this.contDates.lastChild.removeChild(this.contDates.lastChild.lastChild)}this.contDates.removeChild(this.contDates.lastChild)}this.contDates.parentNode.removeChild(this.contDates);this.contDates=null;this.contTime.firstChild.firstChild.onclick=null;this.contTime.firstChild.firstChild.ontouchstart=null;while(this.contTime.firstChild.firstChild.childNodes.length>0){this.contTime.firstChild.firstChild.removeChild(this.contTime.firstChild.firstChild.lastChild)}this.contTime.firstChild.removeChild(this.contTime.firstChild.firstChild);this.contTime.removeChild(this.contTime.firstChild);this.contTime.parentNode.removeChild(this.contTime);this.contTime=null;this._lastHover=null;this._unloadSelector("month");this._unloadSelector("year");this._unloadSelector("hours");this._unloadSelector("minutes");if(this._selCover){this._selCover.parentNode.removeChild(this._selCover);this._selCover=null}if(this._sel){for(var q in this._sel._ta){this._sel._ta[q]=null}this._sel._ta=null;this._sel._t=null;this._sel.onmouseover=null;this._sel.onmouseout=null;while(this._sel.firstChild.firstChild.firstChild.childNodes.length>0){this._sel.firstChild.firstChild.firstChild.lastChild.onclick=null;this._sel.firstChild.firstChild.firstChild.lastChild.onmouseover=null;this._sel.firstChild.firstChild.firstChild.lastChild.onmouseout=null;this._sel.firstChild.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild.lastChild)}this._sel.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild);this._sel.firstChild.removeChild(this._sel.firstChild.firstChild);while(this._sel.childNodes.length>0){this._sel.removeChild(this._sel.lastChild)}this._sel.parentNode.removeChild(this._sel);this._sel=null}this.base.onclick=null;this.base.onmousedown=null;this.base.ontouchstart=null;this.base.onmouseout=null;this.base.parentNode.removeChild(this.base);this.base=null;this._clearDayHover=null;this._clearSelHover=null;this._doOnSelectorChange=null;this._doOnSelectorShow=null;this._drawMonth=null;this._fixLength=null;this._ifrSize=null;this._hide=null;this._hideSelector=null;this._initSelector=null;this._isSelectorVisible=null;this._isVisible=null;this._scrollYears=null;this._show=null;this._showSelector=null;this._strToDate=null;this._updateActiveHours=null;this._updateActiveMinutes=null;this._updateActiveMonth=null;this._updateActiveYear=null;this._updateCellStyle=null;this._updateDateStr=null;this._updateVisibleHours=null;this._updateVisibleMinutes=null;this._updateYearsList=null;this.enableIframe=null;this.hide=null;this.hideTime=null;this.setDate=null;this.setDateFormat=null;this.setYearsRange=null;this.show=null;this.showTime=null;this.unload=null;if(this._tipPopup!=null){this._tipPopup.unload();this._tipPopup=null}for(var q in this){delete this[q]}q=h=null};this.setDate(this._activeDate);return this}dhtmlXCalendarObject.prototype.lang="en";dhtmlXCalendarObject.prototype.langData={en:{dateformat:"%Y-%m-%d",hdrformat:"%F %Y",monthesFNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthesSNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],daysFNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysSNames:["Su","Mo","Tu","We","Th","Fr","Sa"],weekstart:1,weekname:"w",today:"Today",clear:"Clear"}};dhtmlXCalendarObject.prototype._buildMonthHdr=function(h){var c=this;var g=function(j){return(String(j).length==1?"0"+String(j):j)};var a=function(j,l){return""+l+""};var e=String(this.langData[this.lang].hdrformat||("%F %Y")).replace(/%[a-z]/gi,function(j){switch(j){case"%m":return a("month",g(h.getMonth()+1));case"%n":return a("month",h.getMonth()+1);case"%M":return a("month",c.langData[c.lang].monthesSNames[h.getMonth()]);case"%F":return a("month",c.langData[c.lang].monthesFNames[h.getMonth()]);case"%y":return a("year",g(h.getYear()%100));case"%Y":return a("year",h.getFullYear());case"%%":return"%";default:return j}});c=g=a=null;return e};dhtmlXCalendarObject.prototype.enableIframe=function(a){if(a==true){if(!this._ifr){this._ifr=document.createElement("IFRAME");this._ifr.frameBorder=0;this._ifr.border=0;this._ifr.setAttribute("src","javascript:false;");this._ifr.className="dhtmlxcalendar_ifr";this._ifr.onload=function(){this.onload=null;this.contentWindow.document.open("text/html","replace");this.contentWindow.document.write("")};this.base.parentNode.insertBefore(this._ifr,this.base);this._ifrSize()}}else{if(this._ifr){this._ifr.parentNode.removeChild(this._ifr);this._ifr=null}}};dhtmlXCalendarObject.prototype._ifrSize=function(){if(this._ifr){this._ifr.style.left=this.base.style.left;this._ifr.style.top=this.base.style.top;this._ifr.style.width=this.base.offsetWidth+"px";this._ifr.style.height=this.base.offsetHeight+"px"}};dhtmlxCalendarObject=dhtmlXCalendarObject;dhtmlXCalendarObject.prototype._dateStrings=function(){var a=this.langData[this.lang];return{monthFullName:a.monthesFNames,monthShortName:a.monthesSNames,dayFullName:a.daysFNames,dayShortName:a.daysSNames}};dhtmlXCalendarObject.prototype._strToDate=function(c,a){return window.dhx4.str2date(c,a||this._dateFormat,this._dateStrings())};dhtmlXCalendarObject.prototype._dateToStr=function(c,a){return window.dhx4.date2str(c,a||this._dateFormat,this._dateStrings())};window.dhtmlxDblCalendarObject=window.dhtmlXDoubleCalendarObject=window.dhtmlXDoubleCalendar=function(c){var a=this;this.leftCalendar=new dhtmlXCalendarObject(c);this.leftCalendar.hideTime();this.rightCalendar=new dhtmlXCalendarObject(c);this.rightCalendar.hideTime();this.leftCalendar.attachEvent("onClick",function(e){a._updateRange("rightCalendar",e,null);a._evOnClick(["left",e])});this.rightCalendar.attachEvent("onClick",function(e){a._updateRange("leftCalendar",null,e);a._evOnClick(["right",e])});this.leftCalendar.attachEvent("onBeforeChange",function(e){return a._evOnBeforeChange(["left",e])});this.rightCalendar.attachEvent("onBeforeChange",function(e){return a._evOnBeforeChange(["right",e])});this.show=function(){this.leftCalendar.show();this.rightCalendar.base.style.marginLeft=this.leftCalendar.base.offsetWidth-1+"px";this.rightCalendar.show()};this.hide=function(){this.leftCalendar.hide();this.rightCalendar.hide()};this.setDateFormat=function(e){this.leftCalendar.setDateFormat(e);this.rightCalendar.setDateFormat(e)};this.setDates=function(g,e){if(g!=null){this.leftCalendar.setDate(g)}if(e!=null){this.rightCalendar.setDate(e)}this._updateRange()};this._updateRange=function(e,h,g){if(arguments.length==3){(e=="leftCalendar"?this.leftCalendar:this.rightCalendar).setSensitiveRange(h,g)}else{this.leftCalendar.setSensitiveRange(null,this.rightCalendar.getDate());this.rightCalendar.setSensitiveRange(this.leftCalendar.getDate(),null)}};this.getFormatedDate=function(){return this.leftCalendar.getFormatedDate.apply(this.leftCalendar,arguments)};this.unload=function(){window.dhx4._eventable(this,"clear");this.leftCalendar.unload();this.rightCalendar.unload();this.leftCalendar=this.rightCalendar=null;this._updateRange=null;this._evOnClick=null;this._evOnBeforeChange=null;this.show=null;this.hide=null;this.setDateFormat=null;this.setDates=null;this.getFormatedDate=null;this.unload=null;a=null};this._evOnClick=function(e){return this.callEvent("onClick",e)};this._evOnBeforeChange=function(e){return this.callEvent("onBeforeChange",e)};window.dhx4._eventable(this);return this};function dhtmlXCombo(j,o,e,m,h){var l=this;var g=null;var r=null;if(typeof(j)=="object"&&!j.tagName){g=j;j=g.parent;e=g.width;o=g.name;m=g.mode;r=g.skin}this.cont=(typeof(j)=="string"?document.getElementById(j):j);this.conf={skin:null,form_name:o||"dhxcombo",combo_width:(parseInt(e)||this.cont.offsetWidth||120)-(dhx4.isFF||dhx4.isIE||dhx4.isChrome||dhx4.isOpera?2:0),combo_image:false,combo_focus:false,opts_type:(typeof(m)=="string"&&typeof(this.modes[m])!="undefined"?m:"option"),opts_count:8,opts_count_min:3,opts_width:null,item_h:null,list_zi_id:window.dhx4.newId(),allow_free_text:true,allow_empty_value:true,free_text_empty:false,enabled:true,btn_left:((window.dhx4.isIE6||window.dhx4.isIE7||window.dhx4.isIE8)&&typeof(window.addEventListener)=="undefined"?1:0),ro_mode:false,ro_text:"",ro_tm:null,ro_tm_time:750,img_path:"",img_def:"",img_def_dis:true,template:{header:true,input:"#text#",option:"#text#"},f_func:null,f_mode:false,f_url:false,f_cache:false,f_cache_data:{},f_dyn:false,f_dyn_end:false,f_mask:"",f_ac:true,f_ac_text:"",f_server_tm:null,f_server_last:"",f_loading:false,s_tm:null,s_time:200,s_mode:"select",last_hover:null,last_selected:null,last_match:null,last_text:"",last_value:"",tm_hover:null,tm_confirm_blur:null,clear_click:false,clear_blur:false,clear_bsp:false,clear_key:false,i_ofs:23,sp:{dhx_skyblue:{list_ofs:1,hdr_ofs:1,scr_ofs:1},dhx_web:{list_ofs:0,hdr_ofs:1,scr_ofs:0},dhx_terrace:{list_ofs:1,hdr_ofs:1,scr_ofs:1},material:{list_ofs:0,hdr_ofs:1,scr_ofs:1}},col_w:null};this.conf.combo_image=(this.modes[this.conf.opts_type].image==true);this.t={};this.base=document.createElement("DIV");this.base.style.width=this.conf.combo_width+"px";this.base.innerHTML="
    "+(this.conf.combo_image?"
    "+this.modes[this.conf.opts_type].getTopImage(null,this.conf.enabled)+"
    ":"");this.cont.appendChild(this.base);this.list=document.createElement("DIV");this.list._listId=window.dhx4.newId();this.list.style.display="none";document.body.insertBefore(this.list,document.body.firstChild);this._doOnListScroll=function(){if(l.conf.s_tm!=null){window.clearTimeout(l.conf.s_tm)}l.conf.s_tm=window.setTimeout(l._doOnListScrollAction,l.conf.s_time)};this._doOnListScrollAction=function(){l.conf.s_tm=null;if(l.conf.s_mode=="scroll"&&l.list.scrollHeight-l.list.scrollTop-100&&l.base.offsetHeight>0);if(F==true&&l.conf.enabled==true&&l.conf.combo_focus==true&&y!==true){if(l.conf.f_ac&&l.conf.f_mode=="start"&&l.conf.clear_bsp==false&&l.list.firstChild!=null){var E=l.list.firstChild._optId;var I=String(l.t[E].obj.getText(l.list.firstChild,true));if(v==l.base.firstChild.value&&String(I).toLowerCase().indexOf(String(v).toLowerCase())===0){l.base.firstChild.value=I;l.conf.f_ac_text=I.substr(v.length);l._selectRange(v.length,I.length)}}l._showList(true);l._checkForMatch()}a=null};if(window.dhx4.ajax.method=="post"){window.dhx4.ajax.post(l.conf.f_url,q,a)}else{if(window.dhx4.ajax.method=="get"){window.dhx4.ajax.get(l.conf.f_url+(String(l.conf.f_url).indexOf("?")>=0?"&":"?")+q,a)}}},200)}}else{this.conf.f_server_last=v.toLowerCase();var s=(v.length==0?true:new RegExp((this.conf.f_mode=="start"?"^":"")+this._fixRE(v),"i"));var w=null;for(var A in this.t){var D=false;if(s!==true){if(this.conf.f_func!=null){var x=this._getOption(this.t[A].item._optId,u);D=(this.conf.f_func.apply(window,[v,x])==true)}else{var C=this.t[A].obj.getText(this.t[A].item,true);D=(s.test(C)==true)}}if(s===true||D==true){this.t[A].item.style.display="";if(w==null&&v.length>0){w=String(this.t[A].obj.getText(this.t[A].item,true))}}else{this.t[A].item.style.display="none"}}if(this.conf.f_ac&&this.conf.f_mode=="start"&&this.conf.clear_bsp==false&&w!=null){this.conf.f_ac_text=w.replace(new RegExp("^"+v,"i"),"");this.base.firstChild.value=w;this._selectRange(this.conf.f_server_last.length,this.base.firstChild.value.length)}if(this.conf.f_mode=="between"&&this.conf.clear_bsp==true){this._checkForMatch(true)}if(y!==true){this._showList(true);this._checkForMatch()}}};this._searchRO=function(u){if(this.conf.ro_tm){window.clearTimeout(this.conf.ro_tm)}this.conf.ro_text+=u;this._showList();for(var v=0;v0){if(window.dhx4.s2b(I[0].getAttribute("add"))==true){A.add=true}var H=I[0].childNodes;for(var E=0;E=48&&a.keyCode<=57)||(a.keyCode>=65&&a.keyCode<=90))){l._searchRO(String.fromCharCode(a.keyCode).toLowerCase());a.cancelBubble=true}l.conf.clear_key=true;l.callEvent("onKeyPressed",[a.keyCode||a.charCode])};this._doOnInputKeyPress=function(a){if(l.conf.clear_key){l.conf.clear_key=false;return}a=a||event;l.callEvent("onKeyPressed",[a.keyCode||a.charCode])};this._keyOnUpDown=function(a){var q=null;if(this.conf.last_hover){q=this.t[this.conf.last_hover].item}else{if(this.conf.last_selected){q=this.t[this.conf.last_selected].item}}if(!q&&this._getListVisibleCount()==0){return}if(q!=null&&q.style.display!=""){q=null}this._showList();if(q!=null){if(this.t[q._optId].obj.isSelected(q)){q=this._getNearItem(q,a)}}else{q=this.list.firstChild;if(q.style.display!=""){q=this._getNearItem(q,1)}}if(q==null){return}this._setSelected(q._optId,true,true);if(this.conf.f_mode==false){this.base.firstChild.value=this.t[q._optId].obj.getText(q,true)}else{var s=String(this.t[q._optId].obj.getText(q,true));if(this.conf.f_mode=="start"&&this.conf.f_ac==true){if(s.toLowerCase().indexOf(this.conf.f_server_last)===0){this.conf.f_ac_text=s.substring(this.conf.f_server_last.length,s.length);this.base.firstChild.value=s;this._selectRange(this.conf.f_server_last.length,this.base.firstChild.value.length)}else{this.base.firstChild.value=s;this.conf.f_server_last=this.base.firstChild.value.toLowerCase();this._selectRange(0,this.base.firstChild.value.length)}}else{this.base.firstChild.value=s;this.conf.f_server_last=this.base.firstChild.value.toLowerCase()}}q=null};this.conf.evs_nodes=[{node:document.body,evs:{mousedown:"_doOnBodyMouseDown"}},{node:this.base,evs:{mousedown:"_doOnBaseMouseDown"}},{node:this.base.firstChild,evs:{keyup:"_doOnInputKeyUp",keydown:"_doOnInputKeyDown",keypress:"_doOnInputKeyPress",focus:"_doOnInputFocus",blur:"_doOnInputBlur"}},{node:this.list,evs:{mousemove:"_doOnListMouseMove",mousedown:"_doOnListMouseDown",mouseup:"_doOnListMouseUp",mouseout:"_doOnListMouseOut"}}];for(var c=0;c0){j.addOption(a.options)}a=null;g.parentNode.removeChild(g);g=null;return j}dhtmlXCombo.prototype.setName=function(a){this.conf.form_name=a;this.base.childNodes[1].name=a;this.base.childNodes[2].name=a.replace(/(\[.*)?$/,"_new_value$1")};dhtmlXCombo.prototype.readonly=function(a){if(window.dhx4.s2b(a)){this.base.firstChild.setAttribute("readOnly","true");this.conf.ro_mode=true}else{this.base.firstChild.removeAttribute("readOnly");this.conf.ro_mode=false}};dhtmlXCombo.prototype.setPlaceholder=function(a){if(typeof(a)=="undefined"||a==null){a=""}this.base.firstChild.setAttribute("placeholder",String(a))};dhtmlXCombo.prototype.setTemplate=function(e){for(var c in e){if(typeof(this.conf.template[c])!="undefined"){if(c=="header"){this.conf.template[c]=window.dhx4.s2b(e[c])}else{this.conf.template[c]=String(e[c])}}}if(e.columns!=null){this._mcMakeTemplate(e.columns)}else{this._mcDetachHeader()}for(var c in this.t){this.t[c].obj.setText(this.t[c].item,this.t[c].item._conf.text)}this._confirmSelect("template")};dhtmlXCombo.prototype.setSkin=function(a){if(a==this.conf.skin){return}this.conf.skin=a;this.base.className="dhxcombo_"+this.conf.skin+(this.conf.enabled?"":" dhxcombo_disabled");this.list.className="dhxcombolist_"+this.conf.skin+(this.hdr!=null?" dhxcombolist_multicolumn":"");if(this.hdr!=null){this.hdr.className="dhxcombolist_"+this.conf.skin+" dhxcombolist_hdr"}this.conf.i_ofs=(a=="material"?26:23);this._adjustBase()};dhtmlXCombo.prototype.getInput=function(){return this.base.firstChild};dhtmlXCombo.prototype.getButton=function(){return this.base.childNodes[this.base.childNodes.length-(this.conf.combo_image?2:1)]};dhtmlXCombo.prototype.getList=function(){return this.list};dhtmlXCombo.prototype.getBase=function(){return this.base};dhtmlXCombo.prototype.getParent=function(){return this.DOMParent};dhtmlXCombo.prototype.forEachOption=function(a){for(var c=0;c=this.list.childNodes.length){return}var g=this.list.childNodes[c]._optId;this._setSelected(g,this._isListVisible(),true);this._confirmSelect("script")};dhtmlXCombo.prototype.unSelectOption=function(){if(this.conf.last_hover!=null){this.t[this.conf.last_hover].obj.setSelected(this.t[this.conf.last_hover].item,false);this.conf.last_hover=null}this.base.firstChild.value="";if(this.conf.f_mode!=false){this._filterOpts(true)}this._hideList();this._updateTopImage(null);this._confirmSelect("script")};dhtmlXCombo.prototype.confirmValue=function(){this._confirmSelect("script")};dhtmlXCombo.prototype.enable=function(a){a=(typeof(a)=="undefined"?true:window.dhx4.s2b(a));if(this.conf.enabled==a){return}this.conf.enabled=a;if(a){this.base.className="dhxcombo_"+this.conf.skin;this.base.firstChild.removeAttribute("disabled")}else{this._hideList();this.base.className="dhxcombo_"+this.conf.skin+" dhxcombo_disabled";this.base.firstChild.setAttribute("disabled","true")}this._updateTopImage(this.conf.last_selected)};dhtmlXCombo.prototype.disable=function(a){a=(typeof(a)=="undefined"?true:window.dhx4.s2b(a));this.enable(!a)};dhtmlXCombo.prototype.isEnabled=function(){return(this.conf.enabled==true)};dhtmlXCombo.prototype.show=function(a){if(typeof(a)=="undefined"){a=true}else{a=window.dhx4.s2b(a)}this.base.style.display=(a==true?"":"none")};dhtmlXCombo.prototype.hide=function(a){if(typeof(a)=="undefined"){a=true}this.show(!a)};dhtmlXCombo.prototype.isVisible=function(){return(this.base.style.display=="")};dhtmlXCombo.prototype.setFilterHandler=function(a){if(typeof(a)=="function"){this.conf.f_func=a;this.conf.f_mode=true;this.conf.f_dyn=this.conf.f_cache=this.conf.f_url=null}else{if(typeof(a)=="string"&&typeof(window[a])=="function"){this.conf.f_func=window[a];this.conf.f_mode=true;this.conf.f_dyn=this.conf.f_cache=this.conf.f_url=null}else{this.conf.f_func=null}}};dhtmlXCombo.prototype.enableFilteringMode=function(g,c,a,e){if(g==true||g=="between"){this.conf.f_mode=(g==true?"start":"between");if(c){this.conf.f_url=c;this.conf.f_cache=window.dhx4.s2b(a);this.conf.f_dyn=window.dhx4.s2b(e)}else{this.conf.f_url=null;this.conf.f_cache=false;this.conf.f_dyn=false}}else{this.conf.f_mode=false;this.conf.f_url=null;this.conf.f_cache=false;this.conf.f_dyn=false}};dhtmlXCombo.prototype.filter=function(e,a){for(var g=0;gh?l:-1*l)})}else{if(typeof(e)=="function"||typeof(window[e])=="function"){if(typeof(window[e])=="function"){e=window[e]}a.sort(function(j,h){return e.apply(window,[j[1],h[1]])})}}while(this.list.childNodes.length>0){this.list.removeChild(this.list.lastChild)}for(var c=0;cn){n=null}var m=Math.min((n==null?e:n),this.conf.opts_count,r);var g=(ma){this.list.scrollTop=e-this.list.clientHeight+(this.hdr!=null&&this.conf.template.header==true?-this.conf.sp[this.conf.skin].scr_ofs:0)}}};dhtmlXCombo.prototype._setSelected=function(g,e,c,a){this.conf.temp_selected=null;if(c){this._updateTopImage(g)}if(g!=null&&this.conf.last_hover==g){if(e){this._scrollToItem(g)}return}if(this.conf.last_hover!=null){this.t[this.conf.last_hover].obj.setSelected(this.t[this.conf.last_hover].item,false);this.conf.last_hover=null;if(g==null){this.callEvent("onSelectionChange",[])}}if(g!=null){this.t[g].obj.setSelected(this.t[g].item,true);this.conf.last_hover=g;if(a!=true){this.conf.temp_selected=g;this.callEvent("onSelectionChange",[])}if(this.conf.s_mode=="select"&&this.t[g].item==this.t[g].item.parentNode.lastChild){this._subloadRequest()}if(e){this._scrollToItem(g)}}};dhtmlXCombo.prototype._subloadRequest=function(){if(this.conf.f_url!=null&&this.conf.f_dyn==true&&this.conf.f_dyn_end==false){var e="mask="+encodeURIComponent(this.conf.f_mask)+"&pos="+this.list.childNodes.length;var a=this;var c=function(h){if(a.conf.f_cache){a.conf.f_cache_data[a.conf.f_mask].data.push(h.xmlDoc.responseXML)}var g=a.list.childNodes.length;a.conf.f_loading=true;a.load(h.xmlDoc.responseXML);a.conf.f_loading=false;if(g==a.list.childNodes.length){a.conf.f_dyn_end=true;if(a.conf.f_cache){a.conf.f_cache_data[a.conf.f_mask].dyn_end=true}}c=a=null};if(window.dhx4.ajax.method=="post"){window.dhx4.ajax.post(this.conf.f_url,e,c)}else{if(window.dhx4.ajax.method=="get"){window.dhx4.ajax.get(this.conf.f_url+(String(this.conf.f_url).indexOf("?")>=0?"&":"?")+e,c)}}}};dhtmlXCombo.prototype.addOption=function(j,l,c,a,g){var e=null;if(!(j instanceof Array)){var m=this._renderOption({value:j,text:l,css:c,img:a});if(e==null&&window.dhx4.s2b(g)==true){e=m}}else{for(var h=0;h
    "+(n[l].option||" ")+"
    ";j+="
    "+(n[l].header||" ")+"
    ";this.conf.col_w+=a+1}var a=500;var c=document.createElement("DIV");c.style.position="absolute";c.style.top="10px";c.style.left=-a*2+"px";c.style.width=a+"px";c.style.height="50px";c.style.overflowY="scroll";c.innerHTML="
     
    ";document.body.appendChild(c);this.conf.col_w+=a-c.firstChild.offsetWidth+10;c.parentNode.removeChild(c);c=null;this.conf.template.option=g;this._mcAttachHeader(j);this.list.className+=" dhxcombolist_multicolumn"};dhtmlXCombo.prototype._mcAttachHeader=function(a){if(this.hdr==null){this.hdr=document.createElement("DIV");this.hdr.className="dhxcombolist_"+this.conf.skin+" dhxcombolist_hdr";this.hdr.style.display="none";this.list.parentNode.insertBefore(this.hdr,this.list);if(typeof(window.addEventListener)=="function"){this.hdr.addEventListener("mousedown",this._doOnListMouseDown,false)}else{this.hdr.attachEvent("onmousedown",this._doOnListMouseDown)}if(this.conf.opts_type=="checkbox"&&this.conf.combo_image==true){this.conf.combo_image=false;if(this.base.lastChild.className.match(/dhxcombo_top_image/)!=null){this.base.removeChild(this.base.lastChild)}this._adjustBase()}}this.hdr.innerHTML="
    "+a+"
    "};dhtmlXCombo.prototype._mcDetachHeader=function(){if(this.hdr!=null){if(typeof(window.addEventListener)=="function"){this.hdr.removeEventListener("mousedown",this._doOnListMouseDown,false)}else{this.hdr.detachEvent("onmousedown",this._doOnListMouseDown)}this.hdr.parentNode.removeChild(this.hdr);this.hdr=null}this.conf.col_w=null;this.conf.item_h=null};dhtmlXCombo.prototype.modes={};dhtmlXCombo.prototype.doWithItem=function(a,l,h,e){var j=(a>=0&&a ";if(c.css!=null){a.lastChild.style.cssText=c.css;a._conf.css=c.css}this.setText(a,c.text);return this},destruct:function(a){a._conf=null},update:function(a,c){a._conf.value=c.value;a._conf.css=c.css;a.lastChild.style.cssText=c.css;this.setText(a,c.text)},setText:function(e,g,c){e._conf.text=g;var a=(typeof(g)=="object"?window.dhx4.template(e._tpl.option,this.replaceHtml(e._conf.text,c),true):window.dhx4.trim(this.replaceHtml(e._conf.text,c)||""));e.lastChild.innerHTML=(a.length==0?" ":a)},getText:function(e,a,c){if(window.dhx4.s2b(a)&&typeof(e._conf.text)=="object"){return window.dhx4.template(e._tpl.input,e._conf.text,true)}if(window.dhx4.s2b(c)&&typeof(e._conf.text)=="object"){return window.dhx4.template(e._tpl.option,e._conf.text,true)}return e._conf.text},getValue:function(a){return a._conf.value},getCss:function(a){return a._conf.css},setSelected:function(a,c){a.className="dhxcombo_option"+(c?" dhxcombo_option_selected":"")},isSelected:function(a){return String(a.className).indexOf("dhxcombo_option_selected")>=0},getExtraData:function(a){return{type:"option"}},replaceHtml:function(h,g){if(h===0){h="0"}if(this.html==true){return h}if(typeof(g)=="undefined"||g==null){g={}}if(typeof(h)=="object"&&h){var e={};for(var c in h){e[c]=(g[c]==true?h[c]:this.replaceHtml(h[c]))}}else{var e=(h||"").replace(/[\<\>\&\s]/g,function(a){switch(a){case"<":return"<";case">":return">";case"&":return"&";case" ":return" "}return a})}return e}};dhtmlXCombo.prototype.modes.checkbox={image:true,html:false,image_css:"dhxcombo_checkbox dhxcombo_chbx_#state#",option_css:"dhxcombo_option_text dhxcombo_option_text_chbx",render:function(c,e){if(this.image_css_regexp==null){this.image_css_regexp=new RegExp(this.image_css.replace("#state#","\\d*"))}c._conf={value:e.value,css:"",checked:window.dhx4.s2b(e.checked)};c.className="dhxcombo_option";var a={};if(e.multicol==true){e.text.checkbox="
     ";a.checkbox=true;c.innerHTML="
    "}else{c.innerHTML="
     
    "}if(e.css!=null){c.lastChild.style.cssText+=e.css;c._conf.css=e.css}this.setText(c,e.text,a);return this},setChecked:function(c,e){c._conf.checked=window.dhx4.s2b(e);var a=String(this.image_css).replace("#state#",(c._conf.checked?"1":"0"));this._changeChbxCss(c.childNodes,a)},_changeChbxCss:function(a,c){for(var e=0;e0){this._changeChbxCss(a[e].childNodes,c)}}}},isChecked:function(a){return(a._conf.checked==true)},getExtraData:function(a){return{type:"checkbox",checked:a._conf.checked}},optionClick:function(h,g,j){var e=true;var c=(g.target||g.srcElement);while(e==true&&c!=null&&c!=h&&c.className!=null){if(c.className.match(this.image_css_regexp)!=null){var a=[h._conf.value,!h._conf.checked];if(j.callEvent("onBeforeCheck",a)===true){this.setChecked(h,!this.isChecked(h));j.callEvent("onCheck",a)}e=false;a=null}else{c=c.parentNode}}c=j=h=null;return e},getTopImage:function(c,a){return""},topImageClick:function(a,c){return true}};dhtmlXComboExtend("checkbox","option");dhtmlXCombo.prototype.setChecked=function(a,c){this.doWithItem(a,"setChecked",c)};dhtmlXCombo.prototype.getChecked=function(a){var c=[];for(var e=0;e
     
    ";if(c.css!=null){a.lastChild.style.cssText+=c.css;a._conf.css=c.css}this.setText(a,c.text);this.setImage(a,c.img,c.img_dis,c.img_path,c.img_def,c.img_def_dis);return this},update:function(a,c){a._conf.value=c.value;a._conf.css=c.css;a.lastChild.style.cssText=c.css;this.setText(a,c.text);this.setImage(a,c.img,c.img_dis,c.img_path,c.img_def,c.img_def_dis)},setImage:function(e,a,h,j,g,c){if(a!=null&&a.length>0){a=j+a}else{if(g!=null&&g.length>0){a=j+g}else{a=null}}if(h!=null&&h.length>0){h=j+h}else{if(c!=null&&c.length>0){h=j+c}else{if(c==true){h=a}else{h=null}}}e._conf.img=a;e._conf.img_dis=h;e.firstChild.style.backgroundImage=(a!=null?"url("+a+")":"none")},getExtraData:function(a){return{type:"image"}},getTopImage:function(g,e){var c=(e?"img":"img_dis");if(g!=null&&g._conf[c]!=null){return"
    "}return""}};dhtmlXComboExtend("image","option");dhtmlXCombo.prototype.setDefaultImage=function(a,c){if(a!=null){this.conf.img_def=a}if(c!=null){this.conf.img_def_dis=c}};dhtmlXCombo.prototype.setImagePath=function(a){this.conf.img_path=a};function dhtmlXColorPicker(m){if(!(this instanceof window.dhtmlXColorPicker)){return new dhtmlXColorPicker(m)}dhx4._eventable(this);var h=this,g=undefined,j=null,e,a,c;this._nodes=[];this.activeNode=null;this._inputListenerId=null;this.base=null;this._globalNode=null;this.memory=null;this.skin=null;this.conf={cp_id:dhx4.newId(),x:0,y:0,c:0,indent:2,position:"right",customColors:false,selectedColor:null,hide:false,hideOnSelect:false,lang:"en",closeable:true};this.value={red:-1,blue:-1,green:-1,hue:-1,sat:-1,lum:-1};this._initMoveSelection=function(l){l=l||event;if(typeof(window.addEventListener)=="function"){h._controllerNodes.colorArea.addEventListener("mousemove",h._setMoveSelection,false);document.body.addEventListener("mouseup",h._cleanMoveSelection,false)}else{h._controllerNodes.colorArea.attachEvent("onmousemove",h._setMoveSelection);document.body.attachEvent("onmouseup",h._cleanMoveSelection)}h._setMoveSelection(l,h._controllerNodes.colorArea);return false};this._cleanMoveSelection=function(){if(typeof(window.removeEventListener)=="function"){h._controllerNodes.colorArea.removeEventListener("mousemove",h._setMoveSelection,false);document.body.removeEventListener("mouseup",h._cleanMoveSelection,false)}else{h._controllerNodes.colorArea.detachEvent("onmousemove",h._setMoveSelection);document.body.detachEvent("onmouseup",h._cleanMoveSelection)}return false};this._setMoveSelection=function(l){l=l||event;var n=h._getOffsetPosition(l,h._controllerNodes.colorArea);if(h._controllerNodes.fr_cover){setTimeout(function(){h._setColorAreaXY(n.x,n.y);h._setColorByXYC()},0)}else{h._setColorAreaXY(n.x,n.y);h._setColorByXYC()}return false};this._initMoveContrast=function(l){l=l||event;if(typeof(window.addEventListener)=="function"){document.body.addEventListener("mousemove",h._setMoveContrast,false);document.body.addEventListener("mouseup",h._cleanMoveContrast,false)}else{document.body.attachEvent("onmousemove",h._setMoveContrast);document.body.attachEvent("onmouseup",h._cleanMoveContrast)}h._setMoveContrast(l,h._controllerNodes.contrastArea)};this._cleanMoveContrast=function(){if(typeof(window.removeEventListener)=="function"){document.body.removeEventListener("mousemove",h._setMoveContrast,false);document.body.removeEventListener("mouseup",h._cleanMoveContrast,false)}else{document.body.detachEvent("onmousemove",h._setMoveContrast);document.body.detachEvent("onmouseup",h._cleanMoveContrast)}};this._setMoveContrast=function(l){l=l||event;var n=h._getOffsetPosition(l,h._controllerNodes.contrastArea);h._setContrastY(n.y);h._setColorByXYC(true)};this._doOnSelectColor=function(){var l=h.colorAIP.rgb2hex({r:h.value.red,g:h.value.green,b:h.value.blue});if(h.activeNode!=null){if(h.activeNode.valueCont){h.activeNode.valueCont.value=l}if(h.activeNode.valueColor){h.activeNode.valueColor.style.backgroundColor=l}}if(h.base._dhx_remove||h.conf.hideOnSelect){h.hide()}h.callEvent("onSelect",[l,((h.activeNode)?h.activeNode.node:null)])};this._doOnCancel=function(){if(h.callEvent("onCancel",[((h.activeNode)?h.activeNode.node:null)])==true&&h.conf.closeable==true){h.hide()}};this._doOnFocusByInput=function(){var n=(this!=window)?this:event.srcElement;var l=(h.activeNode&&h.activeNode.valueCont&&h.activeNode.valueCont==n)?h.activeNode:h._getNodeByValueCont(n);h.activeNode=l;if(l&&l==h.activeNode){h._initListenerInput()}};this._doOnBlurByInput=function(){var n=(this!=window)?this:event.srcElement;var l=(h.activeNode&&h.activeNode.valueCont&&h.activeNode.valueCont==n)?h.activeNode:h._getNodeByValueCont(n);if(l&&l==h.activeNode){h._removeListenerInput()}};this._doOnClickByNode=function(n){n=n||event;var l=(this!=window)?this:event.srcElement;h.activeNode=(h.activeNode.node!=l)?h._getNodeByElement(l):h.activeNode;if(!h.isVisible()){h.show()}};this.saveColor=function(){h.memory.setValue(h.value)};this._onSelectMemoryEl=function(n){var l;h._refreshCoordinatesByHSL(n.value.hue,n.value.sat,n.value.lum);for(l in n.value){h.value[l]=n.value[l]}h._refreshContrast();h._refreshInputValues();h._refreshColorValue()};this._doOnClickByBody=function(o){o=o||event;var l=true,n=o.target||o.srcElement;if(h._isBaseNode(n)){l=false}if(l&&h.activeNode&&(h.activeNode.node==n||h.activeNode.valueCont==n)){l=false}if(l){h.hide()}};this._doOnChangeHSL=function(){var o=parseInt(h._controllerNodes.hue.value),n=parseInt(h._controllerNodes.sat.value),l=parseInt(h._controllerNodes.lum.value),q;if(isNaN(o)||o>359||o<0){h._controllerNodes.hue.value=h.value.hue}else{h.value.hue=o}if(isNaN(n)||n>100||n<0){h._controllerNodes.sat.value=h.value.sat}else{h.value.sat=n}if(isNaN(l)||l>100||l<0){h._controllerNodes.lum.value=h.value.lum}else{h.value.lum=l}q=h.colorAIP.hsl2rgb(h.value.hue,h.value.sat/100,h.value.lum/100);h.value.red=Math.round(255*q.r);h.value.green=Math.round(255*q.g);h.value.blue=Math.round(255*q.b);h._refreshCoordinatesByHSL(h.value.hue,h.value.sat,h.value.lum);h._refreshContrast();h._refreshInputValues();h._refreshColorValue()};this._doOnChangeRGB=function(){var q=parseInt(h._controllerNodes.red.value),o=parseInt(h._controllerNodes.green.value),l=parseInt(h._controllerNodes.blue.value),n;if(isNaN(q)||q>255||q<0){h._controllerNodes.red.value=h.value.red}else{h.value.red=q}if(isNaN(o)||o>255||o<0){h._controllerNodes.green.value=h.value.green}else{h.value.green=o}if(isNaN(l)||l>255||l<0){h._controllerNodes.blue.value=h.value.blue}else{h.value.blue=l}n=h.colorAIP.rgb2hsl(h.value.red/255,h.value.green/255,h.value.blue/255);h.value.hue=Math.round(n.h);h.value.sat=Math.round(n.s*100);h.value.lum=Math.round(n.l*100);h._refreshCoordinatesByHSL(h.value.hue,h.value.sat,h.value.lum);h._refreshContrast();h._refreshInputValues();h._refreshColorValue()};this._doOnChangeHSV=function(){h._controllerNodes.hsv.value=h.setColor(h._controllerNodes.hsv.value)};this._checkType=function(n){var l;if(n instanceof Array){l=h._checkType(n[0]);switch(l){case"string":return"array_string";break;case"input":case"textarea":return"array_input";break;case"object":return"array_object";break;default:return undefined}}else{if(n==undefined){return null}else{if(typeof(n)=="string"){return"string"}else{if(n.tagName&&n.tagName.toLowerCase()=="input"){return"input"}else{if(n.tagName&&n.tagName.toLowerCase()=="textarea"){return"textarea"}else{if(n.tagName){return"container"}else{if(typeof(n)=="object"){return"object"}else{return undefined}}}}}}}};this._initByObject=function(l){if(l.parent&&l.parent.tagName){h.base=l.parent}else{if(typeof(l.parent)=="string"){h.base=document.getElementById(l.parent)}else{h.base=document.createElement("div");h.base._dhx_remove=true}}if(l.color){h.conf.selectedColor=l.color}if(typeof(l.closeable)!="undefined"){this.conf.closeable=dhx4.s2b(l.closeable)}if(l.custom_colors){this._tempInitCC=function(){var q,o;this.initMemoryColors();this.conf.customColors=true;if(l.custom_colors instanceof Array){o=l.custom_colors.length;for(q=0;q
    "+this.i18n[this.conf.lang].labelHue+""+this.i18n[this.conf.lang].labelRed+"
    "+this.i18n[this.conf.lang].labelSat+""+this.i18n[this.conf.lang].labelGreen+"
    "+this.i18n[this.conf.lang].labelLum+""+this.i18n[this.conf.lang].labelBlue+"
    ";"";this._globalNode=this.base.firstChild;this._controllerNodes={colorArea:this._globalNode.firstChild.firstChild.firstChild,v_line:this._globalNode.firstChild.firstChild.firstChild.childNodes[0],h_line:this._globalNode.firstChild.firstChild.firstChild.childNodes[1],contrastArea:this._globalNode.firstChild.firstChild.childNodes[1],contrast_line:this._globalNode.firstChild.firstChild.childNodes[1].firstChild,color:this._globalNode.firstChild.childNodes[1].childNodes[0].firstChild,hsv:this._globalNode.firstChild.childNodes[1].childNodes[0].childNodes[1],hue:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[1].firstChild,sat:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[1].firstChild,lum:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[1].firstChild,red:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[3].firstChild,green:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[3].firstChild,blue:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[3].firstChild,memory_block:this._globalNode.firstChild.childNodes[2],button_save:this._globalNode.firstChild.childNodes[3].firstChild,button_cancel:this._globalNode.firstChild.childNodes[3].childNodes[1]};this._labelNodes={labelHue:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].firstChild,labelSat:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].firstChild,labelLum:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].firstChild,labelRed:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[2],labelGreen:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[2],labelBlue:this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[2],btnAddColor:null,btnSelect:this._globalNode.firstChild.childNodes[3].firstChild,btnCancel:this._globalNode.firstChild.childNodes[3].childNodes[1]};if(typeof(this._tempInitCC)=="function"){this._tempInitCC()}if(typeof(window.addEventListener)=="function"){this._controllerNodes.colorArea.addEventListener("mousedown",this._initMoveSelection,false);this._controllerNodes.colorArea.addEventListener("dblclick",this._doOnSelectColor,false);this._controllerNodes.contrastArea.addEventListener("mousedown",this._initMoveContrast,false);this._controllerNodes.button_save.addEventListener("click",this._doOnSelectColor,false);this._controllerNodes.button_cancel.addEventListener("click",this._doOnCancel,false);this._controllerNodes.hue.addEventListener("change",this._doOnChangeHSL,false);this._controllerNodes.sat.addEventListener("change",this._doOnChangeHSL,false);this._controllerNodes.lum.addEventListener("change",this._doOnChangeHSL,false);this._controllerNodes.red.addEventListener("change",this._doOnChangeRGB,false);this._controllerNodes.green.addEventListener("change",this._doOnChangeRGB,false);this._controllerNodes.blue.addEventListener("change",this._doOnChangeRGB,false);this._controllerNodes.hsv.addEventListener("change",this._doOnChangeHSV,false)}else{this._controllerNodes.colorArea.attachEvent("onmousedown",this._initMoveSelection);this._controllerNodes.colorArea.attachEvent("ondblclick",this._doOnSelectColor);this._controllerNodes.contrastArea.attachEvent("onmousedown",this._initMoveContrast);this._controllerNodes.button_save.attachEvent("onclick",this._doOnSelectColor);this._controllerNodes.button_cancel.attachEvent("onclick",this._doOnCancel);this._controllerNodes.hue.attachEvent("onchange",this._doOnChangeHSL);this._controllerNodes.sat.attachEvent("onchange",this._doOnChangeHSL);this._controllerNodes.lum.attachEvent("onchange",this._doOnChangeHSL);this._controllerNodes.red.attachEvent("onchange",this._doOnChangeRGB);this._controllerNodes.green.attachEvent("onchange",this._doOnChangeRGB);this._controllerNodes.blue.attachEvent("onchange",this._doOnChangeRGB);this._controllerNodes.hsv.attachEvent("onchange",this._doOnChangeHSV)}this.setColor(this.conf.selectedColor||"#ffffff");if(this._nodes.length){for(var e=0;e
    ";this.memory=new this.Memory(this._controllerNodes.memory_block.childNodes[1]);this.memory.onSelect=this._onSelectMemoryEl;this.memory.onSave=function(g){var e=c.colorAIP.rgb2hex({r:g.red,g:g.green,b:g.blue});c.callEvent("onSaveColor",[e])};var a=this._controllerNodes.memory_block.childNodes[0].firstChild;this._labelNodes.btnAddColor=this._controllerNodes.memory_block.childNodes[0].firstChild.firstChild;if(typeof(window.addEventListener)=="function"){a.addEventListener("click",this.saveColor,false)}else{a.attachEvent("onclick",this.saveColor)}};dhtmlXColorPicker.prototype._refreshCoordinatesByHSL=function(m,j,c){var a,g,e;a=Math.round((this.configColorArea.maxX-this.configColorArea.minX)*m/359)+this.configColorArea.minX;g=Math.round((this.configColorArea.maxY-this.configColorArea.minY)*(100-c)/100)+this.configColorArea.minY;e=Math.round((this.configColorArea.maxY-this.configColorArea.minY)*(100-j)/100)+this.configColorArea.minY;this._setColorAreaXY(a,g);this._setContrastY(e)};dhtmlXColorPicker.prototype._parseColor=function(e){if(e instanceof Array){var c={r:parseInt(e[0]),g:parseInt(e[1]),b:parseInt(e[2])}}else{if(typeof(e)=="string"){e=e.replace(/\s/g,"");if(/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i.test(e)){var a=e.match(/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i);var c={r:parseInt(a[1]),g:parseInt(a[2]),b:parseInt(a[3])}}else{var c=this.colorAIP.hex2rgb(e)}}}return c};dhtmlXColorPicker.prototype.setColor=function(j){var c=this.colorAIP.rgb2hex({r:this.value.red,g:this.value.green,b:this.value.blue});var e=this._parseColor(j);var h=(e instanceof Object);h=h&&(0<=e.r&&e.r<=255);h=h&&(0<=e.g&&e.g<=255);h=h&&(0<=e.b&&e.b<=255);if(!h){return c}var g=this.colorAIP.rgb2hex({r:e.r,g:e.g,b:e.b});if(g==c){return c}this.value.red=e.r;this.value.green=e.g;this.value.blue=e.b;var a=this.colorAIP.rgb2hsl(e.r/255,e.g/255,e.b/255);this.value.hue=Math.round(a.h);this.value.sat=Math.round(a.s*100);this.value.lum=Math.round(a.l*100);this._refreshCoordinatesByHSL(this.value.hue,this.value.sat,this.value.lum);this._refreshContrast();this._refreshInputValues();this._refreshColorValue();return g};dhtmlXColorPicker.prototype.getSelectedColor=function(){return[this.colorAIP.rgb2hex({r:this.value.red,g:this.value.green,b:this.value.blue}),[this.value.red,this.value.green,this.value.blue],[this.value.hue,this.value.sat,this.value.lum]]};dhtmlXColorPicker.prototype._attachEventsToNode=function(a){if(typeof(window.addEventListener)=="function"){a.node.addEventListener("click",this._doOnClickByNode,false)}else{a.node.attachEvent("onclick",this._doOnClickByNode)}if(a.valueCont&&a.valueCont.tagName.toLowerCase()=="input"){if(typeof(window.addEventListener)=="function"){a.valueCont.addEventListener("focus",this._doOnFocusByInput,false);a.valueCont.addEventListener("blur",this._doOnBlurByInput,false)}else{a.valueCont.attachEvent("onfocus",this._doOnFocusByInput);a.valueCont.attachEvent("onblur",this._doOnBlurByInput)}}};dhtmlXColorPicker.prototype._detachEventsFromNode=function(a){if(typeof(window.addEventListener)=="function"){a.node.removeEventListener("click",this._doOnClickByNode,false)}else{a.node.detachEvent("onclick",this._doOnClickByNode)}if(a.valueCont&&a.valueCont.tagName.toLowerCase()=="input"){if(typeof(window.addEventListener)=="function"){a.valueCont.removeEventListener("focus",this._doOnFocusByInput,false);a.valueCont.removeEventListener("blur",this._doOnBlurByInput,false)}else{a.valueCont.detachEvent("onfocus",this._doOnFocusByInput);a.valueCont.detachEvent("onblur",this._doOnBlurByInput)}}};dhtmlXColorPicker.prototype.show=function(c){var a=false;if(c!=undefined){this.activeNode=this.getNode(c)||this.activeNode}if(this.activeNode&&this.activeNode.valueCont&&this.activeNode.valueCont.value){this.setColor(this.activeNode.valueCont.value)}if(this.activeNode){a=(this.activeNode.conf.customColors!=null?this.activeNode.conf.customColors:this.conf.customColors);this.setColor(this.activeNode.conf.selectedColor)}else{a=this.conf.customColors}if(a){this.showMemory()}else{this.hideMemory()}if(this.base._dhx_remove){this.base.firstChild.style.zIndex=dhx4.zim.reserve(this.conf.cp_id);this.base.style.visibility="hidden";if(document.body.firstChild){document.body.insertBefore(this.base,document.body.firstChild)}else{document.body.appendChild(this.base)}this._refreshPosition();this.base.style.visibility="visible";if(typeof(window.addEventListener)=="function"){document.body.addEventListener("mousedown",this._doOnClickByBody,false)}else{document.body.attachEvent("onmousedown",this._doOnClickByBody)}}else{this.base.appendChild(this._globalNode)}if(this._controllerNodes.fr_cover){this.base.insertBefore(this._controllerNodes.fr_cover,this._globalNode)}this.callEvent("onShow",[((this.activeNode)?this.activeNode.node:null)])};dhtmlXColorPicker.prototype.setPosition=function(c,h){var g=null;var a=parseInt(c);var e=parseInt(h);if(isNaN(a)){g=({right:"right",bottom:"bottom"}[c.toLowerCase()]?c:null)}if(this.base._dhx_remove){if(g==null){}else{this.conf.position=g;this._refreshPosition(g)}}else{if(isNaN(a)||isNaN(e)){}else{this._globalNode.style.left=a+"px";this._globalNode.style.top=e+"px";if(this._controllerNodes.fr_cover){this._controllerNodes.fr_cover.style.left=this._globalNode.style.left;this._controllerNodes.fr_cover.style.top=this._globalNode.style.top}}}};dhtmlXColorPicker.prototype._initListenerInput=function(){var a=this;this._inputListenerId=this._inputListenerId||setInterval(function(){a._refreshValueByInput()},70)};dhtmlXColorPicker.prototype._removeListenerInput=function(){if(this._inputListenerId){clearInterval(this._inputListenerId);this._inputListenerId=null}};dhtmlXColorPicker.prototype._refreshValueByInput=function(){var c=this.activeNode.valueCont.value,a=this.getSelectedColor()[0];if(this._inputListenerId){if(/^#[\da-f]{6}$/i.test(c)&&c!=a){this.setColor(c);this.callEvent("onSelect",[c,this.activeNode.node])}}};dhtmlXColorPicker.prototype._refreshPosition=function(c){if(this.activeNode==null){return}var m=dhx4.absTop(this.activeNode.node);var a=dhx4.absLeft(this.activeNode.node);var g=dhx4.screenDim();var e=this._globalNode.offsetWidth;var h=this._globalNode.offsetHeight;var l=0;c=c||this.conf.position;switch(c){case"bottom":var l=m+this.activeNode.node.offsetHeight+this.conf.indent;var j=a;if(j+e>g.left+g.right){j=a+this.activeNode.node.offsetWidth-e}if(jg.top+g.bottom){l=m-h-this.conf.indent}if(l-g.top<0){l=g.top+this.conf.indent}this._globalNode.style.top=l+"px";this._globalNode.style.left=j+"px";break;default:var j=a+this.activeNode.node.offsetWidth+this.conf.indent;l=m;if(c=="right"){if(j+e>g.left+g.right){j=a-e-this.conf.indent}if(ja){this.conf.x=c.minX}else{if(a>c.maxX){this.conf.x=c.maxX}else{if(!isNaN(a)){this.conf.x=a}}}e=parseInt(e);if(c.minY>e){this.conf.y=c.minY}else{if(e>c.maxY){this.conf.y=c.maxY}else{if(!isNaN(e)){this.conf.y=e}}}this._refreshLines()};dhtmlXColorPicker.prototype._setColorByXYC=function(c){c=c||false;this.value.hue=Math.round((359*(this.conf.x-this.configColorArea.minX))/(this.configColorArea.maxX-this.configColorArea.minX));this.value.lum=Math.round(100-(100*(this.conf.y-this.configColorArea.minY))/(this.configColorArea.maxY-this.configColorArea.minY));this.value.sat=Math.round(100-(100*(this.conf.c-this.configColorArea.minY))/(this.configColorArea.maxY-this.configColorArea.minY));var a=this.colorAIP.hsl2rgb(this.value.hue,this.value.sat/100,this.value.lum/100);this.value.red=Math.round(255*a.r);this.value.green=Math.round(255*a.g);this.value.blue=Math.round(255*a.b);if(!c){this._refreshContrast()}this._refreshInputValues();this._refreshColorValue()};dhtmlXColorPicker.prototype._setContrastY=function(c){var a=this.configColorArea;c=parseInt(c);if(!isNaN(c)){this.conf.c=Math.min(Math.max(a.minY,c),a.maxY)}this._refreshContrastLine()};dhtmlXColorPicker.prototype._refreshInputValues=function(){this._controllerNodes.hue.value=this.value.hue;this._controllerNodes.sat.value=this.value.sat;this._controllerNodes.lum.value=this.value.lum;this._controllerNodes.red.value=this.value.red;this._controllerNodes.green.value=this.value.green;this._controllerNodes.blue.value=this.value.blue};dhtmlXColorPicker.prototype._refreshColorValue=function(){this._controllerNodes.color.style.backgroundColor="rgb("+[this.value.red,this.value.green,this.value.blue].join(", ")+")";var a=this.colorAIP.rgb2hex({r:this.value.red,g:this.value.green,b:this.value.blue});this._controllerNodes.hsv.value=a;this.callEvent("onChange",[a])};dhtmlXColorPicker.prototype._refreshContrast=function(){var g=this.colorAIP.hsl2rgb(this.value.hue,0,this.value.lum/100);var h=this.colorAIP.hsl2rgb(this.value.hue,1,this.value.lum/100);var e=this._checkIeVersion();if(e&&e<=9){var l=this._controllerNodes.contrastArea.firstChild;if(l==this._controllerNodes.contrast_line){l=document.createElement("div");l.className+="dhxcp_ie_gradient";this._controllerNodes.contrastArea.appendChild(l);this._controllerNodes.contrastArea.appendChild(this._controllerNodes.contrast_line)}var c=this.colorAIP.rgb2hex({r:Math.round(255*g.r),g:Math.round(255*g.g),b:Math.round(255*g.b)});var a=this.colorAIP.rgb2hex({r:Math.round(255*h.r),g:Math.round(255*h.g),b:Math.round(255*h.b)});l.style.filter="progid:DXImageTransform.Microsoft.gradient(startColorstr='"+a+"', endColorstr='"+c+"', GradientType=0)"}else{g=[Math.round(255*g.r),Math.round(255*g.g),Math.round(255*g.b)];h=[Math.round(255*h.r),Math.round(255*h.g),Math.round(255*h.b)];var j="linear-gradient(rgb("+h.join(",")+"), rgb("+g.join(",")+"))";if(window.dhx4.isKHTML==true&&navigator.userAgent.match(/Windows/gi)!=null){j="-webkit-"+j}this._controllerNodes.contrastArea.style.backgroundImage=j}};dhtmlXColorPicker.prototype._refreshLines=function(){this._controllerNodes.v_line.style.left=this.conf.x+"px";this._controllerNodes.h_line.style.top=this.conf.y+"px"};dhtmlXColorPicker.prototype._refreshContrastLine=function(){this._controllerNodes.contrast_line.style.top=this.conf.c+"px"};dhtmlXColorPicker.prototype._getOffsetPosition=function(h,a){var c={x:NaN,y:NaN},g=h.target||h.srcElement;if(g==a){c.x=(h.offsetX!=undefined)?h.offsetX:h.layerX;c.y=(h.offsetY!=undefined)?h.offsetY:h.layerY}else{if(g==this._controllerNodes.v_line){c.y=(h.offsetY!=undefined)?h.offsetY:h.layerY}else{c.x=(h.offsetX!=undefined)?h.offsetX:h.layerX}}return c};dhtmlXColorPicker.prototype.colorAIP={hex2rgb:function(c){var a=c.match(/^(#)([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i);if(a!=null){return{r:parseInt("0x"+a[2]),g:parseInt("0x"+a[3]),b:parseInt("0x"+a[4])}}else{return null}},rgb2hex:function(h){var e=parseInt(h.r),c=parseInt(h.g),a=parseInt(h.b);e=e||0,c=c||0,a=a||0;return"#"+((e)?((e<16)?"0"+e.toString(16):e.toString(16)):"00")+((c)?((c<16)?"0"+c.toString(16):c.toString(16)):"00")+((a)?((a<16)?"0"+a.toString(16):a.toString(16)):"00")},rgb2hsl:function(n,m,e){var l,j,c;var a=Math.max(n,m,e),h=Math.min(n,m,e);c=0.5*(a+h);if(a==h){l=0}else{if(a==n){l=60*(m-e)/(a-h);if(m1){c[g]-=1}}if(c[g]<1/6){a.push(j+(h-j)*6*c[g])}else{if(c[g]<0.5){a.push(h)}else{if(c[g]<2/3){a.push(j+(h-j)*(2/3-c[g])*6)}else{a.push(j)}}}}return{r:a[0],g:a[1],b:a[2]}}};dhtmlXColorPicker.prototype._checkIeVersion=function(){var a;var c=navigator.userAgent.match(/(MSIE)\s(\d\.\d)/i);a=(c&&c[2])?parseInt(c[2]):null;return a};dhtmlXColorPicker.prototype.setCustomColors=function(){if(this.memory==null){this.initMemoryColors();this.conf.customColors=true}var g,e,j,c,h,a;e=arguments.length;for(g=0;g=0;e--){if(a[e]==g){h=e;break}}return h};dhtmlXColorPicker.prototype.destructMemory=function(){if(this.memory==null){return}this.hideMemory();var a=this._controllerNodes.memory_block.childNodes[0].firstChild;this._labelNodes.btnAddColor=null;if(typeof(window.addEventListener)=="function"){a.removeEventListener("click",this.saveColor,false)}else{a.detachEvent("onclick",this.saveColor)}this.memory.remove();this._controllerNodes.memory_block.innerHTML="";this.memory=null};dhtmlXColorPicker.prototype.Memory=function(e){var c=this,a=null,g={red:255,blue:255,green:255,hue:0,sat:0,lum:100};this.select=function(){var j=(this!=window)?this:event.srcElement;var h=h||j.dhxpc_memory;if(a!=null){c.unSelect()}a=h;h.domElement.className+=" dhxcp_memory_el_select";if(typeof(c.onSelect)=="function"){c.onSelect(h)}};this.onSelect=null;this.onSave=null;this._createMemoryController=function(h){var j={domElement:h,value:dhx4._copyObj(g)};h.dhxpc_memory=j;if(typeof(window.addEventListener)=="function"){h.addEventListener("click",c.select,false)}else{h.attachEvent("onclick",c.select)}return j};this._findMemoryControllers=function(o){var m=o.getElementsByTagName("a"),j,h,n=[];h=m.length;for(j=0;j1){return new dhtmlXSlider(this._renderArgumets(arguments))}else{if(typeof(c)=="string"||(typeof(c)=="object"&&c.tagName)){return new dhtmlXSlider({parent:c})}}if(typeof(c.parent)=="string"){this.base=document.getElementById(c.parent)}else{this.base=c.parent}this._mergeConfig(this._readAttFormNode(this.base));this._mergeConfig(c);if(this.conf.bg==null){this.conf.bg=(this.conf.range==true)}if(this.conf.range==true){if(!(this.conf.value instanceof Array)){this.conf.value=[this.conf.value]}if(this.conf.value.length<2){this.conf.value.push(this.conf.value[0])}if(!(this.conf.linkTo instanceof Array)){this.conf.linkTo=[this.conf.linkTo]}}this._detectDecimals();if(this.conf.size==null||typeof(this.conf.size)=="undefined"){if(this.conf.vertical){this.conf.size=this.base.offsetHeight}else{this.conf.size=this.base.offsetWidth}}var e=this.conf.skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxslider")||"material";this.setSkin(e);this.base.innerHTML="
    "+(this.conf.bg==true?"
    ":"")+"
    "+(this.conf.range==true?"
    ":"")+"
    ";this._nodes={cont:this.base.firstChild,track:this.base.firstChild.firstChild,runner:this.base.firstChild.childNodes[1],runner2:this.base.firstChild.childNodes[2]};this._nodes.cont.onmousedown=this._nodes.track.onmousedown=this._nodes.cont.onselectstart=this._nodes.track.onselectstart=function(g){g=g||event;if(typeof(g.preventDefault)=="function"){g.preventDefault()}else{g.returnValue=false}return false};this._r_actv=null;if(this.conf.range==true){this.conf.value=this._normalizeRange(this.conf.value,this.conf.min,this.conf.max)}else{this.conf.value=this._normalize(this.conf.value,this.conf.min,this.conf.max)}this._setOrient(this.conf.vertical);this.setSize(this.conf.size);this._initMover=function(h,g){if(a.conf.disabled){return}h=h||event;if(typeof(h.preventDefault)=="function"){h.preventDefault()}if(g!=null){a._r_actv=a._nodes[g==0?"runner":"runner2"]}else{a._r_actv=h.target||h.srcElement;if(a._r_actv.className.indexOf("dhxsl_runner")==-1){a._r_actv=a._nodes.runner}}a._r_actv.className="dhxsl_runner dhxsl_runner_actv";a._movingInitialValues={};if(a.conf.range==true){a._movingInitialValues.index=(a._r_actv==a._nodes.runner?0:1);a._movingInitialValues.value=a.conf.value[a._movingInitialValues.index]}else{a._movingInitialValues.value=a.conf.value}a._movingInitialValues.coord=a._getTouchCoord(h);if(a.conf.disabled==false){if(typeof(window.addEventListener)=="function"){window.addEventListener("mousemove",a._move,false);window.addEventListener("mouseup",a._cleanMove,false);window.addEventListener("touchmove",a._move,false);window.addEventListener("touchend",a._cleanMove,false)}else{document.body.attachEvent("onmousemove",a._move);document.body.attachEvent("onmouseup",a._cleanMove)}}a.callEvent("onMouseDown",[a._r_actv==a._nodes.runner?0:1]);return false};this._move=function(n){if(a.conf.disabled){return}n=n||event;if(typeof(n.preventDefault)=="function"){n.preventDefault()}var m=(a.conf.vertical)?a._r_actv.offsetHeight:a._r_actv.offsetWidth;var j=a.conf.max-a.conf.min;var h=a._getTouchCoord(n);var l=a._movingInitialValues.value+(h-a._movingInitialValues.coord)*j/(a.conf.size-m)*(a.conf.inverse?-1:1);if(a.conf.range==true){var g=[a.conf.value[0],a.conf.value[1]];if(a._movingInitialValues.index==0){g[0]=Math.min(g[1],l)}else{if(a._movingInitialValues.index==1){g[1]=Math.max(g[0],l)}}a.setValue(g,true)}else{a.setValue(l,true)}};this._cleanMove=function(g){if(typeof(window.addEventListener)=="function"){window.removeEventListener("mousemove",a._move,false);window.removeEventListener("mouseup",a._cleanMove,false);window.removeEventListener("touchmove",a._move,false);window.removeEventListener("touchend",a._cleanMove,false)}else{document.body.detachEvent("onmousemove",a._move);document.body.detachEvent("onmouseup",a._cleanMove)}a._movingInitialValues=null;a._r_actv.className=a._r_actv.className.replace(/\s{0,}dhxsl_runner_actv/gi,"");a.callEvent("onSlideEnd",[a.conf.value]);a.callEvent("onMouseUp",[a._r_actv==a._nodes.runner?0:1]);a._r_actv=null};this._doOnSetValue=function(q){if(a.conf.disabled){return}if(a._movingInitialValues!=null){return false}q=q||event;if(typeof(q.preventDefault)=="function"){q.preventDefault()}var o=0;var l=q.target||q.srcElement;if(l.className.match(/dhxsl_track_bg/)!=null){o=parseInt(l.style[a.conf.vertical?"top":"left"])}if(q.type.match(/touch/)!=null){var n=a._getTouchCoord(q)+o}else{var n=(a.conf.vertical?(q.offsetY||q.layerY):(q.offsetX||q.layerX))+o}var m=(a.conf.vertical?a._nodes.runner.offsetHeight:a._nodes.runner.offsetWidth)+o;var g=a.conf.max-a.conf.min;var h=null;var j=null;if(a.conf.inverse==true){j=a.conf.max-(n*g/(a.conf.size))}else{j=(n*g/(a.conf.size)+a.conf.min)}if(a.conf.range==true){h=(Math.abs(a.conf.value[0]-j)<=Math.abs(a.conf.value[1]-j)?0:1);j=[h==0?j:a.conf.value[0],h==1?j:a.conf.value[1]]}a.conf.init_index=h;a.setValue(j,true);a.conf.init_index=null;if(a._movingInitialValues==null){a._initMover(q,h)}return false};this._doOnChangeInput=function(h){h=h||event;var g=h.target||h.srcElement;a.setValue(g.value)};this._doOnKeyDown=function(h){h=h||event;var g=h.target||h.srcElement;if(h.keyCode==13){a.setValue(g.value)}};this._attachEvents(this._nodes);this.unload=function(){dhx4._eventable(this,"clear");this._detachNode();this._detachEvents(this._nodes);this.base.removeChild(this._nodes.cont);this._nodes.cont.onmousedown=this._nodes.track.onmousedown=this._nodes.cont.onselectstart=this._nodes.track.onselectstart=null;delete this._nodes.cont;delete this._nodes.track;delete this._nodes.max;delete this._nodes.min;delete this._nodes.runner;if(this._nodes.runner2){delete this._nodes.runner2}if(/\s?dhtmlxslider_\S*/.test(this.base.className)){this.base.className=this.base.className.replace(/\s?dhtmlxslider_\S*/,"")}for(var g in this){this[g]=null}a=null};dhx4._eventable(this);if(this.conf.disabled){this.disable()}if(this.conf.tooltip){this.enableTooltip()}if(!this.conf.visible){this.hide()}if(this.conf.linkTo){this.linkTo(this.conf.linkTo)}return this}dhtmlXSlider.prototype._setOrient=function(a){a=a||false;if(/\s?dhxsl_cont_hr/i.test(this._nodes.cont.className)){this._nodes.cont.className=this._nodes.cont.className.replace(/\s?dhxsl_cont_hr/i,"")}if(/\s?dhxsl_cont_vr/i.test(this._nodes.cont.className)){this._nodes.cont.className=this._nodes.cont.className.replace(/\s?dhxsl_cont_vr/i,"")}if(a){this._nodes.cont.className+=" dhxsl_cont_vr"}else{this._nodes.cont.className+=" dhxsl_cont_hr"}};dhtmlXSlider.prototype._getTouchCoord=function(c){var a=(c.type.match(/mouse/)!=null?"client":"page")+(this.conf.vertical==true?"Y":"X");var g=(typeof(c[a])!="undefined"&&c[a]!=0?c[a]:(c.touches!=null&&c.touches[0]!=null?c.touches[0][a]||0:0));return g};dhtmlXSlider.prototype._attachEvents=function(a){if(typeof(window.addEventListener)=="function"){a.runner.addEventListener("mousedown",this._initMover,false);a.runner.addEventListener("touchstart",this._initMover,false);a.cont.addEventListener("mousedown",this._doOnSetValue,false);a.cont.addEventListener("touchstart",this._doOnSetValue,false);if(a.runner2){a.runner2.addEventListener("mousedown",this._initMover,false);a.runner2.addEventListener("touchstart",this._initMover,false)}}else{a.runner.attachEvent("onmousedown",this._initMover);a.cont.attachEvent("onmousedown",this._doOnSetValue);if(a.runner2){a.runner2.attachEvent("onmousedown",this._initMover)}}};dhtmlXSlider.prototype._detachEvents=function(a){if(typeof(window.addEventListener)=="function"){a.runner.removeEventListener("mousedown",this._initMover,false);a.runner.removeEventListener("touchstart",this._initMover,false);a.cont.removeEventListener("mousedown",this._doOnSetValue,false);a.cont.removeEventListener("touchstart",this._doOnSetValue,false);if(a.runner2){a.runner2.removeEventListener("mousedown",this._initMover,false);a.runner2.removeEventListener("touchstart",this._initMover,false)}}else{a.runner.detachEvent("onmousedown",this._initMover);a.cont.detachEvent("onmousedown",this._doOnSetValue);if(a.runner2){a.runner2.detachEvent("onmousedown",this._initMover)}}};dhtmlXSlider.prototype._mergeConfig=function(c){for(var a in c){switch(a.toLowerCase()){case"min":case"max":case"size":case"step":case"value":case"inverse":this.conf[a]=c[a];break;case"tooltip":case"visible":case"vertical":case"disabled":case"range":case"bg":this.conf[a]=dhx4.s2b(c[a]);break;case"bg_mode":this.conf[a]=({left:"left",right:"right"}[c[a]])||"left";break;case"parent":continue;break;case"skin":this.conf[a]=(this._skinCollection[c[a]]==true?c[a]:null);break;default:this.conf[a]=c[a]}}};dhtmlXSlider.prototype._readAttFormNode=function(g){var j=g.attributes,a=j.length,e,h={},c;for(e=0;e=0;e--){if(a[e]==g){h=e;break}}return h};dhtmlXSlider.prototype._refreshRunner=function(h){var g=(this.conf.vertical==true?{x:"top",y:"left",ofs_w:"offsetHeight",ofs_h:"offsetWidth"}:{x:"left",y:"top",ofs_w:"offsetWidth",ofs_h:"offsetHeight"});var a=this._nodes.cont[g.ofs_w]-this._nodes.runner[g.ofs_w];var e=this._nodes.runner;var c=this._nodes.runner2;if(h==null||h==0){var j=this._getCoord(a,(this.conf.value instanceof Array?this.conf.value[0]:this.conf.value));e.style[g.x]=j+this.conf.border+"px";e.style[g.y]=Math.round((this._nodes.cont[g.ofs_h]-e[g.ofs_h])/2)+"px"}if(this.conf.range==true&&(h==null||h==1)){var j=this._getCoord(a,this.conf.value[1]);c.style[g.x]=j+this.conf.border+"px";c.style[g.y]=Math.round((this._nodes.cont[g.ofs_h]-e[g.ofs_h])/2)+"px"}if(this.conf.range==true){if(e.style[g.x]==c.style[g.x]&&this.conf.value[1]==this.conf.max){if(e.style.zIndex!=2){e.style.zIndex=2}}else{if(e.style.zIndex==2){e.style.zIndex=1}}}e=c=null;this._refreshBG()};dhtmlXSlider.prototype._setValueByCoord=function(g){var a=dhx4.absLeft(this._nodes.cont),h=dhx4.absTop(this._nodes.cont),e,c;if(this.conf.vertical){c=(g.y-h-this._nodes.runner.offsetHeight/2)/(this._nodes.cont.offsetHeight-this._nodes.runner.offsetHeight)}else{c=(g.x-a-this._nodes.runner.offsetWidth/2)/(this._nodes.cont.offsetWidth-this._nodes.runner.offsetWidth)}e=(this.conf.max-this.conf.min)*c+this.conf.min;this.setValue(e,true)};dhtmlXSlider.prototype._getCoord=function(a,g){var e=(this.conf.inverse?this._inverseValue(g):g);var c=(e-this.conf.min)/(this.conf.max-this.conf.min);return Math.round(a*c)};dhtmlXSlider.prototype._normalize=function(g,e,a){g=Number(g);g=Math.round(g/this.conf.step)*this.conf.step;var c=Math.pow(10,this.conf.decimals);g=Math.round(g*c)/c;g=Math.max(e,Math.min(a,g));return g};dhtmlXSlider.prototype._normalizeRange=function(e,c,a){if(e[1]0){var c=g.match(/\.\d{1,}$/);if(c!=null){a=Math.max(a-c[0].length+1)}g+=(g.indexOf(".")<0?".":"");for(var e=0;ea){this.conf.min=a;this.setValue(this.conf.value)}};dhtmlXSlider.prototype.getMin=function(){return this.conf.min};dhtmlXSlider.prototype.setStep=function(a){var c=this.conf.max-this.conf.min;if(!isNaN(a)&&a
    ";document.body.appendChild(this.p);this.p.oncontextmenu=function(a){if(g.conf.context==false){a=a||event;a.returnValue=false;return false}};this.skinParams={dhx_terrace:{t0:19,t1:9,t2:19,t3:9},dhx_skyblue:{t0:12,t1:9,t2:12,t3:9},dhx_web:{t0:12,t1:9,t2:12,t3:9},material:{t0:19,t1:9,t2:19,t3:9}};this.p.ontouchstart=this.p.onclick=function(j){j=j||event;var h=(g.conf.last_p_click!=null&&g.conf.last_p_click!=j.type);g.conf.last_p_click=j.type;if(h==true){return}g._clearClick=true;if(g._nodeObj!=null){g.callEvent("onContentClick",[]);return true}var a=(j.target||j.srcElement);var l=null;while(a!=g.p&&a!=null){if(typeof(a._idd)!="undefined"&&!a._isSeparator){l=a._idd;a=null}else{a=a.parentNode}}a=null;if(l!=null){g.callEvent("onClick",[l]);if(g!=null&&g.isVisible!=null&&g.isVisible()&&g.callEvent("onBeforeHide",["select",j,l])===true){j.cancelBubble=true;g.hide()}}};this.separator="DHXSEP_"+window.dhx4.newId();this.tpl=[];this._setTemplate=function(a){this.tpl=a.split(",")};this.show=function(h){var a=null;if(arguments.length==1){if(!h){h=this.conf.id[0]}else{if(!this._idExists(h)){return}}if(this.conf.toolbar){a=this.conf.toolbar._getItemDim(h)}if(this.conf.ribbon){a=this.conf.ribbon._getItemDim(h)}if(this.conf.form){a=this.conf.form._getItemDim(h)}}else{if(arguments.length==4){this._clearClick=true;a={left:arguments[0],top:arguments[1],width:arguments[2],height:arguments[3]};h=null}}if(!a){return}this.p.style.visibility="hidden";this.p.style.display="";this._setPos(a);this.p.style.zIndex=window.dhx4.zim.reserve(this.conf.zi);this.p.style.visibility="visible";this._lastId=h;this.callEvent("onShow",[h])};this._setPos=function(H,m){var u=H.left;var r=H.top;var A=H.width;var K=H.height;this._posData={left:u,top:r,width:A,height:K};var M=window.dhx4.screenDim();var E=m||this.mode;if(typeof(m)=="undefined"){m=false}var O={top:(r-this.p.offsetHeight)-M.top,bottom:M.bottom-(r+K+this.p.offsetHeight),left:u-this.p.offsetWidth-M.left,right:M.right-(u+A+this.p.offsetWidth)};if(!m&&O[E]<0){var I=this._getAvailPos(E,O);if(I!==false){this._setPos(H,I);return}}if(E=="top"||E=="bottom"){var C=this.skinParams[this.conf.skin].t2;var v=this.skinParams[this.conf.skin].t3;var q=Math.round(this.p.offsetWidth/2);var a=Math.round(this.p.lastChild.offsetWidth/2);if(uM.right){A=M.right-u}var s=Math.round(u+A/2);var l=s-q;var J=s-C-a;var o=s+a+C-this.p.offsetWidth;if(lM.right+v){l=Math.max(o,M.right+v-this.p.offsetWidth)}}this.p.style.left=l+"px";this.p.style.top=(E=="top"?r-this.p.offsetHeight:r+K)+"px";s=s-l-a;this.p.lastChild.className="dhx_popup_arrow dhx_popup_arrow_"+E;this.p.lastChild.style.top=(E=="top"?this.p.offsetHeight-this.p.lastChild.offsetHeight:0)+"px";this.p.lastChild.style.left=s+"px"}if(E=="left"||E=="right"){var C=this.skinParams[this.conf.skin].t0;var v=this.skinParams[this.conf.skin].t1;var n=Math.round(this.p.offsetHeight/2);var Q=Math.round(this.p.lastChild.offsetHeight/2);if(rM.bottom){K=M.bottom-r}var s=Math.round(r+K/2);var F=s-n;var P=s-C-Q;var N=s+Q+C-this.p.offsetHeight;if(FM.bottom+v){F=Math.max(N,M.bottom+v-this.p.offsetHeight)}}this.p.style.left=(E=="left"?u-this.p.offsetWidth:u+A)+"px";this.p.style.top=F+"px";s=s-F-Q;this.p.lastChild.className="dhx_popup_arrow dhx_popup_arrow_"+E;this.p.lastChild.style.left=(E=="left"?this.p.offsetWidth-this.p.lastChild.offsetWidth:0)+"px";this.p.lastChild.style.top=s+"px"}if(this._IEDisp&&this._nodeId!=null){var D=document.getElementById(this._nodeId);if(this.conf.IE6_display_fix==true){D.style.visibility="hidden"}window.setTimeout(function(){D.style.visibility="visible";D=null},1)}};this._getAvailPos=function(o,n){var j={top:["bottom","right","left"],bottom:["top","right","left"],left:["right","bottom","top"],right:["left","bottom","top"]};var l=null;for(var m=0;m0){l=j[o][m]}}if(l==null){l="bottom";for(var h in n){if(n[h]>n[l]){l=h}}}if(l==o){return false}return l};this._repaint=function(){if(this.isVisible()){this._setPos(this._posData)}};this.clear=function(){if(this._nodeObj){if(window.dhx4.isIE&&typeof(window.dhtmlXLayoutObject)=="function"&&this._nodeObj instanceof window.dhtmlXLayoutObject){this.p.onmousedown=null}if(this._nodeObj.unload){this._nodeObj.unload()}else{if(this._nodeObj.destruct){this._nodeObj.destruct()}}this._nodeObj=this._nodeId=null;if(this._nodeObjEv!=null){for(var h=0;h0){a.removeChild(a.lastChild)}a=null;this.itemData={}};this.hide=function(){if(this.p.style.display!="none"){this.p.style.display="none";window.dhx4.zim.clear(this.conf.zi);var a=this._lastId;this._lastId=null;this.callEvent("onHide",[a]);this.conf.last_p_click=this.conf.last_body_click=null}};this.isVisible=function(){return(this.p.style.display=="")};this.itemData={};this.getItemData=function(a){if(!a){return this.itemData}if(this.itemData[a]){return this.itemData[a]}return{}};this.setSkin=function(a){this.conf.skin=a;this.p.className="dhx_popup_"+this.conf.skin;if(this._nodeObj!=null&&typeof(this._nodeObj.setSkin)=="function"){this._nodeObj.setSkin(this.conf.skin)}this._repaint()};this.attachList=function(j,o){this._setTemplate(j);this.clear();var l=this.p.firstChild.firstChild.firstChild;for(var n=0;n ";m.appendChild(s);s=null}else{for(var a=0;a";if(j.width){m.firstChild.style.width=j.width+"px"}if(j.height){m.firstChild.style.height=j.height+"px"}h.appendChild(m);m=h=a=null;if(typeof(this["_attach_init_"+l])=="function"){this["_attach_init_"+l](j);this._enableIEVFix()}this._repaint();return this._nodeObj};this.unload=function(){if(typeof(window.addEventListener)=="function"){window.removeEventListener("touchstart",this._doOnClick,false);window.removeEventListener("click",this._doOnClick,false);window.removeEventListener("keyup",this._doOnKeyUp,false);window.removeEventListener("unload",this._doOnUnload,false)}else{document.body.detachEvent("onclick",this._doOnClick,false);document.body.detachEvent("onkeyup",this._doOnKeyUp,false);document.body.detachEvent("onunload",this._doOnUnload,false)}window.dhx4.detachEvent(this.conf.ev_grid_click);this.clear();if(this.conf.toolbarEvent!=null&&this.conf.toolbar!=null){if(this.conf.toolbar.detachEvent!=null){this.conf.toolbar.detachEvent(this.conf.toolbarEvent)}else{this.conf.toolbar._getItemDim=null}}if(this.conf.ribbonEvent!=null&&this.conf.ribbon!=null){if(this.conf.ribbon.detachEvent!=null){this.conf.ribbon.detachEvent(this.conf.ribbonEvent)}else{this.conf.ribbon._getItemDim=null}}if(this.conf.slider!=null){for(var j=0;j=0){if(q.parentNode!=null&&q.parentNode.parentNode!=null&&q.parentNode.parentNode._idd!=null){j=q.parentNode.parentNode._idd;if(q.parentNode.parentNode._type=="ra"){j=[q.parentNode.parentNode._group,q.parentNode.parentNode._value]}}}else{var m=true;var n=false;while(m&&!n){var l=(q.className||"").toLowerCase();if(l.length>0){n=(l=="dhxform_btn"||l.search(/dhxeditor_inside/gi)>=0||l=="dhxcombo_input"||l.search(/dhxcombolist/gi)>=0)}q=q.parentNode;m=(q!=null)}if(n){return}}q=null;if(j!=null&&g._idExists(j)){return}}if(typeof(window.dhtmlXForm)=="function"&&g._nodeObj instanceof window.dhtmlXForm){var s={};var l=0;var h=g._nodeObj;h.forEachItem(function(r){if(h.getItemType(r)=="combo"){s[h.getCombo(r).list._listId]=true;l++}});h=null;if(l>0){var q=(o.target||o.srcElement);var m=true;var n=false;while(m==true&&n!=true){var l=(q.className||"").toLowerCase();if(l.length>0&&l.search(/^dhxcombolist/gi)>=0&&q._listId!=null&&s[q._listId]==true){n=true;q=null}else{q=q.parentNode;m=(q!=null)}}if(n==true){return}}}if(g.isVisible()&&g.callEvent("onBeforeHide",["click",o])===true){g.hide()}};this._doOnKeyUp=function(a){a=a||event;if(a.keyCode==27){if(g.isVisible()&&g.callEvent("onBeforeHide",["esc",a])===true){g.hide()}}};this._doOnUnload=function(){g.unload()};if(typeof(window.addEventListener)=="function"){window.addEventListener("touchstart",this._doOnClick,false);window.addEventListener("click",this._doOnClick,false);window.addEventListener("keyup",this._doOnKeyUp,false);window.addEventListener("unload",this._doOnUnload,false)}else{document.body.attachEvent("onclick",this._doOnClick,false);document.body.attachEvent("onkeyup",this._doOnKeyUp,false);document.body.attachEvent("onunload",this._doOnUnload,false)}this.conf.ev_grid_click=window.dhx4.attachEvent("_onGridClick",function(h,a){if(g.p.contains(a.entBox)){}else{g._clearClick=false;g._doOnClick(h)}a=null});this._findGrid=function(h,a){var j=false;if(typeof(window.dhtmlXTabBar)=="function"&&h instanceof window.dhtmlXTabBar){h.forEachTab(function(l){var m=l.getAttachedObject();if(j==false&&m!=null){j=j||(m==a)||this._findGrid(m);m=null}})}if(typeof(window.dhtmlXForm)=="function"&&h instanceof window.dhtmlXForm){h.forEachItem(function(l){if(j!=true&&h.getItemType(l)=="container"&&a.entBox==h.getContainer(l)){j=true}})}h=null;return j};this._idExists=function(j){var a=false;for(var h=0;h=0){this._lastIEHover.className=this._lastIEHover.className.replace(/\s{0,}tr_hover/gi,"");this._lastIEHover=null}}if(a!=null&&a.className.search(/tr_hover/gi)<0){a.className+=" tr_hover";g._lastIEHover=a}};this._IEHoverInited=true};this._IEHoverClear=function(){this.p.onmouseover=null;this.p.onmouseout=null;this._IEHoverInited=false}}this._IEFirstLast=(window.dhx4.isIE6||window.dhx4.isIE7||window.dhx4.isIE8);this._enableIEVFix=function(){if(window.dhx4.isIE6||window.dhx4.isIE7){var h=this.attachEvent("onHide",function(){document.getElementById(this._nodeId).style.visibility="hidden"});var a=this.attachEvent("onShow",function(){document.getElementById(this._nodeId).style.visibility="visible"});if(this._nodeObjEv==null){this._nodeObjEv=[]}this._nodeObjEv.push(h,a)}};if(typeof(window.dhtmlXToolbarObject)=="function"&&this.conf.toolbar!=null&&this.conf.toolbar instanceof window.dhtmlXToolbarObject&&this.conf.id!=null){if(!(this.conf.id instanceof Array)){this.conf.id=[this.conf.id]}this.skinParent=this.conf.toolbar.conf.skin;this._doOnToolbarClick=function(h){for(var a=0;a=0&&document.compatMode=="BackCompat"),live_id:window.dhx4.newId(),tags:{root:"menu",item:"item",text_ext:"itemtext",userdata:"userdata",tooltip:"tooltip",hotkey:"hotkey",href:"href"},autoload:{},hide_tm:{},top_mode:true,top_tmtime:200,v_enabled:false,v:{x1:null,x2:null,y1:null,y2:null},dir_toplv:"bottom",dir_sublv:"right",auto_overflow:false,overflow_limit:0,of_utm:null,of_utime:20,of_ustep:3,of_dtm:null,of_dtime:20,of_dstep:3,of_ah:{dhx_skyblue:24,dhx_web:25,dhx_terrace:27,material:25},of_ih:{dhx_skyblue:24,dhx_web:24,dhx_terrace:24,material:30},tm_sec:400,tm_handler:null,dload:false,dload_url:"",dload_icon:false,dload_params:{action:"loadMenu"},dload_pid:"parentId",tl_botmarg:1,tl_rmarg:0,tl_ofsleft:1,context:false,ctx_zoneid:false,ctx_autoshow:true,ctx_autohide:true,ctx_hideall:true,ctx_zones:{},ctx_baseid:null,selected_sub:[],opened_poly:[]};if(typeof(h)=="object"&&h!=null&&typeof(h.tagName)=="undefined"){if(h.icons_path!=null||h.icon_path!=null){this.conf.icons_path=(h.icons_path||h.icon_path)}if(h.skin!=null){this.conf.skin=h.skin}if(h.visible_area){this.conf.v_enabled=true;this.conf.v={x1:h.visible_area.x1,x2:h.visible_area.x2,y1:h.visible_area.y1,y2:h.visible_area.y2}}for(var e in {json:1,xml:1,items:1,top_text:1,align:1,open_mode:1,overflow:1,dynamic:1,dynamic_icon:1,context:1,onload:1,onclick:1,oncheckboxclick:1,onradioclick:1,iconset:1}){if(h[e]!=null){this.conf.autoload[e]=h[e]}}h=h.parent}if(h==null){this.base=document.body}else{var c=(typeof(h)=="string"?document.getElementById(h):h);if(c!=null){this.base=c;if(!this.base.id){this.base.id="menuBaseId_"+new Date().getTime()}this.base.className+=" dhtmlxMenu_"+this.conf.skin+"_Middle dir_left";this.base._autoSkinUpdate=true;if(this.base.oncontextmenu){this.base._oldContextMenuHandler=this.base.oncontextmenu}this.conf.ctx_baseid=this.base;this.base.onselectstart=function(a){a=a||event;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}return false};this.base.oncontextmenu=function(a){a=a||event;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}return false}}else{this.base=document.body}}this.idPrefix="";this.topId="dhxWebMenuTopId";this.idPull={};this.itemPull={};this.userData={};this.radio={};this.setSkin=function(m){var n=this.conf.skin;this.conf.skin=m;switch(this.conf.skin){case"dhx_skyblue":case"dhx_web":this.conf.tl_botmarg=2;this.conf.tl_rmarg=1;this.conf.tl_ofsleft=1;break;case"dhx_terrace":case"material":this.conf.tl_botmarg=0;this.conf.tl_rmarg=0;this.conf.tl_ofsleft=0;break}if(this.base._autoSkinUpdate){this.base.className=this.base.className.replace("dhtmlxMenu_"+n+"_Middle","")+" dhtmlxMenu_"+this.conf.skin+"_Middle"}for(var l in this.idPull){this.idPull[l].className=String(this.idPull[l].className).replace(n,this.conf.skin)}};this.setSkin(this.conf.skin);this._addSubItemToSelected=function(m,l){var a=true;for(var n=0;nthis.conf.v.y2-this.conf.v.y1){var A=Math.max(Math.floor((this.conf.v.y2-this.conf.v.y1-this.conf.of_ah[this.conf.skin]*2)/this.conf.of_ih[this.conf.skin]),1);this.conf.overflow_limit=A}else{this.conf.overflow_limit=0;if(this.idPull["arrowup_"+F]!=null){this._removeUpArrow(String(F).replace(this.idPrefix,""))}if(this.idPull["arrowdown_"+F]!=null){this._removeDownArrow(String(F).replace(this.idPrefix,""))}}}if(this.conf.overflow_limit>0&&this.conf.overflow_limit0&&this.conf.overflow_limitE&&!this.conf.rtl){s=a-v+2}if(sD&&this.conf.v.y2!=null){r=Math.max(M+n-J+2,(this.conf.v_enabled?this.conf.v.y1+2:2));if(this.conf.context&&this.idPrefix+this.topId==F&&C!=null){r=r-2}if(this.itemPull[F]!=null&&!this.conf.context){if(this.itemPull[F]["parent"]==this.idPrefix+this.topId){r=r-this.base.offsetHeight}}}this.idPull[H].style.left=s+"px";this.idPull[H].style.top=r+"px";if(typeof(this._menuEffect)!="undefined"&&this._menuEffect!==false){this._showPolygonEffect(H)}else{this.idPull[H].style.visibility="";if(this.conf.overflow_limit>0&&this.conf.overflow_limit0){this.conf.opened_poly.pop()}var a=this._getSubItemToDeselectByPolygon(n);this._removeSubItemFromSelected(-1,-1);for(var l=0;l0){a=l}}}return a};this._getMenuNodes=function(o){var l=new Array;for(var n in this.itemPull){if(this.itemPull[n]["parent"]==o){l[l.length]=n}}return l};this._genStr=function(a){var l="dhxId_";var n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";for(var m=0;m0){g.conf.opened_poly.pop()}for(var a=0;a0)&&(!this.itemPull[c]["complex"])){this._updateItemComplexState(c,true,false)}if((a==0)&&(this.itemPull[c]["complex"])){this._updateItemComplexState(c,false,false)}}};dhtmlXMenuObject.prototype._updateItemComplexState=function(h,e,g){if((!this.conf.context)&&(this._getItemLevelType(h.replace(this.idPrefix,""))=="TopLevel")){this.itemPull[h]["complex"]=e;return}if((this.idPull[h]==null)||(this.itemPull[h]==null)){return}this.itemPull[h]["complex"]=e;if(h==this.idPrefix+this.topId){return}var a=null;var c=this.idPull[h].childNodes[this.conf.rtl?0:2];if(c.childNodes[0]){if(String(c.childNodes[0].className).search("complex_arrow")===0){a=c.childNodes[0]}}if(this.itemPull[h]["complex"]){if(a==null){a=document.createElement("DIV");a.className="complex_arrow";a.id="arrow_"+h;while(c.childNodes.length>0){c.removeChild(c.childNodes[0])}c.appendChild(a)}if(this.conf.dload&&(this.itemPull[h].loaded=="get")&&this.conf.dload_icon){if(a.className!="complex_arrow_loading"){a.className="complex_arrow_loading"}}else{a.className="complex_arrow"}return}if((!this.itemPull[h]["complex"])&&(a!=null)){c.removeChild(a);if(this.itemPull[h]["hotkey_backup"]!=null&&this.setHotKey){this.setHotKey(h.replace(this.idPrefix,""),this.itemPull[h]["hotkey_backup"])}}};dhtmlXMenuObject.prototype._getItemLevelType=function(a){return(this.itemPull[this.idPrefix+a]["parent"]==this.idPrefix+this.topId?"TopLevel":"SubLevelArea")};dhtmlXMenuObject.prototype.setIconsPath=function(a){this.conf.icons_path=a};dhtmlXMenuObject.prototype._updateItemImage=function(g,h){g=this.idPrefix+g;var n=this.itemPull[g]["type"];if(n=="checkbox"||n=="radio"){return}var j=(this.itemPull[g]["parent"]==this.idPrefix+this.topId&&!this.conf.context);var l=null;if(j){for(var a=0;a0){if(l!=null){if(this.conf.icons_css==true){l.className=this.conf.icons_path+r}else{l.src=this.conf.icons_path+r}}else{if(j){if(this.conf.icons_css==true){var l=document.createElement("i");l.className=this.conf.icons_path+r}else{var l=document.createElement("IMG");l.className="dhtmlxMenu_TopLevel_Item_Icon";l.src=this.conf.icons_path+r;l.border="0";l.id="image_"+g}if(!this.conf.rtl&&this.idPull[g].childNodes.length>0){this.idPull[g].insertBefore(l,this.idPull[g].childNodes[0])}else{this.idPull[g].appendChild(l)}}else{if(this.conf.icons_css==true){var o=this.idPull[g].childNodes[this.conf.rtl?2:0];o.innerHTML=""}else{var l=document.createElement("IMG");l.className="sub_icon";l.src=this.conf.icons_path+r;l.border="0";l.id="image_"+g;var o=this.idPull[g].childNodes[this.conf.rtl?2:0];while(o.childNodes.length>0){o.removeChild(o.childNodes[0])}o.appendChild(l)}}}}else{if(l!=null){if(j){l.parentNode.removeChild(l);l=null}else{var c=l.parentNode;c.removeChild(l);c.innerHTML=" ";c=l=null}}}};dhtmlXMenuObject.prototype._getAllParents=function(j){var e=new Array();for(var c in this.itemPull){if(this.itemPull[c]["parent"]==j){e[e.length]=this.itemPull[c]["id"];if(this.itemPull[c]["complex"]){var g=this._getAllParents(this.itemPull[c]["id"]);for(var h=0;h0){a.title=this.itemPull[n]["tip"]}if((this.itemPull[n]["imgen"]!="")||(this.itemPull[n]["imgdis"]!="")){var g=this.itemPull[n][(this.itemPull[n]["state"]=="enabled")?"imgen":"imgdis"];if(g){if(this.conf.icons_css==true){var e=document.createElement("i");e.className=this.conf.icons_path+g;if(a.childNodes.length>0&&!this.conf.rtl){a.insertBefore(e,a.childNodes[0])}else{a.appendChild(e)}}else{var c=document.createElement("IMG");c.border="0";c.id="image_"+n;c.src=this.conf.icons_path+g;c.className="dhtmlxMenu_TopLevel_Item_Icon";if(a.childNodes.length>0&&!this.conf.rtl){a.insertBefore(c,a.childNodes[0])}else{a.appendChild(c)}}}}a.onselectstart=function(m){m=m||event;if(m.preventDefault){m.preventDefault()}else{m.returnValue=false}return false};a.oncontextmenu=function(m){m=m||event;if(m.preventDefault){m.preventDefault()}else{m.returnValue=false}return false};if(!this.cont){this.cont=document.createElement("DIV");this.cont.dir="ltr";this.cont.className=(this.conf.align=="right"?"align_right":"align_left");this.base.appendChild(this.cont)}if(l!=null){l++;if(l<0){l=0}if(l>this.cont.childNodes.length-1){l=null}}if(l!=null){this.cont.insertBefore(a,this.cont.childNodes[l])}else{this.cont.appendChild(a)}this.idPull[a.id]=a;if(this.itemPull[n]["complex"]&&(!this.conf.dload)){this._addSubMenuPolygon(this.itemPull[n]["id"],this.itemPull[n]["id"])}a.onmouseover=function(){if(j.conf.mode=="web"){window.clearTimeout(j.conf.tm_handler)}var m=j._getSubItemToDeselectByPolygon("parent");j._removeSubItemFromSelected(-1,-1);for(var r=0;r
    ';var e=document.createElement("TABLE");e.className="dhtmlxMebu_SubLevelArea_Tbl";e.cellSpacing=0;e.cellPadding=0;e.border=0;var a=document.createElement("TBODY");e.appendChild(a);c.childNodes[1].appendChild(e);c.tbl=e;c.tbd=a;this.idPull[c.id]=c;if(this.sxDacProc!=null){this.idPull["sxDac_"+g]=new this.sxDacProc(c,c.className);if(window.dhx4.isIE){this.idPull["sxDac_"+g]._setSpeed(this.dacSpeedIE);this.idPull["sxDac_"+g]._setCustomCycle(this.dacCyclesIE)}else{this.idPull["sxDac_"+g]._setSpeed(this.dacSpeed);this.idPull["sxDac_"+g]._setCustomCycle(this.dacCycles)}}return c};dhtmlXMenuObject.prototype._renderSublevelItem=function(a,o){var m=this;var n=document.createElement("TR");n.className=(this.itemPull[a]["state"]=="enabled"?"sub_item":"sub_item_dis");var l=document.createElement("TD");l.className="sub_item_icon";var u=this.itemPull[a]["type"];var q=this.itemPull[a][(this.itemPull[a]["state"]=="enabled"?"imgen":"imgdis")];if(q!=""){if(u=="checkbox"||u=="radio"){var h=document.createElement("DIV");h.id="image_"+this.itemPull[a]["id"];h.className="sub_icon "+q;l.appendChild(h)}if(!(u=="checkbox"||u=="radio")){if(this.conf.icons_css==true){l.innerHTML=""}else{var h=document.createElement("IMG");h.id="image_"+this.itemPull[a]["id"];h.className="sub_icon";h.src=this.conf.icons_path+q;l.appendChild(h)}}}else{l.innerHTML=" "}var j=document.createElement("TD");j.className="sub_item_text";if(this.itemPull[a]["title"]!=""){var s=document.createElement("DIV");s.className="sub_item_text";s.innerHTML=this.itemPull[a]["title"];j.appendChild(s)}else{j.innerHTML=" "}var g=document.createElement("TD");g.className="sub_item_hk";if(this.itemPull[a]["complex"]){var c=document.createElement("DIV");c.className="complex_arrow";c.id="arrow_"+this.itemPull[a]["id"];g.appendChild(c)}else{if(this.itemPull[a]["hotkey"].length>0&&!this.itemPull[a]["complex"]){var e=document.createElement("DIV");e.className="sub_item_hk";e.innerHTML=this.itemPull[a]["hotkey"];g.appendChild(e)}else{g.innerHTML=" "}}n.appendChild(this.conf.rtl?g:l);n.appendChild(j);n.appendChild(this.conf.rtl?l:g);n.id=this.itemPull[a]["id"];n.parent=this.itemPull[a]["parent"];if(this.itemPull[a]["tip"].length>0){n.title=this.itemPull[a]["tip"]}n.onselectstart=function(v){v=v||event;if(v.preventDefault){v.preventDefault()}else{v.returnValue=false}return false};n.onmouseover=function(v){if(m.conf.hide_tm[this.id]){window.clearTimeout(m.conf.hide_tm[this.id])}if(m.conf.mode=="web"){window.clearTimeout(m.conf.tm_handler)}if(!this._visible){m._redistribSubLevelSelection(this.id,this.parent)}this._visible=true};n.onmouseout=function(x){var v=x.relatedTarget;if(v&&(v.className==="sub_sep"||(v.firstChild&&v.firstChild.className==="sub_sep"))){return}if(m.conf.mode=="web"){if(m.conf.tm_handler){window.clearTimeout(m.conf.tm_handler)}m.conf.tm_handler=window.setTimeout(function(){if(m&&m._clearAndHide){m._clearAndHide()}},m.conf.tm_sec,"JavaScript")}var w=this;if(m.conf.hide_tm[this.id]){window.clearTimeout(m.conf.hide_tm[this.id])}m.conf.hide_tm[this.id]=window.setTimeout(function(){w._visible=false},50)};n.onclick=function(w){if(!m.checkEvent("onClick")&&m.itemPull[this.id]["complex"]){return}w=w||event;w.cancelBubble=true;if(w.preventDefault){w.preventDefault()}else{w.returnValue=false}tc=(m.itemPull[this.id]["complex"]?"c":"-");td=(m.itemPull[this.id]["state"]=="enabled"?"-":"d");var v={ctrl:w.ctrlKey,alt:w.altKey,shift:w.shiftKey};switch(m.itemPull[this.id]["type"]){case"checkbox":m._checkboxOnClickHandler(this.id.replace(m.idPrefix,""),tc+td+"n",v);break;case"radio":m._radioOnClickHandler(this.id.replace(m.idPrefix,""),tc+td+"n",v);break;case"item":m._doOnClick(this.id.replace(m.idPrefix,""),tc+td+"n",v);break}return false};var r=this.idPull["polygon_"+this.itemPull[a]["parent"]];if(o!=null){o++;if(o<0){o=0}if(o>r.tbd.childNodes.length-1){o=null}}if(o!=null&&r.tbd.childNodes[o]!=null){r.tbd.insertBefore(n,r.tbd.childNodes[o])}else{r.tbd.appendChild(n)}this.idPull[n.id]=n};dhtmlXMenuObject.prototype._renderSeparator=function(c,l){var a=(this.conf.context?"SubLevelArea":(this.itemPull[c]["parent"]==this.idPrefix+this.topId?"TopLevel":"SubLevelArea"));if(a=="TopLevel"&&this.conf.context){return}var h=this;if(a!="TopLevel"){var j=document.createElement("TR");j.className="sub_sep";var e=document.createElement("TD");e.colSpan="3";j.appendChild(e)}var g=document.createElement("DIV");g.id="separator_"+c;g.className=(a=="TopLevel"?"top_sep":"sub_sep");g.onselectstart=function(o){o=o||event;if(o.preventDefault){o.preventDefault()}else{o.returnValue=false}};g.onclick=function(q){q=q||event;q.cancelBubble=true;var o={ctrl:q.ctrlKey,alt:q.altKey,shift:q.shiftKey};h._doOnClick(this.id.replace("separator_"+h.idPrefix,""),"--s",o)};if(a=="TopLevel"){if(l!=null){l++;if(l<0){l=0}if(this.cont.childNodes[l]!=null){this.cont.insertBefore(g,this.cont.childNodes[l])}else{this.cont.appendChild(g)}}else{var n=this.cont.childNodes[this.cont.childNodes.length-1];if(String(n).search("TopLevel_Text")==-1){this.cont.appendChild(g)}else{this.cont.insertBefore(g,n)}}this.idPull[g.id]=g}else{var m=this.idPull["polygon_"+this.itemPull[c]["parent"]];if(l!=null){l++;if(l<0){l=0}if(l>m.tbd.childNodes.length-1){l=null}}if(l!=null&&m.tbd.childNodes[l]!=null){m.tbd.insertBefore(j,m.tbd.childNodes[l])}else{m.tbd.appendChild(j)}e.appendChild(g);this.idPull[g.id]=j}};dhtmlXMenuObject.prototype.addNewSeparator=function(a,c){c=this.idPrefix+(c!=null?c:this._genStr(24));var e=this.idPrefix+this.getParentId(a);this._addItemIntoGlobalStrorage(c,e,"","separator",false,"","");this._renderSeparator(c,this.getItemPosition(a))};dhtmlXMenuObject.prototype._initObj=function(r,s,l){if(!(r instanceof Array)){l=r.parentId;if(l!=null&&String(l).indexOf(this.idPrefix)!==0){l=this.idPrefix+String(l)}r=r.items}for(var e=0;e0){this.itemPull[r[e].id].complex=true;this._initObj(r[e].items,true,r[e].id)}else{if(this.conf.dload&&r[e].complex==true){this.itemPull[r[e].id].loaded="no"}}this.itemPull[r[e].id].items=null}if(s!==true){if(this.conf.dload==true){if(l==null){this._initTopLevelMenu()}else{this._addSubMenuPolygon(l,l);if(this.conf.selected==l){var o=(this.itemPull[l].parent==this.idPrefix+this.topId);var c=(o&&!this.conf.context?this.conf.dir_toplv:this.conf.dir_sublv);var h=false;if(o&&this.conf.top_mode&&this.conf.mode=="web"&&!this.conf.context){var v=this.idPull[l];if(v._mouseOver==true){var j=this.conf.top_tmtime-(new Date().getTime()-v._dynLoadTM);if(j>1){var n=l;var m=this;v._menuOpenTM=window.setTimeout(function(){m._showPolygon(n,c);m=n=null},j);h=true}}}if(!h){this._showPolygon(l,c)}}this.itemPull[l].loaded="yes";if(this.conf.dload_icon==true){this._updateLoaderIcon(l,false)}}}else{this._init()}}};dhtmlXMenuObject.prototype._xmlToJson=function(h,g){var l=[];if(g==null){var m=h.getElementsByTagName(this.conf.tags.root);if(m==null||(m!=null&&m.length==0)){return{items:[]}}m=m[0]}else{m=h}if(m.getAttribute("parentId")!=null){g=this.idPrefix+m.getAttribute("parentId")}for(var c=0;c0)}for(var n=0;n=0){return}var c=(this.conf.rtl?0:2);if(!this.idPull[g].childNodes[c]){return}if(!this.idPull[g].childNodes[c].childNodes[0]){return}var a=this.idPull[g].childNodes[c].childNodes[0];if(String(a.className).search("complex_arrow")===0){a.className="complex_arrow"+(e?"_loading":"")}};dhtmlXMenuObject.prototype.addNewSibling=function(g,h,a,c,e,m){var l=this.idPrefix+(h!=null?h:this._genStr(24));var j=this.idPrefix+(g!=null?this.getParentId(g):this.topId);this._addItemIntoGlobalStrorage(l,j,a,"item",c,e,m);if((j==this.idPrefix+this.topId)&&(!this.conf.context)){this._renderToplevelItem(l,this.getItemPosition(g))}else{this._renderSublevelItem(l,this.getItemPosition(g))}};dhtmlXMenuObject.prototype.addNewChild=function(l,j,g,a,c,e,h){if(l==null){if(this.conf.context){l=this.topId}else{this.addNewSibling(l,g,a,c,e,h);if(j!=null){this.setItemPosition(g,j)}return}}g=this.idPrefix+(g!=null?g:this._genStr(24));if(this.setHotKey){this.setHotKey(l,"")}l=this.idPrefix+l;this._addItemIntoGlobalStrorage(g,l,a,"item",c,e,h);if(this.idPull["polygon_"+l]==null){this._renderSublevelPolygon(l,l)}this._renderSublevelItem(g,j-1);this._redefineComplexState(l)};dhtmlXMenuObject.prototype.removeItem=function(g,j,h){if(!j){g=this.idPrefix+g}var l=null;if(g!=this.idPrefix+this.topId){if(this.itemPull[g]==null){return}if(this.idPull["polygon_"+g]&&this.idPull["polygon_"+g]._tmShow){window.clearTimeout(this.idPull["polygon_"+g]._tmShow)}var s=this.itemPull[g]["type"];if(s=="separator"){var r=this.idPull["separator_"+g];if(this.itemPull[g]["parent"]==this.idPrefix+this.topId){r.onclick=null;r.onselectstart=null;r.id=null;r.parentNode.removeChild(r)}else{r.childNodes[0].childNodes[0].onclick=null;r.childNodes[0].childNodes[0].onselectstart=null;r.childNodes[0].childNodes[0].id=null;r.childNodes[0].removeChild(r.childNodes[0].childNodes[0]);r.removeChild(r.childNodes[0]);r.parentNode.removeChild(r)}this.idPull["separator_"+g]=null;this.itemPull[g]=null;delete this.idPull["separator_"+g];delete this.itemPull[g];r=null}else{l=this.itemPull[g]["parent"];var r=this.idPull[g];r.onclick=null;r.oncontextmenu=null;r.onmouseover=null;r.onmouseout=null;r.onselectstart=null;r.id=null;while(r.childNodes.length>0){r.removeChild(r.childNodes[0])}r.parentNode.removeChild(r);this.idPull[g]=null;this.itemPull[g]=null;delete this.idPull[g];delete this.itemPull[g];r=null}s=null}for(var n in this.itemPull){if(this.itemPull[n]["parent"]==g){this.removeItem(n,true,true)}}var o=new Array(g);if(l!=null&&!h){if(this.idPull["polygon_"+l]!=null){if(this.idPull["polygon_"+l].tbd.childNodes.length==0){o.push(l);this._updateItemComplexState(l,false,false)}}}for(var c=0;c0){this.idPull[j].insertBefore(g,this.idPull[j].childNodes[0])}else{this.idPull[j].appendChild(g)}}g.innerHTML=this.itemPull[j]["title"]}}else{var g=null;for(var a=0;a0?a:null);this.itemPull[c]["tip"]=a};dhtmlXMenuObject.prototype.getTooltip=function(a){if(this.itemPull[this.idPrefix+a]==null){return null}return this.itemPull[this.idPrefix+a]["tip"]};dhtmlXMenuObject.prototype.setTopText=function(a){if(this.conf.context){return}if(this._topText==null){this._topText=document.createElement("DIV");this._topText.className="dhtmlxMenu_TopLevel_Text_"+(this.conf.rtl?"left":(this.conf.align=="left"?"right":"left"));this.base.appendChild(this._topText)}this._topText.innerHTML=a};dhtmlXMenuObject.prototype.setAlign=function(a){if(this.conf.align==a){return}if(a=="left"||a=="right"){this.conf.align=a;if(this.cont){this.cont.className=(this.conf.align=="right"?"align_right":"align_left")}if(this._topText!=null){this._topText.className="dhtmlxMenu_TopLevel_Text_"+(this.conf.align=="left"?"right":"left")}}};dhtmlXMenuObject.prototype.setHref=function(e,a,c){if(this.itemPull[this.idPrefix+e]==null){return}this.itemPull[this.idPrefix+e]["href_link"]=a;if(c!=null){this.itemPull[this.idPrefix+e]["href_target"]=c}};dhtmlXMenuObject.prototype.clearHref=function(a){if(this.itemPull[this.idPrefix+a]==null){return}delete this.itemPull[this.idPrefix+a]["href_link"];delete this.itemPull[this.idPrefix+a]["href_target"]};dhtmlXMenuObject.prototype.getCircuit=function(c){var a=new Array(c);while(this.getParentId(c)!=this.topId){c=this.getParentId(c);a[a.length]=c}return a.reverse()};dhtmlXMenuObject.prototype._getCheckboxState=function(a){if(this.itemPull[this.idPrefix+a]==null){return null}return this.itemPull[this.idPrefix+a]["checked"]};dhtmlXMenuObject.prototype._setCheckboxState=function(c,a){if(this.itemPull[this.idPrefix+c]==null){return}this.itemPull[this.idPrefix+c]["checked"]=a};dhtmlXMenuObject.prototype._updateCheckboxImage=function(c){if(this.idPull[this.idPrefix+c]==null){return}this.itemPull[this.idPrefix+c]["imgen"]="chbx_"+(this._getCheckboxState(c)?"1":"0");this.itemPull[this.idPrefix+c]["imgdis"]=this.itemPull[this.idPrefix+c]["imgen"];try{this.idPull[this.idPrefix+c].childNodes[(this.conf.rtl?2:0)].childNodes[0].className="sub_icon "+this.itemPull[this.idPrefix+c]["imgen"]}catch(a){}};dhtmlXMenuObject.prototype._checkboxOnClickHandler=function(g,a,c){if(a.charAt(1)=="d"){return}if(this.itemPull[this.idPrefix+g]==null){return}var e=this._getCheckboxState(g);if(this.checkEvent("onCheckboxClick")){if(this.callEvent("onCheckboxClick",[g,e,this.conf.ctx_zoneid,c])){this.setCheckboxState(g,!e)}}else{this.setCheckboxState(g,!e)}if(this.checkEvent("onClick")){this.callEvent("onClick",[g])}};dhtmlXMenuObject.prototype.setCheckboxState=function(c,a){this._setCheckboxState(c,a);this._updateCheckboxImage(c)};dhtmlXMenuObject.prototype.getCheckboxState=function(a){return this._getCheckboxState(a)};dhtmlXMenuObject.prototype.addCheckbox=function(m,g,n,o,q,a,h){if(this.conf.context&&g==this.topId){}else{if(this.itemPull[this.idPrefix+g]==null){return}if(m=="child"&&this.itemPull[this.idPrefix+g]["type"]!="item"){return}}var j="chbx_"+(a?"1":"0");var e=j;if(m=="sibling"){var c=this.idPrefix+(o!=null?o:this._genStr(24));var l=this.idPrefix+this.getParentId(g);this._addItemIntoGlobalStrorage(c,l,q,"checkbox",h,j,e);this.itemPull[c]["checked"]=a;this._renderSublevelItem(c,this.getItemPosition(g))}else{var c=this.idPrefix+(o!=null?o:this._genStr(24));var l=this.idPrefix+g;this._addItemIntoGlobalStrorage(c,l,q,"checkbox",h,j,e);this.itemPull[c]["checked"]=a;if(this.idPull["polygon_"+l]==null){this._renderSublevelPolygon(l,l)}this._renderSublevelItem(c,n-1);this._redefineComplexState(l)}};dhtmlXMenuObject.prototype.setHotKey=function(l,a){l=this.idPrefix+l;if(!(this.itemPull[l]!=null&&this.idPull[l]!=null)){return}if(this.itemPull[l]["parent"]==this.idPrefix+this.topId&&!this.conf.context){return}if(this.itemPull[l]["complex"]){return}var c=this.itemPull[l]["type"];if(!(c=="item"||c=="checkbox"||c=="radio")){return}var j=null;try{if(this.idPull[l].childNodes[this.conf.rtl?0:2].childNodes[0].className=="sub_item_hk"){j=this.idPull[l].childNodes[this.conf.rtl?0:2].childNodes[0]}}catch(h){}if(a.length==0){this.itemPull[l]["hotkey_backup"]=this.itemPull[l]["hotkey"];this.itemPull[l]["hotkey"]="";if(j!=null){j.parentNode.removeChild(j)}}else{this.itemPull[l]["hotkey"]=a;this.itemPull[l]["hotkey_backup"]=null;if(j==null){j=document.createElement("DIV");j.className="sub_item_hk";var g=this.idPull[l].childNodes[this.conf.rtl?0:2];while(g.childNodes.length>0){g.removeChild(g.childNodes[0])}g.appendChild(j)}j.innerHTML=a}};dhtmlXMenuObject.prototype.getHotKey=function(a){if(this.itemPull[this.idPrefix+a]==null){return null}return this.itemPull[this.idPrefix+a]["hotkey"]};dhtmlXMenuObject.prototype._clearAllSelectedSubItemsInPolygon=function(a){var e=this._getSubItemToDeselectByPolygon(a);for(var c=0;c0){var e=false;var h=a.scrollTop-this.conf.of_ustep;if(h<0){e=true;h=0}a.scrollTop=h;if(!e){var c=this;this.conf.of_utm=window.setTimeout(function(){c._doScrollUp(j,false);c=null},this.conf.of_utime)}else{g=true}}else{this._canScrollUp=false;this._checkArrowsState(j)}if(g){this._checkArrowsState(j)}};dhtmlXMenuObject.prototype._doScrollDown=function(j,g){var a=this.idPull["polygon_"+j].childNodes[1];if(this._canScrollDown&&a.scrollTop+a.offsetHeight<=a.scrollHeight){var e=false;var h=a.scrollTop+this.conf.of_dstep;if(h+a.offsetHeight>=a.scrollHeight){e=true;h=a.scrollHeight-a.offsetHeight}a.scrollTop=h;if(!e){var c=this;this.conf.of_dtm=window.setTimeout(function(){c._doScrollDown(j,false);c=null},this.conf.of_dtime)}else{g=true}}else{this._canScrollDown=false;this._checkArrowsState(j)}if(g){this._checkArrowsState(j)}};dhtmlXMenuObject.prototype._countPolygonItems=function(j){var g=0;for(var c in this.itemPull){var e=this.itemPull[c]["parent"];var h=this.itemPull[c]["type"];if(e==this.idPrefix+j&&(h=="item"||h=="radio"||h=="checkbox")){g++}}return g};dhtmlXMenuObject.prototype.setOverflowHeight=function(g){if(g==="auto"){this.conf.overflow_limit=0;this.conf.auto_overflow=true;return}if(this.conf.overflow_limit==0&&g<=0){return}this._clearAndHide();if(this.conf.overflow_limit>=0&&g>0){this.conf.overflow_limit=g;return}if(this.conf.overflow_limit>0&&g<=0){for(var e in this.itemPull){if(this._isArrowExists(e)){var c=String(e).replace(this.idPrefix,"");this._removeUpArrow(c);this._removeDownArrow(c);this.idPull["polygon_"+e].childNodes[1].style.height=""}}this.conf.overflow_limit=0;return}};dhtmlXMenuObject.prototype._getRadioImgObj=function(g){try{var a=this.idPull[this.idPrefix+g].childNodes[(this.conf.rtl?2:0)].childNodes[0]}catch(c){var a=null}return a};dhtmlXMenuObject.prototype._setRadioState=function(g,e){var c=this._getRadioImgObj(g);if(c!=null){var a=this.itemPull[this.idPrefix+g];a.checked=e;a.imgen="rdbt_"+(a.checked?"1":"0");a.imgdis=a.imgen;c.className="sub_icon "+a.imgen}};dhtmlXMenuObject.prototype._radioOnClickHandler=function(g,a,c){if(a.charAt(1)=="d"||this.itemPull[this.idPrefix+g]["group"]==null){return}var e=this.itemPull[this.idPrefix+g]["group"];if(this.checkEvent("onRadioClick")){if(this.callEvent("onRadioClick",[e,this.getRadioChecked(e),g,this.conf.ctx_zoneid,c])){this.setRadioChecked(e,g)}}else{this.setRadioChecked(e,g)}if(this.checkEvent("onClick")){this.callEvent("onClick",[g])}};dhtmlXMenuObject.prototype.getRadioChecked=function(g){var j=null;for(var e=0;e";return a};dhtmlXMenuObject.prototype._readLevel=function(g){var h="";for(var n in this.itemPull){if(this.itemPull[n]["parent"]==g){var c="";var e="";var q="";var m=String(this.itemPull[n]["id"]).replace(this.idPrefix,"");var l="";var o=(this.itemPull[n]["title"]!=""?' text="'+this.itemPull[n]["title"]+'"':"");var j="";if(this.itemPull[n]["type"]=="item"){if(this.itemPull[n]["imgen"]!=""){c=' img="'+this.itemPull[n]["imgen"]+'"'}if(this.itemPull[n]["imgdis"]!=""){e=' imgdis="'+this.itemPull[n]["imgdis"]+'"'}if(this.itemPull[n]["hotkey"]!=""){q=""+this.itemPull[n]["hotkey"]+""}}if(this.itemPull[n]["type"]=="separator"){l=' type="separator"'}else{if(this.itemPull[n]["state"]=="disabled"){j=' enabled="false"'}}if(this.itemPull[n]["type"]=="checkbox"){l=' type="checkbox"'+(this.itemPull[n]["checked"]?' checked="true"':"")}if(this.itemPull[n]["type"]=="radio"){l=' type="radio" group="'+this.itemPull[n]["group"]+'" '+(this.itemPull[n]["checked"]?' checked="true"':"")}h+="";h+=q;if(this.itemPull[n]["complex"]){h+=this._readLevel(n)}h+=""}}return h};dhtmlXMenuObject.prototype.enableEffect=function(e,h,g){this._menuEffect=(e=="opacity"||e=="slide"||e=="slide+"?e:false);this._pOpStyleIE=(navigator.userAgent.search(/MSIE\s[678]\.0/gi)>=0);for(var c in this.idPull){if(c.search(/polygon/)===0){this._pOpacityApply(c,(this._pOpStyleIE?100:1));this.idPull[c].style.height=""}}this._pOpMax=(typeof(h)=="undefined"?100:h)/(this._pOpStyleIE?1:100);this._pOpStyleName=(this._pOpStyleIE?"filter":"opacity");this._pOpStyleValue=(this._pOpStyleIE?"progid:DXImageTransform.Microsoft.Alpha(Opacity=#)":"#");this._pSlSteps=(this._pOpStyleIE?10:20);this._pSlTMTimeMax=g||50};dhtmlXMenuObject.prototype._showPolygonEffect=function(a){this._pShowHide(a,true)};dhtmlXMenuObject.prototype._hidePolygonEffect=function(a){this._pShowHide(a,false)};dhtmlXMenuObject.prototype._pOpacityApply=function(a,c){this.idPull[a].style[this._pOpStyleName]=String(this._pOpStyleValue).replace("#",c||this.idPull[a]._op)};dhtmlXMenuObject.prototype._pShowHide=function(a,c){if(!this.idPull){return}if(this.idPull[a]._tmShow!=null){if((this.idPull[a]._step_h>0&&c==true)||(this.idPull[a]._step_h<0&&c==false)){return}window.clearTimeout(this.idPull[a]._tmShow);this.idPull[a]._tmShow=null;this.idPull[a]._max_h=null}if(c==false&&(this.idPull[a].style.visibility=="hidden"||this.idPull[a].style.display=="none")){return}if(c==true&&this.idPull[a].style.display=="none"){this.idPull[a].style.visibility="hidden";this.idPull[a].style.display=""}if(this.idPull[a]._max_h==null){this.idPull[a]._max_h=parseInt(this.idPull[a].offsetHeight);this.idPull[a]._h=(c==true?0:this.idPull[a]._max_h);this.idPull[a]._step_h=Math.round(this.idPull[a]._max_h/this._pSlSteps)*(c==true?1:-1);if(this.idPull[a]._step_h==0){return}this.idPull[a]._step_tm=Math.round(this._pSlTMTimeMax/this._pSlSteps);if(this._menuEffect=="slide+"||this._menuEffect=="opacity"){this.idPull[a].op_tm=this.idPull[a]._step_tm;this.idPull[a].op_step=(this._pOpMax/this._pSlSteps)*(c==true?1:-1);if(this._pOpStyleIE){this.idPull[a].op_step=Math.round(this.idPull[a].op_step)}this.idPull[a]._op=(c==true?0:this._pOpMax);this._pOpacityApply(a)}else{this.idPull[a]._op=(this._pOpStyleIE?100:1);this._pOpacityApply(a)}if(this._menuEffect.search(/slide/)===0){this.idPull[a].style.height="0px"}this.idPull[a].style.visibility="visible"}this._pEffectSet(a,this.idPull[a]._h+this.idPull[a]._step_h)};dhtmlXMenuObject.prototype._pEffectSet=function(e,c){if(!this.idPull){return}if(this.idPull[e]._tmShow){window.clearTimeout(this.idPull[e]._tmShow)}this.idPull[e]._h=Math.max(0,Math.min(c,this.idPull[e]._max_h));if(this._menuEffect.search(/slide/)===0){this.idPull[e].style.height=this.idPull[e]._h+"px"}c+=this.idPull[e]._step_h;if(this._menuEffect=="slide+"||this._menuEffect=="opacity"){this.idPull[e]._op=Math.max(0,Math.min(this._pOpMax,this.idPull[e]._op+this.idPull[e].op_step));this._pOpacityApply(e)}if((this.idPull[e]._step_h>0&&c<=this.idPull[e]._max_h)||(this.idPull[e]._step_h<0&&c>=0)){var a=this;this.idPull[e]._tmShow=window.setTimeout(function(){a._pEffectSet(e,c)},this.idPull[e]._step_tm)}else{if(this._menuEffect.search(/slide/)===0){this.idPull[e].style.height=""}if(this.idPull[e]._step_h<0){this.idPull[e].style.visibility="hidden"}if(this._menuEffect=="slide+"||this._menuEffect=="opacity"){this.idPull[e]._op=(this.idPull[e]._step_h<0?(this._pOpStyleIE?100:1):this._pOpMax);this._pOpacityApply(e)}this.idPull[e]._tmShow=null;this.idPull[e]._h=null;this.idPull[e]._max_h=null;this.idPull[e]._step_tm=null}};function dhtmlXRibbon(g){var e=this,c,a;this.conf={type:"ribbon",icons_path:(g&&g.icons_path)?g.icons_path:"",icons_css:(g&&g.iconsset=="awesome"),arrows_mode:(g&&g.arrows_mode)?g.arrows_mode:null,skin:"dhx_skyblue"};this._eventHandlers={};this._base=null;this._items={};this._tabbar=null;this.childIds=[];if(typeof(g)=="string"){a=g}else{if(g&&g.tagName){a=g}else{if(g&&g.parent){if(g.parent.tagName||typeof(g.parent)=="string"){a=g.parent}}}}this._doOnHighlight0=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}if(e.items[j.type]&&typeof(e.items[j.type].mouseover)=="function"){if(e.items[j.type].mouseover(j,e,m)!=true){return false}}if(!/dhxrb_highlight0/.test(h.className)){h.className+=" dhxrb_highlight0"}};this._doOffHighlight0=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}if(e.items[j.type]&&typeof(e.items[j.type].mouseout)=="function"){if(e.items[j.type].mouseout(j,e,m)!=true){return false}}if(/dhxrb_highlight1/.test(h.className)){h.className=h.className.replace(/\s?dhxrb_highlight1/,"")}if(/dhxrb_highlight0/.test(h.className)){h.className=h.className.replace(/\s?dhxrb_highlight0/,"")}};this._doOnHighlight1=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}e.callEvent("_showPopup",[j.id]);if(e.items[j.type]&&typeof(e.items[j.type].mousedown)=="function"){if(e.items[j.type].mousedown(j,e,m)!=true){return false}}if(!/dhxrb_highlight1/.test(h.className)){h.className+=" dhxrb_highlight1"}};this._doOffHighlight1=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}if(e.items[j.type]&&typeof(e.items[j.type].mouseup)=="function"){if(e.items[j.type].mouseup(j,e,m)!=true){return false}}if(/dhxrb_highlight1/.test(h.className)){h.className=h.className.replace(/\s?dhxrb_highlight1/,"")}};this._doOnClick=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}if(e.items[j.type]&&typeof(e.items[j.type].click)=="function"){e.items[j.type].click(j,e,m)}};this._doOnFocus=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}e.callEvent("_showPopup",[j.id]);if(e.items[j.type]&&typeof(e.items[j.type].focus)=="function"){e.items[j.type].focus(j,e,m)}};this._doOnBlur=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}if(e.items[j.type]&&typeof(e.items[j.type].blur)=="function"){e.items[j.type].blur(j,e,m)}};this._doOnChange=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}if(e.items[j.type]&&typeof(e.items[j.type].change)=="function"){e.items[j.type].change(j,e,m)}};this._doOnKeydown=function(m){m=m||event;var l=m.target||m.srcElement;var h=e._findItemByNode(l);var j=e._items[h._dhx_ribbonId];if(j.conf.disable){return}if(e.items[j.type]&&typeof(e.items[j.type].keydown)=="function"){e.items[j.type].keydown(j,e,m)}};this._tabCustomApi={enable:function(m,j){var h=null;j=j||false;if(j!=true){h=e._items[this._idd];for(var l=0;l"}else{var e=""}c.innerHTML=e+"
    "+h.conf.text+"
    ";if(typeof(this.afterRender)=="function"){this.afterRender(h)}if(h.conf.disable){this.disable(h)}return h},getText:function(a){return a.conf.text},setText:function(c,e){var a=c.base.childNodes[1];c.conf.text=e;a.innerHTML=e},setImage:function(c,a){c.conf.img=a;if(c.conf.disable==false){c.base.childNodes[0][c.conf.icons_css?"className":"src"]=c.conf.icons_path+c.conf.img}},setImageDis:function(c,a){c.conf.imgdis=a;if(c.conf.disable==true){c.base.childNodes[0][c.conf.icons_css?"className":"src"]=c.conf.icons_path+c.conf.imgdis}},mousedown:function(a,g,c){return true},click:function(a,g,c){if(c.button!=0){return false}g._callHandler(a.id,[a.id]);a.callEvent("onClick",[a.id]);return false},disable:function(c){var e=c.base.childNodes[0],a=c.base.childNodes[1];if(c.conf.imgdis){e[c.conf.icons_css?"className":"src"]=c.conf.icons_path+c.conf.imgdis;if(/\s?dhxrb_invisible/i.test(e.className)){e.className=e.className.replace(/\s?dhxrb_invisible/i,"")}}if(!/\s?dhxrb_disable_text_style/i.test(a.className)){a.className+=" dhxrb_disable_text_style"}return true},enable:function(c){var e=c.base.childNodes[0],a=c.base.childNodes[1];if(c.conf.img){e[c.conf.icons_css?"className":"src"]=c.conf.icons_path+c.conf.img}else{if(!/\s?dhxrb_invisible/i.test(e.className)){e.className+=" dhxrb_invisible"}}if(/\s?dhxrb_disable_text_style/i.test(a.className)){a.className=a.className.replace(/\s?dhxrb_disable_text_style/i,"")}return true}};dhtmlXRibbon.prototype.items.buttonTwoState={click:function(a,g,c){return false},afterRender:function(a){if(a.conf.state){this.setState(a,a.conf.state)}},mouseover:function(a){if(!/dhxrb_highlight0/.test(a.base.className)){a.base.className+=" dhxrb_highlight0"}return false},mouseout:function(a){if(/dhxrb_highlight0/.test(a.base.className)){a.base.className=a.base.className.replace(/\s?dhxrb_highlight0/,"")}return false},mousedown:function(a,g,c){g._callHandler(a.id,[a.id,!a.conf.state]);this.setState(a,!a.conf.state,true);return false},mouseup:function(a){return false},setState:function(a,c,e){e=e||false;c=dhx4.s2b(c);if(c){if(!/dhxrb_highlight1/.test(a.base.className)){a.base.className+=" dhxrb_highlight1"}}else{if(/dhxrb_highlight1/.test(a.base.className)){a.base.className=a.base.className.replace(/\s?dhxrb_highlight1/,"")}}a.conf.state=c;if(e){a.callEvent("onStateChange",[a.id,a.conf.state])}},getState:function(a){return(a.conf.state==true)}};dhtmlXRibbon.prototype.items.buttonSegment={click:function(a,g,c){return false},mousedown:function(a,g,c){this.setState(a,g,true);return false},callAfterInit:function(a){if(a.conf.state||dhtmlXRibbon.prototype.items.buttonSegment._getSelectedNeighbor(a,this)==null){if(a.conf.state){a.conf.state=false}dhtmlXRibbon.prototype.items.buttonSegment.setState(a,this,false)}},afterRender:function(){},setState:function(a,h,g){g=g||false;var e=null,c=dhx4.s2b(a.conf.state);if(c==false){e=this._getSelectedNeighbor(a,h);if(e!=null){this._unSelect(e)}if(!/dhxrb_highlight1/.test(a.base.className)){a.base.className+=" dhxrb_highlight1"}a.conf.state=true;if(g){h._callHandler(a.id,[a.id,(e?e.id:null)]);h.callEvent("onStateChange",[a.id,(e?e.id:null)])}}},remove:function(e,l){var h=dhx4.s2b(e.conf.state),j=null,a=0,c=l._items[e.parentId],g;if(h){while(c.childIds[a]&&j==null){g=l._items[c.childIds[a]];if(g.type=="buttonSegment"&&g!=e){j=g}a++}if(j){this.setState(j,l)}}},_unSelect:function(a){var c=dhx4.s2b(a.conf.state);if(c){if(/dhxrb_highlight1/.test(a.base.className)){a.base.className=a.base.className.replace(/\s?dhxrb_highlight1/,"")}a.conf.state=false}},_getSelectedNeighbor:function(g,m){var e=m._items[g.parentId],c,a,j,h=null;a=e.childIds.length;for(c=0;c ";c.menu=null;this.itemCollection.push(c);this._attachEventToWindow();a=null},setText:function(a,e){var c=a.base.childNodes[1].lastChild;a.conf.text=e;a.base.childNodes[1].innerHTML=e;a.base.childNodes[1].appendChild(c)},setOptionText:function(a,e,c){if(a.menu!=null){a.menu.setItemText(e,c)}else{this._loopThroughItems(a.conf.items,e,c,false)}},getOptionText:function(a,c){if(a.menu!=null){return a.menu.getItemText(c)}return this._loopThroughItems(a.conf.items,c,null,true)},_loopThroughItems:function(a,j,h,g){for(var e=0;e
    "+g.conf.text+"
    ";if(typeof(this.afterRender)=="function"){this.afterRender(g)}if(g.conf.disable){this.disable(g)}if(g.conf.width){this.setWidth(g,g.conf.width)}if(g.conf.value){this.setValue(g,g.conf.value)}return g},callAfterInit:function(c){var a=c.base.childNodes[0];this._detachEventFromItem(c.base);this._attachEventsToInput(a)},setText:dhtmlXRibbon.prototype.items.button.setText,getText:dhtmlXRibbon.prototype.items.button.getText,change:function(c){var a=c.base.childNodes[0];c.conf.value=a.value},keydown:function(c,h,g){if(g.keyCode==13){var a=c.base.childNodes[0];c.conf.value=a.value;h.callEvent("onEnter",[c.id,c.conf.value])}},remove:function(c,e){var a=c.base.childNodes[0];e._detachEventsFromInput(a)},getValue:function(c){var a=c.base.childNodes[0],e;e=a.value;a=undefined;return e},setValue:function(c,e){var a=c.base.childNodes[0],e;a.value=e;c.conf.value=e},setWidth:function(c,e){var a=c.base.childNodes[0];a.style.width=parseInt(e)+"px"},disable:function(e){var c=e.base.childNodes[0],a=e.base.childNodes[1];c.disabled=true;if(!/\s?dhxrb_disable_text_style/i.test(a.className)){a.className+=" dhxrb_disable_text_style"}return true},enable:function(e){var c=e.base.childNodes[0],a=e.base.childNodes[1];c.disabled=false;if(/\s?dhxrb_disable_text_style/i.test(a.className)){a.className=a.className.replace(/\s?dhxrb_disable_text_style/i,"")}return true},getInput:function(a){return a.base.childNodes[0]}};dhtmlXRibbon.prototype.getInput=function(c){var a=this._items[c];if(a==null||a.type!="input"){return null}return this.items[a.type].getInput(a)};dhtmlXRibbon.prototype.items.checkbox={render:function(c,a){var e,g;g={base:c,id:a.id,type:a.type,conf:{text:"",text_pos:(a.isbig)?"bottom":"right",disable:false,checked:false}};for(e in a){if(e=="id"||e=="onclick"||e=="type"){continue}g.conf[e]=a[e]}c.innerHTML="
    "+g.conf.text+"
    ";if(typeof(this.afterRender)=="function"){this.afterRender(g)}if(g.conf.checked){this.check(g)}return g},callAfterInit:function(a){if(a.conf.disable){this.disable(a.id)}},setText:dhtmlXRibbon.prototype.items.button.setText,getText:dhtmlXRibbon.prototype.items.button.getText,mousedown:function(a){return false},mouseup:function(a){return false},click:function(a,g,c){if(c.button!=0){return false}if(a.type=="checkbox"){if(a.conf.checked){this.uncheck(a,true)}else{this.check(a,true)}}},check:function(a,c){c=c||false;if(a.type!="checkbox"){return}a.conf.checked=true;if(!/\s?dhxrb_checked/i.test(a.base.className)){a.base.className+=" dhxrb_checked"}if(c){a.callEvent("onCheck",[a.id,a.conf.checked])}},uncheck:function(a,c){c=c||false;if(a.type!="checkbox"){return}a.conf.checked=false;if(/\s?dhxrb_checked/i.test(a.base.className)){a.base.className=a.base.className.replace(/\s?dhxrb_checked/i,"")}if(c){a.callEvent("onCheck",[a.id,a.conf.checked])}},isChecked:function(a){if(a.type!="checkbox"){return false}return(a.conf.checked==true)},disable:function(a){return true},enable:function(a){return true}};dhtmlXRibbon.prototype.items.text={render:function(a,g){var e={base:a,id:g.id,type:g.type,conf:{text:""}};for(var c in g){if(c=="id"||c=="type"){continue}e.conf[c]=g[c]}a.innerHTML="
    "+e.conf.text+"
    ";if(typeof(this.afterRender)=="function"){this.afterRender(e)}return e},callAfterInit:function(a){this._detachEventFromItem(a.base)},getText:function(a){return a.conf.text},setText:function(a,c){a.conf.text=c;a.base.firstChild.innerHTML=a.conf.text}};dhtmlXRibbon.prototype.items.buttonCombo={render:function(a,c){var e,g,h={};g={base:a,id:c.id,type:c.type,conf:{text:"",text_pos:"right",width:140,skin:c.skin,callEvent:true,mode:c.comboType,image_path:c.comboImagePath,default_image:c.comboDefaultImage,default_image_dis:c.comboDefaultImageDis}};for(e in c){if(e=="id"||e=="onclick"||e=="type"){continue}g.conf[e]=c[e]}for(e in g.conf){if(e=="text"||e=="text_pos"||e=="disable"||e=="data"){continue}h[e]=g.conf[e]}g.base.className+=" dhxrb_buttoncombo_cont";g.base.innerHTML="
    "+g.conf.text+"
    ";h.parent=g.base.firstChild;g.combo=new dhtmlXCombo(h);g.combo.setSkin(h.skin);g.combo.attachEvent("onChange",function(j,l){g._callHandler(g.id,[j,l]);if(g.conf.callEvent==true){g.callEvent("onSelectOption",[g.id,j,l])}g.conf.callEvent=true});if(g.conf.data){g.combo.load(g.conf.data);delete g.conf.data}if(typeof(this.afterRender)=="function"){this.afterRender(g)}if(g.conf.disable){this.disable(g)}return g},callAfterInit:function(a){this._detachEventFromItem(a.base)},disable:function(c){var a=c.base.lastChild;if(c.combo instanceof dhtmlXCombo){c.combo.disable()}if(!/\s?dhxrb_disable_text_style/i.test(a.className)){a.className+=" dhxrb_disable_text_style"}return true},enable:function(c){var a=c.base.lastChild;if(c.combo instanceof dhtmlXCombo){c.combo.enable()}if(/\s?dhxrb_disable_text_style/i.test(a.className)){a.className=a.className.replace(/\s?dhxrb_disable_text_style/i,"")}return true},remove:function(a){if(a.combo instanceof dhtmlXCombo){a.combo.unload();a.combo=null}},getValue:function(a){var c=null;if(a.combo instanceof dhtmlXCombo){c=a.combo.getSelectedValue()}return c},setValue:function(a,c,e){if(a.combo instanceof dhtmlXCombo){a.conf.callEvent=e;a.combo.setComboValue(c);a.conf.callEvent=true}},setSkin:function(a,c){if(a.combo instanceof dhtmlXCombo){a.combo.setSkin(c)}}};dhtmlXRibbon.prototype.items.slider={render:function(a,h){var e,g,c={};g={base:a,id:h.id,type:h.type,conf:{text:"",text_pos:"right",size:150,vertical:false,min:0,max:99,value:0,step:1,margin:10,disabled:false,enableTooltip:false}};for(e in h){if(e=="id"||e=="onclick"||e=="type"){continue}g.conf[e]=h[e]}for(e in g.conf){if(e=="text"||e=="text_pos"||e=="isbig"){continue}c[e]=g.conf[e]}g.base.innerHTML="
    "+g.conf.text+"
    ";c.parent=g.base.firstChild.firstChild;g.slider=new dhtmlXSlider(c);if(typeof(this.afterRender)=="function"){this.afterRender(g)}if(g.conf.disable){this.disable(g)}g.slider.attachEvent("onChange",function(j){g._callHandler(g.id,[j]);g.callEvent("onValueChange",[g.id,j])});return g},callAfterInit:function(a){this._detachEventFromItem(a.base)},setSkin:function(a,c){if(a.slider instanceof dhtmlXSlider){a.slider.setSkin(c)}},disable:function(c){var a=c.base.childNodes[1];if(c.slider instanceof dhtmlXSlider){c.slider.disable()}if(!/\s?dhxrb_disable_text_style/i.test(a.className)){a.className+=" dhxrb_disable_text_style"}return true},enable:function(c){var a=c.base.childNodes[1];if(c.slider instanceof dhtmlXSlider){c.slider.enable()}if(/\s?dhxrb_disable_text_style/i.test(a.className)){a.className=a.className.replace(/\s?dhxrb_disable_text_style/i,"")}return true},remove:function(a){if(a.slider instanceof dhtmlXSlider){a.slider.unload();a.slider=null}},getValue:function(a){var c=null;if(a.slider instanceof dhtmlXSlider){c=a.slider.getValue()}return c},setValue:function(a,c){if(a.slider instanceof dhtmlXSlider){a.slider.setValue(c)}}};dhtmlXRibbon.prototype.items._extends=function(e,c){var a;for(a in c){e[a]=e[a]||c[a]}return e};dhtmlXRibbon.prototype._addNewLevel=function(e){var c,a;if(e.conf.mode=="rows"){c=e.contForItems.lastChild;if(c&&/dhxrb_block_rows/i.test(c.className)&&(c.childNodes.length<3)){a=document.createElement("div");a.className="dhxrb_block_row";c.appendChild(a)}else{c=document.createElement("div");c.className="dhxrb_block_rows";e.contForItems.appendChild(c);a=document.createElement("div");a.className="dhxrb_block_row";c.appendChild(a)}}else{var a=document.createElement("div");a.className="dhxrb_3rows_block";e.contForItems.appendChild(a)}};dhtmlXRibbon.prototype._attachEventForItem=function(a){if(typeof(window.addEventListener)=="function"){a.addEventListener("mouseover",this._doOnHighlight0,false);a.addEventListener("mouseout",this._doOffHighlight0,false);a.addEventListener("mousedown",this._doOnHighlight1,false);a.addEventListener("mouseup",this._doOffHighlight1,false);a.addEventListener("click",this._doOnClick,false)}else{a.attachEvent("onmouseover",this._doOnHighlight0);a.attachEvent("onmouseout",this._doOffHighlight0);a.attachEvent("onmousedown",this._doOnHighlight1);a.attachEvent("onmouseup",this._doOffHighlight1);a.attachEvent("onclick",this._doOnClick)}};dhtmlXRibbon.prototype._detachEventFromItem=function(a){if(typeof(window.addEventListener)=="function"){a.removeEventListener("mouseover",this._doOnHighlight0,false);a.removeEventListener("mouseout",this._doOffHighlight0,false);a.removeEventListener("mousedown",this._doOnHighlight1,false);a.removeEventListener("mouseup",this._doOffHighlight1,false);a.removeEventListener("click",this._doOnClick,false)}else{a.detachEvent("onmouseover",this._doOnHighlight0);a.detachEvent("onmouseout",this._doOffHighlight0);a.detachEvent("onmousedown",this._doOnHighlight1);a.detachEvent("onmouseup",this._doOffHighlight1);a.detachEvent("onclick",this._doOnClick)}};dhtmlXRibbon.prototype._attachEventsToInput=function(a){if(typeof(window.addEventListener)=="function"){a.addEventListener("focus",this._doOnFocus,false);a.addEventListener("blur",this._doOnBlur,false);a.addEventListener("change",this._doOnChange,false);a.addEventListener("keydown",this._doOnKeydown,false)}else{a.attachEvent("onfocus",this._doOnFocus);a.attachEvent("onblur",this._doOnBlur);a.attachEvent("onchange",this._doOnChange);a.attachEvent("onkeydown",this._doOnKeydown)}};dhtmlXRibbon.prototype._detachEventsFromInput=function(a){if(typeof(window.addEventListener)=="function"){a.removeEventListener("focus",this._doOnFocus,false);a.removeEventListener("blur",this._doOnBlur,false);a.removeEventListener("change",this._doOnChange,false);a.removeEventListener("keydown",this._doOnKeydown,false)}else{a.detachEvent("onfocus",this._doOnFocus);a.detachEvent("onblur",this._doOnBlur);a.detachEvent("onchange",this._doOnChange);a.detachEvent("onkeydown",this._doOnKeydown)}};dhtmlXRibbon.prototype._getContainerForSmallItem=function(e){var c=e.contForItems.lastChild,a=null;if(e.conf.mode=="rows"){if(c&&/\s?dhxrb_block_rows/i.test(c.className)){a=c.lastChild;if(!a){a=document.createElement("div");a.className="dhxrb_block_row";c.appendChild(a)}}else{c=document.createElement("div");c.className="dhxrb_block_rows";e.contForItems.appendChild(c);a=document.createElement("div");a.className="dhxrb_block_row";c.appendChild(a)}}else{if(c&&/dhxrb_3rows_block/i.test(c.className)&&(c.childNodes.length<3)){a=c}else{a=document.createElement("div");a.className="dhxrb_3rows_block";e.contForItems.appendChild(a)}}return a};dhtmlXRibbon.prototype._findItemByNode=function(a){while(a&&!a._dhx_ribbonId){a=a.parentNode}return a};dhtmlXRibbon.prototype._indexOf=function(a,g){var e,c;c=a.length;for(e=0;e0){this.cont.removeChild(this.cont.childNodes[0])}c=null;this.cont.dir="ltr";this.base=document.createElement("DIV");this.base.className="dhxtoolbar_float_left";this.cont.appendChild(this.base);this.cont.ontouchstart=function(g){g=g||event;if((String(g.target.tagName||"").toLowerCase()=="input")){return true}if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}g.cancelBubble=true;return false};this.setSkin(this.conf.skin);this.objPull={};this.anyUsed=null;this._genStr=function(g){var h="dhxId_";var l="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";for(var j=0;j0){h.insertBefore(g,h.childNodes[0])}else{h.appendChild(g)}return g};this._setItemImage=function(l,h,g){if(g==true){l.imgEn=h}else{l.imgDis=h}if((!l.state&&g==true)||(l.state&&g==false)){return}if(this.conf.icons_css==true){var j=this._getObj(l.obj,"i");if(j==null){j=this._addImgObj(l.obj)}j.className=this.conf.icons_path+h}else{var j=this._getObj(l.obj,"img");if(j==null){j=this._addImgObj(l.obj)}j.src=this.conf.icons_path+h}};this._clearItemImage=function(j,g){if(g==true){j.imgEn=""}else{j.imgDis=""}if((!j.state&&g==true)||(j.state&&g==false)){return}var h=this._getObj(j.obj,(this.conf.icons_css?"i":"img"));if(h!=null){h.parentNode.removeChild(h)}};this._setItemText=function(g,j){var h=this._getObj(g.obj,"div");if(j==null||j.length==0){if(h!=null){h.parentNode.removeChild(h)}return}if(h==null){h=document.createElement("DIV");h.className="dhxtoolbar_text";g.obj.appendChild(h)}h.innerHTML=j};this._getItemText=function(g){var h=this._getObj(g.obj,"div");if(h!=null){return h.innerHTML}return""};this._enableItem=function(h){if(h.state){return}h.state=true;if(this.objPull[h.id]["type"]=="buttonTwoState"&&this.objPull[h.id]["obj"]["pressed"]==true){h.obj.className="dhx_toolbar_btn dhxtoolbar_btn_pres";h.obj.renderAs="dhx_toolbar_btn dhxtoolbar_btn_over"}else{h.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def";h.obj.renderAs=h.obj.className}if(h.arw){h.arw.className=String(h.obj.className).replace("btn","arw")}var g=this._getObj(h.obj,(this.conf.icons_css?"i":"img"));if(h.imgEn!=""){if(g==null){g=this._addImgObj(h.obj)}g[this.conf.icons_css?"className":"src"]=this.conf.icons_path+h.imgEn}else{if(g!=null){g.parentNode.removeChild(g)}}};this._disableItem=function(h){if(!h.state){return}h.state=false;h.obj.className="dhx_toolbar_btn dhxtoolbar_btn_"+(this.objPull[h.id]["type"]=="buttonTwoState"&&h.obj.pressed?"pres_":"")+"dis";h.obj.renderAs="dhx_toolbar_btn dhxtoolbar_btn_def";if(h.arw){h.arw.className=String(h.obj.className).replace("btn","arw")}var g=this._getObj(h.obj,(this.conf.icons_css?"i":"img"));if(h.imgDis!=""){if(g==null){g=this._addImgObj(h.obj)}g[this.conf.icons_css?"className":"src"]=this.conf.icons_path+h.imgDis}else{if(g!=null){g.parentNode.removeChild(g)}}if(h.polygon!=null){if(h.polygon.style.display!="none"){window.dhx4.zim.clear(h.polygon._idd);h.polygon.style.display="none";if(h.polygon._ie6cover){h.polygon._ie6cover.style.display="none"}if(this.conf.skin=="dhx_terrace"){this._improveTerraceButtonSelect(h.id,true)}this.callEvent("onButtonSelectHide",[h.obj.idd])}}this.anyUsed=null};this.clearAll=function(){for(var g in this.objPull){this._removeItem(String(g).replace(this.idPrefix,""))}this._spacer=null};this._doOnClick=function(g){if(a&&a.forEachItem){a.forEachItem(function(j){if(a.objPull[a.idPrefix+j].type=="buttonSelect"){var h=a.objPull[a.idPrefix+j];if(h.arw._skip===true){h.arw._skip=false}else{if(h.polygon.style.display!="none"){h.obj.renderAs="dhx_toolbar_btn dhxtoolbar_btn_def";h.obj.className=h.obj.renderAs;h.arw.className=String(h.obj.renderAs).replace("btn","arw");a.anyUsed=null;a.conf.touch_id=null;window.dhx4.zim.clear(h.polygon._idd);h.polygon.style.display="none";if(h.polygon._ie6cover){h.polygon._ie6cover.style.display="none"}if(a.conf.skin=="dhx_terrace"){a._improveTerraceButtonSelect(h.id,true)}a.callEvent("onButtonSelectHide",[h.obj.idd])}}}})}};if(typeof(window.addEventListener)!="undefined"){window.addEventListener("mousedown",this._doOnClick,false);window.addEventListener("touchstart",this._doOnClick,false)}else{document.body.attachEvent("onmousedown",this._doOnClick)}if(this.conf.icons_size_autoload!=null){this.setIconSize(this.conf.icons_size_autoload);this.conf.icons_size_autoload=null}if(this.conf.items_autoload!=null){this.loadStruct(this.conf.items_autoload,this.conf.onload_autoload);this.conf.items_autoload=null}else{if(this.conf.json_autoload!=null){this.loadStruct(this.conf.json_autoload,this.conf.onload_autoload);this.conf.json_autoload=null}else{if(this.conf.xml_autoload!=null){this.loadStruct(this.conf.xml_autoload,this.conf.onload_autoload);this.conf.xml_autoload=null}}}if(this.conf.align_autostart!=this.conf.align){this.setAlign(this.conf.align_autostart);this.conf.align_autostart=null}if(typeof(this.conf.auto_onclick)=="function"){this.attachEvent("onClick",this.conf.auto_onclick)}else{if(typeof(this.conf.auto_onclick)=="string"&&typeof(window[this.conf.auto_onclick])=="function"){this.attachEvent("onClick",window[this.conf.auto_onclick])}}return this}dhtmlXToolbarObject.prototype.addSpacer=function(e){var c=this.idPrefix+e;if(this._spacer!=null){if(this._spacer.idd==e){return}if(this._spacer==this.objPull[c].obj.parentNode){var a=true;while(a){var l=this._spacer.childNodes[0].idd;this.base.appendChild(this._spacer.childNodes[0]);if(l==e||this._spacer.childNodes.length==0){if(this.objPull[c].arw!=null){this.base.appendChild(this.objPull[c].arw)}a=false}}this._spacer.idd=e;this._fixSpacer();return}if(this.base==this.objPull[c].obj.parentNode){var a=true;var j=(this.objPull[c].arw!=null);while(a){var g=this.base.childNodes.length-1;if(j==true){if(this.base.childNodes[g]==this.objPull[c].arw){a=false}}if(this.base.childNodes[g].idd==e){a=false}if(a){if(this._spacer.childNodes.length>0){this._spacer.insertBefore(this.base.childNodes[g],this._spacer.childNodes[0])}else{this._spacer.appendChild(this.base.childNodes[g])}}}this._spacer.idd=e;this._fixSpacer();return}}else{var h=null;for(var g=0;gh+1){this._spacer.appendChild(this.base.childNodes[h+1])}this.cont.appendChild(this._spacer);this._fixSpacer()}}if(this.conf.skin=="dhx_terrace"){this._improveTerraceSkin()}};dhtmlXToolbarObject.prototype.removeSpacer=function(){if(!this._spacer){return}while(this._spacer.childNodes.length>0){this.base.appendChild(this._spacer.childNodes[0])}this._spacer.parentNode.removeChild(this._spacer);this._spacer=null;if(this.conf.skin=="dhx_terrace"){this._improveTerraceSkin()}};dhtmlXToolbarObject.prototype._fixSpacer=function(){if(typeof(window.addEventListener)=="undefined"&&this._spacer!=null){this._spacer.style.borderLeft="1px solid #a4bed4";var a=this._spacer;window.setTimeout(function(){a.style.borderLeft="0px solid #a4bed4";a=null},1)}};dhtmlXToolbarObject.prototype.getType=function(e){var g=this.getParentId(e);if(g!=null){var c=null;var a=this.objPull[this.idPrefix+g]._listOptions[e];if(a!=null){if(a.sep!=null){c="buttonSelectSeparator"}else{c="buttonSelectButton"}}return c}else{if(this.objPull[this.idPrefix+e]==null){return null}return this.objPull[this.idPrefix+e]["type"]}};dhtmlXToolbarObject.prototype.getTypeExt=function(c){var a=this.getType(c);if(a=="buttonSelectButton"||a=="buttonSelectSeparator"){if(a=="buttonSelectButton"){a="button"}else{a="separator"}return a}return null};dhtmlXToolbarObject.prototype.inArray=function(e,c){for(var a=0;a0){g.obj.removeChild(g.obj.childNodes[0])}g.obj.parentNode.removeChild(g.obj);g.obj=null;g.id=null;g.type=null;g.state=null;g.enableItem=null;g.disableItem=null;g.isEnabled=null;g.setItemToolTipTemplate=null;g.getItemToolTipTemplate=null;g.setMaxValue=null;g.setMinValue=null;g.getMaxValue=null;g.getMinValue=null;g.setValue=null;g.getValue=null;g.showItem=null;g.hideItem=null;g.isVisible=null}if(e=="separator"){g.obj.onselectstart=null;g.obj.idd=null;g.obj.parentNode.removeChild(g.obj);g.obj=null;g.id=null;g.type=null;g.showItem=null;g.hideItem=null;g.isVisible=null}if(e=="text"){g.obj.onselectstart=null;g.obj.idd=null;g.obj.parentNode.removeChild(g.obj);g.obj=null;g.id=null;g.type=null;g.showItem=null;g.hideItem=null;g.isVisible=null;g.setWidth=null;g.setItemText=null;g.getItemText=null}e=null;g=null;this.objPull[h]=null;delete this.objPull[h]};(function(){var g="addListOption,removeListOption,showListOption,hideListOption,isListOptionVisible,enableListOption,disableListOption,isListOptionEnabled,setListOptionPosition,getListOptionPosition,setListOptionText,getListOptionText,setListOptionToolTip,getListOptionToolTip,setListOptionImage,getListOptionImage,clearListOptionImage,forEachListOption,getAllListOptions,setListOptionSelected,getListOptionSelected".split(",");var c=function(h){return function(q,l,j,o,n,m){q=this.idPrefix+q;if(this.objPull[q]==null){return}if(this.objPull[q]["type"]!="buttonSelect"){return}return this.objPull[q][h].call(this.objPull[q],l,j,o,n,m)}};for(var e=0;e":"");this.obj.innerHTML=e._rtlParseBtn((this.img!=""?a:""),(g.text!=null?"
    "+g.text+"
    ":""));e.base.appendChild(this.obj);if(window.dhx4.isIE){this.obj.onselectstart=function(j){j=j||event;if(j.preventDefault){j.preventDefault()}else{j.returnValue=false}return false}}var c=this;this._doOnMouseOver=function(j){j=j||event;if(c.state==false||c.obj.pressed==true||c.obj.over==true){return}if(c.obj.className.match(/dhxtoolbar_btn_over/gi)==null){c.obj.className="dhx_toolbar_btn dhxtoolbar_btn_over"}c.obj.over=true};this._doOnMouseOut=function(j){j=j||event;if(c.state==false){return}if(c.obj.className.match(/dhxtoolbar_btn_over/gi)!=null){c.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def"}c.obj.over=c.obj.pressed=false};this._doOnMouseDown=function(j){j=j||event;if(j.type=="touchstart"){if(j.preventDefault){j.preventDefault()}j.cancelBubble=true;if(e.conf.touch_id!=null&&e.conf.touch_id!=c.id){return}e.conf.touch_id=c.id}if(c.state==false){return}if(c.obj.className.match(/dhxtoolbar_btn_pres/gi)==null){c.obj.className="dhx_toolbar_btn dhxtoolbar_btn_pres"}c.obj.pressed=true};this._doOnMouseUp=function(j){j=j||event;if(j.type=="touchend"){if(j.preventDefault){j.preventDefault()}j.cancelBubble=true;if(e.conf.touch_id==c.id){e.conf.touch_id=null}}if(c.state==false||c.obj.pressed==false){return}if(c.obj.className.match(/dhxtoolbar_btn_pres/gi)!=null){c.obj.className="dhx_toolbar_btn dhxtoolbar_btn_"+(c.obj.over?"over":"def")}c.obj.pressed=false;if(c.obj.extAction){window.setTimeout(function(){try{if(c&&c.obj){window[c.obj.extAction](c.id)}}catch(l){}},1)}e.callEvent("onClick",[c.obj.idd.replace(e.idPrefix,"")])};this.obj.evs={mouseover:"_doOnMouseOver",mouseout:"_doOnMouseOut",mousedown:"_doOnMouseDown",mouseup:"_doOnMouseUp",touchstart:"_doOnMouseDown",touchend:"_doOnMouseUp"};e._evs.add.apply(this,[this.obj.evs,this.obj]);this.enableItem=function(){e._enableItem(this)};this.disableItem=function(){e._disableItem(this)};this.isEnabled=function(){return this.state};this.showItem=function(){this.obj.style.display=""};this.hideItem=function(){this.obj.style.display="none"};this.isVisible=function(){return(this.obj.style.display=="")};this.setItemText=function(j){e._setItemText(this,j)};this.getItemText=function(){return e._getItemText(this)};this.setItemImage=function(j){e._setItemImage(this,j,true)};this.clearItemImage=function(){e._clearItemImage(this,true)};this.setItemImageDis=function(j){e._setItemImage(this,j,false)};this.clearItemImageDis=function(){e._clearItemImage(this,false)};this.setItemToolTip=function(j){this.obj.title=j};this.getItemToolTip=function(){return this.obj.title};return this};dhtmlXToolbarObject.prototype._buttonSelectObject=function(g,l,j){this.id=g.idPrefix+l;this.state=(j.enabled!=null?(j.enabled=="true"?true:false):true);this.imgEn=(j.img||"");this.imgDis=(j.imgdis||"");this.img=(this.state?(this.imgEn!=""?this.imgEn:""):(this.imgDis!=""?this.imgDis:""));this.mode=(j.mode||"button");if(this.mode=="select"){this.openAll=true;this.renderSelect=false;if(!j.text||j.text.length==0){j.text=" "}}else{this.openAll=(window.dhx4.s2b(j.openAll)==true);this.renderSelect=(j.renderSelect==null?true:window.dhx4.s2b(j.renderSelect))}this.maxOpen=(!isNaN(j.maxOpen?j.maxOpen:"")?j.maxOpen:null);this._maxOpenTest=function(){if(!isNaN(this.maxOpen)){if(!g._sbw){var n=document.createElement("DIV");n.className="dhxtoolbar_maxopen_test";document.body.appendChild(n);var m=document.createElement("DIV");m.className="dhxtoolbar_maxopen_test2";n.appendChild(m);g._sbw=n.offsetWidth-m.offsetWidth;n.removeChild(m);m=null;document.body.removeChild(n);n=null}}};this._maxOpenTest();this.obj=document.createElement("DIV");this.obj.allowClick=false;this.obj.extAction=(j.action||null);this.obj.className="dhx_toolbar_btn dhxtoolbar_btn_"+(this.state?"def":"dis");this.obj.style.display=(j.hidden!=null?"none":"");this.obj.renderAs=this.obj.className;this.obj.onselectstart=function(m){m=m||event;if(m.preventDefault){m.preventDefault()}else{m.returnValue=false}};this.obj.idd=String(l);this.obj.title=(j.title||"");this.obj.pressed=false;this.callEvent=false;var c=(g.conf.icons_css?"":"");this.obj.innerHTML=g._rtlParseBtn((this.img!=""?c:""),(j.text!=null?"
    "+j.text+"
    ":""));g.base.appendChild(this.obj);this.arw=document.createElement("DIV");this.arw.className="dhx_toolbar_arw dhxtoolbar_btn_"+(this.state?"def":"dis");this.arw.style.display=this.obj.style.display;this.arw.innerHTML="
     
    ";this.arw.title=this.obj.title;this.arw.onselectstart=function(m){m=m||event;if(m.preventDefault){m.preventDefault()}else{m.returnValue=false}};g.base.appendChild(this.arw);var a=this;if(window.dhx4.isIE){this.arw.onselectstart=this.obj.onselectstart=function(m){m=m||event;if(m.preventDefault){m.preventDefault()}else{m.returnValue=false}return false}}this._doOnMouseOver=function(m){m=m||event;if(a.state==false||a.obj.over==true||g.anyUsed==a.obj.idd){return}if(a.obj.className.match(/dhxtoolbar_btn_over/gi)==null){a.obj.className="dhx_toolbar_btn dhxtoolbar_btn_over";a.arw.className="dhx_toolbar_arw dhxtoolbar_btn_over"}a.obj.over=true};this._doOnMouseOut=function(m){m=m||event;if(a.state==false||g.anyUsed==a.obj.idd||g.anyUsed==a.obj.idd){return}if(a.obj.className.match(/dhxtoolbar_btn_over/gi)!=null){a.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def";a.arw.className="dhx_toolbar_arw dhxtoolbar_btn_def"}a.obj.over=a.obj.pressed=false};this._doOnMouseDown=function(n){n=n||event;if(n.type=="touchstart"){if(n.preventDefault){n.preventDefault()}n.cancelBubble=true;if(g.conf.touch_id!=null&&g.conf.touch_id!=a.id){return}g.conf.touch_id=a.id}if(a.state==false){return}if(g.anyUsed==a.obj.idd){if(a.obj.over==true){a.obj.className="dhx_toolbar_btn dhxtoolbar_btn_over";a.arw.className="dhx_toolbar_arw dhxtoolbar_btn_over"}else{a.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def";a.arw.className="dhx_toolbar_arw dhxtoolbar_btn_def"}a._hidePoly(true);g.anyUsed=null}else{var m=(n.target||n.srcElement);if(a.openAll==true||m==a.arw||m.parentNode==a.arw){if(n.type=="touchstart"){a.obj.className="dhx_toolbar_btn dhxtoolbar_btn_over"}a.arw.className="dhx_toolbar_arw dhxtoolbar_btn_pres";a.arw._skip=true;a._showPoly(true);g.anyUsed=a.obj.idd}else{if(a.obj.className.match(/dhxtoolbar_btn_pres/gi)==null){a.obj.className="dhx_toolbar_btn dhxtoolbar_btn_pres";a.arw.className="dhx_toolbar_arw dhxtoolbar_btn_pres"}a.obj.pressed=true}}};this._doOnMouseUp=function(n){n=n||event;if(n.type=="touchend"){if(a.polygon.style.display==""){return}if(n.preventDefault){n.preventDefault()}n.cancelBubble=true;if(g.conf.touch_id==a.id){g.conf.touch_id=null}}if(a.state==false||a.obj.pressed==false){return}if(a.obj.className.match(/dhxtoolbar_btn_pres/gi)!=null){a.obj.className="dhx_toolbar_btn dhxtoolbar_btn_"+(a.obj.over?"over":"def");a.arw.className="dhx_toolbar_arw dhxtoolbar_btn_"+(a.obj.over?"over":"def")}if(this.extAction){var m=this;window.setTimeout(function(){try{window[m.extAction](l)}catch(o){}m=null},1)}g.callEvent("onClick",[a.obj.idd.replace(g.idPrefix,"")])};this.arw.evs={mouseover:"_doOnMouseOver",mouseout:"_doOnMouseOut",mousedown:"_doOnMouseDown",touchstart:"_doOnMouseDown"};g._evs.add.apply(this,[this.arw.evs,this.arw]);this.obj.evs={mouseover:"_doOnMouseOver",mouseout:"_doOnMouseOut",mousedown:"_doOnMouseDown",mouseup:"_doOnMouseUp",touchstart:"_doOnMouseDown",touchend:"_doOnMouseUp"};g._evs.add.apply(this,[this.obj.evs,this.obj]);this._showPoly=function(v){if(g.anyUsed!=null){if(g.objPull[g.idPrefix+g.anyUsed].type=="buttonSelect"){var u=g.objPull[g.idPrefix+g.anyUsed];if(u.polygon.style.display!="none"){u.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def";u.arw.className="dhx_toolbar_arw dhxtoolbar_btn_def";u.obj.over=false;window.dhx4.zim.clear(u.polygon._idd);u.polygon.style.display="none";if(u.polygon._ie6cover){u.polygon._ie6cover.style.display="none"}if(g.conf.skin=="dhx_terrace"){g._improveTerraceButtonSelect(u.id,true)}g.callEvent("onButtonSelectHide",[u.obj.idd])}}}this.polygon.style.top="0px";this.polygon.style.visibility="hidden";this.polygon.style.zIndex=window.dhx4.zim.reserve(this.polygon._idd);this.polygon.style.display="";if(g.conf.skin=="dhx_terrace"){g._improveTerraceButtonSelect(this.id,false)}this._fixMaxOpenHeight(this.maxOpen||null);g._autoDetectVisibleArea();var o=window.dhx4.absTop(this.obj)+this.obj.offsetHeight+g.conf.sel_ofs_y;var r=this.polygon.offsetHeight;if(o+r>g.tY2){var m=(this.maxOpen!=null?Math.floor((g.tY2-o)/22):0);if(m>=1){this._fixMaxOpenHeight(m)}else{o=window.dhx4.absTop(this.obj)-r-g.conf.sel_ofs_y;if(o<0){o=0}}}this.polygon.style.top=o+"px";if(g.rtl){this.polygon.style.left=window.dhx4.absLeft(this.obj)+this.obj.offsetWidth-this.polygon.offsetWidth+g.conf.sel_ofs_x+"px"}else{var q=document.body.scrollLeft;var n=q+(window.innerWidth||document.body.clientWidth);var s=window.dhx4.absLeft(this.obj)+g.conf.sel_ofs_x;if(s+this.polygon.offsetWidth>n){s=window.dhx4.absLeft(this.arw)+this.arw.offsetWidth-this.polygon.offsetWidth}this.polygon.style.left=Math.max(s,5)+"px"}this.polygon.style.visibility="visible";if(this.polygon._ie6cover){this.polygon._ie6cover.style.left=this.polygon.style.left;this.polygon._ie6cover.style.top=this.polygon.style.top;this.polygon._ie6cover.style.width=this.polygon.offsetWidth+"px";this.polygon._ie6cover.style.height=this.polygon.offsetHeight+"px";this.polygon._ie6cover.style.display=""}if(v){g.callEvent("onButtonSelectShow",[this.obj.idd])}};this._hidePoly=function(m){window.dhx4.zim.clear(this.polygon._idd);this.polygon.style.display="none";if(this.polygon._ie6cover){this.polygon._ie6cover.style.display="none"}if(g.conf.skin=="dhx_terrace"){g._improveTerraceButtonSelect(this.id,true)}if(m){g.callEvent("onButtonSelectHide",[this.obj.idd])}g.conf.touch_id=null};this.obj.iddPrefix=g.idPrefix;this._listOptions={};this._fixMaxOpenHeight=function(r){var q="auto";var o=false;if(r!==null){var n=0;for(var m in this._listOptions){n++}if(n>r){this._ph=22*r;q=this._ph+"px"}else{o=true}}this.polygon.style.width="auto";this.polygon.style.height="auto";if(!o&&a.maxOpen!=null){this.polygon.style.width=this.p_tbl.offsetWidth+g._sbw+"px";this.polygon.style.height=q}};this._separatorButtonSelectObject=function(o,m,n){this.obj={};this.obj.tr=document.createElement("TR");this.obj.tr.className="tr_sep";this.obj.tr.onselectstart=function(q){q=q||event;if(q.preventDefault){q.preventDefault()}else{q.returnValue=false}return false};this.obj.td=document.createElement("TD");this.obj.td.colSpan="2";this.obj.td.className="td_btn_sep";this.obj.td.onselectstart=function(q){q=q||event;if(q.preventDefault){q.preventDefault()}else{q.returnValue=false}return false};if(isNaN(n)){n=a.p_tbody.childNodes.length+1}else{if(n<1){n=1}}if(n>a.p_tbody.childNodes.length){a.p_tbody.appendChild(this.obj.tr)}else{a.p_tbody.insertBefore(this.obj.tr,a.p_tbody.childNodes[n-1])}this.obj.tr.appendChild(this.obj.td);this.obj.sep=document.createElement("DIV");this.obj.sep.className="btn_sep";this.obj.sep.onselectstart=function(q){q=q||event;if(q.preventDefault){q.preventDefault()}else{q.returnValue=false}return false};this.obj.td.appendChild(this.obj.sep);a._listOptions[o]=this.obj;return this};this._buttonButtonSelectObject=function(r,o,q){var n=true;if(typeof(o.enabled)!="undefined"){n=window.dhx4.s2b(o.enabled)}else{if(typeof(o.disabled)!="undefined"){n=window.dhx4.s2b(o.disabled)}}this.obj={};this.obj.tr=document.createElement("TR");this.obj.tr.en=n;this.obj.tr.extAction=(o.action||null);this.obj.tr._selected=(o.selected!=null);this.obj.tr.className="tr_btn"+(this.obj.tr.en?(this.obj.tr._selected&&a.renderSelect?" tr_btn_selected":""):" tr_btn_disabled");this.obj.tr.onselectstart=function(s){s=s||event;if(s.preventDefault){s.preventDefault()}else{s.returnValue=false}return false};this.obj.tr.idd=String(r);if(isNaN(q)){q=a.p_tbody.childNodes.length+1}else{if(q<1){q=1}}if(q>a.p_tbody.childNodes.length){a.p_tbody.appendChild(this.obj.tr)}else{a.p_tbody.insertBefore(this.obj.tr,a.p_tbody.childNodes[q-1])}this.obj.td_a=document.createElement("TD");this.obj.td_a.className="td_btn_img";this.obj.td_a.onselectstart=function(s){s=s||event;if(s.preventDefault){s.preventDefault()}else{s.returnValue=false}return false};this.obj.td_b=document.createElement("TD");this.obj.td_b.className="td_btn_txt";this.obj.td_b.onselectstart=function(s){s=s||event;if(s.preventDefault){s.preventDefault()}else{s.returnValue=false}return false};if(g.rtl){this.obj.tr.appendChild(this.obj.td_b);this.obj.tr.appendChild(this.obj.td_a)}else{this.obj.tr.appendChild(this.obj.td_a);this.obj.tr.appendChild(this.obj.td_b)}if(o.img!=null){if(g.conf.icons_css==true){this.obj.td_a.innerHTML=""}else{this.obj.td_a.innerHTML=""}this.obj.tr._img=o.img}else{this.obj.td_a.innerHTML=" "}var m=(o.text!=null?o.text:(o.itemText||""));this.obj.td_b.innerHTML="
    "+m+"
    ";this.obj.tr.onmouseover=function(s){s=s||event;if(s.type.match(/touch/)!=null){return}if(!this.en||(this._selected&&a.renderSelect)){return}this.className="tr_btn tr_btn_over"};this.obj.tr.onmouseout=function(s){s=s||event;if(s.type.match(/touch/)!=null){return}if(!this.en){return}if(this._selected&&a.renderSelect){if(String(this.className).search("tr_btn_selected")==-1){this.className="tr_btn tr_btn_selected"}}else{this.className="tr_btn"}};this.obj.tr.ontouchstart=this.obj.tr.onmousedown=function(s){s=s||event;if(this._etype==null){this._etype=s.type}};this.obj.tr.onclick=function(u){u=u||event;u.cancelBubble=true;if(!this.en){return}a.setListOptionSelected(this.idd.replace(g.idPrefix,""));a.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def";a.arw.className="dhx_toolbar_arw dhxtoolbar_btn_def";a.obj.over=false;if(this._etype!=null&&this._etype.match(/touch/)==null){window.dhx4.zim.clear(a.polygon._idd);a.polygon.style.display="none";if(a.polygon._ie6cover){a.polygon._ie6cover.style.display="none"}}else{var s=a.polygon;window.setTimeout(function(){window.dhx4.zim.clear(s._idd);s.style.display="none";s=null},500)}this._etype=null;if(g.conf.skin=="dhx_terrace"){g._improveTerraceButtonSelect(a.id,true)}g.anyUsed=null;g.conf.touch_id=null;g.callEvent("onButtonSelectHide",[a.obj.idd]);var v=this.idd.replace(g.idPrefix,"");if(this.extAction){try{window[this.extAction](v)}catch(u){}}g.callEvent("onClick",[v])};a._listOptions[r]=this.obj;return this};this.polygon=document.createElement("DIV");this.polygon.dir="ltr";this.polygon.style.display="none";this.polygon.className="dhx_toolbar_poly_"+g.conf.skin+" dhxtoolbar_icons_"+g.conf.iconSize+g.conf.cssShadow;this.polygon.onselectstart=function(m){m=m||event;if(m.preventDefault){m.preventDefault()}else{m.returnValue=false}};this.polygon.onmousedown=function(m){m=m||event;m.cancelBubble=true};this.polygon.style.overflowY="auto";this.polygon._idd=window.dhx4.newId();this.polygon.ontouchstart=function(m){m=m||event;m.cancelBubble=true};this.polygon.ontouchend=function(m){m=m||event;m.cancelBubble=true};this.p_tbl=document.createElement("TABLE");this.p_tbl.className="buttons_cont";this.p_tbl.cellSpacing="0";this.p_tbl.cellPadding="0";this.p_tbl.border="0";this.polygon.appendChild(this.p_tbl);this.p_tbody=document.createElement("TBODY");this.p_tbl.appendChild(this.p_tbody);if(j.options!=null){for(var h=0;h0){m.td_a.removeChild(m.td_a.childNodes[0])}while(m.td_b.childNodes.length>0){m.td_b.removeChild(m.td_b.childNodes[0])}m.tr.onselectstart=null;m.tr.onmouseover=null;m.tr.onmouseout=null;m.tr.onclick=null;m.tr.ontouchstart=null;m.tr.onmousedown=null;while(m.tr.childNodes.length>0){m.tr.removeChild(m.tr.childNodes[0])}m.tr.parentNode.removeChild(m.tr);m.td_a=null;m.td_b=null;m.tr=null}else{m.sep.onselectstart=null;m.td.onselectstart=null;m.tr.onselectstart=null;while(m.td.childNodes.length>0){m.td.removeChild(m.td.childNodes[0])}while(m.tr.childNodes.length>0){m.tr.removeChild(m.tr.childNodes[0])}m.tr.parentNode.removeChild(m.tr);m.sep=null;m.td=null;m.tr=null}m=null;this._listOptions[o]=null;try{delete this._listOptions[o]}catch(n){}};this.showListOption=function(m){if(!this._isListButton(m,true)){return}this._listOptions[m].tr.style.display=""};this.hideListOption=function(m){if(!this._isListButton(m,true)){return}this._listOptions[m].tr.style.display="none"};this.isListOptionVisible=function(m){if(!this._isListButton(m,true)){return}return(this._listOptions[m].tr.style.display!="none")};this.enableListOption=function(m){if(!this._isListButton(m)){return}this._listOptions[m].tr.en=true;this._listOptions[m].tr.className="tr_btn"+(this._listOptions[m].tr._selected&&g.renderSelect?" tr_btn_selected":"")};this.disableListOption=function(m){if(!this._isListButton(m)){return}this._listOptions[m].tr.en=false;this._listOptions[m].tr.className="tr_btn tr_btn_disabled"};this.isListOptionEnabled=function(m){if(!this._isListButton(m)){return}return this._listOptions[m].tr.en};this.setListOptionPosition=function(o,n){if(!this._listOptions[o]||this.getListOptionPosition(o)==n||isNaN(n)){return}if(n<1){n=1}var m=this._listOptions[o].tr;this.p_tbody.removeChild(m);if(n>this.p_tbody.childNodes.length){this.p_tbody.appendChild(m)}else{this.p_tbody.insertBefore(m,this.p_tbody.childNodes[n-1])}m=null};this.getListOptionPosition=function(o){var n=-1;if(!this._listOptions[o]){return n}for(var m=0;m":"");n=null};this.getListOptionImage=function(o){if(!this._isListButton(o)){return}var n=this._listOptions[o].tr.childNodes[(g.rtl?1:0)];var m=null;if(n.childNodes.length>0){m=n.childNodes[0][(g.conf.icons_css?"className":"src")]}n=null;return m};this.clearListOptionImage=function(n){if(!this._isListButton(n)){return}var m=this._listOptions[n].tr.childNodes[(g.rtl?1:0)];while(m.childNodes.length>0){m.removeChild(m.childNodes[0])}m.innerHTML=" ";m=null};this.setListOptionText=function(n,m){if(!this._isListButton(n)){return}this._listOptions[n].tr.childNodes[(g.rtl?0:1)].childNodes[0].innerHTML=m};this.getListOptionText=function(m){if(!this._isListButton(m)){return}return this._listOptions[m].tr.childNodes[(g.rtl?0:1)].childNodes[0].innerHTML};this.setListOptionToolTip=function(n,m){if(!this._isListButton(n)){return}this._listOptions[n].tr.title=m};this.getListOptionToolTip=function(m){if(!this._isListButton(m)){return}return this._listOptions[m].tr.title};this.forEachListOption=function(n){for(var m in this._listOptions){n(m)}};this.getAllListOptions=function(){var n=new Array();for(var m in this._listOptions){n[n.length]=m}return n};this.setListOptionSelected=function(o){for(var m in this._listOptions){var n=this._listOptions[m];if(n.td_a!=null&&n.td_b!=null&&n.tr.en){if(m==o){n.tr._selected=true;n.tr.className="tr_btn"+(this.renderSelect?" tr_btn_selected":"");if(this.mode=="select"){if(n.tr._img){this.setItemImage(n.tr._img)}else{this.clearItemImage()}this.setItemText(this.getListOptionText(o))}}else{n.tr._selected=false;n.tr.className="tr_btn"}}n=null}};this.getListOptionSelected=function(){var n=null;for(var m in this._listOptions){if(this._listOptions[m].tr._selected==true){n=m}}return n};this._isListButton=function(n,m){if(this._listOptions[n]==null){return false}if(!m&&this._listOptions[n].tr.className=="tr_sep"){return false}return true};this.setMaxOpen=function(m){this._ph=null;if(typeof(m)=="number"){this.maxOpen=m;this._maxOpenTest();return}this.maxOpen=null};if(j.width){this.setWidth(j.width)}if(this.mode=="select"&&typeof(j.selected)!="undefined"){this.setListOptionSelected(j.selected)}return this};dhtmlXToolbarObject.prototype._buttonInputObject=function(e,h,g){this.id=e.idPrefix+h;this.obj=document.createElement("DIV");this.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def";this.obj.style.display=(g.hidden!=null?"none":"");this.obj.idd=String(h);this.obj.w=(g.width!=null?g.width:100);this.obj.title=(g.title!=null?g.title:"");this.obj.innerHTML="";var c=e;var a=this;this.obj.childNodes[0].onkeydown=function(j){j=j||event;if(j.keyCode==13){c.callEvent("onEnter",[a.obj.idd,a.obj.childNodes[0].value])}else{if(c._valueChangeTimer){clearTimeout(c._valueChangeTimer)}c._valueChangeTimer=setTimeout(function(){try{c.callEvent("onValueChange",[a.obj.idd,a.obj.childNodes[0].value])}catch(l){}},250)}};e.base.appendChild(this.obj);this.enableItem=function(){this.obj.childNodes[0].disabled=false};this.disableItem=function(){this.obj.childNodes[0].disabled=true};this.isEnabled=function(){return(!this.obj.childNodes[0].disabled)};this.showItem=function(){this.obj.style.display=""};this.hideItem=function(){this.obj.style.display="none"};this.isVisible=function(){return(this.obj.style.display!="none")};this.setValue=function(j){this.obj.childNodes[0].value=j};this.getValue=function(){return this.obj.childNodes[0].value};this.setWidth=function(j){this.obj.w=j;this.obj.childNodes[0].style.width=this.obj.w+"px"};this.getWidth=function(){return this.obj.w};this.setItemToolTip=function(j){this.obj.title=j};this.getItemToolTip=function(){return this.obj.title};this.getInput=function(){return this.obj.firstChild};if(typeof(g.enabled)!="undefined"&&window.dhx4.s2b(g.enabled)==false){this.disableItem()}return this};dhtmlXToolbarObject.prototype._buttonTwoStateObject=function(e,h,g){this.id=e.idPrefix+h;this.state=(g.enabled!=null?false:true);this.imgEn=(g.img!=null?g.img:"");this.imgDis=(g.imgdis!=null?g.imgdis:"");this.img=(this.state?(this.imgEn!=""?this.imgEn:""):(this.imgDis!=""?this.imgDis:""));this.obj=document.createElement("DIV");this.obj.pressed=(g.selected!=null);this.obj.extAction=(g.action||null);this.obj.className="dhx_toolbar_btn dhxtoolbar_btn_"+(this.obj.pressed?"pres"+(this.state?"":"_dis"):(this.state?"def":"dis"));this.obj.style.display=(g.hidden!=null?"none":"");this.obj.renderAs=this.obj.className;this.obj.idd=String(h);this.obj.title=(g.title||"");if(this.obj.pressed){this.obj.renderAs="dhx_toolbar_btn dhxtoolbar_btn_over"}var a=(e.conf.icons_css?"":"");this.obj.innerHTML=e._rtlParseBtn((this.img!=""?a:""),(g.text!=null?"
    "+g.text+"
    ":""));e.base.appendChild(this.obj);if(window.dhx4.isIE){this.obj.onselectstart=function(j){j=j||event;if(j.preventDefault){j.preventDefault()}else{j.returnValue=false}return false}}var c=this;this._doOnMouseOver=function(j){j=j||event;if(c.state==false||c.obj.over==true){return}if(c.obj.pressed!=true&&c.obj.className.match(/dhxtoolbar_btn_over/gi)==null){c.obj.className="dhx_toolbar_btn dhxtoolbar_btn_over"}c.obj.over=true};this._doOnMouseOut=function(j){j=j||event;if(c.state==false){return}if(c.obj.pressed!=true&&c.obj.className.match(/dhxtoolbar_btn_over/gi)!=null){c.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def"}c.obj.over=false};this._doOnMouseDown=function(j){j=j||event;if(j.type=="touchstart"){if(j.preventDefault){j.preventDefault()}j.cancelBubble=true;if(e.conf.touch_id!=null&&e.conf.touch_id!=c.id){return}e.conf.touch_id=c.id}if(c.state==false){return}if(e.callEvent("onBeforeStateChange",[c.obj.idd.replace(e.idPrefix,""),c.obj.pressed])!==true){return}c.obj.pressed=!c.obj.pressed;c.obj.className="dhx_toolbar_btn "+(c.obj.pressed==true?"dhxtoolbar_btn_pres":(c.obj.over==true?"dhxtoolbar_btn_over":"dhxtoolbar_btn_def"));var l=c.obj.idd.replace(e.idPrefix,"");if(c.obj.extAction){try{window[c.obj.extAction](idd,c.obj.pressed)}catch(j){}}e.callEvent("onStateChange",[l,c.obj.pressed])};this._doOnMouseUp=function(j){j=j||event;if(j.type=="touchend"){if(j.preventDefault){j.preventDefault()}j.cancelBubble=true;if(e.conf.touch_id==c.id){e.conf.touch_id=null}}};this.obj.evs={mouseover:"_doOnMouseOver",mouseout:"_doOnMouseOut",mousedown:"_doOnMouseDown",touchstart:"_doOnMouseDown",touchend:"_doOnMouseUp"};e._evs.add.apply(this,[this.obj.evs,this.obj]);this.setItemState=function(j,m){if(this.obj.pressed!=j){if(j==true){this.obj.pressed=true;this.obj.className="dhx_toolbar_btn dhxtoolbar_btn_pres"+(this.state?"":"_dis")}else{this.obj.pressed=false;this.obj.className="dhx_toolbar_btn dhxtoolbar_btn_"+(this.state?"def":"dis")}if(m==true){var n=this.obj.idd.replace(e.idPrefix,"");if(this.obj.extAction){try{window[this.obj.extAction](n,this.obj.pressed)}catch(l){}}e.callEvent("onStateChange",[n,this.obj.pressed])}}};this.getItemState=function(){return this.obj.pressed};this.enableItem=function(){e._enableItem(this)};this.disableItem=function(){e._disableItem(this)};this.isEnabled=function(){return this.state};this.showItem=function(){this.obj.style.display=""};this.hideItem=function(){this.obj.style.display="none"};this.isVisible=function(){return(this.obj.style.display=="")};this.setItemText=function(j){e._setItemText(this,j)};this.getItemText=function(){return e._getItemText(this)};this.setItemImage=function(j){e._setItemImage(this,j,true)};this.clearItemImage=function(){e._clearItemImage(this,true)};this.setItemImageDis=function(j){e._setItemImage(this,j,false)};this.clearItemImageDis=function(){e._clearItemImage(this,false)};this.setItemToolTip=function(j){this.obj.title=j};this.getItemToolTip=function(){return this.obj.title};return this};dhtmlXToolbarObject.prototype._sliderObject=function(g,j,h){this.id=g.idPrefix+j;this.state=(h.enabled!=null?(h.enabled=="true"?true:false):true);this.obj=document.createElement("DIV");this.obj.className="dhx_toolbar_btn dhxtoolbar_btn_"+(this.state?"def":"dis");this.obj.style.display=(h.hidden!=null?"none":"");this.obj.onselectstart=function(l){l=l||event;if(l.preventDefault){l.preventDefault()}else{l.returnValue=false}};this.obj.idd=String(j);this.obj.len=(h.length!=null?Number(h.length):50);this.obj.innerHTML="
    "+(h.textMin||"")+"
    "+(h.textMax||"")+"
    ";g.base.appendChild(this.obj);var a=this;this.pen=document.createElement("DIV");this.pen.className="dhxtoolbar_sl_pen";this.obj.appendChild(this.pen);var e=this.pen;this.label=document.createElement("DIV");this.label.dir="ltr";this.label.className="dhx_toolbar_slider_label_"+g.conf.skin+(g.rtl?"_rtl":"");this.label.style.display="none";this.label.tip=(h.toolTip||"%v");this.label._zi=window.dhx4.newId();document.body.appendChild(this.label);var c=this.label;this.pen.valueMin=(h.valueMin!=null?Number(h.valueMin):0);this.pen.valueMax=(h.valueMax!=null?Number(h.valueMax):100);if(this.pen.valueMin>this.pen.valueMax){this.pen.valueMin=this.pen.valueMax}this.pen.valueNow=(h.valueNow!=null?Number(h.valueNow):this.pen.valueMax);if(this.pen.valueNow>this.pen.valueMax){this.pen.valueNow=this.pen.valueMax}if(this.pen.valueNowwindow.dhx4.absLeft(e)+Math.round(e.offsetWidth/2)&&e.nowX==e.maxX){return}e.newNowX=e.nowX+n;if(e.newNowXe.maxX){e.newNowX=e.maxX}e.nowX=e.newNowX;e.style.left=e.nowX+"px";e.initXY=l;e.newValueNow=Math.round((e.valueMax-e.valueMin)*(e.newNowX-e.minX)/(e.maxX-e.minX)+e.valueMin);if(c.tip!=""){c.innerHTML=c.tip.replace(/%v/gi,e.newValueNow);c.style.left=Math.round(window.dhx4.absLeft(e)+e.offsetWidth/2-c.offsetWidth/2)+"px";c.style.top=window.dhx4.absTop(e)-c.offsetHeight-3+"px"}m.cancelBubble=true;if(m.preventDefault){m.preventDefault()}else{m.returnValue=false}return false};this.pen._doOnMouseMoveEnd=function(){if(!e.allowMove){return}e.className="dhxtoolbar_sl_pen";e.allowMove=false;e.nowX=e.newNowX;e.valueNow=e.newValueNow;if(c.tip!=""){c.style.display="none";window.dhx4.zim.clear(c._zi)}g.callEvent("onValueChange",[a.obj.idd.replace(g.idPrefix,""),e.valueNow])};if(window.dhx4.isIPad){document.addEventListener("touchmove",e._doOnMouseMoveStart,false);document.addEventListener("touchend",e._doOnMouseMoveEnd,false)}else{if(typeof(window.addEventListener)!="undefined"){window.addEventListener("mousemove",e._doOnMouseMoveStart,false);window.addEventListener("mouseup",e._doOnMouseMoveEnd,false)}else{document.body.attachEvent("onmousemove",e._doOnMouseMoveStart);document.body.attachEvent("onmouseup",e._doOnMouseMoveEnd)}}this.enableItem=function(){if(this.state){return}this.state=true;this.obj.className="dhx_toolbar_btn dhxtoolbar_btn_def"};this.disableItem=function(){if(!this.state){return}this.state=false;this.obj.className="dhx_toolbar_btn dhxtoolbar_btn_dis"};this.isEnabled=function(){return this.state};this.showItem=function(){this.obj.style.display=""};this.hideItem=function(){this.obj.style.display="none"};this.isVisible=function(){return(this.obj.style.display=="")};this.setValue=function(l,m){l=Number(l);if(lthis.pen.valueMax){l=this.pen.valueMax}this.pen.valueNow=l;this.pen._definePos();if(m==true){g.callEvent("onValueChange",[this.obj.idd.replace(g.idPrefix,""),this.pen.valueNow])}};this.getValue=function(){return this.pen.valueNow};this.setMinValue=function(m,l){m=Number(m);if(m>this.pen.valueMax){return}this.obj.childNodes[0].innerHTML=l;this.obj.childNodes[0].style.display=(l.length>0?"":"none");this.pen.valueMin=m;if(this.pen.valueNow0?"":"none");this.pen.valueMax=m;if(this.pen.valueNow>this.pen.valueMax){this.pen.valueNow=this.pen.valueMax}this.pen._detectLimits();this.pen._definePos()};this.getMinValue=function(){var l=this.obj.childNodes[0].innerHTML;var m=this.pen.valueMin;return new Array(m,l)};this.getMaxValue=function(){var l=this.obj.childNodes[4].innerHTML;var m=this.pen.valueMax;return new Array(m,l)};this.setItemToolTipTemplate=function(l){this.label.tip=l};this.getItemToolTipTemplate=function(){return this.label.tip};return this};dhtmlXToolbarObject.prototype.unload=function(){if(typeof(window.addEventListener)=="function"){window.removeEventListener("mousedown",this._doOnClick,false);window.removeEventListener("touchstart",this._doOnClick,false)}else{document.body.detachEvent("onmousedown",this._doOnClick)}this._doOnClick=null;this.clearAll();this.objPull=null;if(this._xmlLoader){this._xmlLoader.destructor();this._xmlLoader=null}while(this.base.childNodes.length>0){this.base.removeChild(this.base.childNodes[0])}this.cont.removeChild(this.base);this.base=null;while(this.cont.childNodes.length>0){this.cont.removeChild(this.cont.childNodes[0])}this.cont.className="";this.cont=null;window.dhx4._enableDataLoading(this,null,null,null,"clear");window.dhx4._eventable(this,"clear");this.tX1=null;this.tX2=null;this.tY1=null;this.tY2=null;this.anyUsed=null;this.idPrefix=null;this.rootTypes=null;this._rtl=null;this._rtlParseBtn=null;this.setRTL=null;this._sbw=null;this._getObj=null;this._addImgObj=null;this._setItemImage=null;this._clearItemImage=null;this._setItemText=null;this._getItemText=null;this._enableItem=null;this._disableItem=null;this._xmlParser=null;this._addItemToStorage=null;this._genStr=null;this._addItem=null;this._getPosition=null;this._setPosition=null;this._getIdByPosition=null;this._separatorObject=null;this._textObject=null;this._buttonObject=null;this._buttonSelectObject=null;this._buttonInputObject=null;this._buttonTwoStateObject=null;this._sliderObject=null;this._autoDetectVisibleArea=null;this._removeItem=null;this.setAlign=null;this.setSkin=null;this.setIconsPath=null;this.setIconPath=null;this.loadXML=null;this.loadXMLString=null;this.clearAll=null;this.addSpacer=null;this.removeSpacer=null;this.getType=null;this.getTypeExt=null;this.inArray=null;this.getParentId=null;this.addButton=null;this.addText=null;this.addButtonSelect=null;this.addButtonTwoState=null;this.addSeparator=null;this.addSlider=null;this.addInput=null;this.forEachItem=null;this.showItem=null;this.hideItem=null;this.isVisible=null;this.enableItem=null;this.disableItem=null;this.isEnabled=null;this.setItemText=null;this.getItemText=null;this.setItemToolTip=null;this.getItemToolTip=null;this.setItemImage=null;this.setItemImageDis=null;this.clearItemImage=null;this.clearItemImageDis=null;this.setItemState=null;this.getItemState=null;this.setItemToolTipTemplate=null;this.getItemToolTipTemplate=null;this.setValue=null;this.getValue=null;this.setMinValue=null;this.getMinValue=null;this.setMaxValue=null;this.getMaxValue=null;this.setWidth=null;this.getWidth=null;this.getPosition=null;this.setPosition=null;this.removeItem=null;this.addListOption=null;this.removeListOption=null;this.showListOption=null;this.hideListOption=null;this.isListOptionVisible=null;this.enableListOption=null;this.disableListOption=null;this.isListOptionEnabled=null;this.setListOptionPosition=null;this.getListOptionPosition=null;this.setListOptionText=null;this.getListOptionText=null;this.setListOptionToolTip=null;this.getListOptionToolTip=null;this.setListOptionImage=null;this.getListOptionImage=null;this.clearListOptionImage=null;this.forEachListOption=null;this.getAllListOptions=null;this.setListOptionSelected=null;this.getListOptionSelected=null;this.unload=null;this.setUserData=null;this.getUserData=null;this.setMaxOpen=null;this.items=null;this.conf=null};dhtmlXToolbarObject.prototype._autoDetectVisibleArea=function(){var a=window.dhx4.screenDim();this.tX1=a.left;this.tX2=a.right;this.tY1=a.top;this.tY2=a.bottom};dhtmlXToolbarObject.prototype.setIconset=function(a){this.conf.icons_css=(a=="awesome")};dhtmlXToolbarObject.prototype._evs={add:function(e,g){for(var c in e){if(typeof(window.addEventListener)=="function"){g.addEventListener(c,this[e[c]],false)}else{if(c.match(/^touch/)==null){g.attachEvent("on"+c,this[e[c]])}}}g=e=null},clear:function(e,g){for(var c in e){if(typeof(window.addEventListener)=="function"){g.removeEventListener(c,this[e[c]],false)}else{if(c.match(/^touch/)==null){g.detachEvent("on"+c,this[e[c]])}}}g=e=null}};dhtmlXToolbarObject.prototype._initObj=function(c){for(var a=0;a=0&&g[n][c-1]!=null&&h[g[n][c-1].type])){j=true}}o.node.style.borderRightWidth=(r?"1px":"0px");o.node.style.borderTopRightRadius=o.node.style.borderBottomRightRadius=(r?this.conf.terrace_radius:"0px");if(o.type=="buttonSelect"){o.node.previousSibling.style.borderTopLeftRadius=o.node.previousSibling.style.borderBottomLeftRadius=(j?this.conf.terrace_radius:"0px");o.node.previousSibling._br=r;o.node.previousSibling._bl=j}else{o.node.style.borderTopLeftRadius=o.node.style.borderBottomLeftRadius=(j?this.conf.terrace_radius:"0px")}o.node._br=r;o.node._bl=j}}for(var n=0;n0){this.base.removeChild(this.base.childNodes[0])}var h=(window.dhx4.isIE?this.base.currentStyle.position:(window.getComputedStyle!=null?window.getComputedStyle(this.base,null).getPropertyValue("position"):""));if(!(h=="relative"||h=="absolute")){this.base.style.position="relative"}this.cell=new dhtmlXEditorCell(window.dhx4.newId(),this);this.base.appendChild(this.cell.cell);this.cBlock=document.createElement("DIV");this.cBlock.className="dhxcont_content_blocker";this.cBlock.style.display="none";this.base.appendChild(this.cBlock);this.editor=document.createElement("IFRAME");this.editor.className="dhxeditor_mainiframe";this.editor.frameBorder=0;if(window.dhx4.isOpera){this.editor.scrolling="yes"}this.setSizes();var a=this.editor;if(typeof(window.addEventListener)!="undefined"){a.onload=function(){for(var j=0;j"+this.conf.extra_css+"")}else{if(window.dhx4.isKHTML){j.write(""+this.conf.extra_css+"")}else{if(window.dhx4.isIE){j.write(""+this.conf.extra_css+"")}else{j.write(""+this.conf.extra_css+"")}}}j.close();if(window.dhx4.isIE){j.contentEditable=(o!==true)}else{j.designMode=(o!==true?"On":"Off")}if(window.dhx4.isFF){try{j.execCommand("useCSS",false,true)}catch(n){}}if(m===true&&this.setContent!=null){this.setContent(l)}};this._prepareContent();this._doOnResize=function(){window.clearTimeout(c.conf.resizeTM);c.conf.resizeTM=window.setTimeout(function(){if(c.setSizes){c.setSizes()}},c.conf.resizeTMTime)};this._runCommand=function(m,o){if(this.conf.roMode===true){return}if(arguments.length<2){o=null}if(window.dhx4.isIE){this.edWin.focus()}try{var l=this.editor.contentWindow.document;l.execCommand(m,false,o)}catch(n){}if(window.dhx4.isIE){this.edWin.focus();var j=this;window.setTimeout(function(){j.edWin.focus();j=null},1)}};this.applyBold=function(){this._runCommand("Bold")};this.applyItalic=function(){this._runCommand("Italic")};this.applyUnderscore=function(){this._runCommand("Underline")};this.clearFormatting=function(){this._runCommand("RemoveFormat");var j=this.getContent();j=j.replace(/<\/?h\d>/gi,"");this.setContent(j)};this._doOnClick=function(m){var l=m||window.event;var j=l.target||l.srcElement;c._showInfo(j)};this._doOnMouseDown=function(m){var l=m||window.event;var j=l.target||l.srcElement;c._showInfo(j)};this._doOnKeyUp=function(n){var m=n||window.event;var j=m.keyCode;var l=m.target||m.srcElement;if({37:1,38:1,39:1,40:1,13:1}[j]==1){c._showInfo(l)}};this._getParentByTag=function(j,m){m=m.toLowerCase();var l=j;do{if(m==""||l.nodeName.toLowerCase()==m){return l}}while(l=l.parentNode);return j};this._isStyleProperty=function(l,o,j,m){o=o.toLowerCase();var q=l;do{if((q.nodeName.toLowerCase()==o)&&(q.style[j]==m)){return true}}while(q=q.parentNode);return false};this._setStyleProperty=function(j,m){this.style[m]=false;var l=this._getParentByTag(j,m);if(l&&(l.tagName.toLowerCase()==m)){this.style[m]=true}if(m=="del"&&this._getParentByTag(j,"strike")&&this._getParentByTag(j,"strike").tagName.toLowerCase()=="strike"){this.style.del=true}};this._showInfo=function(l){var l=(this._getSelectionBounds().end)?this._getSelectionBounds().end:l;if(!l||!this._setStyleProperty){return}try{if(this.edWin.getComputedStyle){var j=this.edWin.getComputedStyle(l,null);var m=((j.getPropertyValue("font-weight")==401)?700:j.getPropertyValue("font-weight"));this.style={fontStyle:j.getPropertyValue("font-style"),fontSize:j.getPropertyValue("font-size"),textDecoration:j.getPropertyValue("text-decoration"),fontWeight:m,fontFamily:j.getPropertyValue("font-family"),textAlign:j.getPropertyValue("text-align")};if(window.dhx4.isKHTML){this.style.fontStyle=j.getPropertyValue("font-style");this.style.vAlign=j.getPropertyValue("vertical-align");this.style.del=this._isStyleProperty(l,"span","textDecoration","line-through");this.style.u=this._isStyleProperty(l,"span","textDecoration","underline")}}else{var j=l.currentStyle;this.style={fontStyle:j.fontStyle,fontSize:j.fontSize,textDecoration:j.textDecoration,fontWeight:j.fontWeight,fontFamily:j.fontFamily,textAlign:j.textAlign}}this._setStyleProperty(l,"h1");this._setStyleProperty(l,"h2");this._setStyleProperty(l,"h3");this._setStyleProperty(l,"h4");if(!window.dhx4.isKHTML){this._setStyleProperty(l,"del");this._setStyleProperty(l,"sub");this._setStyleProperty(l,"sup");this._setStyleProperty(l,"u")}this.callEvent("onFocusChanged",[this.style,j])}catch(n){return null}};this._getSelectionBounds=function(){var o,m,r,l;if(this.edWin.getSelection){var q=this.edWin.getSelection();if(window.dhx4.isEdge&&q.rangeCount==0){return{root:null,start:null,end:null}}o=q.getRangeAt(q.rangeCount-1);r=o.startContainer;l=o.endContainer;m=o.commonAncestorContainer;if(r.nodeName=="#text"){m=m.parentNode}if(r.nodeName=="#text"){r=r.parentNode}if(r.nodeName.toLowerCase()=="body"){r=r.firstChild}if(l.nodeName=="#text"){l=l.parentNode}if(l.nodeName.toLowerCase()=="body"){l=l.lastChild}if(r==l){m=r}return{root:m,start:r,end:l}}else{if(this.edWin.document.selection){o=this.edDoc.selection.createRange();if(!o.duplicate){return null}m=o.parentElement();var n=o.duplicate();var j=o.duplicate();n.collapse(true);j.moveToElementText(n.parentElement());j.setEndPoint("EndToStart",n);r=n.parentElement();n=o.duplicate();j=o.duplicate();j.collapse(false);n.moveToElementText(j.parentElement());n.setEndPoint("StartToEnd",j);l=j.parentElement();if(r.nodeName.toLowerCase()=="body"){r=r.firstChild}if(l.nodeName.toLowerCase()=="body"){l=l.lastChild}if(r==l){m=r}return{root:m,start:r,end:l}}}return null};this.getContent=function(){if(!this.edDoc.body){return""}else{if(window.dhx4.isFF||window.dhx4.isChrome){return this.editor.contentWindow.document.body.innerHTML.replace(/<\/{0,}br\/{0,}>\s{0,}$/gi,"")}if(window.dhx4.isIE&&this.edDoc.body.innerText.length==0){return""}return this.edDoc.body.innerHTML}};this.setContent=function(m){m=m||"";if(this.edDoc.body){var l=false;if(window.dhx4.isFF){var j=navigator.userAgent.match(/Firefox\/(\d*)/);l=(j!=null&&j[1]<28)}if(l){if(typeof(this.conf.ffTest)=="undefined"){this.editor.contentWindow.document.body.innerHTML="";this._runCommand("InsertHTML","test");this.conf.ffTest=(this.editor.contentWindow.document.body.innerHTML.length>0)}if(this.conf.ffTest){this.editor.contentWindow.document.body.innerHTML=m}else{this.editor.contentWindow.document.body.innerHTML="";if(m.length==0){m=" "}this._runCommand("InsertHTML",m)}}else{this.editor.contentWindow.document.body.innerHTML=m}this.callEvent("onContentSet",[])}else{if(!this.conf.firstLoadEv){this.conf.firstLoadEv=true;this.conf.firstLoadData=m;this._onFirstLoad=function(){c.setContent(c.conf.firstLoadData);if(typeof(window.addEventListener)=="function"){c.edWin.removeEventListener("load",c._onFirstLoad,false)}else{c.edWin.detachEvent("onload",c._onFirstLoad)}c.conf.firstLoadData=null;c.conf.firstLoadEv=false;c._onFirstLoad=null};if(typeof(window.addEventListener)=="function"){this.edWin.addEventListener("load",this._onFirstLoad,false)}else{this.edWin.attachEvent("onload",this._onFirstLoad)}}}};this.setContentHTML=function(j){window.dhx4.ajax.get(j,function(l){if(l.xmlDoc.responseText!=null){c.setContent(l.xmlDoc.responseText)}})};window.dhx4._eventable(this);this.attachEvent("onFocusChanged",function(j){if(typeof(this._doOnFocusChanged)=="function"){this._doOnFocusChanged(j)}else{if(typeof(this._doOnFocusChanged)=="string"&&typeof(window[this._doOnFocusChanged])=="function"){window[this._doOnFocusChanged](j)}}});if(typeof(window.addEventListener)=="function"){window.addEventListener("resize",this._doOnResize,false);this.edDoc.addEventListener("click",this._doOnClick,false);this.edDoc.addEventListener("keyup",this._doOnKeyUp,false);if(window.dhx4.isOpera){this.edDoc.addEventListener("mousedown",this._doOnMouseDown,false)}}else{window.attachEvent("onresize",this._doOnResize);this.edDoc.attachEvent("onclick",this._doOnClick);this.edDoc.attachEvent("onkeyup",this._doOnKeyUp)}this.unload=function(){if(typeof(window.addEventListener)=="function"){window.removeEventListener("resize",this._doOnResize,false);this.edDoc.removeEventListener("click",this._doOnClick,false);this.edDoc.removeEventListener("keyup",this._doOnKeyUp,false);if(window.dhx4.isOpera){this.edDoc.removeEventListener("mousedown",this._doOnMouseDown,false)}for(var j=0;j0){this.base.removeChild(this.base.childNodes[0])}this.base=null;this._doOnClick=null;this._doOnKeyUp=null;this._doOnMouseDown=null;this._ev=null;this._focus=null;this._prepareContent=null;this._doOnResize=null;this.setIconsPath=null;this.init=null;this.setSizes=null;this._runCommand=null;this.applyBold=null;this.applyItalic=null;this.applyUnderscore=null;this.clearFormatting=null;this._showInfo=null;this._getSelectionBounds=null;this.getContent=null;this.setContent=null;this.setContentHTML=null;this.setReadonly=null;this.isReadonly=null;this.unload=null;c=a=null};if(this.conf.toolbar==true&&typeof(this.attachToolbar)=="function"&&typeof(window.dhtmlXToolbarObject)=="function"){this.attachToolbar(this.conf.iconsPath);if(this.conf.iOSfix==true){this._doOnIOSFix=function(){c.editor.contentWindow.focus()};this.tb.cont.addEventListener("touchend",this._doOnIOSFix,false)}}this.setIconsPath=function(j){this.conf.iconsPath=j};if(this.conf.content.length>0){this.setContent(this.conf.content);this.conf.content=""}else{if(this.conf.contentHTML.length>0){this.setContentHTML(this.conf.contentHTML);this.conf.contentHTML=""}}return this}dhtmlXEditor.prototype.setSizes=function(){this.cell._setSize(0,0,this.base.clientWidth,this.base.clientHeight);if(this.editor!=null){this.editor.style.left="5px";this.editor.style.width=this.base.clientWidth-5+"px"}};dhtmlXEditor.prototype.setReadonly=function(a){this.conf.roMode=(a===true);this._prepareContent(true,this.conf.roMode);this.cBlock.style.display=(this.conf.roMode?"":"none")};dhtmlXEditor.prototype.isReadonly=function(a){return(this.conf.roMode||false)};dhtmlXEditor.prototype.setSkin=function(a){this.base.className=String(this.base.className).replace(new RegExp("dhxeditor_"+this.conf.skin),"dhxeditor_"+a);this.conf.skin=this.cell.conf.skin=a;if(this.tb){this.cell.detachToolbar(a);this.tb=null;this.attachToolbar()}this.setSizes()};dhtmlXEditor.prototype._fontConf=function(){if(this.conf.skin==""){var a={family:this.conf.font.family,size:this.conf.font.size,color:this.conf.font.color}}else{var a={family:"Roboto, Arial, Helvetica",size:"14px",color:"#404040"}}return window.dhx4.template("font-size: #size#; font-family: #family#; color: #color#;",a)};window.dhtmlXEditorCell=function(e,a){dhtmlXCellObject.apply(this,[e,"_editor"]);var c=this;this.editor=a;this.conf.skin=this.editor.conf.skin;this.attachEvent("_onCellUnload",function(){this._stbUnload();this.editor=null;c=null});this._stbInit();return this};dhtmlXEditorCell.prototype=new dhtmlXCellObject();dhtmlXEditorCell.prototype._stbInit=function(){var j=this;var h=document.createElement("DIV");h.className="dhx_cell_stb"+(dhx4.isIE6||dhx4.isIE7||dhx4.isIE8?"":" dhx_cell_stb_shadow");this.cell.insertBefore(h,this.cell.childNodes[this.conf.idx.cont]);h.onselectstart=function(a){a=a||event;a.cancelBubble=true;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}return false};var g={bold:"applyBold",italic:"applyItalic",underline:"applyUnderscore",clearformat:"clearFormatting"};for(var e in g){var c=document.createElement("A");c.href="javascript:void(0);";c.tabIndex=-1;h.appendChild(c);c.onmousedown=c.onclick=function(a){a=a||event;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}return false};var l=document.createElement("DIV");l.className="dhx_cell_stb_button btn_"+e;l._actv=e.charAt(0);l._cmd=g[e];c.appendChild(l);l.onclick=function(a){a=a||event;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}return false};l.onmousedown=function(a){a=a||event;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}j.editor[this._cmd]();j.editor.callEvent("onToolbarClick",[this._actv])};l=c=null}h=null;this._stbUnload=function(){var a=this.cell.childNodes[this.conf.idx.stb];a.onselectstart=null;while(a.childNodes.length>0){a.lastChild.onmousedown=a.lastChild.onclick=null;a.lastChild.firstChild.onmousedown=a.lastChild.firstChild.onclick=null;a.lastChild.firstChild._actv=a.lastChild.firstChild._cmd=null;a.lastChild.removeChild(a.lastChild.firstChild);a.removeChild(a.lastChild)}a.parentNode.removeChild(a);a=j=null;this.conf.idx_data.stb=this.conf.ofs_nodes.t._getStbHeight=null;delete this.conf.ofs_nodes.t._getStbHeight;delete this.conf.idx_data.stb;this._updateIdx()};this.conf.stb_visible=true;this.conf.ofs_nodes.t._getStbHeight="func";this.conf.idx_data.stb="dhx_cell_stb";this._updateIdx()};dhtmlXEditorCell.prototype._stbHide=function(){this.cell.childNodes[this.conf.idx.stb].style.display="none";this.conf.stb_visible=false};dhtmlXEditorCell.prototype._getStbHeight=function(){if(this.conf.stb_visible==true&&this.conf.skin=="material"){if(this.conf.stb_height==null){this.conf.stb_height=window.dhx4.readFromCss("dhxeditor_material stb_height_detect","scrollHeight","
    ")}return this.conf.stb_height}return this.cell.childNodes[this.conf.idx.stb].offsetHeight};dhtmlXCellObject.prototype.attachEditor=function(a){this.callEvent("_onBeforeContentAttach",["editor"]);var e=document.createElement("DIV");e.style.width="100%";e.style.height="100%";e.style.position="relative";e.style.overflow="hidden";this._attachObject(e);if(!(typeof(a)=="object"&&a!=null)){a={}}a.parent=e;this.dataType="editor";this.dataObj=new dhtmlXEditor(a);e=null;a.parent=null;a=null;if(typeof(window.dhtmlXPortalCell)=="function"&&this instanceof window.dhtmlXPortalCell){if(this.portal.conf.editor_ev==null){var g=this.portal.attachEvent("onBeforeDrag",function(h){if(this.cdata[h].dataType=="editor"){this.cdata[h].conf.editor_cont=this.cdata[h].dataObj.getContent()}return true});var c=this.portal.attachEvent("onDrop",function(h){if(this.cdata[h].dataType=="editor"){this.cdata[h].dataObj.setContent(this.cdata[h].conf.editor_cont);this.cdata[h].dataObj._prepareContent(true);this.cdata[h].conf.editor_cont=null}});this.portal.conf.editor_ev=[g,c]}this.conf.editor_ev=this.attachEvent("_onBeforeContentDetach",function(){this.detachEvent(this.conf.editor_ev);this.conf.editor_ev=null;if(this instanceof window.dhtmlXPortalCell){var j=false;for(var h in this.portal.cdata){if(this.portal.cdata[h]!=this&&this.portal.cdata[h].dataType=="editor"){j=true}}if(j==false){for(var l=0;l]]>'}this._availSizes={"1":"8pt","2":"10pt","3":"12pt","4":"14pt","5":"18pt","6":"24pt","7":"36pt"};this._xmlSizes="";for(var e in this._availSizes){this._xmlSizes+=''}this.tbXML='';this.tb.loadStruct(this.tbXML);this._checkAlign=function(a){this.tb.setItemState("alignCenter",false);this.tb.setItemState("alignRight",false);this.tb.setItemState("alignJustify",false);this.tb.setItemState("alignLeft",false);if(a){this.tb.setItemState(a,true)}};this._checkH=function(a){this.tb.setItemState("applyH1",false);this.tb.setItemState("applyH2",false);this.tb.setItemState("applyH3",false);this.tb.setItemState("applyH4",false);if(a){this.tb.setItemState(a,true)}};this._doOnFocusChanged=function(n){if(!n.h1&&!n.h2&&!n.h3&&!n.h4){var a=(String(n.fontWeight).search(/bold/i)!=-1)||(Number(n.fontWeight)>=700);this.tb.setItemState("applyBold",a)}else{this.tb.setItemState("applyBold",false)}var m="alignLeft";if(String(n.textAlign).search(/center/)!=-1){m="alignCenter"}if(String(n.textAlign).search(/right/)!=-1){m="alignRight"}if(String(n.textAlign).search(/justify/)!=-1){m="alignJustify"}this.tb.setItemState(m,true);this._checkAlign(m);this.tb.setItemState("applyH1",n.h1);this.tb.setItemState("applyH2",n.h2);this.tb.setItemState("applyH3",n.h3);this.tb.setItemState("applyH4",n.h4);if(window._KHTMLrv){n.sub=(n.vAlign=="sub");n.sup=(n.vAlign=="super")}this.tb.setItemState("applyItalic",(n.fontStyle=="italic"));this.tb.setItemState("applyStrikethrough",n.del);this.tb.setItemState("applySub",n.sub);this.tb.setItemState("applySuper",n.sup);this.tb.setItemState("applyUnderscore",n.u)};this._doOnToolbarClick=function(m){var a=String(m).split(":");if(this[a[0]]!=null){if(typeof(this[a[0]])=="function"){this[a[0]](a[1]);this.callEvent("onToolbarClick",[m])}}};this._doOnStateChange=function(m,a){this[m]();switch(m){case"alignLeft":case"alignCenter":case"alignRight":case"alignJustify":this._checkAlign(m);break;case"applyH1":case"applyH2":case"applyH3":case"applyH4":this._checkH(m);break}this.callEvent("onToolbarClick",[m])};this._doOnBeforeStateChange=function(m,a){if((m=="alignLeft"||m=="alignCenter"||m=="alignRight"||m=="alignJustify")&&a==true){return false}return true};var j=this;this.tb.attachEvent("onClick",function(a){j._doOnToolbarClick(a)});this.tb.attachEvent("onStateChange",function(m,a){j._doOnStateChange(m,a)});this.tb.attachEvent("onBeforeStateChange",function(m,a){return j._doOnBeforeStateChange(m,a)});this.applyBold=function(){this._runCommand("Bold")};this.applyItalic=function(){this._runCommand("Italic")};this.applyUnderscore=function(){this._runCommand("Underline")};this.applyStrikethrough=function(){this._runCommand("StrikeThrough")};this.alignLeft=function(){this._runCommand("JustifyLeft")};this.alignRight=function(){this._runCommand("JustifyRight")};this.alignCenter=function(){this._runCommand("JustifyCenter")};this.alignJustify=function(){this._runCommand("JustifyFull")};this.applySub=function(){this._runCommand("Subscript")};this.applySuper=function(){this._runCommand("Superscript")};this.applyH1=function(){this._runCommand("FormatBlock","

    ")};this.applyH2=function(){this._runCommand("FormatBlock","

    ")};this.applyH3=function(){this._runCommand("FormatBlock","

    ")};this.applyH4=function(){this._runCommand("FormatBlock","

    ")};this.createNumList=function(){this._runCommand("InsertOrderedList")};this.createBulList=function(){this._runCommand("InsertUnorderedList")};this.increaseIndent=function(){this._runCommand("Indent")};this.decreaseIndent=function(){this._runCommand("Outdent")};this.clearFormatting=function(){this._runCommand("RemoveFormat");this.tb.setItemState("applyBold",false);this.tb.setItemState("applyItalic",false);this.tb.setItemState("applyStrikethrough",false);this.tb.setItemState("applySub",false);this.tb.setItemState("applySuper",false);this.tb.setItemState("applyUnderscore",false);var a=this.getContent();a=a.replace(/<\/?h\d>/gi,"");this.setContent(a)}};dhtmlx.Group={_init:function(){dhtmlx.assert(this.data,"DataStore required for grouping");this.data.attachEvent("onStoreLoad",dhtmlx.bind(function(){if(this._settings.group){this.group(this._settings.group,false)}},this));this.attachEvent("onBeforeRender",dhtmlx.bind(function(a){if(this._settings.sort){a.block();a.sort(this._settings.sort);a.unblock()}},this));this.data.attachEvent("onClearAll",dhtmlx.bind(function(){this.data._not_grouped_order=this.data._not_grouped_pull=null},this));this.attachEvent("onBeforeSort",dhtmlx.bind(function(){this._settings.sort=null},this))},_init_group_data_event:function(c,a){c.attachEvent("onClearAll",dhtmlx.bind(function(){this.ungroup(false);this.block();this.clearAll();this.unblock()},a))},sum:function(c,a){c=dhtmlx.Template.setter(c);a=a||this.data;var e=0;a.each(function(g){e+=c(g)*1});return e},min:function(e,c){e=dhtmlx.Template.setter(e);c=c||this.data;var a=Infinity;c.each(function(g){if(e(g)*1a){a=e(g)*1}});return a},_split_data_by:function(j){var m=function(q,o){q=dhtmlx.Template.setter(q);return q(o[0])};var n=dhtmlx.Template.setter(j.by);if(!j.map[n]){j.map[n]=[n,m]}var e={};var l=[];this.data.each(function(o){var q=n(o);if(!e[q]){l.push({id:q});e[q]=dhtmlx.toArray()}e[q].push(o)});for(var a in j.map){var h=(j.map[a][1]||m);if(typeof h!="function"){h=this[h]}for(var g=0;g11?"pm":"am")+"';case"%A":return'"+(date.getHours()>11?"PM":"AM")+"';case"%s":return'"+dhtmlx.Date.to_fixed(date.getSeconds())+"';case"%W":return'"+dhtmlx.Date.to_fixed(dhtmlx.Date.getISOWeek(date))+"';default:return e}});if(a){c=c.replace(/date\.get/g,"date.getUTC")}return new Function("date",'return "'+c+'";')},str_to_date:function(h,e){var j="var temp=date.split(/[^0-9a-zA-Z]+/g);";var a=h.match(/%[a-zA-Z]/g);for(var c=0;c50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":j+="set[3]=temp["+c+"]||0;";break;case"%i":j+="set[4]=temp["+c+"]||0;";break;case"%Y":j+="set[0]=temp["+c+"]||0;";break;case"%a":case"%A":j+="set[3]=set[3]%12+((temp["+c+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":j+="set[5]=temp["+c+"]||0;";break}}var g="set[0],set[1],set[2],set[3],set[4],set[5]";if(e){g=" Date.UTC("+g+")"}return new Function("date","var set=[0,0,1,0,0,0]; "+j+" return new Date("+g+");")},getISOWeek:function(e){if(!e){return false}var c=e.getDay();if(c===0){c=7}var g=new Date(e.valueOf());g.setDate(e.getDate()+(4-c));var a=g.getFullYear();var j=Math.floor((g.getTime()-new Date(a,0,1).getTime())/86400000);var h=1+Math.floor(j/7);return h},getUTCISOWeek:function(a){return this.getISOWeek(a)}};dhtmlx.math={};dhtmlx.math._toHex=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];dhtmlx.math.toHex=function(c,a){c=parseInt(c,10);str="";while(c>0){str=this._toHex[c%16]+str;c=Math.floor(c/16)}while(str.length255){h=0}if(e<0||e>255){e=0}if(a<0||a>255){a=0}return[h,e,a]};dhtmlx.math.hsvToRgb=function(l,x,u){var j,n,e,c,w,a,m,o;j=Math.floor((l/60))%6;n=l/60-j;e=u*(1-x);c=u*(1-n*x);w=u*(1-(1-n)*x);a=0;m=0;o=0;switch(j){case 0:a=u;m=w;o=e;break;case 1:a=c;m=u;o=e;break;case 2:a=e;m=u;o=w;break;case 3:a=e;m=c;o=u;break;case 4:a=w;m=e;o=u;break;case 5:a=u;m=e;o=c;break}a=Math.floor(a*255);m=Math.floor(m*255);o=Math.floor(o*255);return[a,m,o]};dhtmlx.math.rgbToHsv=function(c,m,n){var j,e,o,a,q,w,l,u;j=c/255;e=m/255;o=n/255;var a=Math.min(j,e,o);var q=Math.max(j,e,o);l=0;w=q==0?0:(1-a/q);u=q;if(q==a){l=0}else{if(q==j&&e>=o){l=60*(e-o)/(q-a)+0}else{if(q==j&&e")},addSector:function(a,o,n,l,h,e,g,j){var m=[];m.push(l);m.push(Math.floor(h*g));for(var c=o;c"+this._map.join("\n")+"";a._htmlmap=e;this._map=[]}};dhtmlx.chart={};dhtmlx.chart.scatter={pvt_render_scatter:function(o,j,n,m,l,a){if(!this._settings.xValue){return dhtmlx.log("warning","Undefined propery: xValue")}var e=this._getLimits();var h=this._getLimits("h","xValue");if(!l){if(!this.canvases.x){this.canvases.x=new dhtmlx.ui.Canvas(this._obj,"axis_x")}if(!this.canvases.y){this.canvases.y=new dhtmlx.ui.Canvas(this._obj,"axis_y")}this._drawYAxis(this.canvases.y.getCanvas(),j,n,m,e.min,e.max);this._drawHXAxis(this.canvases.x.getCanvas(),j,n,m,h.min,h.max)}e={min:this._settings.yAxis.start,max:this._settings.yAxis.end};h={min:this._settings.xAxis.start,max:this._settings.xAxis.end};var c=this._getScatterParams(o,j,n,m,h,e);this._mapStart=n;for(var g=0;ga.max){j=m[c.toLowerCase()]}if(o=n;L-=q){if(C.fixNum){L=parseFloat((new Number(L)).toFixed(C.fixNum))}I.push(Math.floor(M*e)+0.5);if(w){L=Math.round(L*w)/w}var o=u-m+I[I.length-1];this.canvases.scale.renderTextAt("middle","left",v,o,a.template(L.toString()),"dhx_axis_item_y dhx_radar");if(A.length<2){this._drawScaleSector(H,"arc",v,u,m-I[I.length-1],-Math.PI/2,3*Math.PI/2,L);return}var h=-Math.PI/2;var F=h;var E;for(K=0;KMath.PI){g=-q}if(m>Math.PI/2){h=-e}if(Math.abs(m+Math.PI/2)0;w--){g-=A.cellWidth;e=F[w].$startY;if(e){n.push([g,e])}}}n.push([n[0][0],n[0][1]]);o.globalAlpha=this._settings.alpha.call(this,F[0]);o.fillStyle=this._settings.color.call(this,F[0]);o.beginPath();this._path(o,n);o.fill();for(w=0;we.y){C=e.y}var A=this._getSplineYPoint(r+1,v,s,m.a,m.b,m.c,m.d);if(Ae.y){A=e.y}this._drawLine(o,r,C,r+1,A,E.line.color(H[s]),E.line.width)}this._drawLine(o,u-1,this._getSplineYPoint(r,v,s,m.a,m.b,m.c,m.d),u,a,E.line.color(H[s]),E.line.width)}this._drawItem(o,v,c,H[n[s].index],E.label(H[n[s].index]),q,F)}}},_getSplineParameters:function(x){var j,A,y,C,w,r,q,o,l=[],g=[],e=x.length;for(j=0;j=1;j--){C[j]=(y[j]-l[j]*C[j+1])/A[j]}w=[];r=[];q=[];o=[];for(j=0;j2?n*J:0)>E)){u=E/J-e-(J>2?n:0)}r=(E-u*J-n*(J-1))/2;if(this._settings.border){u=parseInt(u,10);r=parseInt(r,10)}m=(typeof this._settings.radius!="undefined"?parseInt(this._settings.radius,10):Math.round(u/5));M=false;a=this._settings.gradient;if(a&&typeof(a)!="function"){M=a;a=false}else{if(a){a=A.createLinearGradient(l.x,l.y,j.x,l.y);this._settings.gradient(a)}}if(!q){this._drawLine(A,l.x-0.5,l.y,l.x-0.5,j.y,"#000000",1)}for(H=0;HL){y=L}y-=v;y*=c;K=l.x;g=l.y+r+(J>2?n*C:0)+parseInt(H*E,10)+u*C;if((y<0&&this._settings.origin=="auto")||(this._settings.xAxis&&y===0&&!(this._settings.origin!="auto"&&this._settings.origin>v))){this.canvases[C].renderTextAt("middle","right",K+10,g+u/2+r,this._settings.label(O[H]));continue}if(y<0&&this._settings.origin!="auto"&&this._settings.origin>v){y=0}if(!q){y+=w/s}D=a||this._settings.color.call(this,O[H]);if(this._settings.border){this._drawBarHBorder(A,K,g,u,v,m,s,y,D)}A.globalAlpha=this._settings.alpha.call(this,O[H]);var F=this._drawBarH(A,j,K,g,u,v,m,s,y,D,a,M);if(M!=false){this._drawBarHGradient(A,K,g,u,v,m,s,y,D,M)}A.globalAlpha=1;if(F[3]==g){this.canvases[C].renderTextAt("middle","left",F[0]-5,F[3]+Math.floor(u/2),this._settings.label(O[H]));N.addRect(O[H].id,[F[0]-l.x,F[3]-l.y,F[2]-l.x,F[3]+u-l.y],C)}else{this.canvases[C].renderTextAt("middle",false,F[2]+5,F[1]+Math.floor(u/2),this._settings.label(O[H]));N.addRect(O[H].id,[F[0]-l.x,g-l.y,F[2]-l.x,F[3]-l.y],C)}}},_setBarHPoints:function(v,g,s,w,l,u,r,j,h){var c=0;if(l>u*r){var q=(l-u*r)/l;c=-Math.asin(q)+Math.PI/2}v.moveTo(g,s+j);var e=g+u*r-l-(l?0:j);if(l0){v.arc(e,o,l-j,-Math.PI/2+c,0,false)}var n=s+w-l-(l?0:j);var a=e+l-(l?j:0);v.lineTo(a,n);if(l&&l>0){v.arc(e,n,l-j,0,Math.PI/2-c,false)}var m=s+w-j;v.lineTo(g,m);if(!h){v.lineTo(g,s+j)}return[a,m]},_drawHScales:function(e,l,j,h,m,c,g){var a=0;if(this._settings.xAxis){if(!this.canvases.x){this.canvases.x=new dhtmlx.ui.Canvas(this._obj)}a=this._drawHXAxis(this.canvases.x.getCanvas(),l,j,h,m,c)}if(this._settings.yAxis){if(!this.canvases.y){this.canvases.y=new dhtmlx.ui.Canvas(this._obj)}this._drawHYAxis(this.canvases.y.getCanvas(),l,j,h,g,a)}},_drawHYAxis:function(r,h,n,l,e,a){if(!this._settings.yAxis){return}var j;var c=parseInt((a?a:n.x),10)-0.5;var o=l.y+0.5;var m=n.y;this._drawLine(r,c,o,c,m,this._settings.yAxis.color,1);for(var g=0;gg)){h+=(this._settings.origin-g)*l;c=h;j=j-(this._settings.origin-g);if(j<0){j*=(-1);m.translate(h,e+n);m.rotate(Math.PI);h=0.5;e=0}h+=0.5}return{value:j,x0:h,y0:e,start:c}},_drawBarH:function(s,h,y,g,n,o,j,m,r,u,a,l){var v;s.save();var q=this._correctBarHParams(s,y,g,r,m,n,o);s.fillStyle=u;s.beginPath();if(m*q.value>0){v=this._setBarHPoints(s,q.x0,q.y0,n,j,m,q.value,(this._settings.border?1:0));if(a&&!l){s.lineTo(h.x,q.y0+(this._settings.border?1:0))}}else{v=[q.x0,q.y0+1]}s.fill();s.restore();var e=q.y0;var c=(q.y0!=g?g:v[1]);var x=(q.y0!=g?(q.start-v[0]):q.start);var w=(q.y0!=g?q.start:v[0]);return[x,e,w,c]},_drawBarHBorder:function(n,c,l,o,h,g,m,j,e){n.save();var a=this._correctBarHParams(n,c,l,j,m,o,h);n.beginPath();this._setBorderStyles(n,e);n.globalAlpha=0.9;if(m*a.value>0){this._setBarHPoints(n,a.x0,a.y0,o,g,m,a.value,n.lineWidth/2,1)}n.stroke();n.restore()},_drawBarHGradient:function(q,e,n,r,l,j,o,m,g,a){q.save();var c=this._correctBarHParams(q,e,n,m,o,r,l);var h=this._setBarGradient(q,c.x0,c.y0+r,c.x0+o*c.value,c.y0,a,g,"x");q.fillStyle=h.gradient;q.beginPath();if(o*c.value>0){this._setBarHPoints(q,c.x0,c.y0+h.offset,r-h.offset*2,j,o,c.value,h.offset)}q.fill();q.globalAlpha=1;q.restore()}};dhtmlx.assert(dhtmlx.chart.barH);dhtmlx.chart.stackedBarH={pvt_render_stackedBarH:function(A,O,h,g,C,N){var M,u;var c;var v;var x=g.x-h.x;var m=!!this._settings.yAxis;var l=this._getStackedLimits(O);M=l.max;u=l.min;var E=Math.floor((g.y-h.y)/O.length);if(!C){this._drawHScales(A,O,h,g,u,M,E)}if(m){M=parseFloat(this._settings.xAxis.end);u=parseFloat(this._settings.xAxis.start)}var J=this._getRelativeValue(u,M);v=J[0];c=J[1];var r=(v?x/v:10);if(!m){var w=10;r=(v?(x-w)/v:10)}var s=parseInt(this._settings.width,10);if((s+4)>E){s=E-4}var n=(E-s)/2;var j=0;var o=false;var a=this._settings.gradient;if(a){o=true}if(!m){this._drawLine(A,h.x-0.5,h.y,h.x-0.5,g.y,"#000000",1)}var L=0;var I=0;for(H=0;HM){y=M}y-=u;y*=c;var K=h.x;var e=h.y+n+H*E;if(!I){O[H].$startX=K}else{K=O[H].$startX}if(y<0||(this._settings.yAxis&&y===0)){this.canvases.y.renderTextAt("middle",true,K+10,e+s/2,this._settings.label(O[H]));continue}if(!m){y+=w/r}var D=this._settings.color.call(this,O[H]);A.globalAlpha=this._settings.alpha.call(this,O[H]);A.fillStyle=this._settings.color.call(this,O[H]);A.beginPath();var F=this._setBarHPoints(A,K,e,s,j,r,y,(this._settings.border?1:0));if(a&&!o){A.lineTo(h.x+x,e+(this._settings.border?1:0))}A.fill();if(o!=false){var q=this._setBarGradient(A,K,e+s,K,e,o,D,"x");A.fillStyle=q.gradient;A.beginPath();F=this._setBarHPoints(A,K,e,s,j,r,y,0);A.fill()}if(this._settings.border){this._drawBarHBorder(A,K,e,s,u,j,r,y,D)}A.globalAlpha=1;this.canvases[C].renderTextAt("middle",true,O[H].$startX+(F[0]-O[H].$startX)/2-1,e+(F[1]-e)/2,this._settings.label(O[H]));N.addRect(O[H].id,[O[H].$startX-h.x,e-h.y,F[0]-h.x,F[1]-h.y],C);O[H].$startX=F[0]}}};dhtmlx.chart.stackedBar={pvt_render_stackedBar:function(C,Q,j,h,D,O){var L,w,a,K,g;var c;var x;var N=this._settings;var y=h.y-j.y;var m=!!N.yAxis;var M=!!N.xAxis;var l=this._getStackedLimits(Q);var P=(N.origin===0);L=l.max;w=l.min;if(!Q.length){return}var F=(h.x-j.x)/Q.length;if(!D){a=this._drawScales(Q,j,h,w,L,F)}if(m){L=parseFloat(N.yAxis.end);w=parseFloat(N.yAxis.start)}var J=this._getRelativeValue(w,L);x=J[0];c=J[1];var u=(x?y/x:10);var v=parseInt(N.width,10);if(v+4>F){v=F-4}var n=Math.floor((F-v)/2);var q=(N.gradient?N.gradient:false);if(!M){this._drawLine(C,j.x,h.y+0.5,h.x,h.y+0.5,"#000000",1)}for(var I=0;I=0;j--){s.globalAlpha=a[j];s.strokeStyle="#d0d0d0";s.beginPath();this._strokeChartItem(s,e,r+2*m/3,m+j+1,g.type);s.stroke()}s.beginPath();s.globalAlpha=0.3;s.fillStyle="#bdbdbd";this._strokeChartItem(s,e,r+2*m/3,m+1,g.type);s.fill()}s.restore();if(g.type=="image"&&g.src){this._drawImage(s,e-m,r-m,g.src,m*2,m*2)}else{s.lineWidth=g.borderWidth;s.fillStyle=g.color.call(this,n);s.strokeStyle=g.borderColor.call(this,n);s.globalAlpha=g.alpha.call(this,n);s.beginPath();this._strokeChartItem(s,e,r,m+1,g.type);s.fill();s.stroke();s.globalAlpha=1}}if(q){this.canvases[o].renderTextAt(false,true,e,r-m-this._settings.labelOffset,this._settings.label.call(this,n))}var h=(this._settings.eventRadius||m+1);c.addRect(n.id,[e-h-l.x,r-h-l.y,e+h-l.x,r+h-l.y],o)},_drawImage:function(e,c,m,j,g,a){var h=document.createElement("img");h.style.display="none";h.style.width=g+"px";h.style.height=a+"px";document.body.appendChild(h);h.src=j;var l=function(){e.drawImage(h,c,m)};if(h.complete){l(h)}else{h.onload=l}},_strokeChartItem:function(a,c,h,g,e){var j=[];c=parseInt(c,10);h=parseInt(h,10);if(e&&(e=="square"||e=="s")){g*=Math.sqrt(2)/2;j=[[c-g-a.lineWidth/2,h-g],[c+g,h-g],[c+g,h+g],[c-g,h+g],[c-g,h-g]]}else{if(e&&(e=="diamond"||e=="d")){var l=(a.lineWidth>1?a.lineWidth*Math.sqrt(2)/4:0);j=[[c,h-g],[c+g,h],[c,h+g],[c-g,h],[c+l,h-g-l]]}else{if(e&&(e=="triangle"||e=="t")){j=[[c,h-g],[c+Math.sqrt(3)*g/2,h+g/2],[c-Math.sqrt(3)*g/2,h+g/2],[c,h-g]]}else{j=[[c,h,g,0,Math.PI*2,true]]}}}this._path(a,j)},_getPointY:function(e,m,j,a){var l=a.minValue;var g=a.maxValue;var o=a.unit;var c=a.valueFactor;var n=this._settings.value(e);var q=(parseFloat(n||0)-l)*c;if(!this._settings.yAxis){q+=a.startValue/o}var h=j.y-o*q;if(this._settings.fixOverflow&&(this._settings.view=="line"||this._settings.view=="area")){if(n>g){h={y:m.y,y0:h,out:"max"}}else{if(q<0||ng){h=m.y}if(q<0||nv){this._drawXAxis(A,Q,j,h,E,h.y-s*(this._settings.origin-v))}u=parseInt(this._settings.width,10);var L=0;var H=0;for(I=0;I2?m*L:0)>E)){u=E/L-g-(L>2?m:0)}var q=(E-u*L-m*(L-1))/2;if(this._settings.border){u=parseInt(u,10);q=parseInt(q,10)}var l=(typeof this._settings.radius!="undefined"?parseInt(this._settings.radius,10):Math.round(u/5));var r=false;var a=this._settings.gradient;if(a&&typeof(a)!="function"){r=a;a=false}else{if(a){a=A.createLinearGradient(0,h.y,0,j.y);this._settings.gradient(a)}}if(!M){this._drawLine(A,j.x,h.y+0.5,h.x,h.y+0.5,"#000000",1)}for(I=0;IN){y=N}y-=v;y*=c;var K=j.x+q+(L>2?m*H:0)+I*E+u*H;var e=h.y;if(y<0||(this._settings.yAxis&&y===0&&!(this._settings.origin!="auto"&&this._settings.origin>v))){this.canvases[C].renderTextAt(true,true,K+Math.floor(u/2),e,this._settings.label(Q[I]));continue}if(!o&&!(this._settings.origin!="auto"&&M)){y+=x/s}var D=a||this._settings.color.call(this,Q[I]);A.globalAlpha=this._settings.alpha.call(this,Q[I]);var F=this._drawBar(A,j,K,e,u,v,l,s,y,D,a,r);if(r){this._drawBarGradient(A,K,e,u,v,l,s,y,D,r)}if(this._settings.border){this._drawBarBorder(A,K,e,u,v,l,s,y,D)}A.globalAlpha=1;if(F[0]!=K){this.canvases[C].renderTextAt(false,true,K+Math.floor(u/2),F[1],this._settings.label(Q[I]))}else{this.canvases[C].renderTextAt(true,true,K+Math.floor(u/2),F[3],this._settings.label(Q[I]))}P.addRect(Q[I].id,[K-j.x,F[3]-j.y,F[2]-j.x,F[1]-j.y],C)}},_correctBarParams:function(m,h,e,j,l,n,g){var a=this._settings.xAxis;var c=e;if(!!a&&this._settings.origin!="auto"&&(this._settings.origin>g)){e-=(this._settings.origin-g)*l;c=e;j=j-(this._settings.origin-g);if(j<0){j*=(-1);m.translate(h+n,e);m.rotate(Math.PI);h=0;e=0}e-=0.5}return{value:j,x0:h,y0:e,start:c}},_drawBar:function(s,h,y,g,n,o,j,m,r,u,a,l){var v;s.save();s.fillStyle=u;var q=this._correctBarParams(s,y,g,r,m,n,o);if(m*q.value>0){v=this._setBarPoints(s,q.x0,q.y0,n,j,m,q.value,(this._settings.border?1:0))}else{v=[q.x0,q.y0]}if(a&&!l){s.lineTo(q.x0+(this._settings.border?1:0),h.y)}s.fill();s.restore();var x=q.x0;var w=(q.x0!=y?y+v[0]:v[0]);var e=(q.x0!=y?(q.start-v[1]-q.y0):q.y0);var c=(q.x0!=y?q.start-q.y0:v[1]);return[x,e,w,c]},_drawBarBorder:function(n,c,l,o,h,g,m,j,e){var a;n.save();a=this._correctBarParams(n,c,l,j,m,o,h);this._setBorderStyles(n,e);if(m*a.value>0){this._setBarPoints(n,a.x0,a.y0,o,g,m,a.value,n.lineWidth/2,1)}n.stroke();n.restore()},_drawBarGradient:function(r,g,o,s,m,l,q,n,h,c){r.save();var e=this._correctBarParams(r,g,o,n,q,s,m);var j=this._setBarGradient(r,e.x0,e.y0,e.x0+s,e.y0-q*e.value+2,c,h,"y");var a=this._settings.border?1:0;r.fillStyle=j.gradient;if(q*e.value>0){this._setBarPoints(r,e.x0+j.offset,e.y0,s-j.offset*2,l,q,e.value,j.offset+a)}r.fill();r.restore()},_setBarPoints:function(v,g,r,w,m,s,q,h,l){v.beginPath();var c=0;if(m>s*q){var j=(m-s*q)/m;if(j<=1&&j>=-1){c=-Math.acos(j)+Math.PI/2}}v.moveTo(g+h,r);var o=r-Math.floor(s*q)+m+(m?0:h);if(m0){v.arc(e,o,m-h,-Math.PI+c,-Math.PI/2,false)}var a=g+w-m-h;var n=o-m+(m?h:0);v.lineTo(a,n);if(m&&m>0){v.arc(a,o,m-h,-Math.PI/2,0-c,false)}var u=g+w-h;v.lineTo(u,r);if(!l){v.lineTo(g+h,r)}return[u,n]}};dhtmlx.chart.pie={pvt_render_pie:function(c,g,a,j,e,h){this._renderPie(c,g,a,j,1,h,e)},_renderPie:function(r,E,h,g,C,D,s){if(!E.length){return}var u=this._getPieParameters(h,g);var l=(this._settings.radius?this._settings.radius:u.radius);if(l<0){return}var a=this._getValues(E);var j=this._getTotalValue(a);var m=this._getRatios(a,j);var A=(this._settings.x?this._settings.x:u.x);var e=(this._settings.y?this._settings.y:u.y);if(C==1&&this._settings.shadow){this._addShadow(r,A,e,l)}e=e/C;var q=-Math.PI/2;var o;var w=[];r.scale(1,C);if(this._settings.gradient){var y=(C!=1?A+l/3:A);var c=(C!=1?e+l/3:e);this._showRadialGradient(r,A,e,l,y,c)}if(this._settings.labelLines){this._labelMargins=this._getLabelMargins(m,l)}for(var x=0;x1){for(x=0;x1?(v[J-1]-(v[J-1]-v[J-2])/2):v[J-1]/2);C=-Math.PI/2+v[J]-(v[J]-v[J-1])/2;var h=Math.cos(C);var y=Math.sin(C);var m=Math.cos(D);var A=Math.sin(D);var E=Math.round((l+8)*Math.abs(Math.sin(C)-Math.sin(D)));var s=(h<0?(y<0?4:3):(y<0?1:2));var u=(m<0?(A<0?4:3):(A<0?1:2));if(!M[s]){M[s]=[]}M[s].push(u==s?E:0)}var F=[];var L=0;for(var x in M){var g=0;var e=M[x].length;var o=0;var n=0;if(x==1||x==3){I=x-1;var K=0;while(I>0){if(M[I]){K+=M[I].length}I--}F[K+M[x].length-1]={y:0,x:0};var I=M[x].length-2;while(I>=0){if((o||I)&&M[x][I+1]-o<18){o+=18-M[x][I+1]}else{o=0}F[K+I]={y:o*(x==1?-1:1)};I--}for(var H=F.length-M[x].length;H=F.length-M[x].length;H--){if(F[H]["y"]!=0){n+=8;F[H]["x"]=n}else{n=0;F[H]["x"]=0}}}}return F},_getValues:function(e){var a=[];for(var c=0;c=0)||(e>=0&&a<=Math.PI)||(Math.abs(e-Math.PI)>0.003&&e<=Math.PI&&a>=Math.PI))){return}if(e<=0&&a>=0){e=0;c=false;this._drawSectorLine(g,h,l,j,e,a)}if(e<=Math.PI&&a>=Math.PI){a=Math.PI;c=false;this._drawSectorLine(g,h,l,j,e,a)}var m=(this._settings.height||Math.floor(j/4))/this._settings.cant;g.beginPath();g.arc(h,l,j,e,a,false);g.lineTo(h+j*Math.cos(a),l+j*Math.sin(a)+m);g.arc(h,l+m,j,a,e,true);g.lineTo(h+j*Math.cos(e),l+j*Math.sin(e));g.fill();if(c){g.stroke()}},_drawSectorLine:function(e,g,j,h,c,a){e.beginPath();e.arc(g,j,h,c,a,false);e.stroke()},_addShadow:function(c,a,j,g){c.globalAlpha=0.5;var h=["#c4c4c4","#c6c6c6","#cacaca","#dcdcdc","#dddddd","#e0e0e0","#eeeeee","#f5f5f5","#f8f8f8"];for(var e=h.length-1;e>-1;e--){c.beginPath();c.fillStyle=h[e];c.arc(a+1,j+1,g+e,0,Math.PI*2,true);c.fill()}c.globalAlpha=1},_getGrayGradient:function(a){a.addColorStop(0,"#ffffff");a.addColorStop(0.7,"#7a7a7a");a.addColorStop(1,"#000000");return a},_showRadialGradient:function(e,c,l,a,g,h){e.beginPath();var j;if(typeof this._settings.gradient!="function"){j=e.createRadialGradient(g,h,a/4,c,l,a);j=this._getGrayGradient(j)}else{j=this._settings.gradient(j)}e.fillStyle=j;e.arc(c,l,a,0,Math.PI*2,true);e.fill();e.globalAlpha=0.7},_drawSectorLabel:function(L,g,l,D,C,M,w,a,A,F){var v=this.canvases[0].renderText(0,0,w,0,1);if(!v){return}var N=v.scrollWidth;v.style.width=N+"px";if(N>L){N=L}var E=(C-D<0.2?4:8);if(a){E=N/1.8}var j=D+(C-D)/2;var h=l;l=(a?5*l/6:l+this._settings.labelOffset);l=l-(E-8)/2;var q=-E;var o=-8;var H="right";if(j>=Math.PI/2&&j=Math.PI){q=-N-q;H="left"}var m=0;if(!a&&M<1&&(j>0&&j=Math.PI/2&&j=Math.PI)){s+=N/3}}}if(this._settings.labelLines&&!a){var I=Math.abs((Math.abs(A||0)+Math.abs(h*Math.sin(j)))/Math.sin(j));if(A.y){r+=A.y}if(H=="left"){s-=A.x}else{s+=A.x}F.beginPath();F.strokeStyle="#555";var K=L+h*Math.cos(j);var e=g+h*Math.sin(j);F.moveTo(K,e);var J=s-(H=="left"?q-8:2);var c=r;if(H=="left"&&J>K){J=K-Math.abs(c-e+16)/Math.tan(j-Math.PI);c=c+16;if(j1){if(a){if(j.className.indexOf("hidden")!=-1){this.showSeries(h)}else{this.hideSeries(h)}}}}}},on_dblclick:{},on_mouse_move:{},destructor:function(){dhtmlx.Destruction.destructor.apply(this,arguments);if(this.canvases){for(var a in this.canvases){this.canvases[a]._obj=null;this.canvases[a]=null}this.canvases=null}if(this.legendObj){this.legendObj.innerHTML="";this.legendObj=null}if(this.config.tooltip){this.config.tooltip._obj=null;this.config.tooltip._dataobj=null}},bind:function(){dhtmlx.BaseBind.legacyBind.apply(this,arguments)},sync:function(){dhtmlx.BaseBind.legacySync.apply(this,arguments)},resize:function(){for(var a in this.canvases){this.canvases[a]._resizeCanvas()}this.render()},view_setter:function(a){if(!dhtmlx.chart[a]){dhtmlx.error("Chart type extension is not loaded: "+a)}if(typeof this._settings.offset=="undefined"){this._settings.offset=!(a=="area"||a=="stackedArea")}if(a=="radar"&&!this._settings.yAxis){this.define("yAxis",{})}if(a=="scatter"){if(!this._settings.yAxis){this.define("yAxis",{})}if(!this._settings.xAxis){this.define("xAxis",{})}}return a},clearCanvas:function(){if(this.canvases&&typeof this.canvases=="object"){for(var a in this.canvases){this.canvases[a].clearCanvas()}}},render:function(){var e,c,g,h,a;if(!this.callEvent("onBeforeRender",[this.data])){return}if(this.canvases&&typeof this.canvases=="object"){for(c in this.canvases){this.canvases[c].clearCanvas()}}else{this.canvases={}}if(this._settings.legend){if(!this.canvases.legend){this.canvases.legend=new dhtmlx.ui.Canvas(this._obj,"legend")}this._drawLegend(this.data.getRange(),this._obj.offsetWidth)}e=this._getChartBounds(this._obj.offsetWidth,this._obj.offsetHeight);this._map=h=new dhtmlx.ui.Map(this._id);a=this._settings;g=this._getChartData();for(c=0;c5?10:5);h=parseInt(j,10)*a;if(h>Math.abs(o)){g=(o<0?-h:0)}else{var q=Math.abs(o);var n=Math.floor(this._log10(q));var m=q/Math.pow(10,n);g=Math.ceil(m*10)/10*Math.pow(10,n)-h;if(q>1&&h>0.1){g=Math.ceil(g)}while(o<0?g<=o:g>=o){g-=h}if(o<0){g=-g-2*h}}l=g;while(l1){for(var g=1;gm){m=a}if(e=n[0]&&l<=n[3]&&l>=n[1]){if(q){if(c[h].index>q.index){q=c[h]}}else{q=c[h]}}}return q?q.index:0},hideSeries:function(a){this.canvases[a].hideCanvas();if(this._settings.legend.values&&this._settings.legend.values[a]){this._settings.legend.values[a].$hidden=true}this._drawLegend()},showSeries:function(a){this.canvases[a].showCanvas();if(this._settings.legend.values&&this._settings.legend.values[a]){delete this._settings.legend.values[a].$hidden}this._drawLegend()},_changeColorSV:function(c,h,a){var g,e;e=dhtmlx.math.toRgb(c);g=dhtmlx.math.rgbToHsv(e[0],e[1],e[2]);g[1]*=h;g[2]*=a;return"rgb("+dhtmlx.math.hsvToRgb(g[0],g[1],g[2])+")"},_setBorderStyles:function(a,c){var g,e;e=dhtmlx.math.toRgb(c);g=dhtmlx.math.rgbToHsv(e[0],e[1],e[2]);g[2]/=2;c="rgb("+dhtmlx.math.hsvToRgb(g[0],g[1],g[2])+")";a.strokeStyle=c;if(a.globalAlpha==1){a.globalAlpha=0.9}},_drawLegend:function(h,c){var j,q,w,r,l,s,a,n=0,m=0,v,o,g,u;h=h||[];c=c||this._obj.offsetWidth;v=this.canvases.legend.getCanvas();q=this._settings.legend;a=(this._settings.legend.layout!="x"?"width:"+q.width+"px":"");if(this.legendObj){this.legendObj.innerHTML="";this.legendObj.parentNode.removeChild(this.legendObj)}this.canvases.legend.clearCanvas(true);w=dhtmlx.html.create("DIV",{"class":"dhx_chart_legend",style:"left:"+n+"px; top:"+m+"px;"+a},"");if(q.padding){w.style.padding=q.padding+"px"}this.legendObj=w;this._obj.appendChild(w);l=[];if(!q.values){for(j=0;j2){l.setAttribute("series_id",c)}a.appendChild(l);return l},_drawLegendMarker:function(w,r,q,h,v,j,m){var c=[];var l=this._settings.legend.marker;var u=this._settings.legend.values;var o=(u&&u[m].markerType?u[m].markerType:l.type);if(h){w.fillStyle=h;w.strokeStyle=this._getDarkenColor(h,0.75)}w.beginPath();if(o=="round"||!l.radius){w.lineWidth=l.height;w.lineCap=o;r+=w.lineWidth/2+5;q+=v/2;w.moveTo(r,q);var a=r+l.width-l.height+1;w.lineTo(a,q)}else{if(o=="item"){if(this._settings.line&&this._settings.view!="scatter"&&!this._settings.disableLines){w.beginPath();w.lineWidth=this._series[m].line.width;w.strokeStyle=j?h:this._series[m].line.color.call(this,{});var e=r+5;var s=q+v/2;w.moveTo(e,s);var a=e+l.width;w.lineTo(a,s);w.stroke()}var g=this._series[m].item;var n=parseInt(g.radius.call(this,{}),10)||0;if(n){if(g.type=="image"&&g.src){this._drawImage(w,r+5,q+l.height/2-5,g.src,n*2,n*2);return}else{w.beginPath();if(j){w.lineWidth=g.borderWidth;w.strokeStyle=h;w.fillStyle=h}else{w.lineWidth=g.borderWidth;w.fillStyle=g.color.call(this,{});w.strokeStyle=g.borderColor.call(this,{});w.globalAlpha=g.alpha.call(this,{})}w.beginPath();r+=l.width/2+5;q+=v/2;this._strokeChartItem(w,r,q,n+1,g.type);w.fill();w.stroke()}}w.globalAlpha=1}else{w.lineWidth=1;r+=5;q+=parseInt(v/2-l.height/2,10);c=[[r+l.radius,q+l.radius,l.radius,Math.PI,3*Math.PI/2,false],[r+l.width-l.radius,q],[r+l.width-l.radius,q+l.radius,l.radius,-Math.PI/2,0,false],[r+l.width,q+l.height-l.radius],[r+l.width-l.radius,q+l.height-l.radius,l.radius,0,Math.PI/2,false],[r+l.radius,q+l.height],[r+l.radius,q+l.height-l.radius,l.radius,Math.PI/2,Math.PI,false],[r,q+l.radius]];this._path(w,c)}}w.stroke();w.fill()},_getDarkenColor:function(a,g){var e,c;c=dhtmlx.math.toRgb(a);e=dhtmlx.math.rgbToHsv(c[0],c[1],c[2]);e[2]=e[2]*g;return"rgb("+dhtmlx.math.hsvToRgb(e[0],e[1],e[2])+")"},_getChartBounds:function(a,l){var n,e,m,c;n=this._settings.padding.left;e=this._settings.padding.top;m=a-this._settings.padding.right;c=l-this._settings.padding.bottom;if(this._settings.legend){var h=this._settings.legend;var j=this._settings.legend.width;var g=this._settings.legend.height;if(h.layout=="x"){if(h.valign=="center"){if(h.align=="right"){m-=j}else{if(h.align=="left"){n+=j}}}else{if(h.valign=="bottom"){c-=g}else{e+=g}}}else{if(h.align=="right"){m-=j}else{if(h.align=="left"){n+=j}}}}return{start:{x:n,y:e},end:{x:m,y:c}}},_getStackedLimits:function(h){var c,a,l,g,e;if(this._settings.yAxis&&(typeof this._settings.yAxis.end!="undefined")&&(typeof this._settings.yAxis.start!="undefined")&&this._settings.yAxis.step){l=parseFloat(this._settings.yAxis.end);g=parseFloat(this._settings.yAxis.start)}else{for(c=0;cl){l=h[c].$sum}if(h[c].$min0){g=0}}return{max:l,min:g}},_setBarGradient:function(u,c,q,a,n,m,g,e){var o,h,l,j,s,r;if(m=="light"){if(e=="x"){o=u.createLinearGradient(c,q,a,q)}else{o=u.createLinearGradient(c,q,c,n)}r=[[0,"#FFFFFF"],[0.9,g],[1,g]];h=2}else{if(m=="falling"||m=="rising"){if(e=="x"){o=u.createLinearGradient(c,q,a,q)}else{o=u.createLinearGradient(c,q,c,n)}l=dhtmlx.math.toRgb(g);j=dhtmlx.math.rgbToHsv(l[0],l[1],l[2]);j[1]*=1/2;s="rgb("+dhtmlx.math.hsvToRgb(j[0],j[1],j[2])+")";if(m=="falling"){r=[[0,s],[0.7,g],[1,g]]}else{if(m=="rising"){r=[[0,g],[0.3,g],[1,s]]}}h=0}else{u.globalAlpha=0.37;h=0;if(e=="x"){o=u.createLinearGradient(c,n,c,q)}else{o=u.createLinearGradient(c,q,a,q)}r=[[0,"#9d9d9d"],[0.3,"#e8e8e8"],[0.45,"#ffffff"],[0.55,"#ffffff"],[0.7,"#e8e8e8"],[1,"#9d9d9d"]]}}this._gradient(o,r);return{gradient:o,offset:h}},_getPositionByAngle:function(e,c,h,g){e*=(-1);c=c+Math.cos(e)*g;h=h-Math.sin(e)*g;return{x:c,y:h}},_gradient:function(e,c){for(var a=0;a2){g="arc"}a[g].apply(a,e[c])}},_circle:function(c,a,g,e){c.arc(a,g,e,Math.PI*2,true)},_addMapRect:function(g,h,a,e,c){g.addRect(h,[a[0].x-e.x,a[0].y-e.y,a[1].x-e.x,a[1].y-e.y],c)}};dhtmlx.compat("layout");if(typeof(window.dhtmlXCellObject)!="undefined"){dhtmlXCellObject.prototype.attachChart=function(a){this.callEvent("_onBeforeContentAttach",["chart"]);var c=document.createElement("DIV");c.id="dhxChartObj_"+window.dhx4.newId();c.style.width="100%";c.style.height="100%";document.body.appendChild(c);this._attachObject(c);a.container=c.id;this.dataType="chart";this.dataObj=new dhtmlXChart(a);if(!this.dataObj.setSizes){this.dataObj.setSizes=function(){if(this.resize){this.resize()}else{this.render()}}}return this.dataObj}}dhtmlx.ui.pager=function(a){this.name="Pager";if(dhtmlx.assert_enabled()){this._assert()}dhtmlx.extend(this,dhtmlx.Settings);this._parseContainer(a,"dhx_pager");dhtmlx.extend(this,dhtmlx.EventSystem);dhtmlx.extend(this,dhtmlx.SingleRender);dhtmlx.extend(this,dhtmlx.MouseEvents);this._parseSettings(a,{size:10,page:-1,group:5,count:0,type:"default"});this.data=this._settings;this.refresh()};dhtmlx.ui.pager.prototype={_id:"dhx_p_id",on_click:{dhx_pager_item:function(a,c){this.select(c)}},select:function(a){switch(a){case"next":a=this._settings.page+1;break;case"prev":a=this._settings.page-1;break;case"first":a=0;break;case"last":a=this._settings.limit-1;break;default:break}if(a<0){a=0}if(a>=this.data.limit){a=this.data.limit-1}if(this.callEvent("onBeforePageChange",[this._settings.page,a])){this.data.page=a*1;this.refresh();this.callEvent("onAfterPageChange",[a])}},types:{"default":{template:dhtmlx.Template.fromHTML("{common.pages()}"),pages:function(e){var c="";if(e.page==-1){return""}e.min=e.page-Math.round((e.group-1)/2);e.max=e.min+e.group-1;if(e.min<0){e.max+=e.min*(-1);e.min=0}if(e.max>=e.limit){e.min-=Math.min(e.min,e.max-e.limit+1);e.max=e.limit-1}for(var a=(e.min||0);a<=e.max;a++){c+=this.button({id:a,index:(a+1),selected:(a==e.page?"_selected":"")})}return c},page:function(a){return a.page+1},first:function(){return this.button({id:"first",index:" << ",selected:""})},last:function(){return this.button({id:"last",index:" >> ",selected:""})},prev:function(){return this.button({id:"prev",index:"<",selected:""})},next:function(){return this.button({id:"next",index:">",selected:""})},button:dhtmlx.Template.fromHTML("
    {obj.index}
    ")}},refresh:function(){var a=this._settings;a.limit=Math.ceil(a.count/a.size);if(a.limit&&a.limit!=a.old_limit){a.page=Math.min(a.limit-1,a.page)}var c=a.page;if(c!=-1&&(c!=a.old_page)||(a.limit!=a.old_limit)){this.render();this.callEvent("onRefresh",[]);a.old_limit=a.limit;a.old_page=a.page}},template_item_start:dhtmlx.Template.fromHTML("
    "),template_item_end:dhtmlx.Template.fromHTML("
    ")};dhtmlx.DataProcessor={_dp_init:function(c){var a="_methods";c[a]=["setItemStyle","","changeId","remove"];this.attachEvent("onAfterAdd",function(e){c.setUpdated(e,true,"inserted")});this.data.attachEvent("onStoreLoad",dhtmlx.bind(function(g,e){if(g.getUserData){g.getUserData(e,this._userdata)}},this));this.attachEvent("onBeforeDelete",function(g){if(c._silent_mode){return true}var e=c.getState(g);if(e=="inserted"){c.setUpdated(g,false);return true}if(e=="deleted"){return false}if(e=="true_deleted"){return true}c.setUpdated(g,true,"deleted");return false});this.attachEvent("onAfterEditStop",function(e){c.setUpdated(e,true,"updated")});this.attachEvent("onBindUpdate",function(e){window.setTimeout(function(){c.setUpdated(e.id,true,"updated")},1)});a="_getRowData";c[a]=function(l,e){var h=this.obj.data.get(l);var j={};for(var g in h){if(g.indexOf("_")===0){continue}j[g]=h[g]}return j};a="_clearUpdateFlag";c[a]=function(){};this._userdata={};c.attachEvent("insertCallback",this._dp_callback);c.attachEvent("updateCallback",this._dp_callback);c.attachEvent("deleteCallback",function(e,g){this.obj.setUserData(g,this.action_param,"true_deleted");this.obj.remove(g)});dhtmlx.compat("dataProcessor",c)},_dp_callback:function(a,c){this.obj.data.set(c,dhtmlx.DataDriver.xml.getDetails(a.firstChild));this.obj.data.refresh(c)},setItemStyle:function(e,a){var c=this._locateHTML(e);if(c){c.style.cssText+=";"+a}},changeId:function(c,a){this.data.changeId(c,a);this.refresh()},setUserData:function(e,a,c){if(e){this.data.get(e)[a]=c}else{this._userdata[a]=c}},getUserData:function(c,a){return c?this.data.get(c)[a]:this._userdata[a]}};(function(){var a="_dp_init";dhtmlx.DataProcessor[a]=dhtmlx.DataProcessor._dp_init})();dhtmlx.compat.dnd=function(){if(window.dhtmlDragAndDropObject){var m="_dragged";var g=dhtmlDragAndDropObject.prototype.checkLanding;dhtmlDragAndDropObject.prototype.checkLanding=function(o,q,n){g.apply(this,arguments);if(!n){var r=dhtmlx.DragControl._drag_context=dhtmlx.DragControl._drag_context||{};if(!r.from){r.from=this.dragStartObject}dhtmlx.DragControl._checkLand(o,q,true)}};var c=dhtmlDragAndDropObject.prototype.stopDrag;dhtmlDragAndDropObject.prototype.stopDrag=function(q,n,o){if(!o){if(dhtmlx.DragControl._last){dhtmlx.DragControl._active=l.dragStartNode;dhtmlx.DragControl._stopDrag(q,true)}}c.apply(this,arguments)};var l=new dhtmlDragAndDropObject();var h=dhtmlx.DragControl._startDrag;dhtmlx.DragControl._startDrag=function(){h.apply(this,arguments);var r=dhtmlx.DragControl._drag_context;if(!r){return}var q=[];var o=[];for(var n=0;n"+c.innerHTML+""}};dhtmlx.DragItem={_init:function(){dhtmlx.assert(this.move,"DragItem :: Component doesn't have DataMove interface");dhtmlx.assert(this.locate,"DragItem :: Component doesn't have RenderStack interface");dhtmlx.assert(dhtmlx.DragControl,"DragItem :: DragControl is not included");if(!this._settings||this._settings.drag){dhtmlx.DragItem._initHandlers(this)}else{if(this._settings){this.drag_setter=function(a){if(a){this._initHandlers(this);delete this.drag_setter}return a}}}if(this.dragMarker){this.attachEvent("onBeforeDragIn",this.dragMarker);this.attachEvent("onDragOut",this.dragMarker)}},_initHandlers:function(a){dhtmlx.DragControl.addDrop(a._obj,a,true);dhtmlx.DragControl.addDrag(a._obj,a)},onDragIn:function(h,g,j){var m=this.locate(j)||null;var c=dhtmlx.DragControl._drag_context;var l=dhtmlx.DragControl.getMaster(h);var a=(this._locateHTML(m)||this._obj);if(a==dhtmlx.DragControl._landing){return a}c.target=m;c.to=l;if(!this.callEvent("onBeforeDragIn",[c,j])){c.id=null;return null}dhtmlx.html.addCss(a,"dhx_drag_over");return a},onDragOut:function(h,g,m,j){var l=this.locate(j)||null;if(m!=this._dataobj){l=null}var c=(this._locateHTML(l)||(m?dhtmlx.DragControl.getMaster(m)._obj:window.undefined));if(c==dhtmlx.DragControl._landing){return null}var a=dhtmlx.DragControl._drag_context;dhtmlx.html.removeCss(dhtmlx.DragControl._landing,"dhx_drag_over");a.target=a.to=null;this.callEvent("onDragOut",[a,j]);return null},onDrop:function(g,c,j,h){var a=dhtmlx.DragControl._drag_context;a.to=this;a.index=a.target?this.indexById(a.target):this.dataCount();a.new_id=dhtmlx.uid();if(!this.callEvent("onBeforeDrop",[a,h])){return}if(a.from==a.to){this.move(a.source,a.index)}else{if(a.from){a.from.move(a.source,a.index,a.to,a.new_id)}else{dhtmlx.error("Unsopported d-n-d combination")}}this.callEvent("onAfterDrop",[a,h])},onDrag:function(g,j){var l=this.locate(j);var h=[l];if(l){if(this.getSelected){var c=this.getSelected();if(dhtmlx.PowerArray.find.call(c,l)!=-1){h=c}}var a=dhtmlx.DragControl._drag_context={source:h,start:l};a.from=this;if(this.callEvent("onBeforeDrag",[a,j])){return a.html||this._toHTML(this.get(l))}}return null}};dhtmlx.EditAbility={_init:function(a){this._edit_id=null;this._edit_bind=null;dhtmlx.assert(this.data,"EditAbility :: Component doesn't have DataStore");dhtmlx.assert(this._locateHTML,"EditAbility :: Component doesn't have RenderStack");this.attachEvent("onEditKeyPress",function(e,g,c){if(e==13&&!c){this.stopEdit()}else{if(e==27){this.stopEdit(true)}}});this.attachEvent("onBeforeRender",function(){this.stopEdit()})},isEdit:function(){return this._edit_id},edit:function(c){if(this.stopEdit(false,c)){if(!this.callEvent("onBeforeEditStart",[c])){return}var a=this.data.get(c);if(a.$template){return}a.$template="edit";this.data.refresh(c);this._edit_id=c;this._save_binding(c);this._edit_bind(true,a);this.callEvent("onAfterEditStart",[c])}},stopEdit:function(e,h){if(!this._edit_id){return true}if(this._edit_id==h){return false}var a={};if(!e){this._edit_bind(false,a)}else{a=null}if(!this.callEvent("onBeforeEditStop",[this._edit_id,a])){return false}var c=this.data.get(this._edit_id);c.$template=null;if(!e){this._edit_bind(false,c)}var g=this._edit_id;this._edit_bind=this._edit_id=null;this.data.refresh(g);this.callEvent("onAfterEditStop",[g,a]);return true},_save_binding:function(m){var a=this._locateHTML(m);var e="";var j="";var h=[];if(a){var g=a.getElementsByTagName("*");var l="";for(var c=0;c=0;c--){if(this._selected[c]==e){this._selected[c]=a}}},_data_filtered:function(){for(var a=this._selected.length-1;a>=0;a--){if(this.data.indexById(this._selected[a])<0){var e=this._selected[a];var c=this.item(e);if(c){delete c.$selected}this._selected.splice(a,1);this.callEvent("onSelectChange",[e])}}},_data_updated:function(e,c,a){if(a=="delete"){this._selected.remove(e)}else{if(!this.data.dataCount()&&!this.data._filter_order){this._selected=dhtmlx.toArray()}}},_data_loaded:function(){if(this._settings.select){this.data.each(function(a){if(a.$selected){this.select(a.id)}},this)}},_select_mark:function(e,c,a){if(!a&&!this.callEvent("onBeforeSelect",[e,c])){return false}this.data.item(e).$selected=c;if(a){a.push(e)}else{if(c){this._selected.push(e)}else{this._selected.remove(e)}this._refresh_selection(e)}return true},select:function(g,e,a){if(!g){return this.selectAll()}if(g instanceof Array){for(var c=0;c100||a.length>this.data.dataCount/2},_refresh_selection:function(c){if(typeof c!="object"){c=[c]}if(!c.length){return}if(this._is_mass_selection(c)){this.data.refresh()}else{for(var a=0;ac){if(!e){this.order[c]=dhtmlx.uid();e={id:this.order[c],$template:"loading"};this._unrendered_area.push(this.order[c])}else{if(e.$template=="loading"){this._unrendered_area.push(this.order[c])}}a.push(e)}}return a},render:function(j,g,e,h){if(j){var a=this._locateHTML(j);switch(e){case"update":if(!a){return}var c=this._htmlmap[j]=this._toHTMLObject(g);dhtmlx.html.insertBefore(c,a);dhtmlx.html.remove(a);break;default:this._render_delayed();break}}else{if(this.callEvent("onBeforeRender",[this.data])){this._htmlmap={};this._render_visible_rows(null,true);this._wait_for_render=false;this.callEvent("onAfterRender",[])}}},_render_delayed:function(){if(this._wait_for_render){return}this._wait_for_render=true;window.setTimeout(dhtmlx.bind(function(){this.render()},this),1)},_create_placeholder:function(a){var c=document.createElement("DIV");c.className="dhxdataview_placeholder";c.style.cssText="height:"+a+"px; width:100%; overflow:hidden;";return c},_render_visible_rows:function(y,D){this.data._unrendered_area=[];var x=this._getVisibleRange();if(!this._dataobj.firstChild||D){this._dataobj.innerHTML="";this._dataobj.appendChild(this._create_placeholder(x._max));this._htmlrows=[this._dataobj.firstChild]}var j=Math.max(x._from,0);var w=(this.data.max||this.data.max===0)?this.data.max:Infinity;while(j<=x._height){while(this._htmlrows[j]&&this._htmlrows[j]._filled&&j<=x._height){j++}if(j>x._height){break}var n=j;while(!this._htmlrows[n]){n--}var a=this._htmlrows[n];var g=j*x._dx+(this.data.min||0);if(g>w){break}var l=Math.min(g+x._dx-1,w);var q=this._create_placeholder(x._y);var m=this.data.getIndexRange(g,l);if(!m.length){break}q.innerHTML=m.map(this._toHTML,this).join("");for(var u=0;u0){a.style.height=s+"px";this._htmlrows[j+1]=a}else{if(C<0){dhtmlx.html.remove(a)}else{a.style.height=C+"px"}if(s>0){var o=this._htmlrows[j+1]=this._create_placeholder(s);dhtmlx.html.insertBefore(o,q.nextSibling,this._dataobj)}}j++}if(this.data._unrendered_area.length){var r=this.indexById(this.data._unrendered_area[0]);var c=this.indexById(this.data._unrendered_area.pop())+1;if(c>r){if(!this.callEvent("onDataRequest",[r,c-r])){return false}dhtmlx.assert(this.data.feed,"Data feed is missed");this.data.feed.call(this,r,c-r)}}if(dhtmlx._isIE){var A=this._getVisibleRange();if(A._from!=x._from){this._render_visible_rows()}}},_getVisibleRange:function(){var c=dhtmlx.$customScroll?0:18;var l=this._dataobj.scrollTop;var a=this._dataobj.scrollWidth;var m=this._dataobj.offsetHeight;var o=this.type;var g=this._getDimension();var q=Math.floor(a/g.x)||1;var e=Math.floor(l/g.y);var n=Math.ceil((m+l)/g.y)-1;var h=this.data.max?(this.data.max-this.data.min):this.data.dataCount();var j=Math.ceil(h/q)*g.y;return{_from:e,_height:n,_top:l,_max:j,_y:g.y,_dx:q}}};dhtmlXDataView=function(a){this.name="DataView";if(dhtmlx.assert_enabled()){this._assert()}dhtmlx.extend(this,dhtmlx.Settings);this._parseContainer(a,"dhx_dataview");dhtmlx.extend(this,dhtmlx.AtomDataLoader);dhtmlx.extend(this,dhtmlx.DataLoader);dhtmlx.extend(this,dhtmlx.EventSystem);dhtmlx.extend(this,dhtmlx.RenderStack);dhtmlx.extend(this,dhtmlx.SelectionModel);dhtmlx.extend(this,dhtmlx.MouseEvents);dhtmlx.extend(this,dhtmlx.KeyEvents);dhtmlx.extend(this,dhtmlx.EditAbility);dhtmlx.extend(this,dhtmlx.DataMove);dhtmlx.extend(this,dhtmlx.DragItem);dhtmlx.extend(this,dhtmlx.DataProcessor);dhtmlx.extend(this,dhtmlx.AutoTooltip);dhtmlx.extend(this,dhtmlx.Destruction);this.data.attachEvent("onStoreUpdated",dhtmlx.bind(function(){this.render.apply(this,arguments)},this));this._parseSettings(a,{drag:false,edit:false,select:"multiselect",type:"default"});if(this._settings.height!="auto"&&!this._settings.renderAll){dhtmlx.extend(this,dhtmlx.VirtualRenderStack)}this.data.provideApi(this,true);if(this.config.autowidth){this.attachEvent("onBeforeRender",function(){this.type.width=Math.floor((this._dataobj.scrollWidth)/(this.config.autowidth*1||1))-this.type.padding*2-this.type.margin*2-this.type.border*2;this.type._item_start=dhtmlx.Template.fromHTML(this.template_item_start(this.type));this.type._item_end=this.template_item_end(this.type)});dhtmlx.event(window,"resize",function(){this.refresh()},this)}if(dhtmlx.$customScroll){dhtmlx.CustomScroll.enable(this)}};dhtmlXDataView.prototype={bind:function(){dhtmlx.BaseBind.legacyBind.apply(this,arguments)},sync:function(){dhtmlx.BaseBind.legacySync.apply(this,arguments)},dragMarker:function(e,h){var g=this._locateHTML(e.target);if(this.type.drag_marker){if(this._drag_marker){this._drag_marker.style.backgroundImage="";this._drag_marker.style.backgroundRepeat=""}if(g){g.style.backgroundImage="url("+(dhtmlx.image_path||"")+this.type.drag_marker+")";g.style.backgroundRepeat="no-repeat";this._drag_marker=g}}if(g&&this._settings.auto_scroll){var a=g.offsetTop;var j=g.offsetHeight;var c=this._obj.scrollTop;var l=this._obj.offsetHeight;if(a-j>=0&&a-j*0.75c+l){c=c+j}}this._obj.scrollTop=c}return true},_id:"dhx_f_id",on_click:{dhx_dataview_item:function(a,c){if(this.stopEdit(false,c)){if(this._settings.select){if(this._settings.select=="multiselect"){this.select(c,a.ctrlKey||a.metaKey,a.shiftKey)}else{this.select(c)}}}}},on_dblclick:{dhx_dataview_item:function(a,c){if(this._settings.edit){this.edit(c)}}},on_mouse_move:{},types:{"default":{css:"default",template:dhtmlx.Template.fromHTML("
    {obj.text}
    "),template_edit:dhtmlx.Template.fromHTML("
    "),template_loading:dhtmlx.Template.fromHTML("
    Loading...
    "),width:210,height:115,margin:0,padding:10,border:1}},template_item_start:dhtmlx.Template.fromHTML("
    "),template_item_end:dhtmlx.Template.fromHTML("
    ")};dhtmlx.compat("layout");if(typeof(window.dhtmlXCellObject)!="undefined"){dhtmlXCellObject.prototype.attachDataView=function(a){this.callEvent("_onBeforeContentAttach",["dataview"]);var c=document.createElement("DIV");c.style.width="100%";c.style.height="100%";c.style.position="relative";c.style.overflow="hidden";this._attachObject(c);if(typeof(a)=="undefined"){a={}}c.id="DataViewObject_"+new Date().getTime();a.container=c.id;a.skin=this.conf.skin;this.dataType="dataview";this.dataObj=new dhtmlXDataView(a);this.dataObj.setSizes=function(){this.render()};c=null;this.callEvent("_onContentAttach",[]);return this.dataObj}}dhtmlXList=function(a){this.name="List";dhtmlx.extend(this,dhtmlx.Settings);this._parseContainer(a,"dhx_list");dhtmlx.extend(this,dhtmlx.AtomDataLoader);dhtmlx.extend(this,dhtmlx.DataLoader);dhtmlx.extend(this,dhtmlx.EventSystem);dhtmlx.extend(this,dhtmlx.RenderStack);dhtmlx.extend(this,dhtmlx.SelectionModel);dhtmlx.extend(this,dhtmlx.MouseEvents);dhtmlx.extend(this,dhtmlx.KeyEvents);dhtmlx.extend(this,dhtmlx.EditAbility);dhtmlx.extend(this,dhtmlx.DataMove);dhtmlx.extend(this,dhtmlx.DragItem);dhtmlx.extend(this,dhtmlx.DataProcessor);dhtmlx.extend(this,dhtmlx.AutoTooltip);dhtmlx.extend(this,dhtmlx.Destruction);this._getDimension=function(){var c=this.type;var e=(c.margin||0)*2;return{x:c.width+e,y:c.height+e}};this.data.attachEvent("onStoreUpdated",dhtmlx.bind(function(){this.render.apply(this,arguments)},this));this._parseSettings(a,{drag:false,edit:false,select:"multiselect",type:"default"});this.data.provideApi(this,true);if(dhtmlx.$customScroll){dhtmlx.CustomScroll.enable(this)}};dhtmlXList.prototype={bind:function(){dhtmlx.BaseBind.legacyBind.apply(this,arguments)},sync:function(){dhtmlx.BaseBind.legacySync.apply(this,arguments)},dragMarker:function(e,h){var g=this._locateHTML(e.target);if(g&&this._settings.auto_scroll){var a=g.offsetTop;var j=g.offsetHeight;var c=this._obj.scrollTop;var l=this._obj.offsetHeight;if(a-j>=0&&a-j*0.75c+l){c=c+j}}this._obj.scrollTop=c}return true},_id:"dhx_f_id",on_click:{dhx_list_item:function(a,c){if(this.stopEdit(false,c)){if(this._settings.select){if(this._settings.select=="multiselect"){this.select(c,a.ctrlKey||a.metaKey,a.shiftKey)}else{this.select(c)}}}}},on_dblclick:{dhx_list_item:function(a,c){if(this._settings.edit){this.edit(c)}}},on_mouse_move:{},types:{"default":{css:"default",template:dhtmlx.Template.fromHTML("
    {obj.text}
    "),template_edit:dhtmlx.Template.fromHTML("
    "),template_loading:dhtmlx.Template.fromHTML("
    Loading...
    "),height:50,margin:0,padding:10,border:1}},template_item_start:dhtmlx.Template.fromHTML("
    "),template_item_end:dhtmlx.Template.fromHTML("
    ")};dhtmlx.compat("layout");if(typeof(window.dhtmlXCellObject)!="undefined"){dhtmlXCellObject.prototype.attachList=function(a){this.callEvent("_onBeforeContentAttach",["list"]);var c=document.createElement("DIV");c.style.width="100%";c.style.height="100%";c.style.position="relative";c.style.overflowX="hidden";this._attachObject(c);if(typeof(a)=="undefined"){a={}}c.id="ListObject_"+new Date().getTime();a.container=c.id;a.skin=this.conf.skin;this.dataType="list";this.dataObj=new dhtmlXList(a);this.dataObj.setSizes=function(){this.render()};c=null;this.callEvent("_onContentAttach",[]);return this.dataObj}}function xmlPointer(a){this.d=a}xmlPointer.prototype={text:function(){if(!_isFF){return this.d.xml}var a=new XMLSerializer();return a.serializeToString(this.d)},get:function(a){return this.d.getAttribute(a)},exists:function(){return !!this.d},content:function(){return this.d.firstChild?(this.d.firstChild.wholeText||this.d.firstChild.data):""},each:function(g,l,j,h){var e=this.d.childNodes;var m=new xmlPointer();if(e.length){for(h=h||0;h0){s=new Object;s.tr=l.childNodes[0].tr.previousSibling}l._has_top=true;for(h=q;h>0;h--){D[h]=D[h-1]}q=0;break}}}var r;if(!(r=this._idpull[j])||r.span!=-1){r=D[q]=new dhtmlXTreeItemObject(j,g,l,this,m,1);j=D[q].id;l.childsCount++}if(!r.htmlNode){r.label=g;r.htmlNode=this._createItem((this.checkBoxOff?1:0),r);r.htmlNode.objBelong=r}if(C){r.images[0]=C}if(A){r.images[1]=A}if(y){r.images[2]=y}var c=this._drawNewTr(r.htmlNode);if((this.XMLloadingWarning)||(this._hAdI)){r.htmlNode.parentNode.parentNode.style.display="none"}if((s)&&s.tr&&(s.tr.nextSibling)){l.htmlNode.childNodes[0].insertBefore(c,s.tr.nextSibling)}else{if(this.parsingOn==l.id){this.parsedArray[this.parsedArray.length]=c}else{l.htmlNode.childNodes[0].appendChild(c)}}if((s)&&(!s.span)){s=null}if(this.XMLsource){if((e)&&(e!=0)){r.XMLload=0}else{r.XMLload=1}}r.tr=c;c.nodem=r;if(l.itemId==0){c.childNodes[0].className="hiddenRow"}if((l._r_logic)||(this._frbtr)){this._setSrc(r.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0],this.imPath+this.radioArray[0])}if(o){var v=o.split(",");for(var w=0;w=2){this._correctPlus(D[l.childsCount-2]);this._correctLine(D[l.childsCount-2])}if(l.childsCount!=2){this._correctPlus(D[0])}if(this.tscheck){this._correctCheckStates(l)}if(this._onradh){if(this.xmlstate==1){var a=this.onXLE;this.onXLE=function(n){this._onradh(j);if(a){a(n)}}}else{this._onradh(j)}}}return r};dhtmlXTreeObject.prototype.enableContextMenu=function(a){if(a){this.cMenu=a}};dhtmlXTreeObject.prototype.setItemContextMenu=function(h,g){var a=h.toString().split(this.dlmtr);for(var e=0;e=0;h--){if(s.childNodes[h]._dmark){this.deleteItem(s.childNodes[h].id)}}}var o=this._globalIdStorageFind(this.parsingOn);for(var h=0;h1){if(((g[1].style.display!="none")||(h==1))&&(h!=2)){this.allTree.childNodes[0].border="1";this.allTree.childNodes[0].border="0";nodestyle="none"}else{nodestyle=""}for(var e=1;ethis._getNodeLevel(e,0)){if(!this.dropLower){return this._moveNodeTo(a,g.parentObject)}else{if(e.id!=this.rootId){return this._moveNodeTo(a,e.parentObject,e)}else{return this._moveNodeTo(a,this.htmlNode,null)}}}else{return this._moveNodeTo(a,e.parentObject,e)}}else{return this._moveNodeTo(a,c)}};dhtmlXTreeObject.prototype._fixNodesCollection=function(m,j){var c=0;var g=0;var l=m.childNodes;var a=m.childsCount-1;if(j==l[a]){return}for(var h=0;h=2){this._correctPlus(s[u.childsCount-2]);this._correctLine(s[u.childsCount-2])}}this._correctPlus(s[u.childsCount-1]);if(this.tscheck){this._correctCheckStates(u)}if(e.tscheck){e._correctCheckStates(o)}}if(n>1){e._correctPlus(o.childNodes[n-2]);e._correctLine(o.childNodes[n-2])}e._correctPlus(o);e._correctLine(o);this._fixChildCountLabel(u);e._fixChildCountLabel(o);this.callEvent("onDrop",[r.id,u.id,(q?q.id:null),e,u.treeNod]);return r.id};dhtmlXTreeObject.prototype._clearStyles=function(a){if(!a.htmlNode){return}var g=a.htmlNode.childNodes[0].childNodes[0].childNodes[1];var c=g.nextSibling.nextSibling;a.span.innerHTML=a.label;a.i_sel=false;if(a._aimgs){this.dragger.removeDraggableItem(g.nextSibling)}if(this.checkBoxOff){g.childNodes[0].style.display="";g.childNodes[0].onclick=this.onCheckBoxClick;this._setSrc(g.childNodes[0],this.imPath+this.checkArray[a.checkstate])}else{g.style.display="none"}g.childNodes[0].treeNod=this;this.dragger.removeDraggableItem(c);if(this.dragAndDropOff){this.dragger.addDraggableItem(c,this)}if(this._aimgs){this.dragger.addDraggableItem(g.nextSibling,this)}c.childNodes[0].className="standartTreeRow";c.parentNode.className="";c.onclick=this.onRowSelect;c.ondblclick=this.onRowClick2;g.previousSibling.onclick=this.onRowClick;this._correctLine(a);this._correctPlus(a);for(var e=0;e0)){if(e.childNodes[c].unParsed){var a=this._getAllScraggyItemsXML(e.childNodes[c].unParsed,1)}else{var a=this._getAllScraggyItems(e.childNodes[c])}if(a){if(g){g+=this.dlmtr+a}else{g=a}}}else{if(!g){g=""+e.childNodes[c].id}else{g+=this.dlmtr+e.childNodes[c].id}}}return g};dhtmlXTreeObject.prototype._getAllFatItems=function(e){var g="";for(var c=0;c0)){if(!g){g=""+e.childNodes[c].id}else{g+=this.dlmtr+e.childNodes[c].id}if(e.childNodes[c].unParsed){var a=this._getAllFatItemsXML(e.childNodes[c].unParsed,1)}else{var a=this._getAllFatItems(e.childNodes[c])}if(a){g+=this.dlmtr+a}}}return g};dhtmlXTreeObject.prototype._getAllSubItems=function(j,h,g){if(g){c=g}else{var c=this._globalIdStorageFind(j)}if(!c){return 0}h="";for(var e=0;e=c.childsCount)){return null}return c.childNodes[a].id};dhtmlXTreeObject.prototype.getChildItemIdByIndex=function(e,a){var c=this._globalIdStorageFind(e);if((!c)||(a>=c.childsCount)){return null}return c.childNodes[a].id};dhtmlXTreeObject.prototype.setDragHandler=function(a){this.attachEvent("onDrag",a)};dhtmlXTreeObject.prototype._clearMove=function(){if(this._lastMark){this._lastMark.className=this._lastMark.className.replace(/dragAndDropRow/g,"");this._lastMark=null}this.selectionBar.style.display="none";this.allTree.className=this.allTree.className.replace(" selectionBox","")};dhtmlXTreeObject.prototype.enableDragAndDrop=function(c,a){if(c=="temporary_disabled"){this.dADTempOff=false;c=true}else{this.dADTempOff=true}this.dragAndDropOff=dhx4.s2b(c);if(this.dragAndDropOff){this.dragger.addDragLanding(this.allTree,this)}if(arguments.length>1){this._ddronr=(!dhx4.s2b(a))}};dhtmlXTreeObject.prototype._setMove=function(h,e,l){if(h.parentObject.span){var g=dhx4.absTop(h);var c=dhx4.absTop(this.allTree)-this.allTree.scrollTop;this.dadmodec=this.dadmode;this.dadmodefix=0;if(this.dadmode==2){var j=l-g+(document.body.scrollTop||document.documentElement.scrollTop)-2-h.offsetHeight/2;if((Math.abs(j)-h.offsetHeight/6)>0){this.dadmodec=1;if(j<0){this.dadmodefix=0-h.offsetHeight}}else{this.dadmodec=0}}if(this.dadmodec==0){var a=h.parentObject.span;a.className+=" dragAndDropRow";this._lastMark=a}else{this._clearMove();this.selectionBar.style.top=(g-c+((parseInt(h.parentObject.span.parentNode.parentNode.offsetHeight)||18)-1)+this.dadmodefix)+"px";this.selectionBar.style.left="5px";if(this.allTree.offsetWidth>20){this.selectionBar.style.width=(this.allTree.offsetWidth-(_isFF?30:25))+"px"}this.selectionBar.style.display=""}this._autoScroll(null,g,c)}};dhtmlXTreeObject.prototype._autoScroll=function(e,c,a){if(this.autoScroll){if(e){c=dhx4.absTop(e);a=dhx4.absTop(this.allTree)-this.allTree.scrollTop}if((c-a-parseInt(this.allTree.scrollTop))>(parseInt(this.allTree.offsetHeight)-50)){this.allTree.scrollTop=parseInt(this.allTree.scrollTop)+20}if((c-a)<(parseInt(this.allTree.scrollTop)+30)){this.allTree.scrollTop=parseInt(this.allTree.scrollTop)-20}}};dhtmlXTreeObject.prototype._createDragNode=function(j,h){if(!this.dADTempOff){return null}var g=j.parentObject;if(!this.callEvent("onBeforeDrag",[g.id,h])){return null}if(!g.i_sel){this._selectItem(g,h)}this._checkMSelectionLogic();var c=document.createElement("div");var l=new Array();if(this._itim_dg){for(var a=0;a"+this._selected[a].span.innerHTML+""}}else{l=this.getSelectedItemText().split(this.dlmtr)}c.innerHTML=l.join("");c.style.position="absolute";c.className="dragSpanDiv";this._dragged=(new Array()).concat(this._selected);return c};dhtmlXTreeObject.prototype._focusNode=function(a){var c=dhx4.absTop(a.htmlNode)-dhx4.absTop(this.allTree);if((c>(this.allTree.offsetHeight-30))||(c<0)){this.allTree.scrollTop=c+this.allTree.scrollTop}};dhtmlXTreeObject.prototype._preventNsDrag=function(a){if((a)&&(a.preventDefault)){a.preventDefault();return false}return false};dhtmlXTreeObject.prototype._drag=function(l,m,a){if(this._autoOpenTimer){clearTimeout(this._autoOpenTimer)}if(!a.parentObject){a=this.htmlNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0];this.dadmodec=0}this._clearMove();var j=l.parentObject.treeNod;if((j)&&(j._clearMove)){j._clearMove("")}if((!this.dragMove)||(this.dragMove())){if((!j)||(!j._clearMove)||(!j._dragged)){var g=new Array(l.parentObject)}else{var g=j._dragged}var c=a.parentObject;for(var h=0;h2)?(a.checkstate-3):a.checkstate);this._setCheck(a);if(a.dscheck<3){a.dscheck=false}};dhtmlXTreeObject.prototype.smartRefreshBranch=function(c,a){this._branchUpdate=1;this.smartRefreshItem(c,a)};dhtmlXTreeObject.prototype.smartRefreshItem=function(g,e){var a=this._globalIdStorageFind(g);for(var c=0;c0)){if(e.childNodes[c].unParsed){var a=this._getAllScraggyItemsXML(e.childNodes[c].unParsed,1)}else{var a=this._getAllScraggyItems(e.childNodes[c])}if(a){if(g){g+=this.dlmtr+a}else{g=a}}}else{if(!g){g=""+e.childNodes[c].id}else{g+=this.dlmtr+e.childNodes[c].id}}}return g};dhtmlXTreeObject.prototype._getAllFatItems=function(e){var g="";for(var c=0;c0)){if(!g){g=""+e.childNodes[c].id}else{g+=this.dlmtr+e.childNodes[c].id}if(e.childNodes[c].unParsed){var a=this._getAllFatItemsXML(e.childNodes[c].unParsed,1)}else{var a=this._getAllFatItems(e.childNodes[c])}if(a){g+=this.dlmtr+a}}}return g};dhtmlXTreeObject.prototype.getAllItemsWithKids=function(){return this._getAllFatItems(this.htmlNode)};dhtmlXTreeObject.prototype.getAllFatItems=dhtmlXTreeObject.prototype.getAllItemsWithKids;dhtmlXTreeObject.prototype.getAllChecked=function(){return this._getAllChecked("","",1)};dhtmlXTreeObject.prototype.getAllUnchecked=function(a){if(a){a=this._globalIdStorageFind(a)}return this._getAllChecked(a,"",0)};dhtmlXTreeObject.prototype.getAllPartiallyChecked=function(){return this._getAllChecked("","",2)};dhtmlXTreeObject.prototype.getAllCheckedBranches=function(){var a=[this._getAllChecked("","",1)];var c=this._getAllChecked("","",2);if(c){a.push(c)}return a.join(this.dlmtr)};dhtmlXTreeObject.prototype._getAllChecked=function(g,e,h){if(!g){g=this.htmlNode}if(g.checkstate==h&&g.id!=this.rootId){if(!g.nocheckbox){if(e){e+=this.dlmtr+g.id}else{e=""+g.id}}}var a=g.childsCount;for(var c=0;c";e.span.style.paddingRight=e.span.style.paddingLeft="0px";e.span.onclick=e.span.ondblclick=function(j){(j||event).cancelBubble=true};e.span.childNodes[0].value=g;e.span.childNodes[0].onselectstart=function(j){(j||event).cancelBubble=true;return true};e.span.childNodes[0].onmousedown=function(j){(j||event).cancelBubble=true;return true};e.span.childNodes[0].focus();e.span.childNodes[0].focus();e.span.onclick=function(j){(j||event).cancelBubble=true;return false};e.span.className="";e.span.parentNode.className="";var c=this;e.span.childNodes[0].onkeydown=function(j){if(!j){j=window.event}if(j.keyCode==13){j.cancelBubble=true;c._stopEdit(window.undefined)}else{if(j.keyCode==27){c._stopEdit(window.undefined,true)}}(j||event).cancelBubble=true};this.callEvent("onEdit",[1,h,this])}};function jsonPointer(c,a){this.d=c;this.dp=a}jsonPointer.prototype={text:function(){var a=function(h){var g=[];for(var e=0;e"+cont+"")}window[id]=t;var oninit=obj.getAttribute("oninit");if(oninit){eval(oninit)}return t}function dhx_init_trees(){var c=document.getElementsByTagName("div");for(var a=0;a0){this.base.removeChild(this.base.lastChild)}}this.conf={skin:(g.skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxtreeview")||"material"),tree_id:window.dhx4.newId(),ofs:{w:1,h:0},adjust_base:false,icons:this.icons[(typeof(g.iconset)=="string"&&this.icons[g.iconset]!=null&&this.icons[g.iconset].r==true?g.iconset:"tree_native")],autoload:{url:null,mode:"id"},selected:{},ud:{},idx:{sign:0,icon:1,text:2},silent:false,is_mac:(navigator.platform.match(/^mac/i)!=null&&typeof(window.addEventListener)=="function"),mac_cmd_key:false};this.setSkin(this.conf.skin);this.cont=document.createElement("DIV");this.cont.className="dhxtreeview_cont";this.base.appendChild(this.cont);this.area=document.createElement("DIV");this.area.className="dhxtreeview_area";this.cont.appendChild(this.area);this.cont.onclick=function(a){a=a||event;h.callEvent("_onTreeClick",[a,{stop:false}])};this.cont.ondblclick=function(j){j=j||event;var a=(j.target||j.srcElement);if(a.className.match(/dhxtreeview_item_label/)!=null){h._openCloseItem(a.parentNode.parentNode._itemId,true)}};this.items={};this._addItem=function(r,m,o,j){var q=(m!=null?this.items[m].level+1:1);var l=document.createElement("DIV");l.className="dhxtreeview_item";l.innerHTML="
    ";if(j!=null&&j<0){o.index=0}if(m==null){var n=this.area}else{var a=this.items[m].kids;if(a==false){this._initKidsNode(m)}this.items[m].kids_request=false;var n=this.items[m].item.lastChild.firstChild}if(j!=null&&n.childNodes[j]!=null){n.insertBefore(l,n.childNodes[j])}else{n.appendChild(l)}n=null;l._itemId=r;l._treeId=this.conf.tree_id;if(window.dhx4.isIE==true){l.onselectstart=function(s){s=s||event;if(s.preventDefault){s.preventDefault()}else{s.returnValue=false}}}this.items[r]={id:r,pId:m,treeId:this.conf.tree_id,text:o.text,item:l,level:q,kids:false,opened:window.dhx4.s2b(o.open),userdata:window.dhx4._copyObj(o.userdata||{}),half_opened:false};this.callEvent("_onItemRendered",[r,o]);l.firstChild.innerHTML=this._getItemHtml(r);l=null;if(window.dhx4.s2b(o.select)==true){this._setSelected(r,true)}this.callEvent("_onItemInited",[r,o])};this.addItem=function(m,j,l,a){if(this.items[m]!=null){return}if(l!=null&&this.items[l]==null){l=null}this._addItem(m,l,{text:j},a);this._callPublicEvent("onAddItem",[m,j,l,a])};this._removeSingleItem=function(l){if(window.dhx4.isIE==true){this.items[l].item.onselectstart=null}this.items[l].item.parentNode.removeChild(this.items[l].item);for(var j in this.items[l]){this.items[l][j]=null;delete this.items[l][j]}delete this.items[l];if(this.conf.selected[l]==true){delete this.conf.selected[l]}};this._removeItem=function(n){var l=n?this.items[n].pId:-1;var m=-1;for(var j in this.items){if(this.items[j].pId==l){m++}if(this.items[j].pId==n){this._removeItem(j)}}if(n!=null){this._removeSingleItem(n)}if(l&&!m){this._clearKidsNode(l)}};this.deleteItem=function(a){if(this.items[a]==null){return}if(!this._callPublicEvent("onBeforeDeleteItem",[a])){return}this._removeItem(a);this._callPublicEvent("onDeleteItem",[a])};this.deleteChildItems=function(l){l=l||0;for(var j in this.items){if(this.items[j].pId==l){this._removeItem(j)}}this._clearKidsNode(l)};this.clearAll=function(){this._removeItem(null);if(this.conf.unloading!=true){this._fixAreaWidth()}};this._initKidsNode=function(j){var a;if(this.items[j].item.lastChild.className.match(/dhxtreeview_kids_cont/)==null){a=document.createElement("DIV");a.className="dhxtreeview_kids_cont";a.innerHTML="
    ";a.style.opacity="1";if(this.items[j].opened!=true){if(this.conf.transProp!=false){a.style.height="0px";a.style.opacity="0";a.firstChild.style.display="none"}else{a.style.display="none"}}this.items[j].item.appendChild(a)}this.items[j].kids=true;this._iconUpdate(j);this._signUpdate(j);a=null};this._clearKidsNode=function(a){if(this.items[a].item.lastChild.className.match(/dhxtreeview_kids_cont/)!=null){this.items[a].item.removeChild(this.items[a].item.lastChild)}this.items[a].kids=false;this._iconUpdate(a);this._signUpdate(a)};this.openItem=function(j,a){if(this.items[j].opened!=true){if(typeof(a)=="undefined"){a=true}this._openCloseItem(j,a)}};this.closeItem=function(j,a){if(this.items[j].opened==true){if(typeof(a)=="undefined"){a=true}this._openCloseItem(j,a)}};this._openCloseItem=function(j,a){if(this.callEvent("_onBeforeOpen",[j])!==true){return}if(!(this.items[j].kids==true||this.items[j].kids_request==true)){return false}if(this.items[j].half_opened==true){this.items[j].half_opened=false;this._signUpdate(j);return}if(a&&this.conf.transProp!=false){if(!this.items[j].transEv){this.items[j].item.lastChild.addEventListener(this.conf.transEv,this._doOnTrEnd);this.items[j].transEv=true}if(this.items[j].opened==true){this.items[j].transMode="close";this.items[j].item.lastChild.style.overflow="hidden";this.items[j].item.lastChild.style.height=this.items[j].item.lastChild.childNodes[0].offsetHeight+"px";window.setTimeout(function(){h.items[j].item.lastChild.style[h.conf.transProp]=h.conf.transValueHeight;h.items[j].item.lastChild.style.height="0px";h.items[j].item.lastChild.style.opacity="0";h.items[j].opened=false;h._iconUpdate(j);h._signUpdate(j)},50)}else{this.items[j].transMode="open";this.items[j].item.lastChild.style[this.conf.transProp]=this.conf.transValueHeight;this.items[j].item.lastChild.childNodes[0].style.display="";this.items[j].item.lastChild.style.overflow="hidden";this.items[j].item.lastChild.style.height=this.items[j].item.lastChild.childNodes[0].offsetHeight+"px";this.items[j].item.lastChild.style.opacity="1";this.items[j].opened=true;this._iconUpdate(j);this._signUpdate(j)}}else{this.items[j].opened=!this.items[j].opened;this.items[j].item.lastChild.style.display=(this.items[j].opened==true?"":"none");this.items[j].item.lastChild.childNodes[0].style.display=this.items[j].item.lastChild.style.display;this.items[j].item.lastChild.style.height=(this.items[j].opened==true?"":"0px");this.items[j].item.lastChild.style.opacity=(this.items[j].opened==true?1:0);this._iconUpdate(j);this._signUpdate(j);this._fixAreaWidth()}};this._doOnTrEnd=function(){var a=this.parentNode._itemId;h.items[a].item.lastChild.style[h.conf.transProp]="";if(h.items[a].transMode=="close"){h.items[a].item.lastChild.childNodes[0].style.display="none"}else{h.items[a].item.lastChild.style.height="";h.items[a].item.lastChild.style.overflow=""}h._fixAreaWidth()};this.setSizes=function(){if(this.conf.adjust_base==true){this.base.style.width=this.base.parentNode.clientWidth-2+"px";this.base.style.height=this.base.parentNode.clientHeight-2+"px"}this.cont.style.left=this.conf.ofs.w+"px";this.cont.style.top=this.conf.ofs.h+"px";this.cont.style.width=this.base.clientWidth-this.conf.ofs.w*2+"px";this.cont.style.height=this.base.clientHeight-this.conf.ofs.h*2+"px";this._fixAreaWidth()};this._fixAreaWidth=function(a){this.area.style.width="100%";if(this.cont.scrollWidth!=this.cont.clientWidth){this.area.style.width=this.cont.scrollWidth+1+"px"}if(window.dhx4.isIE7==true&&a!==false){window.setTimeout(function(){h._fixAreaWidth(false)},1)}};this.setSizes();dhx4._eventable(this);var e=window.dhx4.transDetect();this.conf.transProp=e.transProp;this.conf.transEv=e.transEv;this.conf.transValueHeight="height 0.15s";e=null;if(this.conf.is_mac==true){this._macOnKey=function(a){if(((window.dhx4.isKHTML||window.dhx4.isChrome||window.dhx4.isOpera)&&(a.keyCode==91||a.keyCode==93))||(window.dhx4.isFF&&a.keyCode==224)){h.conf.mac_cmd_key=(a.type=="keydown")}};window.addEventListener("keydown",this._macOnKey,false);window.addEventListener("keyup",this._macOnKey,false)}for(var c in this.modules){if(this.modules[c].init!=null){this[this.modules[c].init](g)}}this.unload=function(){this.conf.unloading=true;this.cont.onclick=null;this.cont.ondblclick=null;this.clearAll();if(this.conf.is_mac==true){window.removeEventListener("keydown",this._macOnKey,false);window.removeEventListener("keyup",this._macOnKey,false)}for(var j in this.modules){if(this.modules[j].unload!=null){this[this.modules[j].unload]()}}this.area.parentNode.removeChild(this.area);this.area=null;this.cont.parentNode.removeChild(this.cont);this.cont=null;this.base.className=String(this.base.className).replace(new RegExp("s{0,}dhxtreeview_"+(this.conf.skin||"")),"");window.dhx4._eventable(this,"clear");for(var j in this){this[j]=null}h=null};if(g.items!=null||g.json!=null||g.xml!=null){this.loadStruct(g.items||g.json||g.xml,g.onload)}return this}dhtmlXTreeView.prototype.modules={};dhtmlXTreeView.prototype.setSkin=function(a){this.base.className=String(this.base.className).replace(new RegExp("s{0,}dhxtreeview_"+(this.conf.skin||"")),"")+" dhxtreeview_"+a;this.conf.skin=a;this.conf.icon_width=dhx4.readFromCss("dhxtreeview_"+this.conf.skin+" dhxtreeview_icon_width");this.conf.ofs=(this.conf.skin=="dhx_skyblue"?{w:1,h:0}:{w:0,h:0})};dhtmlXTreeView.prototype.setItemText=function(c,a){if(this.items[c]!=null){this.items[c].text=a;this.items[c].item.firstChild.childNodes[this.conf.idx.text].innerHTML=a;this._callPublicEvent("onTextChange",[c,a])}};dhtmlXTreeView.prototype.getItemText=function(a){return this.items[a].text};dhtmlXTreeView.prototype.showItem=function(g){var e=0;var a=false;while(g){var c=this.items[g];if(c){e+=c.item.offsetTop+(a?c.item.firstChild.offsetHeight:0);g=c.pId;a=true}else{break}}this.cont.scrollTop=e};dhtmlXTreeView.prototype.getParentId=function(a){return this.items[a].pId};dhtmlXTreeView.prototype.getSubItems=function(g){var a=this.items[g];a=a?a.item.lastChild.firstChild:this.area;var e=[];for(var c=0;c"+this.items[c].text+""}};dhtmlXTreeView.prototype.setUserData=function(g,a,e){var c=this.items[g];if(c){c.userdata[a]=e}};dhtmlXTreeView.prototype.getUserData=function(e,a){var c=this.items[e];if(c&&!a){return c.userdata}return c?(c.userdata[a]||null):null};dhtmlXTreeView.prototype.silent=function(a){this.conf.silent=true;if(typeof(a)=="function"){a.apply(window,[this])}this.conf.silent=false};dhtmlXTreeView.prototype._callPublicEvent=function(){return(this.conf.silent==false?this.callEvent.apply(this,arguments):true)};dhtmlXTreeView.prototype.refreshItem=function(a){a=a||0;this.deleteChildItems(a);this._dynLoadRequest(a)};dhtmlXTreeView.prototype.getLevel=function(e){var a=this.items[e];var c=0;while(a){c++;a=this.items[a.pId]}return c};if(typeof(window.dhtmlXCellObject)=="function"){dhtmlXCellObject.prototype.attachTreeView=function(e){this.callEvent("_onBeforeContentAttach",["treeview"]);var h=document.createElement("DIV");h.style.position="relative";h.style.overflow="hidden";h.style.width="100%";h.style.height="100%";this._attachObject(h);var g={parent:h,skin:this.conf.skin};if(e!=null&&typeof(e)=="object"){for(var c in e){if(typeof(g[c])=="undefined"){g[c]=e[c]}}}this.dataType="treeview";this.dataObj=new dhtmlXTreeView(g);if(typeof(window.dhtmlXWindowsCell)=="function"&&this instanceof window.dhtmlXWindowsCell){h.className+=" dhxtreeview_with_border";this.dataObj.conf.adjust_base=true;this.dataObj.setSizes()}g.parent=null;g=h=e=null;this.callEvent("_onContentAttach",[]);return this.dataObj}}dhtmlXTreeView.prototype.modules.chbx={init:"_chbxInit"};dhtmlXTreeView.prototype.enableCheckboxes=function(e){e=(e==true);if(this.conf.enable_chbx!=e){this.conf.enable_chbx=e;this._chbxUpdIndex();for(var c in this.items){this._refreshItemHtml(c,true,true)}}};dhtmlXTreeView.prototype.getAllChecked=function(a){return this._chbxGetCheckedBranch(a,true)};dhtmlXTreeView.prototype.getAllUnchecked=function(a){return this._chbxGetCheckedBranch(a,false)};dhtmlXTreeView.prototype.checkItem=function(a){this._chbxSetChecked(a,true,true)};dhtmlXTreeView.prototype.uncheckItem=function(a){this._chbxSetChecked(a,false,true)};dhtmlXTreeView.prototype.isItemChecked=function(a){if(this.items[a]==null){return null}return(this.items[a].checked==true)};dhtmlXTreeView.prototype.enableCheckbox=function(a){this._chbxSetEnabled(a,true)};dhtmlXTreeView.prototype.disableCheckbox=function(a){this._chbxSetEnabled(a,false)};dhtmlXTreeView.prototype.isCheckboxEnabled=function(a){return(this.items[a].chbx_enabled==true)};dhtmlXTreeView.prototype.showCheckbox=function(a){this._chbxSetVisible(a,true)};dhtmlXTreeView.prototype.hideCheckbox=function(a){this._chbxSetVisible(a,false)};dhtmlXTreeView.prototype.isCheckboxVisible=function(a){return(this.items[a].chbx_visible==true)};dhtmlXTreeView.prototype._chbxInit=function(a){this.enableCheckboxes(a.checkboxes);this.attachEvent("_onItemRendered",function(g,e){this.items[g].checked=window.dhx4.s2b(e.checked);var c=(e.checkbox||"enabled,visible");this.items[g].chbx_enabled=(c.match(/disabled/)==null);this.items[g].chbx_visible=(c.match(/hidden/)==null)});this.attachEvent("_onTreeClick",function(h,c){if(this.conf.enable_chbx!=true){return}var g=(h.target||h.srcElement);if(g.tagName.toLowerCase()=="i"){g=g.parentNode}if((g.parentNode.className||"").match(/dhxtreeview_item_text/)!=null&&g==g.parentNode.childNodes[this.conf.idx.chbx]){var j=g.parentNode.parentNode._itemId;if(this.items[j].chbx_enabled==true){this._chbxSetChecked(j,!this.items[j].checked,true)}c.stop=true}});a=null};dhtmlXTreeView.prototype._itemHtml_chbx=function(e,c){var a={nodeIndex:0,nodeText:false};if(this.conf.enable_chbx==true){if(this.items[e].chbx_visible==true){a.nodeIndex=1}a.nodeText="
    "+this._chbxGenIcon(e)+"
    "}return a};dhtmlXTreeView.prototype._chbxSetChecked=function(c,a){if(this.conf.enable_chbx!=true){return}a=(a==true);if(this.items[c].checked!=a){if(this._callPublicEvent("onBeforeCheck",[c,(this.items[c].checked==true)])!==true){return}this.items[c].checked=a;this.items[c].item.childNodes[0].childNodes[this.conf.idx.chbx].innerHTML=this._chbxGenIcon(c);this._callPublicEvent("onCheck",[c,a])}};dhtmlXTreeView.prototype._chbxSetEnabled=function(c,a){if(this.items[c].chbx_enabled!=a){this.items[c].chbx_enabled=a;this.items[c].item.firstChild.childNodes[this.conf.idx.chbx].innerHTML=this._chbxGenIcon(c)}};dhtmlXTreeView.prototype._chbxSetVisible=function(c,a){if(this.items[c].chbx_visible!=a){this.items[c].chbx_visible=a;this._refreshItemHtml(c,true,true)}};dhtmlXTreeView.prototype._chbxGenIcon=function(c){var a=this.conf.icons["chbx_"+(this.items[c].chbx_enabled?"":"dis_")+(this.items[c].checked?"1":"0")];return''};dhtmlXTreeView.prototype._chbxUpdIndex=function(){if(this.conf.enable_chbx==true){this.conf.idx={sign:0,chbx:1,icon:2,text:3}}else{this.conf.idx={sign:0,icon:1,text:2}}};dhtmlXTreeView.prototype._chbxGetCheckedBranch=function(g,h){var e=[];for(var c in this.items){if(this.items[c].pId==g){if(this.items[c].checked==h){e.push(c)}if(this.items[c].kids==true){e=e.concat(this._chbxGetCheckedBranch(c,h))}}}return e};dhtmlXTreeView.prototype.modules.sign={init:"_signInit"};dhtmlXTreeView.prototype._signInit=function(){this.attachEvent("_onTreeClick",function(g,a){if(a.stop==true){return}var c=(g.target||g.srcElement);if(c.tagName.toLowerCase()=="i"){c=c.parentNode}if((c.parentNode.className||"").match(/dhxtreeview_item_text/)!=null&&c==c.parentNode.childNodes[this.conf.idx.sign]){this._openCloseItem(c.parentNode.parentNode._itemId,true);a.stop=true}})};dhtmlXTreeView.prototype._signUpdate=function(e){var c=this.items[e];var a=c.item.childNodes[0].childNodes[this.conf.idx.sign];if(c.kids==true||c.kids_request==true){a.innerHTML=''}else{a.innerHTML=""}c=a=null};dhtmlXTreeView.prototype._itemHtml_sign=function(c,a){return{nodeIndex:1,nodeText:"
    "}};dhtmlXTreeView.prototype.modules.selection={init:"_selectionInit"};dhtmlXTreeView.prototype.selectItem=function(h){if(this.conf.msel==true){var e={};if(!(h instanceof Array)){h=[h]}for(var g=0;g300){this._callPublicEvent("onClick",[h]);this._click_timer=g;this._click_item=h}else{this._callPublicEvent("onDblClick",[h]);this._click_item=null}if(this.conf.msel==true){if((l.ctrlKey==true||this.conf.mac_cmd_key==true)&&l.shiftKey==false&&l.altKey==false){this._setSelected(h,!this._isSelected(h))}else{if(l.ctrlKey==false&&l.shiftKey==false&&l.altKey==false&&this.conf.mac_cmd_key==false){if(this._clearSelection(h)==false){this._setSelected(h,true)}}}}else{if(this._clearSelection(h)==false){this._setSelected(h,true)}}}})};dhtmlXTreeView.prototype._setSelected=function(c,a){if(a==true){if(this.conf.selected[c]!=true){this.items[c].item.childNodes[0].className+=" dhxtreeview_item_text_selected";this.conf.selected[c]=true;this._callPublicEvent("onSelect",[c,true])}}else{if(this.conf.selected[c]==true){this.items[c].item.childNodes[0].className=String(this.items[c].item.childNodes[0].className).replace(/\s*dhxtreeview_item_text_selected/gi,"");delete this.conf.selected[c];this._callPublicEvent("onSelect",[c,false])}}};dhtmlXTreeView.prototype._clearSelection=function(g){var e=false;for(var c in this.conf.selected){if(g!=null&&c==g){e=true}else{this._setSelected(c,false)}}return e};dhtmlXTreeView.prototype._isSelected=function(a){return(this.conf.selected[a]==true)};dhtmlXTreeView.prototype.modules.icons={init:"_iconModuleInit"};dhtmlXTreeView.prototype.setItemIcons=function(g,e){if(e==null&&this.items[g].icons!=null){delete this.items[g].icons}else{if(e!=null){if(this.items[g].icons==null){this.items[g].icons={}}for(var c in e){if(e[c]!=null){this.items[g].icons[c]=e[c]}else{if(e[c]==null&&this.items[g].icons[c]!=null){delete this.items[g].icons[c]}}}}}this._iconUpdate(g)};dhtmlXTreeView.prototype.setIconColor=function(e,a){var c=this.items[e].item.firstChild.childNodes[this.conf.idx.icon].firstChild;if(a==null){if(this.items[e].icon_color!=null){delete this.items[e].icon_color;c.style.color="inherit"}}else{if(this.items[e].icon_color!=a){this.items[e].icon_color=a;c.style.color=a}}c=null};dhtmlXTreeView.prototype.setIconset=function(a){if(this.icons[a]!=null&&this.icons[a].r==true){this.conf.icons=this.icons[a]}};dhtmlXTreeView.prototype._iconModuleInit=function(){this.attachEvent("_onItemRendered",function(c,a){if(a.icons!=null){this.items[c].icons=a.icons}if(a.icon_color!=null){this.items[c].icon_color=a.icon_color}})};dhtmlXTreeView.prototype._iconConf=function(g){var e=this.items[g].icons||{};for(var c in {folder_opened:1,folder_closed:1,file:1}){if(typeof(e[c])=="undefined"){e[c]=this.conf.icons[c]}}return e};dhtmlXTreeView.prototype._iconHtml=function(e,c){var a=['class="'+this.conf.icons.prefix+" "+c+'"'];if(this.items[e].icon_color!=null){a.push('style="color:'+this.items[e].icon_color+';"')}return""};dhtmlXTreeView.prototype._itemHtml_icon=function(c,a){return{nodeIndex:1,nodeText:"
    "+this._iconHtml(c,this._iconConf(c).file)+"
    "}};dhtmlXTreeView.prototype._iconUpdate=function(g){var e=this.items[g];var c=this._iconConf(g);var a=(e.kids==true||e.kids_request==true?c[e.opened?"folder_opened":"folder_closed"]:c.file);e.item.childNodes[0].childNodes[this.conf.idx.icon].innerHTML=this._iconHtml(g,a);e=null};dhtmlXTreeView.prototype.icons={tree_native:{r:true,prefix:"dhxtreeview_icon",plus:"dhxtreeview_icon_plus",minus:"dhxtreeview_icon_minus",file:"dhxtreeview_icon_file",folder_opened:"dhxtreeview_icon_folder_opened",folder_closed:"dhxtreeview_icon_folder_closed",loading:"dhxtreeview_icon_loading",chbx_0:"dhxtreeview_icon_chbx_0",chbx_1:"dhxtreeview_icon_chbx_1",chbx_dis_0:"dhxtreeview_icon_chbx_dis_0",chbx_dis_1:"dhxtreeview_icon_chbx_dis_1"},font_awesome:{r:(!(window.dhx4.isIE6==true||window.dhx4.isIE7==true)),prefix:"fa",plus:"fa-caret-right",minus:"fa-caret-down",file:"fa-file-o",folder_opened:"fa-folder-open-o",folder_closed:"fa-folder-o",loading:"fa-refresh fa-spin",chbx_0:"fa-square-o",chbx_1:"fa-check-square-o",chbx_dis_0:"fa-square-o dhx-disabled",chbx_dis_1:"fa-check-square-o dhx-disabled"}};dhtmlXTreeView.prototype.modules.loading={init:"_loadingInit",unload:"_loadingUnload"};dhtmlXTreeView.prototype._loadingInit=function(a){window.dhx4._enableDataLoading(this,"_initObj","_xmlToObj","tree",{struct:true});this.conf.root_id=(typeof(a.root_id)=="undefined"||a.root_id==null?"0":a.root_id);this._dhxdataload.onBeforeXLS=function(c){if(this.conf.autoload.url==null){this.conf.autoload.url=c}return{url:c.replace(/\{id\}/gi,this.conf.root_id)}}};dhtmlXTreeView.prototype._loadingUnload=function(){window.dhx4._enableDataLoading(this,null,null,null,"clear")};dhtmlXTreeView.prototype._initObj=function(h,a,c,e){for(var g=0;g0){var l=this._xmlToObj(g,true);if(l.length>0){o.items=l}for(var n=0;n=2){return false}var n=null;var l=null;var j=m.target||m.srcElement;var h=window.dhx4.absLeft(j)+(typeof(m.offsetX)=="undefined"?m.layerX:m.offsetX)-m.clientX;var g=window.dhx4.absTop(j)+(typeof(m.offsetY)=="undefined"?m.layerY:m.offsetY)-m.clientY;while(j!=null&&j!=c.cont){if((j.className||"").match(/dhxtreeview_item/)!=null&&j._itemId!=null){n=j._itemId;l=j._treeId;j=null}else{j=j.parentNode}}j=null;if(n==null){return}c.conf.dnd={inited:false,id:n,treeId:l,selected:(c.conf.selected[n]==true),tid:null,drop:{},x:m.clientX,y:m.clientY,ofs_x:h,ofs_y:g,zi:window.dhx4.newId(),scroll:false,scroll_ofs:5,scroll_time:30,scroll_tm:null,kids:{},idx:{}};c._dndInitEvents()};this._dndOnMouseMove=function(r){r=r||event;if(c.conf.dnd.inited!=true){if(Math.abs(c.conf.dnd.x-r.clientX)>=15||Math.abs(c.conf.dnd.y-r.clientY)>=15){if(c._callPublicEvent("onBeforeDrag",[c.conf.dnd.id])!==true){return}c.conf.dnd.inited=true;c.cont.className+=" dhxtreeview_dnd_mode";c._dndInitDraggedObj();c._dndCollectKids(c.conf.dnd.id);c._dndCollectIndexes(c.area);if(c._clearSelection(c.conf.dnd.id)==false){c._setSelected(c.conf.dnd.id,true)}c.items[c.conf.dnd.id].item.className+=" dhxtreeview_item_dragged";document.body.className+=" dhxtreeview_dnd_mode";c.conf.dnd.cont={x1:window.dhx4.absLeft(c.base),y1:window.dhx4.absTop(c.base)};c.conf.dnd.cont.x2=c.conf.dnd.cont.x1+c.base.offsetWidth;c.conf.dnd.cont.y2=c.conf.dnd.cont.y1+c.base.offsetHeight}else{return}}c.conf.dnd.x=r.clientX;c.conf.dnd.y=r.clientY;c._dndAdjustDraggedObj();var l=true;if(c.cont.scrollHeight>c.cont.clientHeight){if(c.conf.dnd.x>=c.conf.dnd.cont.x1&&c.conf.dnd.x<=c.conf.dnd.cont.x2){if(c.cont.scrollTop>0&&c.conf.dnd.y>=c.conf.dnd.cont.y1&&c.conf.dnd.y<=c.conf.dnd.cont.y1+10){c._dndScroll("up");l=false}else{if(c.cont.scrollTop+c.cont.clientHeight=c.conf.dnd.cont.y2-10){c._dndScroll("down");l=false}}}}if(l==true&&c.conf.dnd.scroll==true){c._dndScroll("stop")}var u=(r.target||r.srcElement);if(u.parentNode!=null&&(u.parentNode.className||"").match(/dhxtreeview_kids_cont/)!=null){u=null;return}var g=false;var m=null;var q=null;if(u.className!=null){if(u.className.match(/dhxtreeview_item_[li]/)!=null){m=u.parentNode.parentNode._itemId;q=u.parentNode.parentNode._treeId}else{if(u.className.match(/dhxtreeview_item_[t]/)!=null){m=u.parentNode._itemId;q=u.parentNode._treeId}}}if(m!=null&&q!=c.conf.dnd.treeId){return}if(c.conf.dnd.id==m||c.conf.dnd.kids[m]==true){m=null}if(m!=null){var n=c.items[m].item.firstChild.offsetHeight;var s=Math.max(Math.floor(Math.min(r.offsetY,n)*3/n),0);if(s==0){if(c.items[m].item.previousSibling==c.items[c.conf.dnd.id].item){s=null}}else{if(s==1){if(c.items[c.conf.dnd.id].pId==m){s=null}else{if(c.items[m].kids==true&&c.items[m].item.lastChild.firstChild.firstChild==c.items[c.conf.dnd.id].item){s=null}else{if(c.items[m].opened==false){}}}}else{if(s==2){if(c.items[m].opened==true){s=null}else{if(c.items[m].item.nextSibling==c.items[c.conf.dnd.id].item){s=null}}}}}if(s!=c.conf.dnd.ofs){c.conf.dnd.ofs=s;g=true}}if(m!=c.conf.dnd.tid){if(c.conf.dnd.tid!=null){c._dndUpdateTargetCss(c.conf.dnd.tid,false)}if(m!=null){g=true}c.conf.dnd.tid=m}if(g==true){var o=false;if(s!=null){var j={id:c.conf.dnd.id,pId:c.items[m].pId||null,index:null,idxOfs:(c.items[c.conf.dnd.id].pId==c.items[m].pId&&c.conf.dnd.idx[c.conf.dnd.id]=2){return}c._dndUnloadEvents();c._dndUnloadDraggedObj();if(c.conf.dnd.scroll==true){c._dndScroll("stop")}if(c.cont.className.match(/dhxtreeview_dnd_mode/gi)!=null){c.cont.className=String(c.cont.className).replace(/\s*dhxtreeview_dnd_mode/gi,"")}if(c.conf.dnd.tid!=null){c._dndUpdateTargetCss(c.conf.dnd.tid,false)}if(c.conf.dnd.inited==true){c.items[c.conf.dnd.id].item.className=String(c.items[c.conf.dnd.id].item.className).replace(/\s*dhxtreeview_item_dragged/gi,"");document.body.className=String(document.body.className).replace(/\s*dhxtreeview_dnd_mode/,"");if(c.conf.dnd.tid!=null&&c.conf.dnd.ofs!=null){if(c._callPublicEvent("onBeforeDrop",[c.conf.dnd.drop.id,c.conf.dnd.drop.pId,c.conf.dnd.drop.index])===true){var n=c.items[c.conf.dnd.id];var h=c.items[c.conf.dnd.tid];var j=(n.pId!=null?c.items[n.pId]:null);var m;if(c.conf.dnd.ofs==1){var l=false;if(h.kids==false){c._initKidsNode(h.id);l=true}h.item.lastChild.firstChild.appendChild(n.item);if(l==true){c._openCloseItem(h.id,false)}n.pId=h.id;m=h.level+1-n.level}else{if(c.conf.dnd.ofs==0||c.conf.dnd.ofs==2){if(c.conf.dnd.ofs==0){h.item.parentNode.insertBefore(n.item,h.item)}else{if(h.item.nextSibling!=null){h.item.parentNode.insertBefore(n.item,h.item.nextSibling)}else{h.item.parentNode.appendChild(n.item)}}n.pId=h.pId;m=h.level-n.level}}if(m!=0){c.conf.dnd.kids[n.id]=true;for(var g in c.conf.dnd.kids){c.items[g].level+=m;c._refreshItemHtml(g,(c.items[g].kids==true),true)}}if(j!=null&&j.kids==true&&j.item.lastChild.firstChild.childNodes.length==0){c._clearKidsNode(j.id);j.opened=false}n=h=j=null;c._fixAreaWidth();c._callPublicEvent("onDrop",[c.conf.dnd.drop.id,c.conf.dnd.drop.pId,c.conf.dnd.drop.index])}}}window.dhx4.zim.clear(c.conf.dnd.zi);c.conf.dnd=null};this._dndOnContextMenu=function(g){if(c.conf.dnd.inited==true){g=g||event;g.cancelBubble=true;if(g.preventDefault){g.preventDefault()}g.returnValue=false;return false}};this._dndInitEvents=function(){if(typeof(window.addEventListener)=="function"){window.addEventListener("mousemove",this._dndOnMouseMove,false);window.addEventListener("mouseup",this._dndOnMouseUp,false);window.addEventListener("contextmenu",this._dndOnContextMenu,false)}else{document.body.attachEvent("onmousemove",this._dndOnMouseMove);document.body.attachEvent("onmouseup",this._dndOnMouseUp);document.body.attachEvent("oncontextmenu",this._dndOnContextMenu)}};this._dndUnloadEvents=function(){if(typeof(window.addEventListener)=="function"){window.removeEventListener("mousemove",this._dndOnMouseMove,false);window.removeEventListener("mouseup",this._dndOnMouseUp,false);window.removeEventListener("contextmenu",this._dndOnContextMenu,false)}else{document.body.detachEvent("onmousemove",this._dndOnMouseMove);document.body.detachEvent("onmouseup",this._dndOnMouseUp);document.body.detachEvent("oncontextmenu",this._dndOnContextMenu)}};this._dndInitDraggedObj=function(){this.conf.dnd.dragged=document.createElement("DIV");this.conf.dnd.dragged.className="dhxtreeview_dragged_obj_"+this.conf.skin;this.conf.dnd.dragged.style.zIndex=window.dhx4.zim.reserve(this.conf.dnd.zi);document.body.appendChild(this.conf.dnd.dragged);this.conf.dnd.dragged.innerHTML=this.getItemText(this.conf.dnd.id)};this._dndAdjustDraggedObj=function(){this.conf.dnd.dragged.style.left=this.conf.dnd.x+this.conf.dnd.ofs_x+12+"px";this.conf.dnd.dragged.style.top=this.conf.dnd.y+this.conf.dnd.ofs_y+18+"px"};this._dndUnloadDraggedObj=function(){if(this.conf.dnd.dragged!=null){document.body.removeChild(this.conf.dnd.dragged);this.conf.dnd.dragged=null}};this._dndUpdateTargetCss=function(j,h){var g=this.items[j].item.childNodes[0];if(this.conf.dnd.ofs==null){h=false}if(h==true){g.className=String(g.className).replace(/(\s*dhxtreeview_drop_\d)?$/i," dhxtreeview_drop_"+this.conf.dnd.ofs);if(g.nextSibling==null||g.nextSibling.className.match(/dhxtreeview_drop_preview/)==null){var e=document.createElement("DIV");e.className="dhxtreeview_drop_preview";e.style.left=g.lastChild.previousSibling.style.left;if(g.nextSibling==null){g.parentNode.appendChild(e)}else{g.parentNode.insertBefore(e,g.nextSibling)}e=null}g.nextSibling.className=String(g.nextSibling.className).replace(/(\s*dhxtreeview_drop_\d)?$/i," dhxtreeview_drop_"+this.conf.dnd.ofs)}else{if(g.className.match(/dhxtreeview_drop_\d/)!=null){g.className=String(g.className).replace(/\s*dhxtreeview_drop_\d/gi,"");if(g.nextSibling!=null&&g.nextSibling.className.match(/dhxtreeview_drop_preview/)!=null){g.parentNode.removeChild(g.nextSibling)}}}g=null};this._dndCollectKids=function(g){for(var e in this.items){if(this.items[e].pId==g){this.conf.dnd.kids[e]=true;if(this.items[e].kids==true){this._dndCollectKids(e)}}}};this._dndCollectIndexes=function(e){for(var g=0;g"}else{this._iconUpdate(c)}};var globalActiveDHTMLGridObject;String.prototype._dhx_trim=function(){return this.replace(/ /g," ").replace(/(^[ \t]*)|([ \t]*$)/g,"")};function dhtmlxArray(a){return dhtmlx.extend((a||new Array()),dhtmlxArray._master)}dhtmlxArray._master={_dhx_find:function(c){for(var a=0;a=e;a--){this[a]=this[a-1]}this[e]=c},_dhx_removeAt:function(a){this.splice(a,1)},_dhx_swapItems:function(a,e){var c=this[a];this[a]=this[e];this[e]=c}};function dhtmlXGridObject(id){if(dhtmlxEvent.initTouch){dhtmlxEvent.initTouch()}if(_isIE){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}if(id){if(typeof(id)=="object"){this.entBox=id;if(!this.entBox.id){this.entBox.id="cgrid2_"+this.uid()}}else{this.entBox=document.getElementById(id)}}else{this.entBox=document.createElement("DIV");this.entBox.id="cgrid2_"+this.uid()}this.entBox.innerHTML="";dhx4._eventable(this);var self=this;this._RaSeCol=[];this._wcorr=0;this.fontWidth=7;this.cell=null;this.row=null;this.iconURL="";this.editor=null;this._f2kE=true;this._dclE=true;this.combos=new Array(0);this.defVal=new Array(0);this.rowsAr={};this.rowsBuffer=dhtmlxArray();this.rowsCol=dhtmlxArray();this._data_cache={};this._ecache={};this._ud_enabled=true;this.xmlLoader=this.doLoadDetails;this._maskArr=[];this.selectedRows=dhtmlxArray();this.UserData={};this._sizeFix=this._borderFix=0;this.entBox.className+=" gridbox";this.entBox.style.width=this.entBox.getAttribute("width")||(window.getComputedStyle?(this.entBox.style.width||window.getComputedStyle(this.entBox,null)["width"]):(this.entBox.currentStyle?this.entBox.currentStyle.width:this.entBox.style.width||0))||"100%";this.entBox.style.height=this.entBox.getAttribute("height")||(window.getComputedStyle?(this.entBox.style.height||window.getComputedStyle(this.entBox,null)["height"]):(this.entBox.currentStyle?this.entBox.currentStyle.height:this.entBox.style.height||0))||"100%";this.entBox.style.cursor="default";this.entBox.onselectstart=function(){return false};var t_creator=function(name){var t=document.createElement("TABLE");t.cellSpacing=t.cellPadding=0;t.style.cssText="width:100%;table-layout:fixed;";t.className=name.substr(2);return t};this.obj=t_creator("c_obj");this.hdr=t_creator("c_hdr");this.hdr.style.marginRight="20px";if(!dhx.isChrome){this.hdr.style.paddingRight="20px"}this.objBox=document.createElement("DIV");this.objBox.style.width="100%";this.objBox.style.overflow="auto";this.objBox.appendChild(this.obj);this.objBox.className="objbox";if(dhtmlx.$customScroll){dhtmlx.CustomScroll.enable(this)}this.hdrBox=document.createElement("DIV");this.hdrBox.style.width="100%";this.hdrBox.style.height="25px";this.hdrBox.style.overflow="hidden";this.hdrBox.className="xhdr";this.preloadImagesAr=new Array(0);this.sortImg=document.createElement("DIV");this.sortImg.style.display="none";this.hdrBox.appendChild(this.sortImg);this.hdrBox.appendChild(this.hdr);this.hdrBox.style.position="relative";this.entBox.appendChild(this.hdrBox);this.entBox.appendChild(this.objBox);this.entBox.grid=this;this.objBox.grid=this;this.hdrBox.grid=this;this.obj.grid=this;this.hdr.grid=this;this.cellWidthPX=[];this.cellWidthPC=[];this.cellWidthType=this.entBox.cellwidthtype||"px";this.delim=this.entBox.delimiter||",";this._csvDelim=",";this.hdrLabels=[];this.columnIds=[];this.columnColor=[];this._hrrar=[];this.cellType=dhtmlxArray();this.cellAlign=[];this.initCellWidth=[];this.fldSort=[];this._srdh=(_isIE&&(document.compatMode!="BackCompat")?22:20);this.imgURL=window.dhx_globalImgPath||"";this.isActive=false;this.isEditable=true;this.useImagesInHeader=false;this.pagingOn=false;this.rowsBufferOutSize=0;dhtmlxEvent(window,"unload",function(){try{if(self.destructor){self.destructor()}}catch(e){}});this.setSkin=function(name){this._srdh=window.dhx4.readFromCss("dhxgrid_rh_"+name)+4;this.skin_name=name;if(this._imgURL){this.setImagePath(this._imgURL)}var classname=this.entBox.className.split(" gridbox")[0];this.entBox.className=classname+" gridbox gridbox_"+name+(_isIE?" isIE":" isModern");this.skin_h_correction=0;this.enableAlterCss("ev_"+name,"odd_"+name,this.isTreeGrid());this._fixAlterCss();switch(name){case"dhx_terrace":case"material":this._srdh=33;this.forceDivInHeader=true;break;case"dhx_web":case"material":this.forceDivInHeader=true;this._srdh=31;break;case"dhx_skyblue":this.forceDivInHeader=true;break}if(_isIE&&this.hdr){var d=this.hdr.parentNode;d.removeChild(this.hdr);d.appendChild(this.hdr)}this.setSizes()};if(_isIE){this.preventIECaching(true)}if(window.dhtmlDragAndDropObject){this.dragger=new dhtmlDragAndDropObject()}this._doOnScroll=function(e,mode){this.callEvent("onScroll",[this.objBox.scrollLeft,this.objBox.scrollTop]);this.doOnScroll(e,mode)};this.doOnScroll=function(e,mode){var box=this.hdrBox;box._try_header_sync=true;setTimeout(function(){box._try_header_sync=false},2000);this.hdrBox.scrollLeft=this.objBox.scrollLeft;if(this.ftr){this.ftr.parentNode.scrollLeft=this.objBox.scrollLeft}if(mode){return}if(this._srnd){if(this._dLoadTimer){window.clearTimeout(this._dLoadTimer)}this._dLoadTimer=window.setTimeout(function(){if(self._update_srnd_view){self._update_srnd_view()}},100)}};this.attachToObject=function(obj){obj.appendChild(this.globalBox?this.globalBox:this.entBox);this.setSizes()};this.init=function(fl){if((this.isTreeGrid())&&(!this._h2)){this._h2=this._createHierarchy();if((this._fake)&&(!this._realfake)){this._fake._h2=this._h2}this._tgc={imgURL:null}}if(!this._hstyles){return}if(!this.skin_name){this.setSkin(window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxgrid")||"material")}this.editStop();this.lastClicked=null;this.resized=null;this.fldSorted=this.r_fldSorted=null;this.cellWidthPX=[];this.cellWidthPC=[];if(this.hdr.rows.length>0){var temp=this.xmlFileUrl;this.clearAll(true);this.xmlFileUrl=temp}var hdrRow=this.hdr.insertRow(0);for(var i=0;i0.5){cwidth++;fix--}var rwidth=this.cellWidthPX[i]=Math.floor(cwidth);var fix=fix+cwidth-rwidth}else{if(typeof this.cellWidthPX[i]=="undefined"){this.cellWidthPX[i]=this.initCellWidth[i]}}if(!this._hrrar[i]){summ+=this.cellWidthPX[i]*1}}if(fcols.length){var ms=Math.floor((gridWidth-summ)/fcols.length);if(ms<0){ms=1}for(var i=0;isumm){var last=fcols[fcols.length-1];this.cellWidthPX[last]=this.cellWidthPX[last]+(gridWidth-summ);summ=gridWidth}this._setAutoResize()}this.obj.style.width=summ+"px";this.hdr.style.width=summ+"px";if(this.ftr){this.ftr.style.width=summ+"px"}this.chngCellWidth();return summ};this.setSizes=function(){if((!this.hdr.rows[0])){return}var quirks=this.quirks=(_isIE&&document.compatMode=="BackCompat");var outerBorder=(this.entBox.offsetWidth-this.entBox.clientWidth)/2;if(!this.dontSetSizes){if(this.globalBox){if(!this.globalBox.clientWidth){return}var ow=this.globalBox.clientWidth;var splitOuterBorder=(this.globalBox.offsetWidth-ow)/2;if(this._delta_x&&!this._realfake){this.globalBox.style.width=this._delta_x;this.globalBox.style.boxSizing="border-box";var owu=this.globalBox.clientWidth;this.entBox.style.width=Math.max(0,(owu+(quirks?splitOuterBorder*2:0))-this._fake.entBox.clientWidth)+"px";if(owu!=this._lastTimeSplitWidth){this._fake._correctSplit(this._fake.entBox.clientWidth);this._lastTimeSplitWidth=owu}}if(this._delta_y&&!this._realfake){this.globalBox.style.height=this._delta_y;this.entBox.style.overflow=this._fake.entBox.style.overflow="hidden";this.entBox.style.height=this._fake.entBox.style.height=this.globalBox.clientHeight+(quirks?splitOuterBorder*2:0)+"px"}}else{if(this._delta_x){if(this.entBox.parentNode&&this.entBox.parentNode.tagName=="TD"){this.entBox.style.width="1px";this.entBox.style.width=parseInt(this._delta_x)*this.entBox.parentNode.clientWidth/100-outerBorder*2+"px"}else{if(this._delta_x==="100%"){this.entBox.style.width=this.entBox.parentNode.offsetWidth+"px"}else{this.entBox.style.width=this._delta_x}}}if(this._delta_y){this.entBox.style.height=this._delta_y}}}window.clearTimeout(this._sizeTime);if(!this.entBox.offsetWidth&&(!this.globalBox||!this.globalBox.offsetWidth)){this._sizeTime=window.setTimeout(function(){if(self.setSizes){self.setSizes()}},250);return}var border_x=((!this._wthB)&&((this.entBox.cmp||this._delta_x)&&((this.skin_name||"").indexOf("dhx")==0||this.skin_name=="material")&&!quirks)?2:0);var border_y=((!this._wthB)&&((this.entBox.cmp||this._delta_y)&&((this.skin_name||"").indexOf("dhx")==0||this.skin_name=="material")&&!quirks)?2:0);if(this._sizeFix){border_x-=this._sizeFix;border_y-=this._sizeFix}var isVScroll=this.parentGrid?false:(this.objBox.scrollHeight>this.objBox.offsetHeight);var scrfix=dhtmlx.$customScroll?0:18;var gridWidth=this.entBox.clientWidth-(this.skin_h_correction||0)*(quirks?0:1)-border_x;var gridWidthActive=this.entBox.clientWidth-(this.skin_h_correction||0)-border_x;var gridHeight=this.entBox.clientHeight-border_y;var summ=this.setColumnSizes(gridWidthActive-(isVScroll?scrfix:0)-(this._correction_x||0));var isHScroll=this.parentGrid?false:((this.objBox.scrollWidth>this.objBox.offsetWidth)||(this.objBox.style.overflowX=="scroll"));var headerHeight=this.hdr.clientHeight;var footerHeight=this.ftr?this.ftr.clientHeight:0;var newWidth=gridWidth;var newHeight=gridHeight-headerHeight-footerHeight;if(this._awdth&&this._awdth[0]&&this._awdth[1]==99999){isHScroll=0}if(this._ahgr){if(this._ahgrMA){newHeight=this.entBox.parentNode.clientHeight-headerHeight-footerHeight}else{newHeight=this.obj.offsetHeight+(isHScroll?scrfix:0)+(this._correction_y||0)}if(this._ahgrM){if(this._ahgrF){newHeight=Math.min(this._ahgrM,newHeight+headerHeight+footerHeight)-headerHeight-footerHeight}else{newHeight=Math.min(this._ahgrM,newHeight)}}if(isVScroll&&newHeight>=this.obj.scrollHeight+(isHScroll?scrfix:0)){isVScroll=false;this.setColumnSizes(gridWidthActive-(this._correction_x||0))}}if((this._awdth)&&(this._awdth[0])){if(this.cellWidthType=="%"){this.cellWidthType="px"}if(this._fake){summ+=this._fake.entBox.clientWidth}var newWidth=Math.min(Math.max(summ+(isVScroll?scrfix:0),this._awdth[2]),this._awdth[1])+(this._correction_x||0);this.objBox.style.overflowX=(!isVScroll&&this.objBox.scrollWidth<=newWidth)?"hidden":"auto";if(this._fake){newWidth-=this._fake.entBox.clientWidth}}newHeight=Math.max(0,newHeight);this._ff_size_delta=(this._ff_size_delta==0.1)?0.2:0.1;if(!_isFF){this._ff_size_delta=0}if(!this.dontSetSizes){this.entBox.style.width=Math.max(0,newWidth+(quirks?2:0)*outerBorder+this._ff_size_delta)+"px";this.entBox.style.height=newHeight+(quirks?2:0)*outerBorder+headerHeight+footerHeight+"px"}this.objBox.style.height=newHeight+((quirks&&!isVScroll)?2:0)*outerBorder+"px";this.hdrBox.style.height=headerHeight+"px";if(newHeight!=gridHeight){this.doOnScroll(0,!this._srnd)}var ext=this["setSizes_"+this.skin_name];if(ext){ext.call(this)}this.setSortImgPos();if(headerHeight!=this.hdr.clientHeight&&this._ahgr){this.setSizes()}this.callEvent("onSetSizes",[])};this.chngCellWidth=function(){if((_isOpera)&&(this.ftr)){this.ftr.width=this.objBox.scrollWidth+"px"}var l=this._cCount;for(var i=0;i1){var a_sizes=new Array();for(var i=0;i((this._drsclmW&&!this._notresize)?(this._drsclmW[ind]||10):10)){this.obj.rows[0].childNodes[ind].style.width=fcolW+"px";this.hdr.rows[0].childNodes[ind].style.width=fcolW+"px";if(this.ftr){this.ftr.rows[0].childNodes[ind].style.width=fcolW+"px"}if(this.cellWidthType=="px"){this.cellWidthPX[ind]=fcolW}else{var gridWidth=parseInt(this.entBox.offsetWidth);if(this.objBox.scrollHeight>this.objBox.offsetHeight){gridWidth-=17}var pcWidth=Math.round(fcolW/gridWidth*100);this.cellWidthPC[ind]=pcWidth}if(this.sortImg.style.display!="none"){this.setSortImgPos()}}else{return false}};this.setSortImgState=function(state,ind,order,row){order=(order||"asc").toLowerCase();if(!dhx4.s2b(state)){this.sortImg.style.display="none";if(this.r_fldSorted){this.r_fldSorted.className=""}this.fldSorted=this.r_fldSorted=null;return}if(order=="asc"){this.sortImg.className="dhxgrid_sort_asc"}else{this.sortImg.className="dhxgrid_sort_desc"}this.sortImg.style.display="";this.fldSorted=this.hdr.rows[0].childNodes[ind];var r=this.hdr.rows[row||1];if(!r){return}for(var i=0;ilcRowIndex){var strt=lcRowIndex;var end=elRowIndex}else{var strt=elRowIndex;var end=lcRowIndex}for(var i=0;i=strt&&i<=end)){if(this.rowsCol[i]&&(!this.rowsCol[i]._sRow)){if(!this.rowsCol[i].idd){continue}if(this.rowsCol[i].className.indexOf("rowselected")==-1&&(this.callEvent("onBeforeSelect",[this.rowsCol[i].idd,psid,el._cellIndex]))){this.rowsCol[i].className+=" rowselected";this.selectedRows[this.selectedRows.length]=this.rowsCol[i]}}else{this.clearSelection();return this.doClick(el,fl,0,show)}}}}else{if(selMethod==2){if(el.parentNode.className.indexOf("rowselected")!=-1){el.parentNode.className=el.parentNode.className.replace(/[ \t]*rowselected/g,"");this.selectedRows._dhx_removeAt(this.selectedRows._dhx_find(el.parentNode));var skipRowSelection=true;show=false}}}this.editStop();if(typeof(el.parentNode.idd)=="undefined"){return true}if((!skipRowSelection)&&(!el.parentNode._sRow)){if(this.callEvent("onBeforeSelect",[el.parentNode.idd,psid,el._cellIndex])){if(this.getSelectedRowId()!=el.parentNode.idd){if(selMethod==0){this.clearSelection()}this.cell=el;if((prow==el.parentNode)&&(this._chRRS)){fl=false}this.row=el.parentNode;this.row.className+=" rowselected";if(this.selectedRows._dhx_find(this.row)==-1){this.selectedRows[this.selectedRows.length]=this.row}}else{this.cell=el;this.row=el.parentNode}}else{fl=false}}if(this.cell&&this.cell.parentNode.className.indexOf("rowselected")!=-1){this.cell.className=this.cell.className.replace(/[ \t]*cellselected/g,"")+" cellselected"}if(selMethod!=1){if(!this.row){return}}this.lastClicked=el.parentNode;var rid=this.row.idd;var cid=this.cell;if(fl&&typeof(rid)!="undefined"&&cid&&!skipRowSelection){self.onRowSelectTime=setTimeout(function(){if(self.callEvent){self.callEvent("onRowSelect",[rid,cid._cellIndex])}},100)}else{this.callEvent("onRowSelectRSOnly",[rid])}if(this.checkEvent("onSelectStateChanged")){var afinal=this.getSelectedId();if(initial!=afinal){this.callEvent("onSelectStateChanged",[afinal,initial])}}if(skipRowSelection){return false}}this.isActive=true;if(show!==false&&this.cell&&this.cell.parentNode.idd){this.moveToVisible(this.cell)}};this.selectAll=function(){this.clearSelection();var coll=this.rowsBuffer;if(this.pagingOn){coll=this.rowsCol}for(var i=0;i(this.objBox.offsetWidth+this.objBox.scrollLeft)){if(cell_obj.offsetLeft>this.objBox.scrollLeft){scrollLeft=cell_obj.offsetLeft-(this.objBox.offsetWidth-cell_obj.offsetWidth)+5}}else{if(cell_obj.offsetLeft(this.objBox.offsetHeight+this.objBox.scrollTop)){var scrollTop=distancemax-this.objBox.offsetHeight}else{if(distance(new Date).valueOf()){return}this._Opera_stop=null}}if(this.editor&&this.editor!=null){this.editor.cell.className=this.editor.cell.className.replace("editable","");if(mode){var t=this.editor.val;this.editor.detach();this.editor.setValue(t);this.editor=null;this.callEvent("onEditCancel",[this.row.idd,this.cell._cellIndex,t]);return}if(this.editor.detach()){this.cell.wasChanged=true}var g=this.editor;if(g==null){return}this.editor=null;var z=this.callEvent("onEditCell",[2,this.row.idd,this.cell._cellIndex,g.getValue(),g.getOldValue()]);if((typeof(z)=="string")||(typeof(z)=="number")){g[g.setImage?"setLabel":"setValue"](z)}else{if(!z){g[g.setImage?"setLabel":"setValue"](g.val)}}if(this._ahgr&&this.multiLine){this.setSizes()}}};this._nextRowCell=function(row,dir,pos){row=this._nextRow((this._groups?this.rowsCol:this.rowsBuffer)._dhx_find(row),dir);if(!row){return null}return row.childNodes[row._childIndexes?row._childIndexes[pos]:pos]};this._getNextCell=function(acell,dir,i){acell=acell||this.cell;var arow=acell.parentNode;if(this._tabOrder){i=this._tabOrder[acell._cellIndex];if(typeof i!="undefined"){if(i<0){acell=this._nextRowCell(arow,dir,Math.abs(i)-1)}else{acell=arow.childNodes[i]}}}else{var i=acell._cellIndex+dir;if(i>=0&&i=this.rowsBuffer.length){new_ind=this.rowsBuffer.length-1}if(this._srnd&&!this.rowsBuffer[new_ind]){this.objBox.scrollTop+=Math.floor((dir)*this.objBox.offsetHeight/(this._srdh||20))*(this._srdh||20);if(this._fake){this._fake.objBox.scrollTop=this.objBox.scrollTop}master._r_select=new_ind}else{this.selectCell(new_ind,this.cell._cellIndex,true,false,false,(this.multiLine||this._srnd));if(!this.multiLine&&!this._srnd&&!this._realfake){this.objBox.scrollTop=this.getRowById(this.getRowId(new_ind)).offsetTop;if(this._fake){this._fake.objBox.scrollTop=this.objBox.scrollTop}}master._r_select=null}};this.doKey=function(ev){if(!ev){return true}if((ev.target||ev.srcElement).value!==window.undefined){var zx=(ev.target||ev.srcElement);if(zx.className!="dhxcombo_input"&&zx.className!="dhx_tab_ignore"&&((!zx.parentNode)||(zx.parentNode.className.indexOf("editable")==-1))){return true}}if((globalActiveDHTMLGridObject)&&(this!=globalActiveDHTMLGridObject)){return globalActiveDHTMLGridObject.doKey(ev)}if(this.isActive==false){return true}if(this._htkebl){return true}if(!this.callEvent("onKeyPress",[ev.keyCode,ev.ctrlKey,ev.shiftKey,ev])){return false}var code="k"+ev.keyCode+"_"+(ev.ctrlKey?1:0)+"_"+(ev.shiftKey?1:0);if(this.cell){if(this._key_events[code]){if(false===this._key_events[code].call(this)){return true}if(ev.preventDefault){ev.preventDefault()}ev.cancelBubble=true;return false}if(this._key_events.k_other){this._key_events.k_other.call(this,ev)}}return true};this.selectRow=function(r,fl,preserve,show){if(typeof(r)!="object"){r=this.render_row(r)}this.selectCell(r,0,fl,preserve,false,show)};this.wasDblClicked=function(ev){var el=this.getFirstParentOfType(_isIE?ev.srcElement:ev.target,"TD");if(el){var rowId=el.parentNode.idd;return this.callEvent("onRowDblClicked",[rowId,el._cellIndex,ev])}};this._onHeaderClick=function(e,el){var that=this.grid;el=el||that.getFirstParentOfType(_isIE?event.srcElement:e.target,"TD");if(this.grid.resized==null){if(!(this.grid.callEvent("onHeaderClick",[el._cellIndexS,(e||window.event)]))){return false}that.sortField(el._cellIndexS,false,el)}this.grid.resized=null};this.deleteSelectedRows=function(){var num=this.selectedRows.length;if(num==0){return}var tmpAr=this.selectedRows;this.selectedRows=dhtmlxArray();for(var i=num-1;i>=0;i--){var node=tmpAr[i];if(!this.deleteRow(node.idd,node)){this.selectedRows[this.selectedRows.length]=node}else{if(node==this.row){var ind=i}}}if(ind){try{if(ind+1>this.rowsCol.length){ind--}this.selectCell(ind,0,true)}catch(er){this.row=null;this.cell=null}}};this.getSelectedRowId=function(){var selAr=new Array(0);var uni={};for(var i=0;i]+)\].*/,"$1");label=label.substr(label.indexOf("]")+1,label.length);hdrHTML+=""}hdrHTML+=label;hdrHTML+="";z.cells[col].innerHTML=hdrHTML;if(this._hstyles[c]){z.cells[col].style.cssText=this._hstyles[c]}}else{z.cells[col].style.textAlign="left";z.cells[col].innerHTML="";var a=new Image();a.src=""+label.replace(/(\.[a-z]+)/,".des$1");this.preloadImagesAr[this.preloadImagesAr.length]=a;var b=new Image();b.src=""+label.replace(/(\.[a-z]+)/,".asc$1");this.preloadImagesAr[this.preloadImagesAr.length]=b}if((label||"").indexOf("#")!=-1){var t=label.match(/(^|{)#([^}]+)(}|$)/);if(t){var tn="_in_header_"+t[2];if(this[tn]){this[tn]((this.forceDivInHeader?z.cells[col].firstChild:z.cells[col]),col,label.split(t[0]))}}}};this.setColLabel=function(a,b,ind,c){return this.setColumnLabel(a,b,(ind||0)+1,c)};this.clearAll=function(header){if(!this.obj.rows[0]){return}if(this._h2){this._h2=this._createHierarchy();if(this._fake){if(this._realfake){this._h2=this._fake._h2}else{this._fake._h2=this._h2}}}this.limit=this._limitC=0;this.editStop(true);if(this._dLoadTimer){window.clearTimeout(this._dLoadTimer)}if(this._dload){this.objBox.scrollTop=0;this.limit=this._limitC||0;this._initDrF=true}var len=this.rowsCol.length;len=this.obj.rows.length;for(var i=len-1;i>0;i--){var t_r=this.obj.rows[i];t_r.parentNode.removeChild(t_r)}if(header){this._master_row=null;this.obj.rows[0].parentNode.removeChild(this.obj.rows[0]);for(var i=this.hdr.rows.length-1;i>=0;i--){var t_r=this.hdr.rows[i];t_r.parentNode.removeChild(t_r)}if(this.ftr){this.ftr.parentNode.removeChild(this.ftr);this.ftr=null}this._aHead=this.ftr=this.cellWidth=this._aFoot=null;this.cellType=dhtmlxArray();this._hrrar=[];this.columnIds=[];this.combos=[];this._strangeParams=[];this.defVal=[];this._ivizcol=null}this.row=null;this.cell=null;this.rowsCol=dhtmlxArray();this.rowsAr={};this._RaSeCol=[];this.rowsBuffer=dhtmlxArray();this.UserData=[];this.selectedRows=dhtmlxArray();if(this.pagingOn||this._srnd){this.xmlFileUrl=""}if(this.pagingOn){this.changePage(1)}if(this._contextCallTimer){window.clearTimeout(this._contextCallTimer)}if(this._sst){this.enableStableSorting(true)}this._fillers=this.undefined;this.setSortImgState(false);this.setSizes();this.callEvent("onClearAll",[])};this.sortField=function(ind,repeatFl,r_el){if(this.getRowsNum()==0){return false}var el=this.hdr.rows[0].cells[ind];if(!el){return}if(el.tagName=="TH"&&(this.fldSort.length-1)>=el._cellIndex&&this.fldSort[el._cellIndex]!="na"){var data=this.getSortingState();var sortType=(data[0]==ind&&data[1]=="asc")?"des":"asc";if(!this.callEvent("onBeforeSorting",[ind,this.fldSort[ind],sortType])){return}this.sortImg.className="dhxgrid_sort_"+(sortType=="asc"?"asc":"desc");if(this.useImagesInHeader){var cel=this.hdr.rows[1].cells[el._cellIndex].firstChild;if(this.fldSorted!=null){var celT=this.hdr.rows[1].cells[this.fldSorted._cellIndex].firstChild;celT.src=celT.src.replace(/(\.asc\.)|(\.des\.)/,".")}cel.src=cel.src.replace(/(\.[a-z]+)$/,"."+sortType+"$1")}this.sortRows(el._cellIndex,this.fldSort[el._cellIndex],sortType);this.fldSorted=el;if(r_el&&r_el.tagName.toLowerCase()!="th"){this.r_fldSorted=r_el}var c=this.hdr.rows[1];var c=r_el.parentNode;var real_el=c._childIndexes?c._childIndexes[el._cellIndex]:el._cellIndex;this.setSortImgPos(false,false,false,r_el)}};this.setCustomSorting=function(func,col){if(!this._customSorts){this._customSorts=new Array()}this._customSorts[col]=(typeof(func)=="string")?eval(func):func;this.fldSort[col]="cus"};this.enableHeaderImages=function(fl){this.useImagesInHeader=fl};this.setHeader=function(hdrStr,splitSign,styles){if(typeof(hdrStr)!="object"){var arLab=this._eSplit(hdrStr)}else{arLab=[].concat(hdrStr)}var arWdth=new Array(0);var arTyp=new dhtmlxArray(0);var arAlg=new Array(0);var arVAlg=new Array(0);var arSrt=new Array(0);for(var i=0;i";if(this.isTreeGrid()){this._h2.forEachChildF(0,function(el){var temp=this._serializeRow(this.render_row_tree(-1,el.id));out.push(temp);if(temp){return true}else{return false}},this,function(){out.push(close)})}else{for(var i=0;i");if(this._sUDa&&this.UserData[r.idd]){keysAr=this.UserData[r.idd].getKeys();for(var ii=0;ii"+(this._asCDATA?"":"")+"")}}}var changeFl=false;for(var jj=0;jj"}if((this._ecspn)&&(zx.cell.colSpan)&&zx.cell.colSpan>1){out.push(' colspan="'+zx.cell.colSpan+'" ')}if(this._chAttr){if(zx.wasChanged()){out.push(' changed="1"');changeFl=true}}else{if((this._onlChAttr)&&(zx.wasChanged())){changeFl=true}}if(this._sAll&&this.cellType[jj]=="tree"){out.push((this._h2?(" image='"+this._h2.get[r.idd].image+"'"):"")+">"+zxVal+"")}else{out.push(">"+zxVal+"")}if((this._ecspn)&&(zx.cell.colSpan)){for(var u=0;u");jj++}}}}if((this._onlChAttr)&&(!changeFl)&&(!r._added)){return""}return out.join("")};this._serialiseConfig=function(){var out="";for(var i=0;i";if(this._asCDATA){out+=""}else{out+=this.getColumnLabel(i)}var z=this.getCombo(i);if(z){for(var j=0;j"+z.values[j]+""}}out+=""}return out+=""};this.serialize=function(){var out='';if(this._mathSerialization){this._agetm="getMathValue"}else{this._agetm="getValue"}if(this._sUDa&&this.UserData.gridglobaluserdata){var keysAr=this.UserData.gridglobaluserdata.getKeys();for(var i=0;i"+this.UserData.gridglobaluserdata.get(keysAr[i])+""}}if(this._sConfig){out+=this._serialiseConfig()}out+=this._serialise();out+="";return out};this.getPosition=function(oNode,pNode){if(!pNode){var pos=dhx4.getOffset(oNode);return[pos.left,pos.top]}pNode=pNode||document.body;var oCurrentNode=oNode;var iLeft=0;var iTop=0;while((oCurrentNode)&&(oCurrentNode!=pNode)){iLeft+=oCurrentNode.offsetLeft-oCurrentNode.scrollLeft;iTop+=oCurrentNode.offsetTop-oCurrentNode.scrollTop;oCurrentNode=oCurrentNode.offsetParent}if(pNode==document.body){if(_isIE){iTop+=document.body.offsetTop||document.documentElement.offsetTop;iLeft+=document.body.offsetLeft||document.documentElement.offsetLeft}else{if(!_isFF){iLeft+=document.body.offsetLeft;iTop+=document.body.offsetTop}}}return[iLeft,iTop]};this.getFirstParentOfType=function(obj,tag){while(obj&&obj.tagName!=tag&&obj.tagName!="BODY"){obj=obj.parentNode}return obj};this.objBox.onscroll=function(){this.grid._doOnScroll()};this.hdrBox.onscroll=function(){if(this._try_header_sync){return}this._try_header_sync=true;if(Math.abs(this.grid.objBox.scrollLeft-this.scrollLeft)>1){this.grid.objBox.scrollLeft=this.scrollLeft}this._try_header_sync=false};if((!_isOpera)||(_OperaRv>8.5)){this.hdr.onmousemove=function(e){this.grid.changeCursorState(e||window.event)};this.hdr.onmousedown=function(e){return this.grid.startColResize(e||window.event)}}this.obj.onmousemove=this._drawTooltip;this.objBox.onclick=function(e){e=e||event;e.cancelBubble=true;this.firstChild.grid.setActive(true);window.dhx4.callEvent("_onGridClick",[e,this.firstChild.grid])};this.obj.onclick=function(e){if(this.grid._doClick(e||window.event)!==false){if(this.grid._sclE){this.grid.editCell(e||window.event)}else{this.grid.editStop()}}e=e||event;e.cancelBubble=true;window.dhx4.callEvent("_onGridClick",[e,this.grid])};if(_isMacOS){this.entBox.oncontextmenu=function(e){e.cancelBubble=true;if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}var that=this.grid;if(that._realfake){that=that._fake}return that._doContClick(e||window.event)}}else{this.entBox.onmousedown=function(e){return this.grid._doContClick(e||window.event)};this.entBox.oncontextmenu=function(e){if(this.grid._ctmndx){(e||event).cancelBubble=true}return !this.grid._ctmndx}}this.obj.ondblclick=function(e){if(!this.grid.wasDblClicked(e||window.event)){return false}if(this.grid._dclE){var row=this.grid.getFirstParentOfType((_isIE?event.srcElement:e.target),"TR");if(row==this.grid.row){this.grid.editCell(e||window.event)}}(e||event).cancelBubble=true;if(_isOpera){return false}};this.hdr.onclick=this._onHeaderClick;this.sortImg.onclick=function(){self._onHeaderClick.apply({grid:self},[null,self.r_fldSorted])};this.hdr.ondblclick=this._onHeaderDblClick;if(!document.body._dhtmlxgrid_onkeydown){dhtmlxEvent(document,"keydown",function(e){if(globalActiveDHTMLGridObject){return globalActiveDHTMLGridObject.doKey(e||window.event)}});document.body._dhtmlxgrid_onkeydown=true}dhtmlxEvent(document.body,"click",function(){if(self.editStop){self.editStop()}if(self.isActive){self.setActive(false)}});if(this.entBox.style.height.toString().indexOf("%")!=-1){this._delta_y=this.entBox.style.height}if(this.entBox.style.width.toString().indexOf("%")!=-1){this._delta_x=this.entBox.style.width}if(this._delta_x||this._delta_y){this._setAutoResize()}this.setColHidden=this.setColumnsVisibility;this.enableCollSpan=this.enableColSpan;this.setMultiselect=this.enableMultiselect;this.setMultiLine=this.enableMultiline;this.deleteSelectedItem=this.deleteSelectedRows;this.getSelectedId=this.getSelectedRowId;this.getHeaderCol=this.getColumnLabel;this.isItemExists=this.doesRowExist;this.getColumnCount=this.getColumnsNum;this.setSelectedRow=this.selectRowById;this.setHeaderCol=this.setColumnLabel;this.preventIECashing=this.preventIECaching;this.enableAutoHeigth=this.enableAutoHeight;this.getUID=this.uid;if(dhtmlx.image_path){this.setImagePath(dhtmlx.image_path)}if(dhtmlx.skin){this.setSkin(dhtmlx.skin)}return this}dhtmlXGridObject.prototype={getRowAttribute:function(c,a){return this.getRowById(c)._attrs[a]},setRowAttribute:function(e,a,c){this.getRowById(e)._attrs[a]=c},isTreeGrid:function(){return(this.cellType._dhx_find("tree")!=-1)},setRowHidden:function(j,e){var c=dhx4.s2b(e);var h=this.getRowById(j);if(!h){return}if(h.expand===""){this.collapseKids(h)}if((e)&&(h.style.display!="none")){h.style.display="none";var g=this.selectedRows._dhx_find(h);if(g!=-1){h.className=h.className.replace("rowselected","");for(var a=0;a0){var c=this[e];this[e]=this[e+1];this[e+1]=c}}h--}}},enableKeyboardSupport:function(a){this._htkebl=!dhx4.s2b(a)},enableContextMenu:function(a){this._ctmndx=a},setScrollbarWidthCorrection:function(a){},enableTooltips:function(c){this._enbTts=c.split(",");for(var a=0;a-1){a=g.length-a-1}var c=g.indexOf(",");if(c>-1){c=g.length-a-2-c}if(typeof h!="string"){h=this.i18n.decimal_separator}if(typeof l!="string"){l=this.i18n.group_separator}var n=m.split(g)[0];var j=m.split(g)[1];this._maskArr[e]=[a,c,n,j,h,l]},_aplNFb:function(h,g){var c=this._maskArr[g];if(!c){return h}var e=parseFloat(h.toString().replace(/[^0-9]*/g,""));if(h.toString().substr(0,1)=="-"){e=e*-1}if(c[0]>0){e=e/Math.pow(10,c[0])}return e},_aplNF:function(l,h){var e=this._maskArr[h];if(!e){return l}var m=(parseFloat(l)<0?"-":"")+e[2];l=Math.abs(Math.round(parseFloat(l)*Math.pow(10,e[0]>0?e[0]:0))).toString();l=(l.length0){for(var g=(e[0]>0?0:1)+e[0]+e[1];g0){if(this.hdr.rows.length>0){this.clearAll(true)}var a=[[],[],[],[],[],[],[],[],[]];var u=["","width","type","align","sort","color","format","hidden","id"];var r=["",A,"setColTypes","setColAlign","setColSorting","setColumnColor","","","setColumnIds"];for(var y=0;y0){if(!this.UserData.gridglobaluserdata){this.UserData.gridglobaluserdata=new Hashtable()}for(var x=0;x=this.grid._cCount){return}var a=this.grid.cells3(h,l._cellIndex);if(!a||!a.cell||!a.cell._attrs){return}if(g._title){a.cell.title=""}if(!a.cell._attrs.title){g._title=true}if(a){g.title=a.cell._attrs.title||(a.getTitle?a.getTitle():(a.getValue()||"").toString().replace(/<[^>]*>/gi,""))}return true},enableCellWidthCorrection:function(a){if(_isFF){this._wcorr=parseInt(a)}},getAllRowIds:function(e){var a=[];for(var c=0;c1)){if(a._childIndexes){var o=a._childIndexes[w]}else{var o=w;a._childIndexes=new Array();for(var u=0;ug){g=s}}document.body.removeChild(r);g+=20+(e||0);this._setColumnSizeR(q,g);this._notresize=false;this.setSizes()},detachHeader:function(a,e){e=e||this.hdr;var c=e.rows[a+1];if(c){c.parentNode.removeChild(c)}this.setSizes()},detachFooter:function(a){this.detachHeader(a,this.ftr)},attachHeader:function(a,g,c){if(typeof(a)=="string"){a=this._eSplit(a)}if(typeof(g)=="string"){g=g.split(this.delim)}c=c||"_aHead";if(this.hdr.rows.length){if(a){this._createHRow([a,g],this[(c=="_aHead")?"hdr":"ftr"])}else{if(this[c]){for(var e=0;e1)){var x=q.rows.length-2;var v=false;var n=null;while(!v){var n=q.rows[x];for(var c=0;c"+(e[0][g]||" ")+""}else{o.innerHTML=(e[0][g]||" ")}if((e[0][g]||"").indexOf("#")!=-1){var u=e[0][g].match(/(^|{)#([^}]+)(}|$)/);if(u){var r="_in_header_"+u[2];if(this[r]){this[r]((this.forceDivInHeader?o.firstChild:o),g,e[0][g].split(u[0]))}}}}if(h){o.style.cssText=h[g]}m.appendChild(o)}var s=q;if(_isKHTML){if(q._kTimer){window.clearTimeout(q._kTimer)}q._kTimer=window.setTimeout(function(){q.rows[1].style.display="none";window.setTimeout(function(){q.rows[1].style.display=""},1)},500)}},attachFooter:function(a,c){this.attachHeader(a,c,"_aFoot")},setCellExcellType:function(e,a,c){this.changeCellType(this.getRowById(e),a,c)},disableCell:function(h,a,g){this.cells(h,a).setDisabled(g);if(this._fake){var e=this.getRowById(h);var c=this._bfs_cells3(e,a);c.cell._disabled=g}},getCellExcellType:function(c,a){var g=this.getRowById(c);var e=this.cells3(g,a);return e.cell._cellType||this.cellType[a]},changeCellType:function(e,g,c){c=c||this.cellType[g];var h=this.cells3(e,g);var a=h.getValue();h.cell._cellType=c;var h=this.cells3(e,g);h.setValue(a)},setRowExcellType:function(e,c){var g=this.rowsAr[e];for(var a=0;ah.c?1:-1)});for(var e=0;e"];for(var a=0;a")}c.push("");e.innerHTML=c.join("");this._master_row=e.firstChild.rows[0]},_prepareRow:function(a){if(!this._master_row){this._build_master_row()}var e=this._master_row.cloneNode(true);for(var c=0;c=0;h--){var n="";for(var e=0;e0){var j=(_isIE||window._FFrv)?Math.min(c,e):c;var l=this._add_filler(n,j);if(l){this._fillers.push(l)}c-=j;n+=j}}this.setSizes()},render_row:function(c){if(!this.rowsBuffer[c]){return -1}if(this.rowsBuffer[c]._parser){var a=this.rowsBuffer[c];if(this.rowsAr[a.idd]&&this.rowsAr[a.idd].tagName=="TR"){return this.rowsBuffer[c]=this.rowsAr[a.idd]}var e=this._prepareRow(a.idd);this.rowsBuffer[c]=e;this.rowsAr[a.idd]=e;a._parser.call(this,e,a.data);this._postRowProcessing(e);return e}return this.rowsBuffer[c]},_get_cell_value:function(c,a,e){if(c._locator){if(this._c_order){a=this._c_order[a]}return c._locator.call(this,c.data,a)}return this.cells3(c,a)[e?e:"getValue"]()},sortRows:function(e,j,c){this.editStop();c=(c||"asc").toLowerCase();j=(j||this.fldSort[e]);e=e||0;if(this.isTreeGrid()){this.sortTreeRows(e,j,c)}else{var a={};var h=this.cellType[e];var l="getValue";if(h=="link"){l="getContent"}if(h=="dhxCalendar"||h=="dhxCalendarA"){l="getDate"}if(h=="co"||h=="coro"){l="getText"}for(var g=0;g4){j=window[j]}if(j=="cus"){var l=this._customSorts[e];h[g](function(n,m){return l(a[n.idd],a[m.idd],c,n.idd,m.idd)})}else{if(typeof(j)=="function"){h[g](function(n,m){return j(a[n.idd],a[m.idd],c,n.idd,m.idd)})}else{if(j=="str"){h[g](function(n,m){if(c=="asc"){return a[n.idd]>a[m.idd]?1:(a[n.idd]a[m.idd]?-1:0)}})}else{if(j=="int"){h[g](function(o,n){var m=parseFloat(a[o.idd]);m=isNaN(m)?-99999999999999:m;var q=parseFloat(a[n.idd]);q=isNaN(q)?-99999999999999:q;if(c=="asc"){return m-q}else{return q-m}})}else{if(j=="date"){h[g](function(o,n){var m=Date.parse(a[o.idd])||(Date.parse("01/01/1900"));var q=Date.parse(a[n.idd])||(Date.parse("01/01/1900"));if(c=="asc"){return m-q}else{return q-m}})}}}}}},_sortRows:function(e,g,c,a){this._sortCore(e,g,c,a,this.rowsBuffer);this._reset_view();this.callEvent("onGridReconstructed",[])},_reset_view:function(e){if(!this.obj.rows[0]){return}if(this._lahRw){this._unsetRowHover(0,true)}this.callEvent("onResetView",[]);var a=this.obj.rows[0].parentNode;var g=a.removeChild(a.childNodes[0],true);if(_isKHTML){for(var c=a.parentNode.childNodes.length-1;c>=0;c--){if(a.parentNode.childNodes[c].tagName=="TR"){a.parentNode.removeChild(a.parentNode.childNodes[c],true)}}}else{if(_isIE){for(var c=a.childNodes.length-1;c>=0;c--){a.childNodes[c].removeNode(true)}}else{a.innerHTML=""}}a.appendChild(g);this.rowsCol=dhtmlxArray();if(this._sst){this.enableStableSorting(true)}this._fillers=this.undefined;if(!e){if(_isIE&&this._srnd){this.render_dataset()}else{this.render_dataset()}}},deleteRow:function(c,g){if(!g){g=this.getRowById(c)}if(!g){return}this.editStop();if(!this._realfake){if(this.callEvent("onBeforeRowDeleted",[c])==false){return false}}var a=0;if(this.cellType._dhx_find("tree")!=-1&&!this._realfake){a=this._h2.get[c].parent.id;this._removeTrGrRow(g)}else{if(g.parentNode){g.parentNode.removeChild(g)}var j=this.rowsCol._dhx_find(g);if(j!=-1){this.rowsCol._dhx_removeAt(j)}for(var e=0;e=j){this._update_fillers(e,0,-1)}else{if(h[0]+h[1]>j){this._update_fillers(e,-1,0)}}}this._update_srnd_view()}if(this.pagingOn){this.changePage()}if(!this._realfake){this.callEvent("onAfterRowDeleted",[c,a])}this.callEvent("onGridReconstructed",[]);if(this._ahgr){this.setSizes()}return true},_addRow:function(l,m,c){if(c==-1||typeof c=="undefined"){c=this.rowsBuffer.length}if(typeof m=="string"){m=m.split(this.delim)}var n=this._prepareRow(l);n._attrs={};for(var e=0;e=c){h[1]=h[1]+1;var a=h[2].firstChild.style.height=parseInt(h[2].firstChild.style.height)+this._srdh+"px";o=true;if(this._fake){this._fake._fillers[g][1]++;this._fake._fillers[g][2].firstChild.style.height=a}}if(h&&h[0]>c){h[0]=h[0]+1;if(this._fake){this._fake._fillers[g][0]++}}}if(!o){this._fillers.push(this._add_filler(c,1,(c==0?{parentNode:this.obj.rows[0].parentNode,nextSibling:(this.rowsCol[1])}:this.rowsCol[c-1])))}return n}this.rowsBuffer._dhx_insertAt(c,n);return this._insertRowAt(n,c)},addRow:function(a,g,e){var c=this._addRow(a,g,e);if(!this.dragContext){this.callEvent("onRowAdded",[a])}if(this.pagingOn){this.changePage(this.currentPage)}if(this._srnd){this._update_srnd_view()}c._added=true;if(this._srnd&&!this._fillers){this._fillers=[]}if(this._ahgr){this.setSizes()}this.callEvent("onGridReconstructed",[]);return c},_insertRowAt:function(e,g,c){this.rowsAr[e.idd]=e;if(this._skipInsert){this._skipInsert=false;return e}if((g<0)||((!g)&&(parseInt(g)!==0))){g=this.rowsCol.length}else{if(g>this.rowsCol.length){g=this.rowsCol.length}}if(this._cssEven){var a=e.className.replace(this._cssUnEven,"");if((this._cssSP?this.getLevel(e.idd):g)%2==1){e.className=a+" "+this._cssUnEven+(this._cssSU?(" "+this._cssUnEven+"_"+this.getLevel(e.idd)):"")}else{e.className=a+" "+this._cssEven+(this._cssSU?(" "+this._cssEven+"_"+this.getLevel(e.idd)):"")}}if(!c){if((g==(this.obj.rows.length-1))||(!this.rowsCol[g])){if(_isKHTML){this.obj.appendChild(e)}else{this.obj.firstChild.appendChild(e)}}else{this.rowsCol[g].parentNode.insertBefore(e,this.rowsCol[g])}}this.rowsCol._dhx_insertAt(g,e);this.callEvent("onRowInserted",[e,g]);return e},getRowById:function(e){var c=this.rowsAr[e];if(c){if(c.tagName!="TR"){for(var a=0;a0){this.smartTabOrder=dhx4.s2b(a)}else{this.smartTabOrder=true}},setExternalTabOrder:function(h,a){var c=this;this.tabStart=(typeof(h)=="object")?h:document.getElementById(h);var e=this.tabStart.onkeydown;this.tabStart.onkeydown=function(l){if(e){e.call(this,l)}var j=(l||window.event);if(j.keyCode==9&&!j.shiftKey){j.cancelBubble=true;c.selectCell(0,0,0,0,1);if(c.smartTabOrder&&c.cells2(0,0).isDisabled()){c._key_events.k9_0_0.call(c)}this.blur();return false}};if(_isOpera){this.tabStart.onkeypress=this.tabStart.onkeydown}this.tabEnd=(typeof(a)=="object")?a:document.getElementById(a);var g=this.tabEnd.onkeydown;this.tabEnd.onkeydown=this.tabEnd.onkeypress=function(l){if(g){g.call(this,l)}var j=(l||window.event);if(j.keyCode==9&&j.shiftKey){j.cancelBubble=true;c.selectCell((c.getRowsNum()-1),(c.getColumnCount()-1),0,0,1);if(c.smartTabOrder&&c.cells2((c.getRowsNum()-1),(c.getColumnCount()-1)).isDisabled()){c._key_events.k9_0_1.call(c)}this.blur();return false}};if(_isOpera){this.tabEnd.onkeypress=this.tabEnd.onkeydown}},uid:function(){if(!this._ui_seed){this._ui_seed=(new Date()).valueOf()}return this._ui_seed++},setIconset:function(a){this.iconset=a},clearAndLoad:function(){if(this._last_load_request){var c=this._last_load_request.xmlDoc;if(c.readyState!=4){try{c.onreadystatechange=function(){};c.abort()}catch(g){}}}var a=this._pgn_skin;this._pgn_skin=null;this.clearAll();this._pgn_skin=a;this._last_load_request=this.load.apply(this,arguments)},getStateOfView:function(){if(this.pagingOn){var g=(this.currentPage-1)*this.rowsBufferOutSize;return[this.currentPage,g,Math.min(g+this.rowsBufferOutSize,this.rowsBuffer.length),this.rowsBuffer.length]}var c=Math.floor(this.objBox.scrollTop/this._srdh);var a=Math.ceil(parseInt(this.objBox.offsetHeight)/this._srdh);if(this.multiLine){var e=this.objBox.scrollTop;c=0;while(e>=0){e-=this.rowsCol[c]?this.rowsCol[c].offsetHeight:this._srdh;c++}c--;e+=this.objBox.offsetHeight;a=0;while(e>=0){e-=this.rowsCol[c+a]?this.rowsCol[c+a].offsetHeight:this._srdh;a++}}return[c,a,this.rowsBuffer.length]}};(function(){function g(l,m){this[l]=m}function j(l,m){this[l].call(this,m)}function e(l,m){this[l].call(this,m.join(this.delim))}function a(l,o){for(var n=0;n0?"&dhx_no_header=1":"")};var h=function(j){return a.call(this,j)+(this._connector_sorting||"")+(this._connector_filter||"")};var g=function(m,n,l){var j=this._c_order?this._c_order[n]:n;this._connector_sorting="&dhx_sort["+j+"]="+l;return h.call(this,m)};var e=function(m,j,o){var q=[];for(var n=0;n1?a:c)])};dhtmlXGridCellObject.prototype.setCTxtValue=function(a){this.cell.innerHTML="";this.cell.appendChild(document.createTextNode(a));this.grid.callEvent("onCellChanged",[this.cell.parentNode.idd,this.cell._cellIndex,a])};dhtmlXGridCellObject.prototype.setLabel=function(a){this.cell.innerHTML=a};dhtmlXGridCellObject.prototype.getMath=function(){if(this._val){return this.val}else{return this.getValue()}};function eXcell(){this.obj=null;this.val=null;this.changeState=function(){return false};this.edit=function(){this.val=this.getValue()};this.detach=function(){return false};this.getPosition=function(g){var a=g;var e=0;var c=0;while(a.tagName!="BODY"){e+=a.offsetLeft;c+=a.offsetTop;a=a.offsetParent}return new Array(e,c)}}eXcell.prototype=new dhtmlXGridCellObject;function eXcell_ed(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid}this.edit=function(){this.cell.atag=(!this.grid.multiLine)?"INPUT":"TEXTAREA";this.val=this.getValue();this.obj=document.createElement(this.cell.atag);this.obj.setAttribute("autocomplete","off");this.obj.style.height=(this.cell.offsetHeight-(this.grid.multiLine?9:4))+"px";this.obj.className="dhx_combo_edit";this.obj.wrap="soft";this.obj.style.textAlign=this.cell.style.textAlign;this.obj.onclick=function(c){(c||event).cancelBubble=true};this.obj.onmousedown=function(c){(c||event).cancelBubble=true};this.obj.value=this.val;this.cell.innerHTML="";this.cell.appendChild(this.obj);this.obj.onselectstart=function(c){if(!c){c=event}c.cancelBubble=true;return true};if(_isIE){this.obj.focus();this.obj.blur()}this.obj.focus()};this.getValue=function(){if((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName==this.cell.atag))){return this.cell.firstChild.value}if(this.cell._clearCell){return""}return this.cell.innerHTML.toString()._dhx_trim()};this.detach=function(){this.setValue(this.obj.value);return this.val!=this.getValue()}}eXcell_ed.prototype=new eXcell;function eXcell_edtxt(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid}this.getValue=function(){if((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName==this.cell.atag))){return this.cell.firstChild.value}if(this.cell._clearCell){return""}return(_isIE?this.cell.innerText:this.cell.textContent)};this.setValue=function(c){if(!c||c.toString()._dhx_trim()==""){c=" ";this.cell._clearCell=true}else{this.cell._clearCell=false}this.setCTxtValue(c)}}eXcell_edtxt.prototype=new eXcell_ed;function eXcell_edn(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid}this.getValue=function(){if((this.cell.firstChild)&&(this.cell.firstChild.tagName=="TEXTAREA")){return this.cell.firstChild.value}if(this.cell._clearCell){return""}return this.cell._orig_value||this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(),this.cell._cellIndex)};this.detach=function(){var c=this.obj.value;this.setValue(c);return this.val!=this.getValue()}}eXcell_edn.prototype=new eXcell_ed;eXcell_edn.prototype.setValue=function(a){if(!a||a.toString()._dhx_trim()==""){this.cell._clearCell=true;return this.setCValue(" ",0)}else{this.cell._clearCell=false;this.cell._orig_value=a}this.setCValue(this.grid._aplNF(a,this.cell._cellIndex),a)};function eXcell_ch(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid}this.disabledF=function(c){if((c==true)||(c==1)){this.cell.innerHTML=this.cell.innerHTML.replace("item_chk0.","item_chk0_dis.").replace("item_chk1.","item_chk1_dis.")}else{this.cell.innerHTML=this.cell.innerHTML.replace("item_chk0_dis.","item_chk0.").replace("item_chk1_dis.","item_chk1.")}};this.changeState=function(c){if(c===true&&!this.grid.isActive){if(window.globalActiveDHTMLGridObject!=null&&window.globalActiveDHTMLGridObject!=this.grid&&window.globalActiveDHTMLGridObject.isActive){window.globalActiveDHTMLGridObject.setActive(false)}this.grid.setActive(true)}if((!this.grid.isEditable)||(this.cell.parentNode._locked)||(this.isDisabled())){return}if(this.grid.callEvent("onEditCell",[0,this.cell.parentNode.idd,this.cell._cellIndex])){this.val=this.getValue();if(this.val=="1"){this.setValue("0")}else{this.setValue("1")}this.cell.wasChanged=true;this.grid.callEvent("onEditCell",[1,this.cell.parentNode.idd,this.cell._cellIndex]);this.grid.callEvent("onCheckbox",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!="1")]);this.grid.callEvent("onCheck",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!="1")])}else{this.editor=null}};this.getValue=function(){return this.cell.chstate?this.cell.chstate.toString():"0"};this.isCheckbox=function(){return true};this.isChecked=function(){if(this.getValue()=="1"){return true}else{return false}};this.setChecked=function(c){this.setValue(c.toString())};this.detach=function(){return this.val!=this.getValue()};this.edit=null}eXcell_ch.prototype=new eXcell;eXcell_ch.prototype.setValue=function(c){this.cell.style.verticalAlign="middle";if(c){c=c.toString()._dhx_trim();if((c=="false")||(c=="0")){c=""}}if(c){c="1";this.cell.chstate="1"}else{c="0";this.cell.chstate="0"}var a=this;this.cell.setAttribute("excell","ch");this.setCValue("",this.cell.chstate)};function eXcell_ra(a){this.base=eXcell_ch;this.base(a);this.grid=a.parentNode.grid;this.disabledF=function(c){if((c==true)||(c==1)){this.cell.innerHTML=this.cell.innerHTML.replace("radio_chk0.","radio_chk0_dis.").replace("radio_chk1.","radio_chk1_dis.")}else{this.cell.innerHTML=this.cell.innerHTML.replace("radio_chk0_dis.","radio_chk0.").replace("radio_chk1_dis.","radio_chk1.")}};this.changeState=function(c){if(c===false&&this.getValue()==1){return}if((!this.grid.isEditable)||(this.cell.parentNode._locked)||(this.isDisabled())){return}if(this.grid.callEvent("onEditCell",[0,this.cell.parentNode.idd,this.cell._cellIndex])!=false){this.val=this.getValue();if(this.val=="1"){this.setValue("0")}else{this.setValue("1")}this.cell.wasChanged=true;this.grid.callEvent("onEditCell",[1,this.cell.parentNode.idd,this.cell._cellIndex]);this.grid.callEvent("onCheckbox",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!="1")]);this.grid.callEvent("onCheck",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!="1")])}else{this.editor=null}};this.edit=null}eXcell_ra.prototype=new eXcell_ch;eXcell_ra.prototype.setValue=function(c){this.cell.style.verticalAlign="middle";if(c){c=c.toString()._dhx_trim();if((c=="false")||(c=="0")){c=""}}if(c){if(!this.grid._RaSeCol){this.grid._RaSeCol=[]}if(this.grid._RaSeCol[this.cell._cellIndex]){var e=this.grid._RaSeCol[this.cell._cellIndex];if(this.grid.rowsAr[e]){var a=this.grid.cells(e,this.cell._cellIndex);a.setValue("0");if(this.grid.rowsAr[a.cell.parentNode.idd]){this.grid.callEvent("onEditCell",[1,a.cell.parentNode.idd,a.cell._cellIndex])}}}this.grid._RaSeCol[this.cell._cellIndex]=this.cell.parentNode.idd;c="1";this.cell.chstate="1"}else{c="0";this.cell.chstate="0"}this.cell.setAttribute("excell","ra");this.setCValue("",this.cell.chstate)};function eXcell_txt(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid}this.edit=function(){this.val=this.getValue();this.obj=document.createElement("TEXTAREA");this.obj.className="dhx_textarea";this.obj.onclick=function(g){(g||event).cancelBubble=true};var c=this.grid.getPosition(this.cell);this.obj.value=this.val;this.obj.style.display="";this.obj.style.textAlign=this.cell.style.textAlign;document.body.appendChild(this.obj);if(_isOpera){this.obj.onkeypress=function(g){if(g.keyCode==9||g.keyCode==27){return false}}}this.obj.onkeydown=function(h){var g=(h||event);if(g.keyCode==9||g.keyCode==27){globalActiveDHTMLGridObject.entBox.focus();globalActiveDHTMLGridObject.doKey({keyCode:g.keyCode,shiftKey:g.shiftKey,srcElement:"0"});return false}};this.obj.style.left=c[0]+"px";this.obj.style.top=c[1]+this.cell.offsetHeight+"px";if(this.cell.offsetWidth<200){var e=200}else{var e=this.cell.offsetWidth}this.obj.style.width=e+16+"px";if(_isIE){this.obj.select();this.obj.value=this.obj.value}this.obj.focus()};this.detach=function(){var c="";c=this.obj.value;if(c==""){this.cell._clearCell=true}else{this.cell._clearCell=false}this.setValue(c);document.body.removeChild(this.obj);this.obj=null;return this.val!=this.getValue()};this.getValue=function(){if(this.obj){return this.obj.value}if(this.cell._clearCell){return""}if(typeof this.cell._brval!="undefined"){return this.cell._brval}if((!this.grid.multiLine)){return this.cell._brval||this.cell.innerHTML}else{return this.cell._brval||this.cell.innerHTML.replace(/]*>/gi,"\n")._dhx_trim()}}}eXcell_txt.prototype=new eXcell;function eXcell_txttxt(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid}this.getValue=function(){if((this.cell.firstChild)&&(this.cell.firstChild.tagName=="TEXTAREA")){return this.cell.firstChild.value}if(this.cell._clearCell){return""}if((!this.grid.multiLine)&&this.cell._brval){return this.cell._brval}return(_isIE?this.cell.innerText:this.cell.textContent)};this.setValue=function(c){this.cell._brval=c;if(!c||c.toString()._dhx_trim()==""){c=" ";this.cell._clearCell=true}else{this.cell._clearCell=false}this.setCTxtValue(c)}}eXcell_txttxt.prototype=new eXcell_txt;eXcell_txt.prototype.setValue=function(a){this.cell._brval=a;if(!a||a.toString()._dhx_trim()==""){a=" ";this.cell._clearCell=true}else{this.cell._clearCell=false}if((!this.grid.multiLine)||this.cell._clearCell){this.setCValue(a,this.cell._brval)}else{this.setCValue(a.replace(/\n/g,"
    "),a)}};function eXcell_co(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid;this.combo=(this.cell._combo||this.grid.getCombo(this.cell._cellIndex));this.editable=true}this.shiftNext=function(){var c=this.list.options[this.list.selectedIndex+1];if(c){c.selected=true}this.obj.value=this.list.options[this.list.selectedIndex].text;return true};this.shiftPrev=function(){if(this.list.selectedIndex!=0){var c=this.list.options[this.list.selectedIndex-1];if(c){c.selected=true}this.obj.value=this.list.options[this.list.selectedIndex].text}return true};this.edit=function(){this.val=this.getValue();this.text=this.getText()._dhx_trim();var g=this.grid.getPosition(this.cell);this.obj=document.createElement("TEXTAREA");this.obj.className="dhx_combo_edit";this.obj.style.height=(this.cell.offsetHeight-(this.grid.multiLine?9:4))+"px";this.obj.wrap="soft";this.obj.style.textAlign=this.cell.style.textAlign;this.obj.onclick=function(n){(n||event).cancelBubble=true};this.obj.onmousedown=function(n){(n||event).cancelBubble=true};this.obj.value=this.text;this.obj.onselectstart=function(n){if(!n){n=event}n.cancelBubble=true;return true};var j=this;this.obj.onkeyup=function(q){var o=(q||event).keyCode;if(o==38||o==40||o==9){return}var r=this.readonly?String.fromCharCode(o):this.value;var s=j.list.options;for(var n=0;n ",a);this.cell.firstChild._bg=a};function eXcell_img(a){try{this.cell=a;this.grid=this.cell.parentNode.grid}catch(c){}this.getValue=function(){if(this.cell.firstChild.tagName=="IMG"){return this.cell._image_src_value+(this.cell.titFl!=null?"^"+this.cell._brval:"")}else{if(this.cell.firstChild.tagName=="A"){var e=this.cell._image_src_value+(this.cell.titFl!=null?"^"+this.cell._brval:"");e+="^"+this.cell.lnk;if(this.cell.trg){e+="^"+this.cell.trg}return e}}};this.isDisabled=function(){return true}}eXcell_img.prototype=new eXcell;eXcell_img.prototype.getTitle=function(){return this.cell._brval};eXcell_img.prototype.setValue=function(e){var c=e;if((e||"").indexOf("^")!=-1){var a=e.split("^");e=a[0];c=this.cell._attrs.title||a[1];if(a.length>2){this.cell.lnk=a[2];if(a[3]){this.cell.trg=a[3]}}this.cell.titFl="1"}if(!this.grid.multiLine){this.setCValue("",e)}else{this.setCValue("",e)}if(this.cell.lnk){this.cell.innerHTML=""+this.cell.innerHTML+""}this.cell._brval=c;this.cell._image_src_value=e};function eXcell_icon(a){this.base=eXcell_ed;this.base(a);try{this.cell=a;this.grid=this.cell.parentNode.grid}catch(c){}this.setValue=function(e){this.cell._raw_value=e;this.setCValue('
    ')};this.getValue=function(){return this.cell._raw_value};this.isDisabled=function(){return true}}eXcell_icon.prototype=new eXcell_ed;function eXcell_price(a){this.base=eXcell_ed;this.base(a);this.getValue=function(){if(this.cell.childNodes.length>1){return this.cell.childNodes[1].innerHTML.toString()._dhx_trim()}else{return"0"}}}eXcell_price.prototype=new eXcell_ed;eXcell_price.prototype.setValue=function(c){if(isNaN(parseFloat(c))){c=this.val||0}var a="green";if(c<0){a="red"}this.setCValue("$"+c+"",c)};function eXcell_dyn(a){this.base=eXcell_ed;this.base(a);this.getValue=function(){if(!this.cell.firstChild.childNodes[1]){return""}var e=this.cell.firstChild.childNodes[1].innerHTML.toString()._dhx_trim();var c=this.grid._aplNFb(e,this.cell._cellIndex);if(isNaN(Number(c))){return e}return c}}eXcell_dyn.prototype=new eXcell_ed;eXcell_dyn.prototype.getValue=function(){var a=eXcell_ed.prototype.getValue.call(this);return};eXcell_dyn.prototype.setValue=function(e){if(!e||isNaN(Number(e))){if(e!==""){e=0}}else{if(e>0){var c="green";var a="dyn_up.gif"}else{if(e==0){var c="black";var a="dyn_.gif"}else{var c="red";var a="dyn_down.gif"}}e=this.grid._aplNF(e,this.cell._cellIndex)}this.setCValue("
    "+e+"
    ",e)};function eXcell_ro(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid}this.edit=function(){};this.isDisabled=function(){return true};this.getValue=function(){return this.cell._clearCell?"":this.cell.innerHTML.toString()._dhx_trim()}}eXcell_ro.prototype=new eXcell;window.eXcell_hidden=function(a){if(a){this.cell=a;this.grid=this.cell.parentNode.grid}this.edit=function(){};this.isDisabled=function(){return true};this.getValue=function(){return this.cell.val}};eXcell_hidden.prototype=new eXcell;eXcell_hidden.prototype.setValue=function(a){this.cell.val=a};function eXcell_ron(a){this.cell=a;this.grid=this.cell.parentNode.grid;this.edit=function(){};this.isDisabled=function(){return true};this.getValue=function(){return this.cell._clearCell?"":this.cell._orig_value||this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(),this.cell._cellIndex).toString()}}eXcell_ron.prototype=new eXcell;eXcell_ron.prototype.setValue=function(a){if(a===0){}else{if(!a||a.toString()._dhx_trim()==""){this.setCValue(" ");return this.cell._clearCell=true}}this.cell._orig_value=a;this.cell._clearCell=false;this.setCValue(a?this.grid._aplNF(a,this.cell._cellIndex):"0")};function eXcell_rotxt(a){this.cell=a;this.grid=this.cell.parentNode.grid;this.edit=function(){};this.isDisabled=function(){return true};this.setValue=function(c){if(!c){c=" ";this.cell._clearCell=true}else{this.cell._clearCell=false}this.setCTxtValue(c)};this.getValue=function(){if(this.cell._clearCell){return""}return(_isIE?this.cell.innerText:this.cell.textContent)}}eXcell_rotxt.prototype=new eXcell;function dhtmlXGridComboObject(){this.keys=new dhtmlxArray();this.values=new dhtmlxArray();this.put=function(c,e){for(var a=0;a=0;c--){if(this._checkParent(this.rowsAr[j[c]],j)){j.splice(c,1)}}}var o=this;if(j.length&&this._dndorder){j.sort(function(q,e){return(o.rowsAr[q].rowIndex>o.rowsAr[e].rowIndex?1:-1)})}var a=this.getFirstParentOfType(_isIE?h.srcElement:h.target,"TD");if(a){this._dndExtra=a._cellIndex}this._dragged=new Array();for(var c=0;c=0&&this.tobj._h2.get[this.tobj.rowsBuffer[a].idd].state=="minus")?this.tobj._getOpenLenght(this.tobj.rowsBuffer[a].idd,0):0))};dragContext.prototype.img=function(){if((this.target!="grid")&&(this.sobj._h2)){return this.sobj.getItemImage(this.sid)}else{return null}};dragContext.prototype.slist=function(){var c=new Array();for(var a=0;a(parseInt(this.objBox.offsetHeight)-50)){this.objBox.scrollTop=parseInt(this.objBox.scrollTop)+20}if((e-a+parseInt(this.objBox.scrollTop))<(parseInt(this.objBox.scrollTop)+30)){this.objBox.scrollTop=parseInt(this.objBox.scrollTop)-20}if(h){return 0}if(this.dadmode==2){var l=m-e+(document.body.scrollTop||document.documentElement.scrollTop)-2-j.offsetHeight/2;if((Math.abs(l)-j.offsetHeight/6)>0){this.dadmodec=1;if(l<0){this.dadmodefix=-1}else{this.dadmodefix=1}}else{this.dadmodec=0}}else{this.dadmodec=this.dadmode}if(this.dadmodec){if(!this._sdrgc){this._createSdrgc()}this._sdrgc.style.display="block";this._sdrgc.style.top=e-a+parseInt(this.objBox.scrollTop)+((this.dadmodefix>=0)?j.offsetHeight:0)+"px"}else{this._llSelD=j;if(j.parentNode.tagName=="TR"){for(var g=0;g$/,"columns>");for(var J=2;J=a._fake.hdrLabels.length))){C++;continue}var P=L[J][I];var O=((P[0]&&P[0]>1)?' colspan="'+P[0]+'" ':"");if(P[1]&&P[1]>1){O+=' rowspan="'+P[1]+'" ';C=-1}var D="";var H=Q;if(a._fake&&I"}if(C!=a._cCount){K+="\n"+M+""}}K+="\n";K+=n();return K}function e(){var C=[];if(m){for(var D=0;D"];if(!a.ftr){return""}for(var F=1;F");var J=a.ftr.rows[F];for(var D=0;D=a._fake.hdrLabels.length)){continue}for(var C=0;C")}E.push("")}E.push("");return E.join("\n")}function l(D,C){return(window.getComputedStyle?(window.getComputedStyle(D,null)[C]):(D.currentStyle?D.currentStyle[C]:null))||""}function s(F){if(!a.rowsBuffer[F]){return""}var C=a.render_row(F);if(C.style.display=="none"){return""}var D=a.isTreeGrid()?' level="'+a.getLevel(C.idd)+'"':"";var K="";for(var I=0;I"}else{K+=""}K+=""}}return K+""}function q(){var C="";return C}var x=document.createElement("div");x.style.display="none";document.body.appendChild(x);var j="form_"+a.uid();x.innerHTML='
    ';document.getElementById(j).firstChild.value=encodeURIComponent(y(o).replace("\u2013","-")+e()+q());document.getElementById(j).submit();x.parentNode.removeChild(x);a=null;if(h&&h.row.length){for(var v=0;v/g,">");return j}var c="";for(var e=0;e=this._fake.hdrLabels.length)){continue}var g=this.fldSort[e];if(g=="cus"){g=this._customSorts[e].toString();g=g.replace(/function[\ ]*/,"").replace(/\([^\f]*/,"")}var o=l[1][e];var m=((o[1]&&o[1]>1)?' rowspan="'+o[1]+'" ':"")+((o[0]&&o[0]>1)?' colspan="'+o[0]+'" ':"");c+=""}return c+=""};if(window.eXcell_sub_row_grid){window.eXcell_sub_row_grid.prototype.getContent=function(){return""}}dhtmlXGridObject.prototype.toExcel=function(a,g,l,j,c){if(!document.getElementById("ifr")){var h=document.createElement("iframe");h.style.display="none";h.setAttribute("name","dhx_export_iframe");h.setAttribute("src","");h.setAttribute("id","dhx_export_iframe");document.body.appendChild(h)}var e=' target="dhx_export_iframe"';this.toPDF(a,g,l,j,c,e)};dhtmlXGridObject.prototype.filterBy=function(e,g,c){if(this.isTreeGrid()){return this.filterTreeBy(e,g,c)}if(this._f_rowsBuffer){if(!c){this.rowsBuffer=dhtmlxArray([].concat(this._f_rowsBuffer));if(this._fake){this._fake.rowsBuffer=this.rowsBuffer}}}else{this._f_rowsBuffer=[].concat(this.rowsBuffer)}if(!this.rowsBuffer.length){return}var h=true;this.dma(true);if(typeof(e)=="object"){for(var a=0;a=0;a--){if(g?(this._get_cell_value(this.rowsBuffer[a],c).toString().toLowerCase().indexOf(e)==-1):(!e.call(this,this._get_cell_value(this.rowsBuffer[a],c),this.rowsBuffer[a].idd))){this.rowsBuffer.splice(a,1)}}};dhtmlXGridObject.prototype.getFilterElement=function(a){if(!this.filters){return}for(var c=0;c=this._cCount){continue}c.push(j);var l=this.filters[g][0].old_value=this.filters[g][0].value;if(this.filters[g][0]._filter){l=this.filters[g][0]._filter()}var h;if(typeof l!="function"&&(h=(this.combos[j]||((this._col_combos&&this._col_combos[j])?this._col_combos[j]:((this._sub_trees&&this._sub_trees[j])?this._sub_trees[j][1]:false))))){if(h.values){j=h.values._dhx_find(l);l=(j==-1)?l:h.keys[j]}else{if(h.getOptionByLabel){l=(h.getOptionByLabel(l)?h.getOptionByLabel(l).value:l)}else{l=h[l]}}}e.push(l)}if(!this.callEvent("onFilterStart",[c,e])){return}this.filterBy(c,e);if(this._cssEven){this._fixAlterCss()}this.callEvent("onFilterEnd",[this.filters]);if(this._f_rowsBuffer&&this.rowsBuffer.length==this._f_rowsBuffer.length){this._f_rowsBuffer=null}};dhtmlXGridObject.prototype.makeFilter=function(h,e,c){if(!this.filters){this.filters=[]}if(typeof(h)!="object"){h=document.getElementById(h)}if(!h){return}var a=this;if(!h.style.width){h.style.width="90%"}if(h.tagName=="SELECT"){this.filters.push([h,e]);this._loadSelectOptins(h,e);h.onchange=function(){a.filterByAll()};if(_isIE){h.style.marginTop="1px"}this.attachEvent("onEditCell",function(l,j,m){this._build_m_order();if(l==2&&this.filters&&(this._m_order?(m==this._m_order[e]):(m==e))){this._loadSelectOptins(h,e)}return true})}else{if(h.tagName=="INPUT"){this.filters.push([h,e]);h.old_value=h.value="";h.onkeydown=function(){if(this._timer){window.clearTimeout(this._timer)}this._timer=window.setTimeout(function(){if(h.value!=h.old_value){a.filterByAll();h.old_value=h.value}},500)}}else{if(h.tagName=="DIV"){this.filters.push([h,e]);h.style.padding="0px";h.style.margin="0px";if(!window.dhx_globalImgPath){window.dhx_globalImgPath=this.imgURL}var g=new dhtmlXCombo(h,"_filter","90%");g.filterSelfA=g.filterSelf;g.filterSelf=function(){if(this.getSelectedIndex()==0){this.setComboText("")}this.filterSelfA.apply(this,arguments);this.optionsArr[0].hide(false)};g.enableFilteringMode(true);h.combo=g;h.value="";this._loadComboOptins(h,e);g.attachEvent("onChange",function(){h.value=g.getSelectedValue();if(h.value===null){h.value=""}a.filterByAll()})}}}if(h.parentNode){h.parentNode.className+=" filter"}this._filters_ready()};dhtmlXGridObject.prototype.findCell=function(l,m,g,h){var h=h||(function(n,j){return j.toString().toLowerCase().indexOf(n)!=-1});if(h===true){h=function(n,j){return j.toString().toLowerCase()==n}}var e=new Array();l=l.toString().toLowerCase();if(typeof g!="number"){g=g?1:0}if(!this.rowsBuffer.length){return e}for(var c=(m||0);c";c.onclick=c.onmousedown=function(g){(g||event).cancelBubble=true;return true};c.onselectstart=function(){return(event.cancelBubble=true)};this.makeFilter(c.firstChild,a)};dhtmlXGridObject.prototype._in_header_text_filter_inc=function(c,a){c.innerHTML="";c.onclick=c.onmousedown=function(g){(g||event).cancelBubble=true;return true};c.onselectstart=function(){return(event.cancelBubble=true)};this.makeFilter(c.firstChild,a);c.firstChild._filter=function(){if(c.firstChild.value==""){return""}return function(e){return(e.toString().toLowerCase().indexOf(c.firstChild.value.toLowerCase())==0)}};this._filters_ready()};dhtmlXGridObject.prototype._in_header_select_filter=function(c,a){c.innerHTML="";c.onclick=function(g){(g||event).cancelBubble=true;return false};this.makeFilter(c.firstChild,a)};dhtmlXGridObject.prototype._in_header_select_filter_strict=function(e,c){e.innerHTML="";e.onclick=function(g){(g||event).cancelBubble=true;return false};this.makeFilter(e.firstChild,c);var a=this.combos;e.firstChild._filter=function(){var g=e.firstChild.value;if(!g){return""}if(a[c]){g=a[c].keys[a[c].values._dhx_find(g)]}g=g.toLowerCase();return function(h){return(h.toString().toLowerCase()==g)}};this._filters_ready()};dhtmlXGridObject.prototype._in_header_combo_filter=function(c,a){c.innerHTML="
    ";c.onselectstart=function(){return(event.cancelBubble=true)};c.onclick=c.onmousedown=function(g){(g||event).cancelBubble=true;return true};this.makeFilter(c.firstChild,a)};dhtmlXGridObject.prototype._search_common=function(c,a){c.innerHTML="";c.onclick=c.onmousedown=function(g){(g||event).cancelBubble=true;return true};c.onselectstart=function(){return(event.cancelBubble=true)}};dhtmlXGridObject.prototype._in_header_text_search=function(e,c,a){this._search_common(e,c);this.makeSearch(e.firstChild,c)};dhtmlXGridObject.prototype._in_header_text_search_strict=function(c,a){this._search_common(c,a);this.makeSearch(c.firstChild,a,true)};dhtmlXGridObject.prototype._in_header_numeric_filter=function(c,a){this._in_header_text_filter.call(this,c,a);c.firstChild._filter=function(){var e=this.value;var h;var l="==";var g=parseFloat(e.replace("=",""));var j=null;if(e){if(e.indexOf("..")!=-1){e=e.split("..");g=parseFloat(e[0]);j=parseFloat(e[1]);return function(m){if(m>=g&&m<=j){return true}return false}}h=e.match(/>=|<=|>|"+h[1];var a=this;g.getElementsByTagName("input")[0].onclick=function(l){a._build_m_order();var c=a._m_order?a._m_order[e]:e;var m=this.checked?1:0;a.forEachRowA(function(n){var j=this.cells(n,c);if(j.isCheckbox()&&!j.isDisabled()){j.setValue(m);j.cell.wasChanged=true}this.callEvent("onEditCell",[1,n,c,m]);this.callEvent("onCheckbox",[n,c,m]);this.callEvent("onCheck",[n,c,m])});(l||event).cancelBubble=true}};dhtmlXGridObject.prototype._in_header_stat_total=function(e,a,h){var g=function(){var n=0;this._build_m_order();var m=this._m_order?this._m_order[a]:a;for(var l=0;lg&&e){e--}for(var o=e;g=l){break}}if(g>=l){break}g++;if(j.cell){zxVal=j[this._agetm]()}else{zxVal=""}if((this._chAttr)&&(j.wasChanged())){q=true}m[m.length]=((zxVal===null)?"":zxVal);if(this._ecspn&&h.colSpan&&h.colSpan>1){h=h.colSpan-1;for(var s=0;s0&&!e[o].length){e.splice(o,1)}return e},str:function(e,a,g){for(var c=0;c";if(!this.parentGrid){q+=(u||"")}q+='';var s=Math.max(this.rowsBuffer.length,this.rowsCol.length);var n=this._cCount;var v=this._printWidth();q+='';for(var C=0;C'+this.getHeaderCol(C)+"";C+=a-1}q+="";for(var C=2;C";var g=this.hdr.rows[C].childNodes;for(var A=0;A"}else{q+=""+(this._fake?this._fake.hdr.rows[C].innerHTML:"")+this.hdr.rows[C].innerHTML+""}}for(var C=0;C";if(this.rowsCol[C]&&this.rowsCol[C]._cntr){q+=this.rowsCol[C].innerHTML.replace(/]*>/gi,"")+"";continue}if(this.rowsCol[C]&&this.rowsCol[C].style.display=="none"){continue}var m;if(this.rowsCol[C]){m=this.rowsCol[C].idd}else{if(this.rowsBuffer[C]){m=this.rowsBuffer[C].idd}else{continue}}for(var A=0;A"+(w===""?" ":w)+"";if(E){A+=E-1}}q+="";if(this.rowsCol[C]&&this.rowsCol[C]._expanded){var l=this.cells4(this.rowsCol[C]._expanded.ctrl);if(l.getSubGrid){q+='"}else{q+='"}}}if(this.ftr){for(var C=1;C"+((this._fake)?this._fake.ftr.childNodes[0].rows[C].innerHTML:"")+this.ftr.childNodes[0].rows[C].innerHTML+""}}q+="
    '+l.getSubGrid().printView()+"
    '+this.rowsCol[C]._expanded.innerHTML+"
    ";if(this.parentGrid){return q}q+=(e||"");var F=window.open("","_blank");F.document.write(q);F.document.write(" + + + + +

    编辑静态表格

    + + + +
    +
    +
    +
    #
    +
    员工帐号 + +
    +
    性别 + +
    +
    年龄 + +
    +
    出生日期 + +
    +
    +
    + + + +
    +

    Description

    + +
    + + + + + + \ No newline at end of file diff --git a/src/gantt/webpack.config.js b/src/gantt/webpack.config.js new file mode 100644 index 0000000..4e7f72d --- /dev/null +++ b/src/gantt/webpack.config.js @@ -0,0 +1,10 @@ +// webpack4的配置 +module.exports = { + // webpack4需要添加这个配置,development为开发环境,production为生产环境 + mode: "development", + entry: __dirname + "/codebase/sources/dhtmlxgantt.js", // 之前提到的唯一入口文件 + output: { + path: __dirname + "/codebase", // 打包后的文件存放的地方 + filename: "dhtmlxgantt.js" // 打包后输出文件的文件名 + } +} \ No newline at end of file diff --git a/src/gantt/whatsnew.txt b/src/gantt/whatsnew.txt new file mode 100644 index 0000000..345921f --- /dev/null +++ b/src/gantt/whatsnew.txt @@ -0,0 +1,344 @@ +### 6.2.6 + +- Fix the regression in v6.2 Smart Rendering which in some cases caused incorrect vertical positions of tasks after re-initialization of the Gantt +- Fix the issue with QuickInfo popup not being displayed for unscheduled tasks +- Fix incorrect work of extension files with the Ultimate build of Gantt + +### 6.2.5 + +- Fix incorrect initial values of subtasks in the onBeforeTaskChanged event handler after dragging a project with subtasks +- Fix incorrect work of the grouping extension when auto task types are enabled +- Fix the script error after returning the false value from the onTaskLoading event handler +- Add clearer error messages for the exceptions that can be thrown from gantt.load and gantt.parse + +### 6.2.4 + +- Fix the issue with task branches being collapsed after updating data using gantt.parse +- Fix the incorrect work of smart rendering in the resource view +- Fix the issue which caused the Zoom module to attach redundant DOM event handlers on each re-initialization of the Gantt + +### 6.2.3 + +- Fix the incorrect work of the Constraint control in IE11 and MS Edge browsers +- Fix the size of the Gantt element in Fullscreen mode +- Fix the issue with onExpand and onCollapse events not being called from Fullscreen mode +- Correct the Tooltip position when the mouse pointer is near the left/right edge of the screen +- The Tooltip should now be hidden when the Lightbox is opened +- The Tooltip should now be hidden when the chart is scrolled +- Fix the incorrect work of Tooltip which caused the tooltip not to be updated when mouse pointer moved between two elements matching the same selector +- Fix the incorrect work of getTaskBy when null or 0 is provided as a second argument +- Fix the issue with WBS column not being updated after sorting the gantt +- Fix the incorrect display of static_background in Material skin + +### 6.2.2 + +- Add the `gantt.license` property +- Add the `onLinkCreated` API event for new links, similarly to the `onTaskCreated` functionality for new tasks +- `gantt.moveTask` returns false when the action is prevented using onBeforeTaskMove +- Fix the issue which caused a link line to disappear when the render method is called while a user creates a new link +- Fix the issue when markers were not displayed when their start date was set earlier than the minimal date of the time scale +- Fix the issue when markers were not displayed when gantt was initialized with the `gantt.config.show_chart = false` config +- Fix a disappearing modal overlay of the lightbox when a user changed the type of a task +- Fix the issue in keyboard navigation presets, when onAfterTaskUpdate was fired after Shift+left arrow hotkey even if the action was canceled using onBeforeTaskMove + +### 6.2.1 + +- Fix IE11 compatibility of the click-drag feature +- Fix the script error which happened when the user tried to add a new task into an empty chart with the resource view +- Fix the incorrect behavior of the grouping extension which caused assigning an incorrect group value to new tasks +- Fix a script error in the keyboard navigation extension thrown from the Alt+Arrow key shortcut +- Filtering in the resource control is changed to ignore text case +- Task dragging and drag-and-drop may finish on mouseup on any gantt element +- Fix the script error which happened after saving an unscheduled task + +### 6.2.0 + +- Smart rendering is now embedded into the component +- Smart rendering works for rows and cells in all timelines +- static_background allows rendering highlighted cells +- Ability to expand/collapse split tasks (PRO) +- Add new Zoom module, add the ability to zoom by mousewheel +- New options for inline editors +- Simplified scales API +- Fix bug that caused multiple selected tasks to lose CSS classes after repaint +- Fix script error when destroying Gantt from data processor handler + +### 6.1.7 + +- Fix incorrect behavior of getClosestWorkTime +- Fix issue with the autoscroll which happened after toggling visibility of the timeline +- Fix bug in the Multiselect extension which caused selected tasks to lose highlight after chart repaint +- Fix script error which happened after vertical drag-and-drop if smart rendering and keyboard navigation extensions were enabled +- Fix incorrect behavior which happened when users tried to switch between inline editors using the Tab key if some columns of the grid were hidden +- Fix unexpected behavior which prevented the lightbox and inline editors from overriding constraint dates + +### 6.1.6 + +- Fix issue with not working click handlers of QuickInfo popup after a second gantt.init call +- Fix issue with QuickInfo popup not showing up if show_chart config is set to false +- Fix incorrect `action` argument for dataProcessor router after vertical drag-and-drop +- Fix issue when gantt.createTask ignores the `index` parameter + +### 6.1.5 + +- Fix script error on a second gantt.init call when show_chart config is disabled +- Fix incorrect position of order_branch placeholder in the marker mode + +### 6.1.4 + +- Fix script error on reinitialization of gantt in the IE browser +- Fix incorrect behavior of Tooltip extension when gantt.destructor is called +- Fix incorrect work of inline editors in keyboard_navigation_cell mode when grid contains hidden columns +- Fix bug in the Undo extension when Redo action for recreation of new tasks did not restore all properties +- Fix regression in GPL build which caused a script error on a second gantt.init call + +### 6.1.3 + +- gantt.createTask/gantt.addTask should use root_id config value instead of hardcoded 0 id +- Performance increase for worktime calculations for minute and hour duration units +- Minor performance increase for rendering large lists of tasks in the smart rendering mode +- Ensure vertical drag-and-drop doesn't start when the user selects text inside an inline editor +- Fix script error from keyboard navigation in the cell mode after deleting last tasks from the chart +- Ensure Gantt cleans up autogenerated static background style elements after destruction or reinitialization +- Ensure inline editors are not active when read-only mode is enabled +- Fix incorrect selection of grid header cells in the cell mode of keyboard navigation when the sort config is enabled +- Fix regression in the auto_types config which prevented auto type change when new tasks are added +- Fix bug when returning false from onTaskDblClick blocked onLinkDblClick as well +- Fix script error when parsing constraint dates from JSON data +- Fix incorrect position of tasks and markers with the skip_off_time config +- Fix incorrect height of markers after reordering tasks via drag and drop +- New tasks receive the initial value of the progress property +- Fix incorrect task position after vertical drag and drop in the marker mode +- Fix script error from gantt.destructor when the resource panel is enabled +- Fix the bug which caused an empty line to be displayed in a typeselect block +- Fix the bug which caused a task not to be recognized as a part of critical path after id change + +### 6.1.2 + +- Keyboard navigation: add a method for getting the active cell +- Fix incorrect work of the resource panel after creating a new datastore to overwrite the previous one +- Fix incorrect values of query parameters in the POST mode of dataProcessor +- Fix incorrect result of gantt.getClosestWorkTime when called without specifying a direction +- Fix issue when the English locale couldn't override the previously added locale +- Fix script error with gantt.undo and indent actions in the grid +- Fix SalesForce compatibility: new resize listener was broken in SF, fallback is added + +### 6.1.1 + +- Add missing locale options for the resource lightbox control +- Fix script error when using gantt.destructor together with the dataProcessor +- Fix script error when using gantt.destructor together with the resource panel +- Fix the filesize of the tooltip extension +- Fix unexpected call of the onTaskDblClick event while double clicking on a link element +- Fix stuck lightbox cover if gantt.init is called while lightbox is opened +- Fix issues with lightbox and the tooltip extension in the full-screen mode + +### 6.1.0 + +- Ability to add an overlay for the Gantt Chart (PRO) +- Time constraints for tasks (PRO) +- Routing options for dataProcessor +- Project-level working calendars (PRO) +- Ability to create tooltips for all the elements of dhtmlxGantt +- Ability to import dhtmlxGantt as an ES6 module + +### 6.0.7 + +- reduce the number of redundant repaints of the resource diagram +- fix script error from the resource diagram after deleting a task +- fix script error from the fullscreen extension after exiting fullscreen mode on the `Esc` key +- fix incorrect state of links drag and drop when dragging a link between multiple charts on the page. Creating links between gantts is not supported +- fix script error after deleting multiple selected tasks using keyboard navigation extension +- fix default mapping of inline editors. Inline editors shouldn't block keyboard shortcuts on task cells + +### 6.0.4 + +- fix incorrect task position after task vertical dnd in order_branch='marker' mode +- fix script error after deleting a sub-tree which contains selected task +- fix script error on Save/Cancel lightbox containing resource filters + +### 6.0.2 + +- Fix referenceError: getResourceAssignments is not defined when importing Gantt into Vue.js project +- Fix script error on deleting task after assigning resource to it via resource form +- Fix JS error in resource diagram after second initialization of Gantt +- Fix script error on toggle timeline visibility when marker extension is used +- Fix page freeze on gantt.parse if tasks tree contains cyclic references, script error is thrown instead + +### 6.0 + +- Advanced resource management +- New lightbox control for resource management +- Resource histogram +- Add ability to group by multiple resources +- Updated branch ordering +- Public methods for total slack and free slack +- Add JSON-REST dataprocessor mode +- Import from Excel added to online service +- Auto resize when container size changes +- Performance update for auto_types +- Performance update for auto scheduling + +### 5.2 + +- Inline editing in grid +- Split task support +- Updated keyboard navigation +- Add checkbox and radio controls to the lightbox +- Add ability to set task types automatically +- Add ability to use a placeholder row for creating new tasks +- Auto Scheduling performance improvements +- New methods and events for Auto scheduling and Undo extension +- Updated Content Security Policy extension +- Various bugfixes + +### 5.1 + +- Resource load diagram +- RTL mode +- Horizontal scroll for grid and other layout improvements +- Destructors for gantt and data processor instances +- Ability to set min/max widths of grid columns +- Updated API events for a multiselect extension +- Ability to drag and drop projects +- Fixed issues with keyboard navigation in smart rendering mode +- Many bugfixes + +### 5.0 + +- Major architecture overhaul +- Added global layout config +- Added material skin +- Various bugfixes + +### 4.2 + +- Work Time calendars at the task and resource levels +- WBS code (outline numbers) calculation +- Autoscroll for drag and drop operations +- Persian (Farsi) locale +- The getter function for key navigation shortcuts +- The config for cascade deleting of nested tasks and links +- The ability to scroll timeline horizontally on Shift+a mouse wheel movement +- German and Italian locales are updated +- GIF images in the Gantt skins are replaced with PNG +- various fixes + +### 4.1 + +- Added keyboard navigation +- Added WAI-ARIA support +- Added High-contrast themes +- Updated Auto Scheduling and Critical Path calculations (PRO version) +- Performance improvements for worktime calculation and timescale rendering +- Croatian locale added +- Turkish locale updated +- Fixed bug redrawing vertical markers using gantt.updateMarker +- Fixed bug with gantt.showTask error in smart rendering mode +- Bugfixes for skip_off_time config and multi-tier scales configurations +- Bugfixes with dataProcessor and REST mode support + +### 4.0 + +- Added Smart rendering of big data sets feature +- Added Undo/Redo feature +- Public API improvements - public helpers for popups, ajax, environment variables +- Public API cleanup - remove redundant global objects, resolve conflicts with dhtmlxSuite +- Updated critical path calculation - add support for lag/lead of links +- Updated Spanish and Chinese locales +- Minor bugfixes + +### 3.3 + +- Added dependency Auto Scheduling feature * +- Added support for Fullscreen mode +- Added support of unscheduled tasks +- Added initial support of Content Security Policy +- Allow specifying per column grid sorting settings +- Improved branch ordering feature - allow D'n'D between levels +- Support of REST mode for ajax loading/saving +- Support of backward planning + +* The marked functionality requires Commercial or Enterprise license, and not provided under GPL + +### 3.2 + +- Added ability to group tasks by custom properties +- Added multiple selection +- Added export to iCal and to Excel +- Added public events for managing tasks reordering in a grid +- Added ability to specify time range in year selector +- Major performance improvement of worktime and critical path calculations +- New samples and API events + +### 3.1 + +- Added ability to drag tasks on touch devices +- Incorrect tooltip behavior on expand/collapse task tree fixed +- Order of API events during gantt initialization fixed +- Issues with markers and multiple initialization of the gantt fixed +- Issues with markers and gantt.clearAll fixed +- Issues with gantt.serialize method and nested projects of gantt tree fixed +- Fixes in French locale +- Improvements in time range calculation + +### 3.0 + +- Support of Baselines, Deadlines and other custom elements of the timeline * +- Critical path support * + +- Ability to display vertical lines in a timeline area (Today line, Status line, etc.) + +- Ability to resize Grid by D'n'D, ability to hide/show columns dynamically * +- Simplified API for coloring tasks and links * +- New performance-related options - dynamic loading and simple background rendering * + +- Extended configuration for managing 'readonly' state of the tasks +- Extended set of methods for managing task tree hierarchy + +- Support of task types and ability to skip time from the scale was removed from a Free version of the component + +* The marked functionality requires Commercial or Enterprise license, and not provided under GPL + + +### 2.1 + +- Milestone and Projects support +- Custom configuration of the lightbox for different task types +- Non-linear scales, ability to skip time from the scale + +- Ability to calculate duration in work days/hours instead of calendar time + +- Support of multiple gantts on the page (requires PRO version) + +- Updated some localisations +- Added more configurations and API methods events +- Various bugfixes + +### 2.0 + +- jQuery integration +- Major performance improvements +- Ready-to-use PHP integration + +- Configurable multi-line scales +- Configurable multi-column grid with optional sorting and Drag-n-Drop +- Configurable popup form for editing tasks +- All text elements can be defined through templates +- All date strings can be configured +- All text labels can be localized + +- Default skin changed to "terrace" +- 3 new skins +- Bars can have an optional inner resizer +- Optional UI for task creation +- Vertical and horizontal lines can be colored based on custom rules + +- Loading and serialization from JSON +- Loading and serialization with the simplified XML format +- 3 types of task linking +- Gantt charts work on touch devices + +- A LOT of events added +- Templates and configuration options added +- API simplified, it uses a single gantt object instead of a bunch of different objects \ No newline at end of file diff --git a/src/i18n.js b/src/i18n.js new file mode 100644 index 0000000..bfa1c33 --- /dev/null +++ b/src/i18n.js @@ -0,0 +1,32 @@ +import Vue from 'vue' +import VueI18n from 'vue-i18n' + +import zhCn from '@/locale/zh.js' +import en from '@/locale/en.js' +import zhTw from '@/locale/zh_tw.js' + +Vue.use(VueI18n) + +let locale = 'zh' +if (!navigator.language.startsWith('zh')) { + locale = 'en' +} + +let zh = zhCn +if (navigator.language.toLowerCase().includes('tw')) { + zh = zhTw +} + +const messages = { + zh, + en +} + +const i18n = new VueI18n({ + lazy: true, + silentTranslationWarn: true, + locale, + messages +}) + +export default i18n diff --git a/src/locale/en.js b/src/locale/en.js new file mode 100644 index 0000000..85e1d35 --- /dev/null +++ b/src/locale/en.js @@ -0,0 +1,39 @@ +import admin from './i18n/en/admin.json' +import common from './i18n/en/common.json' +import crud from './i18n/en/crud.json' +import date from './i18n/en/date.json' +import el from './i18n/en/el.json' +import form from './i18n/en/form.json' +import gen from './i18n/en/gen.json' +import iep from './i18n/en/iep.json' +import language from './i18n/en/language.json' +import menu from './i18n/en/menu.json' +import mp from './i18n/en/mp.json' +import rules from './i18n/en/rules.json' +import tip from './i18n/en/tip.json' +import upload from './i18n/en/upload.json' +import wel from './i18n/en/wel.json' +import page from './i18n/en/page.json' +import wf from './i18n/en/wf.json' +import mes from './i18n/en/mes/index' + +export default { + admin, + common, + crud, + date, + el, + form, + gen, + ...iep, + language, + menu, + mp, + rules, + tip, + upload, + wel, + page, + wf, + mes, +} diff --git a/src/locale/i18n/en/admin.json b/src/locale/i18n/en/admin.json new file mode 100644 index 0000000..c6bd30b --- /dev/null +++ b/src/locale/i18n/en/admin.json @@ -0,0 +1,195 @@ +{ + "cache": "Cache", + "confirmDeletionById": "Confirm deletion of ID {clientId}", + "synchronizationSuccessful": "Synchronization successful", + "modify": "Modify", + "superiorDepartment": "Superior department", + "selectSuperiorMenu": "Select superior menu", + "departmentName": "Department name", + "enterMenuName": "Please enter menu name", + "departmentCode": "Department code", + "departmentLevel": "Department level", + "departmentHead": "Department head", + "departmentCodeCannotBeEmpty": "Department code cannot be empty", + "departmentNameCannotBeEmpty": "Department name cannot be empty", + "departmentOrderCannotBeEmpty": "Department order cannot be empty", + "rootDepartment": "Root department", + "enterDepartmentName": "Please enter department name", + "add": "Add", + "creationTime": "Creation time", + "confirmDeletionWithName": "Confirm deletion of the data item named {name}?", + "overwriteWarning": "This operation will overwrite the existing system department personnel data, please backup your data, continue?", + "operationSuccessful": "Operation successful", + "execute": "Execute", + "dictionaryItem": "Dictionary item", + "dictionaryItemManagement": "Dictionary item management", + "confirmDeletionByDictType": "Confirm deletion of the data item with data type {dictType}?", + "confirmDeletionByLabel": "Confirm deletion of the data item with data {label}?", + "deletionSuccessful": "Deletion successful", + "uploadSuccessful": "Upload successful", + "export": "Export", + "batchDelete": "Batch delete", + "confirmDeletionLogById": "Confirm deletion of the log with ID {id}?", + "selectLogsToDelete": "Please select logs to delete", + "menuName": "Menu name", + "icon": "Icon", + "componentPath": "Component path", + "type": "Type", + "leftMenu": "Left menu", + "topMenu": "Top menu", + "button": "Button", + "buffer": "Buffer", + "enabled": "Enabled", + "permissionIdentifier": "Permission identifier", + "menuType": "Menu type", + "superiorMenu": "Superior menu", + "name": "Name", + "routeAddress": "Route address", + "enterRouteAddress": "Please enter route address", + "enterPermissionIdentifier": "Please enter permission identifier", + "routeCache": "Route cache", + "isDisplayed": "Is displayed", + "openMethod": "Open method", + "default": "Default", + "externalNewWindow": "External new window", + "internalNewWindow": "Internal new window", + "addRule": "Add rule", + "rule": "Rule", + "menuNameCannotBeEmpty": "Menu name cannot be empty", + "menuOrderCannotBeEmpty": "Menu order cannot be empty", + "routeAddressCannotBeEmpty": "Route address cannot be empty", + "routeCacheCannotBeEmpty": "Route cache cannot be empty", + "permissionIdentifierCannotBeEmpty": "Permission identifier cannot be empty", + "superiorMenuCannotBeEmpty": "Superior menu cannot be empty", + "rootMenu": "Root menu", + "no": "No", + "yes": "Yes", + "refresh": "Refresh", + "dataRefreshed": "Data refreshed", + "import": "Import", + "confirmDeletionWithPostName": "Confirm deletion of {postName}", + "postInformationImport": "Post information import", + "postInformationFile": "Post information.xlsx", + "edit": "Edit", + "permission": "Permission", + "roleInformationImport": "Role information import", + "roleInformationFile": "Role information.xlsx", + "parentRole": "Parent role", + "roleIdentifier": "Role identifier", + "roleName": "Role name", + "roleDescription": "Role desc", + "creationSuccessful": "Creation successful", + "routeConfigurationWarning": "Route configuration is a very professional task, not recommended for non-engineers", + "success": "Success", + "updateSuccessful": "Update successful", + "resendTenantInitializationCommand": "Resend tenant initialization command", + "sendSuccessful": "Send successful", + "forceLogoutConfirm": "Force {access_token} to log out?", + "forceLogoutSuccessful": "Force logout successful", + "noDataPermission": "No data permission", + "selectDepartment": "Please select department", + "selectRole": "Please select role", + "selectPosition": "Please select position", + "enterPassword": "Please enter password", + "userInfoImport": "User information import", + "confirmUserDeletion": "This operation will permanently delete the user (username: {username}), continue?", + "deletionFailed": "Deletion failed", + "changeAvatar": "Change avatar", + "personalInformation": "Personal information", + "username": "Username", + "phoneNumber": "Phone number", + "enterVerificationCodeToLogin": "Enter verification code to login", + "nickname": "Nickname", + "realname": "Name", + "enterNickname": "Enter nickname", + "enterName": "Enter name", + "email": "Email", + "enterEmail": "Enter email", + "changePassword": "Change password", + "oldPassword": "Old password", + "enterOldPassword": "Enter old password", + "newPassword": "New password", + "enterNewPassword": "Enter new password", + "confirmPassword": "Confirm password", + "reEnterNewPassword": "Re-enter new password", + "passwordsNotMatching": "Passwords not matching", + "oldPasswordMinLength": "Old password must be at least 6 characters", + "newPasswordMinLength": "New password must be at least 6 characters", + "enterClientId": "Enter client ID", + "secretKey": "Secret key", + "enterClientSecret": "Enter client secret", + "domain": "Domain", + "enterScope": "Enter scope", + "automaticRelease": "Automatic release", + "selectWhetherToRelease": "Select whether to release", + "authorizationMode": "Authorization mode", + "enterAuthorizationMode": "Enter authorization mode", + "tokenValidity": "Token validity", + "unitSeconds": "Unit: seconds", + "refreshValidity": "Refresh validity", + "callbackAddress": "Callback address", + "permissions": "Permissions", + "extensionInformation": "Extension information", + "jsonFormatData": "JSON format data", + "captchaSwitch": "Captcha switch", + "frontendPasswordEncryption": "Frontend password encryption", + "concurrentOnlineNumber": "Concurrent online number", + "securityAttributes": "Security attributes", + "enterDictionaryDescription": "Please enter dictionary description", + "dictionaryType": "Dictionary type", + "enterDictionaryType": "Please enter dictionary type", + "remarkInformation": "Remark information", + "dataValue": "Data value", + "enterDataValue": "Please enter data value", + "tagName": "Tag name", + "enterTagName": "Please enter tag name", + "sortOrder": "Sort order", + "enterSortOrder": "Please enter sort order", + "title": "Title", + "ipAddress": "IP address", + "client": "Client", + "requestTime": "Request time", + "positionName": "Position name", + "enterPositionName": "Please enter position name", + "positionIdentifier": "Position identifier", + "enterPositionIdentifier": "Please enter position identifier", + "positionDescription": "Position desc", + "positionOrder": "Position order", + "roleNameCannotBeEmpty": "Role name cannot be empty", + "lengthBetween3And20": "Length between 3 and 20 characters", + "roleIdentifierCannotBeEmpty": "Role identifier cannot be empty", + "lengthWithin128Characters": "Length within 128 characters", + "dataPermission": "Data permission", + "selectDataPermissionType": "Please select data permission type", + "all": "All", + "currentAndSubLevel": "Current and sub level", + "currentLevel": "Current level", + "parentLevel": "Parent level", + "enterName1": "Please enter the name", + "length32Characters": "Length must be within 32 characters", + "dameng": "Dameng", + "configurationMethod": "Configuration method", + "selectConfigurationMethod": "Please select a configuration method", + "enterJdbcUrl": "Please enter JDBC URL", + "enterHostIp": "Please enter the host IP", + "length100Characters": "Length must be within 100 characters", + "enterPort": "Please enter the port", + "enterDatabaseName": "Please enter the database name", + "tagLanguage": "Tag name language family", + "hisConfigTable": "His config table", + "hisConfigChannel": "His config channel", + "hisConfigAddress": "His config address", + "hisMonth": "His keep month", + "hisClearSql": "His clear sql", + "aliyunIcon": "Aliyun Icon", + "wechatId": "WeChat ID", + "wechatOfficialAccountSettingsNativeId": "Official Account Settings -> Bottom Native ID", + "enterWechatId": "Please enter WeChat ID", + "enterSecretKey": "Please enter secret key", + "protocolDomain": "Protocol Domain", + "inputInvalid": "Input Invalid", + "enterToken": "Please enter token", + "encryptionKey": "Encryption Key", + "enterEncryptionKey": "Please enter encryption key", + "parentIdCannotBeEmpty": "Superior menu cannot be empty" +} diff --git a/src/locale/i18n/en/common.json b/src/locale/i18n/en/common.json new file mode 100644 index 0000000..adf19ce --- /dev/null +++ b/src/locale/i18n/en/common.json @@ -0,0 +1,44 @@ +{ + "condition": "Condition", + "display": "Show", + "hide": "Hide", + "prompt": "Prompt", + "description": "Description", + "main": "Main", + "label": { + "description": "Description" + }, + "view": "View", + "edit": "Edit", + "copy": "Copy", + "delete": "Delete", + "download": "Download", + "watch": "view", + "new": "New", + "insert": "Insert", + "update": "Update", + "seq": "Seq", + "primaryKey": "Primary key", + "parameter": "Parameter", + "confirm": "Confirm", + "cancel": "Cancel", + "alert": { + "warningTitle": "Warn", + "confirmButton": "Confirm" + }, + "promptMessage": { + "title": "Prompt", + "error": "Error", + "yes": "Yes", + "no": "No" + }, + "colon": ":", + "date": "Date", + "quantity": "Qty", + "no": "No", + "yes": "Yes", + "filter": "Filter", + "asc": "Ascending Sort", + "desc": "Descending Sort", + "pleaseInput": "Please enter first" +} diff --git a/src/locale/i18n/en/crud.json b/src/locale/i18n/en/crud.json new file mode 100644 index 0000000..26f476a --- /dev/null +++ b/src/locale/i18n/en/crud.json @@ -0,0 +1,224 @@ +{ + "filter": { + "addBtn": "Add condition", + "clearBtn": "Clear data", + "resetBtn": "Clear condition", + "cancelBtn": "Cancel", + "submitBtn": "Confirm", + "update": "Update" + }, + "column": { + "name": "Column name", + "hide": "Hide", + "fixed": "Fixed", + "filters": "Filters", + "sortable": "Sortable", + "index": "Order", + "width": "Width", + "label": { + "primaryKeyId": "Primary Key ID", + "site": "Site", + "costCenter": "Cost center", + "description": "Description", + "status": "Status (Y: Enabled, N: Disabled)", + "defaultLaborCostCode": "Default labor cost code", + "parentOrSummaryLaborCostCode": "Parent/summary labor cost code", + "creationTime": "Creation time", + "modificationTime": "Modification time", + "creator": "Creator", + "updater": "Updater", + "serialNumber": "Serial number", + "tableNameCustomDataType": "Table name (custom data type)", + "dataField": "Data field", + "fieldLabel": "Field label", + "mandatory": "Mandatory", + "updateDate": "Update date", + "fastCodeNumber": "Fast code number", + "modifier": "Modifier", + "retain": "Retain", + "copy": "Copy", + "move": "Move", + "fault": "Fault", + "defect": "Defect", + "repair": "Repair", + "enterComment": "Enter comment", + "component": "Component", + "none": "None", + "printedCircuitAnalysis": "Printed circuit analysis", + "simple": "Simple", + "subStepBypass": "Sub-step bypass", + "open": "Open", + "closed": "Closed", + "both": "Both", + "low": "Low", + "medium": "Medium", + "high": "High", + "operation": "Operation", + "version": "Version", + "currentVersion": "Current version", + "status1": "Status", + "resourceType": "Resource type", + "defaultResource": "Default resource", + "workCenter": "Work center", + "erpOperation": "ERP operation", + "erpWorkCenter": "ERP work center", + "effectiveDate": "Effective date", + "expirationDate": "Expiration date", + "certification": "Certification", + "printer": "Printer", + "dateType": "Date type", + "dateTypePrimaryKeyId": "Date type primary key ID", + "shift": "Shift", + "start": "Start", + "dayActualOrBooked": "Day (actual date, booked date)", + "end": "End", + "workOrderNumber": "Work order No", + "workOrderType": "Work order type", + "workOrderStatus": "Work order status", + "reservationFlag": "Reservation flag", + "priority": "Priority", + "plannedWorkCenter": "Planned work center", + "plannedMaterial": "Planned material", + "plannedMaterialList": "Planned material list", + "plannedProcessRoute": "Planned process route", + "workOrderQuantity": "Work order Qty", + "issuedQuantity": "Issued Qty", + "plannedStartDate": "Planned start date", + "plannedCompletionDate": "Planned completion date", + "productionQuantity": "Production Qty", + "availableQuantity": "Available Qty", + "pendingQuantity": "Pending Qty", + "workOrder": "Work order", + "quantity": "Qty", + "firstLastProductionBatch": "First/last production batch", + "material": "Material", + "processRoute": "Process route", + "storageLocationCode": "Storage location code", + "storageLocationDescription": "Storage location desc", + "storageLocationType": "Storage location type", + "responsiblePerson": "Responsible person", + "storageLocationStatus": "Storage location status", + "isFifo": "Is FIFO", + "storageSiteCode": "Storage site code", + "erpShift": "ERP shift", + "availableForWorkCenter": "Available for work center", + "processRouteVersion": "Process route version", + "workCenterCategory": "Work center category", + "workCenterType": "Work center type", + "isErpWorkCenter": "Is ERP work center", + "sequence": "Seq", + "equipmentType": "EQP type", + "usableMainEquipment": "Usable main EQP", + "toolNumberDescription": "Tool ID desc", + "toolCategory": "Tool category", + "toolCategoryDescription": "Tool category desc", + "toolManufacturer": "Tool manufacturer", + "assetNumber": "Asset ID", + "equipmentCategory": "EQP Type", + "equipmentCategoryDescription": "EQP category desc", + "equipmentMajorCategory": "EQP category", + "limitBatchNumber": "Limit batch ID", + "limitBatchQuantity": "Limit batch Qty", + "equipmentMajorCategoryDescription": "EQP category desc", + "image": "Image", + "imagePreview": "Image preview", + "imageType": "Image type", + "productionPoint": "Production point", + "attachmentUpload": "Attachment upload", + "attachmentUploadingPleaseWait": "Attachment uploading, please wait", + "uploadSyncToFileServer": "Upload sync to file server", + "space": "Space", + "fileName": "File name", + "originalFileName": "Original file name", + "fileType": "File type", + "fileSize": "File size", + "uploader": "Uploader", + "name": "Name", + "enterName": "Enter name", + "lengthWithin30Characters": "Length within 30 characters", + "key": "Key", + "enterKey": "Enter key", + "value": "Value", + "enterValue": "Enter value", + "code": "Code", + "selectCategory": "Select category", + "selectType": "Select type", + "enterAppId": "Enter App ID", + "enterAppSecret": "Enter App secret", + "callbackAddress": "Callback address", + "extraField": "Extra field", + "tenantId": "Tenant ID", + "tenantName": "Tenant name", + "enterTenantName": "Please enter tenant name", + "lengthBetween3And32Characters": "Length between 3 and 32 characters", + "tenantNumber": "Tenant ID", + "enterTenantNumber": "Please enter tenant ID", + "tenantDomain": "Tenant domain", + "enterTenantDomain": "Please enter tenant domain", + "startTime": "Start time", + "enterEndTime": "Please enter end time", + "endTime": "End time", + "userId": "User ID", + "username": "Username", + "client": "Client", + "token": "Token", + "type": "Type", + "expirationTime": "Expiration time", + "enterUsername": "Please enter username", + "password": "Password", + "lengthBetween6And20Characters": "Length between 6 and 20 characters", + "enterRealName": "Please enter name", + "lengthBetween2And64Characters": "Length between 2 and 64 characters", + "affiliatedDepartment": "Affiliated department", + "selectDepartment": "Select department", + "position": "Position", + "selectPosition": "Select position", + "role": "Role", + "selectRole": "Select role", + "selectStatus": "Select status", + "valid": "Valid", + "locked": "Locked", + "nickname": "Nickname", + "enterNickname": "Enter nickname", + "email": "Email", + "enterEmail": "Enter email", + "enterToolCategoryNumber": "Please enter tool category ID", + "enterToolCategory": "Please enter tool category", + "selectWorkCenterCategory": "Select work center category", + "selectWorkCenterType": "Select work center type", + "enterSequence": "Enter sequence", + "factoryNumberMustBeFilled": "Factory ID must be filled", + "forceChangePassword": "Force Change Password", + "forceChangePasswordInfo": "Whether the password must be changed when user firstly log into the system?" + } + }, + "tipStartTitle": "The current table is selected", + "tipEndTitle": "Item", + "editTitle": "Edit", + "copyTitle": "Copy", + "addTitle": "New", + "viewTitle": "View", + "filterTitle": "Filter conditions", + "showTitle": "Column hide", + "menu": "Action", + "addBtn": "Add", + "show": "Show", + "hide": "Hide", + "open": "Open", + "shrink": "Shrink", + "printBtn": "Print", + "excelBtn": "Export", + "updateBtn": "Modify", + "cancelBtn": "Cancel", + "searchBtn": "Search", + "emptyBtn": "Empty", + "menuBtn": "Function", + "saveBtn": "Save", + "viewBtn": "View", + "editBtn": "Edit", + "copyBtn": "Copy", + "delBtn": "Delete", + "closeBtn": "Close", + "detailAdd": "Detail addition", + "finished": "Finished" +} diff --git a/src/locale/i18n/en/date.json b/src/locale/i18n/en/date.json new file mode 100644 index 0000000..db92214 --- /dev/null +++ b/src/locale/i18n/en/date.json @@ -0,0 +1,8 @@ +{ + "start": "Start date", + "end": "end date", + "t": "Today", + "y": "Yesterday", + "n": "Last 7 days", + "a": "All" +} \ No newline at end of file diff --git a/src/locale/i18n/en/el.json b/src/locale/i18n/en/el.json new file mode 100644 index 0000000..9afa220 --- /dev/null +++ b/src/locale/i18n/en/el.json @@ -0,0 +1,141 @@ +{ + "button": { + "save": "Save", + "cancel": "Cancel", + "add": "Add", + "close": "Close", + "saveAndContinue": "Save and continue" + }, + "colorpicker": { + "confirm": "OK", + "clear": "Clear" + }, + "datepicker": { + "now": "Now", + "today": "Today", + "cancel": "Cancel", + "clear": "Clear", + "confirm": "OK", + "selectDate": "Select date", + "selectTime": "Select time", + "startDate": "Start date", + "startTime": "Start time", + "endDate": "End date", + "endTime": "End time", + "prevYear": "Previous year", + "nextYear": "Next year", + "prevMonth": "Previous Month", + "nextMonth": "Next month", + "year": "", + "month1": "January", + "month2": "February", + "month3": "March", + "month4": "April", + "month5": "May", + "month6": "June", + "month7": "July", + "month8": "August", + "month9": "September", + "month10": "October", + "month11": "November", + "month12": "December", + "week": "Week", + "weeks": { + "sun": "Sun", + "mon": "Mon", + "tue": "Tue", + "wed": "Wed", + "thu": "Thu", + "fri": "Fri", + "sat": "Sat" + }, + "months": { + "jan": "Jan", + "feb": "Feb", + "mar": "Mar", + "apr": "Apr", + "may": "May", + "jun": "Jun", + "jul": "Jul", + "aug": "Aug", + "sep": "Sep", + "oct": "Oct", + "nov": "Nov", + "dec": "Dec" + } + }, + "tabs": { + "main": "Main" + }, + "select": { + "loading": "Loading", + "noMatch": "No matching data", + "noData": "No data", + "placeholder": "Select" + }, + "cascader": { + "noMatch": "No matching data", + "loading": "Loading", + "placeholder": "Select", + "noData": "No data" + }, + "pagination": { + "goto": "Go to", + "pagesize": "/page", + "total": "Total {total}", + "pageClassifier": "" + }, + "messagebox": { + "title": "Message", + "confirm": "OK", + "cancel": "Cancel", + "error": "Illegal input", + "deleteSuccess": "Delete successfully", + "saveSuccess": "Save successfully" + }, + "upload": { + "deleteTip": "Press delete to remove", + "delete": "Delete", + "preview": "Preview", + "continue": "Continue" + }, + "table": { + "emptyText": "No Data", + "confirmFilter": "Confirm", + "resetFilter": "Reset", + "clearFilter": "All", + "sumText": "Sum", + "index": "No" + }, + "tree": { + "emptyText": "No Data" + }, + "transfer": { + "noMatch": "No matching data", + "noData": "No data", + "titles": [ + "List 1", + "List 2" + ], + "filterPlaceholder": "Enter keyword", + "noCheckedFormat": "{total} items", + "hasCheckedFormat": "{checked}/{total} checked" + }, + "image": { + "error": "FAILED" + }, + "pageHeader": { + "title": "Back" + }, + "popconfirm": { + "confirmButtonText": "Yes", + "cancelButtonText": "No" + }, + "empty": { + "description": "No Data" + }, + "radio": { + "useOriginalBatchNumber": "Use original batch ID", + "generateNewBatchNumber": "Generate new batch ID" + } +} \ No newline at end of file diff --git a/src/locale/i18n/en/form.json b/src/locale/i18n/en/form.json new file mode 100644 index 0000000..ef04264 --- /dev/null +++ b/src/locale/i18n/en/form.json @@ -0,0 +1,6 @@ +{ + "printBtn": "Print", + "mockBtn": "Mock", + "submitBtn": "Submit", + "emptyBtn": "Empty" +} \ No newline at end of file diff --git a/src/locale/i18n/en/gen.json b/src/locale/i18n/en/gen.json new file mode 100644 index 0000000..bfe867d --- /dev/null +++ b/src/locale/i18n/en/gen.json @@ -0,0 +1,19 @@ +{ + "tableName": "Table Name", + "tableComment": "Table Comment", + "Comment": "Comment", + "packageName": "Package Name", + "canBeNullLoadDefaultConfig": "Can be empty, load system default configuration", + "author": "Author", + "module": "Module", + "submodule": "Submodule", + "mainColumnProperties": "Main Column Properties", + "tablePrefix": "Table Prefix", + "frontendStyle": "Frontend Style", + "fieldName": "Field Name", + "fieldType": "Field Type", + "javaType": "Java Type", + "canBeNullDefaultSameAsTableName": "Can be empty, default is the same as table name", + "canBeNullLoadTableComment": "Can be empty, load table comment", + "formInformation": "Form Information" +} \ No newline at end of file diff --git a/src/locale/i18n/en/iep.json b/src/locale/i18n/en/iep.json new file mode 100644 index 0000000..3712a47 --- /dev/null +++ b/src/locale/i18n/en/iep.json @@ -0,0 +1,3 @@ +{ + "iep": "IE-PLANT MES" +} \ No newline at end of file diff --git a/src/locale/i18n/en/language.json b/src/locale/i18n/en/language.json new file mode 100644 index 0000000..3ba398c --- /dev/null +++ b/src/locale/i18n/en/language.json @@ -0,0 +1,5 @@ +{ + "languageEmpty": "Please enter the language", + "languageRepeat": "Language family cannot be repeated", + "nameEmpty": "Please enter a description" +} \ No newline at end of file diff --git a/src/locale/i18n/en/menu.json b/src/locale/i18n/en/menu.json new file mode 100644 index 0000000..72002cd --- /dev/null +++ b/src/locale/i18n/en/menu.json @@ -0,0 +1,7 @@ +{ + "languageTitle": "Menu name language", + "languageAdd": "Addition of languages", + "local": "Language", + "menu": "Menu name", + "menuEmpty": "Please enter the menu name" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/abn.json b/src/locale/i18n/en/mes/abn.json new file mode 100644 index 0000000..b43ae4c --- /dev/null +++ b/src/locale/i18n/en/mes/abn.json @@ -0,0 +1,208 @@ +{ + "titleAdd": "Add First Processing Group", + "titleEdit": "Edit First Processing Group", + "titleView": "View First Processing Group", + "labelProductType": "Product Type", + "labelProcessType": "Process Type", + "labelFPUnit": "First Processing Group", + "confirmDelPdType": "Are you sure to delete the product type:", + "tableObj": { + "search": { + "abnType": "Abnormal Type", + "description": "Abnormal desc", + "currentResponsible": "Current Disposition Group", + "releasers": "Releasers", + "newDateRelease": "Release Date" + }, + "detail": { + "futureHoldOperation": "Future Hold Operation", + "newTriggerTime": "Hold Trigger Time", + "creator": "Creator", + "creatorName": "Creator Name", + "dateCreate": "Creation Date" + }, + "abnDetail": { + "router": "Route/Version", + "operation": "Current Operation", + "dispMethod": "Disposition Method", + "dispUser": "Disposition User", + "dispDateTime": "Disposition Date" + } + }, + "roleDialogObj": { + "roleCode": "Role Code", + "roleName": "Role Name", + "roleDesc": "Role Description" + }, + "mainRules": { + "abnType": "Please enter the abnormal type", + "operation": "Please enter the operation", + "reasonCode": "Please enter the reason code", + "reasonCodeDesc": "Please enter the reason desc" + }, + "tableOption": { + "roleDesc": "Unit desc", + "dateCreate": "Creation Date", + "dateUpdate": "Update Date", + "creator": "Creator", + "updater": "Updater", + "site": "Production Site" + }, + "abnStatus": "Abnormal Status", + "abnNo": "Abnormal Number", + "enterProductType": "Please enter the product type", + "enterProcessType": "Please enter the process type", + "transferNext": "Transfer to Next Handling Unit", + "lotStateQty": "Current Qty", + "labelCreateABN": "Create Abnormal Order", + "labelHandleABN": "Handle Abnormal Order", + "handleABNDetail": "Abnormal Order Details", + "create": "Create", + "removeFromABN": "Remove from Abnormal Order", + "transferOperation": "Transfer Operation", + "transferProcedure": "Transfer Procedure", + "nonConformingGoods": "Non-Conforming Goods", + "splitDone": "Split Completed", + "batchDone": "Batch Completed", + "fixAmount": "Adjust Qty", + "transferHold": "Transfer to Immediate Hold", + "routerCode": "Router Code", + "status": { + "dismiss": "Dismiss" + }, + "work": { + "holdInTime": "Immediate Hold", + "holdLater": "Future Hold" + }, + "trigger": { + "before": "Before Operation", + "after": "After Operation" + }, + "addAttach": "Add Attachment and Details", + "dispHold": "Disposition of Held Batch", + "CPUser": "CP Customer Instructions", + "noTransfer": "No Transfer", + "dismissIncident": "Dismiss Incident", + "dismissCPMessage": "Incident {abnNo} has been dismissed, CP customer instructions cannot be executed.", + "whetherClearAll": "Do you want to clear all messages on the screen?", + "productTypeNotEmpty": "Product type cannot be empty", + "processTypeNotEmpty": "Process type cannot be empty", + "FPUnitNotEmpty": "First processing unit cannot be empty", + "totalFileSize": "Total file size", + "confirmCancelAttach": "Are you sure to cancel adding attachments?", + "addOrRemoveAttach": "Please add or remove attachments", + "fileTotalNotOver100M": "The total size of all files must be less than 100MB", + "ABNAttachSaveSuccess": "ABN attachment saved successfully", + "confirmToCancelDetail": "Are you sure to cancel adding details?", + "confirmToRemoveLotNo": "Are you sure to remove Lot No: {lotNo}", + "createABNObject": "Please add the object to create ABN", + "ABNDetailSaveSuccess": "ABN detail saved successfully", + "ABNObject": "ABN Object", + "clearText": "Clear", + "resrceUsingTime": "Resource Usage Time", + "keyInRequirements": "Please key in requirements", + "keyInResrceUsingTime": "Please key in EQP usage time", + "resrceStartDateNotOverEnd": "EQP usage time start date cannot be later than end date", + "resrceUsingTimeNotOverMonth": "EQP usage time cannot exceed one month", + "futureHoldOperationNotEmpty": "Lot No: {lotNo} future hold operation cannot be empty", + "itemNotExist": "Item number: '{item}', revision: '{itemRevision}' does not exist", + "currentItemNotExist": "Item number: '{item}', current revision does not exist", + "ABNCreatedSuccess": "ABN created successfully", + "confirmToCancelABN": "Are you sure to cancel ABN creation?", + "decidedBypartNo": "Decided by part number", + "cancelABNInDirect": "Cancel ABN directly", + "keepHoldABNStatus": "Keep ABN status on hold", + "markingNo": "Marking number", + "partNo": "Part number", + "processingMethod": "Processing method", + "keepHold": "Keep hold", + "keepGo": "continue", + "HoldAfterRT": "Hold after RT", + "userInstructionDesc": "Customer instruction desc", + "selectProcessingMethod": "Please select processing method", + "ProMethodHasNotChosen": "{Msg} processing method has not been chosen", + "Process8D": "8D Process", + "d1TeamComposition": "D1. Team composition", + "d5PermanentSolution": "D5. Permanent solution", + "d2ProblemDesc": "D2. Problem desc", + "d6EffectConfirm": "D6. Effect confirmation", + "d3TempSolution": "D3. Temporary solution", + "d7preventRecurrence": "D7. Prevent recurrence", + "d4ExactReason": "D4. Exact reason", + "d8TeamRewarding": "D8. Team rewarding", + "dispDesc": "Disposition desc", + "nextUnit": "Next Handling Group", + "inputDispMethod": "Please input disposition method", + "selectNextUnit": "Please select next group", + "inputLotNo": "Scan Lot No:", + "total": "Total Qty", + "totalQty": "Total Qty", + "totalDie": "Total die", + "batchLotNo": "Batch Lot No", + "lotNoNotExist": "Lot No: '{inputLotNo}' does not exist, please re-enter", + "lotNoBatchCheckRequired": "Please check the Lot No(s) to merge batch", + "confirmBatch": "Are you sure to merge the batch?", + "batchSuccess": "Batch merged successful", + "binDieNotEqualZero": "Adjusted Good Bin Die Qty cannot be zero", + "catDieNotEqualZero": "Adjusted Good CAT Die Qty cannot be zero", + "amountEqualDie": "Adjusted Qty must be equal to the total die Qty", + "confirmAdjustAmount": "Are you sure to adjust the Qty?", + "amountAdjustSuccess": "Qty adjustment successful", + "enterStationAmount": "Enter station Qty", + "nonCoformingReason": "Non-conforming reason", + "drawBackReason": "Drawback reason", + "noAdjustQtyOfNonComforming": "No adjustment Qty for non-conforming messages", + "nonConformingNotThanEntrance": "Non-conforming Qty cannot be greater than LOT entrance Qty", + "split": "Split", + "currentAmount": "Current Qty", + "subBatchNo": "Sub-batch ID", + "selectedQty": "Selected Qty", + "batchNumberNotEmpty": "Batch number cannot be empty", + "confirmSplit": "Are you sure to split?", + "splitSuccess": "Split successful", + "subBatchAmount": "Sub-batch amount", + "subBatchNotEmpty": "Sub-batch ID cannot be empty", + "splitTotalEqualLotNo": "Split total Qty must equal to the Qty of Lot No '{lotNo}'", + "batch": "Batch", + "detailDispDesc": "Detail disposal desc", + "inputSelectDispMethod": "Please input select disposal method", + "nonCoforming": "Non-conforming", + "drawback": "Drawback", + "low": "Low", + "middle": "Middle", + "high": "High", + "adjustBINAmount": "Adjust BIN amount", + "adjustCATAmount": "Adjust CAT amount", + "fixNormalHoldBatchQty": "Fix normal hold batch Qty", + "waferHoldBatch": "Wafer hold batch merge batch job", + "dieHoldBatch": "Die hold batch merge batch job", + "normalHoldBatch": "Normal hold batch merge batch job", + "waferHoldSplit": "Wafer hold batch split batch job", + "DieHoldSplit": "Die hold batch split batch job", + "normalHoldSplit": "Normal hold batch split batch job", + "checkHoldBatch": "Please check hold batch", + "selectDisposeMethod": "Please select disposal method", + "selectTransferOperation": "Please select transfer operation", + "selectTransferProcedure": "Please select transfer procedure", + "selectNonConforming": "Please select non-conforming goods", + "selectConforming": "Please select conforming goods", + "selectedHoldDispSuccess": "Selected hold batch disposal successful", + "IQCABNAttach": "IQC ABN Attachments", + "receivingDetailIQC": "Receiving Detail - IQC", + "receivingDetailEdit": "Receiving Detail - Edit", + "inspReportNo": "Inspection Report No", + "supplierNo": "Supplier No", + "purchaseDate": "Purchase Date", + "receivingOrderStatus": "Receiving Order Status", + "IQCABNView": "IQC ABN View", + "IQCABNDispose": "IQC ABN Dispose", + "ABNDismissCannotAdd": "ABN '{abnNo}' has been dismissed, cannot add attachments or details", + "ABNDismissCannotDisp": "ABN '{abnNo}' has been dismissed, cannot dispose ABN", + "supplierName": "Supplier Name", + "supplier": "Supplier", + "purchaseNo": "Purchase No", + "inputABNCreateDate": "Please input ABN create date (start)", + "inputABNEndDate": "Please input ABN create date (end)", + "startDateNotLaterThanEnd": "Start date cannot be later than end date", + "enterFirstFourDigits": "Please enter first four digits of {label}" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/alm.json b/src/locale/i18n/en/mes/alm.json new file mode 100644 index 0000000..cc989ab --- /dev/null +++ b/src/locale/i18n/en/mes/alm.json @@ -0,0 +1,116 @@ +{ + "almGroupNo": "Alarm Group ID", + "almGroupName": "Alarm Group Name", + "almGroupDesc": "Alarm Group desc", + "parentTierGroup": "Parent Tier Group", + "inputAgentNo": "Please input agent number", + "inputAgentName": "Please input agent name", + "selectAgentType": "Please select agent type", + "almGroupAddText": "Alarm Group - Add", + "almGroupViewText": "Alarm Group - View", + "almGroupEditText": "Alarm Group - Edit", + "confirmDelAlmGroup": "Are you sure to delete the alarm group?", + "memberTypeId": "Member Type ID", + "sendType": "Send Type", + "memberNo": "Member Number", + "selectMemberType": "Please select member type", + "selectMemberNo": "Please select member number", + "selectSendType": "Please select send type", + "almMemberAdd": "Alarm Member - Add", + "almMemberView": "Alarm Member - View", + "almMemberEdit": "Alarm Member - Edit", + "confirmDelIdTypeMember": "Are you sure to delete: Group ID [{groupId}], Member Type ID [{memberTypeId}], Member ID [{memberId}]", + "site": "Site", + "agentId": "Agent ID", + "agentName": "Agent Name", + "token": "Token", + "sendLimitPerMinute": "Send Limit (per minute)", + "communicationAgentAdd": "Communication Agent - Add", + "communicationAgentView": "Communication Agent - View", + "communicationAgentEdit": "Communication Agent - Edit", + "confirmDeleteCommunicationAgent": "Are you sure you want to delete communication agent: {botId}", + "site1": "Site", + "agentDescription": "Agent Description", + "agentType": "Agent Type", + "ipcActivemqNameReserved": "IPC ACTIVEMQ NAME (Reserved)", + "apiId": "API ID", + "creator": "Creator", + "creationTime": "Creation Time", + "modificationTime": "Modification Time", + "modifier": "Modifier", + "communicationAgent": "Communication Agent", + "chatRoomName": "Chat Room Name", + "chatRoomId": "Chat Room ID", + "channelId": "Channel ID", + "channelName": "Channel Name", + "selectChatRoomName": "Please select chat room name", + "enterChatRoomId": "Please enter chat room ID", + "enterChannelName": "Please enter channel name", + "enterChannelId": "Please enter channel ID", + "chatRoomAdd": "Chat Room - Add", + "chatRoomView": "Chat Room - View", + "chatRoomEdit": "Chat Room - Edit", + "confirmDeleteChatRoomChannel": "Are you sure you want to delete chat room channel: [ {accessId } ]", + "callbackUrlReserved": "Callback URL (Reserved)", + "dataCreationTime": "Data Creation Time", + "dataCreator": "Data Creator", + "dataLastModificationTime": "Data Last Modification Time", + "dataLastModifier": "Data Last Modifier", + "alarmGroup": "Alarm Group", + "messageLevel": "Message Level", + "directMessageTransmission": "Direct Message Transmission", + "trackingCount": "Tracking Count", + "trackingIntervalMinutes": "Tracking Interval (Minutes)", + "notifyUpperGroup": "Notify Upper Group", + "notifyUpperGroupAfterTrackingCount": "Notify Upper Group After Tracking Count", + "messageTitle": "Message Title", + "messageLevelCannotBeEmpty": "Message level cannot be empty", + "directMessageTransmissionCannotBeEmpty": "Direct message transmission cannot be empty", + "notifyUpperGroupCannotBeEmpty": "Notify upper group cannot be empty", + "trackingCountRangeError": "\"Tracking Count\" must be between [-1] and [999]!!", + "trackingIntervalRangeError": "\"Tracking Interval (Minutes)\" must be between [1] and [1440]!!", + "notifyUpperGroupAfterTrackingCountRangeError": "\"Notify Upper Group After Tracking Count\" must be between [1] and [99]!!", + "alarmEventAdd": "Alarm Event - Add", + "alarmEventView": "Alarm Event - View", + "alarmEventEdit": "Alarm Event - Edit", + "confirmDeleteAlarmEvent": "Are you sure you want to delete alarm event: {eventId}", + "driverType": "Driver Type", + "pointLocation": "Point Location", + "writeValue": "Write Value", + "enterDeviceName": "Please enter device name", + "selectDriverType": "Please select driver type", + "enterPort": "Please enter port", + "enterArea": "Please enter area", + "enterPointLocation": "Please enter point location", + "enterWriteValue": "Please enter write value", + "alarmDeviceAdd": "Alarm Device - Add", + "alarmDeviceView": "Alarm Device - View", + "alarmDeviceEdit": "Alarm Device - Edit", + "confirmDeleteAlarmDevice": "Are you sure you want to delete alarm device: {equipmentId}", + "enterIpAddress": "Please enter IP address!!", + "ipAddressFormatError": "IP address format error!!", + "parameterName": "Parameter Name", + "noDataToSave": "No data to save", + "syncAllUsers": "Sync All Users", + "enterId": "Please enter ID", + "enterFullName": "Please enter full name", + "userAdd": "User - Add", + "userView": "User - View", + "userEdit": "User - Edit", + "emailFormatError": "Email format error", + "confirmDeleteId": "Are you sure you want to delete ID: {id}", + "event": "Event", + "messageContent": "Message Content", + "selectFile": "Select File", + "previewMessage": "Preview Message", + "sendMessage": "Send Message", + "enterMessageContent": "Please enter message content", + "selectEvent": "Please select event", + "confirmCloseTracking": "Are you sure you want to close tracking: {reqId}", + "closeSuccessful": "Close Successful", + "messageId": "Message ID", + "transmissionCount": "Transmission Count", + "messageContent1": "Message Content", + "trackingResult": "Tracking Result", + "trackingInProgress": "Tracking In Progress" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/bpr.json b/src/locale/i18n/en/mes/bpr.json new file mode 100644 index 0000000..475c3aa --- /dev/null +++ b/src/locale/i18n/en/mes/bpr.json @@ -0,0 +1,28 @@ +{ + "timeOnDuty": "Time On Duty", + "selectDateTime": "Please select date and time", + "inputDutyTime": "Please input duty time", + "startDutyTimeNotLaterEnd": "Start duty time cannot be later than end time", + "dutyTimeNotOverMonth": "Duty time range cannot exceed one month", + "confirmUserOffDuty": "Are you sure to take this user off duty?", + "onDutySuccess": "On duty successfully", + "offDutySuccess": "Off duty successfully", + "onDuty": "On Duty", + "offDuty": "Off Duty", + "userNoNotExist": "User number '{userNo}' does not exist", + "checkOffDutyResrce": "Please check the EQP to be taken off duty", + "confirmOffDuty": "Are you sure to confirm off duty?", + "ruleUserNo": "Please input user number", + "toolNoDesc": "Tool desc", + "triggerDateCreate": "Trigger Date Create", + "machineStartUp": "Machine Start-Up", + "machineShutDown": "Machine Shut-Down", + "startUpSuccess": "Start-up successful", + "checkShutDownTool": "Please check the tools to be shut down", + "confirmShutDown": "Are you sure to confirm shutdown?", + "shutdownSuccess": "Shutdown successful", + "ruleTool": "Please input tool", + "tool": "Tool", + "batchNumber": "Batch ID", + "supplierBatch": "Supplier Batch" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/cal.json b/src/locale/i18n/en/mes/cal.json new file mode 100644 index 0000000..4340886 --- /dev/null +++ b/src/locale/i18n/en/mes/cal.json @@ -0,0 +1,12 @@ +{ + "instrumentGroupAdd": "Instrument Group - Add", + "instrumentGroupView": "Instrument Group - View", + "instrumentGroupEdit": "Instrument Group - Edit", + "availableInstrumentEquipment": "Available Instrument EQP", + "assignedInstrumentEquipment": "Assigned Instrument EQP", + "enterGroupNumber": "Please enter the group ID", + "enterGroupName": "Please enter the group name", + "confirmDeleteGroupNumber": "Do you confirm the deletion of the instrument group with group ID {groupNo}?", + "confirmToRemoveSelectedInspectionPlan": "Do you confirm the removal of the selected inspection plan?", + "selectRowToDelete": "Please select a row to delete" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/customValidation.json b/src/locale/i18n/en/mes/customValidation.json new file mode 100644 index 0000000..39792d4 --- /dev/null +++ b/src/locale/i18n/en/mes/customValidation.json @@ -0,0 +1,15 @@ +{ + "clientAlreadyExists": "Client already exists", + "duplicateDictionaryExists": "Duplicate dictionary with the same name already exists", + "sortCannotBeNegative": "Sort order cannot be negative", + "duplicateRoleIdentifierExists": "Role identifier with the same name already exists", + "enterUppercaseLettersAndUnderscores": "Please enter uppercase letters and underscores", + "enterChineseEnglishNumberUnderscore": "Please enter Chinese, English, numbers, and underscores", + "paramKeyAlreadyExists": "Parameter key already exists", + "thisTypeOfKeyAlreadyExists": "This type of key already exists", + "duplicateTenantIdentifierExists": "Tenant identifier with the same name already exists", + "domainAlreadyExists": "Domain already exists", + "usernameSupportsLowercaseLettersNumbersChinese": "Username supports lowercase letters, numbers, and Chinese", + "usernameAlreadyExists": "Username already exists", + "dataSourceNameInvalidFormat": "Data source name is invalid, should be in the format groupname_datasourcename" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/ecn.json b/src/locale/i18n/en/mes/ecn.json new file mode 100644 index 0000000..94983be --- /dev/null +++ b/src/locale/i18n/en/mes/ecn.json @@ -0,0 +1,63 @@ +{ + "ecnStatus": "ECN Status", + "ecnNo": "ECN ID", + "viewChange": "Scope", + "selectChangeType": "Please select change type", + "validityPeriod": "Validity Period", + "orderUnissued": "Number of Orders Not Issued", + "stock": "Stock", + "enabled": "Enabled", + "invalid": "Invalid", + "validationDate": "Effective Date", + "invalidationDate": "Expiration Date", + "onlinePrdBatch": "Designated Online Production Batch", + "currentRouter": "Current Route", + "routerDesc": "Route desc", + "operatioinParam": "Operation Parameter", + "paramNo": "Parameter ID", + "paramDesc": "Parameter desc", + "originalParam": "Original Parameter Value", + "newParam": "New Parameter Value", + "originalOperationDesc": "Original Operation desc", + "newOperationDesc": "Changed Operation desc", + "operationDescAfterChange": "Operation desc After Change", + "mainFormula": "Main Formula", + "newFormula": "Changed Formula", + "routerNo": "Original Route Number", + "newRouterNo": "New Route Number", + "originalBOMNo": "Original BOM Number", + "newBOMNo": "Changed BOM Number", + "prdBatch": "Production Batch", + "ruleEngChangeType": "Please enter ECN type", + "ruleUserNo": "Please enter customer number", + "ecn": "Engineering Change Notice", + "param": "Parameter", + "keepOriginalBatchNo": "Keep Original Batch ID", + "newBatchNo": "New Batch ID", + "shopOrderNotExist": "Shop order {shopOrder} does not exist", + "ecnView": "ECN - View", + "ecnCreate": "ECN - Create", + "object": "Object", + "ecnEdit": "ECN - Edit", + "engineeringChangeOrderChangeScope": "Engineering Change Order - Change Scope", + "atLeastOne": "Please fill in at least one item", + "operateSuccess": "Operation success", + "whetherStatus": "Is the line {statusDesc}?", + "newRouterNotEqual": "The selected new route cannot be the same as the original route", + "newBOMNotEqual": "The selected new BOM cannot be the same as the original BOM", + "operationNotEmpty": "Operation cannot be empty", + "atLeastOnePrdBatch": "Please select at least one production batch", + "partNoNotEqual": "The selected production batch does not match the specified part number of the product", + "inputOperationNo": "Please enter operation number", + "inputChangeOperationDesc": "Please enter changed operation description", + "operationExist": "Operation {operation} exists", + "confirmDelSerial": "Are you sure to delete serial number: {Msg}", + "receiptAmount": "Receipt Qty", + "unfinishedOperation": "WIP", + "finishedPrd": "Finished Product", + "EcnChangeScope": "Engineering Change - Change Scope", + "inTransfer": "In Transfer", + "inMaterialIssuing": "In Material Issuing", + "awaitingStorage": "Awaiting Storage", + "inReturnStorage": "In Return Storage" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/hrs.json b/src/locale/i18n/en/mes/hrs.json new file mode 100644 index 0000000..320692c --- /dev/null +++ b/src/locale/i18n/en/mes/hrs.json @@ -0,0 +1,25 @@ +{ + "qualificationNo": "Qualification ID", + "description": "Qualification desc", + "relevanceType": "Relevance Type", + "selectRelevanceType": "Please select relevance type", + "role": "Role Assignment", + "roleAssignable": "Assignable Roles", + "roleAssigned": "Assigned Roles", + "relevancePoint": "Relevance Point", + "selectable": "Selectable", + "selected": "Selected", + "ruleQualificationNo": "Please select qualification ID", + "ruleQualificationType": "Please select qualification type", + "ruleRelevance": "Please select relevance point", + "qualificationAdd": "Qualification - Add", + "updateSuccess": "Update success", + "qualificationView": "Qualification - View", + "qualificationEdit": "Qualification - Edit", + "whetherDelNo": "Are you sure to delete qualification ID: {qualificationNo}", + "resrcePrdType": "Resource Production Type", + "operationPrdType": "Operation Production Type", + "itemPrdType": "Item Production Type", + "operationParamConfigType": "Operation Parameter Configuration Type", + "prdParamConfigType": "Product Parameter Configuration Type" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/index.js b/src/locale/i18n/en/mes/index.js new file mode 100644 index 0000000..acb79b1 --- /dev/null +++ b/src/locale/i18n/en/mes/index.js @@ -0,0 +1,57 @@ +import abn from './abn.json' +import alm from './alm.json' +import bpr from './bpr.json' +import cal from './cal.json' +import customValidation from './customValidation.json' +import ecn from './ecn.json' +import hrs from './hrs.json' +import int from './int.json' +import lms from './lms.json' +import msa from './msa.json' +import oee from './oee.json' +import ord from './ord.json' +import pms from './pms.json' +import pod from './pod.json' +import prd from './prd.json' +import qms from './qms.json' +import rpt from './rpt.json' +import smd from './smd.json' +import sys from './sys.json' +import system from './system.json' +import tap from './tap.json' +import tds from './tds.json' +import tms from './tms.json' +import wip from './wip.json' +import wms from './wms.json' +import wmst from './wmst.json' +import index from './index.json' + +export default { + abn, + alm, + bpr, + cal, + customValidation, + ecn, + hrs, + int, + lms, + msa, + oee, + ord, + pms, + pod, + prd, + qms, + rpt, + smd, + sys, + system, + tap, + tds, + tms, + wip, + wms, + wmst, + ...index +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/index.json b/src/locale/i18n/en/mes/index.json new file mode 100644 index 0000000..2f18482 --- /dev/null +++ b/src/locale/i18n/en/mes/index.json @@ -0,0 +1,525 @@ +{ + "new": "New", + "type": "Type", + "invalidate": "Invalidate", + "stockinNo": "Stock-in Number", + "documentStartDate": "Document Date", + "search": "Search", + "reset": "Reset", + "confirm": "Confirm", + "delete": "Delete", + "seq": "Seq", + "qualityGoodsInbound": "Quality Goods Inbound", + "noMatchingWarehouseTypeFound": "No matching warehouse type found", + "title": "Title", + "yes": "Yes", + "no": "No", + "endTimeBeforeStartTime": "End time cannot be earlier than start time", + "dateExceeds30Days": "Date cannot exceed 30 days", + "deleteSuccess": "Deletion success", + "save_successful": "Save success", + "addSuccess": "Add success", + "atLeastOneCondition": "At least one condition must be entered", + "noDataToExport": "No data to export", + "invalidationSuccess": "Invalidation success", + "equipmentNumberNotEmpty": "EQP number cannot be empty", + "confirmDeleteDetail": "Do you confirm the deletion of detail for sequence {seq}?", + "confirmChangeMessage": "After confirmation, details cannot be changed. Are you sure?", + "confirmCancellation": "Do you confirm the invalidation?", + "confirmDeletion": "Do you confirm the deletion?", + "confirmDeleteStockInOrderDetail": "Do you confirm the deletion of stock-in number '{inNo}', same receipt number '{receiptNo}', same sequence '{seq}' detail?", + "lineSideWarehouse": "WIP WHSE", + "warningTitle": "Warning", + "confirmButton": "Confirm", + "pleaseEnter": "Please enter", + "product_number": "Product ID", + "itemDesc": "Product desc", + "work_order": "Work Order", + "issueShopOrder": "Issue Shop Order", + "dateMfg": "Manufacture Date", + "storageNo": "Storage Location", + "shopOrderNo": "Shop Order No", + "shopOrderType": "Shop Order Type", + "invNo": "WHSE ID", + "desc": "Description", + "quantity": "Qty", + "status": "Status", + "useOriginalBatchNumber": "Use Original Batch ID", + "generateNewBatchNumber": "Generate New Batch ID", + "batchNumber": "Batch ID", + "batchSize": "Batch Size", + "export": "Export", + "equipmentNumber": "EQP ID", + "materialNumber": "Material ID", + "materialBatchNumber": "Material Batch ID", + "materialBatchDesc": "Material Desc", + "equipment": "EQP", + "equipmentDesc": "EQP desc", + "equipmentNumberDesc": "EQP ID Desc", + "equipmentCategory": "EQP Category", + "equipmentCategoryDesc": "EQP Category Desc", + "itemAddition": "Item Addition", + "receiveOrderConfirmation": "Receive Order Confirmation", + "receiveOrderCancellation": "Receive Order Cancellation", + "receiveOrderDeletion": "Receive Order Deletion", + "samplingRule": "Sampling Rule", + "sampling": "Sampling", + "name": "Name", + "return": "Return", + "unqualified": "Unqualified", + "allowableReturnNumber": "Allowable Return Number", + "inspectionPersonnel": "Inspection Personnel", + "fixedSamplingNumber": "Fixed Sampling Number", + "fixedSamplingRatio": "Fixed Sampling Ratio", + "table1916": "Table 1916", + "custom": "Custom", + "sendBackQuantity": "Send Back Qty", + "returnOrderNumber": "Return Order No", + "completionDate": "Completion Date", + "productProcessDescription": "Product Process Desc", + "auxiliaryEquipment": "Auxiliary EQP", + "checkIn": "Check In", + "checkOut": "Check Out", + "lotNoDetained": "Lot No [ {lotNo} ] has been Hold (triggered by exception order No [ {abnNo} ])
    ", + "dieCount": "Die Count", + "routeType": "Route Type", + "update": "Update", + "test": "Test", + "testDieAmount": "Test Die Amount", + "programNo": "Program Number", + "dispatchQuantity": "Dispatch Qty", + "plannedCompletionTime": "Planned Completion Time", + "enterDispatchQuantity": "Please enter dispatch Qty", + "planStartTime": "Planned Start Time", + "modificationSuccessful": "Modification Success", + "toolNumber": "Tool ID", + "toolCategoryDescription": "Tool Category desc", + "enterToolNumber": "Please enter tool number", + "remark": "Remark", + "toolCategory": "Tool Category", + "confirmDeleteToolCategoryLifeConfig": "Do you confirm the deletion of tool life configuration for tool category ID {toolTypeNo}?", + "attachment": "Attachment", + "billingDate": "Billing Date", + "toolMajorCategoryDescription": "Tool Category Desc", + "toolNumberDescription": "Tool ID desc", + "billingPersonnel": "Billing Personnel", + "none": "None", + "awaitingInspection": "Awaiting Inspection", + "awaitingConfirmation": "Awaiting Confirmation", + "completed": "Completed", + "itemNumber": "Item No", + "warehousingOrReturn": "Warehousing/Return", + "specialProcurement": "Special Procurement", + "inspectionResult": "Inspection Result", + "statusCode": "Status Code", + "statusName": "Status Name", + "statusType": "Status Type", + "representativeColor": "Representative Color", + "currentStatus": "Current Status", + "changeStatus": "Change Status", + "enterDescription": "Please enter description", + "reasonCode": "Reason Code", + "description": "Description", + "pleaseSelectChangeStatus": "Please select a change status", + "selectOneSearchCondition": "Please enter at least one search condition", + "reasonCodeCannotBeEmpty": "Reason code cannot be empty", + "reasonCodeCannotRepeat": "Reason code cannot be duplicated", + "checkToRemoveReasonCode": "Please check the reason code(s) to remove", + "confirmToRemoveSelectedReasonCode": "Do you confirm the removal of the selected reason code(s)?", + "statusCodeCannotBeEmpty": "Status code cannot be empty", + "statusNameCannotBeEmpty": "Status name cannot be empty", + "process": "Process", + "processCannotBeEmpty": "Process cannot be empty", + "equipmentMajorCategoryDescription": "EQP Category desc", + "ruleNumber": "Rule No", + "priorityOrder": "Priority Order", + "all": "All", + "view": "View", + "edit": "Edit", + "production": "Production", + "productionBatchNumber": "Production Batch ID", + "customerName": "Customer Name", + "checkInTime": "Check-in Time", + "taskOrderNumber": "Task Order No", + "productionLine": "Production Line", + "productionLineDescription": "Production Line Description", + "itemCode": "Item Code", + "productionOptions": "Production Options", + "shopOrder": "Shop Order", + "qtyToBuild": "Qty to Build", + "workCenter": "Work Center", + "searchText": "Search", + "saveText": "Save", + "cancel": "Cancel", + "cancelSuccess": "Cancel successful", + "startTime": "Start Time", + "endTime": "End Time", + "selectWorkCenter": "Please select a work center", + "customData": "Custom Data", + "enterEquipment": "Please enter EQP", + "categoryDescription": "Category desc", + "confirmDeleteSequenceNumber": "Do you confirm the deletion of sequence number:", + "toolMajorCategory": "Tool Category", + "confirmDelete": "Do you confirm the deletion", + "enterEquipmentNumber": "Please enter EQP ID", + "workshopCode": "Workshop Code", + "dataField": "Data Field", + "value": "Value", + "sequence": "Seq", + "representativeColorCannotBeEmpty": "Representative color cannot be empty", + "prdLineType": "Production Line Type", + "operationDesc": "Operation desc", + "revision": "Revision", + "currentRevision": "Current Revision", + "segment": "Segment", + "invalidateAfterSplitBatch": "Invalidate after Split Batch", + "period": "Period", + "inspecType": "Inspection Type", + "qcPlan": "QC Plan Number", + "qcPlanDesc": "QC Plan desc", + "qcItem": "QC Item No", + "qcRole": "Inspection Personnel Group", + "ncCode": "Non-Conforming Code", + "detail": "Detail", + "judgeUser": "Judging Personnel", + "judgeResult": "Judging Result", + "judgeDateTime": "Judging Time", + "jobNo": "Inspection Task No", + "judgment": "Judgment", + "inspection": "Inspection", + "inspectionItemDescription": "Inspection Item desc", + "samplingMethod": "Sampling Method", + "inspectionPlan": "Inspection Plan", + "createNew": "Create New", + "inOperation": "In Operation", + "closed": "Closed", + "inspectionItem": "Inspection Item", + "close": "Close", + "username": "Username", + "full_name": "Full Name", + "abnormalReason": "Abnormal Reason", + "specificationControl": "Specification Control", + "upperLimit": "Upper Limit", + "lowerLimit": "Lower Limit", + "setValuesN": "Set Values (N)", + "reinspection": "Reinspection", + "sampleNumber": "Sample Number", + "milStd105eTableAql": "MIL-STD-105E Table (AQL)", + "ng": "NG", + "ok": "OK", + "month1": "January", + "month2": "February", + "month3": "March", + "month4": "April", + "month5": "May", + "month6": "June", + "month7": "July", + "month8": "August", + "month9": "September", + "month10": "October", + "month11": "November", + "month12": "December", + "groupNo": "Group ID", + "groupName": "Group Name", + "resrce": "Instrument EQP", + "process_occurred": "Occurred Process", + "newDateCreate": "Billing Time", + "current_process": "Current Process", + "newHoldOption": "Hold Operation", + "enter_product_number": "Please enter product ID", + "currentResponsible": "Please enter first responsible unit", + "submitText": "Submit", + "handle": "Primary Key", + "operationNo": "Process ID", + "handleABNHistory": "Abnormal Order Information", + "run": "Run", + "inQueue": "In Queue", + "inProcess": "In Production", + "finished": "Finished", + "withheld": "Withheld", + "void": "Scrap", + "startDateNotEmpty": "Start date cannot be empty", + "endDateNotEmpty": "End date cannot be empty", + "endDateNotEarlier": "End date cannot be earlier than start date", + "attachmentType": "Attachment Type", + "labelFile": "File", + "upload": "Upload", + "removeBtn": "Remove", + "saveSuccess": "Save success", + "qty": "Qty", + "itemInfo": "Product", + "routerInfo": "Route", + "customer_id": "Customer ID", + "userPart": "Customer Part ID", + "userLot": "Customer Lot No", + "itemReceiptNo": "Receipt No", + "purchaseOrderStatus": "Purchase Order Status", + "member": "Member", + "userNo": "User ID", + "delFailMsg": "Deletion failed", + "workCenterDesc": "Work Center Desc", + "searchFirst": "Please search first", + "resrceCategory": "EQP Category", + "number": "Number", + "time": "Time", + "datasourceBo": "Data source name cannot be empty", + "fieldTextEmpty": "Seq {seq}, field name cannot be empty", + "testProgram": "Test Program", + "enabledFlag": "Enabled", + "printerNo": "Printer No", + "printerName": "Printer Name", + "labelNo": "Label Number", + "labelName": "Label Name", + "itemType": "Item Category", + "carrierType": "Carrier Type", + "nonSelect": "Please select data to delete", + "printResult": "Print Result", + "itemLabel": "Material Label", + "lotLabel": "Production Label", + "printSuccess": "Print success", + "carrierNumber": "Carrier ID", + "ecnType": "Engineering Change Type", + "expired": "Expired", + "selectMsg": "Please select", + "disabled": "Disabled", + "inputContent": "Please enter content", + "formula": "Formula", + "materialList": "Material List", + "prdRouter": "Production Route", + "defaultValue": "Default Value", + "unit": "Unit", + "splitInvalid": "Invalid (Split)", + "ruleState": "Please select status", + "personnel": "Personnel", + "planStartDate": "Planned Start Date", + "qtyReleased": "Qty Released", + "planEndDate": "Planned End Date", + "standardNumber": "Standard Number", + "unitQty": "Unit Qty", + "hold": "Hold", + "item": "Item", + "executeDate": "Execute Time", + "executeSuccess": "Execution success", + "frequencyCycle": "Frequency Cycle", + "result2": "Result", + "executor": "Executor", + "resource": "Instrument Number", + "resourceDesc": "Instrument desc", + "lsl": "Lower Specification Limit", + "usl": "Upper Specification Limit", + "measureTimes": "Measurement Times", + "unit_of_measure": "Unit of Measure", + "eqpType": "Category", + "stdev": "Standard Deviation", + "measureUser": "Measurement Personnel", + "tv": "Total Variation (TV)", + "ev": "EQP Variation (%EV)", + "pv": "Part Variation (%PV)", + "rr": "Repeatability and Reproducibility (%R&R)", + "effectiveness": "Effectiveness", + "agreement": "Agreement", + "agreementQty": "Agreement Qty", + "totalQty": "Total Inspected Qty", + "stand": "Standard", + "settingInfo": "Setting Information", + "measurement_system_acceptable": "%R&R < 10%, this measurement system is acceptable", + "measurement_system_conditional": "10% <= %R&R <= 30%, acceptance of this measurement system is subject to management decision", + "NA": "NA", + "acceptable_measurement_device": "ndc ≥ 5, acceptable measurement device", + "rejected_measurement_device": "ndc < 5, rejected measurement device, more sensitive measurement device required", + "accepted": "Accepted", + "conditionally_accepted": "Conditionally Accepted", + "rejected": "Rejected", + "okey": "Good", + "average_to_good": "Average to Good", + "poor": "Poor", + "usableOpeartion": "Usable Operation", + "indicatedOperation": "Assigned Operation", + "CATNo": "CAT Number", + "FTSplitRuleLogic": "FT Split Rule Logic", + "carrierNoDesc": "Carrier desc", + "generation": "Generation", + "inputCarrierNo": "Please enter the carrier number", + "positionCarrierLoaded": "There is already a carrier placed at the carrier position 『{position}』, please remove the carrier first", + "content": "Content", + "errorStack": "Error Stack", + "justNow": "Just Now", + "minutesAgo": "Minutes Ago", + "hoursAgo": "Hours Ago", + "oneDayAgo": "1 Day Ago", + "month": "Month", + "day": "Day", + "hour": "Hour", + "minute": "Minute", + "text": "Text", + "imageText": "Image Text", + "replyMessageType": "Reply Message Type", + "requestMessageType": "Request Message Type", + "voice": "Voice", + "video": "Video", + "shortVideo": "Short Video", + "location": "Location", + "linkMessage": "Link Message", + "eventPush": "Event Push", + "keyword": "Keyword", + "matchingType": "Matching Type", + "exactMatch": "Exact Match", + "partialMatch": "Partial Match", + "productId": "Product ID", + "productName": "Product Name", + "amountYuan": "Amount (Yuan)", + "userId": "User ID", + "orderStatus": "Order Status", + "paymentOrderNumber": "Payment Order Number", + "enterNumberGreaterThanZero": "Please enter a number greater than 0", + "valueMustBeNumberBetween2And36": "Value must be a number between 2 and 36", + "valueMustBeNumberBetween1And128": "Value must be a number between 1 and 128", + "valueNotCompliantEnterCharactersBetween2AndZ": "Value [' {currentValue} '] is not compliant, please enter characters between 2 and Z, separated by commas", + "loadingCarrierType": "Loadable carrier type", + "layout": "Position map", + "row": "row", + "column": "column", + "positionCode": "position code", + "usePosition": "Use position", + "rowColumn": "row \\ column", + "positionEmpty": "Position cannot be empty", + "positionDuplicate": "Position {position} cannot be duplicate", + "ncCodeDesc": "NC Code Description", + "faeCompleteTitle": "Repair outbound operations", + "repairMemo": "Repair Memo", + "repairDisposal": "Repair disposal", + "transferOperation": "Transfer Operation", + "inventoryOfGoods": "Inventory of Goods", + "inventoryOfDefective": "Inventory of defective", + "recordTime": "record time", + "goodsInv": "Goods temporary storage warehouse", + "defectiveInv": "Defective temporary storage warehouse", + "pleaseSelectDisp": "Please select the disposal method", + "pleaseSelectTransfer": "Please select the transfer operation", + "pleaseSelectGoodsInv": "Please select the product warehouse", + "pleaseSelectDefectiveInv": "Please select the defective warehouse", + "warehouseInGoods": "Good products have been put into the warehouse", + "warehouseInDefective": "Defective products have been put into the warehouse", + "eqpTypeStatusReset": "The location status of devices in this category needs to be reset. Do you want to confirm?", + "containerTypeNo": "Container Type No", + "containerKind": "Container Kind", + "containerType": "Container Category", + "packingLevel": "Packing Level", + "containerTypeIsEmpty": "Please enter the container type number", + "containerKindIsEmpty": "Please select the container kind", + "packingObject": "Packing object", + "minQtyPacking": "Min Qty", + "maxQtyPacking": "Max Qty", + "containerDelAlert": "Confirm to delete the container number: 『{container}』", + "wcType": { + "1": "Line", + "0": "Area" + }, + "sn": "SN", + "scanSn": "Input SN", + "selectFirst": "Please select first", + "snEmpty": "Please enter SN", + "snRepeat": "SN repeat", + "customCheckInOperationMustBeSN": "Custom CHECK_IN_OPERATION for process must be SN", + "snPreOperation": "SN Pre-operation", + "snToWorkOrderOperation": "SN to Work Order Operation", + "productionLineProcessDescription": "Production Line Process Description", + "workOrderInformation": "Work Order Information", + "pleaseEnterWorkOrder": "Please enter work order", + "pleaseEnterSn": "Please enter SN", + "snAlreadyExists": "SN already exists", + "pleaseRetrieveWorkOrderFirst": "Please retrieve work order first", + "checkInSuccess": "Check-in successful", + "replace": "Replace", + "pleaseEnterProduct": "Please enter product", + "productLotNoNotInRepairStation": "Product {lotNo} is not currently in the repair station, component replacement cannot be executed", + "productLotNoNotInProductionStatus": "Product {lotNo} is not in production status, component replacement cannot be executed", + "productLotNoNotExist": "Product {lotNo} does not exist", + "oldSerialNumber": "Old Serial Number", + "newSerialNumber": "New Serial Number", + "repairDate": "Repair Date", + "repairNotes": "Repair Notes", + "pleaseEnterInboundWarehouse": "Please enter inbound warehouse", + "pleaseEnterOldSerialNumber": "Please enter old serial number", + "pleaseEnterOutboundWarehouse": "Please enter outbound warehouse", + "pleaseEnterNewSerialNumber": "Please enter new serial number", + "pleaseEnterRepairDate": "Please enter repair date", + "pleaseEnterRepairPersonnel": "Please enter repair personnel", + "oldMaterialBatchNumber": "Old Material Batch Number", + "newMaterialBatchNumber": "New Material Batch Number", + "replacementQuantity": "Replacement Quantity", + "componentReplacementSN": "Component Replacement - SN", + "componentReplacementBatch": "Component Replacement - Batch", + "pleaseEnterNewMaterialBatchNumber": "Please enter new material batch number", + "pleaseEnterReplacementQuantity": "Please enter replacement quantity", + "pleaseEnterOldSerialNumberFirst": "Please enter the old serial number first", + "oldSerialNumberNotExist": "Old serial number does not exist", + "pleaseEnterReplacementNewSerialNumber": "Please enter the new serial number to be replaced", + "confirmReplaceComponent": "Are you sure you want to replace the component?", + "replaceSuccess": "Replacement successful", + "newMaterialBatchNumberDuplicate": "New material batch number is duplicate, please remove it first", + "newMaterialBatchNumberChangeQtyExceedsOldQty": "New material batch number {newMaterialLot} replacement quantity {changeQty} cannot exceed the quantity of the old material batch number", + "factoryBatchNumber": "Factory Batch Number", + "pleaseEnterFactoryBatchNumber": "Please enter factory batch number", + "factoryBatchNumberDuplicateWithNewMaterial": "Factory batch number is duplicate with the new material batch number", + "completionPersonnel": "Completion Personnel", + "componentReplacementCompletion": "Component Replacement - Completion", + "pleaseSelectCompletionDate": "Please select completion date", + "pleaseSelectCompletionPersonnel": "Please select completion personnel", + "confirmComponentReplacementCompletion": "Are you sure you want to complete the component replacement?", + "componentReplacementCompleted": "Component replacement completed", + "definition": "Definition", + "pleaseEnterDefinitionType": "Please enter definition type", + "pleaseEnterMaterial": "Please enter material", + "pleaseEnterMaterialCategory": "Please enter material category", + "uploadImage": "Upload Image", + "noFileSelected": "No file selected", + "updatePassword": "Update Password", + "firstLoginForcePasswordChange": "First login requires a mandatory password change", + "currentPassword": "Current Password", + "newPassword": "New Password", + "confirmPassword": "Confirm Password", + "passwordSettingRules": "Password Setting Rules", + "noSettingRules": "No Setting Rules", + "passwordMismatch": "Passwords do not match", + "pleaseEnterCurrentPassword": "Please enter the current password", + "pleaseEnterNewPassword": "Please enter the new password", + "updateSuccess": "Update successful", + "passwordMinLengthError": "Password does not meet the minimum length requirement of {lengths} characters", + "passwordMaxLengthError": "Password exceeds the maximum length requirement of {lengths} characters", + "passwordMinLettersError": "Password must include at least {lengths} letter(s)", + "passwordMinDigitsError": "Password must include at least {lengths} digit(s)", + "passwordMinSpecialCharsError": "Password must include at least {lengths} special character(s)", + "customCheckInOperationMustBeSn": "Custom CHECK_IN_OPERATION for process must be SN", + "carrierStatus": "Carrier Status", + "containerCategoryDescription": "Container Category Description", + "containerNumber": "Container Number", + "generateContainer": "Generate Container", + "packagingLevel": "Packaging Level", + "packagingLevelObject": "Packaging Level Object", + "minimumPackagingQuantity": "Minimum Packaging Quantity", + "maximumPackagingQuantity": "Maximum Packaging Quantity", + "packagedQuantity": "Packaged Quantity", + "closeBox": "Close Box", + "packagingOperation": "Packaging Operation", + "pleaseEnterContainerNumber": "Please enter container number", + "confirmDeleteContainerNumber": "Do you want to delete the container number?", + "pleaseSelectPackagingLevel": "Please select packaging level", + "confirmDeleteContainerNumberWithId": "Do you want to delete the container number {containerNo}?", + "packaging": "Packaging", + "containerNumberPackagingInProgressCannotDelete": "Container number {containerNo} is in packaging, deletion is not allowed", + "containerCategoryCannotBeEmpty": "Container category cannot be empty", + "usnCannotBeEmpty": "USN cannot be empty", + "confirmRemoval": "Are you sure you want to remove?", + "containerNumberCannotBeEmpty": "Container number cannot be empty", + "packagingListCannotBeEmpty": "Packaging list cannot be empty", + "confirmCloseBoxAndCheckOutWithId": "Are you sure you want to close the box and check out for container number {containerNo}?", + "confirmCloseBoxWithId": "Are you sure you want to close the box for container number {containerNo}?", + "closeBoxSuccess": "Box closed successfully", + "closeBoxFailed": "Box closing failed", + "containerNumberCloseBoxCompleted": "Container number {containerNo} box closing completed", + "containerNumberStatusNotOpenCannotPerformPackaging": "Container number status is not open, cannot perform packaging operation", + "containerNumberNotExist": "Container number {containerNo} does not exist", + "csnPropEmpty": "The value of 『{csnType}』 in sequence 『{seq}』 cannot be empty", + "schemaCheck": "Please enter a positive integer or latest" +} diff --git a/src/locale/i18n/en/mes/int.json b/src/locale/i18n/en/mes/int.json new file mode 100644 index 0000000..20a40c1 --- /dev/null +++ b/src/locale/i18n/en/mes/int.json @@ -0,0 +1,32 @@ +{ + "executionFailed": "Execution failed", + "rethrow": "Rethrow", + "rethrowSuccessful": "Rethrow success", + "rethrowFailed": "Rethrow failed", + "requestSide": "Request Side", + "receiverSide": "Receiver Side", + "methodName": "Method Name", + "message": "Message", + "keyword": "Keyword", + "transactionTime": "Transaction Time", + "rethrowCount": "Rethrow Count", + "rethrowPersonnel": "Rethrow Personnel", + "rethrowTime": "Rethrow Time", + "requestContent": "Request Content", + "responseContent": "Response Content", + "integratedServiceTransactionHistoryView": "Integrated Service Transaction History - View", + "transactionSID": "Transaction SID", + "rethrowHistory": "Rethrow History", + "selectRequestSide": "Please select Request Side", + "selectStatus": "Please select Status", + "selectStartDate": "Please select Start Date", + "selectReceiverSide": "Please select Receiver Side", + "enterMethodName": "Please enter Method Name", + "enterTransactionTimeStartAndEnd": "Please enter the transaction start time and end time", + "enterTransactionTimeStart": "Please enter the transaction start time", + "enterTransactionTimeEnd": "Please enter the transaction end time", + "transactionTimeStartCannotExceedEnd": "Transaction start time cannot be greater than the end time", + "transactionTimeIntervalCannotExceed30Days": "Transaction time interval cannot exceed 30 days", + "integratedServiceTransactionHistoryContent": "Integrated Service Transaction History - Content", + "transactionNumber": "Transaction Number" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/lms.json b/src/locale/i18n/en/mes/lms.json new file mode 100644 index 0000000..71e9b7a --- /dev/null +++ b/src/locale/i18n/en/mes/lms.json @@ -0,0 +1,76 @@ +{ + "label-printer": { + "titleAdd": "Label Printer Configuration - Add", + "titleEdit": "Label Printer Configuration - Edit", + "titleView": "Label Printer Configuration - View", + "confirmDelete": "Are you sure to delete label printer ID", + "label": { + "printerNo": "Printer No:", + "printerName": "Printer Name:" + }, + "rule": { + "printerNo": "Printer ID cannot be empty", + "printerName": "Printer name cannot be empty" + } + }, + "label-maintenance": { + "title": "Label File", + "labelType": "Label Type", + "labelFile": "Label File", + "parameter": "Label Parameter", + "printer": "Label Printer", + "msg": { + "labelType": "Label type cannot be empty", + "labelNo": "Label ID cannot be empty", + "labelName": "Label name cannot be empty", + "labelFile": "Label file cannot be empty", + "parameterEmpty": "Seq {seq}, label parameter cannot be empty", + "typeNoEmpty": "Seq {seq}, item type cannot be empty", + "segmentNoEmpty": "Seq {seq}, segment cannot be empty", + "printerNoEmpty": "Seq {seq}, printer ID cannot be empty", + "parameterRepeat": "Seq {seq}, label parameter cannot be repeated", + "carrierTypeNotEmpty": "Seq {seq}, carrier type cannot be empty", + "equipmentCategoryNotEmpty": "Seq {seq}, EQP category cannot be empty", + "toolCategoryNotEmpty": "Seq {seq}, tool category cannot be empty", + "CannotBeDuplicated": "{key} cannot be duplicated, please remove the duplicate {key}", + "confirmRemoveBoundLabel": "Label Type '{typeNo}' is bound to Label Number '{labelNo}', do you want to remove the bound label?", + "remove": { + "alert": "Are you sure to delete label ID {labelNo}" + } + } + }, + "label-reprinter": { + "datePrint": "Print Time", + "shopOrderType": "Shop Order Type", + "ruleLabelType": "Please select label type", + "userPrint": "Print User", + "transactionId": "Transaction ID", + "printHistory": "Print History", + "printFail": "Print failed, please check print history", + "printerNotEmpty": "Label ID {labelNo}, printer cannot be empty", + "printContent": "Label Printing - Print Content", + "contentFail": "Label Printing - Failed Message", + "printEndNotBeforeStart": "Print time start cannot be later than end" + }, + "label-print": { + "printCopies": "Number of Copies", + "printList": "Print List", + "printing": "Printing", + "print": "Print", + "labelPrinting": "Label Printing", + "selectLabelToPrint": "Please select labels to print first", + "labelNoMachineNumberNotEmpty": "Label ID {labelNo}, machine ID cannot be empty", + "labelNoPrintCopiesNotEmpty": "Label ID {labelNo}, number of copies cannot be empty or zero", + "printFailed": "Print Failed", + "printRequestFailed": "Print request failed", + "printRequestError": "Print request encountered an error", + "failureMessage": "Failure Message", + "printFailureLogRequestError": "Print failure log request error:", + "printFailureLogRequestErrorOccurred": "Print failure log request error occurred", + "labelPrintingFailureMessage": "Label Printing - Failure Message", + "resrceLabel": "Resource Label", + "carrierLabel": "Carrier Label", + "toolLabel": "Tool Label", + "label": "Label" + } +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/msa.json b/src/locale/i18n/en/mes/msa.json new file mode 100644 index 0000000..8f24b61 --- /dev/null +++ b/src/locale/i18n/en/mes/msa.json @@ -0,0 +1,125 @@ +{ + "maintain": { + "title": "Measurement Task", + "colon": ":", + "description": "Measurement desc", + "analyze": "Analysis Item", + "main": "Main", + "bias": "Bias", + "grr": "GRR", + "stability": "Stability", + "kappa": "KAPPA", + "kappaStandard": "KAPPA Standard Value", + "confidenceLevel": "Confidence Level", + "referenceValue": "Reference Value", + "numberPeople": "Number of Measurers", + "xbarLcl": "X-BAR Lower Control Limit", + "xbarCl": "X-BAR Center Line", + "xbarUcl": "X-BAR Upper Control Limit", + "rlcl": "R Lower Control Limit", + "rcl": "R Center Line", + "rucl": "R Upper Control Limit", + "frequencyTimes": "Frequency Times", + "sample": "Sample", + "standard": "Standard", + "average": "Average", + "averageBias": "Average Bias", + "standardError": "Standard Error", + "confidence": "Confidence Interval", + "value": "Measurement Value", + "Bias": "Bias", + "av": "Measurement Operator Variability (%AV)", + "ndc": "NDC", + "xbar": "X-BAR", + "r": "R", + "miss": "Miss Rate", + "falseAlarm": "False Alarm Rate", + "reproducibility": "Reproducibility", + "measureDate": "Measurement Date", + "work": "Work", + "analysisDiagram": "Analysis Diagram", + "analyzes": { + "biasResult": { + "1": "Estimated bias is 0, and the bias confidence interval from 'Lower Limit' to 'Upper Limit' includes 0, so it is judged OK.", + "2": "Estimated bias is 0, and the bias confidence interval from 'Lower Limit' to 'Upper Limit' does not include 0, so it is judged NG.", + "3": "Estimated bias is 0, and the bias confidence interval 'Upper Limit' is greater than 0, so it is judged OK.", + "4": "Estimated bias is 0, and the bias confidence interval 'Upper Limit' is less than 0, so it is judged NG.", + "5": "Estimated bias is 0, and the bias confidence interval 'Lower Limit' is less than 0, so it is judged OK.", + "6": "Estimated bias is 0, and the bias confidence interval 'Lower Limit' is greater than 0, so it is judged NG." + }, + "grrResult": { + "rr": { + "2": "If %R&R > 30%, the measurement system is considered non-conforming." + } + } + }, + "msg": { + "create": { + "success": "Task successfully saved.", + "analyzeComplete": "Analysis completed." + }, + "confirm": { + "alert": "Are you sure to confirm task {taskNo}?", + "alertBias": "Are you sure to complete the bias operation for task {taskNo}?", + "alertStability": "Are you sure to complete the stability operation for task {taskNo}?" + }, + "delete": { + "alert": "Are you sure to delete task {taskNo}?", + "analyzeItem": "Are you sure to void the {analyze} operation for task {taskNo}?" + }, + "error": { + "date1": "Please enter the document date (from)", + "date2": "Please enter the document date (to)", + "date3": "Document date (to) cannot be earlier than document date (from)", + "date4": "Document date cannot exceed one month", + "resource": "Please enter the instrument number", + "item": "Please enter the item ID", + "qcItem": "Please enter the inspection item", + "confidenceLevel": "Please enter the confidence level", + "measureTimes": "Please enter the number of measurements", + "referenceValue": "Please enter the reference value", + "unit": "Please enter the unit of measurement", + "sampleSize": "Please enter the sample size", + "numberPeople": "Please enter the number of measurers", + "frequencyTimes": "Please enter the frequency", + "analyzes": "Please select at least one analysis item", + "lsl": "Please enter the lower specification limit", + "usl": "Please enter the upper specification limit", + "overUsl": "Upper specification limit cannot be less than lower specification limit", + "xbarLcl": "Please enter the X-BAR control lower limit", + "xbarUcl": "Please enter the X-BAR control upper limit", + "rlcl": "Please enter the R control lower limit", + "rucl": "Please enter the R control upper limit", + "overXbarUsl": "X-BAR control upper limit cannot be less than X-BAR control lower limit", + "overRUsl": "R control upper limit cannot be less than R control lower limit", + "xbarClMin": "X-BAR control center cannot be less than X-BAR control lower limit", + "xbarClMax": "X-BAR control center cannot be greater than X-BAR control upper limit", + "rClMin": "R control center cannot be less than R control lower limit", + "rClMax": "R control center cannot be greater than R control upper limit", + "setStandard": "Please set the standard for the sample", + "measureTimesMin1": "Number of measurements cannot be less than 1", + "measureTimesMin2": "Number of measurements cannot be less than 2", + "sampleSizeMin1": "Sample size cannot be less than 1", + "sampleSizeMin2": "Sample size cannot be less than 2", + "numberPeopleMin1": "Number of measurers cannot be less than 1", + "numberPeopleMin2": "Number of measurers cannot be less than 2", + "frequencyTimesMin1": "Frequency cannot be less than 1", + "inputMeasureTimesValue": "Please enter the measurement value for measurement {serial}", + "inputMeasureFrequencyValues": "Please enter the measurement value for frequency {frequency} and measurement {measureTimes}" + } + }, + "measurer": "Measurer", + "sampleNumberMeasurementTimes": "Sample \\ Measurement Times", + "analysis": "Analysis", + "measurerVariation": "Measurer Variation (%AV)", + "measurementTaskOrderGRRJob": "Measurement Task Order - GRR Job", + "measurementTaskOrderGRRAnalysis": "Measurement Task Order - GRR Analysis", + "rrGreaterThan30": "%R&R > 30%, this measurement system is not qualified", + "confirmCompleteGRRJob": "Are you sure to complete the GRR job for task {taskNo}", + "confirmCompleteKAPPAJob": "Are you sure to complete the KAPPA job for task {taskNo}", + "enterMeasurer": "Please enter the measurer", + "enterMeasurementValue": "Please enter the measurement value for measurer {peopleName}, sample {sampleNo}, measurement {serialNo}", + "measurementTaskOrderKappaJob": "Measurement Task Order - KAPPA Job", + "measurementTaskOrderKappaAnalysis": "Measurement Task Order - KAPPA Analysis" + } +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/oee.json b/src/locale/i18n/en/mes/oee.json new file mode 100644 index 0000000..0fe8671 --- /dev/null +++ b/src/locale/i18n/en/mes/oee.json @@ -0,0 +1,18 @@ +{ + "attrib": "Attribute", + "system": "System", + "ruleStatusCode": "Please enter status code", + "ruleStatusName": "Please enter status name", + "ruleColor": "Please enter color", + "confirmDelCode": "Are you sure to delete status code {statusCode}", + "statusTypeNotEmpty": "Status type cannot be empty", + "oeeAttrNotEmpty": "OEE attribute cannot be empty", + "oeeStatusCodeAdd": "EQP Status Code - Add", + "oeeStatusCodeEdit": "EQP Status Code - Edit", + "oeeStatusCodeView": "EQP Status Code - View", + "factory": "Factory", + "colorCode": "Color", + "eqpStatusChange": "EQP Status Change Operation", + "ruleReasonCode": "Please enter reason code", + "awaitLot": "Awaiting Lot" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/ord.json b/src/locale/i18n/en/mes/ord.json new file mode 100644 index 0000000..c40470d --- /dev/null +++ b/src/locale/i18n/en/mes/ord.json @@ -0,0 +1,85 @@ +{ + "orderMaintenance": "WO Maintenance Operation", + "status": "Order Status", + "planWorkCenter": "Planned Work Center", + "feedPoint": "Feed Point", + "LOTList": "LOT List", + "substituteMaterial": "Substitute Material", + "itemDetail": "Item Detail", + "productionRoute": "Production Route", + "ruleShopOrder": "Please enter work order", + "ruleOrderType": "Please enter order type", + "rulePlanWorkCenter": "Please enter planned work center", + "rulePriority": "Please enter priority", + "ruleOrderStatus": "Please enter order status", + "ruleOrderAmount": "Please enter order amount", + "ruleBOM": "Please enter BOM", + "planEndDateNotEarlierStart": "Planned end date cannot be earlier than planned start date", + "shopOrderView": "Shop Order - View", + "shopOrderAdd": "Shop Order - Add", + "shopOrderEdit": "Shop Order - Edit", + "confirmDelOrder": "Are you sure to delete shop order: {shopOrder}", + "ruleSelectProductNo": "Please select a product ID first", + "confirmDelRow": "Are you sure to delete this row", + "feedPointNotEqualMaterial": "The same feed point {operation} is not allowed to have the same material {component}", + "itemDetailSeqDuplicate": "Item detail sequence {seq} is duplicated", + "subItemNoNotEmpty": "Substitute material item number cannot be empty", + "itemNoNotEqualSubs": "Item number: {component} cannot be the same as substitute material", + "orderTypeNotEmpty": "Order type cannot be empty", + "noOrderTypeLogic": "No logic for this order type '{label}', please check dictionary configuration", + "releasable": "Releasable", + "inTesting": "In Testing", + "shopOrderRequired": "Shop order No must be filled in", + "ruleSelectOrderType": "Please select order type", + "ruleSelectOrderStatus": "Please select order status", + "statusNotEmpty": "Status must be filled in", + "holdSign": "Hold Sign", + "amountRequired": "Amount must be filled in", + "priorityRequired": "Priority must be filled in", + "planItem": "Planned Material", + "rulePlanItem": "Planned material must be filled in", + "planItemList": "Planned material list", + "planProductionRoute": "Planned production route", + "prdAmount": "Production amount", + "releasableAmount": "Releasable amount", + "pendingReleaseAmount": "Pending release amount", + "planComDate": "Planned completion date", + "firstLastBatch": "First/Last Batch", + "selectHotLot": "Please select Hot Lot", + "releaseAmount": "Release amount", + "batchRelease": "Batch release", + "releaseSuccess": "Release successful", + "printProcessCard": "Print process card", + "ruleLineSideHouse": "Please enter WIP warehouse", + "inputReleaseAmount": "Please enter release amount", + "selectRowPrint": "Select a row LOT NO for printing", + "inputPrdRouter": "Please enter production route", + "prdBatch": "Production Batch", + "searchNotAllEmpty": "Search conditions cannot all be empty", + "ruleRevisionProduct": "When version is not empty, product ID cannot be empty", + "ruleProductRevision": "When product ID is not empty, version cannot be empty", + "searchNoData": "No data found", + "selectRowPrint2": "Select a row LOT NO for reprinting", + "selectOnceARowPrint": "Only one row LOT NO can be selected for reprinting at a time", + "userBatch": "Customer Batch", + "ruleUserPart": "Please enter customer part ID", + "ruleQty": "Please enter Qty", + "confirmDelLOTMessage": "Are you sure to delete this LOT information?", + "qtyRequired": "Qty must be filled in", + "releasedQty": "Released Qty", + "dieAmount": "Die Qty", + "dieAmountRequired": "Die Qty must be filled in", + "releasedDie": "Released die", + "orderQty": "Order Qty", + "releaseQty": "Release Qty", + "orderStatusNotReleasable": "Order status is not releasable", + "unSelectWaferCannotRelease": "Wafer must be selected before release!", + "eachPartUserLotCorrespond": "Each part must correspond to a user lot", + "selectReleasedQtyPartNo": "Please select the part number to be released", + "releaseDie": "Release die", + "eachDieUserLotCorrespond": "Each die must correspond to a user lot", + "releaseDieNotOverDieAmount": "Released die Qty cannot exceed die amount", + "releasableDie": "Releasable die", + "orderDie": "Order die Qty", + "printLabel": "Print Label" +} diff --git a/src/locale/i18n/en/mes/pms.json b/src/locale/i18n/en/mes/pms.json new file mode 100644 index 0000000..6939f8d --- /dev/null +++ b/src/locale/i18n/en/mes/pms.json @@ -0,0 +1,393 @@ +{ + "resrceGroupNo": "EQP Group ID", + "resrceGroupName": "EQP Group Name", + "structralCode": "Structural Code", + "errCode": "Error Code", + "maintenanceItem": "Maintenance Item", + "inspItem": "Inspection Item", + "spareBOM": "Spare BOM", + "ruleResrceGroupNo": "Please enter EQP group ID", + "resrceGroupAdd": "EQP Group - Add", + "resrceGroupView": "EQP Group - View", + "resrceGroupEdit": "EQP Group - Edit", + "confirmDelId": "Are you sure to delete ID: {id}", + "spareNo": "Spare Number", + "spareName": "Spare Name", + "specification": "Specification", + "spareTypeName": "Spare Type Name", + "confirmDelId2": "Are you sure to delete: {partId}", + "errName": "Error Name", + "structralName": "Structural Name", + "ruleStructCode": "Please enter structural code", + "ruleErrCode": "Please enter error code", + "errCodeAdd": "Error Code - Add", + "errCodeView": "Error Code - View", + "errCodeEdit": "Error Code - Edit", + "confirmDelName": "Are you sure to delete: {name}", + "inspItemName": "Inspection Item Name", + "inspItemGroup": "Inspection Item Group", + "ruleInspItemName": "Please enter inspection item name", + "inspItemAdd": "Inspection Item - Add", + "inspItemView": "Inspection Item - View", + "inspItemEdit": "Inspection Item - Edit", + "spareTypeNo": "Spare Type ID", + "ruleSpareName": "Please enter spare name", + "ruleInputAmount": "Please enter amount", + "spareType": "Spare Type", + "maintainItemSpareListAdd": "Maintenance Item Spare List - Add", + "maintainItemSpareListEdit": "Maintenance Item Spare List - Edit", + "maintainItemName": "Maintenance Item Name", + "itemType": "Item Type", + "inputValueType": "Input Value Type", + "targetValue": "Target Value", + "maxValue": "Max Value", + "minValue": "Min Value", + "maintainItemType": "Maintenance Item Type", + "maintainItemSpareList": "Maintenance Item Spare List", + "ruleMaintainItemName": "Please enter maintenance item name", + "MaintenanceItemAdd": "Maintenance Item - Add", + "maxAndMinSelectOne": "Please select either Max Value or Min Value", + "maxThanTargetThanMin": "The input is not valid. Please ensure Max Value > Target Value > Min Value", + "maxThanTarget": "The input is not valid. Please ensure Max Value > Target Value", + "targetThanMin": "The input is not valid. Please ensure Target Value > Min Value", + "maxThanMin": "The input is not valid. Please ensure Max Value > Min Value", + "maintainItemView": "Maintenance Item - View", + "maintainItemEdit": "Maintenance Item - Edit", + "usableStructCode": "Usable Structural Code", + "assignedStructCode": "Assigned Structural Code", + "resrceGroup": "EQP Group", + "department": "Department", + "area": "Area", + "specNo": "Specification ID", + "manufacturer": "Manufacturer", + "resrceMaintainView": "EQP Maintenance - View", + "resrceMaintainEdit": "EQP Maintenance - Edit", + "confirmAutoStop": "The EQP group has been changed. The following maintenance plans will automatically stop. Are you sure?", + "oriEquipGroupMaList": "Original Group Maintenance Plan: {oriEquipGroupMaList}", + "equipGroupMaList": "New Group Maintenance Plan: {equipGroupMaList}", + "confirmDelSerial": "Are you sure to delete serial number: {seq}", + "fileTypeNotSuit": "The selected file type does not match the current attachment type", + "inspShopOrder": "Inspection Shop Order No: {id}", + "waitProcess": "Waiting for processing", + "inProcess": "In process", + "compWaitConfirm": "Completed, awaiting confirmation", + "workLog": "Work Log", + "InspectionComp": "Inspection Completed", + "labelInspShopOrder": "Inspection Shop Order No", + "inspPlanName": "Inspection Plan Name", + "statusAuth": "Status (Authorization)", + "typeNo": "Type ID", + "user": "User", + "planEndDate": "Plan End Date", + "compDate": "Completion Date", + "inspResult": "Inspection Result", + "inspOrder": "Inspection Order", + "oneConditionRequird": "Please enter at least one condition", + "confirmInspOrder": "Inspection Shop Order: {id}, Are you sure to start execution?", + "confirmVoidOrder": "Inspection Shop Order: {id}, Are you sure to void it?", + "confirmCancelOrder": "Inspection Shop Order: {id}, Are you sure to cancel it?", + "confirmCompOrder": "Inspection Shop Order: {id}, Are you sure to mark it as completed?", + "inspOrderComp": "Inspection Shop Order Completed", + "userName": "User Name", + "allUser": "All Users", + "workGroup": "Work Group", + "indicatedGroup": "Indicated Group", + "inspOrderNo": "Inspection Order No", + "planEndNotEarlierStart": "The 'Plan Start Date' cannot be later than the end date", + "planEndNotEarlierStart2": "The 'Plan End Date' cannot be earlier than the start date", + "result": "Result *", + "workRecordAdd": "Work Record - Add", + "ruleStartTime": "Please enter the start time", + "ruleEndTime": "Please enter the end time", + "ruleEndStartTime": "End time cannot be earlier than or equal to start time", + "confirmDelUserName": "User Name: {row.detailFullName}
    Start Time: {row.beginTime}
    End Time: {row.endTime}
    Are you sure to delete?", + "email": "Email", + "phone": "Phone", + "mobile": "Mobile", + "inspListName": "Inspection List Name", + "selectDateTime": "Select Date and Time", + "executePlan": "Execute Plan", + "resrceList": "Resource List", + "resrceTypeGroupName": "Resource Type Group Name", + "inspListTypeName": "Inspection List Type Name", + "inspList": "Inspection List", + "inspListDelConfirm": "Inspection List: {schName}, Are you sure to delete?", + "eqpNotEmpty": "Frequency for {equipName} cannot be empty", + "valueTypeNotEmpty": "Value type cannot be empty", + "startTimeLaterCurrent": "Start time is incorrect, it must be later than the current time", + "overTwoYearFixAgain": "This plan exceeds two years, please adjust the time again", + "confirmRunPlan": "Are you sure to enable the selected plan: {schName}?", + "enableSuccess": "Enabled successfully", + "confirmStopPlan": "Are you sure to disable the selected plan: {schName}?", + "disableSuccess": "Disable successfully", + "dailyPlan": "Daily Plan", + "weeklyPlan": "Weekly Plan", + "monthlyPlan": "Monthly Plan", + "annualPlan": "Annual Plan", + "annualPlan2": "Annual Plan", + "perDay": "Every _ days", + "perHour": "Every _ hours", + "valueType": "Value Type", + "inspItemGroupName": "Inspection Item Group Name", + "inspResrce": "Inspection Resource", + "confirmEqpDel": "EQP: {equipName}, Are you sure to delete?", + "leastCheckOne": "Please select at least one item", + "frequency": "Frequency", + "confirmBuildInspOrder": "Are you sure to create inspection orders?", + "InspOrdercreateSuccess": "Created successfully, Inspection Order: {id}", + "duplicatedHour": "Duplicate hours", + "duplicatedDay": "Duplicate days", + "workTime": "Work Time", + "workDay": "Work Day", + "week": "Week", + "date": "Date", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wendesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "timeFormatErr": "Time format error", + "ruleCheckTime": "Please check the time period", + "ruleCheckDate": "Please check the date", + "ruleAddWorkDay": "Please add workday", + "inspMethod": "Inspection Method", + "workShopOrPrdLine": "Workshop or Production Line", + "schduleMethod": "Scheduling Method", + "preToleranceHour": "Pre-tolerance Hour", + "lagToleranceHour": "Lag-tolerance Hour", + "inspWorkGroup": "Inspection Work Group", + "hourWork": "Hourly Work", + "ruleFrequency": "Please select frequency period first", + "inspListNameNotEmpty": "Inspection List Name cannot be empty", + "descNotEmpty": "Description cannot be empty", + "frequencyNotEmpty": "Frequency cannot be empty", + "inspListTypeNameNotEmpty": "Inspection List Type Name cannot be empty", + "startTimeNotEmpty": "Start Time cannot be empty", + "endTimeNotEmpty": "End Time cannot be empty", + "maintenanceOrderNo": "Maintenance Order No", + "maintenancePlanName": "Maintenance Plan Name", + "maintenanceStart": "Maintenance Start", + "machineReasonCode": "Machine Reason Code", + "keyNotEmpty": "{key} cannot be empty", + "resultNotEmpty": "Result cannot be empty", + "confirmCompMaintainOrder": "Are you sure to confirm completion of this maintenance order?", + "maintainOrderComp": "Maintenance order completed", + "userNotExecuteMaintain": "Current user cannot execute this maintenance order", + "machineReasonCodeNotConfig": "'{id}' machine reason code not configured", + "confirmExecuteMaintain": "Are you sure to execute maintenance order: {id}", + "confirmVoidMaintain": "Are you sure to void maintenance order: {id}", + "maintainLowestHourLimit": "Maintenance Lowest Hour Limit (hours)", + "maintainWorkGroup": "Maintenance Work Group", + "ruleMaintenancePlanName": "Please enter maintenance plan name", + "inputFrequecy": "Please enter frequency", + "everyFewDays": "Every few days", + "everyFewHours": "Every few hours", + "await": "Await", + "abandon": "Abandon", + "inExecute": "In execution", + "audit": "Audit", + "end": "End", + "maintainExecuteTime": "Maintenance Plan Execution Time", + "maintenanceOrder": "Maintenance Order", + "machineReasonCodeNotEmpty": "Machine reason code cannot be empty", + "inputValue": "Input Value", + "spares": "Spares", + "maintainComp": "Maintenance Completed", + "maintenanceOrderSpare": "Maintenance Order - Spare Record", + "maintainItemAttach": "Maintenance Item - Attachments", + "inputValueNotEmpty": "Input value cannot be empty", + "laborHourReasonCode": "Labor Hour Reason Code", + "inputResult": "Please enter result", + "inputMemo": "Please enter memo", + "inputMachineReason": "Please enter machine reason code", + "planEndTimeNotEarlier": "Planned end time cannot be earlier than planned start time", + "maintainEqp": "Maintenance EQP", + "actualSpare": "Actual Spare Usage", + "ruleSpare": "Please enter spare", + "spareExist": "Spare: {partName}, already exists", + "personalOrder": "Personal Order", + "resrceNoName": "EQP Name", + "groupName": "Group Name", + "text": "Text", + "underReviewMaintainOrder": "Under Review Maintenance Order", + "confirmMaintainOrder": "Are you sure to confirm this maintenance order?", + "maintainResult": "Maintenance Result", + "permission": "Permission", + "mainOrderHistory": "Maintenance Order History", + "historyRecord": "History Record", + "finisher": "Finisher", + "planTimeStart": "Planned Time Start", + "planTimeEnd": "Planned Time End", + "groupType": "Group Type", + "groupDesc": "Group desc", + "fullName": "Full Name", + "signOffTime": "Sign-off Time", + "repairWorkGroup": "Repair Work Group", + "repairPrdGroup": "Repair Production Group", + "repairQAGroup": "Repair Quality Assurance Group", + "maintainWork": "Maintenance Work", + "inspWork": "Inspection Work", + "patrolWork": "Patrol Work", + "maintainPeriod": "Maintenance Period", + "enable3": "Enable", + "disable2": "Disable", + "confirmSelectPlan": "Are you sure to {msg} the selected plan: {schName}", + "maintainPlanView": "Maintenance Plan - View", + "maintainPlanEdit": "Maintenance Plan - Edit", + "confirmDelMaintainPlan": "Are you sure to delete maintenance plan: {schName}", + "maintainPlanAdd": "Maintenance Plan - Add", + "confirmDelEqpNo": "Are you sure to delete EQP ID: {equipName}", + "maintainPlanMethod": "Maintenance Plan Method", + "regularly": "Regularly", + "onSchedule": "On Schedule", + "maintainWorkTime": "Maintenance Work Time (hours)", + "preRemindTime": "Pre-Remind Time (hours)", + "startTimeFormatWrong": "Start time format is incorrect", + "endTimeFormatWrong": "End time format is incorrect", + "ruleStartEnd": "Start time cannot be greater than end time", + "seasonPlan": "Seasonal Plan", + "halfYearPlan": "Half-Yearly Plan", + "patrolOrderAdd": "Patrol Order - Add", + "patrolStart": "Patrol Start", + "inputPatrolListNo": "Please enter the patrol list number", + "confirmVoidPatrolOrder": "Are you sure to void patrol order: {id}", + "leastOneSearchCondition": "Please select at least one search condition", + "patrolListNo": "Patrol List No", + "resrceName": "Resource Name", + "patrolListName": "Patrol List Name", + "patrolListDesc": "Patrol List desc", + "patrolOrder": "Patrol Order", + "patrolOrderNo": "Patrol Order No", + "patrolList": "Patrol List", + "memoNotEmpty": "Memo cannot be empty", + "patrolResult": "Patrol Result", + "confirmCompPatrolOrder": "Are you sure to confirm completion of this patrol order?", + "createDate": "Creation Date", + "createTime": "Creation Time", + "patrolItem": "Patrol Item", + "inputPatrolListName": "Please enter the patrol list name", + "patrolName": "Patrol Name", + "periodDays": "Period Days", + "updateTime": "Update Time", + "patrolListView": "Patrol List - View", + "patrolListEdit": "Patrol List - Edit", + "confirmDelPatrolList": "Are you sure to delete patrol list: {patrolName}", + "inputResrceGroup": "Please enter the resource group", + "maxOrMinValue": "Max or Min Value", + "patrolListAdd": "Patrol List - Add", + "numberText": "Number", + "repairOrderNo": "Repair Order No", + "repairItem": "Repair Item", + "prdBatchInfo": "Production Batch Information", + "cancelRepair": "Cancel Repair", + "confirmRepair": "Confirm Repair", + "repairRequest": "Repair Request", + "repairOrderAdd": "Repair Order - Add", + "repairOrderView": "Repair Order - View", + "repairOrderEdit": "Repair Order - Edit", + "confirmCopyRepairOrder": "Are you sure to copy repair order: {id}", + "faultDesc": "Fault desc", + "faultTime": "Fault Time", + "repairPeriod": "Repair Period", + "leastCheckOneRepair": "Please select at least one repair item", + "repairPeriodNotPast": "Repair period cannot be in the past", + "confirmCancelRepairOrder": "Are you sure to cancel repair order: {id}", + "confirmAcceptRepairOrder": "Are you sure to accept repair order: {id}, and assign it to repair work group?", + "confirmRepairOrderToRequest": "Are you sure to convert repair order: {id} to repair request?", + "repairRequestSuccess": "Repair request successful", + "createdSuccess": "Created successfully", + "confirmDelRepairOrder": "Are you sure to delete repair order: {id}", + "uploadTime": "Upload Time", + "uploadUser": "Upload User", + "repairRequestUser": "Repair Request User", + "repairRequestTime": "Repair Request Time", + "repairDepart": "Repair Department", + "repairWorkGroup2": "Repair Work Group", + "QCgroup": "Quality Control Group", + "prdGroup": "Production Group", + "repairRequestEndNotEarlier": "Repair request end date cannot be earlier than start date", + "errEndNotEarlier": "Error end date cannot be earlier than start date", + "resrceRepairRecord": "EQP Repair Record", + "repairRequstInfo": "Repair Request Information", + "repairInfo": "Repair Information", + "repairStartTime": "Start Repair Time", + "repairUser": "Repair User", + "repairCompTime": "Repair Completion Time", + "repairResult": "Repair Result", + "QCInfo": "QC Information", + "QCUser": "QC User", + "QCTime": "QC Time", + "QCDesc": "QC desc", + "inputRepairResult": "Please enter repair result", + "inputQCDesc": "Please enter QC description", + "repairResrce": "Repair EQP", + "errReasonAnalyze": "Error Reason Analysis", + "repairStrategy": "Repair Strategy", + "annotation": "Annotation", + "spareRecord": "Spare Record", + "ruleErrDesc": "Please enter error description", + "ruleRepairPeriod": "Please enter repair period", + "ruleErrTime": "Please enter error time", + "stop": "Stop", + "inQC": "In QC", + "inInvestigation": "In Investigation", + "reRepair": "Re-repair", + "inRepair": "In Repair", + "prdApproval": "Production Approval", + "awaitRepair": "Awaiting Repair", + "userNotExecuteRepairOrder": "The current user cannot execute this repair order", + "confirmReturnRepairOrder": "Are you sure to return repair order: {id}?", + "returnSuccess": "Return Successful", + "confirmCompRepairOrder": "Are you sure to confirm completion of this repair order?", + "confirmComp": "Confirm Completion", + "return": "Return", + "manufactureAnnotation": "Manufacture Annotation", + "manufactureGroup": "Manufacture Group (Permission)", + "repairResultNotEmpty": "Repair result cannot be empty", + "QCDescNotEmpty": "Quality control description cannot be empty", + "QCAnnotation": "Quality Control Annotation", + "inputRepairStrategy": "Please enter repair strategy", + "inputQCAnnotation": "Please enter quality control annotation", + "transferOrder": "Transfer Order", + "stopRepairRequest": "Stop Repair Request", + "repairComp": "Repair Completion", + "confirmStopRepair": "Are you sure to stop repair order: {id}?", + "stopSuccess": "Stop Successful", + "confirmItemAllCompRepair": "Please confirm that all items have been completed for repair", + "confirmCompAllRepair": "Are you sure to confirm completion of all items for this repair order?", + "repairSuccess": "Repair Completed", + "repairWorkGroupNotEmpty": "Repair work group cannot be empty", + "confirmTransferOrder": "Are you sure to transfer the order?", + "repairOrderNoTransferWorkGoup": "Repair order {orderName} has been transferred to {transferWorkGroup} repair work group", + "inputErrReasonAnalyze": "Please input fault reason analysis", + "confirmDelSpares": "Are you sure to delete spare: {partName}", + "confirmDelErrCode": "Are you sure to delete fault code: {id}", + "inspListTypeNo": "Inspection list type ID", + "inspListType": "Inspection list type", + "confirmDelInspListType": "Are you sure to delete inspection list type: {id}", + "inspItemGroupNo": "Inspection item group ID", + "confirmDelInspItemGroup": "Are you sure to delete inspection item group: {id}", + "confirmDelTypeNo": "Are you sure to delete type ID: {id}", + "confirmDelSpares2": "Are you sure to delete spare: {id}", + "confirmDelStructralCode": "Are you sure to delete structural code: {id}", + "departNo": "Department number", + "departName": "Department name", + "emailFormatWrong": "Incorrect email format", + "manager": "Manager", + "role": "Role", + "confirmDelGroupNo": "Are you sure to delete group ID: {id}", + "resType": "Resource type", + "inputResType": "Please input resource type", + "disabled2": "Disabled", + "engineer": "Engineer", + "unknown": "Unknown", + "resource": "Resource", + "inputResouce": "Please input resource", + "procedureResource": "Procedure resource", + "validStartDate": "Valid start date", + "vvalidEndDate": "Valid end date", + "proof": "Proof", + "inputProof": "Please input proof" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/pod.json b/src/locale/i18n/en/mes/pod.json new file mode 100644 index 0000000..656988a --- /dev/null +++ b/src/locale/i18n/en/mes/pod.json @@ -0,0 +1,96 @@ +{ + "resource": "EQP", + "componentNumber": "Component Number", + "componentType": "Component Type", + "table": "Table", + "form": "Form", + "componentVersion": "Component Version", + "componentScript": "Component Script", + "dataMethod": "Data Method", + "sqlScript": "SQL Script", + "apiInterface": "API Interface", + "dataContent": "Data Content", + "enterComponentNumber": "Please enter component number", + "enterComponentType": "Please enter component type", + "enterComponentVersion": "Please enter component version", + "enterComponentScript": "Please enter component script", + "selectDataMethod": "Please select data method", + "enterDataContent": "Please enter data content", + "mustRetrieveRecordBeforeDeletion": "You must retrieve the record before it can be deleted", + "isCurrentVersion": "Is this the current version", + "productionLineMustBeFilled": "Production line must be filled", + "workCenterMustBeFilled": "Work center must be filled", + "processMustBeFilled": "Process must be filled", + "resourceMustBeFilled": "Resource must be filled", + "productionItem": "Production Item", + "productionItemMustBeFilled": "Production item must be filled", + "pleaseSpecifyProductionOperatorPanel": "Please specify the production operator panel", + "productionOperatorPanel": "Production Operator Panel", + "displaySize": "Display Size", + "displayQuantity": "Display Qty", + "quantityCanBeChanged": "Qty Can Be Changed", + "processCanBeChanged": "Process Can Be Changed", + "defaultProcess": "Default Process", + "resourceCanBeChanged": "Resource Can Be Changed", + "defaultResource": "Default Resource", + "productionLineCanBeChanged": "Production Line Can Be Changed", + "defaultProductionLine": "Default Production Line", + "workCenterCanBeChanged": "Work Center Can Be Changed", + "defaultWorkCenter": "Default Work Center", + "buttonIdentifier": "Button Identifier", + "buttonName": "Button Name", + "functionType": "Function Type", + "eventApi": "Event API", + "interfaceLink": "Interface Link", + "path": "Path", + "panel": "Panel", + "dynamicConfiguration": "Dynamic Configuration", + "functionLink": "Function Link", + "component": "Component", + "componentName": "Component Name", + "horizontalSpanRatio": "Horizontal Span Ratio (1-24)", + "displayMode": "Display Mode", + "independentDisplay": "Independent Display", + "tabLabel": "TAB Label", + "height": "Height", + "panelPosition": "Panel Position", + "aboveButton": "Above Button", + "belowButton": "Below Button", + "alwaysReload": "Always Reload", + "enterWorkstation": "Please Enter Workstation", + "enterSequence": "Please Enter Sequence", + "operationPanel": "Operation Panel", + "keyNotFoundForType": "{firstKey} does not exist for type {secondKey}", + "keyNotFound": "{firstKey} does not exist", + "operatorPanelKeyNotFound": "Operator panel {key} does not exist", + "invalid": "Invalid", + "reserved": "Reserved", + "correctiveAction": "Corrective Action", + "workshopInventory": "Workshop Inventory", + "equipmentStatus": "EQP Status", + "working": "Working", + "unit": "Unit", + "unitGroup": "Unit Group", + "productionLine": "Production Line", + "productionLineGroup": "Production Line Group", + "building": "Building", + "assembly": "Assembly", + "scheduling": "Scheduling", + "shipping": "Shipping", + "productionControl": "Production Control", + "recordControl": "Record Control", + "transfer": "Transfer", + "masterData": "Master Data", + "workshopOperationControl": "Workshop Operation Control", + "configurable": "Configurable", + "releasable": "Releasable", + "normal": "Normal", + "testing": "Testing", + "virtual": "Virtual", + "coProduct": "Co-Product", + "byProduct": "By-Product", + "canceled": "Canceled", + "springBeanObject": "SpringBean Object", + "dynamicScript": "Dynamic Script", + "pending": "Pending" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/prd.json b/src/locale/i18n/en/mes/prd.json new file mode 100644 index 0000000..ab20eaf --- /dev/null +++ b/src/locale/i18n/en/mes/prd.json @@ -0,0 +1,487 @@ +{ + "BOMNo": "BOM ID", + "currentRevision": "Current Ver.", + "unitConsume": "Unit Consumption", + "unitPrdAmount": "Unit Production Amount", + "confirmDelItemList": "Do you confirm the deletion of the material list {bom}/{bomType}/{revision}?", + "itemOperationDuplicate": "Item number: {component} Feeding point: {operation} is duplicated", + "BOMMaintainItemDetail": "BOM must maintain item details", + "item": "Item", + "itemTypeDesc": "Item Type desc", + "selectWorkGroup": "Please select a work group", + "selectUserWorkShiftNo": "Please select a work shift number", + "nextMonth": "Next Month", + "nextYear": "Next Year", + "cannotModifyPastCalendars": "Cannot modify work group calendars for the current day (inclusive) and earlier", + "confirmCoverageWorkGroupCalendarInfo": "The current work group already has settings for {rangeText}, do you want to overwrite them?", + "userWorkShift": "Work Shift", + "userWorkShiftNo": "Work Shift Number", + "userWorkShiftDesc": "Work Shift desc", + "userWorkShiftNoExist": "Work Shift Number: {userWorkShift} already exists", + "confirmDelUserWorkShift": "Do you confirm the deletion of the work shift: {userWorkShift}?", + "workPosition": "Work Position", + "workGroup": "Work Group ID", + "workGroupDesc": "Work Group Desc", + "workGroupUser": "Work Group Personnel", + "workGroupType": "Work Group Type", + "workGroupTypeNo": "Work Group Type ID", + "workGroupTypeDesc": "Work Group Type Desc", + "enterWorkGroupTypeNo": "Please enter the work group type ID", + "confirmDelWorkGroupType": "Do you confirm the deletion of the work group type: {workGroupType}?", + "shippingLocation": "Shipping add", + "shippingPlace": "Shipping to", + "country": "Country", + "address": "Address", + "user": "Customer", + "userNoRequired": "Customer ID cannot be empty", + "userNoExist": "Customer ID: {customerNo} already exists", + "confirmDelUser": "Do you confirm the deletion of the customer: {customerNo}?", + "inspLevel": "QC Level", + "confirmSelectInspPlanDel": "Please select an inspection plan to delete", + "confirmSelectSupplierDel": "Please select a supplier to delete", + "itemMaterialMaintain": "Item Material Maintenance", + "inspLevelNotSetMultiple": "Inspection level '{str}' cannot set multiple inspection plans", + "confirmDelItemMaterialNo": "Do you confirm the deletion of the item number: {item}?", + "contactPerson": "Contact Person", + "itemTypeExist": "Item type: {typeNo} already exists", + "confirmDelItemType": "Do you confirm the deletion of the item type: {typeNo}?", + "actionTiming": "Action Timing", + "ruleLogic": "Rule Logic", + "rule": "Rule", + "dispose": "Dispose", + "variable": "Variable", + "operator": "Operator", + "checkValue": "Check Value", + "startOp": "Start Operation", + "exitOpTime": "Exit Operation Time", + "endOp": "End Operation", + "messageRouter": "Message / Router", + "controlRuleConfig": "Control Rule Configuration", + "ruleLogicSetting": "Rule Logic Setting", + "confirmRuleNoDel": "Do you confirm the deletion of rule number {ruleNo}?", + "confirmRuleDel": "Do you confirm the deletion of rule {rule}?", + "confirmInOrderDuplicate": "Seq {seq} is duplicated, please confirm", + "startOpIndicateTime": "Indicated Time for Start Operation", + "endOpIndicateTime": "Indicated Time for End Operation", + "msgNotEmpty": "Message cannot be empty", + "alarmCodeNotEmpty": "Alarm code cannot be empty", + "routerNotEmpty": "Router cannot be empty", + "startOpEndOpDataNotEqual": "The data set for the start operation and end operation cannot be exactly the same", + "segmentNo": "Segment ID", + "eventNo": "Event ID", + "eventName": "Event ID", + "eventDesc": "Event desc", + "severity": "Severity", + "duty": "Duty", + "nonConformingGroup": "Non-Conforming Group", + "usableNonConformingGroup": "Usable Non-Conforming Group", + "indicatedNonConformingGroup": "Indicated Non-Conforming Group", + "selfDuty": "Self-Duty", + "otherDuty": "Other-Duty", + "nonConformanceCodeExist": "Non-conformance code: {ncCode} already exists", + "confirmDelNonComformingCode": "Do you confirm the deletion of non-conformance code: {ncCode}?", + "usableNonConformingCode": "Usable Non-Conforming Code", + "indicatedNonConformingCode": "Indicated Non-Conforming Code", + "operationConfig": "Operation Configuration", + "nonConformanceGroupExist": "Non-conformance group: {ncGroup} already exists", + "confirmDelNCGroup": "Do you confirm the deletion of non-conformance group: {ncGroup}?", + "operationType": "Operation Type", + "usableResrce": "Usable Resource", + "indicatedResrce": "Indicated Resource", + "usableItemType": "Usable Item Type", + "indicatedItemType": "Indicated Item Type", + "operationDataField": "Operation Main Data", + "confirmDelOperation": "Do you confirm the deletion of operation with ID {operation}?", + "operationExist": "Operation: {operation} already exists", + "paramType": "Parameter Type", + "default": "Default", + "dataType": "Data Type", + "dataListSrc": "Data List Source", + "textSrc": "Text Source", + "textDescSrc": "Text desc Source", + "otherRequirement": "Other Requirement", + "dataList": "Data List", + "paramDataFields": "Parameter Main Data", + "confirmDelParamNo": "Do you confirm the deletion of parameter number: {parameterNo}?", + "paramNoExist": "Parameter ID: {parameterNo} already exists", + "PDCNo": "PDC Number", + "PDCDataFields": "PDC Main Data", + "confirmDelPDCNo": "Do you confirm the deletion of PDC number: {pdcNo}?", + "selectParamForDel": "Please select a parameter to delete", + "approve": "Approve", + "release": "Release", + "approved": "Approved", + "notApproved": "Not Approved", + "operationForSegment": "Operations corresponding to the segment", + "inputKeywordForFilter": "Enter keyword for filtering", + "infoConfigForOperation": "Operation Information Configuration", + "operationDesc": "Operation desc", + "controlRule": "Control Rule", + "mapOffset": "Map Offset", + "paramValue": "Parameter Value", + "controlRuleNo": "Control Rule No", + "resrceAndFormula": "Resource Type '{typeNo}' and Main Recipe '{testProgramNo}'", + "toolCategoryAndType": "Tool Category '{categoryNo}', Tool Type '{typeNo}'", + "notSetDuplicate": "Cannot set duplicate", + "selectLimitResrce": "Select restricted resource", + "selectSpareFormula": "Select spare recipe", + "doSearchFirst": "Please perform search first", + "itemRevisionApproveNotDel": "'{item}', '{revision}' has been approved, cannot delete segment or operation", + "segmentNoOrOpeartionNo": "Must select segment number or operation number", + "confirmDelOperation2": "Do you confirm the deletion of operation: {treeOperation}?", + "itemRevisionNotApproveByOperationNotSet": "{item}, {revision} operation not set, cannot be approved", + "itemRevisionNotApproveByMsgNotSet": "{item}, {revision} main message not set, cannot be approved", + "confirmApprovePrdConfig": "Do you confirm the approval of product configuration for '{item}', '{revision}'?", + "approveSuccess": "Approval successful", + "confirmDismissApproval": "Are you sure to dismiss the approval for '{item}', '{revision}'?", + "dismissSuccess": "Dismissal successful", + "itemRevisionApprovedNotDel": "'{item}', '{revision}' has been approved, cannot be deleted", + "confirmDelPrdConfig": "Do you confirm the deletion of product configuration for '{item}', '{revision}'?", + "limitResrce": "Limited Resource", + "sourceMaterialNo": "Source Material ID", + "targetMaterialNo": "Target Material ID", + "targetRevision": "Target Revision", + "targetExistApprovedNotCopy": "Target material ID {newItem}, version {newRevision} already has an approved product configuration, cannot perform copy", + "confirmItemPrdParamConfigCover": "Target material has production parameters configured, do you want to overwrite?", + "copyComp": "Copy completed", + "selectCategory": "Please select a category", + "selectType": "Please select a type", + "limitType": "Limit Type", + "seqLimitedResrceNotEmpty": "Limited resource for sequence {seq} cannot be empty", + "formulaDesc": "Formula Desc", + "spareFormula": "Spare Formula", + "standardBatchAmount": "Standard Batch Amount", + "orderSeq": "Order Seq '{el.seq}'", + "xYNotDuplicate": "X and Y cannot be duplicated", + "percent": "Percentage", + "string": "String", + "PDCDesc": "PDC Desc", + "specCenter": "Spec Center", + "prdConfigPDCParam": "Product Configuration - PDC Parameters", + "PDCPageSeqResrceNotEmpty": "In the PDC tab, the resource type for sequence {seq} cannot be empty", + "PDCPageSeqPDCNoNotEmpty": "In the PDC tab, the PDC number for sequence {seq} cannot be empty", + "PDCPageResrceTypeNotDuplicate": "In the PDC tab, the resource type '{typeNo}' cannot be duplicated", + "paramNoMsg": "Parameter ID '{parameterNo}'", + "paramNoRule": "Parameter ID '{parameterNo}' does not meet the specification: upper limit > lower limit", + "specificationCannotBeEmpty": "Specification cannot be empty", + "RecipeNo": "Recipe No", + "RecipeDesc": "Recipe desc", + "RecipeReversion": "Recipe Version", + "prdConfigRecipeParam": "Product Configuration - Recipe Parameters", + "pageRECIPESeqResrceTypeNotEmpty": "In the Recipe tab, the resource type for sequence {seq} cannot be empty", + "pageRECIPESeqRecipeNoNotEmpty": "In the Recipe tab, the Recipe number for sequence {seq} cannot be empty", + "pageRECIPESeqRecipeNoParamNotEmpty": "In the Recipe tab, the parameter value for Recipe number of sequence {seq} cannot be empty", + "pageRECIPESeqRecipeNoHighLimitNotEmpty": "In the Recipe tab, the upper limit for Recipe number of sequence {seq} cannot be empty", + "pageRECIPESeqRecipeNoLowLimitNotEmpty": "In the Recipe tab, the lower limit for Recipe number of sequence {seq} cannot be empty", + "pageRECIPESeqRecipeNoSpecCenterNotEmpty": "In the Recipe tab, the specification center for Recipe number of sequence {seq} cannot be empty", + "pageRECIPEResrceTypeNotDupilcate": "In the Recipe tab, the resource type '{typeNo}' cannot be duplicated", + "confirmDelReasonCode": "Do you confirm the deletion of reason code: {reasonCode}?", + "paramNoDesc": "Parameter ID Desc", + "selectParamNoForDel": "Please select a parameter ID to delete", + "RecipeDataConfig": "Recipe Main Data Configuration", + "RecipeDataFields": "Recipe Main Data", + "paramItemNotEmpty": "Parameter list cannot be empty", + "confirmDelRecipeNo": "Do you confirm the deletion of Recipe number: {recipeNo}?", + "copySuccess": "Copy success", + "confirmSegmentChangedDelRouter": "The segment has changed, and the drawn routes will be deleted. Are you sure?", + "confirmDelRouter": "Do you confirm the deletion of the route: {router}/{revision}?", + "segmentDataFields": "Segment Main Data", + "orderShouldPositiveInt": "Order should be a positive integer", + "segmentExist": "Segment: {segmentNo} already exists", + "confirmDelSegment": "Do you confirm the deletion of segment: {segmentNo}?", + "confirmDelSupplierNo": "Do you confirm the deletion of supplier number {supplierNo}?", + "phone": "Phone", + "routerDraw": "Route - Draw", + "batchRule": "Batch Rule", + "specialUserBatchNo": "Special User Batch ID", + "setter": "Setter", + "batchRuleOrderCustom": "Batch Rule - Custom Work Order", + "selectDelRow": "Please select a row to delete first", + "confirmSeqRemove": "Seq {selectedSeqs}, are you sure to remove this data?", + "seqInputSettingValueNRequired": "Seq {missingValues} must input the setting value (N)", + "uncheckCustomDataField": "Unchecked the same work order custom data field", + "seqUserBatchNotEmpty": "Customer batch ID for sequence {emptyLots} cannot be empty", + "seqUserLotDuplicate": "Seq {duplicateSeq}, customer batch ID is duplicated", + "confirmNotSaveChange": "Data has been changed but not saved, are you sure to cancel this change?", + "equalPO": "Same PO", + "equalDateCode": "Same DateCode", + "differentPrdBatchNotOverN": "Production batches with different DateCodes do not exceed (N)", + "differenceNotOverWeekN": "The difference in DateCodes does not exceed (N) weeks", + "equalUserLot": "Same Customer Batch ID", + "differentUserLotNotOverN": "Production batches with different customer batch numbers do not exceed (N)", + "equalTestingProgramRevision": "Same Testing Program and Revision", + "sameOrderCcstom": "Same Custom Work Order", + "valid": "Valid", + "EQURuleNo": "EQC Rule No", + "sampleRuleNo": "Sampling Rule No", + "maxNumber": "Maximum Number", + "BINNo": "BIN Number", + "indicateBIN": "Indicate BIN", + "indicateCAT": "Indicate CAT", + "electricTestingRule": "Electric Testing Rule", + "confirmDelRuleNo": "Do you confirm the deletion of {eqcRuleNo}?", + "checkBIN": "Please check BIN", + "sampleMethodMaxBINNotEmpty": "When the sampling method is the maximum N BINs, the maximum number cannot be empty", + "selectOneRow": "Please select a row first", + "allGoodCatNumber": "All Good CAT Number", + "indicateSingleCAT": "Indicate Single CAT", + "indicateMultipleCAT": "Indicate Multiple CATs", + "maximumSingleCAT": "Max Single CAT", + "maximumNCAT": "Max N CATs", + "indicateRepleMultipleCAT": "Indicate Multiple CATs in Seq", + "others": "Others", + "sampleType": "Sampling Type", + "FTAutoSplitRule": "FT Auto Split Rule", + "splitRule": "Split Rule", + "transferMethod": "Transfer Method", + "batchNo": "Batch ID", + "keepOrigin": "Keep Original", + "prdNewNo": "Generate New Number", + "inputDirect": "Input Directly", + "add": "Add", + "subtract": "Subtract", + "code": "Code +", + "applyBIN": "Apply BIN", + "applyCAT": "Apply CAT", + "selectRouterNo": "Please select a route number first", + "FTSplichRule": "FT Split Rule", + "confirmDelItemSeq": "Do you confirm the deletion of item with sequence {seq}?", + "transferMethod2": "Transfer Method", + "itemNoChangeLogicNewNotEmpty": "When the product ID change logic is to generate a new number, the item number cannot be empty", + "userPartChangeLogic": "When the customer part ID change logic is to generate a new number, the customer part ID cannot be empty", + "userLotChangeLogic": "When the customer Lot No change logic is to generate a new number, please select a change method", + "inputFieldsNotEmpty": "Input value field cannot be empty for direct input", + "addingFieldNotEmpty": "Input value field cannot be empty for adding", + "haltCodeOrInputFieldsNotEmpty": "Retain code count or input value field cannot be empty", + "haltCodePositiveInt": "Retain code count must be a positive integer", + "subtractCodeOrInputNotEmpty": "Subtract code count or input value field cannot be empty", + "subtractCodePositiveInt": "Subtract code count must be a positive integer", + "itemNoPositiveInt": "Item sequence must be a positive integer", + "leastCheckOneBIN": "At least one BIN must be checked", + "itemNotDuplicate": "Item sequence cannot be duplicated", + "productCodeNotEmpty": "Product code cannot be empty", + "splitNoRule": "Split Number Rule", + "singleTest": "Single Test Count", + "singleTestSecond": "Single Test Seconds", + "singleTestPositiveInt": "Single test count should be a positive integer", + "ruleSingleTestSecond": "Single test seconds must be greater than 0, decimal allowed up to 2 places", + "seqBINNoNotEmpty": "For sequence {seq}, BIN number cannot be empty", + "seqResultNotEmpty": "For sequence {seq}, result cannot be empty", + "CPTestProgram": "CP Test Program", + "FTTestProgram": "FT Test Program", + "insertNewItem": "Insert New Item", + "removeAll": "Remove All", + "fieldLabel": "Field Label", + "mandatory": "Mandatory", + "enterCategory": "Please enter a category", + "cannotRemoveDisabledRow": "Cannot remove a disabled row", + "noItemsToRemove": "No items to remove", + "confirmDeleteCustomData": "Do you confirm the deletion of custom data {tableName}?", + "numberType": "Number Type", + "orderType": "Order Type", + "definitionMethod": "Definition Method", + "defineByContainer": "Define by Container", + "skipSequence": "Skip Seq", + "prefix": "Prefix", + "suffix": "Suffix", + "baseNumber": "Base Number", + "sequenceLength": "Seq Length", + "maximumSequence": "Maximum Seq", + "minimumSequence": "Minimum Seq", + "increment": "Increment", + "currentSequence": "Current Seq", + "resetSequenceNumber": "Reset Seq Number", + "commitImmediately": "Commit Immediately", + "numberingRuleExample": "Numbering Rule Example", + "enterOrSelectNumberType": "Please enter or select a number type", + "enterBaseNumber": "Please enter a base number", + "maxLength128Characters": "Maximum length is 128 characters", + "enterCurrentSequence": "Please enter the current sequence", + "materialGroup": "Material Group", + "noData": "No Data", + "searchBeforeDeleting": "Please search before deleting", + "never": "Never", + "always": "Always", + "daily": "Daily", + "weekly": "Weekly", + "monthly": "Monthly", + "yearly": "Yearly", + "weeklySunday": "Weekly - Sunday", + "weeklyMonday": "Weekly - Monday", + "weeklyTuesday": "Weekly - Tuesday", + "weeklyWednesday": "Weekly - Wednesday", + "weeklyThursday": "Weekly - Thursday", + "weeklyFriday": "Weekly - Friday", + "weeklySaturday": "Weekly - Saturday", + "carrierTypeDesc": "Carrier Type desc", + "enterCarrierType": "Please enter the carrier type", + "pleaseEnterContainerType": "Please enter container type", + "enterCarrier": "Please enter the carrier number", + "layoutColumns": "Columns", + "layoutRows": "Rows", + "layoutCapacity": "Maximum Capacity", + "layoutMapping": "Carrier Position Mapping", + "layoutType": "Carrier Position Type", + "containerType0": "No Position Needed", + "containerType1": "Single Column Arrangement", + "containerType2": "Matrix Arrangement", + "mappingNo": "Position Code", + "carrierTypeExist": "Carrier type: {carrierType} already exists", + "carrierExist": "Carrier number: {carrier} already exists", + "confirmDelCarrierType": "Do you confirm the deletion of carrier type: {carrierType}?", + "confirmDelCarrier": "Do you confirm the deletion of carrier number: {carrier}?", + "carrierMemberActive": "Carrier Operation", + "carrierBind": "Bind", + "carrierUnBind": "Unbind", + "operationType2": "Operation Type", + "carrierNumber": "Carrier Qty", + "carrierTypeBo": "Carrier Type BO", + "status1": "In Use", + "status2": "Idle", + "automaticGeneration": "Automatic Generation", + "lotNo": "Lot No", + "currentLoadQty": "Current Load Qty", + "positionLabel": "Position Label", + "position": "Position", + "batchCreation": "Batch Creation", + "confirmDelWorkGroupNo": "Do you confirm the deletion of work group ID: {workGroup}?", + "startLineInspectionNumber": "Start Line Inspection Number", + "lineInspectionConfiguration": "Line Inspection Configuration", + "addLineInspectionConfiguration": "Add Line Inspection Configuration", + "viewLineInspectionConfiguration": "View Line Inspection Configuration", + "editLineInspectionConfiguration": "Edit Line Inspection Configuration", + "checkItem": "Check Item", + "processOrProductionLine": "Process/Production Line", + "availableProductionLines": "Available Production Lines", + "assignedProductionLines": "Assigned Production Lines", + "customData": "Custom Data", + "deactivate": "Deactivate", + "confirmDeletionOfLineInspectionId": "Do you confirm the deletion of line inspection number {id}?", + "keyCannotBeEmpty": "{key} cannot be empty", + "processStep": "Process Step", + "selectProcessStepToDelete": "Please select a process step to delete", + "action": "Action", + "feeding": "Feeding", + "issueCommand": "Issue Command", + "systemIntegration": "System Integration", + "feedingOpen": "Feeding Open", + "issueCommandWaitForResponseOpen": "Issue Command - Wait for Response", + "issueCommandNoWaitForResponseOpen": "Issue Command - No Wait for Response", + "alarmOpen": "Alarm Open", + "systemIntegrationOpen": "System Integration Open", + "actionContent": "Action Content", + "processStepFeedingContent": "Process Step - Feeding Content", + "processStepIssueCommandContent": "Process Step - Issue Command Content", + "processStepAlarmContent": "Process Step - Alarm Content", + "processStepSystemIntegrationContent": "Process Step - System Integration Content", + "processStepParameters": "Process Step - Parameters", + "systemName": "System Name", + "materialCannotBeEmpty": "Material cannot be empty", + "standardNumberCannotBeEmpty": "Standard number cannot be empty", + "unitQuantityCannotBeEmpty": "Unit Qty cannot be empty", + "commandIDCannotBeEmpty": "Command ID cannot be empty", + "eventIDCannotBeEmpty": "Event ID cannot be empty", + "systemNameCannotBeEmpty": "System name cannot be empty", + "messageIDCannotBeEmpty": "Message ID cannot be empty", + "processStepListCannotBeEmpty": "Process step list cannot be empty", + "enterProcessStep": "Please enter a process step", + "selectAction": "Please select an action", + "enterProcessStepActionContent": "Please enter action content for process step {step}, action {action}", + "parameterLimitsCannotBeEmpty": "Parameter limits for sequence {seq}, parameter number '{parameterNo}' cannot be empty", + "parameterDoesNotMeetLimits": "Parameter ID '{parameterNo}' for sequence {seq} does not meet the specification: upper limit > lower limit", + "parameterValueCannotBeEmpty": "Parameter value for sequence {seq}, parameter number '{parameterNo}' cannot be empty", + "confirmDeletionOfSelectedRows": "Do you confirm the deletion of the selected rows?", + "unbindAllConfirm": "Are you sure to unbind all?", + "enterRecipeNumber": "Please enter the Recipe number", + "enterVersion": "Please enter the version", + "selectType2": "Please select a type", + "enterStandardNumber": "Please enter the standard number", + "numericInputOnly": "Only numeric input is allowed", + "standardNumberMustBeGreaterThanZero": "Standard number must be greater than zero", + "stadQuantityAllowsUpToSixDecimals": "Standard Qty allows up to six decimal places", + "enterUnitQuantity": "Please enter the unit Qty", + "unitQuantityMustBeGreaterThanZero": "Unit Qty must be greater than zero", + "unitQuantityAllowsUpToSixDecimals": "Unit Qty allows up to six decimal places", + "parameterNumberDuplicated": "Parameter ID {parameterNo} is duplicated in sequence {duplicatedSeqs}", + "typeNoDuplicated": "Resource type {typeNo} is duplicated in sequence {seq}", + "parameterNumberCannotBeEmpty": "Parameter ID cannot be empty", + "specLimitsCannotBeEmpty": "In the recipe tab, for sequence {seq}, recipe number {recipeNo}, parameter number {parameterNo}, specification limits cannot be empty", + "typeNoParameterValueCannotBeEmpty": "In the recipe tab, for sequence {seq}, recipe number {recipeNo}, parameter number {parameterNo}, parameter value cannot be empty", + "carrierPositionDuplicate": "Carrier position {No} cannot be duplicated", + "workCenterNumber": "Work Center Number", + "mixingLinesAllowed": "Can Mix Production", + "workCenterCannotBeEmpty": "For sequence {seq}, production line number cannot be empty", + "workCenterCannotBeDuplicated": "Production line number {workCenter} cannot be duplicated", + "targetSourceMaterialVersionCannotBeSame": "Target material ID/version cannot be the same as source material ID/version", + "resrceStatus": "Resource Status", + "toolStatus": "Tool Status", + "rework": "Rework", + "subProcess": "Sub-process", + "tempProcess": "Temporary Process", + "prd": "Production", + "purchase": "Purchase", + "overZero": "Must be greater than 0", + "carrierSaveSuccessAndPrint": "Carrier saved successfully, do you want to print the label?", + "capacityNotEnough": "Carrier '{carrier}' capacity is insufficient, unable to load", + "positionNotEnough": "Carrier '{carrier}' position is insufficient, unable to load", + "overSingleSelected": "Please select a single loading position", + "positionLotLoaded": "Carrier position '{position}' already has a Lot No placed, please remove the Lot No first", + "selectLotDelete": "Please select the Lot No to delete first", + "confirmRemoveAll": "Do you confirm the removal of all USNs on the carrier?", + "confirmCancel": "Do you confirm the cancellation of this change?", + "inputLotNo": "Please enter the Lot No", + "virtualItem": "Virtual Item No", + "virtualItemRepeat": "The material list already contains this virtual item number '{item}', duplicate configuration is not allowed", + "virtualItemExist": "The current material list does not contain the virtual item number '{item}'", + "virtualItemBind": "Virtual item '{item}' has been bound to other items, deletion is not allowed", + "router": { + "error1": "The process route is in use, unable to delete the link", + "error2": "Cannot connect to itself", + "error3": "Cannot duplicate connections", + "error4": "Cannot create a loop", + "error5": "The process route is in use, unable to add a node", + "error6": "Please drag the node into the canvas", + "error7": "Start node cannot be added multiple times", + "error8": "End node cannot be added multiple times", + "error9": "The process route is in use, unable to delete the node", + "error10": "There must be a start node", + "error11": "There must be an end node", + "error12": "Step for route node 【{node}】 cannot be empty", + "error13": "Step 【{step}】 for node 【{node}】 is duplicated", + "error14": "Route node connection cannot be empty", + "error15": "Route type is 'Maintenance', only one maintenance operation is allowed on the route", + "confirm1": "Are you sure to delete the selected line?", + "confirm2": "Are you sure to delete the node [{node}]?", + "success1": "Connection successful" + }, + "sequenceDeviceCategoryPdcParameterValueNotMaintained": "PDC parameter value not maintained, saving is not allowed", + "startNode": "Start Node", + "otherSteps": "Other Steps", + "reworkProcess": "Rework Process", + "nodeInformation": "Node Information", + "erpSteps": "ERP Steps", + "connectionInformation": "Connection Information", + "script": "Script", + "processDataInformation": "Process Data Information", + "processRouteInformation": "Process Route Information", + "reservedIdentifier": "Reserved Identifier", + "processRouteType": "Process Route Type", + "enterProcessRoute": "Please enter process route", + "selectProcessRouteType": "Please select process route type", + "returnToOriginalState": "Return (Original State)", + "returnToAny": "Return (Any)", + "returnToPrevious": "Return (Previous)", + "returnToAnyPrevious": "Return (Any Previous)", + "returnToNext": "Return (Next)", + "cannotCreateCycle": "Cannot create a loop", + "ruleCategory": "Rule Category", + "format": "Format", + "firstEntryNotDeletable": "The first entry cannot be deleted", + "orderCannotBeEmpty": "Order cannot be empty", + "orderCannotBeDuplicated": "Order cannot be duplicated", + "ruleCategoryCannotBeEmpty": "Rule category cannot be empty", + "ruleCategoryCannotBeDuplicated": "Rule category cannot be duplicated", + "formatDefinition": "Format Definition", + "pleaseEnterMaterialNumberFirst": "Please enter the material number first", + "noSuchMaterialNumber": "No such material number" +} diff --git a/src/locale/i18n/en/mes/qms.json b/src/locale/i18n/en/mes/qms.json new file mode 100644 index 0000000..104bed8 --- /dev/null +++ b/src/locale/i18n/en/mes/qms.json @@ -0,0 +1,185 @@ +{ + "inspectionItemSequenceRequirement": "Inspection item: {qcItem}, sequence numbers must all be entered or all be empty", + "inspectionItemSequenceDuplicate": "Inspection item: {qcItem}, duplicate sequence number '{msg}'", + "inspectionItemNGCodeRequirement": "Inspection item: {qcItem}, sampling sequence {msg} is non-compliant, NG code cannot be empty", + "inspectionItemSequenceInputRequirement": "Inspection item: {qcItem}, sequence numbers must all be entered or all be empty", + "inspectionItemSequenceNumberDuplicate": "Inspection item: {qcItem}, duplicate sequence number '{msg}'", + "inspectionItemValueEmpty": "Inspection item: {qcItem}, inspection value for sampling {msg} cannot be empty", + "inspectionItemContentEmpty": "Inspection item: {qcItem}, content cannot be empty", + "inspectionItemCauseEmpty": "Inspection item: {qcItem}, cause: {str} cannot be empty", + "inspectionTaskOrderCompleted": "Inspection task order '{jobNo}' has been completed", + "userRoleNotInInspectionGroup": "The user's configured role does not belong to the inspection group '{userGroup}', cannot perform inspections", + "issuanceTime": "Issuance Time", + "qualityControlMethod": "Quality Control Method", + "samplingQuantity": "Sampling Qty", + "queue": "Queue", + "upperLimitControl": "Upper Limit Control", + "lowerLimitControl": "Lower Limit Control", + "doubleSidedControl": "Double Sided Control", + "personalTaskOrder": "Personal Task Order", + "enterIssuanceStartTime": "Please enter issuance start time", + "enterIssuanceEndTime": "Please enter issuance end time", + "issuanceStartTimeCannotExceedEndTime": "Issuance start time cannot exceed issuance end time", + "issuanceTimeRangeCannotExceed30Days": "Issuance time range cannot exceed 30 days", + "selectProductionBatch": "Select Production Batch", + "selectOneSearchCondition": "Please select one search condition", + "inspectionTask": "Inspection Task", + "judged": "Judged", + "closeTime": "Close Time", + "closingPersonnel": "Closing Personnel", + "inspectionTaskClose": "Inspection Task - Close", + "inspectionTaskClosed": "Inspection task '{jobNo}' has been closed", + "inspectionTaskCountingInspectionOperation": "Inspection Task - Counting Inspection Operation", + "samplingNumber": "Sampling Number", + "samplingPerBatch": "Sampling per Batch", + "samplingPerSection": "Sampling per Section", + "cause": "Cause", + "selectNonConformingCode": "Select Non-conforming Code", + "selectableNonConformingCode": "Selectable Non-conforming Code", + "selectedNonConformingCode": "Selected Non-conforming Code", + "noData": "No Data", + "section": "Section", + "point": "Point", + "inspectionTaskOrderSavedSuccessfully": "Inspection task order {jobNo} saved successfully", + "editSuccessful": "Edit Successful", + "noDataForProductionBatch": "No data for production batch: '{lotNo}', please verify", + "issueAbnormalOrder": "Issue Abnormal Order", + "abnormalOrderGroup": "Abnormal Order Group", + "enterSpecialProcurementDescription": "Please enter special procurement description", + "selectAbnormalOrderGroup": "Please select abnormal order group", + "selectReasonCode": "Please select reason code", + "judgmentCompleted": "Judgment Completed", + "specificationLimit": "Specification Limit", + "center": "Center", + "inspectionTaskMeteringInspectionOperation": "Inspection Task - Measure Inspection Operation", + "spcJudgmentResult": "SPC Judgment Result", + "textContentDescription": "Text Content desc", + "textContent": "Text Content", + "inspectionTaskTextInspectionOperation": "Inspection Task - Text Inspection Operation", + "billingFrequency": "Billing Frequency", + "manual": "Manual", + "inspectionTaskView": "Inspection Task - View", + "inspectionFrequencyNumber": "Inspection Frequency ID", + "timeSlot": "Time Slot", + "inspectionFrequency": "Inspection Frequency", + "confirmDeleteInspectionFrequency": "Are you sure to delete inspection frequency: {inspecNo}", + "inspectionFrequencyExists": "Inspection frequency already exist", + "selectInspectionFrequency": "Please select inspection frequency", + "frequencySettingValueNotEmpty": "Frequency setting value cannot be empty", + "enterTime": "Please enter time", + "timeSlotExists": "Time slot {time} already exist", + "roleIdentifier": "Role Identifier", + "abnormalProcessing": "Abnormal Processing", + "iqcInspectionTaskClose": "IQC Inspection Task - Close", + "destructionAndRetentionTotalCannotExceedReceivingQuantity": "Destruction and retention total cannot exceed receiving Qty", + "confirmToCloseInspectionOrder": "Are you sure to close inspection order '{jobNo}'?", + "confirmToCloseInspectionOrder2": "Confirm to close inspection order '{jobNo}'?", + "iqcInspectionTaskClosed": "IQC inspection task '{jobNo}' has been closed", + "iqcInspectionTaskCountingInspectionOperation": "IQC Inspection Task - Counting Inspection Operation", + "inspectionValue": "Inspection Value", + "abnormalOrder": "Abnormal Order", + "iqcInspectionTask": "IQC Inspection Task", + "selectAbnormalOrderReason": "Please select abnormal order reason", + "abnormalOrderIssuedSuccessfully": "Abnormal order issued successfully", + "enterJudgmentResult": "Please enter judgment result", + "enterStorageQuantity": "Please enter storage Qty", + "enterReturnQuantity": "Please enter return Qty", + "judgmentResultDoesNotMatchReceivingQuantity": "Judgment result does not match receiving Qty", + "noQuantityAvailableForReinspection": "No Qty available for reinspection", + "iqcInspectionTaskMeteringInspectionOperation": "IQC Inspection Task - Measiring Inspection Operation", + "iqcInspectionTaskTextInspectionOperation": "IQC Inspection Task - Text Inspection Operation", + "confirmDeleteInspectionItem": "Are you sure to delete inspection item: {qcItem}", + "instrumentType": "Instrument Type", + "controlChart": "Control Chart", + "specificationControlCannotBeEmpty": "Specification control cannot be empty", + "sampleNumberCannotBeEmpty": "Sample number cannot be empty", + "operationSuccessful": "{showTitle} successful", + "confirmDeleteInspectionPlan": "Are you sure to delete inspection plan: {qcPlan}", + "spcAnalysis": "SPC Analysis", + "measurement": "Measurement", + "inspectionItemCannotBeEmpty": "Inspection item cannot be empty", + "inspectionItemNumberCannotBeEmpty": "Inspection item number cannot be empty", + "samplingRuleOfInspectionItemCannotBeEmpty": "Sampling rule of inspection item '{qcItem}' cannot be empty", + "upperLimitOfInspectionItemCannotBeEmpty": "Upper limit of inspection item '{qcItem}' cannot be empty", + "centerOfInspectionItemCannotExceedUpperLimit": "Center of inspection item '{qcItem}' cannot exceed upper limit", + "lowerLimitOfInspectionItemCannotBeEmpty": "Lower limit of inspection item '{qcItem}' cannot be empty", + "centerOfInspectionItemCannotBeLessThanLowerLimit": "Center of inspection item '{qcItem}' cannot be less than lower limit", + "centerOfInspectionItemCannotBeEmpty": "Center of inspection item '{qcItem}' cannot be empty", + "lowerLimitOfInspectionItemCannotExceedCenter": "Lower limit of inspection item '{qcItem}' cannot exceed center", + "selectInspectionItemToRemove": "Please select inspection items to remove", + "confirmToRemoveSelectedInspectionItems": "Are you sure to remove the selected inspection items", + "inspectionLevel": "Inspection Level", + "acceptanceLevel": "Acceptance Level", + "customSampling": "Custom Sampling", + "enterSamplingRule": "Please enter sampling rule", + "enterSamplingMethod": "Please enter sampling method", + "enterAreaQuantity": "Please enter area Qty", + "samplingRuleAdd": "Sampling Rule - Add", + "samplingRuleView": "Sampling Rule - View", + "samplingRuleEdit": "Sampling Rule - Edit", + "samplingRuleExists": "Sampling rule already exist", + "customSamplingListNotEmpty": "Custom sampling list cannot be empty", + "maxGreaterThanMin": "Max for sequence '{seq}' must be greater than Min", + "samplingNumberNotEmpty": "Sampling number for sequence '{seq}' cannot be empty", + "pleaseConfirm": "{msg}, please confirm", + "samplingPerBatchNotEmpty": "Sampling per batch cannot be empty", + "samplingPerSectionNotEmpty": "Sampling per section cannot be empty", + "valueCannotBeDuplicated": "{str} cannot be duplicated", + "confirmDeleteSamplingRule": "Are you sure to delete sampling rule {samplePlan}?", + "normal": "Normal", + "tightened": "Tightened", + "reduced": "Reduced", + "basedOnOriginalSamplingTable": "Based on Original Sampling Table", + "fixedZeroAcceptOneReject": "Fixed 0 Accept 1 Reject", + "firstProductionBatchOfWorkOrder": "First Production Batch of Work Order", + "firstProductionBatchOfTheDay": "First Production Batch of the Day", + "firstProductionBatchAfterEquipmentMoldChange": "First Production Batch After EQP Mold Change", + "firstProductionBatchAfterEquipmentMaintenance": "First Production Batch After EQP Maintenance", + "firstProductionBatchAfterHoursOfReactivation": "First Production Batch After Hours of Reactivation", + "interval": "Interval", + "hoursMachinePlusMaterial": "Hours (Machine + Material)", + "hoursMachinePlusInspectionPlan": "Hours (Machine + Inspection Plan)", + "every": "Every", + "perBatchOrSfc": "Per Batch/SFC", + "fixedTimeEveryDay": "Fixed Time Every Day", + "pcsWorkstationPlusResource": "PCS (Workstation + Resource)", + "equipmentDowntime": "EQP Downtime", + "issuable": "Issuable", + "disabled": "Disabled", + "count": "Count", + "xbarR": "XBAR-R", + "xbarS": "XBAR-S", + "xRm": "X-RM", + "pChart": "P-CHART", + "homePage": "Home Page", + "inspectionItemMaintenance": "Inspection Item Maintenance", + "inspectionTaskOperation": "Inspection Task Operation", + "calibrationType": "Calibration Type", + "instrumentCalibrationType": "Instrument Calibration Type", + "calibrationTypeEnterRequired": "Instrument Calibration Type Selection Required", + "calibrationDateError": "Calibration Frequency Date Incorrect", + "calibrationFreqEmpty": "Please Enter Calibration Frequency", + "calibrationFreqRepeat": "Calibration Frequency Date Already Exists", + "calibrationType2": "Calibration Type", + "calibrationTypeEnterRequired2": "Calibration Type Selection Required", + "internalCalibration": "Internal Calibration", + "externalCalibration": "External Calibration", + "instrumentGroup": "Instrument Group", + "resrceNo": "Instrument EQP ID", + "resrceDesc": "Instrument EQP Name", + "calibTaskOrderNumber": "Calibration Task Order No", + "calibComDate": "Calibration Completion Date", + "judgeComDate": "Judgment Completion Date", + "judgeUser": "Judgment User Number", + "judgeName": "Judgment User Name", + "selectInstrumentGroup": "Please Select an Instrument Group First", + "calibrationTask": "Calibration Task", + "totalFileSize": "Current Total File Size", + "calibTaskMeteringInspectionOperation": "Calibration Task - Metering Inspection Operation", + "correctionValue": "Correction Value", + "calibTaskCountInspectionOperation": "Calibration Task - Count Inspection Operation", + "calibTaskTextInspectionOperation": "Calibration Task - Text Inspection Operation", + "calibTaskClose": "Calibration Task - Close", + "calibTaskClosed": "Calibration Task '{jobNo}' Closed", + "inspectionItemValueEmpty2": "Inspection Item: {qcItem} {msg} Value Cannot Be Empty" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/rpt.json b/src/locale/i18n/en/mes/rpt.json new file mode 100644 index 0000000..f909ba1 --- /dev/null +++ b/src/locale/i18n/en/mes/rpt.json @@ -0,0 +1,31 @@ +{ + "xreportHostNotConfigured": "System parameter XREPORT_HOST is not configured or its value is empty", + "xreportTokenNotConfigured": "System parameter XREPORT_TOKEN is not configured or its value is empty", + "reportIdNotConfigured": "report_id is not configured or value is empty", + "startTestTimeNotEmpty": "Start test time cannot be empty", + "endTestTimeNotEmpty": "End test time cannot be empty", + "startTestTimeNotLater": "Start test time cannot be later than end test time", + "testTimeNotOverMonth": "Test time cannot exceed 30 days", + "ratio": "Ratio", + "testMachine": "Test Machine", + "testTime": "Test Time", + "userOrderNo": "User Order No", + "waferLotNo": "Wafer Lot No", + "testMachineNo": "Test Machine Number", + "testReport": "Test Report", + "testType": "Test Type", + "qcCompleteFrom": "QC Completion Date (From)", + "qcCompleteTo": "QC Completion Date (To)", + "ranking": "Ranking", + "ncPercent": "Non-conformance Code Percentage", + "ncTotal": "Non-conformance Code Total", + "ok": "Compliant Count", + "ng": "Non-compliant Count", + "error": { + "date1": "Please enter QC completion date (from)", + "date2": "Please enter QC completion date (to)", + "date3": "QC completion date (to) cannot be earlier than QC completion date (from)", + "date4": "QC completion date query interval cannot exceed six months", + "size": "Please enter ranking" + } +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/smd.json b/src/locale/i18n/en/mes/smd.json new file mode 100644 index 0000000..e06d309 --- /dev/null +++ b/src/locale/i18n/en/mes/smd.json @@ -0,0 +1,151 @@ +{ + "equipmentType": "EQP Type", + "equipmentTypeDesc": "EQP Type Desc", + "equipmentKind": "EQP Kind", + "kind": "Kind", + "usableMainEquipment": "Usable EQP", + "enterEquipmentMajorCategory": "Please enter EQP category", + "mainEquipmentCategory": "EQP Category", + "usableMainEquipmentCannotBeEmpty": "Usable EQP cannot be empty", + "usableMainEquipmentCannotBeSameAsMajorCategory": "Usable EQP cannot be the same as category", + "equipmentMajorCategoryCannotBeEmpty": "EQP category cannot be empty", + "equipmentMajorCategoryExists": "EQP category: {categoryNo} already exists", + "confirmDeleteEquipmentMajorCategory": "Are you sure to delete EQP category: {categoryNo}", + "mainEquipmentNumber": "EQP ID", + "usableAuxiliaryEquipment": "Usable Auxiliary EQP", + "assignedAuxiliaryEquipment": "Assigned Auxiliary EQP", + "confirmWithoutSavingScreenInfo": "Do you want to discard the changes on the screen?", + "searchFirst": "Please search first", + "controlQuantity": "Control Qty", + "equipmentCategoryCannotBeEmpty": "EQP category cannot be empty", + "selectToolCategoryToDelete": "Please select tool category to delete", + "needToSetControlQuantity": "Need to set control Qty", + "limitBatchNumber": "Limit Batch ID", + "limitBatchQuantity": "Limit Batch Qty", + "image": "Image", + "fileSize": "File Size", + "imagePreview": "Image Preview", + "removeImage": "Remove Image", + "noImage": "No Image", + "enterEquipmentCategory": "Please enter EQP category", + "equipmentCategoryAdd": "EQP Category - Add", + "equipmentCategoryView": "EQP Category - View", + "equipmentCategoryEdit": "EQP Category - Edit", + "unsupportedAttachmentFormat": "Unsupported attachment format, please upload image attachment", + "imageFileSizeExceedsLimit": "Image file size cannot exceed 10mb", + "limitQuantityExceedsRegulation": "Limit Qty exceeds regulation", + "equipmentCategoryExists": "EQP category: {typeNo} already exists", + "equipmentManufacturer": "EQP Manufacturer", + "assetNumber": "Asset ID", + "equipmentMasterDataAdd": "EQP Master Data - Add", + "equipmentMasterDataView": "EQP Master Data - View", + "equipmentMasterDataEdit": "EQP Master Data - Edit", + "equipmentNumberExists": "EQP number: {resrce} already exists", + "confirmDeleteEquipmentNumber": "Are you sure to delete EQP ID: {resrce}", + "enterWorkshopCode": "Please enter workshop ID", + "workshopCodeCannotBeEmpty": "Workshop code cannot be empty", + "confirmDeleteWorkshopCode": "Are you sure to delete workshop ID: {fabNo}", + "workshopCodeAdd": "Workshop Code - Add", + "workshopCodeEdit": "Workshop Code - Edit", + "workshopCodeView": "Workshop Code - View", + "confirmWorkshopCode": "Are you sure workshop ID is {fabNo}", + "enterWorkCenter": "Please enter work center", + "availableWorkCenter": "Available Work Centers", + "assignedWorkCenter": "Assigned Work Centers", + "warehouseType": "WHSE Type", + "storageLocationNumber": "Storage Location ID", + "add": "Add", + "warehouseNumberAdd": "WHSE ID - Add", + "confirmDeleteWarehouseNumber": "Are you sure to delete warehouse ID {invNo}", + "warehouseNumberView": "WHSE ID - View", + "warehouseNumberEdit": "WHSE ID - Edit", + "selectStorageLocationToRemove": "Please select storage location to remove", + "confirmRemoveSelectedStorageLocation": "Are you sure to remove selected storage locations", + "factoryNumber": "Factory ID", + "enterFactoryNumber": "Please enter factory ID", + "factoryNumberView": "Factory ID - View", + "factoryNumberEdit": "Factory ID - Edit", + "factoryNumberAdd": "Factory ID - Add", + "confirmDeleteFactoryNumber": "Are you sure to delete factory ID: {site}", + "additionSuccessful": "Addition success", + "enterToolCategory": "Please enter tool category", + "toolMasterDataAdd": "Tool Master Data - Add", + "toolMasterDataView": "Tool Master Data - View", + "toolMasterDataEdit": "Tool Master Data - Edit", + "toolNumberCannotBeEmpty": "Tool ID cannot be empty", + "toolCategoryCannotBeEmpty": "Tool category cannot be empty", + "toolNumberExists": "Tool ID: {toolNo} already exists", + "confirmDeleteToolNumber": "Are you sure to delete tool number: {toolNo}", + "enterToolMajorCategory": "Please enter tool category", + "toolMajorCategoryAdd": "Tool Category - Add", + "toolMajorCategoryView": "Tool Category - View", + "toolMajorCategoryEdit": "Tool Category - Edit", + "toolMajorCategoryCannotBeEmpty": "Tool category cannot be empty", + "toolMajorCategoryExists": "Tool category: {categoryNo} already exists", + "confirmDeleteToolMajorCategory": "Are you sure to delete tool category: {categoryNo}", + "toolCategoryAdd": "Tool Category - Add", + "toolCategoryView": "Tool Category - View", + "toolCategoryEdit": "Tool Category - Edit", + "toolCategoryExists": "Tool category: {typeNo} already exists", + "confirmDeleteToolCategory": "Are you sure to delete tool category: {typeNo}", + "yearMonth": "Year Month", + "selectMonth": "Select Month", + "timeSlotNumber": "Time Slot", + "selectTimeSlotNumber": "Please select time slot number", + "totalWorkingHours": "Total Working Hours", + "productionWorkingHours": "Production Working Hours", + "excludedWorkingHours": "Excluded Working Hours", + "settingRange": "Setting Range", + "includeHolidays": "Include Holidays", + "setAll": "Set All", + "selectYearMonth": "Please select year and month", + "thisMonth": "This Month", + "thisYear": "This Year", + "calendarYearMonthDifferent": "Calendar year and selected year are different", + "selectSettingRange": "Please select setting range", + "selectIncludeHolidays": "Please select whether to include holidays", + "cannotModifyPastDays": "Cannot modify past days (including today) in the work calendar", + "operationArea": "Operation Area", + "areaConfiguration": "Area Configuration", + "workCenterOrEquipment": "Work Center / EQP", + "enterType": "Please enter type", + "workCenterCannotBeEmpty": "Work center cannot be empty", + "typeCannotBeEmpty": "Type cannot be empty", + "equipmentInAreaConfigCannotBeBlank": "EQP in area configuration cannot be empty", + "workCenterInAreaConfigCannotBeBlank": "Work center in area configuration cannot be empty", + "workCenterInAreaConfigCannotBeSame": "Work center in area configuration cannot be the same as the current work center", + "equipmentInAreaConfig": "EQP in area configuration", + "duplicate": "Duplicate", + "workCenterInAreaConfig": "Work center in area configuration", + "confirmDeleteWorkCenter": "Are you sure to delete work center: {workCenter}", + "workCenterAdd": "Add Work Center", + "workCenterEdit": "Edit Work Center", + "workCenterView": "View Work Center", + "confirmWorkCenter": "Confirm work center as {workCenter}", + "representativeColor": "Representative Color", + "timeSlotConfiguration": "Time Slot Configuration", + "workingTimeSlot": "Working Time Slot", + "timeSlotType": "Time Slot Type", + "enterTimeSlotNumber": "Please enter time slot number", + "timeSlotNumberCannotBeEmpty": "Time slot number cannot be empty", + "selectTimeSlotToDelete": "Please select the time slot to delete", + "timeSlotNumberDoesNotExist": "Time slot number does not exist", + "workTypeDoesNotExist": "{workType} does not exist", + "sequence2": "Seq {seq} :", + "cannotBeEmpty": "{msg} cannot be empty", + "checkTimeSlotOverlap": "Please check that working time slots is not overlap", + "checkTimeSlotContinuity": "Please check that working time slots are continuous", + "confirmDeleteTimeSlot": "Are you sure to delete time slot number: {workType}", + "searchDataFirst": "Please search data first", + "mixProduction": "Can Mix Production", + "mixProductionAlert": "Please select whether mixing production is allowed", + "operationEmpty": "Please set the process corresponding to the EQP '{resrce}'", + "sequenceEmpty": "Please set the order corresponding to the EQP '{resrce}'", + "sequenceNotDuplicate": "Seq '{sequence}' cannot be duplicated", + "swipeCardPoint": "check Point", + "swipeCardPoint": "check Point", + "areaConfigurationOrderNotFirstProcessDeviceNoSwipeIn": "Area configuration order {sequence}, not the first device of the process, cannot set check point for entry", + "areaConfigurationOrderNotLastProcessDeviceNoSwipeOut": "Area configuration order {sequence}, not the last device of the process, cannot set check point for exit" +} + + diff --git a/src/locale/i18n/en/mes/sys.json b/src/locale/i18n/en/mes/sys.json new file mode 100644 index 0000000..dd3c4e1 --- /dev/null +++ b/src/locale/i18n/en/mes/sys.json @@ -0,0 +1,55 @@ +{ + "dataset": { + "title": "Dataset", + "copy": "Copy", + "watch": "Watch", + "datasetNo": "Dataset Number", + "datasetName": "Dataset Name", + "datasourceBo": "Data Source Name", + "fieldName": "Field Name", + "fieldText": "Field Text", + "fieldType": "Field Type", + "httpMethod": "Request Method", + "sqlAnalysis": "SQL Analysis", + "apiAnalysis": "API Analysis", + "string": "String", + "date": "Date", + "msg": { + "datasetNo": "Dataset number cannot be empty", + "datasetName": "Dataset name cannot be empty", + "sqlScript": "SQL cannot be empty", + "httpMethod": "Request method cannot be empty", + "apiUrl": "API cannot be empty", + "fieldTypeEmpty": "Seq {seq}, field type cannot be empty", + "remove": { + "alert": "Are you sure to delete dataset number {datasetNo}" + } + } + }, + "confirmDeleteDataSource": "Are you sure to delete data source name {name}?", + "databaseType": "Database Type", + "host": "Host", + "port": "Port", + "database": "Database", + "password": "Password", + "hostFormatIncorrect": "Incorrect host format", + "dataSource": "Data Source", + "pleaseSelectDatabaseType": "Please select database type", + "hostCannotBeEmpty": "Host cannot be empty", + "portCannotBeEmpty": "Port cannot be empty", + "databaseCannotBeEmpty": "Database cannot be empty", + "usernameCannotBeEmpty": "Username cannot be empty", + "passwordCannotBeEmpty": "Password cannot be empty", + "databaseConnectionSuccessful": "Database connection successful", + "databaseConnectionFailed": "Database connection failed", + "service-management": { + "serviceNo": "Service Number", + "programPath": "Category/Program", + "serviceManage": "Service Definition Management", + "serviceDefinition": "Service Definition", + "fileName": "File Name", + "fileDate": "File Date", + "serviceNoExists": "Service number {serviceNo} already exists", + "confirmDel": "Are you sure to delete service definition {serviceNo}" + } +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/system.json b/src/locale/i18n/en/mes/system.json new file mode 100644 index 0000000..3d1c3c4 --- /dev/null +++ b/src/locale/i18n/en/mes/system.json @@ -0,0 +1,4 @@ +{ + "heterogeneousSystemTransactionLogView": "Heterogeneous System Transaction Log - View", + "timeCannotBeEmpty": "Time cannot be empty" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/tap.json b/src/locale/i18n/en/mes/tap.json new file mode 100644 index 0000000..e40801d --- /dev/null +++ b/src/locale/i18n/en/mes/tap.json @@ -0,0 +1,15 @@ +{ + "cat": "CAT", + "hbin": "HBIN", + "test": { + "program": { + "error1": "Seq {seq}, CAT number cannot be empty", + "error2": "There must be more than one GOOD result for CAT", + "error3": "There must be more than one FAIL result for CAT", + "error4": "CAT '{catNo}' cannot be duplicated", + "error5": "For CAT '{catNo}', HBIN '{start}' cannot be greater than '{end}'", + "error6": "HBIN '{hbin}' cannot be duplicated", + "error7": "Seq {seq}, HBIN cannot be empty" + } + } +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/tds.json b/src/locale/i18n/en/mes/tds.json new file mode 100644 index 0000000..76abd29 --- /dev/null +++ b/src/locale/i18n/en/mes/tds.json @@ -0,0 +1,142 @@ +{ + "release": "Release", + "startupSheet": "Startup Sheet", + "capacityAllocationSheet": "Capacity Allocation Sheet", + "confirmDeleteCapacityAllocationSheet": "Are you sure to delete this capacity allocation sheet?", + "capacityAllocationSheetDeletedSuccessfully": "Capacity allocation sheet deleted successfully", + "confirmReleaseCapacityAllocationSheet": "Are you sure to release this capacity allocation sheet?", + "capacityAllocationSheetReleasedSuccessfully": "Capacity allocation sheet released successfully", + "productModel": "Product Model", + "testingHours": "Testing Hours", + "productModelProcess": "Product Model/Process", + "productionSequence": "Production Seq", + "standardWorkingHours": "Standard Working Hours", + "arrivalTime": "Arrival Time", + "ruleDescription": "Rule desc", + "enterProcess": "Please enter the process", + "priorityOrderCannotBeRepeated": "Priority order cannot be repeated", + "workingTimeCalculationCategory": "Working Time Calculation Category", + "confirmDeleteStandardWorkingHours": "Are you sure to delete this standard working hours?", + "noData": "No data available", + "workingTimeCalculationType": "Working Time Calculation Type", + "leadTime": "Lead Time", + "lineChangeTime": "Line Change Time", + "productionTime": "Production Time", + "fixedValue": "Fixed Value", + "testProcess": "Test Process", + "enterProductionTime": "Please enter the production time", + "productionTimeMustBeGreaterThanZero": "Production time must be greater than 0", + "enterUPH": "Please enter UPH", + "uphMustBeGreaterThanZero": "UPH must be greater than 0", + "inputOneOfWorkCenterEquipmentCategoryOrNumber": "Please input either work center, EQP category, or EQP ID", + "notArrived": "Not Arrived", + "confirmToDeleteAllSearchedEquipmentSchedules": "Are you sure to delete all searched EQP schedules?", + "scheduleTaskDeletedSuccessfully": "Schedule task deleted successfully", + "noDataToDownload": "No data available for download", + "testSchedulingList": "Test Scheduling List", + "scheduleTaskDownloadedSuccessfully": "Schedule task downloaded successfully", + "taskCategory": "Task Category", + "productModelOrPID": "Product Model/(PID)", + "arrived": "Arrived", + "inputNumber": "Input Number", + "testingHoursOrHrs": "Testing Hours/(Hrs)", + "additionalOperationTimeOrHrs": "Additional Operation Time/(Hrs)", + "lineChangeTimeOrHrs": "Line Change Time/(Hrs)", + "scheduleStartTime": "Schedule Start Time", + "scheduleEndTime": "Schedule End Time", + "packageType": "Package Type", + "size": "Size", + "pin": "Pin", + "temperature": "Temperature", + "scheduledTaskArea": "Scheduled Task Area", + "scheduleStartTime2": "Schedule Start Time", + "unscheduledTaskArea": "Unscheduled Task Area", + "sort": "Sort", + "nonProductionTaskArea": "Non-Production Task Area", + "demandTime": "Demand Time", + "demandHours": "Demand Hours", + "taskApplicant": "Task Applicant", + "taskDescription": "Task desc", + "confirmDeleteTaskAtIndex": "Are you sure to delete the task at index {index}?", + "scheduleStartTimeCannotBeEarlier": "Schedule start time cannot be earlier than current time", + "setScheduleStartTimeFirst": "Please set the schedule start time first", + "insertionSuccessful": "Insertion Success", + "selectTaskCategory": "Please select the task category", + "enterTaskOrderNumber": "Please enter the task order No", + "enterDemandTime": "Please enter the demand time", + "demandTimeCannotBeEarlier": "Demand time cannot be earlier than current time", + "demandHoursMustBeGreaterThanZero": "Demand hours must be greater than 0", + "confirmDeleteScheduleOfEquipment": "Are you sure to delete the schedule task of EQP {eqpNo}?", + "auxiliarySchedulingDeleteSuccessful": "Auxiliary scheduling deleted successfully", + "confirmPublishScheduleOfEquipment": "Are you sure to publish the schedule task of EQP {eqpNo}?", + "scheduleTaskPublishedSuccessfully": "Schedule task published successfully", + "equipmentMajorCategoryNumber": "EQP Category ID", + "customerProductProcessOrderNumber": "Customer-Product-Process-Order No", + "priorityDeliveryDateProductProcessOrderNumber": "Priority-Delivery Date-Product-Process-Order No", + "temperaturePriorityCustomerProductProcessOrderNumber": "Temperature-Priority-Customer-Product-Process-Order No", + "auxiliaryEquipmentNumber": "Auxiliary EQP ID", + "productionCapacitySetting": "Production Capacity Setting", + "itemDesc": "Item Description", + "priority": "Priority", + "confirmDeleteProductionCapacity": "Are you sure to delete this production capacity?", + "productionCode": "Production Code", + "productionDesc": "Production desc", + "plannedStartDate": "Planned Start Date", + "plannedCompDate": "Planned Completion Date", + "durations": "Dispatch Duration (minutes)", + "dispatchStartDateTime": "Dispatch Start Date/Time", + "dispatchEndDateTime": "Dispatch End Date/Time", + "dispatchDate": "Dispatch Date", + "to": "To", + "startDate": "Start Date", + "endDate": "End Date", + "restoreText": "Restore", + "manualDispatchText": "Manual Dispatch", + "closeAllText": "Close All", + "expandAllText": "Expand All", + "lockText": "Lock", + "unlockText": "Unlock", + "showMeOnlyText": "Show Only My Dispatched Tasks", + "verticalDragText": "Vertical Drag", + "dispatchInsertText": "Insert Mode", + "lineFilterText": "Line Filter (Fuzzy)", + "zoomOut": "Zoom Out", + "zoomIn": "Zoom In", + "manualLineDispatch": "Manual Line Dispatch", + "editTask": "Edit Task", + "selectLockedShopOrderText": "Please select the task you want to {action}", + "lockSuccess": "Lock successful", + "unlockSuccess": "Unlock successful", + "lockNotAllowedModifyInfo": "The task is locked and modification is not allowed", + "taskConflictInfo": "{taskNumber} time segment [{beginTime}->{endTime}] has task scheduled {busyTaskNumber}!", + "restoreSuccess": "Restore modification data successful", + "selectDispatchStartTimeRange": "Please select dispatch start time range", + "selectDispatchStartTime": "Please select dispatch start time", + "startTimeOutofBounds": "Start time cannot exceed current dispatch time range!", + "taskNoChange": "No changes were made to the task!", + "minute": "Minute", + "hour": "Hour", + "week": "Week", + "month": "Month", + "year": "Year", + "enterDispatchDuration": "Enter dispatch duration", + "needRecalculateDuration": "Do you want to automatically update the dispatch duration based on production capacity settings?", + "selectShopOrder": "Select Shop Order", + "removeSelected": "Remove Selected", + "dispatchedQty": "Dispatched Qty", + "availableQty": "Available Qty", + "selectDispatchStartDateTime": "Select planned dispatch start time", + "dispatch": "Dispatch", + "noSelectdRow": "No selected row", + "isDeleteSelectedRow": "Are you sure to delete the selected row?", + "pleaseInputOrSelectProductionLine": "Please input or select a production line first", + "dispatchAvailableQtyValidate": "For Shop Order [{shopOrder}], production option [{productionOptions}], the dispatch Qty cannot exceed {availableQty}", + "pleaseAddDispatchDetail": "Please add dispatch details", + "pleaseInputDispatchQty": "Row {index}, please input the dispatch Qty", + "pleaseInputDispatchDurations": "Row {index}, please input the dispatch duration", + "pleaseInputDispatchStartDateTime": "Row {index}, please input the dispatch start time", + "fuzzyQuery": "Fuzzy Query", + "pleaseInputShopOrderOrProduct": "Please input Shop Order code / Product ID / Product description", + "selectAtLeasetOne": "Please select at least one item", + "productionLineNoWorkCenter": "The production line {productionLine} doesn't have a specified work center assigned." +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/tms.json b/src/locale/i18n/en/mes/tms.json new file mode 100644 index 0000000..ae87fd2 --- /dev/null +++ b/src/locale/i18n/en/mes/tms.json @@ -0,0 +1,97 @@ +{ + "recipient": "Recipient", + "receivingDate": "Receiving Date", + "receivingDescription": "Receiving desc", + "toolName": "Tool Name", + "lifeDisposalMethod": "Life Disposal Method", + "lifeLimitCount": "Life Limit Count", + "currentLife": "Current Life", + "resettableCount": "Resettable Count", + "currentResetCount": "Current Reset Count", + "createToolRequisitionOrder": "Create Tool Requisition Order", + "enterWarehouseNumber": "Please enter the WHSE ID", + "warehouseNumberCannotBeEmpty": "WHSE ID cannot be empty", + "selectAtLeastOneToolNumber": "Please select at least one tool number", + "confirmCancellation": "Do you confirm the cancellation?", + "toolNumberCannotBeEmpty": "Tool ID cannot be empty", + "toolNumberNotInList": "Tool ID '{toolNo}' is not in the list, please confirm", + "requisitionOrderNumber": "Requisition Order No", + "requisitionTime": "Requisition Time", + "toolRequisitionOrderDetail": "Tool Requisition Order - Detail", + "uncontrolled": "Uncontrolled", + "requisitionStartDateCannotBeEmpty": "Requisition start date cannot be empty", + "requisitionEndDateCannotBeEmpty": "Requisition end date cannot be empty", + "dateCannotExceedOneYear": "Date cannot exceed one year", + "returnPersonnel": "Return Personnel", + "returnDate": "Return Date", + "createToolReturnOrder": "Create Tool Return Order", + "storageLocationNumber": "Storage Location ID", + "toolReturnOrderAttachment": "Tool Return Order - Attachment", + "returnTime": "Return Time", + "returnStartDateCannotBeEmpty": "Return start date cannot be empty", + "returnEndDateCannotBeEmpty": "Return end date cannot be empty", + "toolReturnOrderDetail": "Tool Return Order - Detail", + "onlyPositiveIntegersAllowed": "Only positive integers are allowed", + "toolCategoryNumberCannotBeEmpty": "Tool category ID cannot be empty", + "pleaseSelectLifeDisposalMethod": "Please select the life disposal method", + "pleaseSelectCalculationMethod": "Please select the calculation method", + "resettableCountMustBePositiveIntegerOrZero": "Resettable count must be a positive integer or zero", + "lifeLimitCountMustBePositiveInteger": "Life limit count must be a positive integer", + "percentageMustBeIntegerBetween1And100": "Percentage must be an integer between 1 and 100", + "toolLifeConfigAdd": "Tool Life Configuration - Add", + "toolCategoryDoesNotExist": "Tool category [ {value} ] does not exist", + "toolLifeConfigView": "Tool Life Configuration - View", + "toolLifeConfigEdit": "Tool Life Configuration - Edit", + "maintenanceOrderNumber": "Maintenance Order No", + "toolMaintenanceOrder": "Tool Maintenance Order", + "confirmDeleteToolMaintenanceOrder": "Are you sure to delete Tool Maintenance Order {maintenanceNo}?", + "unfinished": "Unfinished", + "scrapped": "Scrapped", + "resetLife": "Reset Life", + "toolScrap": "Tool Scrap", + "maintenanceOrderStatus": "Maintenance Order Status", + "lifeAfterReset": "Life After Reset", + "resetCountOnBilling": "Reset Count on Billing", + "lifeOnBilling": "Life on Billing", + "billingDescription": "Billing desc", + "maintenanceDescription": "Maintenance desc", + "toolDisposalMethod": "Tool Disposal Method", + "notification": "Notification", + "uncontrolledLife": "Uncontrolled Life", + "receivingOrderNumber": "Receiving Order No", + "receivingOrderConfirmation": "Receiving Order Confirmation", + "receivingOrderVoid": "Receiving Order Void", + "receivingOrderDeletion": "Receiving Order Deletion", + "toolVendor": "Tool Vendor", + "toolReceivingOrder": "Tool Receiving Order", + "detailAdd": "Detail - Add", + "confirmChangeAfterReceiptNo": "After confirmation, the details of {receiptNo} cannot be changed. Are you sure?", + "cannotConfirmWithoutDetail": "Receiving order has no details, cannot execute confirmation", + "confirmVoidReceiptNo": "Are you sure to void {receiptNo}?", + "confirmDeleteReceiptNo": "Are you sure to delete {receiptNo}?", + "detailEdit": "Detail - Edit", + "confirmDeleteItemDetail": "Are you sure to delete the detail of item {seq}?", + "detailIQC": "Detail - IQC", + "detailConfirmation": "Detail - Confirmation", + "detailAttachment": "Detail - Attachment", + "receivingOrderStatus": "Receiving Order Status", + "receivingPersonnel": "Receiving Personnel", + "receivingTime": "Receiving Time", + "confirmAction": "Are you sure to {action}?", + "repairOrderNumber": "Repair Order No", + "toolRepairOrder": "Tool Repair Order", + "confirmDeleteToolRepairOrder": "Are you sure to delete Tool Repair Order {repairNo}?", + "repairOrderStatus": "Repair Order Status", + "repairDescription": "Repair desc", + "confirmDeleteStatusCode": "Are you sure to delete status code {statusCode}?", + "toolStatusCodeAdd": "Tool Status Code - Add", + "toolStatusCodeEdit": "Tool Status Code - Edit", + "toolStatusCodeView": "Tool Status Code - View", + "toolMajorCategoryNumber": "Tool Category ID", + "toolCategoryNumber": "Tool Category ID", + "toolStatusChangeOperation": "Tool Status Change Operation", + "toolCheckoutForm": "Tool Checkout Form", + "toolReturnForm": "Tool Return Form", + "calculationMethod": "Calculation Method", + "statusCodeSelection": "Status Code Selection" +} \ No newline at end of file diff --git a/src/locale/i18n/en/mes/wip.json b/src/locale/i18n/en/mes/wip.json new file mode 100644 index 0000000..e9dc6fe --- /dev/null +++ b/src/locale/i18n/en/mes/wip.json @@ -0,0 +1,224 @@ +{ + "onDutyChecklist": "On Duty Checklist", + "toolChecklist": "Tool Checklist", + "enterStationOperation": "Check In Operation", + "exitStationOperation": "Check Out Operation", + "personnelOnOffDuty": "On/Off Duty Operation", + "toolOnOffMachine": "Tool On/Off Machine", + "equipmentStatusChange": "EQP Status Change", + "singleBatchLot": "Single Batch Lot", + "multiBatchLot": "Multi Batch Lot", + "singleBatchBin": "Single Batch Bin", + "singleBatchCat": "Single Batch CAT", + "singleBatchBinSampling": "Single Batch Bin Sampling", + "singleBatchCatSampling": "Single Batch CAT Sampling", + "nonConformingOperation": "NG Code Record", + "ftTestOperation": "FT Test Operation", + "eqcTestOperation": "EQC Test Operation", + "logoutOperation": "Logoff Operation", + "productionBatchNumberNotExist": "Production batch ID {lotNo} does not exist", + "productionBatchStatusNotSuitable": "Current status of production batch ID does not allow for enter/exit station operations", + "maintainOperationCustomData": "Please maintain operation custom data CHECK_IN_OPERATION for operation {operation}", + "confirmOperationCustomData": "Please confirm if the custom data CHECK_IN_OPERATION configured for operation {operation} is correct", + "cpNonConformingOperation": "CP NG Code Record", + "waferNonConformingOperation": "Wafer NG Code Record", + "binNonConformingOperation": "BIN NG Code Record", + "catNonConformingOperation": "CAT NG Code Record", + "toolChecklistOnMachine": "Tool Checklist On Machine", + "parameterList": "Parameter List", + "materialList": "Material List", + "actualUsage": "Actual Usage", + "onDutyStaff": "On Duty Staff", + "machineTools": "Machine Tools", + "productionRemark": "Production Remark", + "logOut": "Log Out", + "lotNoCannotRepeat": "Lot No: {lotNo} cannot be duplicated", + "lotNoNotRetrieved": "Current Lot No isnot retrieved, do you want to retrieve it again?", + "checkInSuccess": "{lotNo} check-in successful
    ", + "checkInSuccess1": "{lotNo} check-in successful", + "checkOutSuccess": "{lotNo} check-out successful
    ", + "checkOutSuccess1": "{lotNo} check-out successful", + "logOutSuccess": "{lotNo} log out successful", + "confirmWaferCheckOut": "Do you want to check out the selected WAFER?", + "detainEntireBatch": "Hold Entire Batch", + "detainSinglePiece": "Hold Single Piece", + "alarm": "Alarm", + "designatedPath": "Designated Path", + "confirmOperation": "{message}
    Are you sure to {opKey}?", + "checkInControlRule": "Check-in control rule logic does not allow designated path", + "nonConformingCodeDescription": "Non-Conforming Code desc", + "operationParameter": "Operation Parameter", + "parameterContent": "Parameter Content", + "standardUsage": "Standard Usage", + "onDutyPerson": "On Duty Person", + "defectiveQuantityCannotExceedBatchQuantity": "Defective Qty cannot exceed batch Qty", + "nonConformingOperationSuccessful": "NG Code Record Successful", + "batchNumberQuantity": "Batch ID Qty", + "postBatchingAction": "Post-Batching Action", + "transferToSpecificOperation": "Transfer to Specific Operation", + "transferToSpecificRoute": "Transfer to Specific Route", + "transferRoute": "Transfer Route", + "routeVersion": "Route Version", + "step": "Step", + "postSplitAction": "Post-Split Action", + "splitQuantityCannotExceedLotQuantity": "Split Qty cannot exceed Lot No Qty", + "areYouSureToSplit": "Are you sure to split?", + "changeProductCode": "Change Product Code", + "changeUserPart": "Change User Part ID", + "changeUserLot": "Change User Lot No", + "changeLot": "Change Lot No", + "change": "Change", + "sampleBINDistribution": "BIN Sampling Distribution", + "sampleCATDistribution": "CAT Sampling Distribution", + "sampleBINAccptReject": "BIN Sampling Acceptance/Rejection Criteria", + "sampleCATAccptReject": "CAT Sampling Acceptance/Rejection Criteria", + "sampleFinalDistribution": "Final Sampling Distribution", + "sampleBIN": "BIN Sampling", + "sampleCAT": "CAT Sampling", + "confirmLotNoTestResult": "Confirm the test result for Lot No: {lotNo}?", + "testCompleted": "Test Completed", + "inputBINDistribution": "Input BIN Distribution", + "inputCATDistribution": "Input CAT Distribution", + "finalBINDistribution": "Final BIN Distribution", + "finalCATDistribution": "Final CAT Distribution", + "BINSampleResult": "BIN Sample Result", + "CATSampleResult": "CAT Sample Result", + "nonConformingInfo": "Non-Conforming Info", + "testResult": "Test Result", + "testInput": "Test Input", + "distributeQtyNotEmpty": "Distribution Qty cannot be empty", + "firstBINDistribution": "First BIN Distribution", + "ConfirmBinNoData": "No data for {binNo}, please confirm", + "nonConformingAmountNotMoreBinNo": "Non-conforming Qty cannot exceed {binNo} Qty", + "samplePartAmount": "Required Sample Part Amount", + "currentPart": "Current Part", + "samplePointNumber": "Required Sample Point Number", + "sampleZoneAmount": "Required Sample Zone Amount", + "sampleAmountRequired": "Sample Qty input is required", + "BINNotFoundAndPrdNone": "Lot No: {lotNo} cannot find CAT distribution data, production cannot proceed", + "sampleBINDistUnSetPrdNone": "Sample BIN distribution not set, production cannot proceed", + "lotNoInQVMNo": "Wafer sampling rule not set for Lot No: {lotNo} in QVM operation, production cannot proceed", + "zoneNotSetPrdNone": "Wafer sampling rule '{samplePlan}' set in QVM operation has no zones set, production cannot proceed", + "partNoAmountNotEqualSampling": "Selected part number Qty does not match the required sample part amount, production cannot proceed", + "confirmOpKey": "Are you sure to {key}?", + "lotNoBINNotFoundNotOut": "Lot No: {lotNo} cannot find BIN distribution data, cannot proceed to check out", + "lotNoCATNotFoundNotOut": "Lot No: {lotNo} cannot find CAT distribution data, cannot proceed to check out", + "inspResultStrBr": "Inspection result NG, Lot No {lotNo} HOLD, exception number {abnNo}
    ", + "autoSplitBatch": "Automatically split batch: {lotNo}
    ", + "enterLinesideWarehouse": "Enter WIP Warehouse", + "qtySelected": "Selected Qty", + "dispatchableQuantity": "Dispatchable Qty", + "productionPlanAdd": "Production Plan - Add", + "productionPlanEdit": "Production Plan - Edit", + "productionPlanView": "Production Plan - View", + "selectWorkOrderNumber": "Please select a work order No", + "enterPositiveNumber": "Only positive numbers are allowed", + "dispatchQuantityCannotExceedDispatchable": "Dispatch Qty cannot exceed dispatchable Qty", + "enterPlannedStartTime": "Please enter the planned start time", + "enterPlannedEndTime": "Please enter the planned end time", + "plannedEndTimeCannotBeEarlier": "Planned end time cannot be earlier than the planned start time", + "plannedStartTimeMustBeDefined": "Planned start time must be defined in the work calendar", + "selectProductionLine": "Please select a production line", + "equipmentInformation": "EQP Information", + "productionInformation": "Production Information", + "onPostInformation": "On Post Information", + "feedingInformation": "Feeding Information", + "notStarted": "Not Started", + "lineStopped": "Line Stopped", + "productionPlan": "Production Plan", + "planQuantity": "Planned Qty", + "completedQuantity": "Completed Qty", + "defectiveQuantity": "Defective Qty", + "completionTime": "Completion Time", + "downtime": "Downtime", + "startLine": "Start Line", + "currentStateStartTime": "Current State Start Time", + "accumulatedTimeInMinutes": "Accumulated Time (Minutes)", + "todayProductionQuantity": "Today's Production Qty", + "totalDefectiveQuantity": "Total Defective Qty", + "confirmDeletionPlan": "After deletion, this plan cannot be produced. Are you sure to delete?", + "confirmStartLine": "Are you sure to start the line?", + "startLineSuccessful": "Line started successfully", + "confirmStopLine": "After stopping, this plan cannot be produced. Are you sure to stop the line?", + "stopLineSuccessful": "Line stopped successfully", + "planEndTimeCannotEqualStartTime": "Plan end time cannot be equal to the plan start time", + "workCenterNotApplicable": "Work center is not a production line type, starting line operation is not applicable", + "startLineTime": "Start Line Time", + "startLinePersonnel": "Start Line Personnel", + "standardValue": "Standard Value", + "pdcDataView": "PDC Data View", + "pdcDataEntry": "PDC Data Entry", + "parameterValueInvalidForNumber": "Parameter No '{parameterNo}' is of numeric type, the entered parameter value is invalid", + "parameterValueInvalidForSpecification": "Parameter No '{parameterNo}' is of specification type, the entered parameter value is invalid", + "parameterValueInvalidForPercentage": "Parameter No '{parameterNo}' is of percentage type, the entered parameter value is invalid", + "confirmSave": "Do you want to confirm save?", + "assembledQuantity": "Assembled Qty", + "enterProductionItem": "Please enter production item", + "noDataFound": "No data found", + "selectOrEnterProductionItemFirst": "Please select or enter production item first", + "addComponent": "Add Component", + "selectDataToRemove": "Please select data to remove", + "removeComponent": "Remove Component", + "noMaterialInformationCannotSave": "No MTL information, cannot save", + "transferWarehouseCannotBeEmpty": "Transfer warehouse for MTL batch number {item} cannot be empty", + "removalQuantityCannotBeEmpty": "Removal Qty for MTL batch number {item} cannot be empty", + "removalQuantityMustBeGreaterThanZero": "Removal Qty for MTL batch number {item} must be greater than zero", + "removalQuantityCannotExceedAssembledQuantity": "Removal Qty for MTL batch number {item} cannot exceed assembled Qty", + "materialBatchNumberCannotBeEmpty": "MTL batch number cannot be empty", + "materialBatchNoWarehouseCannotBeEmpty": "Warehouse for MTL batch number {item} cannot be empty", + "materialBatchNoAdditionQuantityCannotBeEmpty": "Addition Qty for MTL batch number {item} cannot be empty", + "materialBatchNoAdditionQuantityMustBeGreaterThanZero": "Addition Qty for MTL batch number {item} must be greater than zero", + "removalSuccessful": "Removal Successful", + "removalQuantity": "Removal Qty", + "additionQuantity": "Addition Qty", + "warehouseDescription": "WHSE Desc", + "pleaseSelectOrEnterProductionItem": "Please select or enter the production item first", + "removalQuantityMustBeNumber": "Removal Qty for MTL batch number {item} must be a number", + "additionQuantityMustBeNumber": "Addition Qty for MTL batch number {item} must be a number", + "prdLineNotExist": "production line {prdLine} does not exist", + "prdLineNotAllowedForPodReporting": "{prdLine} is not a production line, POD reporting is not allowed", + "lotNoNotExist": "Lot No {lotNo} does not exist", + "pdcDataCollection": "Production Data Collection", + "scheduledTime": "Scheduled Time", + "departureTime": "Departure Time", + "arrivalTime": "Arrival Time", + "showOnlyTransportingCarts": "Show Only Transporting Carts", + "sourceAreaLocation": "Source Area (Location)", + "destinationAreaLocation": "Destination Area (Location)", + "avgNumber": "AVG Number", + "scheduleName": "Schedule Name", + "scheduledDateStartCannotBeLaterThanEnd": "Scheduled date start time cannot be later than end time", + "scheduledDateRangeCannotExceed30Days": "Scheduled date range cannot exceed 30 days", + "departureDateStartCannotBeLaterThanEnd": "Departure date start time cannot be later than end time", + "departureDateRangeCannotExceed30Days": "Departure date range cannot exceed 30 days", + "arrivalDateStartCannotBeLaterThanEnd": "Arrival date start time cannot be later than end time", + "arrivalDateRangeCannotExceed30Days": "Arrival date range cannot exceed 30 days", + "carrierCategory": "Carrier Category", + "carrierCategoryDescription": "Carrier Category Description", + "noCheckItemSelected": "No check item selected", + "equipment": "Equipment", + "operation": "Operation", + "needsCertification": "Needs certification", + "inspectionResult": "Inspection result", + "toolSetup": "Tool setup", + "materialComplete": "Material complete", + "equipmentAssemblyOperation": "Equipment assembly operation", + "material": "Material", + "loadingQuantity": "Loading quantity", + "standardQuantity": "Standard quantity", + "confirmProductionStart": "Confirm production start", + "cancelProductionStart": "Cancel production start", + "productionStartCheckResult": "Production start check result", + "staffOnDuty": "Staff On Duty", + "singleBatchUSNCheckIn": "Single batch USN check-in", + "singleBatchUSNCheckOut": "Single batch USN check-out", + "multipleBatchUSNCheckIn": "Multiple batch USN check-in", + "multipleBatchUSNCheckOut": "Multiple batch USN check-out", + "confirmCheckIn": "Are you sure USN {lotNo} will check in?", + "confirmCheckOut": "Are you sure USN {lotNo} will check out?", + "keyCheckInOperation": "{key} Check-in Operation", + "keyCheckOutOperation": "{key} Check-out Operation", + "keyFailedOperation": "{key} Failed Operation", + "operationCustomDataNotPack": "The custom data CHECK_IN_OPERATION for operation {operation} is not PACK, please maintain it first", + "dataRetrievalChanged": "Data retrieval has changed, it will be retrieved again" +} diff --git a/src/locale/i18n/en/mes/wms.json b/src/locale/i18n/en/mes/wms.json new file mode 100644 index 0000000..fd32b24 --- /dev/null +++ b/src/locale/i18n/en/mes/wms.json @@ -0,0 +1,319 @@ +{ + "alreadyInbound": "Already Inbound", + "confirmed": "Confirmed", + "stockinType": "Stock-in Type", + "stockinQuantity": "Stock-in Qty", + "rawMaterialInboundOrderNo": "Raw MTL Inbound Order No.", + "rawMaterialInboundAdd": "Raw MTL Inbound - Add", + "rawMaterialInboundEdit": "Raw MTL Inbound - Edit", + "rawMaterialInboundDetailAdd": "Raw MTL Inbound Detail - Add", + "purchaseOrderAdd": "PO - Add", + "purchaseOrder": "PO", + "purchaseOrderDetailAdd": "PO Detail - Add", + "purchaseDetailEdit": "PO Detail - Edit", + "outInv": "Outbound WHSE", + "inInv": "Inbound WHSE", + "outInvNo": "Outbound WHSE ID.", + "outInvDesc": "Outbound whse desc", + "inInvNo": "Inbound WHSE ID.", + "inInvNoDesc": "Inbound WHSE desc", + "documentStatus": "Document Status", + "documentToDate": "~", + "addDetails": "Add Details", + "defectiveGoodsInbound": "Defective Goods Inbound", + "inboundOrderAdd": "Inbound Order - Add", + "inboundOrderEdit": "Inbound Order - Edit", + "inboundOrderConfirm": "Inbound Order - Confirm", + "confirmDeletion": "Confirm Deletion of Inbound Order", + "workOrderReturnAdd": "WO Return - Add", + "workOrderReturnEdit": "WO Return - Edit", + "inputFirst": "Please Input First", + "selectFirst": "Please Select First", + "enterSerialNumber": "Please Enter Serial Number", + "is": "is", + "transferLocationsCannotBeSame": "Transfer out warehouse/location and transfer in warehouse/location cannot be the same", + "returnQuantityMustBeGreaterThanZero": "Return Qty must be greater than 0", + "errorMessage": { + "documentStartDate": "Document start date cannot be greater than the document end date", + "startDateGreaterThanEndDate": "Manufacture start date cannot be greater than the manufacture end date", + "manufactureDateCannotExceedExpiryDate": "Manufacture date cannot exceed the expiry date", + "documentDateRange": "Document date range cannot exceed 30 days", + "documentStartDateRequired": "Document start date is required", + "documentEndDateRequired": "Document end date is required", + "documentStartEndDateError": "Document start date cannot be greater than the end date", + "clauseOneInput": "At least one condition must be entered", + "noSuchLotNo": "No such Lot No '{lotNo}'", + "noSuchMaterialBatchNumber": "No such MTL Batch ID '{MaterialBatchNumber}'", + "lotNoNotEnabled": "Lot No is not enabled, cannot execute batch splitting", + "MaterialBatchNumberNotEnabled": "MTL Batch ID is not enabled, cannot execute batch splitting", + "MaterialBatchNumberNotFeeding": "MTL Batch ID is not enabled, cannot execute MTL feeding", + "quantityNotEmpty": "Qty cannot be empty", + "batchQuantityGreaterThanOne": "Batch Qty must be greater than 1", + "batchQuantityLessThanExisting": "Batch Qty must be less than the existing Qty", + "newBatchNumberCannotBeSameAsOld": "New batch ID cannot be the same as the old batch ID", + "createReturnDetails": "Please create return details", + "confirmExecutionOfReturnOrder": "Do you want to confirm the execution of the return order", + "purchaseOrderItemExists": "PO '{purchaseNo}', item No '{item}' already exists." + }, + "messages": { + "saveFailure": "Save Fail", + "confirmSuccess": "Confirmation Success", + "confirmFailure": "Confirmation Fail", + "pickLotNo": "Pick Lot No", + "checkLotNo": "Please check Lot No", + "clauseOneFilling": "At least one input field must be filled", + "lotNoStorageDuplicate": "Lot No \"{lotNo}\" and Storage \"{storageNo}\" are duplicate", + "selectOutWarehouseFirst": "Please select the outbound warehouse ID first", + "selectInWarehouseFirst": "Please select the inbound warehouse ID first", + "duplicateEntry": "Serial number \"{firstIndex}\" and \"{secondIndex}\", Lot No \"{materialLot}\", Storage \"{storageNo}\" are duplicate", + "selectWarehouseReceipt": "Please select the warehouse receipt", + "selectTypeAndWarehouseFirst": "Please select the stock-in type and outbound warehouse ID first", + "selectStockInTypeFirst": "Please select the stock-in type first", + "selectStockInMessageFirst": "Please select the stock-in message first", + "lotNoExportSuccess": "Lot No list export success", + "MaterialBatchNumberExportSuccess": "MTL Batch ID list export success", + "ExportSuccess": "Export success", + "rackingSuccess": "Racking success", + "unshelvingSuccess": "Unshelving success", + "selectLotNoForRack": "Please select the Lot No for racking", + "selectLotNoForUnrack": "Please select the Lot No for unracking", + "lotNoFieldEmpty": "The field '{field}' of Lot No '{lotNo}' cannot be empty", + "materialBatchNumberFieldEmpty": "The field '{field}' of MTL Batch ID '{materialBatchNumber}' cannot be empty", + "enterWarehouseNo": "Please enter the warehouse ID for discharging", + "enterRack": "Please enter the rack for discharging", + "emptyLocation": "Discharge location cannot be empty", + "confirmUnloading": "Are you sure to discharge?", + "unloadingSuccess": "Unloading success", + "enterDischargeQuantity": "Please enter the discharge Qty", + "selectMaterialBatchNumberForRack": "Please select the MTL batch ID for racking", + "selectMaterialBatchNumberForUnrack": "Please select the MTL batch ID for unracking", + "loadingQuantityNotEmpty": "Loading Qty cannot be empty", + "loadingSuccess": "Loading success", + "loadingQuantityExceedsStock": "Loading Qty cannot exceed stock Qty", + "doNotEmpty": "Cannot be empty", + "totalSplitQuantityNotEqualOriginal": "Total split Qty is not equal to the original MTL batch ID Qty", + "confirmBatchOperation": "Are you sure to perform the batch operation?", + "mismatchAfterUnpacking": "Receipt number '{receiptNo}', sequence '{seq}', the total Qty after unpacking does not match the Qty before unpacking", + "quantityAfterUnpackingNotEmpty": "Qty after unpacking cannot be empty", + "createPurchaseItem": "Please create a purchase item", + "confirmPurchaseOrderChange": "After PO No '{purchascefeNo}' is confirmed, the details cannot be changed. Are you sure?", + "confirmDeletePurchaseOrder": "Are you sure to delete the PO No '{purchaseNo}'?", + "confirmInvalidatePurchaseOrder": "Are you sure to invalidate the PO No '{purchaseNo}'?" + }, + "defectiveGoodsWarehouse": "Defective Goods WHSE", + "defectiveGoodsWarehouseShelving": "Defective Goods WHSE Shelving", + "defectiveGoodsUnshelving": "Defective Goods WHSE Unshelving", + "defectiveGoodsInTemporaryWarehouse": "Defective Goods Temporary WHSE", + "defectiveGoodsInTemporaryWarehouseShelving": "Defective Goods Temporary WHSE Shelving", + "defectiveGoodsInTemporaryUnshelving": "Defective Goods Temporary WHSE Unshelving", + "GoodsInTemporaryWarehouse": "Good Goods Temporary WHSE", + "GoodsInTemporaryWarehouseShelving": "Good Goods Temporary WHSE Shelving", + "GoodsInTemporaryUnshelving": "Good Goods Temporary WHSE Unshelving", + "loadingQuantity": "Loading Qty", + "confirmations": { + "confirmDeleteReturnOrderDetail": "Confirm deletion of return order No '{inNo}', same receipt number '{receiptNo}', same sequence '{seq}' for the stock-in order detail?", + "confirmStockInOrderExecution": "Do you want to confirm the execution of the stock-in order?", + "deleteDetail": "Do you want to delete this stock-in detail?", + "executeRacking": "Are you sure to execute the racking operation?", + "executeUnshelving": "Are you sure to execute the unshelving operation?", + "removeLotNo": "Are you sure to remove this Lot No '{lotNo}'?", + "removeMaterialBatchNumber": "Are you sure to remove this MTL Batch ID '{MaterialBatchNumber}'?", + "confirmLoading": "Are you sure to load to '{newResource}'?", + "confirmDeletionOfReturnOrderDetail": "Do you want to delete this return order detail?" + }, + "finishedGoodsWarehouse": "Finished Goods WHSE", + "finishedGoodsWarehouseShelving": "Finished Goods WHSE Shelving", + "finishedGoodsWarehouseUnshelving": "Finished Goods WHSE Unshelving", + "finishedGoodsInTemporaryWarehouse": "Finished Goods Temporary WHSE", + "finishedGoodsInTemporaryWarehouseShelving": "Finished Goods Temporary WHSE Shelving", + "finishedGoodsInTemporaryUnshelving": "Finished Goods Temporary WHSE Unshelving", + "lineSideWarehouseShelving": "WIP WHSE Shelving", + "lineSideWarehouseUnshelving": "WIP WHSE Unshelving", + "lineSideWarehouseBatchOperation": "WIP WHSE Batch Operation", + "materialWarehouse": "MTL WHSE", + "materialWarehouseShelving": "MTL WHSE Shelving", + "materialWarehouseUnshelving": "MTL WHSE Unshelving", + "equipmentLoading": "EQP Loading", + "rawMaterialUnpacking": "Raw MTL Unpacking", + "minimumPackingNumber": "Minimum Packing Number", + "unpackingSuccess": "Unpacking Success", + "enterMinimumPackagingNumber": "Please enter the minimum packaging number", + "tableObj": { + "lotNo": "Lot No", + "warehouseQty": "WHSE Qty", + "warehouseTotalQty": "Total WHSE Qty", + "transferOutWarehouse": "Transfer Out WHSE", + "transferOutStorageNo": "Transfer Out Storage ID.", + "transferInWarehouse": "Transfer In WHSE", + "transferInStorageNo": "Transfer In Storage ID.", + "rackNo": "Rack ID.", + "rack": "Rack", + "locationNo": "Location ID.", + "kind": "Warehouse Type", + "batchNumberPrinciple": "Batch ID Principle", + "batchingPrinciple": "Batching Principle" + }, + "validation": { + "numberGreaterThanZero": "Discharge Qty must be greater than 0" + }, + "alreadyListed": "Already Listed", + "notListed": "Not Listed", + "putOnShelf": "Put on Shelf", + "takeOffShelf": "Take off Shelf", + "numberOfEntries": "Number of Entries", + "errors": { + "rackNumberEmpty": "Rack ID of Lot No '{lotNo}' cannot be empty", + "locationNumberEmpty": "Location ID of Lot No '{lotNo}' cannot be empty", + "storageNumberEmpty": "Storage ID of Lot No '{lotNo}' cannot be empty" + }, + "loadingTime": "Loading Time", + "feeding": "Feeding", + "originalWarehouseNumber": "Original WHSE ID", + "originalRackNoNumber": "Original Rack ID", + "originalLocation": "Original Location", + "originalStorage": "Original Storage", + "unloadMaterial": "Unload MTL", + "warehouse": "Warehouse", + "supplierBatch": "Supplier Batch ID", + "dateExp": "Expiration date", + "creator": "Creator", + "quantityBeforeUnpacking": "Qty Before Unpacking", + "quantityAfterUnpacking": "Qty After Unpacking", + "returnMaterialOrderNumber": "Return MTL Order No", + "returnQuantity": "Return Qty", + "staffNumber": "Staff Number", + "receivingDetailConfirmation": "Receiving Detail - Confirmation", + "receivingDetailAttachment": "Receiving Detail - Attachment", + "receivingDetailAdd": "Receiving Detail - Add", + "samplingPlan": "Sampling Plan", + "specialProcurement": "Special Procurement", + "exemptFromInspection": "Exempt from Inspection", + "receivingStaff": "Receiving Staff", + "receivingTime": "Receiving Time", + "warehousing": "Warehousing", + "qualified": "Qualified", + "uninspected": "Uninspected", + "specialProcurementDescription": "Special Procurement Desc", + "confirmPerson": "Confirm Person", + "confirmTime": "Confirm Time", + "shouldDrawNumber": "Should Draw Number", + "okNumber": "OK Number", + "ngNumber": "NG Number", + "isSpecialProcurement": "Is Special Procurement", + "inspectionTime": "Inspection Time", + "shouldDrawNumberMustBeGreaterThanZero": "Should draw number must be greater than 0", + "allowableReturnNumberMustBeGreaterThanZero": "Allowable return number must be greater than 0", + "inspectionQuantityDoesNotMatchSamplingQuantity": "Inspection Qty does not match sampling Qty", + "inspectionWorkNotCompleted": "Inspection work not completed", + "specialProcurementDescriptionCannotBeEmpty": "Special procurement description cannot be empty", + "milStd105ETable": "MIL-STD-105E Table", + "editDetails": "Edit Details", + "createReceivingItem": "Please create receiving item", + "allItemsInReceivingOrderExemptFromInspection": "All items in the receiving order are exempt from inspection. Once received, the receiving order cannot be voided. Are you sure to receive?", + "isPurchaseOrderNumberSureToBeVoided": "Are you sure to void the purchase order No {purchaseNo}?", + "damageQuantity": "Damage Qty", + "retentionQuantity": "Retention Qty", + "purchaseQuantity": "Purchase Qty", + "receivedMaterialQuantity": "Received Material Qty", + "receivingOrderDetailEdit": "Receiving Order Detail - Edit", + "receivingOrderDetailNew": "Receiving Order Detail - New", + "receivingOrderAdd": "Receiving Order - Add", + "receivingQuantityCannotBeEmpty": "Receiving Qty cannot be empty", + "numberOfEntriesMustBeGreaterThanZero": "Number of entries must be greater than 0", + "itemNumber": "Item No {item}", + "returnableStockQuantity": "Returnable Stock Qty", + "returnStockQuantity": "Return Stock Qty", + "rawMaterialWarehouseReturn": "Raw Material WHSE Return", + "defectiveGoodsWarehouseReturn": "Defective Goods WHSE Return", + "returnOrderAdd": "Return Order - Add", + "returnOrderEdit": "Return Order - Edit", + "createReturnDetail": "Please create return detail", + "executeReturnOrderConfirmation": "Do you want to confirm the execution of the return order?", + "deleteReturnOrder": "Are you sure to delete the return order '{returnNo}'?", + "returnType": "Return Type", + "returnOrderDetail": "Return Order Detail", + "returnOrderDetailAdd": "Return Order Detail - Add", + "enterReturnQuantityForItem": "Please enter the return Qty for serial number '{index}', material batch ID '{materialLot}'", + "returnQuantityForItemMustBeGreaterThanZero": "The return Qty for serial number '{index}', material batch ID '{materialLot}' must be greater than 0", + "materialLotAndStorageNoDuplicate": "Material batch ID '{materialLot}', storage location '{storageNo}' is duplicated, please merge into one entry", + "returnOrderSavedSuccessfully": "Return order saved successfully", + "areYouSureToDeleteThisReturnDetail": "Are you sure to delete this return detail?", + "issueOrderAdd": "MTL issue order - Add", + "issueOrderDetailEdit": "MTL issue order Detail - Edit", + "issueOrderDetailAdd": "issue order Detail - Add", + "createIssueDetail": "Please create issue detail", + "executeIssueOrderConfirmation": "Do you want to confirm the execution of the issue order?", + "deleteIssueOrder": "Are you sure to delete the issue order '{issueNo}'?", + "issueQuantity": "Issue Qty", + "issueOrderNumber": "MTL issue order", + "mtlIssueOrderNo": "MTL Issue Order No", + "availableIssueQuantity": "Available Issue Qty", + "enterIssueQuantityForItem": "Please enter the issue Qty for serial number '{index}', material batch ID '{materialLot}'", + "issueQuantityForItemMustBeGreaterThanZero": "The issue Qty for serial number '{index}', material batch ID '{materialLot}' must be greater than 0", + "enterTransferInWarehouseForItem": "Please enter the transfer-in warehouse for serial number '{index}', material batch ID '{materialLot}'", + "transferInWarehouseForItemCannotEqualTransferOut": "The transfer-in warehouse for serial number '{index}', material batch ID '{materialLot}' cannot be the same as the transfer-out warehouse", + "enterIssueWorkOrderForItem": "Please enter the issue work order for serial number '{index}', material batch ID '{materialLot}'", + "areYouSureToDeleteThisIssueDetail": "Are you sure to delete this issue detail?", + "inventoryOrderNumber": "Inventory Order No", + "inventoryType": "Inventory Type", + "login": "Login", + "inventoryInProgress": "Inventory In Progress", + "initialCountQuantity": "Initial Count Qty", + "recountQuantity": "Recount Qty", + "inventoryShortage": "Inventory Shortage", + "inventoryPlan": "Inventory Plan", + "executionDate": "Execution Date", + "initialCountDate": "Initial Count Date", + "voidDate": "Void Date", + "initialCountPersonnel": "Initial Count Personnel", + "voidPersonnel": "Void Personnel", + "recountDate": "Recount Date", + "recountPersonnel": "Recount Personnel", + "plannedDate": "Planned Date", + "createInventoryOrderDetail": "Please create inventory order detail", + "executeInventoryOrderConfirmation": "Do you want to confirm the execution of the inventory order?", + "executeInventoryOrderVoid": "Do you want to confirm the voiding of the inventory order?", + "executeInventoryOrderDeletion": "Do you want to confirm the deletion of the inventory order?", + "inventoryOrderCompletionWillAdjustStock": "Completing the inventory order will automatically adjust stock based on inventory gains and losses. Do you want to complete the inventory order?", + "inventoryCompleted": "Inventory Completed", + "initialCountNotConfirmedCannotComplete": "Initial count not confirmed, cannot complete", + "recountNotConfirmedCannotComplete": "Recount not confirmed, cannot complete", + "plannedStartDateCannotExceedEndDate": "Planned start date cannot be greater than the planned end date", + "plannedDateRangeCannotExceed30Days": "Planned date range cannot exceed 30 days", + "selectMaterialLotNumber": "Select Material Lot No", + "pleaseCheckMaterialLotNumber": "Please check material lot No", + "inventoryConfirmation": "Inventory Confirmation", + "inventoryDetails": "Inventory Details", + "inventoryRegistration": "Inventory Registration", + "noMaterialLotNumberInWarehouse": "No such material lot No in warehouse '{invNo}'", + "initialCount": "Initial Count", + "recount": "Recount", + "confirmNoMoreInputOfQuantity": "After confirmation, no more input of {msg} Qty is allowed. Do you want to proceed with inventory confirmation?", + "inventoryDetailSavedSuccessfully": "Inventory detail saved successfully", + "areYouSureToDeleteThisInventoryDetail": "Are you sure to delete this inventory detail?", + "initialCountQuantityCannotBeEmpty": "The initial count Qty for serial number '{seq}' cannot be empty", + "planDateFormatError": "Plan date format error", + "planDateCannotBeEarlierThanCurrentDate": "Plan date cannot be earlier than the current date", + "inventoryPlanSavedSuccessfully": "Inventory plan saved successfully", + "transferOrderNumber": "Transfer Order No", + "deleteTransferOrder": "Are you sure to delete the transfer order '{transferNo}'?", + "executeTransferOrderConfirmation": "Do you want to confirm the execution of the transfer order?", + "transferQuantity": "Transfer Qty", + "availableTransferQuantity": "Available Transfer Qty", + "transferOrderAdd": "Transfer Order - Add", + "transferOrderEdit": "Transfer Order - Edit", + "materialLotStorageInvDuplicate": "Material batch ID '{materialLot}', storage location '{storageNo}', transfer-in warehouse '{invNo}' are duplicate, please merge into one entry", + "pleaseSelectTransferOrderDetail": "Please select transfer order detail", + "transferQuantityExceedsAvailable": "Transfer Qty for material batch ID '{materialLot}' exceeds available transfer quantity", + "enterTransferQuantityForItem": "Please enter the transfer Qty for serial number '{index}', material batch ID '{materialLot}'", + "transferQuantityForItemMustBeGreaterThanZero": "Transfer Qty for serial number '{index}', material batch ID '{materialLot}' must be greater than 0", + "areYouSureToDeleteThisTransferDetail": "Are you sure to delete this transfer detail?", + "feedingWarehouseNumber": "Feeding Warehouse Number", + "feedingStorageLocation": "Feeding Storage Location", + "feedingQuantity": "Feeding Qty", + "invType": { + "0": "Storage", + "1": "Floor Storage" + } +} + diff --git a/src/locale/i18n/en/mes/wmst.json b/src/locale/i18n/en/mes/wmst.json new file mode 100644 index 0000000..0528212 --- /dev/null +++ b/src/locale/i18n/en/mes/wmst.json @@ -0,0 +1,131 @@ +{ + "packingListNo": "Packing List No", + "invType": "Inventory Type", + "packingDate": "Packing Date", + "nonConformingOperation": "NG Code Record", + "packListBuild": "Packing List Build", + "packingDetail": "Packing Detail", + "itemMaterialDesc": "Item Material desc", + "confirmCreateNewPackingList": "Do you confirm the creation of a new packing list?", + "packingListCreateSuccess": "Packing list created successfully, packing list number: {data}", + "selectLotNoNeedPack": "Please select the LotNo to be packed", + "packDetailCreateSuccess": "Packing detail added successfully", + "confirmDelPackList": "Do you confirm the deletion of the packing list?", + "confirmDelPackDetail": "Do you confirm the deletion of this packing detail?", + "confirmLotNotInSearchList": "LOT [ {lotNo} ] is not in the search list, please confirm!", + "lotNoGoodResultBINLevel": "This lot has no GOOD result BIN level", + "lotNoFailResultBINLevel": "This lot has no Fail result BIN level", + "noDetail": "No Detail", + "awaitShip": "Shipment Awaiting", + "shipped": "Shipped", + "BINFinishedGoodsWarehouse": "BIN Finished Goods WHSE", + "BINNonConformingGoodsWarehouse": "BIN Non-Conforming Goods WHSE", + "tempWarehouseCreateDate": "Temporary WHSE Entry Date", + "warehouseEntryConfirm": "WHSE Entry Confirmation", + "restart": "Restart", + "warehouseEntryDate": "WHSE Entry Date", + "routerDesc": "Route desc", + "finishGoodInvNo": "Finished Goods WHSE ID", + "finishedGoodsWarehouseNumberRequired": "Finished goods WHSE ID is required", + "restartRouter": "Restart Route", + "restartOperation": "Restart Operation", + "cannotBeEmpty": "Cannot be empty", + "routerProcess": "Route Process", + "confirmRestart": "Do you confirm the restart?", + "restartSuccessGenLot": "Restart successful, new lot generated: {data}", + "confirmReceiveInv": "Do you confirm the receipt into {invNo}?", + "warehouseEntrySuccess": "WHSE entry success", + "checkEntryWareLotNo": "Please check the LotNo for WHSE entry", + "selectSameOrderLotNo": "Please select LotNos with the same work order No", + "selectSameUserPartLotNo": "Please select LotNos with the same customer part ID", + "selectSameUserNoLotNo": "Please select LotNos with the same customer number", + "selectSameUserLotNo": "Please select LotNos with the same customer lot no", + "shippingOrderNo": "Shipping Order No", + "shippingDate": "Shipping Date", + "packListNo": "Packing List No", + "shippingListNo": "Shipping List No", + "shippingOrderCreate": "Shipping Order Creation", + "shippingAddress": "Shipping Address", + "packList": "Packing List", + "listNo": "List No", + "packListCreateSuccess": "Packing list added successfully", + "confirmCreateNewShipOrder": "Do you confirm the creation of a new shipping order?", + "shipOrderCreateSuccess": "Shipping order created successfully, shipping order No: {data}", + "confirmVoidShippingOrder": "Do you confirm the voiding of the shipping order?", + "confirmShip": "Do you confirm the shipment?", + "shipOrderShippingSuccess": "Shipping order shipped successfully", + "confirmPackListInSearch": "Packing list [ {packNo} ] is not in the search list, please confirm!", + "itemReceiptDetail": "Item Receipt Detail", + "samplePlan": "Sampling Plan", + "qtyDieMustMoreThan0": "Die Qty must be greater than 0", + "inputKeyFrontFour": "Please enter the first four digits of {checkKey}", + "BINDistribution": "BIN Distribution", + "CATDistribution": "CAT Distribution", + "voidedInvNo": "Scrap WHSE ID", + "confirmEdit": "Do you confirm the modification?", + "totalFixEqualBINTotal": "Total adjusted Qty must equal the total BIN distribution Qty", + "totalFixEqualCATTotal": "Total adjusted Qty must equal the total CAT distribution Qty", + "inputRestartAmountLot": "For LotNo {materialLot}, please enter the restart Qty", + "scrapAmountNotThanOriginAmountLot": "For LotNo {materialLot}, SCRAP Qty cannot be greater than the original Qty", + "lossAmountNotThanOriginAmountLot": "For LotNo {materialLot}, LOSS Qty cannot be greater than the original Qty", + "invEntryVoid": "Scrap WHSE Entry", + "partNoQuery": "Part ID Query", + "nonConformingGoodsInvNo": "Non-Conforming Goods WHSE ID", + "selectSameInvPartNo": "Please select part No with the same warehouse ID", + "selectSameItemPartNo": "Please select part No with the same item number", + "waferSize": "Wafer Size", + "waferFinishedGoodHouse": "Wafer Finished Goods WHSE", + "waferNonConformingGoodHouse": "Wafer Non-Conforming Goods WHSE", + "receiveQty": "Received Qty", + "sampleZone": "Sampling Zone", + "partSelect": "Part Selection", + "requireSamplePartMustBeGreaterThanZero": "Required sample part must be greater than zero", + "requireSampleZoneMustBeGreaterThanZero": "Required sample zone must be greater than zero", + "requireSamplePointMustBeGreaterThanZero": "Required sample point must be greater than zero", + "checkWaferMarkingNoForInsp": "Please check the Wafer marking number for inspection", + "inspPartNotCorrespondSampleAmount": "Inspection part Qty does not match the required sample part Qty", + "waferMarkingNo": "Wafer Marking Number", + "generate": "Generate", + "notFoundItemWaferSize": "Cannot find the wafer size corresponding to item number '{item}', please maintain it in the product production parameter configuration WAFER_SIZE", + "waferListNotEmpty": "Wafer list cannot be empty", + "waferSizeNeedTwoDigits": "Wafer size must be two digits", + "waferMarkingFormatIncorrect": "Wafer marking format is incorrect", + "waferMarkingDuplicate": "Wafer marking is duplicated", + "dieNotFoundGoPrd": "Die count not found, please configure it in the product configuration operation", + "partNoInfo": "Part ID Information", + "invTransfer": "Inventory Transfer", + "storageTransfer": "Storage Transfer", + "splitOperation": "Batch Split Operation", + "itemReturnOperation": "Material Return Operation", + "originAmount": "Original Qty", + "currentAmount": "Current Qty", + "targetInvNo": "Target Inventory ID", + "targetStorageNo": "Target Storage Location", + "transferAmount": "Transfer Qty", + "fixAmount": "Fix Qty", + "itemReturn": "Material Return", + "allocateAmountNeedThanZero": "Allocation Qty must be greater than zero", + "targetInvNoNotEmpty": "Target inventory ID cannot be empty", + "orginInvNoNotEqualTarget": "Original inventory ID cannot be the same as the target inventory ID", + "confirmAllocateInv": "Do you confirm the allocation to warehouse '{invNo}'?", + "allocateSuccess": "Allocation success", + "transferAmountNeedThanZero": "Transfer amount must be greater than zero", + "originTargetStorageNotEmpty": "Original storage location and target storage location cannot both be empty", + "originStorageNotEqualTarget": "Original storage location and target storage location cannot be the same", + "confirmTransferMsg": "Do you confirm the transfer to '{msg}'?", + "transferSuccess": "Transfer success", + "proceedSplitFirst": "Please proceed with the split first", + "totalAmountAfterSplitMustEqual": "The total Qty after splitting must equal the current Qty", + "confirmReturnItem": "Do you confirm the material return?", + "returnSuccess": "Material return success", + "fixAmountNeedThanZero": "Fix amount must be greater than zero", + "splitAmountNotZero": "Split amount cannot be zero", + "currentQtyDie": "Current Die Qty", + "fixQtyDie": "Fix Die Qty", + "unselectedPartNo": "Unselected Part ID", + "waferDieAmountFix": "Wafer Die Qty Adjustment", + "checkNeedAllocatePartNo": "Please check the part No to be allocated", + "checkNeedTransferPartNo": "Please check the part No to be transferred", + "allPartNoNeedIndicateUserLot": "All part No must specify a customer lot number", + "checkRequiredReturnPartNo": "Please check the part No for material return" +} diff --git a/src/locale/i18n/en/mp.json b/src/locale/i18n/en/mp.json new file mode 100644 index 0000000..d59b5bd --- /dev/null +++ b/src/locale/i18n/en/mp.json @@ -0,0 +1,5 @@ +{ + "selectOfficialAccount": "Select official account", + "synchronize": "Synchronize", + "syncStartedFromWeChat": "Synchronization of tag information from WeChat has started, it is recommended to wait and then query" +} \ No newline at end of file diff --git a/src/locale/i18n/en/page.json b/src/locale/i18n/en/page.json new file mode 100644 index 0000000..ca0dd5c --- /dev/null +++ b/src/locale/i18n/en/page.json @@ -0,0 +1,16 @@ +{ + "navigationSearch": "Navigation Search", + "noMenuFound": "No menu found", + "noErrorLogs": "No error logs", + "errorLogs": "Error logs", + "lockScreen": "Lock Screen", + "exitFullscreen": "Exit Fullscreen", + "fullscreen": "Fullscreen", + "userAvatar": "User Avatar", + "userCenter": "User Center", + "log": "Log", + "theme": "Theme", + "themeColor": "Theme Color", + "zoom": "Zoom", + "topMenu": "Top Menu" +} \ No newline at end of file diff --git a/src/locale/i18n/en/rules.json b/src/locale/i18n/en/rules.json new file mode 100644 index 0000000..584c2ab --- /dev/null +++ b/src/locale/i18n/en/rules.json @@ -0,0 +1,50 @@ +{ + "selectStorageType": "Please select storage type", + "selectOutgoingWarehouseNumber": "Please select outgoing warehouse ID", + "selectIncomingWarehouseNumber": "Please select incoming warehouse ID", + "enterItemNumber": "Please enter item No", + "enterQuantity": "Please enter Qty", + "enterMaterialNumber": "Please enter material ID", + "enterBatchNumber": "Please enter batch ID", + "enterWarehouseNumber": "Please enter warehouse ID", + "enterDrawingNumber": "Please enter drawing number", + "enterAllowableReturnNumber": "Please enter allowable return number", + "enterOkNumber": "Please enter OK number", + "enterNgNumber": "Please enter NG number", + "enterPurchaseOrderNumber": "Please enter purchase order No", + "selectReturnStorageType": "Please select return storage type", + "selectTransferOutWarehouse": "Please select transfer out warehouse", + "selectInventoryType": "Please select inventory type", + "enterInventoryPlan": "Please enter inventory plan", + "enterPlanDate": "Please enter plan date", + "selectTransferIntoWarehouseType": "Please select transfer into warehouse type", + "enterToolNumber": "Please enter tool ID", + "enterToolDescription": "Please enter tool description", + "selectToolCategory": "Please select tool category", + "enterWorkSection": "Please enter work section", + "enterWorkCenter": "Please enter work center", + "enterEquipmentMajorCategory": "Please enter EQP category", + "enterEquipmentCategory": "Please enter EQP category", + "enterProcess": "Please enter process", + "selectProcess": "Please select process", + "selectProductNumber": "Please select product ID", + "selectEquipmentCategory": "Please select EQP category", + "enterInspectionType": "Please enter inspection type", + "enterInspectionFrequencyNumber": "Please enter inspection frequency ID", + "enterInspectionItemNumber": "Please enter inspection item No", + "selectInspectionItemType": "Please select inspection item type", + "selectInspectionItemStatus": "Please select inspection item status", + "selectInspectionType": "Please select inspection type", + "enterInspectionPlanNumber": "Please enter inspection plan ID", + "enterVersion": "Please enter version", + "enterInspectionPlanDescription": "Please enter inspection plan description", + "enterInspectionPersonnelGroup": "Please enter inspection personnel group", + "selectInspectionPlanNumber": "Please select inspection plan ID", + "selectProductionBatch": "Please select production batch", + "selectProcessNumber": "Please select process ID", + "selectEquipmentNumber": "Please select EQP ID", + "enterDescription": "Please enter description", + "selectProductionLine": "please select production line", + "selectItemCode": "please select item code", + "selectEquipment": "please select EQP" +} \ No newline at end of file diff --git a/src/locale/i18n/en/tip.json b/src/locale/i18n/en/tip.json new file mode 100644 index 0000000..12c4b54 --- /dev/null +++ b/src/locale/i18n/en/tip.json @@ -0,0 +1,9 @@ +{ + "select": "Please select", + "input": "Please input", + "successMessage": { + "deleteSuccess": "Successfully deleted", + "createSuccess": "Successfully created", + "updateSuccess": "Successfully updated" + } +} \ No newline at end of file diff --git a/src/locale/i18n/en/upload.json b/src/locale/i18n/en/upload.json new file mode 100644 index 0000000..e734dd8 --- /dev/null +++ b/src/locale/i18n/en/upload.json @@ -0,0 +1,4 @@ +{ + "upload": "Click to upload", + "tip": "Drag the file here, or" +} \ No newline at end of file diff --git a/src/locale/i18n/en/wel.json b/src/locale/i18n/en/wel.json new file mode 100644 index 0000000..449ad91 --- /dev/null +++ b/src/locale/i18n/en/wel.json @@ -0,0 +1,66 @@ +{ + "title": { + "login": "Welcome to iMES", + "smd": "Production environment configuration", + "prd": "Product model configuration", + "ord": "Work Order Maintenance", + "tds": "Production dispatch", + "bpr": "Production preparation", + "wip": "production management", + "oee": "EQP activation management", + "tms": "Tool Management", + "hrs": "Personnel Management", + "mtl": "Material Management", + "alm": "alarm management system", + "ecn": "Engineering Change Management", + "qms": "Quality Management", + "abn": "Exception management", + "spc": "Statistical Process Management", + "iot": "Device automation management", + "rms": "Device parameter management" + }, + "smd": "Modules that configure physical factories, work centers, equipment, tools and other production resources", + "prd": "Configure the model of production activities, including work sections, processes, routes, products and product parameters", + "ord": "IE-Plant receives the work order and work order BOM of the production order, and releases the work order to generate the product. The production order (that is, the work order) is an important goal of IE-Plant's production management. The work order can be released in multiple times. After IE-Plant receives the materials, the work order can be released. During the work order release, SFC is generated based on the SFC standard batch ID configured for the product.", + "tds": "Production management personnel formulate a production plan before production so that they can have a basis for production. The purpose of the production plan is to formulate work orders and specify which equipment to produce at which time. During production, operators should use Production is carried out based on the production plan. After production, the plan and actual production time can be analyzed to review the reasons for possible delays.", + "bpr": "Production preparation is the preparation of people, machines, materials and other operating resources required for production before production. The production preparation process includes: the preparation of materials through the material issuance process and the preparation of personnel through the personnel on-and-off-duty process. Issue The material process is transferred from ERP to IE-Plant through work order issuance or inventory transfer, so that production can be carried out in a state of complete materials.", + "wip": "Production operators can use the operation interface and use functions in accordance with specifications to complete standard work reporting and record manufacturing information to achieve the purposes of pre-production preparation, in-process control, and post-production analysis. The production process includes a variety of work reporting Production management nodes such as models, inspection operations, outsourcing processing, and packaging operations", + "oee": "Indicators for evaluating the effective operation of production facilities, including three sub-indicators such as equipment utilization rate, production efficiency and production yield rate. This module provides an operation calculation standard for configuring the utilization rate, and also supports equipment operation Automatic configuration and switching. Overall equipment efficiency can also be used as a key performance indicator and efficiency indicator of lean production.", + "tms": "Control the current status and life of mold fixtures to avoid production losses caused by non-compliant mold fixtures. It includes five major tools: status management, history management, life management, effectiveness management, and repair and maintenance. Management Support", + "hrs": "Manage users on the system, including: authority management, qualification management, status and activity management, working hours calculation, performance management, etc.", + "mtl": "For the finished products produced and shipped by the workshop, configure the relevant bill of materials and exclusive process parameters. The bill of materials includes the classification of types and attributes of semi-finished products, customer-supplied materials, consumables, outsourced parts, etc. In addition, the processes and procedures cover the configuration of product parameters and equipment formulas belonging to the relevant processes. After complete establishment, the standard product production process can be carried out according to the configuration.", + "alm": "Receive events sent by different systems and send alerts to relevant personnel through pre-configured event alert programs. ALM supports push alert mechanisms (Ex. Enterprise WeChat, DingTalk, LINE, Twitter) It also supports alert notifications via email, SMS, or device tri-color lights, warning lights, etc.", + "ecn": "When the customer instructs or due to project needs, the production conditions can be changed through the engineering change order. When the engineering change order is created, the scope of the change to be specified (such as products, work orders, designated production after setting the change objects and change items through engineering change order maintenance, the engineering change order will take effect and affect the entire production activities.", + "qms": "The management cycle of PDCA, through the configuration of the inspection plan in advance, conducts inspection operations in each inspection link, completes the specification review after inspection, and carries out subsequent analysis and decision-making. Implementing the PDCA cycle of QMS can effectively improve the production quality of the factory. Rate is a very important management system in the industry", + "abn": "The exception management module mainly connects the processing process after problems occur in production or inspection. It is generally divided into three main processes: abnormal event triggering, abnormal event processing, and abnormal product unblocking. The main purpose is to carry out risk product management. Closed-loop processing, and the control of abnormal events through 8D procedures, in order to gradually improve the factory's process capabilities.", + "spc": "The method of improving process capabilities through data trends. The main method is to collect data based on the factors of inspection items in manufacturing, and through process capability analysis and process standardization, discover abnormalities in the process, and Take immediate improvement measures to bring the process back to normal", + "iot": "Collect data from the equipment on the production line based on their networking capabilities (including production information, operation information, Alarm), and integrate the execution layer system (Ex. MES system) to create an overall high-efficiency, low-cost factory Operation", + "rms": "Replace or control the manual setting of equipment parameters to avoid human errors or loss of work safety or product due to misoperation of the machine during production. The system is divided into recipes for uploading and downloading based on the ability of equipment automation. Fully automated control, or simple parameter comparison (Parameter Compare), the system supports multi-factor formula management", + "login": "Login", + "loginSuccess": "Login successful", + "logout": "Logout", + "logoutAlm": "Are you sure to logout?", + "sitePlaceholder": "Please select tenant", + "homePage": "Home page", + "loginPage": "Login page", + "lockScreenPage": "Lock screen page", + "homePage1": "Home page", + "authorizationPage": "Authorization page", + "returnToHomePage": "Return to home page", + "goBackToTheLastPage": "Go back to the last page", + "closeOthers": "Close others", + "closeAll": "Close all", + "tokenStatusExpired": "Token status expired, please click to re-login", + "systemMessage": "System Message", + "relogin": "Re-login", + "operationTooFrequent": "Operation too frequent, please do not repeat requests", + "noPermissionForCurrentOperation": "No permission for current operation", + "resourceNotFound404": "Resource not found (404)", + "unboundLoginAccount": "Unbound login account, please use password to login and bind", + "demoEnvironmentCannotOperate": "Demo environment cannot operate, contact us for more information", + "usernameOrPasswordIncorrect": "Username does not exist or password is incorrect", + "captchaIncorrect": "Captcha incorrect, please re-enter", + "requestTooFrequent": "Request too frequent", + "demoEnvironmentNoPermission": "Demo environment, no permission to operate", + "systemUnknownError": "System unknown error, please report to the administrator" +} diff --git a/src/locale/i18n/en/wf.json b/src/locale/i18n/en/wf.json new file mode 100644 index 0000000..57e9368 --- /dev/null +++ b/src/locale/i18n/en/wf.json @@ -0,0 +1,310 @@ +{ + "run": "Run", + "viewJson": "View JSON", + "exportVueFile": "Export Vue File", + "copyCode": "Copy Code", + "dragOrSelectComponent": "Drag or select components from the left to design the form", + "selectGenerationType": "Select Generation Type", + "formName": "Form Name", + "enterFormName": "Please enter form name", + "inputComponent": "Input Component", + "selectComponent": "Select Component", + "layoutComponent": "Layout Component", + "codeCopiedToClipboard": "Code copied to clipboard, ready to paste.", + "codeCopyFailed": "Code copy failed", + "confirmClearAllComponents": "Are you sure you want to clear all components?", + "addForm": "Add Form", + "generationType": "Generation Type", + "fileName": "File Name", + "enterFileName": "Please enter file name", + "cancel": "Cancel", + "confirm": "Confirm", + "generationTypeCannotBeEmpty": "Generation type cannot be empty", + "page": "Page", + "popup": "Popup", + "resourceReference": "Resource Reference", + "refresh": "Refresh", + "close": "Close", + "jsFormatNotRecognized": "JS format not recognized, only modifications to the export default object content are supported", + "useExportDefault": "Please use export default", + "jsError": "JS Error: {err}", + "exportFile": "Export File", + "selectIcon": "Select Icon", + "enterIconName": "Please enter icon name", + "copyJson": "Copy JSON", + "exportJsonFile": "Export JSON File", + "jsonFormatErrorCheck": "JSON format error, please check", + "externalResourceReference": "External Resource Reference", + "enterCssOrJsResourcePath": "Please enter CSS or JS resource path", + "addOther": "Add Other", + "resourceAlreadyExists": "Resource already exists", + "componentProperties": "Component Properties", + "formProperties": "Form Properties", + "componentType": "Component Type", + "selectComponentType": "Please select component type", + "fieldName": "Field Name", + "enterFieldName": "Please enter field name", + "componentName": "Component Name", + "enterTitle": "Please enter title", + "placeholderHint": "Placeholder Hint", + "enterPlaceholderHint": "Please enter placeholder hint", + "startPlaceholder": "Start Placeholder", + "endPlaceholder": "End Placeholder", + "formGrid": "Form Grid", + "gridInterval": "Grid Interval", + "layoutMode": "Layout Mode", + "horizontalAlignment": "Horizontal Alignment", + "selectHorizontalAlignment": "Please select horizontal alignment", + "verticalAlignment": "Vertical Alignment", + "labelWidth": "Label Width", + "enterLabelWidth": "Please enter label width", + "componentWidth": "Component Width", + "enterComponentWidth": "Please enter component width", + "defaultValue": "Default Value", + "enterDefaultValue": "Please enter default value", + "atLeastSelect": "At least select", + "atMostSelect": "At most select", + "prefix": "Prefix", + "enterPrefix": "Please enter prefix", + "suffix": "Suffix", + "enterSuffix": "Please enter suffix", + "prefixIcon": "Prefix Icon", + "enterPrefixIconName": "Please enter prefix icon name", + "select": "Select", + "suffixIcon": "Suffix Icon", + "enterSuffixIconName": "Please enter suffix icon name", + "buttonIcon": "Button Icon", + "enterButtonIconName": "Please enter button icon name", + "optionDelimiter": "Option Delimiter", + "enterOptionDelimiter": "Please enter option delimiter", + "minRows": "Min Rows", + "maxRows": "Max Rows", + "minValue": "Min Value", + "maxValue": "Max Value", + "componentHeight": "Component Height", + "height": "Height", + "stepSize": "Step Size", + "stepCount": "Step Count", + "precision": "Precision", + "buttonPosition": "Button Position", + "default": "Default", + "rightSide": "Right Side", + "maxInput": "Max Input", + "enterCharacterLength": "Please enter character length", + "characters": "characters", + "enableHint": "Enable Hint", + "enterEnableHint": "Please enter enable hint", + "disableHint": "Disable Hint", + "enterDisableHint": "Please enter disable hint", + "enableValue": "Enable Value", + "enterEnableValue": "Please enter enable value", + "disableValue": "Disable Value", + "enterDisableValue": "Please enter disable value", + "timeType": "Time Type", + "selectTimeType": "Please select time type", + "fileFieldName": "File Field Name", + "enterFileFieldName": "Please enter file field name", + "fileType": "File Type", + "selectFileType": "Please select file type", + "image": "Image", + "video": "Video", + "audio": "Audio", + "fileSize": "File Size", + "enterFileSize": "Please enter file size", + "uploadUrl": "Upload URL", + "enterUploadUrl": "Please enter upload URL", + "listType": "List Type", + "buttonType": "Button Type", + "buttonText": "Button Text", + "enterButtonText": "Please enter button text", + "delimiter": "Delimiter", + "enterDelimiter": "Please enter delimiter", + "timeRange": "Time Range", + "enterTimeRange": "Please enter time range", + "enterTimeFormat": "Please enter time format", + "timeFormat": "Time Format", + "option": "Option", + "optionName": "Option Name", + "optionValue": "Option Value", + "addOption": "Add Option", + "dataType": "Data Type", + "dynamicData": "Dynamic Data", + "staticData": "Static Data", + "apiAddress": "API Address", + "enterApiAddress": "Please enter API address", + "dataPosition": "Data Position", + "enterLabelKeyName": "Please enter label key name", + "labelKeyName": "Label Key Name", + "enterValueKeyName": "Please enter value key name", + "valueKeyName": "Value Key Name", + "enterChildKeyName": "Please enter child key name", + "childKeyName": "Child Key Name", + "addParent": "Add Parent", + "button": "Button", + "enableColor": "Enable Color", + "disableColor": "Disable Color", + "showLabel": "Show Label", + "brandMark": "Brand Mark", + "allowHalfSelect": "Allow Half Select", + "assistText": "Assist Text", + "showScore": "Show Score", + "showBreakPoints": "Show Break Points", + "rangeSelection": "Range Selection", + "bordered": "Bordered", + "colorFormat": "Color Format", + "selectColorFormat": "Please select color format", + "componentSize": "Component Size", + "medium": "Medium", + "small": "Small", + "mini": "Mini", + "inputStatistics": "Input Statistics", + "strictSteps": "Strict Steps", + "optionalLevel": "Optional Level", + "multipleSelect": "Multiple Select", + "showFullPath": "Show Full Path", + "filterable": "Filterable", + "clearable": "Clearable", + "showHint": "Show Hint", + "multipleFileSelect": "Multiple File Select", + "autoUpload": "Auto Upload", + "readOnly": "Read Only", + "disabled": "Disabled", + "searchable": "Searchable", + "mandatory": "Mandatory", + "layoutTree": "Layout Tree", + "regexValidation": "Regex Validation", + "expression": "Expression", + "pleaseEnterRegex": "Please enter regex", + "errorMessage": "Error Message", + "pleaseEnterErrorMessage": "Please enter error message", + "addRule": "Add Rule", + "formName1": "Form Name", + "pleaseEnterFormName": "Please enter form name", + "formModel": "Form Model", + "pleaseEnterDataModel": "Please enter data model", + "validationModel": "Validation Model", + "pleaseEnterValidationModel": "Please enter validation model", + "formSize": "Form Size", + "labelAlignment": "Label Alignment", + "leftAlignment": "Left Alignment", + "rightAlignment": "Right Alignment", + "topAlignment": "Top Alignment", + "pleaseEnterLabelWidth": "Please enter label width", + "gridSpacing": "Grid Spacing", + "gridSpacingPlaceholder": "Grid Spacing", + "disableForm": "Disable Form", + "formButton": "Form Button", + "showUncheckedComponentBorder": "Show Unchecked Component Border", + "date": "Date", + "week": "Week", + "month": "Month", + "year": "Year", + "datetime": "Datetime", + "daterange": "Daterange", + "monthrange": "Monthrange", + "datetimerange": "Datetime Range", + "selectionComponent": "Selection Component", + "pleaseEnterOptionName": "Please enter option name", + "pleaseEnterOptionValue": "Please enter option value", + "string": "String", + "number": "Number", + "add": "Add", + "delete": "Delete", + "isMultipleChoice": "Is Multiple Choice", + "optionStyle": "Option Style", + "categoryName": "Category Name", + "pleaseEnterCategoryName": "Please enter category name", + "categoryCode": "Category Code", + "pleaseEnterCategoryCode": "Please enter category code", + "reset": "Reset", + "categoryNumber": "Category Number", + "remarks": "Remarks", + "categoryNameCannotBeEmpty": "Category name cannot be empty", + "categoryCodeCannotBeEmpty": "Category code cannot be empty", + "addCategoryProcess": "Add Category Process", + "editCategoryProcess": "Edit Category Process", + "addSuccess": "Added Successfully", + "confirmDeleteCategory": "Are you sure you want to delete the item with 【please enter function name】 ID {categoryIds}?", + "routeForm": "Route Form", + "formPrimaryKey": "Form Primary Key", + "formType": "Form Type", + "dynamicForm": "Dynamic Form", + "details": "Details", + "pleaseEnterRemarks": "Please enter remarks", + "routeComponent": "Route Component", + "formContent": "Form Content", + "formNameCannotBeEmpty": "Form name cannot be empty", + "formRouteCannotBeEmpty": "Form route cannot be empty", + "formDetails": "Form Details", + "areYouSureYouWantToClose": "Are you sure you want to close? Unsaved changes will be lost!", + "editForm": "Edit Form", + "confirmDeleteForm": "Are you sure you want to delete the item with form ID {formIds}?", + "modelId": "Model ID", + "pleaseEnterModelId": "Please enter model ID", + "modelName": "Model Name", + "pleaseEnterModelName": "Please enter model name", + "processCategory": "Process Category", + "modelVersion": "Model Version", + "design": "Design", + "deploy": "Deploy", + "more": "More", + "flowChart": "Flow Chart", + "history": "History", + "modelHistory": "Model History", + "setAsLatest": "Set as Latest", + "modelIdCannotBeEmpty": "Model ID cannot be empty", + "modelNameCannotBeEmpty": "Model name cannot be empty", + "pleaseSelectType": "Please select type", + "confirmSetAsLatestVersion": "Are you sure you want to set this version as the latest?", + "addProcessModel": "Add Process Model", + "editProcessModel": "Edit Process Model", + "processDesign": "Process Design - ", + "saveModelAsNewVersion": "Do you want to save this model as a new version?", + "confirmDeleteModel": "Are you sure you want to delete the model with ID {modelIds}?", + "bpmn20XmlFileImport": "bpmn20.xml File Import", + "processId": "Process ID", + "pleaseEnterProcessId": "Please enter process ID", + "processName": "Process Name", + "pleaseEnterProcessName": "Please enter process name", + "pleaseSelectStatus": "Please select status", + "activate": "Activate", + "suspend": "Suspend", + "processVersion": "Process Version", + "deploymentTime": "Deployment Time", + "versionManagement": "Version Management", + "confirmDeleteSelectedItems": "Are you sure you want to delete the selected items?", + "submissionTime": "Submission Time", + "startDate": "Start Date", + "endDate": "End Date", + "processNumber": "Process Number", + "processCategory1": "Process Category", + "currentNode": "Current Node", + "processStatus": "Process Status", + "elapsedTime": "Elapsed Time", + "reInitiate": "Re-initiate", + "processDetails": "Process Details", + "initiateProcess": "Initiate Process", + "confirmDeleteProcessDefinition": "Are you sure you want to delete the process definition with ID {ids}?", + "subject": "Subject", + "pleaseEnterSubject": "Please enter subject", + "receiveTime": "Receive Time", + "taskNumber": "Task Number", + "taskNode": "Task Node", + "processInitiator": "Process Initiator", + "addProcessDefinition": "Add Process Definition", + "process": "Process", + "sign": "Sign", + "approvalTime": "Approval Time", + "circulationRecord": "Circulation Record", + "revoke": "Revoke", + "initiator": "Initiator", + "pleaseEnterInitiator": "Please enter initiator", + "ccNumber": "CC Number", + "title": "Title", + "ccPrimaryKeyCannotBeEmpty": "CC primary key cannot be empty", + "processPrimaryKeyCannotBeEmpty": "Process primary key cannot be empty", + "processNameCannotBeEmpty": "Process name cannot be empty", + "processCategoryPrimaryKeyCannotBeEmpty": "Process category primary key cannot be empty", + "taskPrimaryKeyCannotBeEmpty": "Task primary key cannot be empty", + "userPrimaryKeyCannotBeEmpty": "User primary key cannot be empty" +} diff --git a/src/locale/i18n/zh/admin.json b/src/locale/i18n/zh/admin.json new file mode 100644 index 0000000..a439f73 --- /dev/null +++ b/src/locale/i18n/zh/admin.json @@ -0,0 +1,195 @@ +{ + "cache": "缓存", + "confirmDeletionById": "是否确认删除 ID 为 {clientId}", + "synchronizationSuccessful": "同步成功", + "modify": "修改", + "superiorDepartment": "上级部门", + "selectSuperiorMenu": "选择上级菜单", + "departmentName": "部门名称", + "enterMenuName": "请输入菜单名称", + "departmentCode": "部门代码", + "departmentLevel": "部门等级", + "departmentHead": "部门主管", + "departmentCodeCannotBeEmpty": "部门代码不能为空", + "departmentNameCannotBeEmpty": "部门名称不能为空", + "departmentOrderCannotBeEmpty": "部门顺序不能为空", + "rootDepartment": "根部门", + "enterDepartmentName": "请输入部门名称", + "add": "添加", + "creationTime": "创建时间", + "confirmDeletionWithName": "是否确认删除名称为 {name} 的数据项?", + "overwriteWarning": "此操作将覆盖现有系统部门人员数据,请做好数据备份, 是否继续?", + "operationSuccessful": "操作成功", + "execute": "执行", + "dictionaryItem": "字典项", + "dictionaryItemManagement": "字典项管理", + "confirmDeletionByDictType": "是否确认删除数据类型为 {dictType} 的数据项?", + "confirmDeletionByLabel": "是否确认删除数据为 {label} 的数据项?", + "deletionSuccessful": "删除成功", + "uploadSuccessful": "上传成功", + "export": "导出", + "batchDelete": "批量删除", + "confirmDeletionLogById": "是否确认删除ID为 {id} 的日志?", + "selectLogsToDelete": "请选择日志后进行删除", + "menuName": "菜单名称", + "icon": "图标", + "componentPath": "组件路径", + "type": "类型", + "leftMenu": "左菜单", + "topMenu": "顶菜单", + "button": "按钮", + "buffer": "缓冲", + "enabled": "开启", + "permissionIdentifier": "权限标识", + "menuType": "菜单类型", + "superiorMenu": "上级菜单", + "name": "名称", + "routeAddress": "路由地址", + "enterRouteAddress": "请输入路由地址", + "enterPermissionIdentifier": "请权限标识", + "routeCache": "路由缓冲", + "isDisplayed": "是否显示", + "openMethod": "打开方式", + "default": "默认", + "externalNewWindow": "外页新窗口", + "internalNewWindow": "内页新窗口", + "addRule": "新增规则", + "rule": "规则", + "menuNameCannotBeEmpty": "菜单名称不能为空", + "menuOrderCannotBeEmpty": "菜单顺序不能为空", + "routeAddressCannotBeEmpty": "路由地址不能为空", + "routeCacheCannotBeEmpty": "路由缓冲不能为空", + "permissionIdentifierCannotBeEmpty": "权限标识不能为空", + "superiorMenuCannotBeEmpty": "上级菜单不能为空", + "rootMenu": "根菜单", + "no": "否", + "yes": "是", + "refresh": "刷新", + "dataRefreshed": "资料已刷新", + "import": "导入", + "confirmDeletionWithPostName": "是否确认删除 {postName}", + "postInformationImport": "岗位信息导入", + "postInformationFile": "岗位信息.xlsx", + "edit": "编辑", + "permission": "权限", + "roleInformationImport": "角色信息导入", + "roleInformationFile": "角色信息.xlsx", + "parentRole": "父阶角色", + "roleIdentifier": "角色标识", + "roleName": "角色名称", + "roleDescription": "角色描述", + "creationSuccessful": "创建成功", + "routeConfigurationWarning": "路由配置是非常专业的事情,不建议非工程师操作", + "success": "成功", + "updateSuccessful": "更新成功", + "resendTenantInitializationCommand": "重新发送租户初始化指令", + "sendSuccessful": "发送成功", + "forceLogoutConfirm": "是否强制 {access_token} 下线?", + "forceLogoutSuccessful": "强制下线成功", + "noDataPermission": "无数据权限", + "selectDepartment": "请选择所属部门", + "selectRole": "请选择角色", + "selectPosition": "请选择岗位", + "enterPassword": "请输入密码", + "userInfoImport": "用户信息导入", + "confirmUserDeletion": "此操作将永久删除该用户(用户名: {username}), 是否继续?", + "deletionFailed": "删除失败", + "changeAvatar": "修改头像", + "personalInformation": "个人信息", + "username": "用户名", + "phoneNumber": "手机号", + "enterVerificationCodeToLogin": "请输入验证码登录使用", + "nickname": "昵称", + "realname": "姓名", + "enterNickname": "请输入昵称", + "enterName": "请输入姓名", + "email": "邮箱", + "enterEmail": "请输入邮箱", + "changePassword": "修改密码", + "oldPassword": "旧密码", + "enterOldPassword": "请输入旧密码", + "newPassword": "新密码", + "enterNewPassword": "请输入新密码", + "confirmPassword": "确认密码", + "reEnterNewPassword": "请输入新密码", + "passwordsNotMatching": "两次输入密码不一致", + "oldPasswordMinLength": "原密码不少于6位", + "newPasswordMinLength": "新密码不少于6位", + "enterClientId": "请输入clientId", + "secretKey": "密钥", + "enterClientSecret": "请输入clientSecret", + "domain": "域", + "enterScope": "请输入scope", + "automaticRelease": "自动放行", + "selectWhetherToRelease": "请选择是否放行", + "authorizationMode": "授权模式", + "enterAuthorizationMode": "请输入授权模式", + "tokenValidity": "令牌时效", + "unitSeconds": "单位秒", + "refreshValidity": "刷新时效", + "callbackAddress": "回调地址", + "permissions": "权限", + "extensionInformation": "扩展信息", + "jsonFormatData": "JSON格式数据", + "captchaSwitch": "验证码开关", + "frontendPasswordEncryption": "前端密码加密", + "concurrentOnlineNumber": "同时在线数量", + "securityAttributes": "安全属性", + "enterDictionaryDescription": "请输入字典描述", + "dictionaryType": "字典类型", + "enterDictionaryType": "请输入字典类型", + "remarkInformation": "备注信息", + "dataValue": "数据值", + "enterDataValue": "请输入数据值", + "tagName": "标签名", + "enterTagName": "请输入标签名", + "sortOrder": "排序", + "enterSortOrder": "请输入排序", + "title": "标题", + "ipAddress": "IP地址", + "client": "客户端", + "requestTime": "请求时间", + "positionName": "岗位名称", + "enterPositionName": "请输入岗位名称", + "positionIdentifier": "岗位标识", + "enterPositionIdentifier": "请输入岗位标识", + "positionDescription": "岗位描述", + "positionOrder": "岗位排序", + "roleNameCannotBeEmpty": "角色名称不能为空", + "lengthBetween3And20": "长度在 3 到 20 个字符", + "roleIdentifierCannotBeEmpty": "角色标识不能为空", + "lengthWithin128Characters": "长度在 128 个字符内", + "dataPermission": "数据权限", + "selectDataPermissionType": "请选择数据权限类型", + "all": "全部", + "currentAndSubLevel": "本级及子级", + "currentLevel": "本级", + "parentLevel": "父阶", + "enterName1": "请输入名称", + "length32Characters": "长度在 32 个字符", + "dameng": "达梦", + "configurationMethod": "配置方式", + "selectConfigurationMethod": "请选择配置方式", + "enterJdbcUrl": "请输入jdbcUrl", + "enterHostIp": "请输入主机 IP", + "length100Characters": "长度在 100 个字符", + "enterPort": "请输入端口", + "enterDatabaseName": "请输入数据库名称", + "tagLanguage": "标签名称语系", + "hisConfigTable": "归档表名", + "hisConfigChannel": "归档通道", + "hisConfigAddress": "归档地址", + "hisMonth": "数据保留月数", + "hisClearSql": "清表脚本SQL", + "aliyunIcon": "阿里云图标", + "wechatId": "微信号", + "wechatOfficialAccountSettingsNativeId": "公众号设置->最下边原生ID", + "enterWechatId": "请输入微信号", + "enterSecretKey": "请输入密钥", + "protocolDomain": "协议域名", + "inputInvalid": "输入不合法", + "enterToken": "请输入token", + "encryptionKey": "加密密钥", + "enterEncryptionKey": "请输入加密密钥", + "parentIdCannotBeEmpty": "上级菜单不能为空" +} diff --git a/src/locale/i18n/zh/common.json b/src/locale/i18n/zh/common.json new file mode 100644 index 0000000..f05feff --- /dev/null +++ b/src/locale/i18n/zh/common.json @@ -0,0 +1,44 @@ +{ + "condition": "条件", + "display": "显示", + "hide": "隐藏", + "prompt": "提示", + "description": "说明", + "main": "主要", + "label": { + "description": "说明:" + }, + "view": "查看", + "edit": "编辑", + "copy": "复制", + "delete": "删除", + "download": "下载", + "watch": "检视", + "new": "新增", + "insert": "插入", + "update": "更新", + "seq": "序号", + "primaryKey": "主键", + "parameter": "参数", + "confirm": "确定", + "cancel": "取消", + "alert": { + "warningTitle": "警告", + "confirmButton": "确定" + }, + "promptMessage": { + "title": "提示", + "error": "错误", + "yes": "是", + "no": "否" + }, + "colon": ":", + "date": "日期", + "quantity": "数量", + "no": "否", + "yes": "是", + "filter": "筛选", + "asc": "升幂排序", + "desc": "降幂排序", + "pleaseInput": "请先输入" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/crud.json b/src/locale/i18n/zh/crud.json new file mode 100644 index 0000000..0567cd6 --- /dev/null +++ b/src/locale/i18n/zh/crud.json @@ -0,0 +1,224 @@ +{ + "filter": { + "addBtn": "新增条件", + "clearBtn": "清空数据", + "resetBtn": "清空条件", + "cancelBtn": "取 消", + "submitBtn": "确 定", + "update": "更 新" + }, + "column": { + "name": "列名", + "hide": "隐藏", + "fixed": "冻结", + "filters": "过滤", + "sortable": "排序", + "index": "顺序", + "width": "宽度", + "label": { + "primaryKeyId": "主键ID", + "site": "站点", + "costCenter": "成本中心", + "description": "描述", + "status": "状态(Y:已启用,N:已禁用)", + "defaultLaborCostCode": "缺省人工费用代码", + "parentOrSummaryLaborCostCode": "父项/汇总人工费用代码", + "creationTime": "创建时间", + "modificationTime": "修改时间", + "creator": "创建人员", + "updater": "更新人员", + "serialNumber": "序列号", + "tableNameCustomDataType": "表名(自定义数据类别)", + "dataField": "数据字段", + "fieldLabel": "字段标签", + "mandatory": "是否必须", + "updateDate": "更新日期", + "fastCodeNumber": "快码编号", + "modifier": "修改人员", + "retain": "保留", + "copy": "复制", + "move": "移动", + "fault": "故障", + "defect": "缺陷", + "repair": "修复", + "enterComment": "输入注释", + "component": "组件", + "none": "无", + "printedCircuitAnalysis": "印刷电路分析", + "simple": "简单", + "subStepBypass": "子步骤绕过", + "open": "打开", + "closed": "已关闭", + "both": "两者", + "low": "低", + "medium": "中", + "high": "高", + "operation": "操作", + "version": "版本", + "currentVersion": "当前版本", + "status1": "状态", + "resourceType": "资源类型", + "defaultResource": "缺省资源", + "workCenter": "工作中心", + "erpOperation": "ERP工序", + "erpWorkCenter": "ERP工作中心", + "effectiveDate": "生效日期", + "expirationDate": "失效日期", + "certification": "证明", + "printer": "打印机", + "dateType": "日期类型", + "dateTypePrimaryKeyId": "日期类型主键ID", + "shift": "班次", + "start": "开始", + "dayActualOrBooked": "天(S:实际日期,Y:预订日期)", + "end": "结束", + "workOrderNumber": "工单编号", + "workOrderType": "工单类型", + "workOrderStatus": "工单状态", + "reservationFlag": "保留标识", + "priority": "优先级", + "plannedWorkCenter": "计划工作中心", + "plannedMaterial": "计划物料", + "plannedMaterialList": "计划物料清单", + "plannedProcessRoute": "计划工艺路线", + "workOrderQuantity": "工单数量", + "issuedQuantity": "已下达数量", + "plannedStartDate": "计划开始日期", + "plannedCompletionDate": "计划完成日期", + "productionQuantity": "生产数量", + "availableQuantity": "可下达数量", + "pendingQuantity": "待下达数量", + "workOrder": "工单", + "quantity": "数量", + "firstLastProductionBatch": "第一个/最后一个生产批", + "material": "物料", + "processRoute": "工艺路线", + "storageLocationCode": "库位编码", + "storageLocationDescription": "库位描述", + "storageLocationType": "库位类型", + "responsiblePerson": "责任人", + "storageLocationStatus": "库位状态", + "isFifo": "是否先进先出", + "storageSiteCode": "存储地点编码", + "erpShift": "ERP班次", + "availableForWorkCenter": "可下达到此工作中心", + "processRouteVersion": "工艺路线版本", + "workCenterCategory": "工作中心类别", + "workCenterType": "工作中心类型", + "isErpWorkCenter": "是否ERP工作中心", + "sequence": "顺序", + "equipmentType": "设备类型", + "usableMainEquipment": "可使用主设备", + "toolNumberDescription": "工具编号说明", + "toolCategory": "工具类別", + "toolCategoryDescription": "工具类別说明", + "toolManufacturer": "工具厂商", + "assetNumber": "资产编号", + "equipmentCategory": "设备类別", + "equipmentCategoryDescription": "设备类別说明", + "equipmentMajorCategory": "设备大类", + "limitBatchNumber": "限制批数", + "limitBatchQuantity": "限制批量", + "equipmentMajorCategoryDescription": "设备大类说明", + "image": "图片", + "imagePreview": "图片预览", + "imageType": "图片类型", + "productionPoint": "生产点", + "attachmentUpload": "附件上传", + "attachmentUploadingPleaseWait": "附件上传中,请稍等", + "uploadSyncToFileServer": "上传同步至文件服务器", + "space": "空间", + "fileName": "文件名", + "originalFileName": "原文件名", + "fileType": "文件类型", + "fileSize": "文件大小", + "uploader": "上传人", + "name": "名称", + "enterName": "请输名称", + "lengthWithin30Characters": "长度在 30 个字符", + "key": "键", + "enterKey": "请输入键", + "value": "值", + "enterValue": "请输入值", + "code": "编码", + "selectCategory": "请选择类别", + "selectType": "请选择类型", + "enterAppId": "请输入appId", + "enterAppSecret": "请输入appSecret", + "callbackAddress": "回调地址", + "extraField": "扩展字段", + "tenantId": "租户id", + "tenantName": "租户名称", + "enterTenantName": "请输入租户名称", + "lengthBetween3And32Characters": "长度在 3 到 32 个字符", + "tenantNumber": "租户编号", + "enterTenantNumber": "请输入租户编号", + "tenantDomain": "租户域名", + "enterTenantDomain": "请输入租户域名", + "startTime": "开始时间", + "enterEndTime": "请输入结束时间", + "endTime": "结束时间", + "userId": "用户ID", + "username": "用户名", + "client": "客户端", + "token": "令牌", + "type": "类型", + "expirationTime": "过期时间", + "enterUsername": "请输入用户名", + "password": "密码", + "lengthBetween6And20Characters": "长度在 6 到 20 个字符", + "enterRealName": "请输入姓名", + "lengthBetween2And64Characters": "长度在 2 到 64 个字符", + "affiliatedDepartment": "所属部门", + "selectDepartment": "请选择部门", + "position": "岗位", + "selectPosition": "请选择岗位", + "role": "角色", + "selectRole": "请选择角色", + "selectStatus": "请选择状态", + "valid": "有效", + "locked": "锁定", + "nickname": "昵称", + "enterNickname": "请输入昵称", + "email": "邮箱", + "enterEmail": "请输入邮箱", + "enterToolCategoryNumber": "请输入工具类别编号", + "enterToolCategory": "请输入工具类别", + "selectWorkCenterCategory": "请选择工作中心类别", + "selectWorkCenterType": "请选择工作中心类型", + "enterSequence": "请输入顺序", + "factoryNumberMustBeFilled": "工厂编号必须填写", + "forceChangePassword": "强制修改密码", + "forceChangePasswordInfo": "选择首次登陆是否强制修改密码" + } + }, + "tipStartTitle": "当前表格已选择", + "tipEndTitle": "项", + "editTitle": "编 辑", + "copyTitle": "复 制", + "addTitle": "新 增", + "viewTitle": "查 看", + "filterTitle": "过滤条件", + "showTitle": "列显隐", + "menu": "操作", + "addBtn": "增 加", + "show": "显 示", + "hide": "隐 藏", + "open": "展 开", + "shrink": "收 缩", + "printBtn": "打 印", + "excelBtn": "导 出", + "updateBtn": "修 改", + "cancelBtn": "取 消", + "searchBtn": "搜 索", + "emptyBtn": "清 空", + "menuBtn": "功 能", + "saveBtn": "保 存", + "viewBtn": "查 看", + "editBtn": "编 辑", + "copyBtn": "复 制", + "delBtn": "删 除", + "closeBtn": "关 闭", + "detailAdd": "明细新增", + "finished": "完成" +} diff --git a/src/locale/i18n/zh/date.json b/src/locale/i18n/zh/date.json new file mode 100644 index 0000000..f5870ff --- /dev/null +++ b/src/locale/i18n/zh/date.json @@ -0,0 +1,8 @@ +{ + "start": "开始日期", + "end": "结束日期", + "t": "今日", + "y": "昨日", + "n": "近7天", + "a": "全部" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/el.json b/src/locale/i18n/zh/el.json new file mode 100644 index 0000000..afef67e --- /dev/null +++ b/src/locale/i18n/zh/el.json @@ -0,0 +1,141 @@ +{ + "button": { + "save": "保存", + "cancel": "取消", + "add": "新增", + "close": "关闭", + "saveAndContinue": "保存后继续" + }, + "colorpicker": { + "confirm": "确定", + "clear": "清空" + }, + "datepicker": { + "now": "此刻", + "today": "今天", + "cancel": "取消", + "clear": "清空", + "confirm": "确定", + "selectDate": "选择日期", + "selectTime": "选择时间", + "startDate": "开始日期", + "startTime": "开始时间", + "endDate": "结束日期", + "endTime": "结束时间", + "prevYear": "前一年", + "nextYear": "后一年", + "prevMonth": "上个月", + "nextMonth": "下个月", + "year": "年", + "month1": "1 月", + "month2": "2 月", + "month3": "3 月", + "month4": "4 月", + "month5": "5 月", + "month6": "6 月", + "month7": "7 月", + "month8": "8 月", + "month9": "9 月", + "month10": "10 月", + "month11": "11 月", + "month12": "12 月", + "week": "星期", + "weeks": { + "sun": "日", + "mon": "一", + "tue": "二", + "wed": "三", + "thu": "四", + "fri": "五", + "sat": "六" + }, + "months": { + "jan": "一月", + "feb": "二月", + "mar": "三月", + "apr": "四月", + "may": "五月", + "jun": "六月", + "jul": "七月", + "aug": "八月", + "sep": "九月", + "oct": "十月", + "nov": "十一月", + "dec": "十二月" + } + }, + "tabs": { + "main": "主要" + }, + "select": { + "loading": "加载中", + "noMatch": "无匹配数据", + "noData": "无数据", + "placeholder": "请选择" + }, + "cascader": { + "noMatch": "无匹配数据", + "loading": "加载中", + "placeholder": "请选择", + "noData": "暂无数据" + }, + "pagination": { + "goto": "前往", + "pagesize": "条/页", + "total": "共 {total} 条", + "pageClassifier": "页" + }, + "messagebox": { + "title": "提示", + "confirm": "确定", + "cancel": "取消", + "error": "输入的数据不合法!", + "deleteSuccess": "删除成功", + "saveSuccess": "保存成功" + }, + "upload": { + "deleteTip": "按 delete 键可删除", + "delete": "删除", + "preview": "查看图片", + "continue": "继续上传" + }, + "table": { + "emptyText": "暂无数据", + "confirmFilter": "筛选", + "resetFilter": "重置", + "clearFilter": "全部", + "sumText": "合计", + "index": "序号" + }, + "tree": { + "emptyText": "暂无数据" + }, + "transfer": { + "noMatch": "无匹配数据", + "noData": "无数据", + "titles": [ + "列表 1", + "列表 2" + ], + "filterPlaceholder": "请输入搜索内容", + "noCheckedFormat": "共 {total} 项", + "hasCheckedFormat": "已选 {checked}/{total} 项" + }, + "image": { + "error": "加载失败" + }, + "pageHeader": { + "title": "返回" + }, + "popconfirm": { + "confirmButtonText": "确定", + "cancelButtonText": "取消" + }, + "empty": { + "description": "暂无数据" + }, + "radio": { + "useOriginalBatchNumber": "沿用原批号", + "generateNewBatchNumber": "产生新批号" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh/form.json b/src/locale/i18n/zh/form.json new file mode 100644 index 0000000..e1f102f --- /dev/null +++ b/src/locale/i18n/zh/form.json @@ -0,0 +1,6 @@ +{ + "printBtn": "打 印", + "mockBtn": "模 拟", + "submitBtn": "提 交", + "emptyBtn": "清 空" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/gen.json b/src/locale/i18n/zh/gen.json new file mode 100644 index 0000000..e1c2508 --- /dev/null +++ b/src/locale/i18n/zh/gen.json @@ -0,0 +1,19 @@ +{ + "tableName": "表名称", + "tableComment": "表注释", + "Comment": "注释", + "packageName": "包名", + "canBeNullLoadDefaultConfig": "可为空,加载系统默认配置", + "author": "作者", + "module": "模块", + "submodule": "子模块", + "mainColumnProperties": "主栏位属性", + "tablePrefix": "表前缀", + "frontendStyle": "前端风格", + "fieldName": "字段名", + "fieldType": "字段类型", + "javaType": "JAVA类型", + "canBeNullDefaultSameAsTableName": "可为空,默认和表名相同", + "canBeNullLoadTableComment": "可为空,加载表备注", + "formInformation": "表单信息" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/iep.json b/src/locale/i18n/zh/iep.json new file mode 100644 index 0000000..202a523 --- /dev/null +++ b/src/locale/i18n/zh/iep.json @@ -0,0 +1,3 @@ +{ + "iep": "IE-PLANT 制造执行系统" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/language.json b/src/locale/i18n/zh/language.json new file mode 100644 index 0000000..5634621 --- /dev/null +++ b/src/locale/i18n/zh/language.json @@ -0,0 +1,5 @@ +{ + "languageEmpty": "请输入语系", + "languageRepeat": "语系不可重复", + "nameEmpty": "请输入描述" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/menu.json b/src/locale/i18n/zh/menu.json new file mode 100644 index 0000000..6d8fe70 --- /dev/null +++ b/src/locale/i18n/zh/menu.json @@ -0,0 +1,7 @@ +{ + "languageTitle": "菜单名称语系", + "languageAdd": "新增语系", + "local": "语系", + "menu": "菜单名称", + "menuEmpty": "请输入菜单名称" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/abn.json b/src/locale/i18n/zh/mes/abn.json new file mode 100644 index 0000000..7eff1d7 --- /dev/null +++ b/src/locale/i18n/zh/mes/abn.json @@ -0,0 +1,208 @@ +{ + "titleAdd": "第一处理单位-新增", + "titleEdit": "第一处理单位-编辑", + "titleView": "第一处理单位-查看", + "labelProductType": "产品别", + "labelProcessType": "制程别", + "labelFPUnit": "第一处理单位", + "confirmDelPdType": "是否确认删除产品别:", + "tableObj": { + "search": { + "abnType": "异常类型", + "description": "异常说明", + "currentResponsible": "当前处置单位", + "releasers": "结单人员", + "newDateRelease": "结单时间" + }, + "detail": { + "futureHoldOperation": "未来扣留工序", + "newTriggerTime": "扣留时机", + "creator": "新增人员", + "creatorName": "新增人员名称", + "dateCreate": "新增时间" + }, + "abnDetail": { + "router": "途程/版本", + "operation": "当前工序", + "dispMethod": "处置方式", + "dispUser": "处置人员", + "dispDateTime": "处置时间" + } + }, + "roleDialogObj": { + "roleCode": "角色标示", + "roleName": "角色名称", + "roleDesc": "角色描述" + }, + "mainRules": { + "abnType": "请输入异常类型", + "operation": "请输入发生工序", + "reasonCode": "请输入异常原因", + "reasonCodeDesc": "请输入异常说明" + }, + "tableOption": { + "roleDesc": "单位说明", + "dateCreate": "创建日期", + "dateUpdate": "更新日期", + "creator": "创建人员", + "updater": "更新人员", + "site": "生产点" + }, + "abnStatus": "异常单状态", + "abnNo": "异常单号", + "enterProductType": "请输入产品别", + "enterProcessType": "请输入制程别", + "transferNext": "转下一个处置单位", + "lotStateQty": "目前数量", + "labelCreateABN": "建立异常单", + "labelHandleABN": "异常单处置", + "handleABNDetail": "异常单明细", + "create": "建立", + "removeFromABN": "自异常单移除", + "transferOperation": "转移工序", + "transferProcedure": "转移流程", + "nonConformingGoods": "不良入库", + "splitDone": "分批结束", + "batchDone": "併批结束", + "fixAmount": "数量调整", + "transferHold": "转立即扣留", + "routerCode": "途程编号", + "status": { + "dismiss": "解除" + }, + "work": { + "holdInTime": "立即扣留", + "holdLater": "未来扣留" + }, + "trigger": { + "before": "进站前", + "after": "出站后" + }, + "addAttach": "新增附件及明细", + "dispHold": "扣留批处置", + "CPUser": "CP客户指示", + "noTransfer": "不转单位", + "dismissIncident": "解除异常单", + "dismissCPMessage": "异常单『{abnNo}』已解除,不可执行CP客户指示", + "whetherClearAll": "是否要清空画面的所有讯息", + "productTypeNotEmpty": "产品别不可为空", + "processTypeNotEmpty": "製程别不可为空", + "FPUnitNotEmpty": "第一处理单位不可为空", + "totalFileSize": "当前总档案大小", + "confirmCancelAttach": "是否确定取消新增附件?", + "addOrRemoveAttach": "请新增或移除附件", + "fileTotalNotOver100M": "所有档案加总大小要小于100M", + "ABNAttachSaveSuccess": "异常单附件保存成功", + "confirmToCancelDetail": "是否确定取消新增明细?", + "confirmToRemoveLotNo": "是否确定移除Lot No: {lotNo}", + "createABNObject": "请新增开单对象", + "ABNDetailSaveSuccess": "异常单明细保存成功", + "ABNObject": "开单对象", + "clearText": "清除", + "resrceUsingTime": "设备使用时间", + "keyInRequirements": "请输入检索条件", + "keyInResrceUsingTime": "请输入设备使用时间", + "resrceStartDateNotOverEnd": "设备使用时间起始时间不可大于结束时间", + "resrceUsingTimeNotOverMonth": "设备使用时间范围不可超过一个月", + "futureHoldOperationNotEmpty": "Lot No:{lotNo}未来扣留工序不可为空", + "itemNotExist": "产品编号:『{item}』,版本:『{itemRevision}』不存在", + "currentItemNotExist": "产品编号:『{item}』, 目前版本不存在", + "ABNCreatedSuccess": "异常单建立成功", + "confirmToCancelABN": "是否确定取消建立异常单?", + "decidedBypartNo": "依片号决定", + "cancelABNInDirect": "直接解除异常状态", + "keepHoldABNStatus": "继续扣留异常状态", + "markingNo": "刻号", + "partNo": "片号", + "processingMethod": "处理方式", + "keepHold": "继续HOLD", + "keepGo": "续GO", + "HoldAfterRT": "RT后HOLD", + "userInstructionDesc": "客户指示说明", + "selectProcessingMethod": "请选择处理方式", + "ProMethodHasNotChosen": "{Msg}未选择处理方式", + "Process8D": "8D处置", + "d1TeamComposition": "D1.团队组成", + "d5PermanentSolution": "D5.永久性对策", + "d2ProblemDesc": "D2.问题描述", + "d6EffectConfirm": "D6.效果确认", + "d3TempSolution": "D3.暂时对策", + "d7preventRecurrence": "D7.再防发生", + "d4ExactReason": "D4.问题真因", + "d8TeamRewarding": "D8.奖励团队", + "dispDesc": "处置说明", + "nextUnit": "下一个处置单位", + "inputDispMethod": "请输入处置方式", + "selectNextUnit": "请选择下一个处置单位", + "inputLotNo": "刷入Lot No:", + "total": "总数量", + "totalQty": "总片数", + "totalDie": "总Die数", + "batchLotNo": "併批 Lot No", + "lotNoNotExist": "刷入Lot No:『{inputLotNo}』不存在,请重新输入", + "lotNoBatchCheckRequired": "请勾选需併批的Lot No", + "confirmBatch": "是否确定併批?", + "batchSuccess": "併批成功", + "binDieNotEqualZero": "Good Bin Die 数调整后不可等于0", + "catDieNotEqualZero": "Good CAT Die 数调整后不可等于0", + "amountEqualDie": "调整后的数量必须等于总Die数", + "confirmAdjustAmount": "是否确定调整数量?", + "amountAdjustSuccess": "数量调整成功", + "enterStationAmount": "进站数量", + "nonCoformingReason": "不良原因", + "drawBackReason": "缺点原因", + "noAdjustQtyOfNonComforming": "没有可调整数量的不合格讯息", + "nonConformingNotThanEntrance": "不良数量不可大于LOT进站数量", + "split": "分批", + "currentAmount": "当前数量", + "subBatchNo": "子批批号", + "selectedQty": "已挑片数", + "batchNumberNotEmpty": "批数不可为空", + "confirmSplit": "是否确定分批?", + "splitSuccess": "分批成功", + "subBatchAmount": "子批批量", + "subBatchNotEmpty": "子批批号不可为空", + "splitTotalEqualLotNo": "分批总数量必须等于Lot No『{lotNo}』的数量", + "batch": "併批", + "detailDispDesc": "明细处置说明", + "inputSelectDispMethod": "请输入选择处置方式", + "nonCoforming": "不良", + "drawback": "缺点", + "low": "低", + "middle": "中", + "high": "高", + "adjustBINAmount": "BIN数量调整", + "adjustCATAmount": "CAT数量调整", + "fixNormalHoldBatchQty": "一般扣留批数量调整", + "waferHoldBatch": "Wafer扣留批併批次工作", + "dieHoldBatch": "Die扣留批併批次工作", + "normalHoldBatch": "一般扣留批併批次工作", + "waferHoldSplit": "Wafer扣留批分批次工作", + "DieHoldSplit": "Die扣留批分批次工作", + "normalHoldSplit": "一般扣留批分批次工作", + "checkHoldBatch": "请勾选扣留批", + "selectDisposeMethod": "请选择处置方式", + "selectTransferOperation": "请选择转移工序", + "selectTransferProcedure": "请选择转移流程", + "selectNonConforming": "请选择不良入库", + "selectConforming": "请选择良品入库", + "selectedHoldDispSuccess": "所选择的扣留批处置成功", + "IQCABNAttach": "IQC异常单附件", + "receivingDetailIQC": "收料明细-IQC", + "receivingDetailEdit": "收料明细-编辑", + "inspReportNo": "检验单号", + "supplierNo": "供应商编号", + "purchaseDate": "採购日期", + "receivingOrderStatus": "收料单状态", + "IQCABNView": "IQC异常单检视", + "IQCABNDispose": "IQC异常单处置", + "ABNDismissCannotAdd": "异常单『{abnNo}』已解除,不可执行新增附件或明细", + "ABNDismissCannotDisp": "异常单『{abnNo}』已解除,不可执行异常单处置", + "supplierName": "供应商名称", + "supplier": "供应商", + "purchaseNo": "採购单号", + "inputABNCreateDate": "请输入开单日期(起)", + "inputABNEndDate": "请输入开单日期(迄)", + "startDateNotLaterThanEnd": "开单日期起始时间不可大于结束时间", + "enterFirstFourDigits": "请输入{label}前四码" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/alm.json b/src/locale/i18n/zh/mes/alm.json new file mode 100644 index 0000000..73aee44 --- /dev/null +++ b/src/locale/i18n/zh/mes/alm.json @@ -0,0 +1,116 @@ +{ + "almGroupNo": "警报群组编号", + "almGroupName": "警报群组名称", + "almGroupDesc": "警报群组说明", + "parentTierGroup": "父阶群组", + "inputAgentNo": "请输入代理人编号", + "inputAgentName": "请输入代理人名称", + "selectAgentType": "请选择代理人类型", + "almGroupAddText": "警报群组-新增", + "almGroupViewText": "警报群组-查看", + "almGroupEditText": "警报群组-编辑", + "confirmDelAlmGroup": "是否确认删除警报群组", + "memberTypeId": "成员类型", + "sendType": "发送类型", + "memberNo": "成员编号", + "selectMemberType": "请选择成员类型", + "selectMemberNo": "请选择成员编号", + "selectSendType": "请选择发送类型", + "almMemberAdd": "警报成员-新增", + "almMemberView": "警报成员-查看", + "almMemberEdit": "警报成员-编辑", + "confirmDelIdTypeMember": "是否确认删除: 群组编号[{groupId}]、成员类型[{memberTypeId}]、成员[{memberId}]", + "site": "网站", + "agentId": "代理人编号", + "agentName": "代理人名称", + "token": "令牌", + "sendLimitPerMinute": "发送次数限制(每分钟)", + "communicationAgentAdd": "通讯代理人-新增", + "communicationAgentView": "通讯代理人-查看", + "communicationAgentEdit": "通讯代理人-编辑", + "confirmDeleteCommunicationAgent": "是否确认删除通讯代理人: {botId}", + "site1": "站點", + "agentDescription": "代理人說明", + "agentType": "代理人類型", + "ipcActivemqNameReserved": "IPC ACTIVEMQ NAME(保留)", + "apiId": "API編號", + "creator": "創建人", + "creationTime": "創建時間", + "modificationTime": "修改時間", + "modifier": "修改人", + "communicationAgent": "通讯代理人", + "chatRoomName": "聊天室名称", + "chatRoomId": "聊天室编号", + "channelId": "通道编号", + "channelName": "通道名称", + "selectChatRoomName": "请选择聊天室名称", + "enterChatRoomId": "请输入聊天室编号", + "enterChannelName": "请输入通道名称", + "enterChannelId": "请输入通道编号", + "chatRoomAdd": "聊天室-新增", + "chatRoomView": "聊天室-查看", + "chatRoomEdit": "聊天室-编辑", + "confirmDeleteChatRoomChannel": "是否确认删除聊天室通道: [ {accessId } ]", + "callbackUrlReserved": "回調 URL(保留)", + "dataCreationTime": "资料新增时间", + "dataCreator": "资料新增人员", + "dataLastModificationTime": "资料最后修改时间", + "dataLastModifier": "资料最后修改人员", + "alarmGroup": "警报群组", + "messageLevel": "讯息等级", + "directMessageTransmission": "收讯直接传送", + "trackingCount": "追踪次数", + "trackingIntervalMinutes": "追踪间隔(分钟)", + "notifyUpperGroup": "是否通知上层群组", + "notifyUpperGroupAfterTrackingCount": "追踪几次后通知上层群组", + "messageTitle": "讯息标题", + "messageLevelCannotBeEmpty": "讯息等级不能为空", + "directMessageTransmissionCannotBeEmpty": "收讯直接传送不能为空", + "notifyUpperGroupCannotBeEmpty": "是否通知上层群组不能为空", + "trackingCountRangeError": "「追踪次数」资料必须要介于[-1]~[999]!!", + "trackingIntervalRangeError": "「追踪间隔(分钟)」资料必须要介于[1]~[1440]!!", + "notifyUpperGroupAfterTrackingCountRangeError": "「追踪几次后通知上层群组」资料必须要介于[1]~[99]!!", + "alarmEventAdd": "警报事件-新增", + "alarmEventView": "警报事件-查看", + "alarmEventEdit": "警报事件-编辑", + "confirmDeleteAlarmEvent": "是否确认删除警报事件: {eventId}", + "driverType": "驱动类型", + "pointLocation": "点位", + "writeValue": "写入值", + "enterDeviceName": "请输入设备名称", + "selectDriverType": "请选择驱动类型", + "enterPort": "请输入Port", + "enterArea": "请输入区域", + "enterPointLocation": "请输入点位", + "enterWriteValue": "请输入写入值", + "alarmDeviceAdd": "警报设备-新增", + "alarmDeviceView": "警报设备-查看", + "alarmDeviceEdit": "警报设备-编辑", + "confirmDeleteAlarmDevice": "是否确认删除警报设备: {equipmentId}", + "enterIpAddress": "请输入IP地址!!", + "ipAddressFormatError": "IP地址格式错误!!", + "parameterName": "参数名称", + "noDataToSave": "没有要保存的数据", + "syncAllUsers": "同步所有用户", + "enterId": "请输入编号", + "enterFullName": "请输入全名", + "userAdd": "用户-新增", + "userView": "用户-查看", + "userEdit": "用户-编辑", + "emailFormatError": "电子邮件格式错误", + "confirmDeleteId": "是否确认删除编号: {id}", + "event": "事件", + "messageContent": "信息内容", + "selectFile": "选取文件", + "previewMessage": "预览信息", + "sendMessage": "发送信息", + "enterMessageContent": "请输入信息内容", + "selectEvent": "请选择事件", + "confirmCloseTracking": "是否确认关闭追踪: {reqId}", + "closeSuccessful": "关闭成功", + "messageId": "讯息编号", + "transmissionCount": "传送次数", + "messageContent1": "讯息内容", + "trackingResult": "追踪结果", + "trackingInProgress": "追踪中" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/bpr.json b/src/locale/i18n/zh/mes/bpr.json new file mode 100644 index 0000000..6b225c8 --- /dev/null +++ b/src/locale/i18n/zh/mes/bpr.json @@ -0,0 +1,28 @@ +{ + "timeOnDuty": "上岗时间", + "selectDateTime": "请选择日期时间", + "inputDutyTime": "请输入上岗时间", + "startDutyTimeNotLaterEnd": "上岗开始时间不可大于结束时间", + "dutyTimeNotOverMonth": "上岗开始时间到结束时间不可超过一个月", + "confirmUserOffDuty": "是否确定要将此用户下岗?", + "onDutySuccess": "上岗成功", + "offDutySuccess": "下岗成功", + "onDuty": "上岗", + "offDuty": "下岗", + "userNoNotExist": "用户编号『{userNo}』不存在", + "checkOffDutyResrce": "请勾选要下岗的设备", + "confirmOffDuty": "是否确认下岗", + "ruleUserNo": "请输入用户", + "toolNoDesc": "工具说明", + "triggerDateCreate": "上机时间", + "machineStartUp": "上机", + "machineShutDown": "下机", + "startUpSuccess": "上机成功", + "checkShutDownTool": "请勾选要下机的工具", + "confirmShutDown": "是否确认下机", + "shutdownSuccess": "下机成功", + "ruleTool": "请输入工具", + "tool": "工具", + "batchNumber": "批次号码", + "supplierBatch": "供应商批次" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/cal.json b/src/locale/i18n/zh/mes/cal.json new file mode 100644 index 0000000..39c113f --- /dev/null +++ b/src/locale/i18n/zh/mes/cal.json @@ -0,0 +1,12 @@ +{ + "instrumentGroupAdd": "仪器群组-新增", + "instrumentGroupView": "仪器群组-检视", + "instrumentGroupEdit": "仪器群组-编辑", + "availableInstrumentEquipment": "可用仪器设备", + "assignedInstrumentEquipment": "已指派仪器设备", + "enterGroupNumber": "请输入群组编号", + "enterGroupName": "请输入群组名称", + "confirmDeleteGroupNumber": "是否确认删除群组编号为 {groupNo} 的仪器群组", + "confirmToRemoveSelectedInspectionPlan": "是否确定移除所勾选的检验计划", + "selectRowToDelete": "请选择要删除的行" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/customValidation.json b/src/locale/i18n/zh/mes/customValidation.json new file mode 100644 index 0000000..afce853 --- /dev/null +++ b/src/locale/i18n/zh/mes/customValidation.json @@ -0,0 +1,15 @@ +{ + "clientAlreadyExists": "用户端已存在", + "duplicateDictionaryExists": "同名字典已存在", + "sortCannotBeNegative": "排序不能为负数", + "duplicateRoleIdentifierExists": "同名角色标识已存在", + "enterUppercaseLettersAndUnderscores": "请输入大写英文、底线", + "enterChineseEnglishNumberUnderscore": "请输入中文、英文、数位包括底线", + "paramKeyAlreadyExists": "参数键已经存在", + "thisTypeOfKeyAlreadyExists": "此类型金钥已存在", + "duplicateTenantIdentifierExists": "同名租户标识已存在", + "domainAlreadyExists": "功能变数名称已存在", + "usernameSupportsLowercaseLettersNumbersChinese": "用户名支援小写英文、数位、中文", + "usernameAlreadyExists": "用户名已经存在", + "dataSourceNameInvalidFormat": "资料来源名称不合法, 组名_资料来源名形式" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/ecn.json b/src/locale/i18n/zh/mes/ecn.json new file mode 100644 index 0000000..9c03553 --- /dev/null +++ b/src/locale/i18n/zh/mes/ecn.json @@ -0,0 +1,63 @@ +{ + "ecnStatus": "工程变更状态", + "ecnNo": "工程变更单号", + "viewChange": "范围", + "selectChangeType": "请选择变更类型", + "validityPeriod": "有效期限", + "orderUnissued": "工单未下达数", + "stock": "库存", + "enabled": "已启用", + "invalid": "已失效", + "validationDate": "生效日期", + "invalidationDate": "失效日期", + "onlinePrdBatch": "指定线上生产批", + "currentRouter": "目前途程", + "routerDesc": "途程说明", + "operatioinParam": "工序参数", + "paramNo": "参数编号", + "paramDesc": "参数说明", + "originalParam": "原参数值", + "newParam": "新参数值", + "originalOperationDesc": "原工序说明", + "newOperationDesc": "变更工序说明", + "operationDescAfterChange": "变更后工序说明", + "mainFormula": "主配方", + "newFormula": "变更配方", + "routerNo": "原途程编号", + "newRouterNo": "变更途程编号", + "originalBOMNo": "原BOM编号", + "newBOMNo": "变更BOM编号", + "prdBatch": "生产批次", + "ruleEngChangeType": "请输入工程变更单类型", + "ruleUserNo": "请输入客户编号", + "ecn": "工程变更单", + "param": "参数", + "keepOriginalBatchNo": "保留原批号", + "newBatchNo": "新批号", + "shopOrderNotExist": "{shopOrder}工单不存在", + "ecnView": "工程变更单-查看", + "ecnCreate": "工程变更单-建立", + "object": "对象", + "ecnEdit": "工程变更单-编辑", + "engineeringChangeOrderChangeScope": "工程变更单-变更范围", + "atLeastOne": "请至少填写一项", + "operateSuccess": "操作成功", + "whetherStatus": "该行是否{statusDesc}?", + "newRouterNotEqual": "选择的新途程不能与原途程相同", + "newBOMNotEqual": "选择的新BOM不能与原BOM相同", + "operationNotEmpty": "行工序不可为空", + "atLeastOnePrdBatch": "至少选择一笔生产批", + "partNoNotEqual": "选择的生产批与已指定生产批的产品料号不一致", + "inputOperationNo": "请输入工序编号", + "inputChangeOperationDesc": "请输入变更工序说明", + "operationExist": "已存在工序{operation}", + "confirmDelSerial": "是否确认删除序号: {Msg}", + "receiptAmount": "收料数量", + "unfinishedOperation": "在制", + "finishedPrd": "成品", + "EcnChangeScope": "工程变更-变更范围", + "inTransfer": "调拨中", + "inMaterialIssuing": "发料中", + "awaitingStorage": "待入库", + "inReturnStorage": "退库中" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/hrs.json b/src/locale/i18n/zh/mes/hrs.json new file mode 100644 index 0000000..4070f01 --- /dev/null +++ b/src/locale/i18n/zh/mes/hrs.json @@ -0,0 +1,25 @@ +{ + "qualificationNo": "资质编号", + "description": "资质说明", + "relevanceType": "作用类型", + "selectRelevanceType": "请选择作用类型", + "role": "角色指派", + "roleAssignable": "可指派角色", + "roleAssigned": "已指派角色", + "relevancePoint": "作用点", + "selectable": "可选", + "selected": "已选", + "ruleQualificationNo": "请选择资质编号", + "ruleQualificationType": "请选择资质类型", + "ruleRelevance": "请选择作用点", + "qualificationAdd": "资质-新增", + "updateSuccess": "更新成功", + "qualificationView": "资质-查看", + "qualificationEdit": "资质-编辑", + "whetherDelNo": "是否确认删除资质编号: {qualificationNo}", + "resrcePrdType": "设备生产类型", + "operationPrdType": "工序生产类型", + "itemPrdType": "产品生产类型", + "operationParamConfigType": "工序参数配置类型", + "prdParamConfigType": "产品参数配置类型" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/index.js b/src/locale/i18n/zh/mes/index.js new file mode 100644 index 0000000..acb79b1 --- /dev/null +++ b/src/locale/i18n/zh/mes/index.js @@ -0,0 +1,57 @@ +import abn from './abn.json' +import alm from './alm.json' +import bpr from './bpr.json' +import cal from './cal.json' +import customValidation from './customValidation.json' +import ecn from './ecn.json' +import hrs from './hrs.json' +import int from './int.json' +import lms from './lms.json' +import msa from './msa.json' +import oee from './oee.json' +import ord from './ord.json' +import pms from './pms.json' +import pod from './pod.json' +import prd from './prd.json' +import qms from './qms.json' +import rpt from './rpt.json' +import smd from './smd.json' +import sys from './sys.json' +import system from './system.json' +import tap from './tap.json' +import tds from './tds.json' +import tms from './tms.json' +import wip from './wip.json' +import wms from './wms.json' +import wmst from './wmst.json' +import index from './index.json' + +export default { + abn, + alm, + bpr, + cal, + customValidation, + ecn, + hrs, + int, + lms, + msa, + oee, + ord, + pms, + pod, + prd, + qms, + rpt, + smd, + sys, + system, + tap, + tds, + tms, + wip, + wms, + wmst, + ...index +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/index.json b/src/locale/i18n/zh/mes/index.json new file mode 100644 index 0000000..9358f8c --- /dev/null +++ b/src/locale/i18n/zh/mes/index.json @@ -0,0 +1,525 @@ +{ + "new": "新增", + "type": "类型", + "invalidate": "作废", + "stockinNo": "入库单号", + "documentStartDate": "单据日期", + "search": "搜索", + "reset": "清空", + "confirm": "确认", + "delete": "删除", + "seq": "序号", + "qualityGoodsInbound": "良品入库", + "noMatchingWarehouseTypeFound": "未找到匹配的仓库类型", + "title": "提示", + "yes": "是", + "no": "否", + "endTimeBeforeStartTime": "结束时间不可早于开始时间", + "dateExceeds30Days": "日期不可多于30天", + "deleteSuccess": "删除成功", + "save_successful": "保存成功", + "addSuccess": "新增成功", + "atLeastOneCondition": "择一输入的条件至少要输入一项", + "noDataToExport": "无资料可汇出", + "invalidationSuccess": "作废成功", + "equipmentNumberNotEmpty": "设备编号不可为空", + "confirmDeleteDetail": "是否确定删除项次{seq}的明细?", + "confirmChangeMessage": "确认后即不可再更改明细项次, 是否确定?", + "confirmCancellation": "是否确定作废?", + "confirmDeletion": "是否确定删除?", + "confirmDeleteStockInOrderDetail": "是否删除入库单号『{inNo}』,同一收料单『{receiptNo}』,同一项次『{seq}』的入库单明细?", + "lineSideWarehouse": "线边仓", + "warningTitle": "警告", + "confirmButton": "确定", + "pleaseEnter": "请输入", + "product_number": "产品编号", + "itemDesc": "产品说明", + "work_order": "工单", + "issueShopOrder": "发料工单", + "dateMfg": "製造日期", + "storageNo": "储位", + "shopOrderNo": "工单编号", + "shopOrderType": "工单类型", + "invNo": "仓库编号", + "desc": "说明", + "quantity": "数量", + "status": "状态", + "useOriginalBatchNumber": "沿用原批号", + "generateNewBatchNumber": "产生新批号", + "batchNumber": "批数", + "batchSize": "批量", + "export": "汇出", + "equipmentNumber": "设备编号", + "materialNumber": "料件编号", + "materialBatchNumber": "料件批号", + "materialBatchDesc": "料件说明", + "equipment": "设备", + "equipmentDesc": "设备说明", + "equipmentNumberDesc": "设备编号说明", + "equipmentCategory": "设备类别", + "equipmentCategoryDesc": "设备类别说明", + "itemAddition": "项次新增", + "receiveOrderConfirmation": "收料单确认", + "receiveOrderCancellation": "收料单作废", + "receiveOrderDeletion": "收料单删除", + "samplingRule": "抽样规则", + "sampling": "抽样", + "name": "名称", + "return": "退货", + "unqualified": "不合格", + "allowableReturnNumber": "允退数", + "inspectionPersonnel": "检验人员", + "fixedSamplingNumber": "固定抽样数", + "fixedSamplingRatio": "固定抽样比例", + "table1916": "1916表", + "custom": "自订", + "sendBackQuantity": "退回数量", + "returnOrderNumber": "退库单号", + "completionDate": "完成日期", + "productProcessDescription": "产品工序说明", + "auxiliaryEquipment": "附属设备", + "checkIn": "进站", + "checkOut": "出站", + "lotNoDetained": "Lot No [ {lotNo} ]已被扣留(触发异常单号为[ {abnNo} ])
    ", + "dieCount": "Die数", + "routeType": "途程类型", + "update": "修改", + "test": "测试", + "testDieAmount": "测试Die数", + "programNo": "编号", + "dispatchQuantity": "派工数量", + "plannedCompletionTime": "计画完成时间", + "enterDispatchQuantity": "请输入派工数量", + "planStartTime": "计画开始时间", + "modificationSuccessful": "修改成功", + "toolNumber": "工具编号", + "toolCategoryDescription": "工具类别说明", + "enterToolNumber": "请输入工具编号", + "remark": "备注", + "toolCategory": "工具类别", + "confirmDeleteToolCategoryLifeConfig": "是否确认删除工具类别编号 {toolTypeNo} 的工具寿命配置", + "attachment": "附件", + "billingDate": "开单日期", + "toolMajorCategoryDescription": "工具大类说明", + "toolNumberDescription": "工具编号说明", + "billingPersonnel": "开单人员", + "none": "无", + "awaitingInspection": "待检验", + "awaitingConfirmation": "待确认", + "completed": "已完成", + "itemNumber": "项次", + "warehousingOrReturn": "入库/退货", + "specialProcurement": "特采", + "inspectionResult": "检验结果", + "statusCode": "状态码", + "statusName": "状态名称", + "statusType": "状态类型", + "representativeColor": "代表色", + "currentStatus": "目前状态", + "changeStatus": "变更状态", + "enterDescription": "请输入说明", + "reasonCode": "原因代码", + "description": "描述", + "pleaseSelectChangeStatus": "请选择变更状态", + "selectOneSearchCondition": "检索条件请择一输入", + "reasonCodeCannotBeEmpty": "原因代码不可为空", + "reasonCodeCannotRepeat": "原因代码不可重複", + "checkToRemoveReasonCode": "请勾选要移除的原因代码", + "confirmToRemoveSelectedReasonCode": "是否确定移除所勾选的原因代码", + "statusCodeCannotBeEmpty": "状态码不可为空", + "statusNameCannotBeEmpty": "状态名称不可为空", + "process": "工序", + "processCannotBeEmpty": "工序不可为空", + "equipmentMajorCategoryDescription": "设备大类说明", + "ruleNumber": "法则编号", + "priorityOrder": "优先顺序", + "all": "全部", + "view": "查看", + "edit": "编辑", + "production": "生产", + "productionBatchNumber": "Lot No", + "customerName": "客户名称", + "checkInTime": "进站时间", + "taskOrderNumber": "任务单号", + "productionLine": "产线", + "productionLineDescription": "产线说明", + "itemCode": "物料编号", + "productionOptions": "生产选项", + "shopOrder": "工单号", + "qtyToBuild": "工单数量", + "workCenter": "工作中心", + "searchText": "检索", + "saveText": "保存", + "cancel": "取消", + "cancelSuccess": "取消成功", + "startTime": "开始时间", + "endTime": "结束时间", + "selectWorkCenter": "请选择工作中心", + "customData": "自订资料", + "enterEquipment": "请输入设备", + "categoryDescription": "类别说明", + "confirmDeleteSequenceNumber": "是否确认删除序号:", + "toolMajorCategory": "工具大类", + "confirmDelete": "是否确认删除", + "enterEquipmentNumber": "请输入设备编号", + "workshopCode": "车间代号", + "dataField": "资料栏位", + "value": "值", + "sequence": "顺序", + "representativeColorCannotBeEmpty": "代表色不可为空", + "prdLineType": "产线类型", + "operationDesc": "工序说明", + "revision": "版本", + "currentRevision": "当前版本", + "segment": "工段", + "invalidateAfterSplitBatch": "分併批后失效", + "period": "週期", + "inspecType": "检验类型", + "qcPlan": "检验计画编号", + "qcPlanDesc": "检验计画说明", + "qcItem": "检验项目编号", + "qcRole": "检验人员群组", + "ncCode": "不合格代码", + "detail": "明细", + "judgeUser": "判定人员", + "judgeResult": "判定结果", + "judgeDateTime": "判定时间", + "jobNo": "检验任务单号", + "judgment": "判定", + "inspection": "检验", + "inspectionItemDescription": "检验项目说明", + "samplingMethod": "抽样方式", + "inspectionPlan": "检验计画", + "createNew": "新建", + "inOperation": "作业中", + "closed": "已关闭", + "inspectionItem": "检验项目", + "close": "关闭", + "username": "用户名", + "full_name": "姓名", + "abnormalReason": "异常原因", + "specificationControl": "规格管控", + "upperLimit": "上限", + "lowerLimit": "下限", + "setValuesN": "设定值(N)", + "reinspection": "重验", + "sampleNumber": "样本数", + "milStd105eTableAql": "MIL-STD-105E表 (AQL)", + "ng": "NG", + "ok": "OK", + "month1": "一月", + "month2": "二月", + "month3": "三月", + "month4": "四月", + "month5": "五月", + "month6": "六月", + "month7": "七月", + "month8": "八月", + "month9": "九月", + "month10": "十月", + "month11": "十一月", + "month12": "十二月", + "groupNo": "群组编号", + "groupName": "群组名称", + "resrce": "仪器设备", + "process_occurred": "发生工序", + "newDateCreate": "开单时间", + "current_process": "目前工序", + "newHoldOption": "扣留作业", + "enter_product_number": "请输入产品编号", + "currentResponsible": "请输入第一处理单位", + "submitText": "提交", + "handle": "主键", + "operationNo": "工序编号", + "handleABNHistory": "异常单资讯", + "run": "开启", + "inQueue": "排队中", + "inProcess": "生产中", + "finished": "完成", + "withheld": "扣留", + "void": "报废", + "startDateNotEmpty": "开始日期不可为空", + "endDateNotEmpty": "结束日期不可为空", + "endDateNotEarlier": "结束日期不可早于开始日期", + "attachmentType": "附件类型", + "labelFile": "档案", + "upload": "上传", + "removeBtn": "移除", + "saveSuccess": "储存成功", + "qty": "片数", + "itemInfo": "产品", + "routerInfo": "途程", + "customer_id": "客户编号", + "userPart": "客户料号", + "userLot": "客户批号", + "itemReceiptNo": "收料单号", + "purchaseOrderStatus": "採购单状态", + "member": "成员", + "userNo": "用户编号", + "delFailMsg": "删除失败", + "workCenterDesc": "工作中心说明", + "searchFirst": "请先进行检索", + "resrceCategory": "设备大类", + "number": "数值", + "time": "时间", + "datasourceBo": "资料来源名称不可为空", + "fieldTextEmpty": "序号{seq},栏位名不可为空", + "testProgram": "测试程式", + "enabledFlag": "启用", + "printerNo": "标籤机编号", + "printerName": "标籤机名称", + "labelNo": "标籤编号", + "labelName": "标籤名称", + "itemType": "料件类别", + "carrierType": "载具类型", + "nonSelect": "请选择要删除的资料", + "printResult": "列印结果", + "itemLabel": "物料标籤", + "lotLabel": "生产标籤", + "printSuccess": "列印成功", + "carrierNumber": "载具编号", + "ecnType": "工程变更类型", + "expired": "失效", + "selectMsg": "请选择", + "disabled": "未启用", + "inputContent": "请输入内容", + "formula": "配方", + "materialList": "物料清单", + "prdRouter": "生产途程", + "defaultValue": "预设值", + "unit": "单位", + "splitInvalid": "失效(分批)", + "ruleState": "请选择状态", + "personnel": "人员", + "planStartDate": "计画开始日期", + "qtyReleased": "已下达数量", + "planEndDate": "计画结束日期", + "standardNumber": "标准数", + "unitQty": "单位量", + "hold": "保留", + "item": "物料", + "executeDate": "执行时间", + "executeSuccess": "执行成功", + "frequencyCycle": "频率週期", + "result2": "结果", + "executor": "执行人员", + "resource": "仪器编号", + "resourceDesc": "仪器说明", + "lsl": "规格下限", + "usl": "规格上限", + "measureTimes": "量测次数", + "unit_of_measure": "量值单位", + "eqpType": "类别", + "stdev": "标准差", + "measureUser": "量测人员", + "tv": "总变异(TV)", + "ev": "仪器变异(%EV)", + "pv": "部件变异(%PV)", + "rr": "重複性与再现性(%R&R)", + "effectiveness": "有效性", + "agreement": "一致性", + "agreementQty": "一致数", + "totalQty": "总受检数", + "stand": "基准", + "settingInfo": "设定资讯", + "measurement_system_acceptable": "%R&R < 10%,此测量系统能力可接受", + "measurement_system_conditional": "10% <= %R&R <= 30%,此测量系统能力是否接受须由主管单位决定", + "NA": "NA", + "acceptable_measurement_device": "ndc ≥ 5,可接受的测量设备", + "rejected_measurement_device": "ndc < 5,拒绝测量设备,需使用更灵敏的测量设备", + "accepted": "接受", + "conditionally_accepted": "有条件接受", + "rejected": "不接受", + "okey": "好", + "average_to_good": "中等趋于好", + "poor": "差", + "usableOpeartion": "可用工序", + "indicatedOperation": "已指派工序", + "CATNo": "CAT编号", + "FTSplitRuleLogic": "FT分批规则逻辑", + "carrierNoDesc": "载具说明", + "generation": "生成", + "inputCarrierNo": "请输入载具编号", + "positionCarrierLoaded": "载具位置『{position}』已有摆放载具,请先移除载具", + "content": "内容", + "errorStack": "错误堆栈", + "justNow": "刚刚", + "minutesAgo": "分钟前", + "hoursAgo": "小时前", + "oneDayAgo": "1天前", + "month": "月", + "day": "日", + "hour": "时", + "minute": "分", + "text": "文本", + "imageText": "图文", + "replyMessageType": "回复消息类型", + "requestMessageType": "请求消息类型", + "voice": "语音", + "video": "视频", + "shortVideo": "小视频", + "location": "地理位置", + "linkMessage": "链接消息", + "eventPush": "事件推送", + "keyword": "关键词", + "matchingType": "匹配类型", + "exactMatch": "全匹配", + "partialMatch": "半匹配", + "productId": "商品ID", + "productName": "商品名称", + "amountYuan": "金额/元", + "userId": "用户ID", + "orderStatus": "订单状态", + "paymentOrderNumber": "支付订单号", + "enterNumberGreaterThanZero": "请输入大于0的数字", + "valueMustBeNumberBetween2And36": "值必须是 2 到 36 的数字", + "valueMustBeNumberBetween1And128": "值必须是 1 到 128 的数字", + "valueNotCompliantEnterCharactersBetween2AndZ": "值[' {currentValue} ']不符合规范,请输入2-Z之间的字符,多个用逗号隔开", + "loadingCarrierType": "可装载载具类型", + "layout": "位置图", + "row": "列", + "column": "栏", + "positionCode": "位置编码", + "usePosition": "使用位置", + "rowColumn": "列 \\ 栏", + "positionEmpty": "位置不可为空", + "positionDuplicate": "位置{position}不可重複", + "ncCodeDesc": "不合格说明", + "faeCompleteTitle": "维修出站作业", + "repairMemo": "维修备註", + "repairDisposal": "维修处置", + "transferOperation": "转移工序", + "inventoryOfGoods": "良品入库", + "inventoryOfDefective": "不良品入库", + "recordTime": "纪录时间", + "goodsInv": "良品暂存仓", + "defectiveInv": "不良品暂存仓", + "pleaseSelectDisp": "請選擇處置方式", + "pleaseSelectTransfer": "请选择移转工序编号", + "pleaseSelectGoodsInv": "请选择良品库编号", + "pleaseSelectDefectiveInv": "请选择不良品库编号", + "warehouseInGoods": "良品入库完成", + "warehouseInDefective": "不良品入库完成", + "eqpTypeStatusReset": "此类别的设备的位置状态需重新设定,是否确认?", + "wcType": { + "1": "产线", + "0": "区域" + }, + "sn": "SN", + "scanSn": "刷入SN", + "selectFirst": "請先選擇", + "snEmpty": "請輸入SN", + "snRepeat": "SN重複", + "customCheckInOperationMustBeSN": "工序的自订 CHECK_IN_OPERATION 需为 SN", + "snPreOperation": "SN 前置作业", + "snToWorkOrderOperation": "SN 转工单作业", + "productionLineProcessDescription": "产线工序说明", + "workOrderInformation": "工单资讯", + "pleaseEnterWorkOrder": "请输入工单", + "pleaseEnterSn": "请输入SN", + "snAlreadyExists": "SN已存在", + "pleaseRetrieveWorkOrderFirst": "请先检索工单", + "checkInSuccess": "进站成功", + "replace": "更换", + "pleaseEnterProduct": "请输入生产物", + "productLotNoNotInRepairStation": "生产物 {lotNo} 目前工序不是维修站,不可执行组件更换", + "productLotNoNotInProductionStatus": "生产物 {lotNo} 状态不是生产,不可执行组件更换", + "productLotNoNotExist": "生产物 {lotNo} 不存在", + "oldSerialNumber": "旧序号", + "newSerialNumber": "新序号", + "repairDate": "维修日期", + "repairNotes": "维修备注", + "pleaseEnterInboundWarehouse": "请输入转入仓库", + "pleaseEnterOutboundWarehouse": "请输入转出仓库", + "pleaseEnterNewSerialNumber": "请输入新序号", + "pleaseEnterRepairDate": "请输入维修日期", + "pleaseEnterRepairPersonnel": "请输入维修人员", + "oldMaterialBatchNumber": "旧料件批号", + "newMaterialBatchNumber": "新料件批号", + "replacementQuantity": "更换数量", + "componentReplacementSN": "组件更换 - SN", + "componentReplacementBatch": "组件更换 - 料批", + "pleaseEnterNewMaterialBatchNumber": "请输入新料件批号", + "pleaseEnterReplacementQuantity": "请输入更换数量", + "pleaseEnterOldSerialNumberFirst": "请先输入旧序号", + "pleaseEnterOldSerialNumber": "请输入旧序号", + "oldSerialNumberNotExist": "旧序号不存在", + "pleaseEnterReplacementNewSerialNumber": "请输入要更换的新序号", + "confirmReplaceComponent": "是否确定更换组件", + "replaceSuccess": "更换成功", + "newMaterialBatchNumberDuplicate": "新料件批号重复,请先移除", + "newMaterialBatchNumberChangeQtyExceedsOldQty": "新料件批号 {newMaterialLot} 更换数量 {changeQty} ,不可大于旧料件批号的数量", + "factoryBatchNumber": "厂内批号", + "pleaseEnterFactoryBatchNumber": "请输入厂内批号", + "factoryBatchNumberDuplicateWithNewMaterial": "厂内批号与新料件批号重複", + "completionPersonnel": "完成人员", + "componentReplacementCompletion": "组件更换 - 完成", + "pleaseSelectCompletionDate": "请选择完成日期", + "pleaseSelectCompletionPersonnel": "请选择完成人员", + "confirmComponentReplacementCompletion": "是否确认完成更换组件?", + "componentReplacementCompleted": "组件更换完成", + "definition": "定义", + "pleaseEnterDefinitionType": "请输入定义类型", + "pleaseEnterMaterial": "请输入料件编号", + "pleaseEnterMaterialCategory": "请输入料件类别", + "uploadImage": "上传图片", + "noFileSelected": "未选择任何档案", + "updatePassword": "更新密码", + "firstLoginForcePasswordChange": "首次登入需强制修改密码", + "currentPassword": "原始密码", + "newPassword": "新密码", + "confirmPassword": "确认密码", + "passwordSettingRules": "密码设定规范", + "noSettingRules": "无设定规范", + "passwordMismatch": "兩次輸入密碼不一致", + "pleaseEnterCurrentPassword": "請輸入原始密碼", + "pleaseEnterNewPassword": "請輸入新密碼", + "updateSuccess": "修改成功", + "passwordMinLengthError": "密碼長度不符合最短長度 {lengths} 要求", + "passwordMaxLengthError": "密碼長度不符合最大長度 {lengths} 要求", + "passwordMinLettersError": "密碼長度不符合最少包含 {lengths} 位字母要求", + "passwordMinDigitsError": "密碼長度不符合最少包含 {lengths} 位數值要求", + "passwordMinSpecialCharsError": "密碼長度不符合最少包含 {lengths} 位特殊符號要求", + "containerTypeNo": "容器类别编号", + "containerKind": "容器类型", + "containerType": "容器类别", + "packingLevel": "包装层级", + "containerTypeIsEmpty": "请输入容器类别编号", + "containerKindIsEmpty": "请选择容器类别", + "packingObject": "包装层级对象", + "minQtyPacking": "最小包装数量", + "maxQtyPacking": "最大包装数量", + "containerDelAlert": "是否确认删除容器类别编号: 『{container}』", + "customCheckInOperationMustBeSn": "工序的自订 CHECK_IN_OPERATION 需为 SN", + "carrierStatus": "载具状态", + "containerCategoryDescription": "容器类别说明", + "containerNumber": "容器编号", + "generateContainer": "产生容器", + "packagingLevel": "包装层级", + "packagingLevelObject": "包装层级对象", + "minimumPackagingQuantity": "最小包装数量", + "maximumPackagingQuantity": "最大包装数量", + "packagedQuantity": "已包装数量", + "closeBox": "关箱", + "packagingOperation": "包装作业", + "pleaseEnterContainerNumber": "请输入容器编号", + "confirmDeleteContainerNumber": "是否删除容器编号", + "pleaseSelectPackagingLevel": "请选择包装层级", + "confirmDeleteContainerNumberWithId": "是否删除容器编号 {containerNo}", + "packaging": "包装", + "containerNumberPackagingInProgressCannotDelete": "容器编号 {containerNo} 正在包装中,不允许删除", + "containerCategoryCannotBeEmpty": "容器类别不可为空", + "usnCannotBeEmpty": "USN不可为空", + "confirmRemoval": "是否确定移除", + "containerNumberCannotBeEmpty": "容器编号不可为空", + "packagingListCannotBeEmpty": "包装清单不可为空", + "confirmCloseBoxAndCheckOutWithId": "容器编号 {containerNo} 是否确定关箱?", + "confirmCloseBoxWithId": "容器编号 {containerNo} 是否确定关箱?", + "closeBoxSuccess": "关箱成功", + "closeBoxFailed": "关箱失败", + "containerNumberCloseBoxCompleted": "容器编号 {containerNo} 关箱完成", + "containerNumberStatusNotOpenCannotPerformPackaging": "容器编号状态非开启,不可执行包装作业", + "containerNumberNotExist": "容器编号 {containerNo} 不存在", + "csnPropEmpty": "顺序『{seq}』的『{csnType}』值不可为空", + "schemaCheck": "请输入正整数或latest" +} diff --git a/src/locale/i18n/zh/mes/int.json b/src/locale/i18n/zh/mes/int.json new file mode 100644 index 0000000..088be9a --- /dev/null +++ b/src/locale/i18n/zh/mes/int.json @@ -0,0 +1,32 @@ +{ + "executionFailed": "执行失败", + "rethrow": "重抛", + "rethrowSuccessful": "重抛成功", + "rethrowFailed": "重抛失败", + "requestSide": "请求端", + "receiverSide": "接收端", + "methodName": "方法名称", + "message": "讯息", + "keyword": "关键字", + "transactionTime": "交易时间", + "rethrowCount": "重抛次数", + "rethrowPersonnel": "重抛人员", + "rethrowTime": "重抛时间", + "requestContent": "请求内容", + "responseContent": "回应内容", + "integratedServiceTransactionHistoryView": "整合服务交易历程 - 检视", + "transactionSID": "交易SID", + "rethrowHistory": "重抛历程", + "selectRequestSide": "请选择 请求端", + "selectStatus": "请选择 状态", + "selectStartDate": "请选择 开始日期", + "selectReceiverSide": "请选择 接收端", + "enterMethodName": "请输入 方法名称", + "enterTransactionTimeStartAndEnd": "请输入交易时间(起)和交易时间(迄)", + "enterTransactionTimeStart": "请输入交易时间(起)", + "enterTransactionTimeEnd": "请输入交易时间(迄)", + "transactionTimeStartCannotExceedEnd": "交易时间(起)不可大于交易时间(迄)", + "transactionTimeIntervalCannotExceed30Days": "交易时间区间不可大于30天", + "integratedServiceTransactionHistoryContent": "整合服务交易历程 - 内容", + "transactionNumber": "交易编号" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/lms.json b/src/locale/i18n/zh/mes/lms.json new file mode 100644 index 0000000..3f80d41 --- /dev/null +++ b/src/locale/i18n/zh/mes/lms.json @@ -0,0 +1,76 @@ +{ + "label-printer": { + "titleAdd": "标籤机配置-新增", + "titleEdit": "标籤机配置-编辑", + "titleView": "标籤机配置-查看", + "confirmDelete": "是否确认删除标籤机编号", + "label": { + "printerNo": "标籤机编号:", + "printerName": "标籤机名称:" + }, + "rule": { + "printerNo": "标籤机编号不可为空", + "printerName": "标籤机名称不可为空" + } + }, + "label-maintenance": { + "title": "标籤档", + "labelType": "标籤类型", + "labelFile": "标籤档案", + "parameter": "标籤参数", + "printer": "标籤机", + "msg": { + "labelType": "标籤类型不可为空", + "labelNo": "标籤编号不可为空", + "labelName": "标籤名称不可为空", + "labelFile": "标籤档案不可为空", + "parameterEmpty": "序号{seq},标籤参数不可为空", + "typeNoEmpty": "序号{seq},料件类别不可为空", + "segmentNoEmpty": "序号{seq},工段不可为空", + "printerNoEmpty": "序号{seq},标籤机编号不可为空", + "parameterRepeat": "序号{seq},标籤参数不可重複", + "carrierTypeNotEmpty": "序号{seq},载具类型不可为空", + "equipmentCategoryNotEmpty": "序号{seq},设备类别不可为空", + "toolCategoryNotEmpty": "序号{seq},工具类别不可为空", + "CannotBeDuplicated": "{key}不能重複,请移除相同的{key}", + "confirmRemoveBoundLabel": "{formLabelType}『{typeNo}』已绑定标籤编号『{labelNo}』,是否要移除已绑定的标籤 ?", + "remove": { + "alert": "是否确认删除标籤编号 {labelNo}" + } + } + }, + "label-reprinter": { + "datePrint": "列印时间", + "shopOrderType": "工单类别", + "ruleLabelType": "请选择标籤类型", + "userPrint": "列印人员", + "transactionId": "交易码", + "printHistory": "列印历程", + "printFail": "列印失败,请查看列印历程", + "printerNotEmpty": "标籤编号{labelNo},标籤机不可为空", + "printContent": "标籤列印-列印内容", + "contentFail": "标籤列印-失败讯息", + "printEndNotBeforeStart": "列印时间起始时间不可大于结束时间" + }, + "label-print": { + "printCopies": "列印张数", + "printList": "列印清单", + "printing": "列印中", + "print": "列印", + "labelPrinting": "标籤列印", + "selectLabelToPrint": "请先勾选要列印的标籤", + "labelNoMachineNumberNotEmpty": "标籤编号 {labelNo},标籤机编号不可为空", + "labelNoPrintCopiesNotEmpty": "标籤编号 {labelNo},列印张数不能为空且不能为0", + "printFailed": "列印失败", + "printRequestFailed": "列印请求失败", + "printRequestError": "列印请求发生错误", + "failureMessage": "失败消息", + "printFailureLogRequestError": "列印失败日誌请求错误:", + "printFailureLogRequestErrorOccurred": "列印失败日誌请求发生错误", + "labelPrintingFailureMessage": "标籤列印-失败消息", + "resrceLabel": "设备标籤", + "carrierLabel": "载具标籤", + "toolLabel": "工具标籤", + "label": "标籤" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/msa.json b/src/locale/i18n/zh/mes/msa.json new file mode 100644 index 0000000..5282e07 --- /dev/null +++ b/src/locale/i18n/zh/mes/msa.json @@ -0,0 +1,125 @@ +{ + "maintain": { + "title": "量测任务单", + "colon": ":", + "description": "量测说明", + "analyze": "分析项目", + "main": "主要", + "bias": "偏差", + "grr": "GRR", + "stability": "稳定性", + "kappa": "KAPPA", + "kappaStandard": "KAPPA基准值", + "confidenceLevel": "信赖水准", + "referenceValue": "参考值", + "numberPeople": "量测人数", + "xbarLcl": "X-BAR 管制下限", + "xbarCl": "X-BAR 管制中心", + "xbarUcl": "X-BAR 管制上限", + "rlcl": "R 管制下限", + "rcl": "R 管制中心", + "rucl": "R 管制上限", + "frequencyTimes": "频率次数", + "sample": "样本", + "standard": "基准值", + "average": "平均值", + "averageBias": "平均偏差", + "standardError": "标准误", + "confidence": "信赖区间", + "value": "量测值", + "Bias": "Bias", + "av": "量测人员变异(%AV)", + "ndc": "ndc", + "xbar": "X-BAR", + "r": "R", + "miss": "漏判率", + "falseAlarm": "误判率", + "reproducibility": "重现性", + "measureDate": "量测时间", + "work": "作业", + "analysisDiagram": "分析图", + "analyzes": { + "biasResult": { + "1": "预估偏差0,偏差信赖区间 「下限」 ~ 「上限」 包含0,故判断OK", + "2": "预估偏差0,偏差信赖区间 「下限」 ~ 「上限」 不包含0,故判断NG", + "3": "预估偏差0,偏差信赖区间 「上限」 大于0,故判断OK", + "4": "预估偏差0,偏信赖区间 「上限」 小于0,故判断NG", + "5": "预估偏差0,偏差信赖区间 「下限」 小于0,故判断OK", + "6": "预估偏差0,偏信赖区间 「下限」 大于0,故判断NG" + }, + "grrResult": { + "rr": { + "2": "%R&R > 30%此量测系统不合格" + } + } + }, + "msg": { + "create": { + "success": "任务单储存成功", + "analyzeComplete": "分析完成" + }, + "confirm": { + "alert": "是否确认任务单{taskNo}", + "alertBias": "是否确定完成任务单{taskNo}的偏差作业", + "alertStability": "是否确定完成任务单{taskNo}的稳定性作业" + }, + "delete": { + "alert": "是否删除任务单{taskNo}", + "analyzeItem": "是否作废任务单{taskNo}的{analyze}作业" + }, + "error": { + "date1": "请输入单据日期(起)", + "date2": "请输入单据日期(迄)", + "date3": "单据日期(迄)不可早于单据日期(起)", + "date4": "单据日期不可超过一个月", + "resource": "请输入仪器编号", + "item": "请输入料件编号", + "qcItem": "请输入检验项目", + "confidenceLevel": "请输入信赖水准", + "measureTimes": "请输入量测次数", + "referenceValue": "请输入参考值", + "unit": "请输入量值单位", + "sampleSize": "请输入样本数", + "numberPeople": "请输入量测人数", + "frequencyTimes": "请输入频率次数", + "analyzes": "请至少选择一个分析项目", + "lsl": "请输入规格下限", + "usl": "请输入规格上限", + "overUsl": "规格上限不可小于规格下限", + "xbarLcl": "请输入X-BAR 管制下限", + "xbarUcl": "请输入X-BAR 管制上限", + "rlcl": "请输入R 管制下限", + "rucl": "请输入R 管制上限", + "overXbarUsl": "X-BAR 管制上限不可小于X-BAR 管制下限", + "overRUsl": "R 管制上限不可小于R 管制下限", + "xbarClMin": "X-BAR管制中心不可小于X-BAR管制下限", + "xbarClMax": "X-BAR管制中心不可大于X-BAR管制上限", + "rClMin": "R 管制中心不可小于R 管制下限", + "rClMax": "R 管制中心不可大于R 管制上限", + "setStandard": "请设定样本的基准值", + "measureTimesMin1": "量测次数不可小于1", + "measureTimesMin2": "量测次数不可小于2", + "sampleSizeMin1": "样本数不可小于1", + "sampleSizeMin2": "样本数不可小于2", + "numberPeopleMin1": "量测人数不可小于1", + "numberPeopleMin2": "量测人数不可小于2", + "frequencyTimesMin1": "频率次数不可小于1", + "inputMeasureTimesValue": "请输入量测次数{serial}的量测值", + "inputMeasureFrequencyValues": "请输入频率次数{frequency},量测次数{measureTimes}的量测值" + } + }, + "measurer": "量测人", + "sampleNumberMeasurementTimes": "样本数 \\ 量测次数", + "analysis": "分析", + "measurerVariation": "测量人员变异(%AV)", + "measurementTaskOrderGRRJob": "量测任务单-GRR作业", + "measurementTaskOrderGRRAnalysis": "量测任务单-GRR分析", + "rrGreaterThan30": "%R&R > 30%,此量测系统不合格", + "confirmCompleteGRRJob": "是否确定完成任务单 {taskNo} 的 GRR 作业", + "confirmCompleteKAPPAJob": "是否确定完成任务单 {taskNo} 的 KAPPA 作业", + "enterMeasurer": "请输入量测人", + "enterMeasurementValue": "请输入量测人 {peopleName}、样本数 {sampleNo}、量测次数 {serialNo} 的量测值", + "measurementTaskOrderKappaJob": "量测任务单-KAPPA作业", + "measurementTaskOrderKappaAnalysis": "量测任务单-KAPPA分析" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/oee.json b/src/locale/i18n/zh/mes/oee.json new file mode 100644 index 0000000..c12422a --- /dev/null +++ b/src/locale/i18n/zh/mes/oee.json @@ -0,0 +1,18 @@ +{ + "attrib": "稼动属性", + "system": "系统", + "ruleStatusCode": "请输入 状态码", + "ruleStatusName": "请输入 状态名称", + "ruleColor": "请输入 代表色", + "confirmDelCode": "是否确认删除状态码为{statusCode}", + "statusTypeNotEmpty": "状态类型不可为空", + "oeeAttrNotEmpty": "稼动属性不可为空", + "oeeStatusCodeAdd": "设备状态码-新增", + "oeeStatusCodeEdit": "设备状态码-编辑", + "oeeStatusCodeView": "设备状态码-查看", + "factory": "工厂", + "colorCode": "颜色", + "eqpStatusChange": "设备状态变更作业", + "ruleReasonCode": "请输入原因代码", + "awaitLot": "待料" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/ord.json b/src/locale/i18n/zh/mes/ord.json new file mode 100644 index 0000000..3eaf7be --- /dev/null +++ b/src/locale/i18n/zh/mes/ord.json @@ -0,0 +1,86 @@ +{ + "orderMaintenance": "工单维护作业", + "status": "工单状态", + "planWorkCenter": "计画工作中心", + "feedPoint": "投料点", + "LOTList": "LOT清单", + "substituteMaterial": "替代料", + "itemDetail": "料件明细", + "productionRoute": "工艺路线", + "ruleShopOrder": "请输入工单编号", + "ruleOrderType": "请输入工单类型", + "rulePlanWorkCenter": "请输入计画工作中心", + "rulePriority": "请输入优先顺序", + "ruleOrderStatus": "请输入工单状态", + "ruleOrderAmount": "请输入工单数量", + "ruleBOM": "请输入BOM", + "planEndDateNotEarlierStart": "计画结束日期不可早于计画开始日期", + "shopOrderView": "工单-查看", + "shopOrderAdd": "工单-新增", + "shopOrderEdit": "工单-编辑", + "confirmDelOrder": "是否确认删除工单:{shopOrder}", + "ruleSelectProductNo": "请先选择产品编号", + "confirmDelRow": "是否确认删除该行", + "feedPointNotEqualMaterial": "同一个投料点{operation}不允许有相同物料{component}", + "itemDetailSeqDuplicate": "料件明细顺序{seq}重複", + "subItemNoNotEmpty": "替代料料件编号不可为空", + "itemNoNotEqualSubs": "料件编号:{component}不可与替代料相同", + "orderTypeNotEmpty": "工单类型不可为空", + "noOrderTypeLogic": "无此工单类型『{label}』逻辑,请检查字典配置", + "releasable": "可下达", + "inTesting": "测试中", + "shopOrderRequired": "工单编号必须填写", + "ruleSelectOrderType": "请选择工单类型", + "ruleSelectOrderStatus": "请选择工单状态", + "statusNotEmpty": "状态必须填写", + "holdSign": "保留标识", + "amountRequired": "数量必须填写", + "priorityRequired": "优先顺序必须填写", + "planItem": "计画物料", + "rulePlanItem": "计画物料必须填写", + "planItemList": "计画物料清单", + "planProductionRoute": "计画工艺路线", + "prdAmount": "生产数量", + "releasableAmount": "可下达数量", + "pendingReleaseAmount": "待下达数量", + "planComDate": "计画完成日期", + "firstLastBatch": "第一个/最后一个生产批", + "selectHotLot": "请选择Hot Lot", + "releaseAmount": "下达数量", + "batchRelease": "批次下达", + "releaseSuccess": "下达成功", + "printProcessCard": "列印流程卡", + "ruleLineSideHouse": "请输入线边仓", + "inputReleaseAmount": "请输入下达数量", + "selectRowPrint": "选中一行LOT NO进行列印", + "inputPrdRouter": "请输入生产途程", + "prdBatch": "生产批", + "searchNotAllEmpty": "检索条件不能全部为空", + "ruleRevisionProduct": "版本不为空时,产品编号不能为空", + "ruleProductRevision": "产品编号不为空时,版本不能为空", + "searchNoData": "查无资料", + "selectRowPrint2": "选中一行LOT NO进行补印", + "selectOnceARowPrint": "一次只可选中一行LOT NO进行补印", + "userBatch": "客户批次", + "ruleUserPart": "请输入客户料号", + "ruleQty": "请输入片数", + "confirmDelLOTMessage": "是否确认删除该LOT资讯?", + "qtyRequired": "片数必须填写", + "releasedQty": "已下达片数", + "dieAmount": "Die数量", + "dieAmountRequired": "Die数量必须填写", + "releasedDie": "已下达Die数", + "orderQty": "工单片数", + "releaseQty": "下达片数", + "orderStatusNotReleasable": "工单状态不是可下达", + "unSelectWaferCannotRelease": "未选择wafer不能下达!", + "eachPartUserLotCorrespond": "每片客户批号需要一致", + "selectReleasedQtyPartNo": "请选择要下达的片号", + "releaseDie": "下达Die数", + "eachDieUserLotCorrespond": "每Die客户批号需要一致", + "releaseDieNotOverDieAmount": "下达Die数不能超过Die数", + "releasableDie": "可下达Die数", + "orderDie": "工单Die数", + "printLabel": "列印标籤" +} + diff --git a/src/locale/i18n/zh/mes/pms.json b/src/locale/i18n/zh/mes/pms.json new file mode 100644 index 0000000..ee07df7 --- /dev/null +++ b/src/locale/i18n/zh/mes/pms.json @@ -0,0 +1,393 @@ +{ + "resrceGroupNo": "设备群组编号", + "resrceGroupName": "设备群组名称", + "structralCode": "结构码", + "errCode": "故障码", + "maintenanceItem": "保养项目", + "inspItem": "点检项目", + "spareBOM": "备品BOM", + "ruleResrceGroupNo": "请输入设备群组编号", + "resrceGroupAdd": "设备群组-新增", + "resrceGroupView": "设备群组-查看", + "resrceGroupEdit": "设备群组-编辑", + "confirmDelId": "是否确认删除编号: {id}", + "spareNo": "备品编号", + "spareName": "备品名称", + "specification": "规格型号", + "spareTypeName": "备品类别名称", + "confirmDelId2": "是否确认删除: {partId}", + "errName": "故障名称", + "structralName": "结构名称", + "ruleStructCode": "请输入结构码", + "ruleErrCode": "请输入故障码", + "errCodeAdd": "故障码-新增", + "errCodeView": "故障码-查看", + "errCodeEdit": "故障码-编辑", + "confirmDelName": "是否确认删除: {name}", + "inspItemName": "点检项目名称", + "inspItemGroup": "点检项目群组", + "ruleInspItemName": "请输入点检项目名称", + "inspItemAdd": "点检项目-新增", + "inspItemView": "点检项目-查看", + "inspItemEdit": "点检项目-编辑", + "spareTypeNo": "备品类别编号", + "ruleSpareName": "请输入备品名称", + "ruleInputAmount": "请输入数量", + "spareType": "备品类别", + "maintainItemSpareListAdd": "保养项目备品清单-新增", + "maintainItemSpareListEdit": "保养项目备品清单-编辑", + "maintainItemName": "保养项目名称", + "itemType": "项目类型", + "inputValueType": "输入数值型别", + "targetValue": "目标值", + "maxValue": "最大值", + "minValue": "最小值", + "maintainItemType": "保养项目类型", + "maintainItemSpareList": "保养项目备品清单", + "ruleMaintainItemName": "请输入保养项目名称", + "MaintenanceItemAdd": "保养项目-新增", + "maxAndMinSelectOne": "最大值及最小值需择一输入", + "maxThanTargetThanMin": "输入值不合理,需符合最大值 > 目标值 > 最小值", + "maxThanTarget": "输入值不合理,需符合最大值 > 目标值", + "targetThanMin": "输入值不合理,需符合目标值 > 最小值", + "maxThanMin": "输入值不合理,需符合最大值 > 最小值", + "maintainItemView": "保养项目-查看", + "maintainItemEdit": "保养项目-编辑", + "usableStructCode": "可用结构码", + "assignedStructCode": "已指派结构码", + "resrceGroup": "设备群组", + "department": "部门", + "area": "区域", + "specNo": "规格编号", + "manufacturer": "製造商", + "resrceMaintainView": "设备维护-查看", + "resrceMaintainEdit": "设备维护-编辑", + "confirmAutoStop": "设备群组已异动,下述保养计画会自动停止,是否确定?", + "oriEquipGroupMaList": "原群组保养计画: {oriEquipGroupMaList}", + "equipGroupMaList": "新群组保养计画: {equipGroupMaList}", + "confirmDelSerial": "是否确认删除序号: {seq}", + "fileTypeNotSuit": "所选择的档案类型与当前附件类型不符", + "inspShopOrder": "点检工单编号: {id}", + "waitProcess": "等待处理", + "inProcess": "处理中", + "compWaitConfirm": "完成待确认", + "workLog": "工作记录", + "InspectionComp": "点检完成", + "labelInspShopOrder": "点检工单编号", + "inspPlanName": "点检计画名称", + "statusAuth": "状态(许可权)", + "typeNo": "类型编号", + "user": "用户", + "planEndDate": "计画结束时间", + "compDate": "完成时间", + "inspResult": "点检结果", + "inspOrder": "点检工单", + "oneConditionRequird": "请择一条件输入", + "confirmInspOrder": "点检工单: {id},确定开始执行?", + "confirmVoidOrder": "点检工单: {id},是否确定作废?", + "confirmCancelOrder": "点检工单: {id},是否确定取消?", + "confirmCompOrder": "点检工单: {id},是否确定完成?", + "inspOrderComp": "点检工单完成", + "userName": "用户名称", + "allUser": "所有人", + "workGroup": "工作群组", + "indicatedGroup": "指定群组", + "inspOrderNo": "点检工单号", + "planEndNotEarlierStart": "『计画开始日期』结束日期不可早于开始日期", + "planEndNotEarlierStart2": "『计画结束日期』结束日期不可早于开始日期", + "result": "结果 *", + "workRecordAdd": "工作记录-新增", + "ruleStartTime": "请输入开始时间", + "ruleEndTime": "请输入结束时间", + "ruleEndStartTime": "结束时间不可小于等于开始时间", + "confirmDelUserName": "用户名称:{row.detailFullName}
    开始时间:{row.beginTime}
    结束时间:{row.endTime}
    是否确认删除?", + "email": "电子邮件", + "phone": "电话号码", + "mobile": "手机号码", + "inspListName": "点检表名称", + "selectDateTime": "选择日期时间", + "executePlan": "执行计画", + "resrceList": "设备清单", + "resrceTypeGroupName": "设备类群组名称", + "inspListTypeName": "点检表类别名称", + "inspList": "点检表", + "inspListDelConfirm": "点检表: {schName},是否确定删除?", + "eqpNotEmpty": "{equipName}频率不可为空", + "valueTypeNotEmpty": "数值型别不可为空", + "startTimeLaterCurrent": "开始时间不正确,必须大于当前时间", + "overTwoYearFixAgain": "此计画超过两年,请重新调整时间", + "confirmRunPlan": "确定要启用选择的计画: {schName}?", + "enableSuccess": "启用成功", + "confirmStopPlan": "确定要停用选择的计画: {schName}?", + "disableSuccess": "停用成功", + "dailyPlan": "日计画", + "weeklyPlan": "周计画", + "monthlyPlan": "月计画", + "annualPlan": "年计画", + "annualPlan2": "年度计画", + "perDay": "每隔_日", + "perHour": "每隔_小时", + "valueType": "数值型别", + "inspItemGroupName": "点检项目群组名称", + "inspResrce": "点检设备", + "confirmEqpDel": "设备: {equipName},是否确定删除?", + "leastCheckOne": "请至少勾选一项", + "frequency": "频率", + "confirmBuildInspOrder": "确定要建立点检工单?", + "InspOrdercreateSuccess": "新建成功,点检工单: {id}", + "duplicatedHour": "重複时数", + "duplicatedDay": "重複日", + "workTime": "工作时间", + "workDay": "工作日", + "week": "周", + "date": "日期", + "sunday": "周日", + "monday": "週一", + "tuesday": "週二", + "wendesday": "週三", + "thursday": "週四", + "friday": "週五", + "saturday": "週六", + "timeFormatErr": "时间格式错误", + "ruleCheckTime": "请勾选时段", + "ruleCheckDate": "请勾选日期", + "ruleAddWorkDay": "请新增工作日", + "inspMethod": "点检方式", + "workShopOrPrdLine": "车间或产线", + "schduleMethod": "排程方式", + "preToleranceHour": "前容差小时", + "lagToleranceHour": "后容差小时", + "inspWorkGroup": "点检工作群组", + "hourWork": "小时工作", + "ruleFrequency": "请先选择频率週期", + "inspListNameNotEmpty": "点检表名称不可为空", + "descNotEmpty": "说明不可为空", + "frequencyNotEmpty": "频率不可为空", + "inspListTypeNameNotEmpty": "点检表类别名称不可为空", + "startTimeNotEmpty": "开始时间不可为空", + "endTimeNotEmpty": "结束时间不可为空", + "maintenanceOrderNo": "保养工单编号", + "maintenancePlanName": "保养计画名称", + "maintenanceStart": "保养开始", + "machineReasonCode": "机时原因代码", + "keyNotEmpty": "{key}不可为空", + "resultNotEmpty": "结果不可为空", + "confirmCompMaintainOrder": "是否确认完成此保养工单?", + "maintainOrderComp": "保养工单已完成", + "userNotExecuteMaintain": "当前用户无法执行此保养工单", + "machineReasonCodeNotConfig": "『{id}』机时原因代码未配置", + "confirmExecuteMaintain": "是否确认执行保养工单: {id}", + "confirmVoidMaintain": "是否确认作废保养工单: {id}", + "maintainLowestHourLimit": "保养最低时限(时)", + "maintainWorkGroup": "保养工作群组", + "ruleMaintenancePlanName": "请输入保养计画名称", + "inputFrequecy": "请输入频率", + "everyFewDays": "每几日", + "everyFewHours": "每几小时", + "await": "等待", + "abandon": "放弃", + "inExecute": "执行中", + "audit": "稽核", + "end": "结束", + "maintainExecuteTime": "保养计画执行时间", + "maintenanceOrder": "保养工单", + "machineReasonCodeNotEmpty": "机时原因代码不可为空", + "inputValue": "输入值", + "spares": "备品", + "maintainComp": "保养完成", + "maintenanceOrderSpare": "保养工单-备品记录", + "maintainItemAttach": "保养项目-附件", + "inputValueNotEmpty": "输入值不可为空", + "laborHourReasonCode": "人时原因代码", + "inputResult": "请输入结果", + "inputMemo": "请输入备注", + "inputMachineReason": "请输入机时原因代码", + "planEndTimeNotEarlier": "计画结束时间不可早于计画开始时间", + "maintainEqp": "保养设备", + "actualSpare": "实际使用备品", + "ruleSpare": "请输入备品", + "spareExist": "备品:{partName},已存在", + "personalOrder": "个人工单", + "resrceNoName": "设备编号名称", + "groupName": "组名", + "text": "文字", + "underReviewMaintainOrder": "待审查保养工单", + "confirmMaintainOrder": "是否要确认此保养工单?", + "maintainResult": "保养结果", + "permission": "许可权", + "mainOrderHistory": "保养工单历史纪录", + "historyRecord": "历史纪录", + "finisher": "完成人员", + "planTimeStart": "计画时间起", + "planTimeEnd": "计画时间讫", + "groupType": "群组种类", + "groupDesc": "群组说明", + "fullName": "全名", + "signOffTime": "签核时间", + "repairWorkGroup": "维修工作组", + "repairPrdGroup": "维修製造组", + "repairQAGroup": "维修品保组", + "maintainWork": "保养工作", + "inspWork": "点检工作", + "patrolWork": "巡检工作", + "maintainPeriod": "保养週期", + "enable3": "启", + "disable2": "停", + "confirmSelectPlan": "确定要{msg}用选择的计画: {schName}", + "maintainPlanView": "保养计画-查看", + "maintainPlanEdit": "保养计画-编辑", + "confirmDelMaintainPlan": "是否确定删除保养计画: {schName}", + "maintainPlanAdd": "保养计画-新增", + "confirmDelEqpNo": "是否确认删除设备编号: {equipName}", + "maintainPlanMethod": "保养计画方式", + "regularly": "定期", + "onSchedule": "定时", + "maintainWorkTime": "保养工时(时)", + "preRemindTime": "提前提醒时间(时)", + "startTimeFormatWrong": "开始时间格式错误", + "endTimeFormatWrong": "结束时间格式错误", + "ruleStartEnd": "开始时间不可大于结束时间", + "seasonPlan": "季度计画", + "halfYearPlan": "半年度计画", + "patrolOrderAdd": "巡检工单-新增", + "patrolStart": "巡检开始", + "inputPatrolListNo": "请输入巡检表编号", + "confirmVoidPatrolOrder": "是否确认作废巡检工单: {id}", + "leastOneSearchCondition": "至少选一个检索条件", + "patrolListNo": "巡检表编号", + "resrceName": "设备名称", + "patrolListName": "巡检表名称", + "patrolListDesc": "巡检表说明", + "patrolOrder": "巡检工单", + "patrolOrderNo": "巡检工单编号", + "patrolList": "巡检表", + "memoNotEmpty": "备注不可为空", + "patrolResult": "巡检结果", + "confirmCompPatrolOrder": "是否确认完成此巡检工单?", + "createDate": "建立日期", + "createTime": "建立时间", + "patrolItem": "巡检项目", + "inputPatrolListName": "请输入巡检表名称", + "patrolName": "巡检名称", + "periodDays": "週期天数", + "updateTime": "更新时间", + "patrolListView": "巡检表-查看", + "patrolListEdit": "巡检表-编辑", + "confirmDelPatrolList": "是否确定删除巡检表: {patrolName}", + "inputResrceGroup": "请输入设备群组", + "maxOrMinValue": "最大值or最小值", + "patrolListAdd": "巡检表-新增", + "numberText": "数字", + "repairOrderNo": "维修工单编号", + "repairItem": "维修项目", + "prdBatchInfo": "生产批资讯", + "cancelRepair": "取消报修", + "confirmRepair": "确认维修", + "repairRequest": "报修", + "repairOrderAdd": "维修工单-新增", + "repairOrderView": "维修工单-查看", + "repairOrderEdit": "维修工单-编辑", + "confirmCopyRepairOrder": "是否确认要複製维修工单: {id}", + "faultDesc": "故障说明", + "faultTime": "故障时间", + "repairPeriod": "维修期限", + "leastCheckOneRepair": "请至少勾选一笔维修项目", + "repairPeriodNotPast": "维修期限不可是过去", + "confirmCancelRepairOrder": "是否确认要取消维修工单: {id}", + "confirmAcceptRepairOrder": "是否确认接受维修工单: {id}, 并派送至维修工作群组?", + "confirmRepairOrderToRequest": "是否确认将维修工单: {id},转报修", + "repairRequestSuccess": "报修成功", + "createdSuccess": "建立成功", + "confirmDelRepairOrder": "是否确认删除维修工单: {id}", + "uploadTime": "上传时间", + "uploadUser": "上传人员", + "repairRequestUser": "报修人员", + "repairRequestTime": "报修时间", + "repairDepart": "报修部门", + "repairWorkGroup2": "维修工作群组", + "QCgroup": "品保群组", + "prdGroup": "製造群组", + "repairRequestEndNotEarlier": "报修结束日期不可早于开始日期", + "errEndNotEarlier": "故障结束日期不可早于开始日期", + "resrceRepairRecord": "设备维修-维修记录", + "repairRequstInfo": "报修资讯", + "repairInfo": "维修资讯", + "repairStartTime": "开始维修时间", + "repairUser": "维修人员", + "repairCompTime": "完成维修时间", + "repairResult": "维修结果", + "QCInfo": "品保资讯", + "QCUser": "品保人员", + "QCTime": "品保时间", + "QCDesc": "品保说明", + "inputRepairResult": "请输入维修结果", + "inputQCDesc": "请输入品保说明", + "repairResrce": "维修设备", + "errReasonAnalyze": "故障原因分析", + "repairStrategy": "维修对策", + "annotation": "注记", + "spareRecord": "备品记录", + "ruleErrDesc": "请输入故障说明", + "ruleRepairPeriod": "请输入维修期限", + "ruleErrTime": "请输入故障时间", + "stop": "中止", + "inQC": "品保中", + "inInvestigation": "调查中", + "reRepair": "重新维修", + "inRepair": "维修中", + "prdApproval": "製造签核中", + "awaitRepair": "待维修", + "userNotExecuteRepairOrder": "当前用户无法执行此维修工单", + "confirmReturnRepairOrder": "是否确认退回维修工单: {id}", + "returnSuccess": "退回成功", + "confirmCompRepairOrder": "是否确认完成此维修工单?", + "confirmComp": "确认完成", + "return": "退回", + "manufactureAnnotation": "製造注记", + "manufactureGroup": "製造群组(许可权)", + "repairResultNotEmpty": "维修结果不可为空", + "QCDescNotEmpty": "品保说明不可为空", + "QCAnnotation": "品保注记", + "inputRepairStrategy": "请输入维修对策", + "inputQCAnnotation": "请输入品保注记", + "transferOrder": "转单", + "stopRepairRequest": "中止报修", + "repairComp": "完成维修", + "confirmStopRepair": "是否确认中止维修工单: {id}", + "stopSuccess": "中止成功", + "confirmItemAllCompRepair": "请确认项目已全部完成维修作业", + "confirmCompAllRepair": "是否确认已完成此维修工单的所有项目?", + "repairSuccess": "维修完成", + "repairWorkGroupNotEmpty": "维修工作群组不可为空", + "confirmTransferOrder": "是否确定转单?", + "repairOrderNoTransferWorkGoup": "维修工单编号{orderName}已转至{transferWorkGroup}维修工作群组", + "inputErrReasonAnalyze": "请输入故障原因分析", + "confirmDelSpares": "是否确认删除备品: {partName}", + "confirmDelErrCode": "是否确认删除故障码: {id}", + "inspListTypeNo": "点检表类别编号", + "inspListType": "点检表类别", + "confirmDelInspListType": "是否确认删除点检表类别: {id}", + "inspItemGroupNo": "点检项目群组编号", + "confirmDelInspItemGroup": "是否确认删除点检项目群组: {id}", + "confirmDelTypeNo": "是否确认删除类型编号: {id}", + "confirmDelSpares2": "是否确认删除备品: {id}", + "confirmDelStructralCode": "是否确认删除结构码: {id}", + "departNo": "部门编号", + "departName": "部门名称", + "emailFormatWrong": "电子邮件格式错误", + "manager": "管理员", + "role": "角色", + "confirmDelGroupNo": "是否确认删除群组编号: {id}", + "resType": "资源类型", + "inputResType": "请输入资源类型", + "disabled2": "已禁用", + "engineer": "工程", + "unknown": "未知", + "resource": "资源", + "inputResouce": "请输入资源", + "procedureResource": "流程资源", + "validStartDate": "有效起始日期", + "vvalidEndDate": "有效结束日期", + "proof": "证明", + "inputProof": "请输入证明" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/pod.json b/src/locale/i18n/zh/mes/pod.json new file mode 100644 index 0000000..38a67ab --- /dev/null +++ b/src/locale/i18n/zh/mes/pod.json @@ -0,0 +1,96 @@ +{ + "resource": "设备", + "componentNumber": "组件编号", + "componentType": "组件类型", + "table": "表格", + "form": "表单", + "componentVersion": "组件版本", + "componentScript": "组件脚本", + "dataMethod": "数据方式", + "sqlScript": "SQL脚本", + "apiInterface": "API接口", + "dataContent": "数据内容", + "enterComponentNumber": "请输入组件编号", + "enterComponentType": "请输入组件类型", + "enterComponentVersion": "请输入组件版本", + "enterComponentScript": "请输入组件内容脚本", + "selectDataMethod": "请选择数据方式", + "enterDataContent": "请输入数据内容", + "mustRetrieveRecordBeforeDeletion": "必须先检索记录,然后才能将其删除", + "isCurrentVersion": "是否当前版本", + "productionLineMustBeFilled": "产线必须填写", + "workCenterMustBeFilled": "工作中心必须填写", + "processMustBeFilled": "工序必须填写", + "resourceMustBeFilled": "资源必须填写", + "productionItem": "生产物", + "productionItemMustBeFilled": "生产物必须填写", + "pleaseSpecifyProductionOperatorPanel": "请指定生产操作员面板", + "productionOperatorPanel": "生产操作员面板", + "displaySize": "显示尺寸", + "displayQuantity": "显示数量", + "quantityCanBeChanged": "数量可以更改", + "processCanBeChanged": "工序可以更改", + "defaultProcess": "缺省工序", + "resourceCanBeChanged": "设备可以更改", + "defaultResource": "缺省设备", + "productionLineCanBeChanged": "产线可以更改", + "defaultProductionLine": "缺省产线", + "workCenterCanBeChanged": "工作中心可以更改", + "defaultWorkCenter": "缺省工作中心", + "buttonIdentifier": "按钮标识", + "buttonName": "按钮名称", + "functionType": "功能类型", + "eventApi": "事件API", + "interfaceLink": "界面链接", + "path": "路径", + "panel": "面板", + "dynamicConfiguration": "动态配置", + "functionLink": "功能链接", + "component": "组件", + "componentName": "组件名称", + "horizontalSpanRatio": "横向跨度占比(1-24)", + "displayMode": "显示方式", + "independentDisplay": "独立显示", + "tabLabel": "TAB标签", + "height": "高度", + "panelPosition": "面板位置", + "aboveButton": "按钮上方", + "belowButton": "按钮下方", + "alwaysReload": "始终重载", + "enterWorkstation": "请输入工作站", + "enterSequence": "请输入顺序", + "operationPanel": "作业面板", + "keyNotFoundForType": "{firstKey} 对于类型 {secondKey} 不存在", + "keyNotFound": "{firstKey} 不存在", + "operatorPanelKeyNotFound": "操作员面板 {key} 不存在", + "invalid": "无效", + "reserved": "保留", + "correctiveAction": "纠正措施", + "workshopInventory": "车间库存", + "equipmentStatus": "设备状态", + "working": "工作中", + "unit": "单元", + "unitGroup": "单元组", + "productionLine": "生产线", + "productionLineGroup": "生产线组", + "building": "建筑物", + "assembly": "装配", + "scheduling": "调度", + "shipping": "装运", + "productionControl": "生产控制", + "recordControl": "记录控制", + "transfer": "转移", + "masterData": "主数据", + "workshopOperationControl": "车间作业控制", + "configurable": "可配置", + "releasable": "可下达", + "normal": "普通", + "testing": "测试", + "virtual": "虚拟", + "coProduct": "联产品", + "byProduct": "副产品", + "canceled": "已取消", + "springBeanObject": "SpringBean对象", + "dynamicScript": "动态脚本", + "pending": "待定" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/prd.json b/src/locale/i18n/zh/mes/prd.json new file mode 100644 index 0000000..877d5e1 --- /dev/null +++ b/src/locale/i18n/zh/mes/prd.json @@ -0,0 +1,487 @@ +{ + "BOMNo": "BOM编号", + "currentRevision": "目前版本", + "unitConsume": "单位耗用量", + "unitPrdAmount": "单位生产数", + "confirmDelItemList": "是否确认删除物料清单{bom}/{bomType}/{revision}", + "itemOperationDuplicate": "料件编号:{component} 投料点:{operation}重複", + "BOMMaintainItemDetail": "BOM必须维护料件明细", + "item": "料件", + "itemTypeDesc": "料件类别说明", + "selectWorkGroup": "请选择班组", + "selectUserWorkShiftNo": "请选择班製编号", + "nextMonth": "下月份", + "nextYear": "下年度", + "cannotModifyPastCalendars": "不可修改当日(包含当日)之前的班组日历", + "confirmCoverageWorkGroupCalendarInfo": "当前班组在{rangeText}已经有设定值,是否进行复盖", + "userWorkShift": "班製", + "userWorkShiftNo": "班製编号", + "userWorkShiftDesc": "班製说明", + "userWorkShiftNoExist": "班製编号: {userWorkShift}已存在", + "confirmDelUserWorkShift": "是否确认删除班製: {userWorkShift}", + "workPosition": "职级", + "workGroup": "班组编号", + "workGroupDesc": "班组说明", + "workGroupUser": "班组人员", + "workGroupType": "班组类型", + "workGroupTypeNo": "班组类型编号", + "workGroupTypeDesc": "班组类型说明", + "enterWorkGroupTypeNo": "请输入班组类型编号", + "confirmDelWorkGroupType": "是否确认删除班组类型: {workGroupType}", + "shippingLocation": "出货地点", + "shippingPlace": "出货地", + "country": "国家", + "address": "地址", + "user": "客户", + "userNoRequired": "客户编号不可为空", + "userNoExist": "客户编号: {customerNo}已存在", + "confirmDelUser": "是否确认删除客户: {customerNo}", + "inspLevel": "检验等级", + "confirmSelectInspPlanDel": "请选择要删除的检验计画", + "confirmSelectSupplierDel": "请选择要删除的供应商", + "itemMaterialMaintain": "料件维护", + "inspLevelNotSetMultiple": "检验等级『{str}』不可设定多个检验计画", + "confirmDelItemMaterialNo": "是否确认删除料件编号: {item}", + "contactPerson": "联络人", + "itemTypeExist": "料件类别: {typeNo}已存在", + "confirmDelItemType": "是否确认删除料件类别: {typeNo}", + "actionTiming": "作用时机", + "ruleLogic": "法则逻辑", + "rule": "法则", + "dispose": "处置", + "variable": "变数", + "operator": "运算子", + "checkValue": "判断值", + "startOp": "开始工序", + "exitOpTime": "出站时间", + "endOp": "结束工序", + "messaeRouter": "讯息 / 路径", + "controlRuleConfig": "管制法则配置", + "ruleLogicSetting": "法则逻辑设定", + "confirmRuleNoDel": "法则编号{ruleNo},是否确认删除", + "confirmRuleDel": "法则{rule},是否确认删除", + "confirmInOrderDuplicate": "顺序{seq}重複, 请确认", + "startOpIndicateTime": "开始工序的指定时间", + "endOpIndicateTime": "结束工序的指定时间", + "msgNotEmpty": "讯息不可为空", + "alarmCodeNotEmpty": "报警编号不可为空", + "routerNotEmpty": "路径不可为空", + "startOpEndOpDataNotEqual": "开始工序与结束工序所设定的资料不可完全相同", + "segmentNo": "工段编号", + "eventNo": "事件编号", + "eventName": "事件名称", + "eventDesc": "事件说明", + "severity": "严重度", + "duty": "责任", + "nonConformingGroup": "不合格群组", + "usableNonConformingGroup": "可用不合格群组", + "indicatedNonConformingGroup": "已指派不合格群组", + "selfDuty": "自责", + "otherDuty": "他责", + "nonConformanceCodeExist": "不合格代码: {ncCode}已存在", + "confirmDelNonComformingCode": "是否确认删除不合格代码: {ncCode}", + "usableNonConformingCode": "可用不合格代码", + "indicatedNonConformingCode": "已指派不合格代码", + "operationConfig": "工序配置", + "nonConformanceGroupExist": "不合格群组: {ncGroup}已存在", + "confirmDelNCGroup": "是否确认删除不合格群组: {ncGroup}", + "operationType": "工序类型", + "usableResrce": "可用设备", + "indicatedResrce": "已指派设备", + "usableItemType": "可用料件类别", + "indicatedItemType": "已指派料件类别", + "operationDataField": "工序主资料", + "confirmDelOperation": "是否确认删除ID为{operation}", + "operationExist": "工序: {operation}已存在", + "paramType": "参数类型", + "default": "默认", + "dataType": "型别", + "dataListSrc": "资料表来源", + "textSrc": "栏位来源", + "textDescSrc": "栏位说明来源", + "otherRequirement": "其他条件", + "dataList": "资料表", + "paramDataFields": "参数主资料", + "confirmDelParamNo": "是否确认删除参数编号: {parameterNo}", + "paramNoExist": "参数编号: {parameterNo}已存在", + "PDCNo": "PDC编号", + "PDCDataFields": "PDC主资料", + "confirmDelPDCNo": "是否确认删除PDC编号: {pdcNo}", + "selectParamForDel": "请选择要删除的参数", + "approve": "批准", + "release": "解签", + "approved": "已核准", + "notApproved": "未核准", + "operationForSegment": "工段对应的工序", + "inputKeywordForFilter": "输入关键字进行过滤", + "infoConfigForOperation": "工序相关资讯配置", + "operationDesc": "作业说明", + "controlRule": "管制法则", + "mapOffset": "Map偏移量", + "paramValue": "参数值", + "controlRuleNo": "管制法则编号", + "resrceAndFormula": "设备类别『{typeNo}』及主配方『{testProgramNo}』", + "toolCategoryAndType": "工具大类『{categoryNo}』,工具类别『{typeNo}』", + "notSetDuplicate": "不可重複设定", + "selectLimitResrce": "挑选限制的设备", + "selectSpareFormula": "挑选备用配方", + "doSearchFirst": "请先执行检索", + "itemRevisionApproveNotDel": "『{item}』、『{revision}』已核准,不得删除工段或工序", + "segmentNoOrOpeartionNo": "必须选择工段编号或工序编号", + "confirmDelOperation2": "是否确认删除工序: {treeOperation}", + "itemRevisionNotApproveByOperationNotSet": "{item} 、{revision}未设定工序,不得批准", + "itemRevisionNotApproveByMsgNotSet": "{item} 、{revision}未设定主要讯息,不得批准", + "confirmApprovePrdConfig": "是否核准『{item}』、『{revision}』的产品配置", + "approveSuccess": "核准成功", + "confirmDismissApproval": "是否确定对『{item}』、『{revision}』解除批准?", + "dismissSuccess": "解签成功", + "itemRevisionApprovedNotDel": "『{item}』、『{revision}』已核准,不得删除", + "confirmDelPrdConfig": "是否确认删除『{item}』、『{revision}』的产品配置", + "limitResrce": "限制设备", + "sourceMaterialNo": "来源料件编号", + "targetMaterialNo": "目标料件编号", + "targetRevision": "目标版本", + "targetExistApprovedNotCopy": "目标料件编号{newItem},版本{newRevision}已存在产品配置作业且状态为已核准,不可执行複製", + "confirmItemPrdParamConfigCover": "目标料件有配置产品生产参数,是否复盖?", + "copyComp": "複製完成", + "selectCategory": "请选择大类", + "selectType": "请选择类别", + "limitType": "限制类型", + "seqLimitedResrceNotEmpty": "序号{seq}的限制设备不可为空", + "formulaDesc": "配方说明", + "spareFormula": "备用配方", + "standardBatchAmount": "标准批量", + "orderSeq": "顺序「{el.seq}」", + "xYNotDuplicate": "X与Y不可重複", + "percent": "百分比", + "string": "字串", + "PDCDesc": "PDC说明", + "specCenter": "规格中心", + "prdConfigPDCParam": "产品配置作业-PDC参数", + "PDCPageSeqResrceNotEmpty": "PDC页签中,序号{seq}的设备类别不可为空", + "PDCPageSeqPDCNoNotEmpty": "PDC页签中,序号{seq}的PDC编号不可为空", + "PDCPageResrceTypeNotDuplicate": "PDC页签设备类别「{typeNo}」不可重複", + "paramNoMsg": "参数编号「{parameterNo}」", + "paramNoRule": "参数编号「{parameterNo}」不符合规格上限>规格下限", + "specificationCannotBeEmpty": "规格不可为空", + "RecipeNo": "Recipe编号", + "RecipeDesc": "Recipe说明", + "RecipeReversion": "Recipe版本", + "prdConfigRecipeParam": "产品配置作业-Recipe参数", + "pageRECIPESeqResrceTypeNotEmpty": "配方页签中,序号{seq}的设备类别不可为空", + "pageRECIPESeqRecipeNoNotEmpty": "配方页签中,序号{seq}的Recipe编号不可为空", + "pageRECIPESeqRecipeNoParamNotEmpty": "配方页签中,序号{seq}的Recipe编号的参数值不可为空", + "pageRECIPESeqRecipeNoHighLimitNotEmpty": "配方页签中,序号{seq}的Recipe编号的规格上限不可为空", + "pageRECIPESeqRecipeNoLowLimitNotEmpty": "配方页签中,序号{seq}的Recipe编号的规格下限不可为空", + "pageRECIPESeqRecipeNoSpecCenterNotEmpty": "配方页签中,序号{seq}的Recipe编号的规格中心不可为空", + "pageRECIPEResrceTypeNotDupilcate": "配方页签中设备类别「{typeNo}」不可重複", + "confirmDelReasonCode": "是否确认删除原因代码: {reasonCode}", + "paramNoDesc": "参数编号说明", + "selectParamNoForDel": "请选择要删除的参数编号", + "RecipeDataConfig": "Recipe主资料配置", + "RecipeDataFields": "Recipe主资料", + "paramItemNotEmpty": "参数清单不可为空", + "confirmDelRecipeNo": "是否确认删除Recipe编号: {recipeNo}", + "copySuccess": "複製成功", + "confirmSegmentChangedDelRouter": "工段已变更,已绘製的途程将删除,是否确定?", + "confirmDelRouter": "是否确认删除途程: {router}/{revision}", + "segmentDataFields": "工段主资料", + "orderShouldPositiveInt": "顺序应为正整数", + "segmentExist": "工段: {segmentNo}已存在", + "confirmDelSegment": "是否确认删除工段: {segmentNo}", + "confirmDelSupplierNo": "是否确定删除供应商编号{supplierNo}", + "phone": "电话", + "routerDraw": "途程-绘製", + "batchRule": "併批规则", + "specialUserBatchNo": "特批客户批号", + "setter": "设定人", + "batchRuleOrderCustom": "併批规则-工单自订", + "selectDelRow": "请先选择要删除的行", + "confirmSeqRemove": "序号{selectedSeqs},确定要移除该笔资料吗?", + "seqInputSettingValueNRequired": "序号{missingValues}必须输入设定值(N)", + "uncheckCustomDataField": "未勾选相同工单自订的资料栏位", + "seqUserBatchNotEmpty": "序号{emptyLots}的客户批号不可为空", + "seqUserLotDuplicate": "序号{duplicateSeq},客户批号重複", + "confirmNotSaveChange": "资料已异动且尚未保存,确定要取消此次异动吗?", + "equalPO": "同 PO", + "equalDateCode": "同 DateCode", + "differentPrdBatchNotOverN": "DateCode 不相同的生产批不超过(N)个", + "differenceNotOverWeekN": "DateCode 的差距不超过(N)周", + "equalUserLot": "同客户批号", + "differentUserLotNotOverN": "客户批号不相同的生产批不超过(N)个", + "equalTestingProgramRevision": "相同测试程式与版次", + "sameOrderCcstom": "相同工单自订", + "valid": "有效", + "EQURuleNo": "EQC规则编号", + "sampleRuleNo": "抽样规则编号", + "maxNumber": "最大几个", + "BINNo": "BIN编号", + "indicateBIN": "指定BIN", + "indicateCAT": "指定CAT", + "electricTestingRule": "电性抽测规则", + "confirmDelRuleNo": "是否确认删除{eqcRuleNo}", + "checkBIN": "请勾选BIN", + "sampleMethodMaxBINNotEmpty": "抽样方式为最大N个BIN时,最大几个不能为空", + "selectOneRow": "请先选择一行", + "allGoodCatNumber": "所有Good CAT数", + "indicateSingleCAT": "指定单一CAT", + "indicateMultipleCAT": "指定多个CAT", + "maximumSingleCAT": "最大一个CAT", + "maximumNCAT": "最大N个CAT", + "indicateRepleMultipleCAT": "指定多个CAT顺序补足", + "others": "其他", + "sampleType": "抽样类型", + "FTAutoSplitRule": "FT自动分批规则", + "splitRule": "分批规则", + "transferMethod": "转移方式", + "batchNo": "批号", + "keepOrigin": "沿用原始", + "prdNewNo": "产生新号", + "inputDirect": "直接输入", + "add": "加上", + "subtract": "减去", + "code": "码+", + "applyBIN": "套用BIN", + "applyCAT": "套用CAT", + "selectRouterNo": "请先选择途程编号", + "FTSplichRule": "FT分批规则", + "confirmDelItemSeq": "是否确认删除项次为{seq}", + "transferMethod2": "移转方式", + "itemNoChangeLogicNewNotEmpty": "产品编号变更逻辑为产生新号,料件编号不可为空", + "userPartChangeLogic": "客户料号变更逻辑为产生新号,客户料号不可为空", + "userLotChangeLogic": "客户批号变更逻辑为产生新号,请选择变更方式", + "inputFieldsNotEmpty": "直接输入输入值栏位不可为空", + "addingFieldNotEmpty": "加入输入值栏位不可为空", + "haltCodeOrInputFieldsNotEmpty": "保留码数或输入值栏位不可为空", + "haltCodePositiveInt": "保留码数必需为正整数", + "subtractCodeOrInputNotEmpty": "减去码数或输入值栏位不可为空", + "subtractCodePositiveInt": "减去码数必需为正整数", + "itemNoPositiveInt": "项次必需为正整数", + "leastCheckOneBIN": "至少勾选一个BIN", + "itemNotDuplicate": "项次不可重複", + "productCodeNotEmpty": "产品编号不能为空", + "splitNoRule": "分批编号规则", + "singleTest": "单次测试数", + "singleTestSecond": "单次测试秒数", + "singleTestPositiveInt": "单次测试数数应为正整数", + "ruleSingleTestSecond": "单次测试秒仅可输入大于0的数值,小数点允许2位", + "seqBINNoNotEmpty": "序号{seq},BIN编号不可为空", + "seqResultNotEmpty": "序号{seq},结果不可为空", + "CPTestProgram": "CP测试程式", + "FTTestProgram": "FT测试程式", + "insertNewItem": "插入新项", + "removeAll": "移除全部", + "fieldLabel": "栏位标籤", + "mandatory": "必须", + "enterCategory": "请输入类别", + "cannotRemoveDisabledRow": "不能移除已禁用行", + "noItemsToRemove": "没有要移除的项", + "confirmDeleteCustomData": "是否确认删除自订资料 {tableName}", + "numberType": "编号类型", + "orderType": "订单类型", + "definitionMethod": "定义方式", + "defineByContainer": "按容器定义", + "skipSequence": "跳过序列", + "prefix": "首码", + "suffix": "尾码", + "baseNumber": "基数", + "sequenceLength": "序列长度", + "maximumSequence": "最大序列", + "minimumSequence": "最小序列", + "increment": "增量", + "currentSequence": "当前序列", + "resetSequenceNumber": "重置序号", + "commitImmediately": "立即提交", + "numberingRuleExample": "编号规则示例", + "enterOrSelectNumberType": "请输入或选择编号类型", + "enterBaseNumber": "请输入基数", + "maxLength128Characters": "最大长度为128字元", + "enterCurrentSequence": "请输入当前序列", + "materialGroup": "物料组", + "noData": "没有资料", + "searchBeforeDeleting": "请先检索之后再删除", + "never": "从不", + "always": "总是", + "daily": "每天", + "weekly": "每週", + "monthly": "每月", + "yearly": "每年", + "weeklySunday": "每週 - 星期日", + "weeklyMonday": "每週 - 星期一", + "weeklyTuesday": "每週 - 星期二", + "weeklyWednesday": "每週 - 星期三", + "weeklyThursday": "每週 - 星期四", + "weeklyFriday": "每週 - 星期五", + "weeklySaturday": "每週 - 星期六", + "carrierTypeDesc": "载具类型说明", + "enterCarrierType": "请输入载具类型", + "pleaseEnterContainerType": "请输入容器类型", + "enterCarrier": "请输入载具编号", + "layoutColumns": "栏数", + "layoutRows": "列数", + "layoutCapacity": "最大容量", + "layoutMapping": "载具位置图", + "layoutType": "载具位置类型", + "containerType0": "不需要位置", + "containerType1": "单栏排列", + "containerType2": "矩阵排列", + "mappingNo": "位置编码", + "carrierTypeExist": "载具类型: {carrierType}已存在", + "carrierExist": "载具编号: {carrier}已存在", + "confirmDelCarrierType": "是否确认删除载具类型: {carrierType}", + "confirmDelCarrier": "是否确认删除载具编号: {carrier}", + "carrierMemberActive": "载具作业", + "carrierBind": "绑定", + "carrierUnBind": "解绑", + "operationType2": "操作类型", + "carrierNumber": "载具数量", + "carrierTypeBo": "载具类型BO", + "status1": "使用中", + "status2": "闲置", + "automaticGeneration": "自动生成", + "lotNo": "Lot No", + "currentLoadQty": "当前装载数量", + "positionLabel": "位置标签", + "position": "位置", + "batchCreation": "批量创建", + "confirmDelWorkGroupNo": "是否确认删除该班组编号:{workGroup}", + "startLineInspectionNumber": "开线检编号", + "lineInspectionConfiguration": "开线检配置", + "addLineInspectionConfiguration": "开线检配置-新增", + "viewLineInspectionConfiguration": "开线检配置-查看", + "editLineInspectionConfiguration": "开线检配置-编辑", + "checkItem": "检查项目", + "processOrProductionLine": "工序/产线", + "availableProductionLines": "可用产线", + "assignedProductionLines": "已指派产线", + "customData": "自定资料", + "deactivate": "停用", + "confirmDeletionOfLineInspectionId": "是否确认删除开线检编号 {id}", + "keyCannotBeEmpty": "{key}不能为空", + "processStep": "工步", + "selectProcessStepToDelete": "请选择要删除的工步", + "action": "动作", + "feeding": "投料", + "issueCommand": "下指令", + "systemIntegration": "系统对接", + "feedingOpen": "投料开启", + "issueCommandWaitForResponseOpen": "下指令 - 等待回应", + "issueCommandNoWaitForResponseOpen": "下指令 - 不等回应", + "alarmOpen": "Alarm 开启", + "systemIntegrationOpen": "系统对接开启", + "actionContent": "动作内容", + "processStepFeedingContent": "工步-投料内容", + "processStepIssueCommandContent": "工步-下指令内容", + "processStepAlarmContent": "工步-Alarm内容", + "processStepSystemIntegrationContent": "工步-系统对接内容", + "processStepParameters": "工步-参数", + "systemName": "系统名称", + "materialCannotBeEmpty": "物料不可为空", + "standardNumberCannotBeEmpty": "标准数不可为空", + "unitQuantityCannotBeEmpty": "单位量不可为空", + "commandIDCannotBeEmpty": "commandID 不可为空", + "eventIDCannotBeEmpty": "Event ID 不可为空", + "systemNameCannotBeEmpty": "系统名称不可为空", + "messageIDCannotBeEmpty": "Message ID 不可为空", + "processStepListCannotBeEmpty": "工步清单不可为空", + "enterProcessStep": "请输入工步", + "selectAction": "请选择动作", + "enterProcessStepActionContent": "请输入工步 {step} 动作 {action} 的动作内容", + "parameterLimitsCannotBeEmpty": "序号 {seq} 参数编号「{parameterNo}」的规格上下限不可为空", + "parameterDoesNotMeetLimits": "序号 {seq} 参数编号「{parameterNo}」不符合规格上限 > 规格下限", + "parameterValueCannotBeEmpty": "序号 {seq} 参数编号「{parameterNo}」的参数值不可为空", + "confirmDeletionOfSelectedRows": "是否确认删除选中的行", + "unbindAllConfirm": "确定解除所有绑定?", + "enterRecipeNumber": "请输入Recipe编号", + "enterVersion": "请输入版本", + "selectType2": "请选择类型", + "enterStandardNumber": "请输入标准数", + "numericInputOnly": "只能输入数值", + "standardNumberMustBeGreaterThanZero": "标准数必须大于零", + "stadQuantityAllowsUpToSixDecimals": "标准数最多允许六位小数", + "enterUnitQuantity": "请输入单位量", + "unitQuantityMustBeGreaterThanZero": "单位量必须大于零", + "unitQuantityAllowsUpToSixDecimals": "单位量最多允许六位小数", + "parameterNumberDuplicated": "参数编号 {parameterNo} 在序号 {duplicatedSeqs} 中重複设定", + "typeNoDuplicated": "设备类别 {typeNo} 在序号 {seq} 中重複设定", + "parameterNumberCannotBeEmpty": "参数编号不可为空", + "specLimitsCannotBeEmpty": "配方页籤,顺序 {seq} Recipe编号 {recipeNo} 的参数编号 {parameterNo} 规格上下限不可为空", + "typeNoParameterValueCannotBeEmpty": "配方页籤,顺序 {seq} Recipe编号 {recipeNo} 的参数编号 {parameterNo} 参数值不可为空", + "carrierPositionDuplicate": "载具位置{No}不可重複", + "workCenterNumber": "工作中心编号", + "mixingLinesAllowed": "是否可混线", + "workCenterCannotBeEmpty": "序号 {seq} 产线编号不可为空", + "workCenterCannotBeDuplicated": "产线编号 {workCenter} 不可重復", + "targetSourceMaterialVersionCannotBeSame": "目标料件编号/版本不可与来源料件编号/版本相同", + "resrceStatus": "设备状态", + "toolStatus": "工具状态", + "rework": "重工", + "subProcess": "子流程", + "tempProcess": "临时流程", + "prd": "製造", + "purchase": "采购", + "overZero": "须大于0", + "carrierSaveSuccessAndPrint": "载具新增成功,是否打印标籤?", + "capacityNotEnough": "载具『{carrier}』容量不足,无法装载", + "positionNotEnough": "载具『{carrier}』位置不足,无法装载", + "overSingleSelected": "请选择一个装载位置", + "positionLotLoaded": "载具位置『{position}』已有摆放LOT,请先移除LOT", + "selectLotDelete": "请先选择要删除的LOT", + "confirmRemoveAll": "是否清空载具上的所有LOT", + "confirmCancel": "是否取消此次变更", + "inputLotNo": "请输入Lot No", + "virtualItem": "虚拟料件编号", + "virtualItemRepeat": "料件明细已有此虚拟料件编号「{item}」,不可重复配置", + "virtualItemExist": "当前物料清单中不存在虚拟料件编号「{item}」", + "virtualItemBind": "虚拟料件「{item}」已被其他料件绑定,不允许删除", + "router": { + "error1": "工艺路线已在使用中,无法删除链接", + "error2": "不能连接自己", + "error3": "不能重复连线", + "error4": "不能回环", + "error5": "工艺路线已在使用中,无法新增节点", + "error6": "请把节点拖入到画布中", + "error7": "开始节点不能重复添加", + "error8": "结束节点不能重复添加", + "error9": "工艺路线已在使用中,无法删除节点", + "error10": "必须有一个开始节点", + "error11": "必须有一个结束节点", + "error12": "途程节点【{node}】步骤不能为空", + "error13": "节点【{node}】步骤【{step}】不可重复", + "error14": "途程节点连接不能为空", + "error15": "途程类型为『维修』,途程上仅可有一个维修工序", + "confirm1": "确定删除所点击的线吗?", + "confirm2": "确定要删除节点[{node}]?", + "success1": "连线成功" + }, + "sequenceDeviceCategoryPdcParameterValueNotMaintained": "PDC参数值未维护,不允许保存", + "startNode": "开始节点", + "otherSteps": "其它步骤", + "reworkProcess": "重工流程", + "nodeInformation": "节点信息", + "erpSteps": "ERP步骤", + "connectionInformation": "连线信息", + "script": "脚本", + "processDataInformation": "流程数据信息", + "processRouteInformation": "工艺路线信息", + "reservedIdentifier": "保留标识", + "processRouteType": "工艺路线类型", + "enterProcessRoute": "请输入工艺路线", + "selectProcessRouteType": "请选择工艺路线类型", + "returnToOriginalState": "返回(原始状态)", + "returnToAny": "返回(任意)", + "returnToPrevious": "返回(上一个)", + "returnToAnyPrevious": "返回(任意上一个)", + "returnToNext": "返回(下一个)", + "cannotCreateCycle": "不能回环", + "ruleCategory": "规则类别", + "format": "格式", + "firstEntryNotDeletable": "第一笔不允许删除", + "orderCannotBeEmpty": "顺序不可为空", + "orderCannotBeDuplicated": "顺序不可重複", + "ruleCategoryCannotBeEmpty": "规则类别不可为空", + "ruleCategoryCannotBeDuplicated": "规则类别不可重複", + "formatDefinition": "格式定义", + "pleaseEnterMaterialNumberFirst": "请先输入料件编号", + "noSuchMaterialNumber": "无此料件编号" +} diff --git a/src/locale/i18n/zh/mes/qms.json b/src/locale/i18n/zh/mes/qms.json new file mode 100644 index 0000000..7819591 --- /dev/null +++ b/src/locale/i18n/zh/mes/qms.json @@ -0,0 +1,185 @@ +{ + "inspectionItemSequenceRequirement": "检验项目:{qcItem},序号必须全部输入或全部不输入", + "inspectionItemSequenceDuplicate": "检验项目:{qcItem},序号『{msg}』重複", + "inspectionItemNGCodeRequirement": "检验项目: {qcItem},抽样序号 {msg} 检验NG,不合格代码不可为空", + "inspectionItemSequenceInputRequirement": "检验项目: {qcItem},序号必须全部输入或全部不输入", + "inspectionItemSequenceNumberDuplicate": "检验项目: {qcItem},序号『{msg}』重複", + "inspectionItemValueEmpty": "检验项目: {qcItem},抽样{msg}的检验值不可为空", + "inspectionItemContentEmpty": "检验项目: {qcItem},内文不可为空", + "inspectionItemCauseEmpty": "检验项目: {qcItem},要因: {str}不可为空", + "inspectionTaskOrderCompleted": "检验任务单『{jobNo}』已完成", + "userRoleNotInInspectionGroup": "使用者所配置的角色,不属于检验人员群组『{userGroup}』,不可执行检验", + "issuanceTime": "开立时间", + "qualityControlMethod": "品管方式", + "samplingQuantity": "抽样数量", + "queue": "排队", + "upperLimitControl": "单边上限管制", + "lowerLimitControl": "单边下限管制", + "doubleSidedControl": "双边管制", + "personalTaskOrder": "个人任务单", + "enterIssuanceStartTime": "请输入开立时间(起)", + "enterIssuanceEndTime": "请输入开立时间(迄)", + "issuanceStartTimeCannotExceedEndTime": "开立时间(起)不可大于开立时间(迄)", + "issuanceTimeRangeCannotExceed30Days": "开立时间区间不可大于30天", + "selectProductionBatch": "挑选生产批", + "selectOneSearchCondition": "查询准则需择一输入", + "inspectionTask": "检验任务", + "judged": "已判定", + "closeTime": "关闭时间", + "closingPersonnel": "关闭人员", + "inspectionTaskClose": "检验任务-关闭", + "inspectionTaskClosed": "检验任务『{jobNo}』已关闭", + "inspectionTaskCountingInspectionOperation": "检验任务-计数检验作业", + "samplingNumber": "抽样数", + "samplingPerBatch": "每笔抽", + "samplingPerSection": "每区抽", + "cause": "要因", + "selectNonConformingCode": "挑选不合格代码", + "selectableNonConformingCode": "可挑选不合格代码", + "selectedNonConformingCode": "已挑选不合格代码", + "noData": "无资料", + "section": "区", + "point": "点", + "inspectionTaskOrderSavedSuccessfully": "检验任务单{jobNo}储存成功", + "editSuccessful": "编辑成功", + "noDataForProductionBatch": "生产批:『{lotNo}』无资料,请确认", + "issueAbnormalOrder": "开立异常单", + "abnormalOrderGroup": "异常单群组", + "enterSpecialProcurementDescription": "请输入特采说明", + "selectAbnormalOrderGroup": "请选择异常单群组", + "selectReasonCode": "请选择原因代码", + "judgmentCompleted": "判定完成", + "specificationLimit": "规格界限", + "center": "中心", + "inspectionTaskMeteringInspectionOperation": "检验任务-计量检验作业", + "spcJudgmentResult": "SPC判定结果", + "textContentDescription": "内文说明", + "textContent": "内文", + "inspectionTaskTextInspectionOperation": "检验任务-内文检验作业", + "billingFrequency": "开单频率", + "manual": "手动", + "inspectionTaskView": "检验任务-查看", + "inspectionFrequencyNumber": "检验频率编号", + "timeSlot": "时段", + "inspectionFrequency": "检验频率", + "confirmDeleteInspectionFrequency": "是否确定删除检验频率: {inspecNo}", + "inspectionFrequencyExists": "检验频率已存在", + "selectInspectionFrequency": "请勾选检验频率", + "frequencySettingValueNotEmpty": "的频率的设定值不可为空", + "enterTime": "请输入时间", + "timeSlotExists": "时间段 {time} 已存在", + "roleIdentifier": "角色标识", + "abnormalProcessing": "异常处理中", + "iqcInspectionTaskClose": "IQC检验任务-关闭", + "destructionAndRetentionTotalCannotExceedReceivingQuantity": "破坏数量及留样数量总数不可大于收料数量", + "confirmToCloseInspectionOrder": "是否不再进行收料,确定关闭检验单『{jobNo}』", + "confirmToCloseInspectionOrder2": "确定关闭检验单『{jobNo}』?", + "iqcInspectionTaskClosed": "IQC检验任务『{jobNo}』已关闭", + "iqcInspectionTaskCountingInspectionOperation": "IQC检验任务-计数检验作业", + "inspectionValue": "检验值", + "abnormalOrder": "异常单", + "iqcInspectionTask": "IQC检验任务", + "selectAbnormalOrderReason": "请选择异常单原因", + "abnormalOrderIssuedSuccessfully": "异常单开立成功", + "enterJudgmentResult": "请输入判定结果", + "enterStorageQuantity": "请输入入库数量", + "enterReturnQuantity": "请输入退回数量", + "judgmentResultDoesNotMatchReceivingQuantity": "判定结果量不符合收料数量", + "noQuantityAvailableForReinspection": "无可重验的数量", + "iqcInspectionTaskMeteringInspectionOperation": "IQC检验任务-计量检验作业", + "iqcInspectionTaskTextInspectionOperation": "IQC检验任务-内文检验作业", + "confirmDeleteInspectionItem": "是否确认删除检验项目: {qcItem}", + "instrumentType": "仪器类型", + "controlChart": "管制图", + "specificationControlCannotBeEmpty": "规格控管不可为空", + "sampleNumberCannotBeEmpty": "样本数不可为空", + "operationSuccessful": "{showTitle} 成功", + "confirmDeleteInspectionPlan": "是否确定删除检验计画: {qcPlan}", + "spcAnalysis": "SPC分析", + "measurement": "计量", + "inspectionItemCannotBeEmpty": "检验项目不可为空", + "inspectionItemNumberCannotBeEmpty": "检验项目编号不可为空", + "samplingRuleOfInspectionItemCannotBeEmpty": "检验项目『{qcItem}』抽样规则不可为空", + "upperLimitOfInspectionItemCannotBeEmpty": "检验项目『{qcItem}』规格上限不可为空", + "centerOfInspectionItemCannotExceedUpperLimit": "检验项目『{qcItem}』规格中心不可大于规格上限", + "lowerLimitOfInspectionItemCannotBeEmpty": "检验项目『{qcItem}』规格下限不可为空", + "centerOfInspectionItemCannotBeLessThanLowerLimit": "检验项目『{qcItem}』规格中心不可小于规格下限", + "centerOfInspectionItemCannotBeEmpty": "检验项目『{qcItem}』规格中心不可为空", + "lowerLimitOfInspectionItemCannotExceedCenter": "检验项目『{qcItem}』规格下限不可大于规格中心", + "selectInspectionItemToRemove": "请选择要移除的检验项目", + "confirmToRemoveSelectedInspectionItems": "是否确定移除所勾选的检验项目", + "inspectionLevel": "检验水准", + "acceptanceLevel": "允收水准", + "customSampling": "自定抽样", + "enterSamplingRule": "请输入抽样规则", + "enterSamplingMethod": "请输入抽样方式", + "enterAreaQuantity": "请输入区域数量", + "samplingRuleAdd": "抽样规则-新增", + "samplingRuleView": "抽样规则-查看", + "samplingRuleEdit": "抽样规则-编辑", + "samplingRuleExists": "抽样规则已存在", + "customSamplingListNotEmpty": "自定抽样清单不可为空", + "maxGreaterThanMin": "序号『{seq}』的 Max 需大于 Min", + "samplingNumberNotEmpty": "序号『{seq}』的 抽样数不可为空", + "pleaseConfirm": "{msg} 请确认", + "samplingPerBatchNotEmpty": "每笔抽N区不可为空", + "samplingPerSectionNotEmpty": "每区抽N点不可为空", + "valueCannotBeDuplicated": "{str} 不可重複", + "confirmDeleteSamplingRule": "是否删除抽样规则 {samplePlan}?", + "normal": "正常", + "tightened": "加严", + "reduced": "减量", + "basedOnOriginalSamplingTable": "依据原抽样表", + "fixedZeroAcceptOneReject": "固定0收1退", + "firstProductionBatchOfWorkOrder": "工单第一个生产的程式批/SFC", + "firstProductionBatchOfTheDay": "每日第一个生产的程式批/SFC", + "firstProductionBatchAfterEquipmentMoldChange": "设备换模具后第一个生产的程式批/SFC", + "firstProductionBatchAfterEquipmentMaintenance": "设备维修后第一个生产的程式批/SFC", + "firstProductionBatchAfterHoursOfReactivation": "小时以上再启用第一个生产的程式批/SFC", + "interval": "间隔", + "hoursMachinePlusMaterial": "小时(机台+物料)", + "hoursMachinePlusInspectionPlan": "小时(机台+检验计画)", + "every": "每", + "perBatchOrSfc": "个程式批/SFC", + "fixedTimeEveryDay": "每日固定几点", + "pcsWorkstationPlusResource": "PCS(作业网站+资源)", + "equipmentDowntime": "设备停机", + "issuable": "可核发", + "disabled": "已停用", + "count": "计数", + "xbarR": "XBAR-R", + "xbarS": "XBAR-S", + "xRm": "X-RM", + "pChart": "P-CHART", + "homePage": "首页", + "inspectionItemMaintenance": "检验项目维护", + "inspectionTaskOperation": "检验任务作业", + "calibrationType": "校验频率", + "instrumentCalibrationType": "仪器校验类型", + "calibrationTypeEnterRequired": "请选择仪器校验类型", + "calibrationDateError": "校验频率日期不正确", + "calibrationFreqEmpty": "请输入校验频率", + "calibrationFreqRepeat": "校验频率日期已存在", + "calibrationType2": "校验类型", + "calibrationTypeEnterRequired2": "请选择校验类型", + "internalCalibration": "内校", + "externalCalibration": "外校", + "instrumentGroup": "仪器群组", + "resrceNo": "仪器设备编号", + "resrceDesc": "仪器设备名称", + "calibTaskOrderNumber": "校验任务单号", + "calibComDate": "校验完成时间", + "judgeComDate": "判定完成时间", + "judgeUser": "判定人员编号", + "judgeName": "判定人员姓名", + "selectInstrumentGroup": "请先选择仪器群组", + "calibrationTask": "校验任务", + "totalFileSize": "目前总档案大小", + "calibTaskMeteringInspectionOperation": "校验任务-计量检验作业", + "correctionValue": "补正值", + "calibTaskCountInspectionOperation": "校验任务-计数检验作业", + "calibTaskTextInspectionOperation": "校验任务-内文检验作业", + "calibTaskClose": "校验任务-关闭", + "calibTaskClosed": "校验任务『{jobNo}』已关闭", + "inspectionItemValueEmpty2": "检验项目: {qcItem}{msg}的检验值不可为空" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/rpt.json b/src/locale/i18n/zh/mes/rpt.json new file mode 100644 index 0000000..7c204e6 --- /dev/null +++ b/src/locale/i18n/zh/mes/rpt.json @@ -0,0 +1,31 @@ +{ + "xreportHostNotConfigured": "系统参数 XREPORT_HOST 未配置或值为空", + "xreportTokenNotConfigured": "系统参数 XREPORT_TOKEN 未配置或值为空", + "reportIdNotConfigured": "report_id 未配置或值为空", + "startTestTimeNotEmpty": "开始测试时间不可为空", + "endTestTimeNotEmpty": "结束测试时间不可为空", + "startTestTimeNotLater": "开始测试时间不可大于结束测试时间", + "testTimeNotOverMonth": "测试时间不可超过30天", + "ratio": "占比", + "testMachine": "测试机台", + "testTime": "测试时间", + "userOrderNo": "客户订单号", + "waferLotNo": "晶圆批号", + "testMachineNo": "测试机号", + "testReport": "测试报告", + "testType": "测试类型", + "qcCompleteFrom": "检验完成日期(起)", + "qcCompleteTo": "检验完成日期(迄)", + "ranking": "排名", + "ncPercent": "不合格代码占比", + "ncTotal": "不合格代码统计", + "ok": "合规笔数", + "ng": "超规笔数", + "error": { + "date1": "请输入检验完成日期(起)", + "date2": "请输入检验完成日期(迄)", + "date3": "检验完成日期(迄)不可早于检验完成日期(起)", + "date4": "检验完成日期查询区间不可超过半年", + "size": "请输入排名" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/smd.json b/src/locale/i18n/zh/mes/smd.json new file mode 100644 index 0000000..945247f --- /dev/null +++ b/src/locale/i18n/zh/mes/smd.json @@ -0,0 +1,151 @@ +{ + "equipmentType": "设备类別", + "equipmentTypeDesc": "设备类别说明", + "equipmentKind": "设备类型", + "kind": "类型", + "usableMainEquipment": "可使用主设备", + "enterEquipmentMajorCategory": "请输入设备大类", + "mainEquipmentCategory": "主设备类别", + "usableMainEquipmentCannotBeEmpty": "可使用主设备不可为空", + "usableMainEquipmentCannotBeSameAsMajorCategory": "可使用主设备不可与设备大类相同", + "equipmentMajorCategoryCannotBeEmpty": "设备大类不可为空", + "equipmentMajorCategoryExists": "设备大类: {categoryNo} 已存在", + "confirmDeleteEquipmentMajorCategory": "是否确认删除设备大类: {categoryNo}", + "mainEquipmentNumber": "主设备编号", + "usableAuxiliaryEquipment": "可用附属设备", + "assignedAuxiliaryEquipment": "已指派附属设备", + "confirmWithoutSavingScreenInfo": "画面资讯是否不进行储存", + "searchFirst": "请先检索", + "controlQuantity": "是否管控数量", + "equipmentCategoryCannotBeEmpty": "设备类别不可为空", + "selectToolCategoryToDelete": "请选择要删除的工具类别资料", + "needToSetControlQuantity": "需设定管控数量", + "limitBatchNumber": "限制批数", + "limitBatchQuantity": "限制批量", + "image": "图片", + "fileSize": "档案大小", + "imagePreview": "图片预览", + "removeImage": "移除图片", + "noImage": "暂无图片", + "enterEquipmentCategory": "请输入设备类别", + "equipmentCategoryAdd": "设备类别-新增", + "equipmentCategoryView": "设备类别-查看", + "equipmentCategoryEdit": "设备类别-编辑", + "unsupportedAttachmentFormat": "附件格式不支援,请上传图片附件", + "imageFileSizeExceedsLimit": "图片档案大小不可超过10mb", + "limitQuantityExceedsRegulation": "限制数量超出规定", + "equipmentCategoryExists": "设备类别: {typeNo} 已存在", + "equipmentManufacturer": "设备厂商", + "assetNumber": "资产编号", + "equipmentMasterDataAdd": "设备主资料-新增", + "equipmentMasterDataView": "设备主资料-查看", + "equipmentMasterDataEdit": "设备主资料-编辑", + "equipmentNumberExists": "设备编号: {resrce} 已存在", + "confirmDeleteEquipmentNumber": "是否确认删除设备编号: {resrce}", + "enterWorkshopCode": "请输入车间代号", + "workshopCodeCannotBeEmpty": "车间代号不可为空", + "confirmDeleteWorkshopCode": "是否确认删除车间代号:{fabNo}", + "workshopCodeAdd": "车间代号-新增", + "workshopCodeEdit": "车间代号-编辑", + "workshopCodeView": "车间代号-查看", + "confirmWorkshopCode": "是否确认车间代号为 {fabNo}", + "enterWorkCenter": "请输入工作中心", + "availableWorkCenter": "可用工作中心", + "assignedWorkCenter": "已指派工作中心", + "warehouseType": "仓库型态", + "storageLocationNumber": "货位编号", + "add": "增加", + "warehouseNumberAdd": "仓库编号-新增", + "confirmDeleteWarehouseNumber": "是否确认删除仓库编号为 {invNo}", + "warehouseNumberView": "仓库编号-查看", + "warehouseNumberEdit": "仓库编号-编辑", + "selectStorageLocationToRemove": "请选择要移除的储位", + "confirmRemoveSelectedStorageLocation": "是否确定移除所勾选的储位", + "factoryNumber": "工厂编号", + "enterFactoryNumber": "请输入工厂编号", + "factoryNumberView": "工厂编号-查看", + "factoryNumberEdit": "工厂编号-编辑", + "factoryNumberAdd": "工厂编号-新增", + "confirmDeleteFactoryNumber": "是否确认删除工厂编号: {site}", + "additionSuccessful": "添加成功", + "enterToolCategory": "请输入工具类别", + "toolMasterDataAdd": "工具主资料-新增", + "toolMasterDataView": "工具主资料-查看", + "toolMasterDataEdit": "工具主资料-编辑", + "toolNumberCannotBeEmpty": "工具编号不可为空", + "toolCategoryCannotBeEmpty": "工具类别不可为空", + "toolNumberExists": "工具编号: {toolNo} 已存在", + "confirmDeleteToolNumber": "是否确认删除工具编号: {toolNo}", + "enterToolMajorCategory": "请输入工具大类", + "toolMajorCategoryAdd": "工具大类-新增", + "toolMajorCategoryView": "工具大类-查看", + "toolMajorCategoryEdit": "工具大类-编辑", + "toolMajorCategoryCannotBeEmpty": "工具大类不可为空", + "toolMajorCategoryExists": "工具大类: {categoryNo} 已存在", + "confirmDeleteToolMajorCategory": "是否确认删除工具大类: {categoryNo}", + "toolCategoryAdd": "工具类别-新增", + "toolCategoryView": "工具类别-查看", + "toolCategoryEdit": "工具类别-编辑", + "toolCategoryExists": "工具类别: {typeNo} 已存在", + "confirmDeleteToolCategory": "是否确认删除工具类别: {typeNo}", + "yearMonth": "年月", + "selectMonth": "选择月", + "timeSlotNumber": "时段编号", + "selectTimeSlotNumber": "请选择时段编号", + "totalWorkingHours": "总工时", + "productionWorkingHours": "生产工时", + "excludedWorkingHours": "除外工时", + "settingRange": "设定范围", + "includeHolidays": "是否包含假日", + "setAll": "设定全部", + "selectYearMonth": "请选择年月", + "thisMonth": "本月份", + "thisYear": "本年度", + "calendarYearMonthDifferent": "日曆年月与选择年月不同", + "selectSettingRange": "请选择设定范围", + "selectIncludeHolidays": "请选择是否包含假日", + "cannotModifyPastDays": "不可修改当日(包含当日)之前的工作日曆", + "operationArea": "作业区域", + "areaConfiguration": "区域配置", + "workCenterOrEquipment": "工作中心/设备", + "enterType": "请输入类型", + "workCenterCannotBeEmpty": "工作中心不可为空", + "typeCannotBeEmpty": "类型不可为空", + "equipmentInAreaConfigCannotBeBlank": "区域配置的设备不可空白", + "workCenterInAreaConfigCannotBeBlank": "区域配置的工作中心不可空白", + "workCenterInAreaConfigCannotBeSame": "区域配置的工作中心不可与本身工作中心相同", + "equipmentInAreaConfig": "区域配置的设备", + "duplicate": "重複", + "workCenterInAreaConfig": "区域配置的工作中心", + "confirmDeleteWorkCenter": "是否确认删除工作中心:{workCenter}", + "workCenterAdd": "工作中心-新增", + "workCenterEdit": "工作中心-编辑", + "workCenterView": "工作中心-查看", + "confirmWorkCenter": "是否确认工作中心为 {workCenter}", + "representativeColor": "代表颜色", + "timeSlotConfiguration": "时段配置", + "workingTimeSlot": "工作时段", + "timeSlotType": "时段类型", + "enterTimeSlotNumber": "请输入时段编号", + "timeSlotNumberCannotBeEmpty": "时段编号不可为空", + "selectTimeSlotToDelete": "请选择要删除的时段", + "timeSlotNumberDoesNotExist": "时段编号不存在", + "workTypeDoesNotExist": "{workType}不存在", + "sequence2": "序号 {seq} :", + "cannotBeEmpty": " {msg} 不可为空", + "checkTimeSlotOverlap": "请检查工作时段的时间不可重叠", + "checkTimeSlotContinuity": "请检查工作时段的时间必须是连续的时间", + "confirmDeleteTimeSlot": "是否确认删除时段编号: {workType}", + "searchDataFirst": "请先检索资料", + "mixProduction": "是否可溷线生産", + "mixProductionAlert": "请选择是否可溷线生産", + "operationEmpty": "请设定设备『{resrce}』对应的工序", + "sequenceEmpty": "请设定设备『{resrce}』对应的顺序", + "sequenceNotDuplicate": "顺序『{sequence}』不可重复", + "swipeCardPoint": "刷卡点", + "swipeCardPoint": "刷卡点", + "areaConfigurationOrderNotFirstProcessDeviceNoSwipeIn": "區域配置順序 {sequence},不為工序的第壹臺設備,不可設定刷卡點進站", + "areaConfigurationOrderNotLastProcessDeviceNoSwipeOut": "區域配置順序 {sequence},不為工序的最後壹臺設備,不可設定刷卡點出站" +} + + diff --git a/src/locale/i18n/zh/mes/sys.json b/src/locale/i18n/zh/mes/sys.json new file mode 100644 index 0000000..f68af16 --- /dev/null +++ b/src/locale/i18n/zh/mes/sys.json @@ -0,0 +1,55 @@ +{ + "dataset": { + "title": "资料集", + "copy": "複製", + "watch": "检视", + "datasetNo": "资料集编号", + "datasetName": "资料集名称", + "datasourceBo": "资料来源名称", + "fieldName": "栏位名", + "fieldText": "栏位文本", + "fieldType": "栏位类型", + "httpMethod": "请求方式", + "sqlAnalysis": "SQL解析", + "apiAnalysis": "API解析", + "string": "字元", + "date": "日期时间", + "msg": { + "datasetNo": "资料集编号不可为空", + "datasetName": "资料集名称不可为空", + "sqlScript": "SQL不可为空", + "httpMethod": "请求方式不可为空", + "apiUrl": "API不可为空", + "fieldTypeEmpty": "序号{seq},栏位类型不可为空", + "remove": { + "alert": "是否确认删除资料集编号 {datasetNo}" + } + } + }, + "confirmDeleteDataSource": "是否确认删除资料来源名称 {name}", + "databaseType": "资料库类型", + "host": "主机", + "port": "埠", + "database": "资料库", + "password": "密码", + "hostFormatIncorrect": "主机格式不正确", + "dataSource": "资料来源", + "pleaseSelectDatabaseType": "请选择资料库类型", + "hostCannotBeEmpty": "主机不可为空", + "portCannotBeEmpty": "埠不可为空", + "databaseCannotBeEmpty": "资料库不可为空", + "usernameCannotBeEmpty": "用户名不可为空", + "passwordCannotBeEmpty": "密码不可为空", + "databaseConnectionSuccessful": "资料库连线成功", + "databaseConnectionFailed": "资料库连线失败", + "service-management": { + "serviceNo": "服务编号", + "programPath": "类别/程式", + "serviceManage": "服务定义管理", + "serviceDefinition": "服务定义", + "fileName": "档案名称", + "fileDate": "档案日期", + "serviceNoExists": "服务编号{serviceNo}已存在", + "confirmDel": "是否删除服务定义{serviceNo}" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/system.json b/src/locale/i18n/zh/mes/system.json new file mode 100644 index 0000000..6b66cf6 --- /dev/null +++ b/src/locale/i18n/zh/mes/system.json @@ -0,0 +1,4 @@ +{ + "heterogeneousSystemTransactionLogView": "异质系统交易Log-查看", + "timeCannotBeEmpty": "时间不可为空" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/tap.json b/src/locale/i18n/zh/mes/tap.json new file mode 100644 index 0000000..acdb12b --- /dev/null +++ b/src/locale/i18n/zh/mes/tap.json @@ -0,0 +1,15 @@ +{ + "cat": "CAT", + "hbin": "HBIN", + "test": { + "program": { + "error1": "序号{seq},CAT编号不可爲空", + "error2": "结果爲GOOD的CAT需大于一笔", + "error3": "结果爲FAIL的CAT需大于一笔", + "error4": "CAT『{catNo}』不可重複", + "error5": "CAT『{catNo}』,HBIN『{start}』不可大于『{end}』", + "error6": "HBIN『{hbin}』不可重複", + "error7": "序号{seq},HBIN不可爲空" + } + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/tds.json b/src/locale/i18n/zh/mes/tds.json new file mode 100644 index 0000000..8a6f1e0 --- /dev/null +++ b/src/locale/i18n/zh/mes/tds.json @@ -0,0 +1,142 @@ +{ + "release": "发佈", + "startupSheet": "开机表", + "capacityAllocationSheet": "产能分配表", + "confirmDeleteCapacityAllocationSheet": "是否确定删除此产能分配表", + "capacityAllocationSheetDeletedSuccessfully": "产能分配表删除成功", + "confirmReleaseCapacityAllocationSheet": "是否确定发佈此产能分配表?", + "capacityAllocationSheetReleasedSuccessfully": "产能分配表发佈成功", + "productModel": "产品型号", + "testingHours": "测试时数", + "productModelProcess": "产品型号/工序", + "productionSequence": "生产顺序", + "standardWorkingHours": "标准工时", + "arrivalTime": "到站时间", + "ruleDescription": "法则描述", + "enterProcess": "请输入工序", + "priorityOrderCannotBeRepeated": "优先顺序不可重複设定", + "workingTimeCalculationCategory": "工时计算类别", + "confirmDeleteStandardWorkingHours": "是否确定删除此笔标准工时", + "noData": "暂无资料", + "workingTimeCalculationType": "工时计算类型", + "leadTime": "前置时间", + "lineChangeTime": "换线时间", + "productionTime": "生产时间", + "fixedValue": "定值", + "testProcess": "测试工序", + "enterProductionTime": "请输入生产时间", + "productionTimeMustBeGreaterThanZero": "生产时间必须大于0", + "enterUPH": "请输入UPH", + "uphMustBeGreaterThanZero": "UPH必须大于0", + "inputOneOfWorkCenterEquipmentCategoryOrNumber": "工作中心,设备类别及设备编号需择一输入", + "notArrived": "未到站", + "confirmToDeleteAllSearchedEquipmentSchedules": "是否确定删除所有已检索出的设备的排程任务?", + "scheduleTaskDeletedSuccessfully": "排程任务删除成功", + "noDataToDownload": "无资料可下载", + "testSchedulingList": "测试排程清单", + "scheduleTaskDownloadedSuccessfully": "排程任务下载成功", + "taskCategory": "任务类别", + "productModelOrPID": "产品型号/(PID)", + "arrived": "已到站", + "inputNumber": "投入数", + "testingHoursOrHrs": "测试时数/(Hrs)", + "additionalOperationTimeOrHrs": "附加作业时间/(Hrs)", + "lineChangeTimeOrHrs": "换线时间/(Hrs)", + "scheduleStartTime": "排程开始/时间", + "scheduleEndTime": "排程结束/时间", + "packageType": "封装型别", + "size": "Size", + "pin": "Pin", + "temperature": "温度", + "scheduledTaskArea": "已排程任务区", + "scheduleStartTime2": "排程开始时间", + "unscheduledTaskArea": "待排程任务区", + "sort": "排序", + "nonProductionTaskArea": "非生产任务区", + "demandTime": "需求时间", + "demandHours": "需求时数", + "taskApplicant": "任务申请人", + "taskDescription": "任务说明", + "confirmDeleteTaskAtIndex": "是否确定删除项次{index}的任务?", + "scheduleStartTimeCannotBeEarlier": "排程开始时间不可早于目前时间", + "setScheduleStartTimeFirst": "请先设置排程开始时间", + "insertionSuccessful": "插入成功", + "selectTaskCategory": "请选择任务类别", + "enterTaskOrderNumber": "请输入任务单号", + "enterDemandTime": "请输入需求时间", + "demandTimeCannotBeEarlier": "需求时间不可小于目前时间", + "demandHoursMustBeGreaterThanZero": "需求时数必须大于0", + "confirmDeleteScheduleOfEquipment": "是否确定删除设备{eqpNo}的排程任务?", + "auxiliarySchedulingDeleteSuccessful": "测试辅助排程删除成功", + "confirmPublishScheduleOfEquipment": "是否确定发佈设备{eqpNo}的排程任务", + "scheduleTaskPublishedSuccessfully": "排程任务发佈成功", + "equipmentMajorCategoryNumber": "设备大类编号", + "customerProductProcessOrderNumber": "客户-产品-工序-工单号", + "priorityDeliveryDateProductProcessOrderNumber": "优先顺序-工单交期-产品-工序-工单号", + "temperaturePriorityCustomerProductProcessOrderNumber": "温度-优先顺序-客户-产品-工序-工单号", + "auxiliaryEquipmentNumber": "附属设备编号", + "productionCapacitySetting": "产能设定", + "itemDesc": "物料描述", + "priority": "优先级", + "confirmDeleteProductionCapacity": "是否确认删除该生产能力?", + "productionCode": "产品编码", + "productionDesc": "产品描述", + "plannedStartDate": "计划开始时间", + "plannedCompDate": "计划完成时间", + "durations": "派工时长(分钟)", + "dispatchStartDateTime": "派工开始时间", + "dispatchEndDateTime": "派工完成时间", + "dispatchDate": "派工日期", + "to": "至", + "startDate": "开始日期", + "endDate": "结束日期", + "restoreText": "还原", + "manualDispatchText": "手动派工", + "closeAllText": "关闭所有", + "expandAllText": "展开所有", + "lockText": "锁定", + "unlockText": "解锁", + "showMeOnlyText": "仅显示自己派工的任务", + "verticalDragText": "上下拖动", + "dispatchInsertText": "插单模式", + "lineFilterText": "产线过滤(模煳)", + "zoomOut": "缩小", + "zoomIn": "放大", + "manualLineDispatch": "手动派工-产线", + "editTask": "编辑任务", + "selectLockedShopOrderText": "请选择要{action}的任务", + "lockSuccess": "锁定成功", + "unlockSuccess": "解锁成功", + "lockNotAllowedModifyInfo": "该任务已被锁定,不允许修改", + "taskConflictInfo": "{taskNumber} 时间区段[{beginTime}->{endTime}]已经排有任务 {busyTaskNumber}!", + "restoreSuccess": "还原修改数据成功", + "selectDispatchStartTimeRange": "请选择派工开始时间范围", + "selectDispatchStartTime": "请选择派工开始时间", + "startTimeOutofBounds": "开始时间不能超出当前派工时间范围!", + "taskNoChange": "任务未发生变动!", + "minute": "分钟", + "hour": "小时", + "week": "週", + "month": "月份", + "year": "年", + "enterDispatchDuration": "请输入派工时长", + "needRecalculateDuration": "是否根据产能设定自动更新派工时长?", + "selectShopOrder": "选择工单", + "removeSelected": "移除选定项", + "dispatchedQty": "已派数量", + "availableQty": "可派数量", + "selectDispatchStartDateTime": "选择计划派工开始时间", + "dispatch": "派工", + "noSelectdRow": "没有选中的行", + "isDeleteSelectedRow": "是否确认删除选中行", + "pleaseInputOrSelectProductionLine": "请先输入或选择产线", + "dispatchAvailableQtyValidate": "工单[{shopOrder}],生产选项[{productionOptions}]的派工数量不能超过{availableQty}", + "pleaseAddDispatchDetail": "请添加派工细节", + "pleaseInputDispatchQty": "第{index}行,请输入派工数量", + "pleaseInputDispatchDurations": "第{index}行,请输入派工时长", + "pleaseInputDispatchStartDateTime": "第{index}行,请输入派工开始时间", + "fuzzyQuery": "模煳查询", + "pleaseInputShopOrderOrProduct": "请输入工单编码/产品编号/产品描述", + "selectAtLeasetOne": "请选择至少一项数据", + "productionLineNoWorkCenter": "产线{productionLine}未指定工作中心" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/tms.json b/src/locale/i18n/zh/mes/tms.json new file mode 100644 index 0000000..f77722f --- /dev/null +++ b/src/locale/i18n/zh/mes/tms.json @@ -0,0 +1,97 @@ +{ + "recipient": "领用人员", + "receivingDate": "领用日期", + "receivingDescription": "领用说明", + "toolName": "工具名称", + "lifeDisposalMethod": "寿命处置方式", + "lifeLimitCount": "寿命限制次数", + "currentLife": "当前寿命", + "resettableCount": "可重置次数", + "currentResetCount": "当前重置次数", + "createToolRequisitionOrder": "建立-工具领用单", + "enterWarehouseNumber": "请输入仓库编号", + "warehouseNumberCannotBeEmpty": "仓库编号不能为空", + "selectAtLeastOneToolNumber": "请至少选择一笔工具编号", + "confirmCancellation": "是否确认取消", + "toolNumberCannotBeEmpty": "工具编号不能为空", + "toolNumberNotInList": "工具编号『 {toolNo} 』不在列表中,请确认", + "requisitionOrderNumber": "领用单号", + "requisitionTime": "领用时间", + "toolRequisitionOrderDetail": "工具领用单-明细", + "uncontrolled": "不管控", + "requisitionStartDateCannotBeEmpty": "领用开始日期不可为空", + "requisitionEndDateCannotBeEmpty": "领用结束日期不可为空", + "dateCannotExceedOneYear": "日期不可超过一年", + "returnPersonnel": "退库人员", + "returnDate": "退库日期", + "createToolReturnOrder": "建立-工具退库单", + "storageLocationNumber": "储位编号", + "toolReturnOrderAttachment": "工具退库单-附件", + "returnTime": "退库时间", + "returnStartDateCannotBeEmpty": "退库开始日期不可为空", + "returnEndDateCannotBeEmpty": "退库结束日期不可为空", + "toolReturnOrderDetail": "工具退库单-明细", + "onlyPositiveIntegersAllowed": "只能输入正整数", + "toolCategoryNumberCannotBeEmpty": "工具类别编号不能为空", + "pleaseSelectLifeDisposalMethod": "请选择寿命处置方式", + "pleaseSelectCalculationMethod": "请选择计算方式", + "resettableCountMustBePositiveIntegerOrZero": "可重置次数必须输入正整数或0", + "lifeLimitCountMustBePositiveInteger": "寿命限制次数必须输入正整数", + "percentageMustBeIntegerBetween1And100": "百分比必须输入1-100的整数", + "toolLifeConfigAdd": "工具寿命配置-新增", + "toolCategoryDoesNotExist": "工具类别 [ {value} ] 不存在", + "toolLifeConfigView": "工具寿命配置-查看", + "toolLifeConfigEdit": "工具寿命配置-编辑", + "maintenanceOrderNumber": "保养单号", + "toolMaintenanceOrder": "工具保养单", + "confirmDeleteToolMaintenanceOrder": "工具保养单 {maintenanceNo},是否确定删除?", + "unfinished": "未完成", + "scrapped": "已报废", + "resetLife": "重置寿命", + "toolScrap": "工具报废", + "maintenanceOrderStatus": "保养单状态", + "lifeAfterReset": "重置后寿命", + "resetCountOnBilling": "开单重置次数", + "lifeOnBilling": "开单寿命", + "billingDescription": "开单说明", + "maintenanceDescription": "保养说明", + "toolDisposalMethod": "工具处置方式", + "notification": "通知", + "uncontrolledLife": "不管控寿命", + "receivingOrderNumber": "收货单号", + "receivingOrderConfirmation": "收货单确认", + "receivingOrderVoid": "收货单作废", + "receivingOrderDeletion": "收货单删除", + "toolVendor": "工具厂商", + "toolReceivingOrder": "工具收货单", + "detailAdd": "明细-新增", + "confirmChangeAfterReceiptNo": "{receiptNo} 确认后即不可再更改明细项次, 是否确定?", + "cannotConfirmWithoutDetail": "收货单没有明细,不可执行确认", + "confirmVoidReceiptNo": "{receiptNo} 是否确定作废?", + "confirmDeleteReceiptNo": "{receiptNo} 是否确定删除?", + "detailEdit": "明细-编辑", + "confirmDeleteItemDetail": "是否确定删除项次 {seq} 的明细?", + "detailIQC": "明细-IQC", + "detailConfirmation": "明细-确认", + "detailAttachment": "明细-附件", + "receivingOrderStatus": "收货单状态", + "receivingPersonnel": "收货人员", + "receivingTime": "收货时间", + "confirmAction": "是否确定{action}", + "repairOrderNumber": "维修单号", + "toolRepairOrder": "工具维修单", + "confirmDeleteToolRepairOrder": "工具维修单{repairNo} ,是否确定删除?", + "repairOrderStatus": "维修单状态", + "repairDescription": "维修说明", + "confirmDeleteStatusCode": "是否确认删除状态码为 {statusCode}", + "toolStatusCodeAdd": "工具状态码-新增", + "toolStatusCodeEdit": "工具状态码-编辑", + "toolStatusCodeView": "工具状态码-查看", + "toolMajorCategoryNumber": "工具大类编号", + "toolCategoryNumber": "工具类别编号", + "toolStatusChangeOperation": "工具状态变更作业", + "toolCheckoutForm": "工具领用单", + "toolReturnForm": "工具退库单", + "calculationMethod": "计算方式", + "statusCodeSelection": "状态码选择" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mes/wip.json b/src/locale/i18n/zh/mes/wip.json new file mode 100644 index 0000000..fcdce75 --- /dev/null +++ b/src/locale/i18n/zh/mes/wip.json @@ -0,0 +1,224 @@ +{ + "onDutyChecklist": "上岗清单", + "toolChecklist": "工具清单", + "enterStationOperation": "进站作业", + "exitStationOperation": "出站作业", + "personnelOnOffDuty": "人员上下岗", + "toolOnOffMachine": "工具上下机", + "equipmentStatusChange": "设备状态变更", + "singleBatchLot": "单批Lot", + "multiBatchLot": "多批Lot", + "singleBatchBin": "单批Bin", + "singleBatchCat": "单批CAT", + "singleBatchBinSampling": "单批Bin抽样", + "singleBatchCatSampling": "单批CAT抽样", + "nonConformingOperation": "不合格作业", + "ftTestOperation": "FT测试作业", + "eqcTestOperation": "EQC测试作业", + "logoutOperation": "登出作业", + "productionBatchNumberNotExist": "生产批号{lotNo}不存在", + "productionBatchStatusNotSuitable": "生产批号目前状态无法进行进出站作业", + "maintainOperationCustomData": "工序{operation}请先维护工序自订资料CHECK_IN_OPERATION", + "confirmOperationCustomData": "请确认工序{operation}配置的工序自订资料CHECK_IN_OPERATION是否正确", + "cpNonConformingOperation": "CP不合格作业", + "waferNonConformingOperation": "Wafer不合格作业", + "binNonConformingOperation": "BIN不合格作业", + "catNonConformingOperation": "CAT不合格作业", + "toolChecklistOnMachine": "上机工具清单", + "parameterList": "参数清单", + "materialList": "用料清单", + "actualUsage": "实际用量", + "onDutyStaff": "上岗人员", + "machineTools": "上机工具", + "productionRemark": "生产备注", + "logOut": "登出", + "lotNoCannotRepeat": "Lot No:{lotNo}不可重複", + "lotNoNotRetrieved": "当前Lot No尚未检索,是否重新检索?", + "checkInSuccess": "{lotNo}进站成功
    ", + "checkInSuccess1": "{lotNo}进站成功", + "checkOutSuccess": "{lotNo}出站成功
    ", + "checkOutSuccess1": "{lotNo}出站成功", + "logOutSuccess": "{lotNo} 登出成功", + "confirmWaferCheckOut": "是否要将已勾选的WAFER出站?", + "detainEntireBatch": "扣留整批", + "detainSinglePiece": "扣留单片", + "alarm": "报警", + "designatedPath": "指定路径", + "confirmOperation": "{message}
    是否确定{opKey}?", + "checkInControlRule": "进站管制法则处置逻辑不允许指定路径", + "nonConformingCodeDescription": "不合格代码说明", + "operationParameter": "作业参数", + "parameterContent": "参数内容", + "standardUsage": "标准用量", + "onDutyPerson": "上岗人", + "defectiveQuantityCannotExceedBatchQuantity": "不良数量不可大于生产批数量", + "nonConformingOperationSuccessful": "不合格作业成功", + "batchNumberQuantity": "批号数量", + "postBatchingAction": "併批后动作", + "transferToSpecificOperation": "转移指定工序", + "transferToSpecificRoute": "转移指定途程", + "transferRoute": "转移途程", + "routeVersion": "途程版本", + "step": "步骤", + "postSplitAction": "分批后动作", + "splitQuantityCannotExceedLotQuantity": "分批数量不可大于Lot No的数量", + "areYouSureToSplit": "是否确定拆批?", + "changeProductCode": "变更产品编号", + "changeUserPart": "变更客户料号", + "changeUserLot": "变更客户批号", + "changeLot": "变更料号", + "change": "变更", + "sampleBINDistribution": "抽样BIN分佈", + "sampleCATDistribution": "抽样CAT分佈", + "sampleBINAccptReject": "抽样BIN允退数", + "sampleCATAccptReject": "抽样CAT允退数", + "sampleFinalDistribution": "抽样最终分佈", + "sampleBIN": "抽样BIN", + "sampleCAT": "抽样CAT", + "confirmLotNoTestResult": "是否确认Lot No: {lotNo}本次的测试结果", + "testCompleted": "测试完成", + "inputBINDistribution": "投入BIN分佈", + "inputCATDistribution": "投入CAT分佈", + "finalBINDistribution": "最终BIN分佈", + "finalCATDistribution": "最终CAT分佈", + "BINSampleResult": "BIN抽样结果", + "CATSampleResult": "CAT抽样结果", + "nonConformingInfo": "不合格资讯", + "testResult": "测试结果", + "testInput": "测试输入", + "distributeQtyNotEmpty": "分佈数量不可为空", + "firstBINDistribution": "第一次BIN分佈", + "ConfirmBinNoData": "{binNo}无资料,请确认", + "nonConformingAmountNotMoreBinNo": "不良原因数量不可大于{binNo}数量", + "samplePartAmount": "应抽片数", + "currentPart": "当前片数", + "samplePointNumber": "应抽点数", + "sampleZoneAmount": "应抽区数", + "sampleAmountRequired": "必需输入抽样数量", + "BINNotFoundAndPrdNone": "Lot No:{lotNo}找不到CAT分佈资料,不能进行生产", + "sampleBINDistUnSetPrdNone": "未设定抽样BIN分佈的抽样数,无法进行生产", + "lotNoInQVMNo": "{lotNo}于QVM工序未设定Wafer抽样规则,不能进行生产", + "zoneNotSetPrdNone": "QVM工序所设定的Wafer抽样规则『{samplePlan}』未设定区域,不能进行生产", + "partNoAmountNotEqualSampling": "选择片号数量与应抽片数不一致,不能进行生产", + "confirmOpKey": "是否确定{key}?", + "lotNoBINNotFoundNotOut": "Lot No:{lotNo}找不到BIN分佈资料,不能进行出站", + "lotNoCATNotFoundNotOut": "Lot No:{lotNo}找不到CAT分佈资料,不能进行出站", + "inspResultStrBr": "检验结果 NG, Lot No {lotNo} HOLD, 异常单号 {abnNo}
    ", + "autoSplitBatch": "自动拆分的批次:{lotNo}
    ", + "enterLinesideWarehouse": "入线边仓", + "qtySelected": "已选片数", + "dispatchableQuantity": "可派工数量", + "productionPlanAdd": "生产计划-新增", + "productionPlanEdit": "生产计划-编辑", + "productionPlanView": "生产计划-检视", + "selectWorkOrderNumber": "请选择工单编号", + "enterPositiveNumber": "仅可输入大于0的数字", + "dispatchQuantityCannotExceedDispatchable": "派工数量不可大于可派工数量", + "enterPlannedStartTime": "请输入计划开始时间", + "enterPlannedEndTime": "请输入计划结束时间", + "plannedEndTimeCannotBeEarlier": "计划结束时间不可早于计划开始时间", + "plannedStartTimeMustBeDefined": "计划开始时间必须是工作日历定义的时间", + "selectProductionLine": "请选择产线", + "equipmentInformation": "设备资讯", + "productionInformation": "生产资讯", + "onPostInformation": "上岗资讯", + "feedingInformation": "上料资讯", + "notStarted": "未开线", + "lineStopped": "停线", + "productionPlan": "生产计划", + "planQuantity": "计划数量", + "completedQuantity": "完工数", + "defectiveQuantity": "不良数", + "completionTime": "完工时间", + "downtime": "停线时间", + "startLine": "开线", + "currentStateStartTime": "当前状态起始时间", + "accumulatedTimeInMinutes": "累积时间(分)", + "todayProductionQuantity": "今日生产数", + "totalDefectiveQuantity": "总不良数", + "confirmDeletionPlan": "删除后不可生产此计划,是否确定删除?", + "confirmStartLine": "是否确定开线?", + "startLineSuccessful": "开线成功", + "confirmStopLine": "停线后不可生产此计划,是否确定停线?", + "stopLineSuccessful": "停线成功", + "planEndTimeCannotEqualStartTime": "计划结束时间不可等于计划开始时间", + "workCenterNotApplicable": "工作中心非产线型,不适用开线作业", + "startLineTime": "开线时间", + "startLinePersonnel": "开线人员", + "standardValue": "标准值", + "pdcDataView": "PDC资料查看", + "pdcDataEntry": "PDC资料输入", + "parameterValueInvalidForNumber": "参数编号『{parameterNo}』型别为数值,所输入的参数值不合法", + "parameterValueInvalidForSpecification": "参数编号『{parameterNo}』型别为规格,所输入的参数值不合法", + "parameterValueInvalidForPercentage": "参数编号『{parameterNo}』型别为百分比,所输入的参数值不合法", + "confirmSave": "是否确认保存?", + "assembledQuantity": "已组装数量", + "enterProductionItem": "请输入生产物", + "noDataFound": "查无资料", + "selectOrEnterProductionItemFirst": "请先选择或输入生产物", + "addComponent": "新增元件", + "selectDataToRemove": "请勾选要移除的资料", + "removeComponent": "移除元件", + "noMaterialInformationCannotSave": "无料件资讯无法保存", + "transferWarehouseCannotBeEmpty": "料件批号 {item} 的转入仓库不可为空", + "removalQuantityCannotBeEmpty": "料件批号 {item} 的移除数量不可为空", + "removalQuantityMustBeGreaterThanZero": "料件批号 {item} 的移除数量必须大于0", + "removalQuantityCannotExceedAssembledQuantity": "料件批号 {item} 的移除数量不可大于已组装数量", + "materialBatchNumberCannotBeEmpty": "料件批号不可为空", + "materialBatchNoWarehouseCannotBeEmpty": "料件批号 {item} 仓库不可为空", + "materialBatchNoAdditionQuantityCannotBeEmpty": "料件批号 {item} 新增数量不可为空", + "materialBatchNoAdditionQuantityMustBeGreaterThanZero": "料件批号 {item} 新增数量必须大于0", + "removalSuccessful": "移除成功", + "removalQuantity": "移除数量", + "additionQuantity": "新增数量", + "warehouseDescription": "仓库说明", + "pleaseSelectOrEnterProductionItem": "请先选择或输入生产物", + "removalQuantityMustBeNumber": "料件批号 {item} 的移除数量需为数字", + "additionQuantityMustBeNumber": "料件批号 {item} 的新增数量需为数字", + "prdLineNotExist": "产线 {prdLine} 不存在", + "prdLineNotAllowedForPodReporting": "{prdLine} 非产线,不可由此POD报工", + "lotNoNotExist": "Lot No {lotNo} 不存在", + "pdcDataCollection": "PDC资料收集", + "scheduledTime": "预訂时间", + "departureTime": "出发时间", + "arrivalTime": "到达时间", + "showOnlyTransportingCarts": "只显示搬运中台车", + "sourceAreaLocation": "来源区域(位置)", + "destinationAreaLocation": "目的区域(位置)", + "avgNumber": "AVG编号", + "scheduleName": "排程名称", + "scheduledDateStartCannotBeLaterThanEnd": "预定日期起始时间不可大于结束时间", + "scheduledDateRangeCannotExceed30Days": "预定日期区间不可超过30天", + "departureDateStartCannotBeLaterThanEnd": "出发日期起始时间不可大于结束时间", + "departureDateRangeCannotExceed30Days": "出发日期区间不可超过30天", + "arrivalDateStartCannotBeLaterThanEnd": "到达日期起始时间不可大于结束时间", + "arrivalDateRangeCannotExceed30Days": "到达日期区间不可超过30天", + "carrierCategory": "载具类别", + "carrierCategoryDescription": "载具类别说明", + "noCheckItemSelected": "无勾选此检查项目", + "equipment": "设备", + "operation": "工序", + "needsCertification": "需要上岗", + "inspectionResult": "检查结果", + "toolSetup": "工具上机", + "materialComplete": "物料齐套", + "equipmentAssemblyOperation": "设备组合作业", + "material": "物料", + "loadingQuantity": "上料数量", + "standardQuantity": "标准数量", + "confirmProductionStart": "确定开线", + "cancelProductionStart": "取消开线", + "productionStartCheckResult": "开线检结果", + "staffOnDuty": "人员上岗", + "singleBatchUSNCheckIn": "单批 USN 进站", + "singleBatchUSNCheckOut": "单批 USN 出站", + "multipleBatchUSNCheckIn": "多批 USN 进站", + "multipleBatchUSNCheckOut": "多批 USN 出站", + "confirmCheckIn": "是否确定 USN {lotNo} 进站", + "confirmCheckOut": "是否确定 USN {lotNo} 出站", + "keyCheckInOperation": "{key} 进站作业", + "keyCheckOutOperation": "{key} 出站作业", + "keyFailedOperation": "{key} 不合格作业", + "operationCustomDataNotPack": "工序 {operation} 的自订资料 CHECK_IN_OPERATION 不为 PACK,请先进行维护", + "dataRetrievalChanged": "检索资料已变更,将重新进行检索" +} diff --git a/src/locale/i18n/zh/mes/wms.json b/src/locale/i18n/zh/mes/wms.json new file mode 100644 index 0000000..fd4b913 --- /dev/null +++ b/src/locale/i18n/zh/mes/wms.json @@ -0,0 +1,318 @@ +{ + "alreadyInbound": "已入库", + "confirmed": "已确认", + "stockinType": "入库类型", + "stockinQuantity": "入库数量", + "rawMaterialInboundOrderNo": "原料入库单号", + "rawMaterialInboundAdd": "原料入库单-新增", + "rawMaterialInboundEdit": "原料入库单-编辑", + "rawMaterialInboundDetailAdd": "原料入库单明细-新增", + "purchaseOrderAdd": "採购单-新增", + "purchaseOrder": "採购单", + "purchaseOrderDetailAdd": "採购单明细-新增", + "purchaseDetailEdit": "採购明细-编辑", + "outInv": "出库仓库", + "inInv": " 入库仓库", + "outInvNo": "出库仓库编号", + "outInvDesc": "出库仓库说明", + "inInvNo": "入库仓库编号", + "inInvNoDesc": "入库仓库说明", + "documentStatus": "单据状态", + "documentToDate": "~", + "addDetails": "新增明细", + "defectiveGoodsInbound": "不良品入库", + "inboundOrderAdd": "入库单-新增", + "inboundOrderEdit": "入库单-编辑", + "inboundOrderConfirm": "入库单-确认", + "confirmDeletion": "是否删除入库单", + "workOrderReturnAdd": "工单退料单-新增", + "workOrderReturnEdit": "工单退料单-编辑", + "inputFirst": "请先输入", + "selectFirst": "请先选择", + "enterSerialNumber": "请输入序号", + "is": "的", + "transferLocationsCannotBeSame": "转出仓库/储位 与 转入仓库/储位 不可相同", + "returnQuantityMustBeGreaterThanZero": "退料数量必须大于0", + "errorMessage": { + "documentStartDate": "单据日期(起)不可大于单据日期(迄)", + "startDateGreaterThanEndDate": "製造日期(起)不可大于製造日期(迄)", + "manufactureDateCannotExceedExpiryDate": "製造日期不可大于到期日", + "documentDateRange": "单据日期区间不可大于30天", + "documentStartDateRequired": "单据日期(起)不可为空", + "documentEndDateRequired": "单据日期(迄)不可为空", + "documentStartEndDateError": "单据日期起始时间不可大于结束时间", + "clauseOneInput": "至少要输入一项条件", + "noSuchLotNo": "无此 Lot No『{lotNo}』", + "noSuchMaterialBatchNumber": "无此 料件批号『{MaterialBatchNumber}』", + "lotNoNotEnabled": "Lot No 不是启用状态, 不可执行分批", + "MaterialBatchNumberNotEnabled": "料件批号 不是启用状态, 不可执行分批", + "MaterialBatchNumberNotFeeding": "料件批号 不是启用状态, 不可执行上料", + "quantityNotEmpty": "数量不可为空", + "batchQuantityGreaterThanOne": "分批数量必须大于1", + "batchQuantityLessThanExisting": "分批数量必须小于现有数量", + "newBatchNumberCannotBeSameAsOld": "新批号不可与旧批号重複", + "createReturnDetails": "请建立退料明细", + "confirmExecutionOfReturnOrder": "是否要执行退料单确认", + "purchaseOrderItemExists": "採购单『{purchaseNo}』,料号『{item}』已存在。" + }, + "messages": { + "saveFailure": "保存失败", + "confirmSuccess": "确认成功", + "confirmFailure": "确认失败", + "pickLotNo": "挑选 Lot No", + "checkLotNo": "请勾选 LotNo", + "clauseOneFilling": "至少需要填写一个输入框", + "lotNoStorageDuplicate": "Lot No \"{lotNo}\" 与储位 \"{storageNo}\" 重複", + "selectOutWarehouseFirst": "请先选择 出库仓库编号", + "selectInWarehouseFirst": "请先选择 入库仓库编号", + "duplicateEntry": "序号 \"{firstIndex}\" 和 \"{secondIndex}\", Lot No \"{materialLot}\", 储位 \"{storageNo}\" 重複", + "selectWarehouseReceipt": "请选择入库单", + "selectTypeAndWarehouseFirst": "请先选择入库类型和出库仓库编号", + "selectStockInTypeFirst": "请先选择入库类型", + "selectStockInMessageFirst": "请先选择入库讯息", + "lotNoExportSuccess": "Lot No 清单汇出成功", + "MaterialBatchNumberExportSuccess": "料件批号 清单汇出成功", + "ExportSuccess": "汇出成功", + "rackingSuccess": "上架成功", + "unshelvingSuccess": "下架成功", + "selectLotNoForRack": "请勾选要上架的 Lot No", + "selectLotNoForUnrack": "请勾选要下架的 Lot No", + "lotNoFieldEmpty": "Lot No『{lotNo}』的{field}不可为空", + "materialBatchNumberFieldEmpty": "料件批号『{materialBatchNumber}』的 {field} 不可为空", + "enterWarehouseNo": "请先输入下料仓库编号", + "enterRack": "请先输入下料货架", + "emptyLocation": "下料货位不可为空", + "confirmUnloading": "是否确定下料?", + "unloadingSuccess": "下料成功", + "enterDischargeQuantity": "请输入下料数量", + "selectMaterialBatchNumberForRack": "请勾选要上架的 料件批号", + "selectMaterialBatchNumberForUnrack": "请勾选要下架的 料件批号", + "loadingQuantityNotEmpty": "上料数量不可为空", + "loadingSuccess": "上料成功", + "loadingQuantityExceedsStock": "上料数量不可大于库存数量", + "doNotEmpty": "不可为空", + "totalSplitQuantityNotEqualOriginal": "分批数量加总不等于原料件批号数量", + "confirmBatchOperation": "确定执行分批次工作吗?", + "mismatchAfterUnpacking": "收料单号『{receiptNo}』,项次『{seq}』,拆包后总数与拆包前数量不符", + "quantityAfterUnpackingNotEmpty": "拆包后数量不可为空", + "createPurchaseItem": "请建立採购项次", + "confirmPurchaseOrderChange": "採购单号『{purchascefeNo}』确认后即不可再更改明细项次, 是否确定?", + "confirmDeletePurchaseOrder": "採购单号『{purchaseNo}』是否确定删除?", + "confirmInvalidatePurchaseOrder": "採购单号『{purchaseNo}』是否确定作废?" + }, + "defectiveGoodsWarehouse": "不良品仓", + "defectiveGoodsWarehouseShelving": "不良品仓上架作业", + "defectiveGoodsUnshelving": "不良品仓下架作业", + "defectiveGoodsInTemporaryWarehouse": "不良品暂存仓", + "defectiveGoodsInTemporaryWarehouseShelving": "不良品暂存仓上架作业", + "defectiveGoodsInTemporaryUnshelving": "不良品暂存仓下架作业", + "GoodsInTemporaryWarehouse": "良品暂存仓", + "GoodsInTemporaryWarehouseShelving": "良品暂存仓上架作业", + "GoodsInTemporaryUnshelving": "良品暂存仓下架作业", + "loadingQuantity": "上料数量", + "confirmations": { + "confirmDeleteReturnOrderDetail": "是否删除退料单号『{inNo}』,同一收料单『{receiptNo}』,同一项次『{seq}』的入库单明细?", + "confirmStockInOrderExecution": "是否要执行入库单确认", + "deleteDetail": "是否删除此笔入库明细?", + "executeRacking": "确定执行上架作业吗?", + "executeUnshelving": "确定执行下架作业吗?", + "removeLotNo": "确定移除此笔 Lot No『{lotNo}』吗?", + "removeMaterialBatchNumber": "确定移除此笔 料件批号『{MaterialBatchNumber}』吗?", + "confirmLoading": "是否确定上料至『{newResource}』?", + "confirmDeletionOfReturnOrderDetail": "是否删除此笔退料单明细" + }, + "finishedGoodsWarehouse": "成品仓", + "finishedGoodsWarehouseShelving": "成品仓上架作业", + "finishedGoodsWarehouseUnshelving": "成品仓下架作业", + "finishedGoodsInTemporaryWarehouse": "成品暂存仓", + "finishedGoodsInTemporaryWarehouseShelving": "成品暂存仓上架作业", + "finishedGoodsInTemporaryUnshelving": "成品暂存仓下架作业", + "lineSideWarehouseShelving": "线边仓上架作业", + "lineSideWarehouseUnshelving": "线边仓下架作业", + "lineSideWarehouseBatchOperation": "线边仓分批次工作", + "materialWarehouse": "原料仓", + "materialWarehouseShelving": "原料仓上架作业", + "materialWarehouseUnshelving": "原料仓下架作业", + "equipmentLoading": "设备上料", + "rawMaterialUnpacking": "原料拆包作业", + "minimumPackingNumber": "最小包装数", + "unpackingSuccess": "拆包成功", + "enterMinimumPackagingNumber": "请输入最小包装数", + "tableObj": { + "lotNo": "Lot No", + "warehouseQty": "库存数量", + "warehouseTotalQty": "总库存数量", + "transferOutWarehouse": "转出仓库", + "transferOutStorageNo": "转出储位", + "transferInWarehouse": "转入仓库", + "transferInStorageNo": "转入储位", + "rackNo": "货架编号", + "rack": "货架", + "locationNo": "货位", + "kind": "仓库类型", + "batchNumberPrinciple": "批号原则", + "batchingPrinciple": "分批原则" + }, + "validation": { + "numberGreaterThanZero": "下料数量必须大于0" + }, + "alreadyListed": "已上架", + "notListed": "未上架", + "putOnShelf": "上架", + "takeOffShelf": "下架", + "numberOfEntries": "笔数", + "errors": { + "rackNumberEmpty": "Lot No『{lotNo}』的货架编号不可为空", + "locationNumberEmpty": "Lot No『{lotNo}』的货位不可为空", + "storageNumberEmpty": "Lot No『{lotNo}』的储位不可为空" + }, + "loadingTime": "上料时间", + "feeding": "上料", + "originalWarehouseNumber": "原仓库编号", + "originalRackNoNumber": "原货架编号", + "originalLocation": "原货位", + "originalStorage": "原储位", + "unloadMaterial": "下料", + "warehouse": "仓库", + "supplierBatch": "供应商批号", + "dateExp": "到期日", + "creator": "建立人员", + "quantityBeforeUnpacking": "拆包前数量", + "quantityAfterUnpacking": "拆包后数量", + "returnMaterialOrderNumber": "退料单号", + "returnQuantity": "退料数量", + "staffNumber": "人员编号", + "receivingDetailConfirmation": "收料明细-确认", + "receivingDetailAttachment": "收料明细-附件", + "receivingDetailAdd": "收料明细-新增", + "samplingPlan": "抽样计划", + "specialProcurement": "特採", + "exemptFromInspection": "免验", + "receivingStaff": "收料人员", + "receivingTime": "收料时间", + "warehousing": "入库", + "qualified": "合格", + "uninspected": "未检验", + "specialProcurementDescription": "特采说明", + "confirmPerson": "确认人员", + "confirmTime": "确认时间", + "shouldDrawNumber": "应抽数", + "okNumber": "OK数", + "ngNumber": "NG数", + "isSpecialProcurement": "是否特采", + "inspectionTime": "检验时间", + "shouldDrawNumberMustBeGreaterThanZero": "应抽数必须大于0", + "allowableReturnNumberMustBeGreaterThanZero": "允退数必须大于0", + "inspectionQuantityDoesNotMatchSamplingQuantity": "检验数量不符抽样数量", + "inspectionWorkNotCompleted": "检验作业未完成", + "specialProcurementDescriptionCannotBeEmpty": "特采说明不可为空", + "milStd105ETable": "MIL-STD-105E表", + "editDetails": "编辑明细", + "createReceivingItem": "请建立收料项次", + "allItemsInReceivingOrderExemptFromInspection": "收料单中项次均为免验, 收货后不得作废收料单, 是否确定收货?", + "isPurchaseOrderNumberSureToBeVoided": "採购单号{purchaseNo}是否确定作废", + "damageQuantity": "破坏数量", + "retentionQuantity": "留样数量", + "purchaseQuantity": "採购数量", + "receivedMaterialQuantity": "已收料数量", + "receivingOrderDetailEdit": "收料单明细-编辑", + "receivingOrderDetailNew": "收料单明细-新增", + "receivingOrderAdd": "收料单-新增", + "receivingQuantityCannotBeEmpty": "收料数量不可为空", + "numberOfEntriesMustBeGreaterThanZero": "笔数需大于0", + "itemNumber": "料件编号{item}", + "returnableStockQuantity": "可退库数量", + "returnStockQuantity": "退库数量", + "rawMaterialWarehouseReturn": "原料仓退回", + "defectiveGoodsWarehouseReturn": "不良品仓退回", + "returnOrderAdd": "退库单-新增", + "returnOrderEdit": "退库单-编辑", + "createReturnDetail": "请建立退库明细", + "executeReturnOrderConfirmation": "是否要执行退库单确认?", + "deleteReturnOrder": "是否删除退库单『 {returnNo} 』?", + "returnType": "退库类型", + "returnOrderDetail": "退库单明细", + "returnOrderDetailAdd": "退库单明细-新增", + "enterReturnQuantityForItem": "请输入序号『{index}』,料件批号『{materialLot}』的退库数量", + "returnQuantityForItemMustBeGreaterThanZero": "序号『{index}』,料件批号『{materialLot}』的退库数量必须大于0", + "materialLotAndStorageNoDuplicate": "料件批号『{materialLot}』,储位『{storageNo}』重複,请合併为一笔", + "returnOrderSavedSuccessfully": "退库单储存成功", + "areYouSureToDeleteThisReturnDetail": "是否删除此笔退库明细?", + "issueOrderAdd": "发料单-新增", + "issueOrderDetailEdit": "发料单明细-编辑", + "issueOrderDetailAdd": "发料单明细-新增", + "createIssueDetail": "请建立发料明细", + "executeIssueOrderConfirmation": "是否要执行发料单确认?", + "deleteIssueOrder": "是否删除发料单『 {issueNo} 』?", + "issueQuantity": "发料数量", + "issueOrderNumber": "发料单号", + "mtlIssueOrderNo": "发料单号", + "availableIssueQuantity": "可发料数量", + "enterIssueQuantityForItem": "请输入序号『{index}』,料件批号『{materialLot}』的发料数量", + "issueQuantityForItemMustBeGreaterThanZero": "序号『{index}』,料件批号『{materialLot}』的发料数量必须大于0", + "enterTransferInWarehouseForItem": "请输入序号『{index}』,料件批号『{materialLot}』的转入仓库", + "transferInWarehouseForItemCannotEqualTransferOut": "序号『{index}』,料件批号『{materialLot}』的转入仓库不可等于转出仓库", + "enterIssueWorkOrderForItem": "请输入序号『{index}』,料件批号『{materialLot}』的发料工单", + "areYouSureToDeleteThisIssueDetail": "是否删除此笔发料明细?", + "inventoryOrderNumber": "盘点单号", + "inventoryType": "盘点类型", + "login": "登录", + "inventoryInProgress": "盘点中", + "initialCountQuantity": "初盘数量", + "recountQuantity": "複盘数量", + "inventoryShortage": "盘亏", + "inventoryPlan": "盘点计画", + "executionDate": "执行日期", + "initialCountDate": "初盘日期", + "voidDate": "作废日期", + "initialCountPersonnel": "初盘人员", + "voidPersonnel": "作废人员", + "recountDate": "複盘日期", + "recountPersonnel": "複盘人员", + "plannedDate": "计画日期", + "createInventoryOrderDetail": "请建立盘点单明细", + "executeInventoryOrderConfirmation": "是否要执行盘点单确认?", + "executeInventoryOrderVoid": "是否要执行盘点单作废?", + "executeInventoryOrderDeletion": "是否要执行盘点单删除?", + "inventoryOrderCompletionWillAdjustStock": "盘点单完成会依盘点盈亏自动调整库存,是否要执行盘点单完成?", + "inventoryCompleted": "盘点完成", + "initialCountNotConfirmedCannotComplete": "初盘尚未确定,不可执行完成", + "recountNotConfirmedCannotComplete": "複盘尚未确定,不可执行完成", + "plannedStartDateCannotExceedEndDate": "计画日期(起)不可大于计画日期(迄)", + "plannedDateRangeCannotExceed30Days": "计画日期区间不可大于30天", + "selectMaterialLotNumber": "挑选料件批号", + "pleaseCheckMaterialLotNumber": "请勾选料件批号", + "inventoryConfirmation": "盘点确定", + "inventoryDetails": "盘点明细", + "inventoryRegistration": "盘点登录", + "noMaterialLotNumberInWarehouse": "仓库『{invNo}』无此料件批号", + "initialCount": "初盘", + "recount": "複盘", + "confirmNoMoreInputOfQuantity": "确定后不可再输入{msg}数量,是否要执行盘点确认?", + "inventoryDetailSavedSuccessfully": "盘点明细储存成功", + "areYouSureToDeleteThisInventoryDetail": "是否删除此笔盘点明细?", + "initialCountQuantityCannotBeEmpty": "序号『{seq}』,初盘数量不可为空", + "planDateFormatError": "计画日期格式错误", + "planDateCannotBeEarlierThanCurrentDate": "计画日期不可小于当前日期", + "inventoryPlanSavedSuccessfully": "盘点计画储存成功", + "transferOrderNumber": "调拨单号", + "deleteTransferOrder": "是否删除调拨单『 {transferNo} 』?", + "executeTransferOrderConfirmation": "是否要执行调拨单确认?", + "transferQuantity": "调拨数量", + "availableTransferQuantity": "可调拨数量", + "transferOrderAdd": "调拨单-新增", + "transferOrderEdit": "调拨单-编辑", + "materialLotStorageInvDuplicate": "料件批号『{materialLot}』,储位『{storageNo}』,转入仓库『{invNo}』重複,请合併为一笔", + "pleaseSelectTransferOrderDetail": "请选择调拨单明细", + "transferQuantityExceedsAvailable": "料件批号『{materialLot}』的调拨数量超过可调拨数量", + "enterTransferQuantityForItem": "请输入序号『{index}』,料件批号『{materialLot}』的调拨数量", + "transferQuantityForItemMustBeGreaterThanZero": "序号『{index}』,料件批号『{materialLot}』的调拨数量必须大于0", + "areYouSureToDeleteThisTransferDetail": "是否删除此笔调拨明细?", + "feedingWarehouseNumber": "下料仓库编号", + "feedingStorageLocation": "下料储位", + "feedingQuantity": "下料数量", + "invType": { + "0": "立库", + "1": "平库" + } +} diff --git a/src/locale/i18n/zh/mes/wmst.json b/src/locale/i18n/zh/mes/wmst.json new file mode 100644 index 0000000..0c07a92 --- /dev/null +++ b/src/locale/i18n/zh/mes/wmst.json @@ -0,0 +1,131 @@ +{ + "packingListNo": "包装清单号码", + "invType": "仓库类别", + "packingDate": "包装日期", + "nonConformingOperation": "不良工序", + "packListBuild": "包装清单建立", + "packingDetail": "包装明细", + "itemMaterialDesc": "料件描述", + "confirmCreateNewPackingList": "是否确定创建新包装清单?", + "packingListCreateSuccess": "包装清单建立成功,包装清单单号:{data}", + "selectLotNoNeedPack": "请选择需要包装的lotNo", + "packDetailCreateSuccess": "添加包装明细成功", + "confirmDelPackList": "是否确定删除包装清单?", + "confirmDelPackDetail": "是否确定删除此包装明细?", + "confirmLotNotInSearchList": "LOT[ {lotNo} ]不在检索清单中,请确认!", + "lotNoGoodResultBINLevel": "该lot无GOOD结果的BIN等级", + "lotNoFailResultBINLevel": "该lot无Fail结果的BIN等级", + "noDetail": "无明细", + "awaitShip": "待出货", + "shipped": "已出货", + "BINFinishedGoodsWarehouse": "BIN成品仓", + "BINNonConformingGoodsWarehouse": "BIN不良品仓", + "tempWarehouseCreateDate": "暂存仓入库日期", + "warehouseEntryConfirm": "确认入库", + "restart": "重新上线", + "warehouseEntryDate": "入库日期", + "routerDesc": "途程描述", + "finishGoodInvNo": "成品仓库编号", + "finishedGoodsWarehouseNumberRequired": "成品仓库编号不得为空", + "restartRouter": "重新上线途程", + "restartOperation": "重新上线工序", + "cannotBeEmpty": "不得为空", + "routerProcess": "途程步骤", + "confirmRestart": "是否确定重新上线?", + "restartSuccessGenLot": "重新上线成功,产生新lot:{data}", + "confirmReceiveInv": "是否确定入库至{invNo}", + "warehouseEntrySuccess": "入库成功", + "checkEntryWareLotNo": "请勾选入库的LotNo", + "selectSameOrderLotNo": "需勾选相同工单编号的LotNo", + "selectSameUserPartLotNo": "需勾选相同客户料号的LotNo", + "selectSameUserNoLotNo": "需勾选相同客户编号的LotNo", + "selectSameUserLotNo": "需勾选相同客户批号的LotNo", + "shippingOrderNo": "出货单号", + "shippingDate": "出货日期", + "packListNo": "包装清单单号", + "shippingListNo": "出货清单号码", + "shippingOrderCreate": "出货单建立", + "shippingAddress": "出货地址", + "packList": "包装清单", + "listNo": "清单编号", + "packListCreateSuccess": "添加包装单成功", + "confirmCreateNewShipOrder": "是否确定创建新出货单?", + "shipOrderCreateSuccess": "出货单建立成功,出货单单号:{data}", + "confirmVoidShippingOrder": "是否确定作废出货单?", + "confirmShip": "是否确定出货?", + "shipOrderShippingSuccess": "出货单出货成功", + "confirmPackListInSearch": "包装清单[ {packNo} ]不在检索清单中,请确认!", + "itemReceiptDetail": "收料明细", + "samplePlan": "抽样计画", + "qtyDieMustMoreThan0": "Die数必须大于0", + "inputKeyFrontFour": "请输入{checkKey}前四码", + "BINDistribution": "BIN分佈", + "CATDistribution": "CAT分佈", + "voidedInvNo": "报废仓库编号", + "confirmEdit": "是否确定修改?", + "totalFixEqualBINTotal": "数量调整总数需等于BIN分佈的总数", + "totalFixEqualCATTotal": "数量调整总数需等于CAT分佈的总数", + "inputRestartAmountLot": "LotNo {materialLot} 请输入重新上线数量", + "scrapAmountNotThanOriginAmountLot": "LotNo {materialLot} SCRAP数量不可大于原始数量", + "lossAmountNotThanOriginAmountLot": "LotNo {materialLot} LOSS数量不可大于原始数量", + "invEntryVoid": "报废入库", + "partNoQuery": "片号谘询", + "nonConformingGoodsInvNo": "不良品仓编号", + "selectSameInvPartNo": "需勾选相同仓库编号的片号", + "selectSameItemPartNo": "需勾选相同物料编号的片号", + "waferSize": "晶圆尺寸", + "waferFinishedGoodHouse": "Wafer成品仓", + "waferNonConformingGoodHouse": "Wafer不良品仓", + "receiveQty": "收料片数", + "sampleZone": "应抽区域", + "partSelect": "挑片", + "requireSamplePartMustBeGreaterThanZero": "应抽片数必须大于0", + "requireSampleZoneMustBeGreaterThanZero": "应抽区域必须大于0", + "requireSamplePointMustBeGreaterThanZero": "应抽点数必须大于0", + "checkWaferMarkingNoForInsp": "请勾选要检验的Wafer刻号", + "inspPartNotCorrespondSampleAmount": "检验片数不符应抽片数", + "waferMarkingNo": "Wafer刻号", + "generate": "产生", + "notFoundItemWaferSize": "找不到料件编号『{item}』对应的晶圆尺寸,请至产品生产参数配置维护WAFER_SIZE", + "waferListNotEmpty": "Wafer清单不可为空", + "waferSizeNeedTwoDigits": "晶圆尺寸必须为两位数", + "waferMarkingFormatIncorrect": "Wafer刻号格式输入错误", + "waferMarkingDuplicate": "Wafer刻号重複", + "dieNotFoundGoPrd": "查无Die数,请至产品配置作业进行配置", + "partNoInfo": "片号资讯", + "invTransfer": "仓库调拨", + "storageTransfer": "储位转移", + "splitOperation": "分批次工作", + "itemReturnOperation": "退料作业", + "originAmount": "原始数量", + "currentAmount": "现有数量", + "targetInvNo": "目标仓库编号", + "targetStorageNo": "目标储位", + "transferAmount": "转移数量", + "fixAmount": "修改数量", + "itemReturn": "退料", + "allocateAmountNeedThanZero": "调拨数必须大于0", + "targetInvNoNotEmpty": "目标仓库编号不可为空", + "orginInvNoNotEqualTarget": "原仓库编号与目标仓库编号不可相同", + "confirmAllocateInv": "是否确定调拨至『 {invNo} 』仓库?", + "allocateSuccess": "调拨成功", + "transferAmountNeedThanZero": "转移数必须大于0", + "originTargetStorageNotEmpty": "原储位与目标储位不可都为空", + "originStorageNotEqualTarget": "原储位与目标储位不可相同", + "confirmTransferMsg": "是否确定转移至『 {msg} 』?", + "transferSuccess": "转移成功", + "proceedSplitFirst": "请先进行分批", + "totalAmountAfterSplitMustEqual": "分批后的数量总数必须等于现有数量", + "confirmReturnItem": "是否确定退料?", + "returnSuccess": "退料成功", + "fixAmountNeedThanZero": "修改数量必须大于0", + "splitAmountNotZero": "分批数量不可为0", + "currentQtyDie": "现有Die数", + "fixQtyDie": "修改Die数", + "unselectedPartNo": "未挑选片号", + "waferDieAmountFix": "Wafer Die数量调整", + "checkNeedAllocatePartNo": "请勾选需调拨的片号", + "checkNeedTransferPartNo": "请勾选需转移的片号", + "allPartNoNeedIndicateUserLot": "所有片号均需指定客户批号", + "checkRequiredReturnPartNo": "请勾选需退料的片号" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/mp.json b/src/locale/i18n/zh/mp.json new file mode 100644 index 0000000..e1dd4e7 --- /dev/null +++ b/src/locale/i18n/zh/mp.json @@ -0,0 +1,5 @@ +{ + "selectOfficialAccount": "请选择公众号", + "synchronize": "同步", + "syncStartedFromWeChat": "已开始从微信同步标签信息,建议等待后查询" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/page.json b/src/locale/i18n/zh/page.json new file mode 100644 index 0000000..2bcbd69 --- /dev/null +++ b/src/locale/i18n/zh/page.json @@ -0,0 +1,16 @@ +{ + "navigationSearch": "导航搜寻", + "noMenuFound": "没有发现菜单", + "noErrorLogs": "没有错误日誌", + "errorLogs": "条错误日誌", + "lockScreen": "锁屏", + "exitFullscreen": "退出全屏", + "fullscreen": "全屏", + "userAvatar": "用户头像", + "userCenter": "用户中心", + "log": "日志", + "theme": "主题", + "themeColor": "主题色", + "zoom": "缩放", + "topMenu": "顶部菜单" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/rules.json b/src/locale/i18n/zh/rules.json new file mode 100644 index 0000000..00ded24 --- /dev/null +++ b/src/locale/i18n/zh/rules.json @@ -0,0 +1,50 @@ +{ + "selectStorageType": "请选择入库类型", + "selectOutgoingWarehouseNumber": "请选择出库仓库编号", + "selectIncomingWarehouseNumber": "请选择入库仓库编号", + "enterItemNumber": "请输入项次", + "enterQuantity": "请输入数量", + "enterMaterialNumber": "请输入料件编号", + "enterBatchNumber": "请输入批次号码", + "enterWarehouseNumber": "请输入仓库编号", + "enterDrawingNumber": "请输入应抽数", + "enterAllowableReturnNumber": "请输入允退数", + "enterOkNumber": "请输入OK数", + "enterNgNumber": "请输入NG数", + "enterPurchaseOrderNumber": "请输入采购单号", + "selectReturnStorageType": "请选择退库类型", + "selectTransferOutWarehouse": "请选择转出仓库", + "selectInventoryType": "请选择盘点类型", + "enterInventoryPlan": "请输入盘点计划", + "enterPlanDate": "请输入计划日期", + "selectTransferIntoWarehouseType": "请选择转入仓库类型", + "enterToolNumber": "请输入工具编号", + "enterToolDescription": "请输入工具说明", + "selectToolCategory": "请选择工具类别", + "enterWorkSection": "请输入工段", + "enterWorkCenter": "请输入工作中心", + "enterEquipmentMajorCategory": "请输入设备大类", + "enterEquipmentCategory": "请输入设备类别", + "enterProcess": "请输入工序", + "selectProcess": "请选择工序", + "selectProductNumber": "请选择产品编号", + "selectEquipmentCategory": "请选择设备类别", + "enterInspectionType": "请输入检验类型", + "enterInspectionFrequencyNumber": "请输入检验频率编号", + "enterInspectionItemNumber": "请输入检验项目编号", + "selectInspectionItemType": "请选择检验项目类型", + "selectInspectionItemStatus": "请选择检验项目状态", + "selectInspectionType": "请选择检验类型", + "enterInspectionPlanNumber": "请输入检验计划编号", + "enterVersion": "请输入版本", + "enterInspectionPlanDescription": "请输入检验计划说明", + "enterInspectionPersonnelGroup": "请输入检验人员群组", + "selectInspectionPlanNumber": "请选择检验计划编号", + "selectProductionBatch": "请选择生产批", + "selectProcessNumber": "请选择工序编号", + "selectEquipmentNumber": "请选择设备编号", + "enterDescription": "请输入说明", + "selectProductionLine": "请选择产线", + "selectItemCode": "请选择物料编号", + "selectEquipment": "请选择设备" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/tip.json b/src/locale/i18n/zh/tip.json new file mode 100644 index 0000000..4dcdf42 --- /dev/null +++ b/src/locale/i18n/zh/tip.json @@ -0,0 +1,9 @@ +{ + "select": "请选择", + "input": "请输入", + "successMessage": { + "deleteSuccess": "删除成功", + "createSuccess": "添加成功", + "updateSuccess": "修改成功" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh/upload.json b/src/locale/i18n/zh/upload.json new file mode 100644 index 0000000..adc4c59 --- /dev/null +++ b/src/locale/i18n/zh/upload.json @@ -0,0 +1,4 @@ +{ + "upload": "点击上传", + "tip": "将文件拖到此处,或" +} \ No newline at end of file diff --git a/src/locale/i18n/zh/wel.json b/src/locale/i18n/zh/wel.json new file mode 100644 index 0000000..b22914d --- /dev/null +++ b/src/locale/i18n/zh/wel.json @@ -0,0 +1,66 @@ +{ + "title": { + "login": "欢迎登录 iMES", + "smd": "生产环境配置", + "prd": "产品模型配置", + "ord": "工单维护", + "tds": "生产派工", + "bpr": "生产准备", + "wip": "生产管理", + "oee": "设备稼动管理", + "tms": "工具管理", + "hrs": "人员管理", + "mtl": "物料管理", + "alm": "警报管理系统", + "ecn": "工程变更管理", + "qms": "品质管理", + "abn": "异常管理", + "spc": "统计制程管理", + "iot": "设备自动化管理", + "rms": "设备参数管理" + }, + "smd": "配置物理上的工厂、工作中心、设备、工具等生产资源的模组", + "prd": "配置生产活动的模型,包含工段、工序、途程、产品及产品参数", + "ord": "IE-Plant接收到生产订单的工单与工单BOM,并进行工单下达生成生产物。生产订单(亦即为工单)是IE-Plant生产管理的重要目标,一张工单可以分多次做下达,在IE-Plant接收到发料后,可进行工单下达作业,工单下达作业中依据产品所配置的SFC标准批量数生成SFC", + "tds": "生管人员在生产前制定生产计划,让生产时可以有所依据。生产计划划的标的是制定工单在哪个时间中指定哪一个设备上生产。生产时作业人员应以生产计划为依据进行生产,生产后可以将计划与实际生产时间作分析,藉此检讨可能延误的原因", + "bpr": "生产准备是将生产所需的人、机、料等作业资源进行生产前的准备,生产准备流程包含:发料流程进行物料的准备以及人员上下岗流程进行人员的准备。发料流程自ERP将物料以工单发料或库存调拨方式抛转至IE-Plant,使生产可于齐料的状态下进行", + "wip": "生产作业员可使用作业介面,依照规范使用功能,完成标准报工且记录制造资讯,以达到生产事前准备、事中控制、事后分析的目的,生产过程中包含多种报工模式、检验作业、委外加工、包装作业等生产管理节点", + "oee": "评量生产设施有效运作的指标,包含设备稼动率、生产效率与生产良率等三项子指标,此模组提供配置稼动率的稼动计算标准,也支持设备稼动配置与切换。整体设备效率也可以作为关键绩效指标和精益生产的效率指标", + "tms": "掌控模治具目前状态与寿命现况,避免不合规的模治具造成生产的损失,包括了现况管理、履历管理、寿命管理、有效性管理、维修保养等五大工具管理支持", + "hrs": "管理系统上的使用者,包含:权限管理、资质管理、现况与稼动管理、工时计算、绩效管理等", + "mtl": "针对车间所生产出货成品,进行相关的料件表与专属的工艺参数配置,料件表部份包含半成品、客供料、耗材、委外件等类型与属性的分类,另外在工艺与工序中则涵盖了相关工艺所属的产品参数与设备配方的配置,完整建置后可依照配置进行标准的产品生产过程", + "alm": "接收不同的系统所发送事件,透过事前配置的事件警报程序,将警报发送到相关人员手上,ALM支持推拨警报机制(Ex. 企业微信、钉钉、LINE、Twitter)也支持邮件、短信或是设备三色灯、警示灯等等的警报通知", + "ecn": "当客户指示或是因工程需要时,可透过工程变更单来变更生产条件,在工程变更单建立时,需指定此次要变更的范围(如产品、工单、指定生产物),透过工程变更单维护设定好变更对象与变更项目后,工程变更单因此生效,并作用在整个生产活动上", + "qms": "PDCA的管理循环,透过事前的检验计划配置,在各检验环节中进行检验作业,完成检验后的规格查核到后续的分析与决策,将QMS的PDCA循环做好落实可有效提升工厂的生产良率,是业界相当重要的管理系统", + "abn": "异常管理模组主要衔接生产或检验发生问题后的处理过程,一般分为异常事件触发、异常事件处理以及异常生产物解封等三个主要过程,主要目的在进行风险品的闭环处理,以及透过8D程序对异常事件进行管控,以期逐步提升厂内的制程能力", + "spc": "透过数据的趋势进行制程能力改善的方法,其主要方式是将制造中的检验项目,依其要因收集数据,通过过程能力的分析与过程标准化,发掘过程中的异常,并立即采取改善措施,使过程恢复正常", + "iot": "将生产线上的设备依据其联网能力将数据进行采集(含生产资讯、稼动资讯、Alarm),并整合执行层系统(Ex. MES系统)进行整体高效率、低成本的工厂运作", + "rms": "取代或管控人为进行设备参数的设定,避免人为疏失或是生产中因误操作机台造成工安或是生产物的损失,系统依据设备自动化的能力分为配方上传下载的全自动化管控,或是单纯进行参数核对(Parameter Compare),系统支持多要因的配方管理", + "login": "登录", + "loginSuccess": "登录成功", + "logout": "退出登录", + "logoutAlm": "确定退出登录吗?", + "sitePlaceholder": "请选择租户", + "homePage": "首页", + "loginPage": "登录页", + "lockScreenPage": "锁屏页", + "homePage1": "主页", + "authorizationPage": "授权页", + "returnToHomePage": "返回首页", + "goBackToTheLastPage": "返回上一页", + "closeOthers": "关闭其他", + "closeAll": "关闭全部", + "tokenStatusExpired": "令牌状态已过期,请点击重新登录", + "systemMessage": "系统提示", + "relogin": "重新登录", + "operationTooFrequent": "操作太頻繁,請勿重復請求", + "noPermissionForCurrentOperation": "當前操作沒有權限", + "resourceNotFound404": "資源不存在(404)", + "unboundLoginAccount": "未綁定登錄賬號,請使用密碼登錄後綁定", + "demoEnvironmentCannotOperate": "演示環境不能操作,如需了解聯系我們", + "usernameOrPasswordIncorrect": "用戶名不存在或密碼錯誤", + "captchaIncorrect": "驗證碼錯誤,請重新輸入", + "requestTooFrequent": "請求過頻繁", + "demoEnvironmentNoPermission": "演示環境,沒有權限操作", + "systemUnknownError": "系統未知錯誤,請反饋給管理員" +} diff --git a/src/locale/i18n/zh/wf.json b/src/locale/i18n/zh/wf.json new file mode 100644 index 0000000..0ace3ed --- /dev/null +++ b/src/locale/i18n/zh/wf.json @@ -0,0 +1,310 @@ +{ + "run": "运行", + "viewJson": "查看json", + "exportVueFile": "导出vue文件", + "copyCode": "复制代码", + "dragOrSelectComponent": "从左侧拖入或点选组件进行表单设计", + "selectGenerationType": "选择生成类型", + "formName": "表单名称", + "enterFormName": "请输入表单名称", + "inputComponent": "输入型组件", + "selectComponent": "选择型组件", + "layoutComponent": "布局型组件", + "codeCopiedToClipboard": "代码已复制到剪切板,可粘贴。", + "codeCopyFailed": "代码复制失败", + "confirmClearAllComponents": "确定要清空所有组件吗?", + "addForm": "添加表单", + "generationType": "生成类型", + "fileName": "文件名", + "enterFileName": "请输入文件名", + "cancel": "取消", + "confirm": "确定", + "generationTypeCannotBeEmpty": "生成类型不能为空", + "page": "页面", + "popup": "弹窗", + "resourceReference": "资源引用", + "refresh": "刷新", + "close": "关闭", + "jsFormatNotRecognized": "js格式不能识别,仅支持修改export default的对象内容", + "useExportDefault": "请使用export default", + "jsError": "js错误:{err}", + "exportFile": "导出文件", + "selectIcon": "选择图标", + "enterIconName": "请输入图标名称", + "copyJson": "复制JSON", + "exportJsonFile": "导出JSON文件", + "jsonFormatErrorCheck": "JSON格式错误,请检查", + "externalResourceReference": "外部资源引用", + "enterCssOrJsResourcePath": "请输入 css 或 js 资源路径", + "addOther": "添加其他", + "resourceAlreadyExists": "资源已存在", + "componentProperties": "组件属性", + "formProperties": "表单属性", + "componentType": "组件类型", + "selectComponentType": "请选择组件类型", + "fieldName": "字段名", + "enterFieldName": "请输入字段名", + "componentName": "组件名", + "enterTitle": "请输入标题", + "placeholderHint": "占位提示", + "enterPlaceholderHint": "请输入占位提示", + "startPlaceholder": "开始占位", + "endPlaceholder": "结束占位", + "formGrid": "表单栅格", + "gridInterval": "栅格间隔", + "layoutMode": "布局模式", + "horizontalAlignment": "水平排列", + "selectHorizontalAlignment": "请选择水平排列", + "verticalAlignment": "垂直排列", + "labelWidth": "标签宽度", + "enterLabelWidth": "请输入标签宽度", + "componentWidth": "组件宽度", + "enterComponentWidth": "请输入组件宽度", + "defaultValue": "默认值", + "enterDefaultValue": "请输入默认值", + "atLeastSelect": "至少应选", + "atMostSelect": "最多可选", + "prefix": "前缀", + "enterPrefix": "请输入前缀", + "suffix": "后缀", + "enterSuffix": "请输入后缀", + "prefixIcon": "前图标", + "enterPrefixIconName": "请输入前图标名称", + "select": "选择", + "suffixIcon": "后图标", + "enterSuffixIconName": "请输入后图标名称", + "buttonIcon": "按钮图标", + "enterButtonIconName": "请输入按钮图标名称", + "optionDelimiter": "选项分隔符", + "enterOptionDelimiter": "请输入选项分隔符", + "minRows": "最小行数", + "maxRows": "最大行数", + "minValue": "最小值", + "maxValue": "最大值", + "componentHeight": "组件高度", + "height": "高度", + "stepSize": "步长", + "stepCount": "步数", + "precision": "精度", + "buttonPosition": "按钮位置", + "default": "默认", + "rightSide": "右侧", + "maxInput": "最多输入", + "enterCharacterLength": "请输入字符长度", + "characters": "个字符", + "enableHint": "开启提示", + "enterEnableHint": "请输入开启提示", + "disableHint": "关闭提示", + "enterDisableHint": "请输入关闭提示", + "enableValue": "开启值", + "enterEnableValue": "请输入开启值", + "disableValue": "关闭值", + "enterDisableValue": "请输入关闭值", + "timeType": "时间类型", + "selectTimeType": "请选择时间类型", + "fileFieldName": "文件字段名", + "enterFileFieldName": "请输入上传文件字段名", + "fileType": "文件类型", + "selectFileType": "请选择文件类型", + "image": "图片", + "video": "视频", + "audio": "音频", + "fileSize": "文件大小", + "enterFileSize": "请输入文件大小", + "uploadUrl": "上传地址", + "enterUploadUrl": "请输入上传地址", + "listType": "列表类型", + "buttonType": "按钮类型", + "buttonText": "按钮文字", + "enterButtonText": "请输入按钮文字", + "delimiter": "分隔符", + "enterDelimiter": "请输入分隔符", + "timeRange": "时间段", + "enterTimeRange": "请输入时间段", + "enterTimeFormat": "请输入时间格式", + "timeFormat": "时间格式", + "option": "选项", + "optionName": "选项名", + "optionValue": "选项值", + "addOption": "添加选项", + "dataType": "数据类型", + "dynamicData": "动态数据", + "staticData": "静态数据", + "apiAddress": "接口地址", + "enterApiAddress": "请输入接口地址", + "dataPosition": "数据位置", + "enterLabelKeyName": "请输入标签键名", + "labelKeyName": "标签键名", + "enterValueKeyName": "请输入值键名", + "valueKeyName": "值键名", + "enterChildKeyName": "请输入子级键名", + "childKeyName": "子级键名", + "addParent": "添加父级", + "button": "按钮", + "enableColor": "开启颜色", + "disableColor": "关闭颜色", + "showLabel": "显示标签", + "brandMark": "品牌烙印", + "allowHalfSelect": "允许半选", + "assistText": "辅助文字", + "showScore": "显示分数", + "showBreakPoints": "显示间断点", + "rangeSelection": "范围选择", + "bordered": "是否带边框", + "colorFormat": "颜色格式", + "selectColorFormat": "请选择颜色格式", + "componentSize": "组件尺寸", + "medium": "中等", + "small": "较小", + "mini": "迷你", + "inputStatistics": "输入统计", + "strictSteps": "严格步数", + "optionalLevel": "任选层级", + "multipleSelect": "是否多选", + "showFullPath": "展示全路径", + "filterable": "可否筛选", + "clearable": "能否清空", + "showHint": "显示提示", + "multipleFileSelect": "多选文件", + "autoUpload": "自动上传", + "readOnly": "是否只读", + "disabled": "是否禁用", + "searchable": "能否搜索", + "mandatory": "是否必填", + "layoutTree": "布局结构树", + "regexValidation": "正则校验", + "expression": "表达式", + "pleaseEnterRegex": "请输入正则", + "errorMessage": "错误提示", + "pleaseEnterErrorMessage": "请输入错误提示", + "addRule": "添加规则", + "formName1": "表单名", + "pleaseEnterFormName": "请输入表单名", + "formModel": "表单模型", + "pleaseEnterDataModel": "请输入数据模型", + "validationModel": "校验模型", + "pleaseEnterValidationModel": "请输入校验模型", + "formSize": "表单尺寸", + "labelAlignment": "标签对齐", + "leftAlignment": "左对齐", + "rightAlignment": "右对齐", + "topAlignment": "顶部对齐", + "pleaseEnterLabelWidth": "请输入标签宽度", + "gridSpacing": "栅格间隔", + "gridSpacingPlaceholder": "栅格间隔", + "disableForm": "禁用表单", + "formButton": "表单按钮", + "showUncheckedComponentBorder": "显示未选中组件边框", + "date": "日", + "week": "周", + "month": "月", + "year": "年", + "datetime": "日期时间", + "daterange": "日期范围", + "monthrange": "月范围", + "datetimerange": "日期时间范围", + "selectionComponent": "选择型组件", + "pleaseEnterOptionName": "请输入选项名", + "pleaseEnterOptionValue": "请输入选项值", + "string": "字符串", + "number": "数字", + "add": "添加", + "delete": "删除", + "isMultipleChoice": "是否多选", + "optionStyle": "选项样式", + "categoryName": "分类名称", + "pleaseEnterCategoryName": "请输入分类名称", + "categoryCode": "分类编码", + "pleaseEnterCategoryCode": "请输入分类编码", + "reset": "重置", + "categoryNumber": "分类编号", + "remarks": "备注", + "categoryNameCannotBeEmpty": "分类名称不能为空", + "categoryCodeCannotBeEmpty": "分类编码不能为空", + "addCategoryProcess": "添加流程分类", + "editCategoryProcess": "修改流程分类", + "addSuccess": "新增成功", + "confirmDeleteCategory": "是否确认删除【请填写功能名称】编号为 {categoryIds} 的数据项?", + "routeForm": "路由表单", + "dynamicForm": "动态表单", + "formPrimaryKey": "表单主键", + "formType": "表单类型", + "details": "详情", + "pleaseEnterRemarks": "请输入备注", + "routeComponent": "路由组件", + "formContent": "表单内容", + "formNameCannotBeEmpty": "表单名称不能为空", + "formRouteCannotBeEmpty": "表单路由不能为空", + "formDetails": "表单详情", + "areYouSureYouWantToClose": "确定要关闭吗?关闭未保存的修改都会丢失!", + "editForm": "修改表单", + "confirmDeleteForm": "是否确认删除表单编号为 {formIds} 的数据项?", + "modelId": "模型标识", + "pleaseEnterModelId": "请输入模型标识", + "modelName": "模型名称", + "pleaseEnterModelName": "请输入模型名称", + "processCategory": "流程分类", + "modelVersion": "模型版本", + "design": "设计", + "deploy": "部署", + "more": "更多", + "flowChart": "流程图", + "history": "历史", + "modelHistory": "模型历史", + "setAsLatest": "设为最新", + "modelIdCannotBeEmpty": "模型标识不能为空", + "modelNameCannotBeEmpty": "模型名称不能为空", + "pleaseSelectType": "请选择类型", + "confirmSetAsLatestVersion": "是否确认将此版本设为最新?", + "addProcessModel": "新增流程模型", + "editProcessModel": "修改流程模型", + "processDesign": "流程设计 - ", + "saveModelAsNewVersion": "是否将此模型保存为新版本?", + "confirmDeleteModel": "是否确认删除模型编号为 {modelIds} 的数据项?", + "bpmn20XmlFileImport": "bpmn20.xml文件导入", + "processId": "流程标识", + "pleaseEnterProcessId": "请输入流程标识", + "processName": "流程名称", + "pleaseEnterProcessName": "请输入流程名称", + "pleaseSelectStatus": "请选择状态", + "activate": "激活", + "suspend": "挂起", + "processVersion": "流程版本", + "deploymentTime": "部署时间", + "versionManagement": "版本管理", + "confirmDeleteSelectedItems": "是否确认删除选中的数据项?", + "submissionTime": "提交时间", + "startDate": "开始日期", + "endDate": "结束日期", + "processNumber": "流程编号", + "processCategory1": "流程类别", + "currentNode": "当前节点", + "processStatus": "流程状态", + "elapsedTime": "耗时", + "reInitiate": "重新发起", + "processDetails": "流程详情", + "initiateProcess": "发起流程", + "confirmDeleteProcessDefinition": "是否确认删除流程定义编号为 {ids} 的数据项?", + "subject": "主题", + "pleaseEnterSubject": "请输入主题", + "receiveTime": "接收时间", + "taskNumber": "任务编号", + "taskNode": "任务节点", + "processInitiator": "流程发起人", + "addProcessDefinition": "添加流程定义", + "process": "办理", + "sign": "签收", + "approvalTime": "审批时间", + "circulationRecord": "流转记录", + "revoke": "撤回", + "initiator": "发起人", + "pleaseEnterInitiator": "请输入发起人", + "ccNumber": "抄送编号", + "title": "标题", + "ccPrimaryKeyCannotBeEmpty": "抄送主键不能为空", + "processPrimaryKeyCannotBeEmpty": "流程主键不能为空", + "processNameCannotBeEmpty": "流程名称不能为空", + "processCategoryPrimaryKeyCannotBeEmpty": "流程分类主键不能为空", + "taskPrimaryKeyCannotBeEmpty": "任务主键不能为空", + "userPrimaryKeyCannotBeEmpty": "用户主键不能为空" +} diff --git a/src/locale/i18n/zh_tw/admin.json b/src/locale/i18n/zh_tw/admin.json new file mode 100644 index 0000000..4e50386 --- /dev/null +++ b/src/locale/i18n/zh_tw/admin.json @@ -0,0 +1,195 @@ +{ + "cache": "緩存", + "confirmDeletionById": "是否確認刪除 ID 為 {clientId}", + "synchronizationSuccessful": "同步成功", + "modify": "修改", + "superiorDepartment": "上級部門", + "selectSuperiorMenu": "選擇上級功能表", + "departmentName": "部門名稱", + "enterMenuName": "請輸入功能表名稱", + "departmentCode": "部門代碼", + "departmentLevel": "部門等級", + "departmentHead": "部門主管", + "departmentCodeCannotBeEmpty": "部門代碼不能為空", + "departmentNameCannotBeEmpty": "部門名稱不能為空", + "departmentOrderCannotBeEmpty": "部門順序不能為空", + "rootDepartment": "根部門", + "enterDepartmentName": "請輸入部門名稱", + "add": "添加", + "creationTime": "創建時間", + "confirmDeletionWithName": "是否確認刪除名稱為 {name} 的資料項目?", + "overwriteWarning": "此操作將覆蓋現有系統部門人員資料,請做好資料備份, 是否繼續?", + "operationSuccessful": "操作成功", + "execute": "執行", + "dictionaryItem": "字典項", + "dictionaryItemManagement": "字典項管理", + "confirmDeletionByDictType": "是否確認刪除資料類型為 {dictType} 的資料項目?", + "confirmDeletionByLabel": "是否確認刪除資料為 {label} 的資料項目?", + "deletionSuccessful": "刪除成功", + "uploadSuccessful": "上傳成功", + "export": "匯出", + "batchDelete": "批量刪除", + "confirmDeletionLogById": "是否確認刪除ID為 {id} 的日誌?", + "selectLogsToDelete": "請選擇日誌後進行刪除", + "menuName": "菜單名稱", + "icon": "圖示", + "componentPath": "元件路徑", + "type": "類型", + "leftMenu": "左菜單", + "topMenu": "頂菜單", + "button": "按鈕", + "buffer": "緩衝", + "enabled": "開啟", + "permissionIdentifier": "許可權標識", + "menuType": "菜單類型", + "superiorMenu": "上級菜單", + "name": "名稱", + "routeAddress": "路由地址", + "enterRouteAddress": "請輸入路由位址", + "enterPermissionIdentifier": "請許可權標識", + "routeCache": "路由緩衝", + "isDisplayed": "是否顯示", + "openMethod": "打開方式", + "default": "默認", + "externalNewWindow": "外頁新窗口", + "internalNewWindow": "內頁新窗口", + "addRule": "新增規則", + "rule": "規則", + "menuNameCannotBeEmpty": "菜單名稱不能為空", + "menuOrderCannotBeEmpty": "功能表順序不能為空", + "routeAddressCannotBeEmpty": "路由位址不能為空", + "routeCacheCannotBeEmpty": "路由緩衝不能為空", + "permissionIdentifierCannotBeEmpty": "許可權標識不能為空", + "superiorMenuCannotBeEmpty": "上級菜單不能為空", + "rootMenu": "根菜單", + "no": "否", + "yes": "是", + "refresh": "刷新", + "dataRefreshed": "資料已刷新", + "import": "導入", + "confirmDeletionWithPostName": "是否確認刪除 {postName}", + "postInformationImport": "崗位資訊導入", + "postInformationFile": "崗位資訊.xlsx", + "edit": "編輯", + "permission": "權限", + "roleInformationImport": "角色資訊導入", + "roleInformationFile": "角色資訊.xlsx", + "parentRole": "父階角色", + "roleIdentifier": "角色標識", + "roleName": "角色名稱", + "roleDescription": "角色描述", + "creationSuccessful": "創建成功", + "routeConfigurationWarning": "路由配置是非常專業的事情,不建議非工程師操作", + "success": "成功", + "updateSuccessful": "更新成功", + "resendTenantInitializationCommand": "重新發送租戶初始化指令", + "sendSuccessful": "發送成功", + "forceLogoutConfirm": "是否強制 {access_token} 下線?", + "forceLogoutSuccessful": "強制下線成功", + "noDataPermission": "無資料許可權", + "selectDepartment": "請選擇所屬部門", + "selectRole": "請選擇角色", + "selectPosition": "請選擇崗位", + "enterPassword": "請輸入密碼", + "userInfoImport": "使用者資訊導入", + "confirmUserDeletion": "此操作將永久刪除該用戶(用戶名: {username}), 是否繼續?", + "deletionFailed": "刪除失敗", + "changeAvatar": "修改頭像", + "personalInformation": "個人資訊", + "username": "用戶名", + "phoneNumber": "手機號", + "enterVerificationCodeToLogin": "請輸入驗證碼登入使用", + "nickname": "昵稱", + "realname": "姓名", + "enterNickname": "請輸入昵稱", + "enterName": "請輸入姓名", + "email": "郵箱", + "enterEmail": "請輸入郵箱", + "changePassword": "修改密碼", + "oldPassword": "舊密碼", + "enterOldPassword": "請輸入舊密碼", + "newPassword": "新密碼", + "enterNewPassword": "請輸入新密碼", + "confirmPassword": "確認密碼", + "reEnterNewPassword": "請輸入新密碼", + "passwordsNotMatching": "兩次輸入密碼不一致", + "oldPasswordMinLength": "原密碼不少於6位元", + "newPasswordMinLength": "新密碼不少於6位元", + "enterClientId": "請輸入clientId", + "secretKey": "金鑰", + "enterClientSecret": "請輸入clientSecret", + "domain": "域", + "enterScope": "請輸入scope", + "automaticRelease": "自動放行", + "selectWhetherToRelease": "請選擇是否放行", + "authorizationMode": "授權模式", + "enterAuthorizationMode": "請輸入授權模式", + "tokenValidity": "權杖時效", + "unitSeconds": "單位秒", + "refreshValidity": "刷新時效", + "callbackAddress": "回檔地址", + "permissions": "許可權", + "extensionInformation": "擴展資訊", + "jsonFormatData": "JSON格式資料", + "captchaSwitch": "驗證碼開關", + "frontendPasswordEncryption": "前端密碼加密", + "concurrentOnlineNumber": "同時線上數量", + "securityAttributes": "安全屬性", + "enterDictionaryDescription": "請輸入字典描述", + "dictionaryType": "字典類型", + "enterDictionaryType": "請輸入字典類型", + "remarkInformation": "備註資訊", + "dataValue": "資料值", + "enterDataValue": "請輸入資料值", + "tagName": "標籤名", + "enterTagName": "請輸入標籤名", + "sortOrder": "排序", + "enterSortOrder": "請輸入排序", + "title": "標題", + "ipAddress": "IP地址", + "client": "用戶端", + "requestTime": "請求時間", + "positionName": "崗位名稱", + "enterPositionName": "請輸入崗位名稱", + "positionIdentifier": "崗位標識", + "enterPositionIdentifier": "請輸入崗位標識", + "positionDescription": "崗位描述", + "positionOrder": "崗位排序", + "roleNameCannotBeEmpty": "角色名稱不能為空", + "lengthBetween3And20": "長度在 3 到 20 個字元", + "roleIdentifierCannotBeEmpty": "角色標識不能為空", + "lengthWithin128Characters": "長度在 128 個字元內", + "dataPermission": "資料許可權", + "selectDataPermissionType": "請選擇資料許可權類型", + "all": "全部", + "currentAndSubLevel": "本級及子級", + "currentLevel": "本級", + "parentLevel": "父階", + "enterName1": "請輸入名稱", + "length32Characters": "長度在 32 個字符", + "dameng": "達夢", + "configurationMethod": "配置方式", + "selectConfigurationMethod": "請選擇配置方式", + "enterJdbcUrl": "請輸入jdbcUrl", + "enterHostIp": "請輸入主機 IP", + "length100Characters": "長度在 100 個字符", + "enterPort": "請輸入端口", + "enterDatabaseName": "請輸入數據庫名稱", + "tagLanguage": "標籤名稱語系", + "hisConfigTable": "歸檔表名", + "hisConfigChannel": "歸檔通道", + "hisConfigAddress": "歸檔地址", + "hisMonth": "數據保留月數", + "hisClearSql": "清表腳本SQL", + "aliyunIcon": "阿里雲圖示", + "wechatId": "微信號", + "wechatOfficialAccountSettingsNativeId": "公眾號設置->最下邊原生ID", + "enterWechatId": "請輸入微信號", + "enterSecretKey": "請輸入密鑰", + "protocolDomain": "協議域名", + "inputInvalid": "輸入不合法", + "enterToken": "請輸入token", + "encryptionKey": "加密密鑰", + "enterEncryptionKey": "請輸入加密密鑰", + "parentIdCannotBeEmpty": "上級菜單不能為空" +} diff --git a/src/locale/i18n/zh_tw/common.json b/src/locale/i18n/zh_tw/common.json new file mode 100644 index 0000000..ab0b550 --- /dev/null +++ b/src/locale/i18n/zh_tw/common.json @@ -0,0 +1,44 @@ +{ + "condition": "條件", + "display": "顯示", + "hide": "隱藏", + "prompt": "提示", + "description": "說明", + "main": "主要", + "label": { + "description": "說明" + }, + "view": "查看", + "edit": "編輯", + "copy": "複製", + "delete": "刪除", + "download": "下載", + "watch": "檢視", + "new": "新增", + "insert": "插入", + "update": "更新", + "seq": "序號", + "primaryKey": "主鍵", + "parameter": "參數", + "confirm": "確定", + "cancel": "取消", + "alert": { + "warningTitle": "警告", + "confirmButton": "確定" + }, + "promptMessage": { + "title": "提示", + "error": "錯誤", + "yes": "是", + "no": "否" + }, + "colon": ":", + "date": "日期", + "quantity": "數量", + "no": "否", + "yes": "是", + "filter": "篩選", + "asc": "升幂排序", + "desc": "降冪排序", + "pleaseInput": "請先輸入" +} diff --git a/src/locale/i18n/zh_tw/crud.json b/src/locale/i18n/zh_tw/crud.json new file mode 100644 index 0000000..e93c1af --- /dev/null +++ b/src/locale/i18n/zh_tw/crud.json @@ -0,0 +1,224 @@ +{ + "filter": { + "addBtn": "新增條件", + "clearBtn": "清空資料", + "resetBtn": "清空條件", + "cancelBtn": "取 消", + "submitBtn": "確 定", + "update": "更 新" + }, + "column": { + "name": "列名", + "hide": "隱藏", + "fixed": "凍結", + "filters": "過濾", + "sortable": "排序", + "index": "順序", + "width": "寬度", + "label": { + "primaryKeyId": "主鍵ID", + "site": "站點", + "costCenter": "成本中心", + "description": "描述", + "status": "狀態(Y:已啟用,N:已禁用)", + "defaultLaborCostCode": "預設人工費用代碼", + "parentOrSummaryLaborCostCode": "父項/匯總人工費用代碼", + "creationTime": "創建時間", + "modificationTime": "修改時間", + "creator": "創建人員", + "updater": "更新人員", + "serialNumber": "序號", + "tableNameCustomDataType": "表名(自訂資料類別)", + "dataField": "資料欄位", + "fieldLabel": "字段標籤", + "mandatory": "是否必須", + "updateDate": "更新日期", + "fastCodeNumber": "快碼編號", + "modifier": "修改人員", + "retain": "保留", + "copy": "複製", + "move": "移動", + "fault": "故障", + "defect": "缺陷", + "repair": "修復", + "enterComment": "輸入註解", + "component": "組件", + "none": "無", + "printedCircuitAnalysis": "印刷電路分析", + "simple": "簡單", + "subStepBypass": "子步驟繞過", + "open": "打開", + "closed": "已關閉", + "both": "兩者", + "low": "低", + "medium": "中", + "high": "高", + "operation": "操作", + "version": "版本", + "currentVersion": "當前版本", + "status1": "狀態", + "resourceType": "資源類型", + "defaultResource": "預設資源", + "workCenter": "工作中心", + "erpOperation": "ERP工序", + "erpWorkCenter": "ERP工作中心", + "effectiveDate": "生效日期", + "expirationDate": "失效日期", + "certification": "證明", + "printer": "印表機", + "dateType": "日期類型", + "dateTypePrimaryKeyId": "日期類型主鍵ID", + "shift": "班次", + "start": "開始", + "dayActualOrBooked": "天(S:實際日期,Y:預訂日期)", + "end": "結束", + "workOrderNumber": "工單編號", + "workOrderType": "工單類型", + "workOrderStatus": "工單狀態", + "reservationFlag": "保留標識", + "priority": "優先順序", + "plannedWorkCenter": "計畫工作中心", + "plannedMaterial": "計畫物料", + "plannedMaterialList": "計畫物料清單", + "plannedProcessRoute": "計畫工藝路線", + "workOrderQuantity": "工單數量", + "issuedQuantity": "已下達數量", + "plannedStartDate": "計畫開始日期", + "plannedCompletionDate": "計畫完成日期", + "productionQuantity": "生產數量", + "availableQuantity": "可下達數量", + "pendingQuantity": "待下達數量", + "workOrder": "工單", + "quantity": "數量", + "firstLastProductionBatch": "第一個/最後一個生產批", + "material": "物料", + "processRoute": "工藝路線", + "storageLocationCode": "庫位編碼", + "storageLocationDescription": "庫位描述", + "storageLocationType": "庫位類型", + "responsiblePerson": "責任人", + "storageLocationStatus": "庫位狀態", + "isFifo": "是否先進先出", + "storageSiteCode": "儲存地點編碼", + "erpShift": "ERP班次", + "availableForWorkCenter": "可下達到此工作中心", + "processRouteVersion": "工藝路線版本", + "workCenterCategory": "工作中心類別", + "workCenterType": "工作中心類型", + "isErpWorkCenter": "是否ERP工作中心", + "sequence": "順序", + "equipmentType": "設備類型", + "usableMainEquipment": "可使用主設備", + "toolNumberDescription": "工具編號說明", + "toolCategory": "工具類別", + "toolCategoryDescription": "工具類別說明", + "toolManufacturer": "工具廠商", + "assetNumber": "資產編號", + "equipmentCategory": "設備類別", + "equipmentCategoryDescription": "設備類別說明", + "equipmentMajorCategory": "設備大類", + "limitBatchNumber": "限制批數", + "limitBatchQuantity": "限制批量", + "equipmentMajorCategoryDescription": "設備大類說明", + "image": "圖片", + "imagePreview": "圖片預覽", + "imageType": "圖片類型", + "productionPoint": "生產點", + "attachmentUpload": "附件上傳", + "attachmentUploadingPleaseWait": "附件上傳中,請稍等", + "uploadSyncToFileServer": "上傳同步至檔案伺服器", + "space": "空間", + "fileName": "檔案名", + "originalFileName": "原檔案名", + "fileType": "檔案類型", + "fileSize": "文件大小", + "uploader": "上傳人", + "name": "名稱", + "enterName": "請輸名稱", + "lengthWithin30Characters": "長度在 30 個字元", + "key": "鍵", + "enterKey": "請輸入鍵", + "value": "值", + "enterValue": "請輸入值", + "code": "編碼", + "selectCategory": "請選擇類別", + "selectType": "請選擇類型", + "enterAppId": "請輸入appId", + "enterAppSecret": "請輸入appSecret", + "callbackAddress": "回調地址", + "extraField": "擴展欄位", + "tenantId": "租戶id", + "tenantName": "租戶名稱", + "enterTenantName": "請輸入租戶名稱", + "lengthBetween3And32Characters": "長度在 3 到 32 個字元", + "tenantNumber": "租戶編號", + "enterTenantNumber": "請輸入租戶編號", + "tenantDomain": "租戶域名", + "enterTenantDomain": "請輸入租戶域名", + "startTime": "開始時間", + "enterEndTime": "請輸入結束時間", + "endTime": "結束時間", + "userId": "用戶ID", + "username": "用戶名", + "client": "用戶端", + "token": "權杖", + "type": "類型", + "expirationTime": "過期時間", + "enterUsername": "請輸入用戶名", + "password": "密碼", + "lengthBetween6And20Characters": "長度在 6 到 20 個字元", + "enterRealName": "請輸入姓名", + "lengthBetween2And64Characters": "長度在 2 到 64 個字元", + "affiliatedDepartment": "所屬部門", + "selectDepartment": "請選擇部門", + "position": "崗位", + "selectPosition": "請選擇崗位", + "role": "角色", + "selectRole": "請選擇角色", + "selectStatus": "請選擇狀態", + "valid": "有效", + "locked": "鎖定", + "nickname": "昵稱", + "enterNickname": "請輸入昵稱", + "email": "郵箱", + "enterEmail": "請輸入郵箱", + "enterToolCategoryNumber": "請輸入工具類別編號", + "enterToolCategory": "請輸入工具類別", + "selectWorkCenterCategory": "請選擇工作中心類別", + "selectWorkCenterType": "請選擇工作中心類型", + "enterSequence": "請輸入順序", + "factoryNumberMustBeFilled": "工廠編號必須填寫", + "forceChangePassword": "強制修改密碼", + "forceChangePasswordInfo": "選擇首次登陸是否強制修改密碼" + } + }, + "tipStartTitle": "當前表格已選擇", + "tipEndTitle": "項", + "editTitle": "編 輯", + "copyTitle": "複 制", + "addTitle": "新 增", + "viewTitle": "查 看", + "filterTitle": "過濾條件", + "showTitle": "列顯隱", + "menu": "操作", + "addBtn": "增 加", + "show": "顯 示", + "hide": "隱 藏", + "open": "展 開", + "shrink": "收 縮", + "printBtn": "打 印", + "excelBtn": "導 出", + "updateBtn": "修 改", + "cancelBtn": "取 消", + "searchBtn": "搜 索", + "emptyBtn": "清 空", + "menuBtn": "功 能", + "saveBtn": "保 存", + "viewBtn": "查 看", + "editBtn": "編 輯", + "copyBtn": "複 制", + "delBtn": "刪 除", + "closeBtn": "關 閉", + "detailAdd": "明細新增", + "finished": "完成" +} diff --git a/src/locale/i18n/zh_tw/date.json b/src/locale/i18n/zh_tw/date.json new file mode 100644 index 0000000..b4c25a1 --- /dev/null +++ b/src/locale/i18n/zh_tw/date.json @@ -0,0 +1,8 @@ +{ + "start": "開始日期", + "end": "結束日期", + "t": "今日", + "y": "昨日", + "n": "近7天", + "a": "全部" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/el.json b/src/locale/i18n/zh_tw/el.json new file mode 100644 index 0000000..ebc3161 --- /dev/null +++ b/src/locale/i18n/zh_tw/el.json @@ -0,0 +1,141 @@ +{ + "button": { + "save": "保存", + "cancel": "取消", + "add": "新增", + "close": "關閉", + "saveAndContinue": "保存後繼續" + }, + "colorpicker": { + "confirm": "確定", + "clear": "清空" + }, + "datepicker": { + "now": "此刻", + "today": "今天", + "cancel": "取消", + "clear": "清空", + "confirm": "確定", + "selectDate": "選擇日期", + "selectTime": "選擇時間", + "startDate": "開始日期", + "startTime": "開始時間", + "endDate": "結束日期", + "endTime": "結束時間", + "prevYear": "前一年", + "nextYear": "後一年", + "prevMonth": "上個月", + "nextMonth": "下個月", + "year": "年", + "month1": "1 月", + "month2": "2 月", + "month3": "3 月", + "month4": "4 月", + "month5": "5 月", + "month6": "6 月", + "month7": "7 月", + "month8": "8 月", + "month9": "9 月", + "month10": "10 月", + "month11": "11 月", + "month12": "12 月", + "week": "星期", + "weeks": { + "sun": "日", + "mon": "一", + "tue": "二", + "wed": "三", + "thu": "四", + "fri": "五", + "sat": "六" + }, + "months": { + "jan": "一月", + "feb": "二月", + "mar": "三月", + "apr": "四月", + "may": "五月", + "jun": "六月", + "jul": "七月", + "aug": "八月", + "sep": "九月", + "oct": "十月", + "nov": "十一月", + "dec": "十二月" + } + }, + "tabs": { + "main": "主要" + }, + "select": { + "loading": "載入中", + "noMatch": "無匹配資料", + "noData": "無資料", + "placeholder": "請選擇" + }, + "cascader": { + "noMatch": "無匹配資料", + "loading": "載入中", + "placeholder": "請選擇", + "noData": "暫無資料" + }, + "pagination": { + "goto": "前往", + "pagesize": "條/頁", + "total": "共 {total} 條", + "pageClassifier": "頁" + }, + "messagebox": { + "title": "提示", + "confirm": "確定", + "cancel": "取消", + "error": "輸入的資料不合法!", + "deleteSuccess": "刪除成功", + "saveSuccess": "保存成功" + }, + "upload": { + "deleteTip": "按 delete 鍵可刪除", + "delete": "刪除", + "preview": "查看圖片", + "continue": "繼續上傳" + }, + "table": { + "emptyText": "暫無資料", + "confirmFilter": "篩選", + "resetFilter": "重置", + "clearFilter": "全部", + "sumText": "合計", + "index": "序號" + }, + "tree": { + "emptyText": "暫無資料" + }, + "transfer": { + "noMatch": "無匹配資料", + "noData": "無資料", + "titles": [ + "列表 1", + "列表 2" + ], + "filterPlaceholder": "請輸入搜索內容", + "noCheckedFormat": "共 {total} 項", + "hasCheckedFormat": "已選 {checked}/{total} 項" + }, + "image": { + "error": "載入失敗" + }, + "pageHeader": { + "title": "返回" + }, + "popconfirm": { + "confirmButtonText": "確定", + "cancelButtonText": "取消" + }, + "empty": { + "description": "暫無資料" + }, + "radio": { + "useOriginalBatchNumber": "沿用原批號", + "generateNewBatchNumber": "產生新批號" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/form.json b/src/locale/i18n/zh_tw/form.json new file mode 100644 index 0000000..abc85d4 --- /dev/null +++ b/src/locale/i18n/zh_tw/form.json @@ -0,0 +1,6 @@ +{ + "printBtn": "打 印", + "mockBtn": "模 擬", + "submitBtn": "提 交", + "emptyBtn": "清 空" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/gen.json b/src/locale/i18n/zh_tw/gen.json new file mode 100644 index 0000000..600e48e --- /dev/null +++ b/src/locale/i18n/zh_tw/gen.json @@ -0,0 +1,19 @@ +{ + "tableName": "表名稱", + "tableComment": "表註釋", + "Comment": "註釋", + "packageName": "包名", + "canBeNullLoadDefaultConfig": "可為空,加載系統默認配置", + "author": "作者", + "module": "模塊", + "submodule": "子模塊", + "mainColumnProperties": "主欄位屬性", + "tablePrefix": "表前綴", + "frontendStyle": "前端風格", + "fieldName": "字段名", + "fieldType": "字段類型", + "javaType": "JAVA類型", + "canBeNullDefaultSameAsTableName": "可為空,默認和表名相同", + "canBeNullLoadTableComment": "可為空,加載表備註", + "formInformation": "表单資訊" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/iep.json b/src/locale/i18n/zh_tw/iep.json new file mode 100644 index 0000000..ebc2c0c --- /dev/null +++ b/src/locale/i18n/zh_tw/iep.json @@ -0,0 +1 @@ +"IE-PLANT 製造執行系統" \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/language.json b/src/locale/i18n/zh_tw/language.json new file mode 100644 index 0000000..26d57c1 --- /dev/null +++ b/src/locale/i18n/zh_tw/language.json @@ -0,0 +1,5 @@ +{ + "languageEmpty": "請輸入語系", + "languageRepeat": "語系不可重複", + "nameEmpty": "請輸入描述" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/menu.json b/src/locale/i18n/zh_tw/menu.json new file mode 100644 index 0000000..10a523d --- /dev/null +++ b/src/locale/i18n/zh_tw/menu.json @@ -0,0 +1,7 @@ +{ + "languageTitle": "菜單名稱語系", + "languageAdd": "新增語系", + "local": "語系", + "menu": "菜單名稱", + "menuEmpty": "請輸入菜單名稱" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/abn.json b/src/locale/i18n/zh_tw/mes/abn.json new file mode 100644 index 0000000..7704f7e --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/abn.json @@ -0,0 +1,208 @@ +{ + "titleAdd": "第一處理單位-新增", + "titleEdit": "第一處理單位-編輯", + "titleView": "第一處理單位-查看", + "labelProductType": "產品別", + "labelProcessType": "制程別", + "labelFPUnit": "第一處理單位", + "confirmDelPdType": "是否確認刪除產品別:", + "tableObj": { + "search": { + "abnType": "異常類型", + "description": "異常說明", + "currentResponsible": "當前處置單位", + "releasers": "結單人員", + "newDateRelease": "結單時間" + }, + "detail": { + "futureHoldOperation": "未來扣留工序", + "newTriggerTime": "扣留時機", + "creator": "新增人員", + "creatorName": "新增人員名稱", + "dateCreate": "新增時間" + }, + "abnDetail": { + "router": "途程/版本", + "operation": "當前工序", + "dispMethod": "處置方式", + "dispUser": "處置人員", + "dispDateTime": "處置時間" + } + }, + "roleDialogObj": { + "roleCode": "角色標示", + "roleName": "角色名稱", + "roleDesc": "角色描述" + }, + "mainRules": { + "abnType": "請輸入異常類型", + "operation": "請輸入發生工序", + "reasonCode": "請輸入異常原因", + "reasonCodeDesc": "請輸入異常說明" + }, + "tableOption": { + "roleDesc": "單位說明", + "dateCreate": "創建日期", + "dateUpdate": "更新日期", + "creator": "創建人員", + "updater": "更新人員", + "site": "生產點" + }, + "abnStatus": "異常單狀態", + "abnNo": "異常單號", + "enterProductType": "請輸入產品別", + "enterProcessType": "請輸入制程別", + "transferNext": "轉下一個處置單位", + "lotStateQty": "目前數量", + "labelCreateABN": "建立異常單", + "labelHandleABN": "異常單處置", + "handleABNDetail": "異常單明細", + "create": "建立", + "removeFromABN": "自異常單移除", + "transferOperation": "轉移工序", + "transferProcedure": "轉移流程", + "nonConformingGoods": "不良入庫", + "splitDone": "分批結束", + "batchDone": "併批結束", + "fixAmount": "數量調整", + "transferHold": "轉立即扣留", + "routerCode": "途程編號", + "status": { + "dismiss": "解除" + }, + "work": { + "holdInTime": "立即扣留", + "holdLater": "未來扣留" + }, + "trigger": { + "before": "進站前", + "after": "出站後" + }, + "addAttach": "新增附件及明細", + "dispHold": "扣留批處置", + "CPUser": "CP客戶指示", + "noTransfer": "不轉單位", + "dismissIncident": "解除異常單", + "dismissCPMessage": "異常單『{abnNo}』已解除,不可執行CP客戶指示", + "whetherClearAll": "是否要清空畫面的所有訊息", + "productTypeNotEmpty": "產品別不可為空", + "processTypeNotEmpty": "製程別不可為空", + "FPUnitNotEmpty": "第一處理單位不可為空", + "totalFileSize": "當前總檔案大小", + "confirmCancelAttach": "是否確定取消新增附件?", + "addOrRemoveAttach": "請新增或移除附件", + "fileTotalNotOver100M": "所有檔案加總大小要小於100M", + "ABNAttachSaveSuccess": "異常單附件保存成功", + "confirmToCancelDetail": "是否確定取消新增明細?", + "confirmToRemoveLotNo": "是否確定移除Lot No: {lotNo}", + "createABNObject": "請新增開單對象", + "ABNDetailSaveSuccess": "異常單明細保存成功", + "ABNObject": "開單對象", + "clearText": "清除", + "resrceUsingTime": "設備使用時間", + "keyInRequirements": "請輸入檢索條件", + "keyInResrceUsingTime": "請輸入設備使用時間", + "resrceStartDateNotOverEnd": "設備使用時間起始時間不可大於結束時間", + "resrceUsingTimeNotOverMonth": "設備使用時間範圍不可超過一個月", + "futureHoldOperationNotEmpty": "Lot No:{lotNo}未來扣留工序不可為空", + "itemNotExist": "產品編號:『{item}』,版本:『{itemRevision}』不存在", + "currentItemNotExist": "產品編號:『{item}』, 目前版本不存在", + "ABNCreatedSuccess": "異常單建立成功", + "confirmToCancelABN": "是否確定取消建立異常單?", + "decidedBypartNo": "依片號決定", + "cancelABNInDirect": "直接解除異常狀態", + "keepHoldABNStatus": "繼續扣留異常狀態", + "markingNo": "刻號", + "partNo": "片號", + "processingMethod": "處理方式", + "keepHold": "繼續HOLD", + "keepGo": "續GO", + "HoldAfterRT": "RT後HOLD", + "userInstructionDesc": "客戶指示說明", + "selectProcessingMethod": "請選擇處理方式", + "ProMethodHasNotChosen": "{Msg}未選擇處理方式", + "Process8D": "8D處置", + "d1TeamComposition": "D1.團隊組成", + "d5PermanentSolution": "D5.永久性對策", + "d2ProblemDesc": "D2.問題描述", + "d6EffectConfirm": "D6.效果確認", + "d3TempSolution": "D3.暫時對策", + "d7preventRecurrence": "D7.再防發生", + "d4ExactReason": "D4.問題真因", + "d8TeamRewarding": "D8.獎勵團隊", + "dispDesc": "處置說明", + "nextUnit": "下一個處置單位", + "inputDispMethod": "請輸入處置方式", + "selectNextUnit": "請選擇下一個處置單位", + "inputLotNo": "刷入Lot No:", + "total": "總數量", + "totalQty": "總片數", + "totalDie": "總Die數", + "batchLotNo": "併批 Lot No", + "lotNoNotExist": "刷入Lot No:『{inputLotNo}』不存在,請重新輸入", + "lotNoBatchCheckRequired": "請勾選需併批的Lot No", + "confirmBatch": "是否確定併批?", + "batchSuccess": "併批成功", + "binDieNotEqualZero": "Good Bin Die 數調整後不可等於0", + "catDieNotEqualZero": "Good CAT Die 數調整後不可等於0", + "amountEqualDie": "調整後的數量必須等於總Die數", + "confirmAdjustAmount": "是否確定調整數量?", + "amountAdjustSuccess": "數量調整成功", + "enterStationAmount": "進站數量", + "nonCoformingReason": "不良原因", + "drawBackReason": "缺點原因", + "noAdjustQtyOfNonComforming": "沒有可調整數量的不合格訊息", + "nonConformingNotThanEntrance": "不良數量不可大於LOT進站數量", + "split": "分批", + "currentAmount": "當前數量", + "subBatchNo": "子批批號", + "selectedQty": "已挑片數", + "batchNumberNotEmpty": "批數不可為空", + "confirmSplit": "是否確定分批?", + "splitSuccess": "分批成功", + "subBatchAmount": "子批批量", + "subBatchNotEmpty": "子批批號不可為空", + "splitTotalEqualLotNo": "分批總數量必須等於Lot No『{lotNo}』的數量", + "batch": "併批", + "detailDispDesc": "明細處置說明", + "inputSelectDispMethod": "請輸入選擇處置方式", + "nonCoforming": "不良", + "drawback": "缺點", + "low": "低", + "middle": "中", + "high": "高", + "adjustBINAmount": "BIN數量調整", + "adjustCATAmount": "CAT數量調整", + "fixNormalHoldBatchQty": "一般扣留批數量調整", + "waferHoldBatch": "Wafer扣留批併批次工作", + "dieHoldBatch": "Die扣留批併批次工作", + "normalHoldBatch": "一般扣留批併批次工作", + "waferHoldSplit": "Wafer扣留批分批次工作", + "DieHoldSplit": "Die扣留批分批次工作", + "normalHoldSplit": "一般扣留批分批次工作", + "checkHoldBatch": "請勾選扣留批", + "selectDisposeMethod": "請選擇處置方式", + "selectTransferOperation": "請選擇轉移工序", + "selectTransferProcedure": "請選擇轉移流程", + "selectNonConforming": "請選擇不良入庫", + "selectConforming": "請選擇良品入庫", + "selectedHoldDispSuccess": "所選擇的扣留批處置成功", + "IQCABNAttach": "IQC異常單附件", + "receivingDetailIQC": "收料明細-IQC", + "receivingDetailEdit": "收料明細-編輯", + "inspReportNo": "檢驗單號", + "supplierNo": "供應商編號", + "purchaseDate": "採購日期", + "receivingOrderStatus": "收料單狀態", + "IQCABNView": "IQC異常單檢視", + "IQCABNDispose": "IQC異常單處置", + "ABNDismissCannotAdd": "異常單『{abnNo}』已解除,不可執行新增附件或明細", + "ABNDismissCannotDisp": "異常單『{abnNo}』已解除,不可執行異常單處置", + "supplierName": "供應商名稱", + "supplier": "供應商", + "purchaseNo": "採購單號", + "inputABNCreateDate": "請輸入開單日期(起)", + "inputABNEndDate": "請輸入開單日期(迄)", + "startDateNotLaterThanEnd": "開單日期起始時間不可大於結束時間", + "enterFirstFourDigits": "請輸入{label}前四碼" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/alm.json b/src/locale/i18n/zh_tw/mes/alm.json new file mode 100644 index 0000000..e800522 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/alm.json @@ -0,0 +1,116 @@ +{ + "almGroupNo": "警報群組編號", + "almGroupName": "警報群組名稱", + "almGroupDesc": "警報群組說明", + "parentTierGroup": "父階群組", + "inputAgentNo": "請輸入代理人編號", + "inputAgentName": "請輸入代理人名稱", + "selectAgentType": "請選擇代理人類型", + "almGroupAddText": "警報群組-新增", + "almGroupViewText": "警報群組-查看", + "almGroupEditText": "警報群組-編輯", + "confirmDelAlmGroup": "是否確認刪除警報群組", + "memberTypeId": "成員類型", + "sendType": "發送類型", + "memberNo": "成員編號", + "selectMemberType": "請選擇成員類型", + "selectMemberNo": "請選擇成員編號", + "selectSendType": "請選擇發送類型", + "almMemberAdd": "警報成員-新增", + "almMemberView": "警報成員-查看", + "almMemberEdit": "警報成員-編輯", + "confirmDelIdTypeMember": "是否確認刪除: 群組編號[{groupId}]、成員類型[{memberTypeId}]、成員[{memberId}]", + "site": "網站", + "agentId": "代理人編號", + "agentName": "代理人名稱", + "token": "令牌", + "sendLimitPerMinute": "發送次數限制(每分鐘)", + "communicationAgentAdd": "通訊代理人-新增", + "communicationAgentView": "通訊代理人-查看", + "communicationAgentEdit": "通訊代理人-編輯", + "confirmDeleteCommunicationAgent": "是否確認刪除通訊代理人: {botId}", + "site1": "站點", + "agentDescription": "代理人說明", + "agentType": "代理人類型", + "ipcActivemqNameReserved": "IPC ACTIVEMQ NAME(保留)", + "apiId": "API編號", + "creator": "創建人", + "creationTime": "創建時間", + "modificationTime": "修改時間", + "modifier": "修改人", + "communicationAgent": "通訊代理人", + "chatRoomName": "聊天室名稱", + "chatRoomId": "聊天室編號", + "channelId": "通道編號", + "channelName": "通道名稱", + "selectChatRoomName": "請選擇聊天室名稱", + "enterChatRoomId": "請輸入聊天室編號", + "enterChannelName": "請輸入通道名稱", + "enterChannelId": "請輸入通道編號", + "chatRoomAdd": "聊天室-新增", + "chatRoomView": "聊天室-查看", + "chatRoomEdit": "聊天室-編輯", + "confirmDeleteChatRoomChannel": "是否確認刪除聊天室通道: [ {accessId } ]", + "callbackUrlReserved": "回調 URL(保留)", + "dataCreationTime": "資料新增時間", + "dataCreator": "資料新增人員", + "dataLastModificationTime": "資料最後修改時間", + "dataLastModifier": "資料最後修改人員", + "alarmGroup": "警報群組", + "messageLevel": "訊息等級", + "directMessageTransmission": "收訊直接傳送", + "trackingCount": "追蹤次數", + "trackingIntervalMinutes": "追蹤間隔(分鐘)", + "notifyUpperGroup": "是否通知上層群組", + "notifyUpperGroupAfterTrackingCount": "追蹤幾次後通知上層群組", + "messageTitle": "訊息標題", + "messageLevelCannotBeEmpty": "訊息等級不能為空", + "directMessageTransmissionCannotBeEmpty": "收訊直接傳送不能為空", + "notifyUpperGroupCannotBeEmpty": "是否通知上層群組不能為空", + "trackingCountRangeError": "「追蹤次數」資料必須要介於[-1]~[999]!!", + "trackingIntervalRangeError": "「追蹤間隔(分鐘)」資料必須要介於[1]~[1440]!!", + "notifyUpperGroupAfterTrackingCountRangeError": "「追蹤幾次後通知上層群組」資料必須要介於[1]~[99]!!", + "alarmEventAdd": "警報事件-新增", + "alarmEventView": "警報事件-查看", + "alarmEventEdit": "警報事件-編輯", + "confirmDeleteAlarmEvent": "是否確認刪除警報事件: {eventId}", + "driverType": "驅動類型", + "pointLocation": "點位", + "writeValue": "寫入值", + "enterDeviceName": "請輸入設備名稱", + "selectDriverType": "請選擇驅動類型", + "enterPort": "請輸入Port", + "enterArea": "請輸入區域", + "enterPointLocation": "請輸入點位", + "enterWriteValue": "請輸入寫入值", + "alarmDeviceAdd": "警報設備-新增", + "alarmDeviceView": "警報設備-查看", + "alarmDeviceEdit": "警報設備-編輯", + "confirmDeleteAlarmDevice": "是否確認刪除警報設備: {equipmentId}", + "enterIpAddress": "請輸入IP地址!!", + "ipAddressFormatError": "IP地址格式錯誤!!", + "parameterName": "參數名稱", + "noDataToSave": "沒有要保存的數據", + "syncAllUsers": "同步所有用戶", + "enterId": "請輸入編號", + "enterFullName": "請輸入全名", + "userAdd": "用戶-新增", + "userView": "用戶-查看", + "userEdit": "用戶-編輯", + "emailFormatError": "電子郵件格式錯誤", + "confirmDeleteId": "是否確認刪除編號: {id}", + "event": "事件", + "messageContent": "信息內容", + "selectFile": "選取文件", + "previewMessage": "預覽信息", + "sendMessage": "發送信息", + "enterMessageContent": "請輸入信息內容", + "selectEvent": "請選擇事件", + "confirmCloseTracking": "是否確認關閉追蹤: {reqId}", + "closeSuccessful": "關閉成功", + "messageId": "訊息編號", + "transmissionCount": "傳送次數", + "messageContent1": "訊息內容", + "trackingResult": "追蹤結果", + "trackingInProgress": "追蹤中" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/bpr.json b/src/locale/i18n/zh_tw/mes/bpr.json new file mode 100644 index 0000000..9818cda --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/bpr.json @@ -0,0 +1,28 @@ +{ + "timeOnDuty": "上崗時間", + "selectDateTime": "請選擇日期時間", + "inputDutyTime": "請輸入上崗時間", + "startDutyTimeNotLaterEnd": "上崗開始時間不可大於結束時間", + "dutyTimeNotOverMonth": "上崗開始時間到結束時間不可超過一個月", + "confirmUserOffDuty": "是否確定要將此用戶下崗?", + "onDutySuccess": "上崗成功", + "offDutySuccess": "下崗成功", + "onDuty": "上崗", + "offDuty": "下崗", + "userNoNotExist": "用戶編號『{userNo}』不存在", + "checkOffDutyResrce": "請勾選要下崗的設備", + "confirmOffDuty": "是否確認下崗", + "ruleUserNo": "請輸入用戶", + "toolNoDesc": "工具說明", + "triggerDateCreate": "上機時間", + "machineStartUp": "上機", + "machineShutDown": "下機", + "startUpSuccess": "上機成功", + "checkShutDownTool": "請勾選要下機的工具", + "confirmShutDown": "是否確認下機", + "shutdownSuccess": "下機成功", + "ruleTool": "請輸入工具", + "tool": "工具", + "batchNumber": "批次號碼", + "supplierBatch": "供應商批次" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/cal.json b/src/locale/i18n/zh_tw/mes/cal.json new file mode 100644 index 0000000..8b82a37 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/cal.json @@ -0,0 +1,12 @@ +{ + "instrumentGroupAdd": "儀器群組-新增", + "instrumentGroupView": "儀器群組-檢視", + "instrumentGroupEdit": "儀器群組-編輯", + "availableInstrumentEquipment": "可用儀器設備", + "assignedInstrumentEquipment": "已指派儀器設備", + "enterGroupNumber": "請輸入群組編號", + "enterGroupName": "請輸入群組名稱", + "confirmDeleteGroupNumber": "是否確認刪除群組編號為 {groupNo} 的儀器群組", + "confirmToRemoveSelectedInspectionPlan": "是否確定移除所勾選的檢驗計劃", + "selectRowToDelete": "請選擇要刪除的行" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/customValidation.json b/src/locale/i18n/zh_tw/mes/customValidation.json new file mode 100644 index 0000000..7f9803e --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/customValidation.json @@ -0,0 +1,15 @@ +{ + "clientAlreadyExists": "用戶端已存在", + "duplicateDictionaryExists": "同名字典已存在", + "sortCannotBeNegative": "排序不能為負數", + "duplicateRoleIdentifierExists": "同名角色標識已存在", + "enterUppercaseLettersAndUnderscores": "請輸入大寫英文、底線", + "enterChineseEnglishNumberUnderscore": "請輸入中文、英文、數位包括底線", + "paramKeyAlreadyExists": "參數鍵已經存在", + "thisTypeOfKeyAlreadyExists": "此類型金鑰已存在", + "duplicateTenantIdentifierExists": "同名租戶標識已存在", + "domainAlreadyExists": "功能變數名稱已存在", + "usernameSupportsLowercaseLettersNumbersChinese": "用戶名支援小寫英文、數位、中文", + "usernameAlreadyExists": "用戶名已經存在", + "dataSourceNameInvalidFormat": "資料來源名稱不合法, 組名_資料來源名形式" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/ecn.json b/src/locale/i18n/zh_tw/mes/ecn.json new file mode 100644 index 0000000..ef68154 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/ecn.json @@ -0,0 +1,63 @@ +{ + "ecnStatus": "工程變更狀態", + "ecnNo": "工程變更單號", + "viewChange": "範圍", + "selectChangeType": "請選擇變更類型", + "validityPeriod": "有效期限", + "orderUnissued": "工單未下達數", + "stock": "庫存", + "enabled": "已啟用", + "invalid": "已失效", + "validationDate": "生效日期", + "invalidationDate": "失效日期", + "onlinePrdBatch": "指定線上生產批", + "currentRouter": "目前途程", + "routerDesc": "途程說明", + "operatioinParam": "工序參數", + "paramNo": "參數編號", + "paramDesc": "參數說明", + "originalParam": "原參數值", + "newParam": "新參數值", + "originalOperationDesc": "原工序說明", + "newOperationDesc": "變更工序說明", + "operationDescAfterChange": "變更後工序說明", + "mainFormula": "主配方", + "newFormula": "變更配方", + "routerNo": "原途程編號", + "newRouterNo": "變更途程編號", + "originalBOMNo": "原BOM編號", + "newBOMNo": "變更BOM編號", + "prdBatch": "生產批次", + "ruleEngChangeType": "請輸入工程變更單類型", + "ruleUserNo": "請輸入客戶編號", + "ecn": "工程變更單", + "param": "參數", + "keepOriginalBatchNo": "保留原批號", + "newBatchNo": "新批號", + "shopOrderNotExist": "{shopOrder}工單不存在", + "ecnView": "工程變更單-查看", + "ecnCreate": "工程變更單-建立", + "object": "對象", + "ecnEdit": "工程變更單-編輯", + "engineeringChangeOrderChangeScope": "工程變更單-變更範圍", + "atLeastOne": "請至少填寫一項", + "operateSuccess": "操作成功", + "whetherStatus": "該行是否{statusDesc}?", + "newRouterNotEqual": "選擇的新途程不能與原途程相同", + "newBOMNotEqual": "選擇的新BOM不能與原BOM相同", + "operationNotEmpty": "行工序不可為空", + "atLeastOnePrdBatch": "至少選擇一筆生產批", + "partNoNotEqual": "選擇的生產批與已指定生產批的產品料號不一致", + "inputOperationNo": "請輸入工序編號", + "inputChangeOperationDesc": "請輸入變更工序說明", + "operationExist": "已存在工序{operation}", + "confirmDelSerial": "是否確認刪除序號: {Msg}", + "receiptAmount": "收料數量", + "unfinishedOperation": "在制", + "finishedPrd": "成品", + "EcnChangeScope": "工程變更-變更範圍", + "inTransfer": "調撥中", + "inMaterialIssuing": "發料中", + "awaitingStorage": "待入庫", + "inReturnStorage": "退庫中" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/hrs.json b/src/locale/i18n/zh_tw/mes/hrs.json new file mode 100644 index 0000000..e91138f --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/hrs.json @@ -0,0 +1,25 @@ +{ + "qualificationNo": "資質編號", + "description": "資質說明", + "relevanceType": "作用類型", + "selectRelevanceType": "請選擇作用類型", + "role": "角色指派", + "roleAssignable": "可指派角色", + "roleAssigned": "已指派角色", + "relevancePoint": "作用點", + "selectable": "可選", + "selected": "已選", + "ruleQualificationNo": "請選擇資質編號", + "ruleQualificationType": "請選擇資質類型", + "ruleRelevance": "請選擇作用點", + "qualificationAdd": "資質-新增", + "updateSuccess": "更新成功", + "qualificationView": "資質-查看", + "qualificationEdit": "資質-編輯", + "whetherDelNo": "是否確認刪除資質編號: {qualificationNo}", + "resrcePrdType": "設備生產類型", + "operationPrdType": "工序生產類型", + "itemPrdType": "產品生產類型", + "operationParamConfigType": "工序參數配置類型", + "prdParamConfigType": "產品參數配置類型" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/index.js b/src/locale/i18n/zh_tw/mes/index.js new file mode 100644 index 0000000..acb79b1 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/index.js @@ -0,0 +1,57 @@ +import abn from './abn.json' +import alm from './alm.json' +import bpr from './bpr.json' +import cal from './cal.json' +import customValidation from './customValidation.json' +import ecn from './ecn.json' +import hrs from './hrs.json' +import int from './int.json' +import lms from './lms.json' +import msa from './msa.json' +import oee from './oee.json' +import ord from './ord.json' +import pms from './pms.json' +import pod from './pod.json' +import prd from './prd.json' +import qms from './qms.json' +import rpt from './rpt.json' +import smd from './smd.json' +import sys from './sys.json' +import system from './system.json' +import tap from './tap.json' +import tds from './tds.json' +import tms from './tms.json' +import wip from './wip.json' +import wms from './wms.json' +import wmst from './wmst.json' +import index from './index.json' + +export default { + abn, + alm, + bpr, + cal, + customValidation, + ecn, + hrs, + int, + lms, + msa, + oee, + ord, + pms, + pod, + prd, + qms, + rpt, + smd, + sys, + system, + tap, + tds, + tms, + wip, + wms, + wmst, + ...index +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/index.json b/src/locale/i18n/zh_tw/mes/index.json new file mode 100644 index 0000000..0e05c61 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/index.json @@ -0,0 +1,525 @@ +{ + "new": "新增", + "type": "類型", + "invalidate": "作廢", + "stockinNo": "入庫單號", + "documentStartDate": "單據日期", + "search": "搜索", + "reset": "清空", + "confirm": "確認", + "delete": "刪除", + "seq": "序號", + "qualityGoodsInbound": "良品入庫", + "noMatchingWarehouseTypeFound": "未找到匹配的倉庫類型", + "title": "提示", + "yes": "是", + "no": "否", + "endTimeBeforeStartTime": "結束時間不可早於開始時間", + "dateExceeds30Days": "日期不可多於30天", + "deleteSuccess": "刪除成功", + "save_successful": "保存成功", + "addSuccess": "新增成功", + "atLeastOneCondition": "擇一輸入的條件至少要輸入一項", + "noDataToExport": "無資料可匯出", + "invalidationSuccess": "作廢成功", + "equipmentNumberNotEmpty": "設備編號不可為空", + "confirmDeleteDetail": "是否確定刪除項次{seq}的明細?", + "confirmChangeMessage": "確認後即不可再更改明細項次, 是否確定?", + "confirmCancellation": "是否確定作廢?", + "confirmDeletion": "是否確定刪除?", + "confirmDeleteStockInOrderDetail": "是否刪除入庫單號『{inNo}』,同一收料單『{receiptNo}』,同一項次『{seq}』的入庫單明細?", + "lineSideWarehouse": "線邊倉", + "warningTitle": "警告", + "confirmButton": "確定", + "pleaseEnter": "請輸入", + "product_number": "產品編號", + "itemDesc": "產品說明", + "work_order": "工單", + "issueShopOrder": "發料工單", + "dateMfg": "製造日期", + "storageNo": "儲位", + "shopOrderNo": "工單編號", + "shopOrderType": "工單類型", + "invNo": "倉庫編號", + "desc": "說明", + "quantity": "數量", + "status": "狀態", + "useOriginalBatchNumber": "沿用原批號", + "generateNewBatchNumber": "產生新批號", + "batchNumber": "批數", + "batchSize": "批量", + "export": "匯出", + "equipmentNumber": "設備編號", + "materialNumber": "料件編號", + "materialBatchNumber": "料件批號", + "materialBatchDesc": "料件說明", + "equipment": "設備", + "equipmentDesc": "設備說明", + "equipmentNumberDesc": "設備編號說明", + "equipmentCategory": "設備類別", + "equipmentCategoryDesc": "設備類別說明", + "itemAddition": "項次新增", + "receiveOrderConfirmation": "收料單確認", + "receiveOrderCancellation": "收料單作廢", + "receiveOrderDeletion": "收料單刪除", + "samplingRule": "抽樣規則", + "sampling": "抽樣", + "name": "名稱", + "return": "退貨", + "unqualified": "不合格", + "allowableReturnNumber": "允退數", + "inspectionPersonnel": "檢驗人員", + "fixedSamplingNumber": "固定抽樣數", + "fixedSamplingRatio": "固定抽樣比例", + "table1916": "1916表", + "custom": "自訂", + "sendBackQuantity": "退回數量", + "returnOrderNumber": "退庫單號", + "completionDate": "完成日期", + "productProcessDescription": "產品工序說明", + "auxiliaryEquipment": "附屬設備", + "checkIn": "進站", + "checkOut": "出站", + "lotNoDetained": "Lot No [ {lotNo} ]已被扣留(觸發異常單號為[ {abnNo} ])
    ", + "dieCount": "Die數", + "routeType": "途程類型", + "update": "修改", + "test": "測試", + "testDieAmount": "測試Die數", + "programNo": "編號", + "dispatchQuantity": "派工數量", + "plannedCompletionTime": "計畫完成時間", + "enterDispatchQuantity": "請輸入派工數量", + "planStartTime": "計畫開始時間", + "modificationSuccessful": "修改成功", + "toolNumber": "工具編號", + "toolCategoryDescription": "工具類別說明", + "enterToolNumber": "請輸入工具編號", + "remark": "備註", + "toolCategory": "工具類別", + "confirmDeleteToolCategoryLifeConfig": "是否確認刪除工具類別編號 {toolTypeNo} 的工具壽命配置", + "attachment": "附件", + "billingDate": "開單日期", + "toolMajorCategoryDescription": "工具大類說明", + "toolNumberDescription": "工具編號說明", + "billingPersonnel": "開單人員", + "none": "無", + "awaitingInspection": "待檢驗", + "awaitingConfirmation": "待確認", + "completed": "已完成", + "itemNumber": "項次", + "warehousingOrReturn": "入庫/退貨", + "specialProcurement": "特采", + "inspectionResult": "檢驗結果", + "statusCode": "狀態碼", + "statusName": "狀態名稱", + "statusType": "狀態類型", + "representativeColor": "代表色", + "currentStatus": "目前狀態", + "changeStatus": "變更狀態", + "enterDescription": "請輸入說明", + "reasonCode": "原因代碼", + "description": "描述", + "pleaseSelectChangeStatus": "請選擇變更狀態", + "selectOneSearchCondition": "檢索條件請擇一輸入", + "reasonCodeCannotBeEmpty": "原因代碼不可為空", + "reasonCodeCannotRepeat": "原因代碼不可重複", + "checkToRemoveReasonCode": "請勾選要移除的原因代碼", + "confirmToRemoveSelectedReasonCode": "是否確定移除所勾選的原因代碼", + "statusCodeCannotBeEmpty": "狀態碼不可為空", + "statusNameCannotBeEmpty": "狀態名稱不可為空", + "process": "工序", + "processCannotBeEmpty": "工序不可為空", + "equipmentMajorCategoryDescription": "設備大類說明", + "ruleNumber": "法則編號", + "priorityOrder": "優先順序", + "all": "全部", + "view": "查看", + "edit": "編輯", + "production": "生產", + "productionBatchNumber": "Lot No", + "customerName": "客戶名稱", + "checkInTime": "進站時間", + "taskOrderNumber": "任務單號", + "productionLine": "產線", + "productionLineDescription": "產線說明", + "itemCode": "物料編號", + "productionOptions": "生產選項", + "shopOrder": "工單號", + "qtyToBuild": "工單數量", + "workCenter": "工作中心", + "searchText": "檢索", + "saveText": "保存", + "cancel": "取消", + "cancelSuccess": "取消成功", + "startTime": "開始時間", + "endTime": "結束時間", + "selectWorkCenter": "請選擇工作中心", + "customData": "自訂資料", + "enterEquipment": "請輸入設備", + "categoryDescription": "類別說明", + "confirmDeleteSequenceNumber": "是否確認刪除序號:", + "toolMajorCategory": "工具大類", + "confirmDelete": "是否確認刪除", + "enterEquipmentNumber": "請輸入設備編號", + "workshopCode": "車間代號", + "dataField": "資料欄位", + "value": "值", + "sequence": "順序", + "representativeColorCannotBeEmpty": "代表色不可為空", + "prdLineType": "產線類型", + "operationDesc": "工序說明", + "revision": "版本", + "currentRevision": "當前版本", + "segment": "工段", + "invalidateAfterSplitBatch": "分併批後失效", + "period": "週期", + "inspecType": "檢驗類型", + "qcPlan": "檢驗計畫編號", + "qcPlanDesc": "檢驗計畫說明", + "qcItem": "檢驗項目編號", + "qcRole": "檢驗人員群組", + "ncCode": "不合格代碼", + "detail": "明細", + "judgeUser": "判定人員", + "judgeResult": "判定結果", + "judgeDateTime": "判定時間", + "jobNo": "檢驗任務單號", + "judgment": "判定", + "inspection": "檢驗", + "inspectionItemDescription": "檢驗項目說明", + "samplingMethod": "抽樣方式", + "inspectionPlan": "檢驗計畫", + "createNew": "新建", + "inOperation": "作業中", + "closed": "已關閉", + "inspectionItem": "檢驗項目", + "close": "關閉", + "username": "用戶名", + "full_name": "姓名", + "abnormalReason": "異常原因", + "specificationControl": "規格管控", + "upperLimit": "上限", + "lowerLimit": "下限", + "setValuesN": "設定值(N)", + "reinspection": "重驗", + "sampleNumber": "樣本數", + "milStd105eTableAql": "MIL-STD-105E表 (AQL)", + "ng": "NG", + "ok": "OK", + "month1": "一月", + "month2": "二月", + "month3": "三月", + "month4": "四月", + "month5": "五月", + "month6": "六月", + "month7": "七月", + "month8": "八月", + "month9": "九月", + "month10": "十月", + "month11": "十一月", + "month12": "十二月", + "groupNo": "群組編號", + "groupName": "群組名稱", + "resrce": "儀器設備", + "process_occurred": "發生工序", + "newDateCreate": "開單時間", + "current_process": "目前工序", + "newHoldOption": "扣留作業", + "enter_product_number": "請輸入產品編號", + "currentResponsible": "請輸入第一處理單位", + "submitText": "提交", + "handle": "主鍵", + "operationNo": "工序編號", + "handleABNHistory": "異常單資訊", + "run": "開啟", + "inQueue": "排隊中", + "inProcess": "生產中", + "finished": "完成", + "withheld": "扣留", + "void": "報廢", + "startDateNotEmpty": "開始日期不可為空", + "endDateNotEmpty": "結束日期不可為空", + "endDateNotEarlier": "結束日期不可早於開始日期", + "attachmentType": "附件類型", + "labelFile": "檔案", + "upload": "上傳", + "removeBtn": "移除", + "saveSuccess": "儲存成功", + "qty": "片數", + "itemInfo": "產品", + "routerInfo": "途程", + "customer_id": "客戶編號", + "userPart": "客戶料號", + "userLot": "客戶批號", + "itemReceiptNo": "收料單號", + "purchaseOrderStatus": "採購單狀態", + "member": "成員", + "userNo": "用戶編號", + "delFailMsg": "刪除失敗", + "workCenterDesc": "工作中心說明", + "searchFirst": "請先進行檢索", + "resrceCategory": "設備大類", + "number": "數值", + "time": "時間", + "datasourceBo": "資料來源名稱不可為空", + "fieldTextEmpty": "序號{seq},欄位名不可為空", + "testProgram": "測試程式", + "enabledFlag": "啟用", + "printerNo": "標籤機編號", + "printerName": "標籤機名稱", + "labelNo": "標籤編號", + "labelName": "標籤名稱", + "itemType": "料件類別", + "carrierType": "載具類型", + "nonSelect": "請選擇要刪除的資料", + "printResult": "列印結果", + "itemLabel": "物料標籤", + "lotLabel": "生產標籤", + "printSuccess": "列印成功", + "carrierNumber": "載具編號", + "ecnType": "工程變更類型", + "expired": "失效", + "selectMsg": "請選擇", + "disabled": "未啟用", + "inputContent": "請輸入內容", + "formula": "配方", + "materialList": "物料清單", + "prdRouter": "生產途程", + "defaultValue": "預設值", + "unit": "單位", + "splitInvalid": "失效(分批)", + "ruleState": "請選擇狀態", + "personnel": "人員", + "planStartDate": "計畫開始日期", + "qtyReleased": "已下達數量", + "planEndDate": "計畫結束日期", + "standardNumber": "標準數", + "unitQty": "單位量", + "hold": "保留", + "item": "物料", + "executeDate": "執行時間", + "executeSuccess": "執行成功", + "frequencyCycle": "頻率週期", + "result2": "結果", + "executor": "執行人員", + "resource": "儀器編號", + "resourceDesc": "儀器說明", + "lsl": "規格下限", + "usl": "規格上限", + "measureTimes": "量測次數", + "unit_of_measure": "量值單位", + "eqpType": "類別", + "stdev": "標準差", + "measureUser": "量測人員", + "tv": "總變異(TV)", + "ev": "儀器變異(%EV)", + "pv": "部件變異(%PV)", + "rr": "重複性與再現性(%R&R)", + "effectiveness": "有效性", + "agreement": "一致性", + "agreementQty": "一致數", + "totalQty": "總受檢數", + "stand": "基準", + "settingInfo": "設定資訊", + "measurement_system_acceptable": "%R&R < 10%,此測量系統能力可接受", + "measurement_system_conditional": "10% <= %R&R <= 30%,此測量系統能力是否接受須由主管單位決定", + "NA": "NA", + "acceptable_measurement_device": "ndc ≥ 5,可接受的測量設備", + "rejected_measurement_device": "ndc < 5,拒絕測量設備,需使用更靈敏的測量設備", + "accepted": "接受", + "conditionally_accepted": "有條件接受", + "rejected": "不接受", + "okey": "好", + "average_to_good": "中等趨於好", + "poor": "差", + "usableOpeartion": "可用工序", + "indicatedOperation": "已指派工序", + "CATNo": "CAT編號", + "FTSplitRuleLogic": "FT分批規則邏輯", + "carrierNoDesc": "載具說明", + "generation": "生成", + "inputCarrierNo": "請輸入載具編號", + "positionCarrierLoaded": "載具位置『{position}』已有擺放載具,請先移除載具", + "content": "內容", + "errorStack": "錯誤堆棧", + "justNow": "剛剛", + "minutesAgo": "分鐘前", + "hoursAgo": "小時前", + "oneDayAgo": "1天前", + "month": "月", + "day": "日", + "hour": "時", + "minute": "分", + "text": "文本", + "imageText": "圖文", + "replyMessageType": "回復消息類型", + "requestMessageType": "請求消息類型", + "voice": "語音", + "video": "視頻", + "shortVideo": "小視頻", + "location": "地理位置", + "linkMessage": "鏈接消息", + "eventPush": "事件推送", + "keyword": "關鍵詞", + "matchingType": "匹配類型", + "exactMatch": "全匹配", + "partialMatch": "半匹配", + "productId": "商品ID", + "productName": "商品名稱", + "amountYuan": "金額/元", + "userId": "用戶ID", + "orderStatus": "訂單狀態", + "paymentOrderNumber": "支付訂單號", + "enterNumberGreaterThanZero": "請輸入大於0的數字", + "valueMustBeNumberBetween2And36": "值必須是 2 到 36 的數字", + "valueMustBeNumberBetween1And128": "值必須是 1 到 128 的數字", + "valueNotCompliantEnterCharactersBetween2AndZ": "值[' {currentValue} ']不符合規範,請輸入2-Z之間的字符,多個用逗號隔開", + "loadingCarrierType": "可裝載載具類型", + "layout": "位置圖", + "row": "列", + "column": "欄", + "positionCode": "位置編碼", + "usePosition": "使用位置", + "rowColumn": "列 \\ 欄", + "positionEmpty": "位置不可為空", + "positionDuplicate": "位置{position}不可重複", + "ncCodeDesc": "不合格说明", + "faeCompleteTitle": "维修出站作业", + "repairMemo": "维修备註", + "repairDisposal": "维修处置", + "transferOperation": "转移工序", + "inventoryOfGoods": "良品入库", + "inventoryOfDefective": "不良品入库", + "recordTime": "纪录时间", + "goodsInv": "良品暂存仓", + "defectiveInv": "不良品暂存仓", + "eqpTypeStatusReset": "此類別的設備的位置狀態需重新設定,是否確認?", + "pleaseSelectDisp": "請選擇處置方式", + "pleaseSelectTransfer": "請選擇移轉工序編號", + "pleaseSelectGoodsInv": "請選擇良品庫編號", + "pleaseSelectDefectiveInv": "請選擇不良品庫編號", + "warehouseInGoods": "良品入庫完成", + "warehouseInDefective": "不良品入庫完成", + "wcType": { + "1": "產線", + "0": "區域" + }, + "sn": "SN", + "scanSn": "刷入SN", + "selectFirst": "請先選擇", + "snEmpty": "請輸入SN", + "snRepeat": "SN重複", + "customCheckInOperationMustBeSN": "工序的自訂 CHECK_IN_OPERATION 需為 SN", + "snPreOperation": "SN 前置作業", + "snToWorkOrderOperation": "SN 轉工單作業", + "productionLineProcessDescription": "產線工序說明", + "workOrderInformation": "工單資訊", + "pleaseEnterWorkOrder": "請輸入工單", + "pleaseEnterSn": "請輸入SN", + "snAlreadyExists": "SN已存在", + "pleaseRetrieveWorkOrderFirst": "請先檢索工單", + "checkInSuccess": "進站成功", + "replace": "更換", + "pleaseEnterProduct": "請輸入生產物", + "productLotNoNotInRepairStation": "生產物 {lotNo} 目前工序不是維修站,不可執行組件更換", + "productLotNoNotInProductionStatus": "生產物 {lotNo} 狀態不是生產,不可執行組件更換", + "productLotNoNotExist": "生產物 {lotNo} 不存在", + "oldSerialNumber": "舊序號", + "newSerialNumber": "新序號", + "repairDate": "維修日期", + "repairNotes": "維修備註", + "pleaseEnterInboundWarehouse": "請輸入轉入倉庫", + "pleaseEnterOldSerialNumber": "請輸入舊序號", + "pleaseEnterOutboundWarehouse": "請輸入轉出倉庫", + "pleaseEnterNewSerialNumber": "請輸入新序號", + "pleaseEnterRepairDate": "請輸入維修日期", + "pleaseEnterRepairPersonnel": "請輸入維修人員", + "oldMaterialBatchNumber": "舊料件批號", + "newMaterialBatchNumber": "新料件批號", + "replacementQuantity": "更換數量", + "componentReplacementSN": "組件更換 - SN", + "componentReplacementBatch": "組件更換 - 料批", + "pleaseEnterNewMaterialBatchNumber": "請輸入新料件批號", + "pleaseEnterReplacementQuantity": "請輸入更換數量", + "pleaseEnterOldSerialNumberFirst": "請先輸入舊序號", + "oldSerialNumberNotExist": "舊序號不存在", + "pleaseEnterReplacementNewSerialNumber": "請輸入要更換的新序號", + "confirmReplaceComponent": "是否確定更換組件", + "replaceSuccess": "更換成功", + "newMaterialBatchNumberDuplicate": "新料件批號重復,請先移除", + "newMaterialBatchNumberChangeQtyExceedsOldQty": "新料件批號 {newMaterialLot} 更換數量 {changeQty} ,不可大於舊料件批號的數量", + "factoryBatchNumber": "廠內批號", + "pleaseEnterFactoryBatchNumber": "請輸入廠內批號", + "factoryBatchNumberDuplicateWithNewMaterial": "廠內批號與新料件批號重複", + "completionPersonnel": "完成人員", + "componentReplacementCompletion": "組件更換 - 完成", + "pleaseSelectCompletionDate": "請選擇完成日期", + "pleaseSelectCompletionPersonnel": "請選擇完成人員", + "confirmComponentReplacementCompletion": "是否確認完成更換組件?", + "componentReplacementCompleted": "組件更換完成", + "definition": "定義", + "pleaseEnterDefinitionType": "請輸入定義類型", + "pleaseEnterMaterial": "請輸入料件編號", + "pleaseEnterMaterialCategory": "請輸入料件類別", + "uploadImage": "上傳圖片", + "noFileSelected": "未選擇任何檔案", + "updatePassword": "更新密碼", + "firstLoginForcePasswordChange": "首次登入需強制修改密碼", + "currentPassword": "原始密碼", + "newPassword": "新密碼", + "confirmPassword": "確認密碼", + "passwordSettingRules": "密碼設定規範", + "noSettingRules": "無設定規範", + "passwordMismatch": "兩次輸入密碼不一致", + "pleaseEnterCurrentPassword": "請輸入原始密碼", + "pleaseEnterNewPassword": "請輸入新密碼", + "updateSuccess": "修改成功", + "passwordMinLengthError": "密碼長度不符合最短長度 {lengths} 要求", + "passwordMaxLengthError": "密碼長度不符合最大長度 {lengths} 要求", + "passwordMinLettersError": "密碼長度不符合最少包含 {lengths} 位字母要求", + "passwordMinDigitsError": "密碼長度不符合最少包含 {lengths} 位數值要求", + "passwordMinSpecialCharsError": "密碼長度不符合最少包含 {lengths} 位特殊符號要求", + "containerTypeNo": "容器類別編號", + "containerKind": "容器類型", + "containerType": "容器類別", + "packingLevel": "包裝層級", + "containerTypeIsEmpty": "請輸入容器類別編號", + "containerKindIsEmpty": "請選擇容器類別", + "packingObject": "包裝層級對象", + "minQtyPacking": "最小包裝數量", + "maxQtyPacking": "最大包裝數量", + "containerDelAlert": "是否確認刪除容器類別編號: 『{container}』", + "customCheckInOperationMustBeSn": "工序的自訂 CHECK_IN_OPERATION 需為 SN", + "carrierStatus": "載具狀態", + "containerCategoryDescription": "容器類別說明", + "containerNumber": "容器編號", + "generateContainer": "產生容器", + "packagingLevel": "包裝層級", + "packagingLevelObject": "包裝層級對象", + "minimumPackagingQuantity": "最小包裝數量", + "maximumPackagingQuantity": "最大包裝數量", + "packagedQuantity": "已包裝數量", + "closeBox": "關箱", + "packagingOperation": "包裝作業", + "pleaseEnterContainerNumber": "請輸入容器編號", + "confirmDeleteContainerNumber": "是否刪除容器編號", + "pleaseSelectPackagingLevel": "請選擇包裝層級", + "confirmDeleteContainerNumberWithId": "是否刪除容器編號 {containerNo}", + "packaging": "包裝", + "containerNumberPackagingInProgressCannotDelete": "容器編號 {containerNo} 正在包裝中,不允許刪除", + "containerCategoryCannotBeEmpty": "容器類別不可為空", + "usnCannotBeEmpty": "USN不可為空", + "confirmRemoval": "是否確定移除", + "containerNumberCannotBeEmpty": "容器編號不可為空", + "packagingListCannotBeEmpty": "包裝清單不可為空", + "confirmCloseBoxAndCheckOutWithId": "容器編號 {containerNo} 是否確定關箱?", + "confirmCloseBoxWithId": "容器編號 {containerNo} 是否確定關箱?", + "closeBoxSuccess": "關箱成功", + "closeBoxFailed": "關箱失敗", + "containerNumberCloseBoxCompleted": "容器編號 {containerNo} 關箱完成", + "containerNumberStatusNotOpenCannotPerformPackaging": "容器編號狀態非開啟,不可執行包裝作業", + "containerNumberNotExist": "容器編號 {containerNo} 不存在", + "csnPropEmpty": "順序『{seq}』的『{csnType}』值不可為空", + "schemaCheck": "請輸入正整數或latest" +} diff --git a/src/locale/i18n/zh_tw/mes/int.json b/src/locale/i18n/zh_tw/mes/int.json new file mode 100644 index 0000000..1a29fbb --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/int.json @@ -0,0 +1,32 @@ +{ + "executionFailed": "執行失敗", + "rethrow": "重拋", + "rethrowSuccessful": "重拋成功", + "rethrowFailed": "重拋失敗", + "requestSide": "請求端", + "receiverSide": "接收端", + "methodName": "方法名稱", + "message": "訊息", + "keyword": "關鍵字", + "transactionTime": "交易時間", + "rethrowCount": "重拋次數", + "rethrowPersonnel": "重拋人員", + "rethrowTime": "重拋時間", + "requestContent": "請求內容", + "responseContent": "回應內容", + "integratedServiceTransactionHistoryView": "整合服務交易歷程 - 檢視", + "transactionSID": "交易SID", + "rethrowHistory": "重拋歷程", + "selectRequestSide": "請選擇 請求端", + "selectStatus": "請選擇 狀態", + "selectStartDate": "請選擇 開始日期", + "selectReceiverSide": "請選擇 接收端", + "enterMethodName": "請輸入 方法名稱", + "enterTransactionTimeStartAndEnd": "請輸入交易時間(起)和交易時間(迄)", + "enterTransactionTimeStart": "請輸入交易時間(起)", + "enterTransactionTimeEnd": "請輸入交易時間(迄)", + "transactionTimeStartCannotExceedEnd": "交易時間(起)不可大於交易時間(迄)", + "transactionTimeIntervalCannotExceed30Days": "交易時間區間不可大於30天", + "integratedServiceTransactionHistoryContent": "整合服務交易歷程 - 內容", + "transactionNumber": "交易編號" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/lms.json b/src/locale/i18n/zh_tw/mes/lms.json new file mode 100644 index 0000000..b685558 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/lms.json @@ -0,0 +1,76 @@ +{ + "label-printer": { + "titleAdd": "標籤機配置-新增", + "titleEdit": "標籤機配置-編輯", + "titleView": "標籤機配置-查看", + "confirmDelete": "是否確認刪除標籤機編號", + "label": { + "printerNo": "標籤機編號:", + "printerName": "標籤機名稱:" + }, + "rule": { + "printerNo": "標籤機編號不可為空", + "printerName": "標籤機名稱不可為空" + } + }, + "label-maintenance": { + "title": "標籤檔", + "labelType": "標籤類型", + "labelFile": "標籤檔案", + "parameter": "標籤參數", + "printer": "標籤機", + "msg": { + "labelType": "標籤類型不可為空", + "labelNo": "標籤編號不可為空", + "labelName": "標籤名稱不可為空", + "labelFile": "標籤檔案不可為空", + "parameterEmpty": "序號{seq},標籤參數不可為空", + "typeNoEmpty": "序號{seq},料件類別不可為空", + "segmentNoEmpty": "序號{seq},工段不可為空", + "printerNoEmpty": "序號{seq},標籤機編號不可為空", + "parameterRepeat": "序號{seq},標籤參數不可重複", + "carrierTypeNotEmpty": "序號{seq},載具類型不可為空", + "equipmentCategoryNotEmpty": "序號{seq},設備類別不可為空", + "toolCategoryNotEmpty": "序號{seq},工具類別不可為空", + "CannotBeDuplicated": "{key}不能重複,請移除相同的{key}", + "confirmRemoveBoundLabel": "{formLabelType}『{typeNo}』已綁定標籤編號『{labelNo}』,是否要移除已綁定的標籤 ?", + "remove": { + "alert": "是否確認刪除標籤編號 {labelNo}" + } + } + }, + "label-reprinter": { + "datePrint": "列印時間", + "shopOrderType": "工單類別", + "ruleLabelType": "請選擇標籤類型", + "userPrint": "列印人員", + "transactionId": "交易碼", + "printHistory": "列印歷程", + "printFail": "列印失敗,請查看列印歷程", + "printerNotEmpty": "標籤編號{labelNo},標籤機不可為空", + "printContent": "標籤列印-列印內容", + "contentFail": "標籤列印-失敗訊息", + "printEndNotBeforeStart": "列印時間起始時間不可大於結束時間" + }, + "label-print": { + "printCopies": "列印張數", + "printList": "列印清單", + "printing": "列印中", + "print": "列印", + "labelPrinting": "標籤列印", + "selectLabelToPrint": "請先勾選要列印的標籤", + "labelNoMachineNumberNotEmpty": "標籤編號 {labelNo},標籤機編號不可為空", + "labelNoPrintCopiesNotEmpty": "標籤編號 {labelNo},列印張數不能為空且不能為0", + "printFailed": "列印失敗", + "printRequestFailed": "列印請求失敗", + "printRequestError": "列印請求發生錯誤", + "failureMessage": "失敗消息", + "printFailureLogRequestError": "列印失敗日誌請求錯誤:", + "printFailureLogRequestErrorOccurred": "列印失敗日誌請求發生錯誤", + "labelPrintingFailureMessage": "標籤列印-失敗消息", + "resrceLabel": "設備標籤", + "carrierLabel": "載具標籤", + "toolLabel": "工具標籤", + "label": "標籤" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/msa.json b/src/locale/i18n/zh_tw/mes/msa.json new file mode 100644 index 0000000..91ca20b --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/msa.json @@ -0,0 +1,125 @@ +{ + "maintain": { + "title": "量測任務單", + "colon": ":", + "description": "量測說明", + "analyze": "分析項目", + "main": "主要", + "bias": "偏差", + "grr": "GRR", + "stability": "穩定性", + "kappa": "KAPPA", + "kappaStandard": "KAPPA基準值", + "confidenceLevel": "信賴水準", + "referenceValue": "參考值", + "numberPeople": "量測人數", + "xbarLcl": "X-BAR 管制下限", + "xbarCl": "X-BAR 管制中心", + "xbarUcl": "X-BAR 管制上限", + "rlcl": "R 管制下限", + "rcl": "R 管制中心", + "rucl": "R 管制上限", + "frequencyTimes": "頻率次數", + "sample": "樣本", + "standard": "基準值", + "average": "平均值", + "averageBias": "平均偏差", + "standardError": "標準誤", + "confidence": "信賴區間", + "value": "量測值", + "Bias": "Bias", + "av": "量測人員變異(%AV)", + "ndc": "ndc", + "xbar": "X-BAR", + "r": "R", + "miss": "漏判率", + "falseAlarm": "誤判率", + "reproducibility": "重現性", + "measureDate": "量測時間", + "work": "作業", + "analysisDiagram": "分析圖", + "analyzes": { + "biasResult": { + "1": "預估偏差0,偏差信賴區間 「下限」 ~ 「上限」 包含0,故判斷OK", + "2": "預估偏差0,偏差信賴區間 「下限」 ~ 「上限」 不包含0,故判斷NG", + "3": "預估偏差0,偏差信賴區間 「上限」 大於0,故判斷OK", + "4": "預估偏差0,偏信賴區間 「上限」 小於0,故判斷NG", + "5": "預估偏差0,偏差信賴區間 「下限」 小於0,故判斷OK", + "6": "預估偏差0,偏信賴區間 「下限」 大於0,故判斷NG" + }, + "grrResult": { + "rr": { + "2": "%R&R > 30%此量測系統不合格" + } + } + }, + "msg": { + "create": { + "success": "任務單儲存成功", + "analyzeComplete": "分析完成" + }, + "confirm": { + "alert": "是否確認任務單{taskNo}", + "alertBias": "是否確定完成任務單{taskNo}的偏差作業", + "alertStability": "是否確定完成任務單{taskNo}的穩定性作業" + }, + "delete": { + "alert": "是否刪除任務單{taskNo}", + "analyzeItem": "是否作廢任務單{taskNo}的{analyze}作業" + }, + "error": { + "date1": "請輸入單據日期(起)", + "date2": "請輸入單據日期(迄)", + "date3": "單據日期(迄)不可早於單據日期(起)", + "date4": "單據日期不可超過一個月", + "resource": "請輸入儀器編號", + "item": "請輸入料件編號", + "qcItem": "請輸入檢驗項目", + "confidenceLevel": "請輸入信賴水準", + "measureTimes": "請輸入量測次數", + "referenceValue": "請輸入參考值", + "unit": "請輸入量值單位", + "sampleSize": "請輸入樣本數", + "numberPeople": "請輸入量測人數", + "frequencyTimes": "請輸入頻率次數", + "analyzes": "請至少選擇一個分析項目", + "lsl": "請輸入規格下限", + "usl": "請輸入規格上限", + "overUsl": "規格上限不可小於規格下限", + "xbarLcl": "請輸入X-BAR 管制下限", + "xbarUcl": "請輸入X-BAR 管制上限", + "rlcl": "請輸入R 管制下限", + "rucl": "請輸入R 管制上限", + "overXbarUsl": "X-BAR 管制上限不可小於X-BAR 管制下限", + "overRUsl": "R 管制上限不可小於R 管制下限", + "xbarClMin": "X-BAR管制中心不可小於X-BAR管制下限", + "xbarClMax": "X-BAR管制中心不可大於X-BAR管制上限", + "rClMin": "R 管制中心不可小於R 管制下限", + "rClMax": "R 管制中心不可大於R 管制上限", + "setStandard": "請設定樣本的基準值", + "measureTimesMin1": "量測次數不可小於1", + "measureTimesMin2": "量測次數不可小於2", + "sampleSizeMin1": "樣本數不可小於1", + "sampleSizeMin2": "樣本數不可小於2", + "numberPeopleMin1": "量測人數不可小於1", + "numberPeopleMin2": "量測人數不可小於2", + "frequencyTimesMin1": "頻率次數不可小於1", + "inputMeasureTimesValue": "請輸入量測次數{serial}的量測值", + "inputMeasureFrequencyValues": "請輸入頻率次數{frequency},量測次數{measureTimes}的量測值" + } + }, + "measurer": "量測人", + "sampleNumberMeasurementTimes": "樣本數 \\ 量測次數", + "analysis": "分析", + "measurerVariation": "測量人員變異(%AV)", + "measurementTaskOrderGRRJob": "量測任務單-GRR作業", + "measurementTaskOrderGRRAnalysis": "量測任務單-GRR分析", + "rrGreaterThan30": "%R&R > 30%,此量測系統不合格", + "confirmCompleteGRRJob": "是否確定完成任務單 {taskNo} 的 GRR 作業", + "confirmCompleteKAPPAJob": "是否確定完成任務單 {taskNo} 的 KAPPA 作業", + "enterMeasurer": "請輸入量測人", + "enterMeasurementValue": "請輸入量測人 {peopleName}、樣本數 {sampleNo}、量測次數 {serialNo} 的量測值", + "measurementTaskOrderKappaJob": "量測任務單-KAPPA作業", + "measurementTaskOrderKappaAnalysis": "量測任務單-KAPPA分析" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/oee.json b/src/locale/i18n/zh_tw/mes/oee.json new file mode 100644 index 0000000..29b58c7 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/oee.json @@ -0,0 +1,18 @@ +{ + "attrib": "稼動屬性", + "system": "系統", + "ruleStatusCode": "請輸入 狀態碼", + "ruleStatusName": "請輸入 狀態名稱", + "ruleColor": "請輸入 代表色", + "confirmDelCode": "是否確認刪除狀態碼為{statusCode}", + "statusTypeNotEmpty": "狀態類型不可為空", + "oeeAttrNotEmpty": "稼動屬性不可為空", + "oeeStatusCodeAdd": "設備狀態碼-新增", + "oeeStatusCodeEdit": "設備狀態碼-編輯", + "oeeStatusCodeView": "設備狀態碼-查看", + "factory": "工廠", + "colorCode": "顏色", + "eqpStatusChange": "設備狀態變更作業", + "ruleReasonCode": "請輸入原因代碼", + "awaitLot": "待料" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/ord.json b/src/locale/i18n/zh_tw/mes/ord.json new file mode 100644 index 0000000..31b29ff --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/ord.json @@ -0,0 +1,86 @@ +{ + "orderMaintenance": "工單維護作業", + "status": "工單狀態", + "planWorkCenter": "計畫工作中心", + "feedPoint": "投料點", + "LOTList": "LOT清單", + "substituteMaterial": "替代料", + "itemDetail": "料件明細", + "productionRoute": "工藝路線", + "ruleShopOrder": "請輸入工單編號", + "ruleOrderType": "請輸入工單類型", + "rulePlanWorkCenter": "請輸入計畫工作中心", + "rulePriority": "請輸入優先順序", + "ruleOrderStatus": "請輸入工單狀態", + "ruleOrderAmount": "請輸入工單數量", + "ruleBOM": "請輸入BOM", + "planEndDateNotEarlierStart": "計畫結束日期不可早於計畫開始日期", + "shopOrderView": "工單-查看", + "shopOrderAdd": "工單-新增", + "shopOrderEdit": "工單-編輯", + "confirmDelOrder": "是否確認刪除工單:{shopOrder}", + "ruleSelectProductNo": "請先選擇產品編號", + "confirmDelRow": "是否確認刪除該行", + "feedPointNotEqualMaterial": "同一個投料點{operation}不允許有相同物料{component}", + "itemDetailSeqDuplicate": "料件明細順序{seq}重複", + "subItemNoNotEmpty": "替代料料件編號不可為空", + "itemNoNotEqualSubs": "料件編號:{component}不可與替代料相同", + "orderTypeNotEmpty": "工單類型不可為空", + "noOrderTypeLogic": "無此工單類型『{label}』邏輯,請檢查字典配置", + "releasable": "可下達", + "inTesting": "測試中", + "shopOrderRequired": "工單編號必須填寫", + "ruleSelectOrderType": "請選擇工單類型", + "ruleSelectOrderStatus": "請選擇工單狀態", + "statusNotEmpty": "狀態必須填寫", + "holdSign": "保留標識", + "amountRequired": "數量必須填寫", + "priorityRequired": "優先順序必須填寫", + "planItem": "計畫物料", + "rulePlanItem": "計畫物料必須填寫", + "planItemList": "計畫物料清單", + "planProductionRoute": "計畫工藝路線", + "prdAmount": "生產數量", + "releasableAmount": "可下達數量", + "pendingReleaseAmount": "待下達數量", + "planComDate": "計畫完成日期", + "firstLastBatch": "第一個/最後一個生產批", + "selectHotLot": "請選擇Hot Lot", + "releaseAmount": "下達數量", + "batchRelease": "批次下達", + "releaseSuccess": "下達成功", + "printProcessCard": "列印流程卡", + "ruleLineSideHouse": "請輸入線邊倉", + "inputReleaseAmount": "請輸入下達數量", + "selectRowPrint": "選中一行LOT NO進行列印", + "inputPrdRouter": "請輸入生產途程", + "prdBatch": "生產批", + "searchNotAllEmpty": "檢索條件不能全部為空", + "ruleRevisionProduct": "版本不為空時,產品編號不能為空", + "ruleProductRevision": "產品編號不為空時,版本不能為空", + "searchNoData": "查無資料", + "selectRowPrint2": "選中一行LOT NO進行補印", + "selectOnceARowPrint": "一次只可選中一行LOT NO進行補印", + "userBatch": "客戶批次", + "ruleUserPart": "請輸入客戶料號", + "ruleQty": "請輸入片數", + "confirmDelLOTMessage": "是否確認刪除該LOT資訊?", + "qtyRequired": "片數必須填寫", + "releasedQty": "已下達片數", + "dieAmount": "Die數量", + "dieAmountRequired": "Die數量必須填寫", + "releasedDie": "已下達Die數", + "orderQty": "工單片數", + "releaseQty": "下達片數", + "orderStatusNotReleasable": "工單狀態不是可下達", + "unSelectWaferCannotRelease": "未選擇wafer不能下達!", + "eachPartUserLotCorrespond": "每片客戶批號需要一致", + "selectReleasedQtyPartNo": "請選擇要下達的片號", + "releaseDie": "下達Die數", + "eachDieUserLotCorrespond": "每Die客戶批號需要一致", + "releaseDieNotOverDieAmount": "下達Die數不能超過Die數", + "releasableDie": "可下達Die數", + "orderDie": "工單Die數", + "printLabel": "列印標籤" +} + diff --git a/src/locale/i18n/zh_tw/mes/pms.json b/src/locale/i18n/zh_tw/mes/pms.json new file mode 100644 index 0000000..9555356 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/pms.json @@ -0,0 +1,393 @@ +{ + "resrceGroupNo": "設備群組編號", + "resrceGroupName": "設備群組名稱", + "structralCode": "結構碼", + "errCode": "故障碼", + "maintenanceItem": "保養項目", + "inspItem": "點檢項目", + "spareBOM": "備品BOM", + "ruleResrceGroupNo": "請輸入設備群組編號", + "resrceGroupAdd": "設備群組-新增", + "resrceGroupView": "設備群組-查看", + "resrceGroupEdit": "設備群組-編輯", + "confirmDelId": "是否確認刪除編號: {id}", + "spareNo": "備品編號", + "spareName": "備品名稱", + "specification": "規格型號", + "spareTypeName": "備品類別名稱", + "confirmDelId2": "是否確認刪除: {partId}", + "errName": "故障名稱", + "structralName": "結構名稱", + "ruleStructCode": "請輸入結構碼", + "ruleErrCode": "請輸入故障碼", + "errCodeAdd": "故障碼-新增", + "errCodeView": "故障碼-查看", + "errCodeEdit": "故障碼-編輯", + "confirmDelName": "是否確認刪除: {name}", + "inspItemName": "點檢項目名稱", + "inspItemGroup": "點檢項目群組", + "ruleInspItemName": "請輸入點檢項目名稱", + "inspItemAdd": "點檢項目-新增", + "inspItemView": "點檢項目-查看", + "inspItemEdit": "點檢項目-編輯", + "spareTypeNo": "備品類別編號", + "ruleSpareName": "請輸入備品名稱", + "ruleInputAmount": "請輸入數量", + "spareType": "備品類別", + "maintainItemSpareListAdd": "保養項目備品清單-新增", + "maintainItemSpareListEdit": "保養項目備品清單-編輯", + "maintainItemName": "保養項目名稱", + "itemType": "項目類型", + "inputValueType": "輸入數值型別", + "targetValue": "目標值", + "maxValue": "最大值", + "minValue": "最小值", + "maintainItemType": "保養項目類型", + "maintainItemSpareList": "保養項目備品清單", + "ruleMaintainItemName": "請輸入保養項目名稱", + "MaintenanceItemAdd": "保養項目-新增", + "maxAndMinSelectOne": "最大值及最小值需擇一輸入", + "maxThanTargetThanMin": "輸入值不合理,需符合最大值 > 目標值 > 最小值", + "maxThanTarget": "輸入值不合理,需符合最大值 > 目標值", + "targetThanMin": "輸入值不合理,需符合目標值 > 最小值", + "maxThanMin": "輸入值不合理,需符合最大值 > 最小值", + "maintainItemView": "保養項目-查看", + "maintainItemEdit": "保養項目-編輯", + "usableStructCode": "可用結構碼", + "assignedStructCode": "已指派結構碼", + "resrceGroup": "設備群組", + "department": "部門", + "area": "區域", + "specNo": "規格編號", + "manufacturer": "製造商", + "resrceMaintainView": "設備維護-查看", + "resrceMaintainEdit": "設備維護-編輯", + "confirmAutoStop": "設備群組已異動,下述保養計畫會自動停止,是否確定?", + "oriEquipGroupMaList": "原群組保養計畫: {oriEquipGroupMaList}", + "equipGroupMaList": "新群組保養計畫: {equipGroupMaList}", + "confirmDelSerial": "是否確認刪除序號: {seq}", + "fileTypeNotSuit": "所選擇的檔案類型與當前附件類型不符", + "inspShopOrder": "點檢工單編號: {id}", + "waitProcess": "等待處理", + "inProcess": "處理中", + "compWaitConfirm": "完成待確認", + "workLog": "工作記錄", + "InspectionComp": "點檢完成", + "labelInspShopOrder": "點檢工單編號", + "inspPlanName": "點檢計畫名稱", + "statusAuth": "狀態(許可權)", + "typeNo": "類型編號", + "user": "用戶", + "planEndDate": "計畫結束時間", + "compDate": "完成時間", + "inspResult": "點檢結果", + "inspOrder": "點檢工單", + "oneConditionRequird": "請擇一條件輸入", + "confirmInspOrder": "點檢工單: {id},確定開始執行?", + "confirmVoidOrder": "點檢工單: {id},是否確定作廢?", + "confirmCancelOrder": "點檢工單: {id},是否確定取消?", + "confirmCompOrder": "點檢工單: {id},是否確定完成?", + "inspOrderComp": "點檢工單完成", + "userName": "用戶名稱", + "allUser": "所有人", + "workGroup": "工作群組", + "indicatedGroup": "指定群組", + "inspOrderNo": "點檢工單號", + "planEndNotEarlierStart": "『計畫開始日期』結束日期不可早於開始日期", + "planEndNotEarlierStart2": "『計畫結束日期』結束日期不可早於開始日期", + "result": "結果 *", + "workRecordAdd": "工作記錄-新增", + "ruleStartTime": "請輸入開始時間", + "ruleEndTime": "請輸入結束時間", + "ruleEndStartTime": "結束時間不可小於等於開始時間", + "confirmDelUserName": "用戶名稱:{row.detailFullName}
    開始時間:{row.beginTime}
    結束時間:{row.endTime}
    是否確認刪除?", + "email": "電子郵件", + "phone": "電話號碼", + "mobile": "手機號碼", + "inspListName": "點檢表名稱", + "selectDateTime": "選擇日期時間", + "executePlan": "執行計畫", + "resrceList": "設備清單", + "resrceTypeGroupName": "設備類群組名稱", + "inspListTypeName": "點檢表類別名稱", + "inspList": "點檢表", + "inspListDelConfirm": "點檢表: {schName},是否確定刪除?", + "eqpNotEmpty": "{equipName}頻率不可為空", + "valueTypeNotEmpty": "數值型別不可為空", + "startTimeLaterCurrent": "開始時間不正確,必須大於當前時間", + "overTwoYearFixAgain": "此計畫超過兩年,請重新調整時間", + "confirmRunPlan": "確定要啟用選擇的計畫: {schName}?", + "enableSuccess": "啟用成功", + "confirmStopPlan": "確定要停用選擇的計畫: {schName}?", + "disableSuccess": "停用成功", + "dailyPlan": "日計畫", + "weeklyPlan": "周計畫", + "monthlyPlan": "月計畫", + "annualPlan": "年計畫", + "annualPlan2": "年度計畫", + "perDay": "每隔_日", + "perHour": "每隔_小時", + "valueType": "數值型別", + "inspItemGroupName": "點檢項目群組名稱", + "inspResrce": "點檢設備", + "confirmEqpDel": "設備: {equipName},是否確定刪除?", + "leastCheckOne": "請至少勾選一項", + "frequency": "頻率", + "confirmBuildInspOrder": "確定要建立點檢工單?", + "InspOrdercreateSuccess": "新建成功,點檢工單: {id}", + "duplicatedHour": "重複時數", + "duplicatedDay": "重複日", + "workTime": "工作時間", + "workDay": "工作日", + "week": "周", + "date": "日期", + "sunday": "周日", + "monday": "週一", + "tuesday": "週二", + "wendesday": "週三", + "thursday": "週四", + "friday": "週五", + "saturday": "週六", + "timeFormatErr": "時間格式錯誤", + "ruleCheckTime": "請勾選時段", + "ruleCheckDate": "請勾選日期", + "ruleAddWorkDay": "請新增工作日", + "inspMethod": "點檢方式", + "workShopOrPrdLine": "車間或產線", + "schduleMethod": "排程方式", + "preToleranceHour": "前容差小時", + "lagToleranceHour": "後容差小時", + "inspWorkGroup": "點檢工作群組", + "hourWork": "小時工作", + "ruleFrequency": "請先選擇頻率週期", + "inspListNameNotEmpty": "點檢表名稱不可為空", + "descNotEmpty": "說明不可為空", + "frequencyNotEmpty": "頻率不可為空", + "inspListTypeNameNotEmpty": "點檢表類別名稱不可為空", + "startTimeNotEmpty": "開始時間不可為空", + "endTimeNotEmpty": "結束時間不可為空", + "maintenanceOrderNo": "保養工單編號", + "maintenancePlanName": "保養計畫名稱", + "maintenanceStart": "保養開始", + "machineReasonCode": "機時原因代碼", + "keyNotEmpty": "{key}不可為空", + "resultNotEmpty": "結果不可為空", + "confirmCompMaintainOrder": "是否確認完成此保養工單?", + "maintainOrderComp": "保養工單已完成", + "userNotExecuteMaintain": "當前用戶無法執行此保養工單", + "machineReasonCodeNotConfig": "『{id}』機時原因代碼未配置", + "confirmExecuteMaintain": "是否確認執行保養工單: {id}", + "confirmVoidMaintain": "是否確認作廢保養工單: {id}", + "maintainLowestHourLimit": "保養最低時限(時)", + "maintainWorkGroup": "保養工作群組", + "ruleMaintenancePlanName": "請輸入保養計畫名稱", + "inputFrequecy": "請輸入頻率", + "everyFewDays": "每幾日", + "everyFewHours": "每幾小時", + "await": "等待", + "abandon": "放棄", + "inExecute": "執行中", + "audit": "稽核", + "end": "結束", + "maintainExecuteTime": "保養計畫執行時間", + "maintenanceOrder": "保養工單", + "machineReasonCodeNotEmpty": "機時原因代碼不可為空", + "inputValue": "輸入值", + "spares": "備品", + "maintainComp": "保養完成", + "maintenanceOrderSpare": "保養工單-備品記錄", + "maintainItemAttach": "保養項目-附件", + "inputValueNotEmpty": "輸入值不可為空", + "laborHourReasonCode": "人時原因代碼", + "inputResult": "請輸入結果", + "inputMemo": "請輸入備註", + "inputMachineReason": "請輸入機時原因代碼", + "planEndTimeNotEarlier": "計畫結束時間不可早於計畫開始時間", + "maintainEqp": "保養設備", + "actualSpare": "實際使用備品", + "ruleSpare": "請輸入備品", + "spareExist": "備品:{partName},已存在", + "personalOrder": "個人工單", + "resrceNoName": "設備編號名稱", + "groupName": "組名", + "text": "文字", + "underReviewMaintainOrder": "待審查保養工單", + "confirmMaintainOrder": "是否要確認此保養工單?", + "maintainResult": "保養結果", + "permission": "許可權", + "mainOrderHistory": "保養工單歷史紀錄", + "historyRecord": "歷史紀錄", + "finisher": "完成人員", + "planTimeStart": "計畫時間起", + "planTimeEnd": "計畫時間訖", + "groupType": "群組種類", + "groupDesc": "群組說明", + "fullName": "全名", + "signOffTime": "簽核時間", + "repairWorkGroup": "維修工作組", + "repairPrdGroup": "維修製造組", + "repairQAGroup": "維修品保組", + "maintainWork": "保養工作", + "inspWork": "點檢工作", + "patrolWork": "巡檢工作", + "maintainPeriod": "保養週期", + "enable3": "啟", + "disable2": "停", + "confirmSelectPlan": "確定要{msg}用選擇的計畫: {schName}", + "maintainPlanView": "保養計畫-查看", + "maintainPlanEdit": "保養計畫-編輯", + "confirmDelMaintainPlan": "是否確定刪除保養計畫: {schName}", + "maintainPlanAdd": "保養計畫-新增", + "confirmDelEqpNo": "是否確認刪除設備編號: {equipName}", + "maintainPlanMethod": "保養計畫方式", + "regularly": "定期", + "onSchedule": "定時", + "maintainWorkTime": "保養工時(時)", + "preRemindTime": "提前提醒時間(時)", + "startTimeFormatWrong": "開始時間格式錯誤", + "endTimeFormatWrong": "結束時間格式錯誤", + "ruleStartEnd": "開始時間不可大於結束時間", + "seasonPlan": "季度計畫", + "halfYearPlan": "半年度計畫", + "patrolOrderAdd": "巡檢工單-新增", + "patrolStart": "巡檢開始", + "inputPatrolListNo": "請輸入巡檢表編號", + "confirmVoidPatrolOrder": "是否確認作廢巡檢工單: {id}", + "leastOneSearchCondition": "至少選一個檢索條件", + "patrolListNo": "巡檢表編號", + "resrceName": "設備名稱", + "patrolListName": "巡檢表名稱", + "patrolListDesc": "巡檢表說明", + "patrolOrder": "巡檢工單", + "patrolOrderNo": "巡檢工單編號", + "patrolList": "巡檢表", + "memoNotEmpty": "備註不可為空", + "patrolResult": "巡檢結果", + "confirmCompPatrolOrder": "是否確認完成此巡檢工單?", + "createDate": "建立日期", + "createTime": "建立時間", + "patrolItem": "巡檢項目", + "inputPatrolListName": "請輸入巡檢表名稱", + "patrolName": "巡檢名稱", + "periodDays": "週期天數", + "updateTime": "更新時間", + "patrolListView": "巡檢表-查看", + "patrolListEdit": "巡檢表-編輯", + "confirmDelPatrolList": "是否確定刪除巡檢表: {patrolName}", + "inputResrceGroup": "請輸入設備群組", + "maxOrMinValue": "最大值or最小值", + "patrolListAdd": "巡檢表-新增", + "numberText": "數字", + "repairOrderNo": "維修工單編號", + "repairItem": "維修項目", + "prdBatchInfo": "生產批資訊", + "cancelRepair": "取消報修", + "confirmRepair": "確認維修", + "repairRequest": "報修", + "repairOrderAdd": "維修工單-新增", + "repairOrderView": "維修工單-查看", + "repairOrderEdit": "維修工單-編輯", + "confirmCopyRepairOrder": "是否確認要複製維修工單: {id}", + "faultDesc": "故障說明", + "faultTime": "故障時間", + "repairPeriod": "維修期限", + "leastCheckOneRepair": "請至少勾選一筆維修項目", + "repairPeriodNotPast": "維修期限不可是過去", + "confirmCancelRepairOrder": "是否確認要取消維修工單: {id}", + "confirmAcceptRepairOrder": "是否確認接受維修工單: {id}, 並派送至維修工作群組?", + "confirmRepairOrderToRequest": "是否確認將維修工單: {id},轉報修", + "repairRequestSuccess": "報修成功", + "createdSuccess": "建立成功", + "confirmDelRepairOrder": "是否確認刪除維修工單: {id}", + "uploadTime": "上傳時間", + "uploadUser": "上傳人員", + "repairRequestUser": "報修人員", + "repairRequestTime": "報修時間", + "repairDepart": "報修部門", + "repairWorkGroup2": "維修工作群組", + "QCgroup": "品保群組", + "prdGroup": "製造群組", + "repairRequestEndNotEarlier": "報修結束日期不可早於開始日期", + "errEndNotEarlier": "故障結束日期不可早於開始日期", + "resrceRepairRecord": "設備維修-維修記錄", + "repairRequstInfo": "報修資訊", + "repairInfo": "維修資訊", + "repairStartTime": "開始維修時間", + "repairUser": "維修人員", + "repairCompTime": "完成維修時間", + "repairResult": "維修結果", + "QCInfo": "品保資訊", + "QCUser": "品保人員", + "QCTime": "品保時間", + "QCDesc": "品保說明", + "inputRepairResult": "請輸入維修結果", + "inputQCDesc": "請輸入品保說明", + "repairResrce": "維修設備", + "errReasonAnalyze": "故障原因分析", + "repairStrategy": "維修對策", + "annotation": "注記", + "spareRecord": "備品記錄", + "ruleErrDesc": "請輸入故障說明", + "ruleRepairPeriod": "請輸入維修期限", + "ruleErrTime": "請輸入故障時間", + "stop": "中止", + "inQC": "品保中", + "inInvestigation": "調查中", + "reRepair": "重新維修", + "inRepair": "維修中", + "prdApproval": "製造簽核中", + "awaitRepair": "待維修", + "userNotExecuteRepairOrder": "當前用戶無法執行此維修工單", + "confirmReturnRepairOrder": "是否確認退回維修工單: {id}", + "returnSuccess": "退回成功", + "confirmCompRepairOrder": "是否確認完成此維修工單?", + "confirmComp": "確認完成", + "return": "退回", + "manufactureAnnotation": "製造注記", + "manufactureGroup": "製造群組(許可權)", + "repairResultNotEmpty": "維修結果不可為空", + "QCDescNotEmpty": "品保說明不可為空", + "QCAnnotation": "品保注記", + "inputRepairStrategy": "請輸入維修對策", + "inputQCAnnotation": "請輸入品保注記", + "transferOrder": "轉單", + "stopRepairRequest": "中止報修", + "repairComp": "完成維修", + "confirmStopRepair": "是否確認中止維修工單: {id}", + "stopSuccess": "中止成功", + "confirmItemAllCompRepair": "請確認項目已全部完成維修作業", + "confirmCompAllRepair": "是否確認已完成此維修工單的所有項目?", + "repairSuccess": "維修完成", + "repairWorkGroupNotEmpty": "維修工作群組不可為空", + "confirmTransferOrder": "是否確定轉單?", + "repairOrderNoTransferWorkGoup": "維修工單編號{orderName}已轉至{transferWorkGroup}維修工作群組", + "inputErrReasonAnalyze": "請輸入故障原因分析", + "confirmDelSpares": "是否確認刪除備品: {partName}", + "confirmDelErrCode": "是否確認刪除故障碼: {id}", + "inspListTypeNo": "點檢表類別編號", + "inspListType": "點檢表類別", + "confirmDelInspListType": "是否確認刪除點檢表類別: {id}", + "inspItemGroupNo": "點檢項目群組編號", + "confirmDelInspItemGroup": "是否確認刪除點檢項目群組: {id}", + "confirmDelTypeNo": "是否確認刪除類型編號: {id}", + "confirmDelSpares2": "是否確認刪除備品: {id}", + "confirmDelStructralCode": "是否確認刪除結構碼: {id}", + "departNo": "部門編號", + "departName": "部門名稱", + "emailFormatWrong": "電子郵件格式錯誤", + "manager": "管理員", + "role": "角色", + "confirmDelGroupNo": "是否確認刪除群組編號: {id}", + "resType": "資源類型", + "inputResType": "請輸入資源類型", + "disabled2": "已禁用", + "engineer": "工程", + "unknown": "未知", + "resource": "資源", + "inputResouce": "請輸入資源", + "procedureResource": "流程資源", + "validStartDate": "有效起始日期", + "vvalidEndDate": "有效結束日期", + "proof": "證明", + "inputProof": "請輸入證明" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/pod.json b/src/locale/i18n/zh_tw/mes/pod.json new file mode 100644 index 0000000..ce72c4c --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/pod.json @@ -0,0 +1,96 @@ +{ + "resource": "設備", + "componentNumber": "組件編號", + "componentType": "組件類型", + "table": "表格", + "form": "表單", + "componentVersion": "組件版本", + "componentScript": "組件腳本", + "dataMethod": "數據方式", + "sqlScript": "SQL腳本", + "apiInterface": "API接口", + "dataContent": "數據內容", + "enterComponentNumber": "請輸入組件編號", + "enterComponentType": "請輸入組件類型", + "enterComponentVersion": "請輸入組件版本", + "enterComponentScript": "請輸入組件內容腳本", + "selectDataMethod": "請選擇數據方式", + "enterDataContent": "請輸入數據內容", + "mustRetrieveRecordBeforeDeletion": "必須先檢索記錄,然後才能將其刪除", + "isCurrentVersion": "是否當前版本", + "productionLineMustBeFilled": "產線必須填寫", + "workCenterMustBeFilled": "工作中心必須填寫", + "processMustBeFilled": "工序必須填寫", + "resourceMustBeFilled": "資源必須填寫", + "productionItem": "生產物", + "productionItemMustBeFilled": "生產物必須填寫", + "pleaseSpecifyProductionOperatorPanel": "請指定生產操作員面板", + "productionOperatorPanel": "生產操作員面板", + "displaySize": "顯示尺寸", + "displayQuantity": "顯示數量", + "quantityCanBeChanged": "數量可以更改", + "processCanBeChanged": "工序可以更改", + "defaultProcess": "預設工序", + "resourceCanBeChanged": "設備可以更改", + "defaultResource": "預設設備", + "productionLineCanBeChanged": "產線可以更改", + "defaultProductionLine": "預設產線", + "workCenterCanBeChanged": "工作中心可以更改", + "defaultWorkCenter": "預設工作中心", + "buttonIdentifier": "按鈕標識", + "buttonName": "按鈕名稱", + "functionType": "功能類型", + "eventApi": "事件API", + "interfaceLink": "界面鏈接", + "path": "路徑", + "panel": "面板", + "dynamicConfiguration": "動態配置", + "functionLink": "功能鏈接", + "component": "組件", + "componentName": "組件名稱", + "horizontalSpanRatio": "橫向跨度占比(1-24)", + "displayMode": "顯示方式", + "independentDisplay": "獨立顯示", + "tabLabel": "TAB頁籤", + "height": "高度", + "panelPosition": "面板位置", + "aboveButton": "按鈕上方", + "belowButton": "按鈕下方", + "alwaysReload": "始終重載", + "enterWorkstation": "請輸入工作站", + "enterSequence": "請輸入順序", + "operationPanel": "作業面板", + "keyNotFoundForType": "{firstKey} 對於類型 {secondKey} 不存在", + "keyNotFound": "{firstKey} 不存在", + "operatorPanelKeyNotFound": "操作員面板 {key} 不存在", + "invalid": "無效", + "reserved": "保留", + "correctiveAction": "糾正措施", + "workshopInventory": "車間庫存", + "equipmentStatus": "設備狀態", + "working": "工作中", + "unit": "單元", + "unitGroup": "單元組", + "productionLine": "生產線", + "productionLineGroup": "生產線組", + "building": "建築物", + "assembly": "裝配", + "scheduling": "調度", + "shipping": "裝運", + "productionControl": "生產控制", + "recordControl": "記錄控制", + "transfer": "轉移", + "masterData": "主數據", + "workshopOperationControl": "車間作業控制", + "configurable": "可配置", + "releasable": "可下達", + "normal": "普通", + "testing": "測試", + "virtual": "虛擬", + "coProduct": "聯產品", + "byProduct": "副產品", + "canceled": "已取消", + "springBeanObject": "SpringBean對象", + "dynamicScript": "動態腳本", + "pending": "待定" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/prd.json b/src/locale/i18n/zh_tw/mes/prd.json new file mode 100644 index 0000000..7e5bf4e --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/prd.json @@ -0,0 +1,488 @@ +{ + "BOMNo": "BOM編號", + "currentRevision": "目前版本", + "unitConsume": "單位耗用量", + "unitPrdAmount": "單位生產數", + "confirmDelItemList": "是否確認刪除物料清單{bom}/{bomType}/{revision}", + "itemOperationDuplicate": "料件編號:{component} 投料點:{operation}重複", + "BOMMaintainItemDetail": "BOM必須維護料件明細", + "item": "料件", + "itemTypeDesc": "料件類別說明", + "selectWorkGroup": "請選擇班組", + "selectUserWorkShiftNo": "請選擇班製編號", + "nextMonth": "下月份", + "nextYear": "下年度", + "cannotModifyPastCalendars": "不可修改當日(包含當日)之前的班組日曆", + "confirmCoverageWorkGroupCalendarInfo": "當前班組在{rangeText}已經有設定值,是否進行覆蓋", + "userWorkShift": "班製", + "userWorkShiftNo": "班製編號", + "userWorkShiftDesc": "班製說明", + "userWorkShiftNoExist": "班製編號: {userWorkShift}已存在", + "confirmDelUserWorkShift": "是否確認刪除班製: {userWorkShift}", + "workPosition": "职级", + "workGroup": "班組編號", + "workGroupDesc": "班組說明", + "workGroupUser": "班組人員", + "workGroupType": "班組類型", + "workGroupTypeNo": "班組類型編號", + "workGroupTypeDesc": "班組類型說明", + "enterWorkGroupTypeNo": "請輸入班組類型編號", + "confirmDelWorkGroupType": "是否確認刪除班組類型: {workGroupType}", + "shippingLocation": "出貨地點", + "shippingPlace": "出貨地", + "country": "國家", + "address": "地址", + "user": "客戶", + "userNoRequired": "客戶編號不可為空", + "userNoExist": "客戶編號: {customerNo}已存在", + "confirmDelUser": "是否確認刪除客戶: {customerNo}", + "inspLevel": "檢驗等級", + "confirmSelectInspPlanDel": "請選擇要刪除的檢驗計畫", + "confirmSelectSupplierDel": "請選擇要刪除的供應商", + "itemMaterialMaintain": "料件維護", + "inspLevelNotSetMultiple": "檢驗等級『{str}』不可設定多個檢驗計畫", + "confirmDelItemMaterialNo": "是否確認刪除料件編號: {item}", + "contactPerson": "聯絡人", + "itemTypeExist": "料件類別: {typeNo}已存在", + "confirmDelItemType": "是否確認刪除料件類別: {typeNo}", + "actionTiming": "作用時機", + "ruleLogic": "法則邏輯", + "rule": "法則", + "dispose": "處置", + "variable": "變數", + "operator": "運算子", + "checkValue": "判斷值", + "startOp": "開始工序", + "exitOpTime": "出站時間", + "endOp": "結束工序", + "messaeRouter": "訊息 / 路徑", + "controlRuleConfig": "管制法則配置", + "ruleLogicSetting": "法則邏輯設定", + "confirmRuleNoDel": "法則編號{ruleNo},是否確認刪除", + "confirmRuleDel": "法則{rule},是否確認刪除", + "confirmInOrderDuplicate": "順序{seq}重複, 請確認", + "startOpIndicateTime": "開始工序的指定時間", + "endOpIndicateTime": "結束工序的指定時間", + "msgNotEmpty": "訊息不可為空", + "alarmCodeNotEmpty": "報警編號不可為空", + "routerNotEmpty": "路徑不可為空", + "startOpEndOpDataNotEqual": "開始工序與結束工序所設定的資料不可完全相同", + "segmentNo": "工段編號", + "eventNo": "事件編號", + "eventName": "事件名稱", + "eventDesc": "事件說明", + "severity": "嚴重度", + "duty": "責任", + "nonConformingGroup": "不合格群組", + "usableNonConformingGroup": "可用不合格群組", + "indicatedNonConformingGroup": "已指派不合格群組", + "selfDuty": "自責", + "otherDuty": "他責", + "nonConformanceCodeExist": "不合格代碼: {ncCode}已存在", + "confirmDelNonComformingCode": "是否確認刪除不合格代碼: {ncCode}", + "usableNonConformingCode": "可用不合格代碼", + "indicatedNonConformingCode": "已指派不合格代碼", + "operationConfig": "工序配置", + "nonConformanceGroupExist": "不合格群組: {ncGroup}已存在", + "confirmDelNCGroup": "是否確認刪除不合格群組: {ncGroup}", + "operationType": "工序類型", + "usableResrce": "可用設備", + "indicatedResrce": "已指派設備", + "usableItemType": "可用料件類別", + "indicatedItemType": "已指派料件類別", + "operationDataField": "工序主資料", + "confirmDelOperation": "是否確認刪除ID為{operation}", + "operationExist": "工序: {operation}已存在", + "paramType": "參數類型", + "default": "默認", + "dataType": "型別", + "dataListSrc": "資料表來源", + "textSrc": "欄位來源", + "textDescSrc": "欄位說明來源", + "otherRequirement": "其他條件", + "dataList": "資料表", + "paramDataFields": "參數主資料", + "confirmDelParamNo": "是否確認刪除參數編號: {parameterNo}", + "paramNoExist": "參數編號: {parameterNo}已存在", + "PDCNo": "PDC編號", + "PDCDataFields": "PDC主資料", + "confirmDelPDCNo": "是否確認刪除PDC編號: {pdcNo}", + "selectParamForDel": "請選擇要刪除的參數", + "approve": "批准", + "release": "解簽", + "approved": "已核准", + "notApproved": "未核准", + "operationForSegment": "工段對應的工序", + "inputKeywordForFilter": "輸入關鍵字進行過濾", + "infoConfigForOperation": "工序相關資訊配置", + "operationDesc": "作業說明", + "controlRule": "管制法則", + "mapOffset": "Map偏移量", + "paramValue": "參數值", + "controlRuleNo": "管制法則編號", + "resrceAndFormula": "設備類別『{typeNo}』及主配方『{testProgramNo}』", + "toolCategoryAndType": "工具大類『{categoryNo}』,工具類別『{typeNo}』", + "notSetDuplicate": "不可重複設定", + "selectLimitResrce": "挑選限制的設備", + "selectSpareFormula": "挑選備用配方", + "doSearchFirst": "請先執行檢索", + "itemRevisionApproveNotDel": "『{item}』、『{revision}』已核准,不得刪除工段或工序", + "segmentNoOrOpeartionNo": "必須選擇工段編號或工序編號", + "confirmDelOperation2": "是否確認刪除工序: {treeOperation}", + "itemRevisionNotApproveByOperationNotSet": "{item} 、{revision}未設定工序,不得批准", + "itemRevisionNotApproveByMsgNotSet": "{item} 、{revision}未設定主要訊息,不得批准", + "confirmApprovePrdConfig": "是否核准『{item}』、『{revision}』的產品配置", + "approveSuccess": "核准成功", + "confirmDismissApproval": "是否確定對『{item}』、『{revision}』解除批准?", + "dismissSuccess": "解簽成功", + "itemRevisionApprovedNotDel": "『{item}』、『{revision}』已核准,不得刪除", + "confirmDelPrdConfig": "是否確認刪除『{item}』、『{revision}』的產品配置", + "limitResrce": "限制設備", + "sourceMaterialNo": "來源料件編號", + "targetMaterialNo": "目標料件編號", + "targetRevision": "目標版本", + "targetExistApprovedNotCopy": "目標料件編號{newItem},版本{newRevision}已存在產品配置作業且狀態為已核准,不可執行複製", + "confirmItemPrdParamConfigCover": "目標料件有配置產品生產參數,是否覆蓋?", + "copyComp": "複製完成", + "selectCategory": "請選擇大類", + "selectType": "請選擇類別", + "limitType": "限制類型", + "seqLimitedResrceNotEmpty": "序號{seq}的限制設備不可為空", + "formulaDesc": "配方說明", + "spareFormula": "備用配方", + "standardBatchAmount": "標準批量", + "orderSeq": "順序「{el.seq}」", + "xYNotDuplicate": "X與Y不可重複", + "percent": "百分比", + "string": "字串", + "PDCDesc": "PDC說明", + "specCenter": "規格中心", + "prdConfigPDCParam": "產品配置作業-PDC參數", + "PDCPageSeqResrceNotEmpty": "PDC頁簽中,序號{seq}的設備類別不可為空", + "PDCPageSeqPDCNoNotEmpty": "PDC頁簽中,序號{seq}的PDC編號不可為空", + "PDCPageResrceTypeNotDuplicate": "PDC頁簽設備類別「{typeNo}」不可重複", + "paramNoMsg": "參數編號「{parameterNo}」", + "paramNoRule": "參數編號「{parameterNo}」不符合規格上限>規格下限", + "specificationCannotBeEmpty": "規格不可為空", + "RecipeNo": "Recipe編號", + "RecipeDesc": "Recipe說明", + "RecipeReversion": "Recipe版本", + "prdConfigRecipeParam": "產品配置作業-Recipe參數", + "pageRECIPESeqResrceTypeNotEmpty": "配方頁簽中,序號{seq}的設備類別不可為空", + "pageRECIPESeqRecipeNoNotEmpty": "配方頁簽中,序號{seq}的Recipe編號不可為空", + "pageRECIPESeqRecipeNoParamNotEmpty": "配方頁簽中,序號{seq}的Recipe編號的參數值不可為空", + "pageRECIPESeqRecipeNoHighLimitNotEmpty": "配方頁簽中,序號{seq}的Recipe編號的規格上限不可為空", + "pageRECIPESeqRecipeNoLowLimitNotEmpty": "配方頁簽中,序號{seq}的Recipe編號的規格下限不可為空", + "pageRECIPESeqRecipeNoSpecCenterNotEmpty": "配方頁簽中,序號{seq}的Recipe編號的規格中心不可為空", + "pageRECIPEResrceTypeNotDupilcate": "配方頁簽中設備類別「{typeNo}」不可重複", + "confirmDelReasonCode": "是否確認刪除原因代碼: {reasonCode}", + "paramNoDesc": "參數編號說明", + "selectParamNoForDel": "請選擇要刪除的參數編號", + "RecipeDataConfig": "Recipe主資料配置", + "RecipeDataFields": "Recipe主資料", + "paramItemNotEmpty": "參數清單不可為空", + "confirmDelRecipeNo": "是否確認刪除Recipe編號: {recipeNo}", + "copySuccess": "複製成功", + "confirmSegmentChangedDelRouter": "工段已變更,已繪製的途程將刪除,是否確定?", + "confirmDelRouter": "是否確認刪除途程: {router}/{revision}", + "segmentDataFields": "工段主資料", + "orderShouldPositiveInt": "順序應為正整數", + "segmentExist": "工段: {segmentNo}已存在", + "confirmDelSegment": "是否確認刪除工段: {segmentNo}", + "confirmDelSupplierNo": "是否確定刪除供應商編號{supplierNo}", + "phone": "電話", + "routerDraw": "途程-繪製", + "batchRule": "併批規則", + "specialUserBatchNo": "特批客戶批號", + "setter": "設定人", + "batchRuleOrderCustom": "併批規則-工單自訂", + "selectDelRow": "請先選擇要刪除的行", + "confirmSeqRemove": "序號{selectedSeqs},確定要移除該筆資料嗎?", + "seqInputSettingValueNRequired": "序號{missingValues}必須輸入設定值(N)", + "uncheckCustomDataField": "未勾選相同工單自訂的資料欄位", + "seqUserBatchNotEmpty": "序號{emptyLots}的客戶批號不可為空", + "seqUserLotDuplicate": "序號{duplicateSeq},客戶批號重複", + "confirmNotSaveChange": "資料已異動且尚未保存,確定要取消此次異動嗎?", + "equalPO": "同 PO", + "equalDateCode": "同 DateCode", + "differentPrdBatchNotOverN": "DateCode 不相同的生產批不超過(N)個", + "differenceNotOverWeekN": "DateCode 的差距不超過(N)周", + "equalUserLot": "同客戶批號", + "differentUserLotNotOverN": "客戶批號不相同的生產批不超過(N)個", + "equalTestingProgramRevision": "相同測試程式與版次", + "sameOrderCcstom": "相同工單自訂", + "valid": "有效", + "EQURuleNo": "EQC規則編號", + "sampleRuleNo": "抽樣規則編號", + "maxNumber": "最大幾個", + "BINNo": "BIN編號", + "indicateBIN": "指定BIN", + "indicateCAT": "指定CAT", + "electricTestingRule": "電性抽測規則", + "confirmDelRuleNo": "是否確認刪除{eqcRuleNo}", + "checkBIN": "請勾選BIN", + "sampleMethodMaxBINNotEmpty": "抽樣方式為最大N個BIN時,最大幾個不能為空", + "selectOneRow": "請先選擇一行", + "allGoodCatNumber": "所有Good CAT數", + "indicateSingleCAT": "指定單一CAT", + "indicateMultipleCAT": "指定多個CAT", + "maximumSingleCAT": "最大一個CAT", + "maximumNCAT": "最大N個CAT", + "indicateRepleMultipleCAT": "指定多個CAT順序補足", + "others": "其他", + "sampleType": "抽樣類型", + "FTAutoSplitRule": "FT自動分批規則", + "splitRule": "分批規則", + "transferMethod": "轉移方式", + "batchNo": "批號", + "keepOrigin": "沿用原始", + "prdNewNo": "產生新號", + "inputDirect": "直接輸入", + "add": "加上", + "subtract": "減去", + "code": "碼+", + "applyBIN": "套用BIN", + "applyCAT": "套用CAT", + "selectRouterNo": "請先選擇途程編號", + "FTSplichRule": "FT分批規則", + "confirmDelItemSeq": "是否確認刪除項次為{seq}", + "transferMethod2": "移轉方式", + "itemNoChangeLogicNewNotEmpty": "產品編號變更邏輯為產生新號,料件編號不可為空", + "userPartChangeLogic": "客戶料號變更邏輯為產生新號,客戶料號不可為空", + "userLotChangeLogic": "客戶批號變更邏輯為產生新號,請選擇變更方式", + "inputFieldsNotEmpty": "直接輸入輸入值欄位不可為空", + "addingFieldNotEmpty": "加入輸入值欄位不可為空", + "haltCodeOrInputFieldsNotEmpty": "保留碼數或輸入值欄位不可為空", + "haltCodePositiveInt": "保留碼數必需為正整數", + "subtractCodeOrInputNotEmpty": "減去碼數或輸入值欄位不可為空", + "subtractCodePositiveInt": "減去碼數必需為正整數", + "itemNoPositiveInt": "項次必需為正整數", + "leastCheckOneBIN": "至少勾選一個BIN", + "itemNotDuplicate": "項次不可重複", + "productCodeNotEmpty": "產品編號不能為空", + "splitNoRule": "分批編號規則", + "singleTest": "單次測試數", + "singleTestSecond": "單次測試秒數", + "singleTestPositiveInt": "單次測試數數應為正整數", + "ruleSingleTestSecond": "單次測試秒僅可輸入大於0的數值,小數點允許2位", + "seqBINNoNotEmpty": "序號{seq},BIN編號不可為空", + "seqResultNotEmpty": "序號{seq},結果不可為空", + "CPTestProgram": "CP測試程式", + "FTTestProgram": "FT測試程式", + "insertNewItem": "插入新項", + "removeAll": "移除全部", + "fieldLabel": "欄位標籤", + "mandatory": "必須", + "enterCategory": "請輸入類別", + "cannotRemoveDisabledRow": "不能移除已禁用行", + "noItemsToRemove": "沒有要移除的項", + "confirmDeleteCustomData": "是否確認刪除自訂資料 {tableName}", + "numberType": "編號類型", + "orderType": "訂單類型", + "definitionMethod": "定義方式", + "defineByContainer": "按容器定義", + "skipSequence": "跳過序列", + "prefix": "首碼", + "suffix": "尾碼", + "baseNumber": "基數", + "sequenceLength": "序列長度", + "maximumSequence": "最大序列", + "minimumSequence": "最小序列", + "increment": "增量", + "currentSequence": "當前序列", + "resetSequenceNumber": "重置序號", + "commitImmediately": "立即提交", + "numberingRuleExample": "編號規則示例", + "enterOrSelectNumberType": "請輸入或選擇編號類型", + "enterBaseNumber": "請輸入基數", + "maxLength128Characters": "最大長度為128字元", + "enterCurrentSequence": "請輸入當前序列", + "materialGroup": "物料組", + "noData": "沒有資料", + "searchBeforeDeleting": "請先檢索之後再刪除", + "never": "從不", + "always": "總是", + "daily": "每天", + "weekly": "每週", + "monthly": "每月", + "yearly": "每年", + "weeklySunday": "每週 - 星期日", + "weeklyMonday": "每週 - 星期一", + "weeklyTuesday": "每週 - 星期二", + "weeklyWednesday": "每週 - 星期三", + "weeklyThursday": "每週 - 星期四", + "weeklyFriday": "每週 - 星期五", + "weeklySaturday": "每週 - 星期六", + "carrierTypeDesc": "載具類型說明", + "enterCarrierType": "請輸入載具類型", + "pleaseEnterContainerType": "請輸入容器類型", + "enterCarrier": "請輸入載具編號", + "layoutColumns": "欄數", + "layoutRows": "列數", + "layoutCapacity": "最大容量", + "layoutMapping": "載具位置圖", + "layoutType": "載具位置類型", + "containerType0": "不需要位置", + "containerType1": "單欄排列", + "containerType2": "矩陣排列", + "mappingNo": "位置編碼", + "carrierTypeExist": "載具類型: {carrierType}已存在", + "carrierExist": "載具編號: {carrier}已存在", + "confirmDelCarrierType": "是否確認刪除載具類型: {carrierType}", + "confirmDelCarrier": "是否確認刪除載具編號: {carrier}", + "carrierMemberActive": "載具作業", + "carrierBind": "綁定", + "carrierUnBind": "解綁", + "operationType2": "操作類型", + "carrierNumber": "載具數量", + "carrierTypeBo": "載具類型BO", + "status1": "使用中", + "status2": "閑置", + "automaticGeneration": "自動生成", + "lotNo": "Lot No", + "currentLoadQty": "當前裝載數量", + "positionLabel": "位置標簽", + "position": "位置", + "batchCreation": "批量創建", + "confirmDelWorkGroupNo": "是否確認刪除該班組編號:{workGroup}", + "startLineInspectionNumber": "開線檢編號", + "lineInspectionConfiguration": "開線檢配置", + "addLineInspectionConfiguration": "開線檢配置-新增", + "viewLineInspectionConfiguration": "開線檢配置-查看", + "editLineInspectionConfiguration": "開線檢配置-編輯", + "checkItem": "檢查項目", + "processOrProductionLine": "工序/產線", + "availableProductionLines": "可用產線", + "assignedProductionLines": "已指派產線", + "customData": "自定資料", + "deactivate": "停用", + "confirmDeletionOfLineInspectionId": "是否確認刪除開線檢編號 {id}", + "keyCannotBeEmpty": "{key}不能為空", + "processStep": "工步", + "selectProcessStepToDelete": "請選擇要刪除的工步", + "action": "動作", + "feeding": "投料", + "issueCommand": "下指令", + "systemIntegration": "系統對接", + "feedingOpen": "投料開啟", + "issueCommandWaitForResponseOpen": "下指令 - 等待回應", + "issueCommandNoWaitForResponseOpen": "下指令 - 不等回應", + "alarmOpen": "Alarm 開啟", + "systemIntegrationOpen": "系統對接開啟", + "actionContent": "動作內容", + "processStepFeedingContent": "工步-投料內容", + "processStepIssueCommandContent": "工步-下指令內容", + "processStepAlarmContent": "工步-Alarm內容", + "processStepSystemIntegrationContent": "工步-系統對接內容", + "processStepParameters": "工步-參數", + "systemName": "系統名稱", + "materialCannotBeEmpty": "物料不可為空", + "standardNumberCannotBeEmpty": "標準數不可為空", + "unitQuantityCannotBeEmpty": "單位量不可為空", + "commandIDCannotBeEmpty": "commandID 不可為空", + "eventIDCannotBeEmpty": "Event ID 不可為空", + "systemNameCannotBeEmpty": "系統名稱不可為空", + "messageIDCannotBeEmpty": "Message ID 不可為空", + "processStepListCannotBeEmpty": "工步清單不可為空", + "enterProcessStep": "請輸入工步", + "selectAction": "請選擇動作", + "enterProcessStepActionContent": "請輸入工步 {step} 動作 {action} 的動作內容", + "parameterLimitsCannotBeEmpty": "序號 {seq} 參數編號「{parameterNo}」的規格上下限不可為空", + "parameterDoesNotMeetLimits": "序號 {seq} 參數編號「{parameterNo}」不符合規格上限 > 規格下限", + "parameterValueCannotBeEmpty": "序號 {seq} 參數編號「{parameterNo}」的參數值不可為空", + "confirmDeletionOfSelectedRows": "是否確認刪除選中的行", + "unbindAllConfirm": "確定解除所有綁定?", + "enterRecipeNumber": "請輸入Recipe編號", + "enterVersion": "請輸入版本", + "selectType2": "請選擇類型", + "enterStandardNumber": "請輸入標準數", + "numericInputOnly": "只能輸入數值", + "standardNumberMustBeGreaterThanZero": "標準數必須大於零", + "stadQuantityAllowsUpToSixDecimals": "標準數最多允許六位小數", + "enterUnitQuantity": "請輸入單位量", + "unitQuantityMustBeGreaterThanZero": "單位量必須大於零", + "unitQuantityAllowsUpToSixDecimals": "單位量最多允許六位小數", + "parameterNumberDuplicated": "參數編號 {parameterNo} 在序號 {duplicatedSeqs} 中重複設定", + "typeNoDuplicated": "設備類別 {typeNo} 在序號 {seq} 中重複設定", + "parameterNumberCannotBeEmpty": "參數編號不可為空", + "specLimitsCannotBeEmpty": "配方頁籤,順序 {seq} Recipe編號 {recipeNo} 的參數編號 {parameterNo} 規格上下限不可為空", + "typeNoParameterValueCannotBeEmpty": "配方頁籤,順序 {seq} Recipe編號 {recipeNo} 的參數編號 {parameterNo} 參數值不可為空", + "carrierPositionDuplicate": "載具位置{No}不可重複", + "workCenterNumber": "工作中心編號", + "mixingLinesAllowed": "是否可混線", + "workCenterCannotBeEmpty": "序號 {seq} 產線編號不可為空", + "workCenterCannotBeDuplicated": "產線編號 {workCenter} 不可重復", + "targetSourceMaterialVersionCannotBeSame": "目標料件編號/版本不可與來源料件編號/版本相同", + "resrceStatus": "設備狀態", + "toolStatus": "工具狀態", + "rework": "重工", + "subProcess": "子流程", + "tempProcess": "臨時流程", + "prd": "製造", + "purchase": "采購", + "overZero": "須大於0", + "carrierSaveSuccessAndPrint": "載具新增成功,是否打印標籤?", + "capacityNotEnough": "載具『{carrier}』容量不足,無法裝載", + "positionNotEnough": "載具『{carrier}』位置不足,無法裝載", + "overSingleSelected": "請選擇一個裝載位置", + "positionLotLoaded": "載具位置『{position}』已有擺放LOT,請先移除LOT", + "selectLotDelete": "請先選擇要刪除的LOT", + "confirmRemoveAll": "是否清空載具上的所有LOT", + "confirmCancel": "是否取消此次變更", + "inputLotNo": "請輸入LOT編號", + "virtualItem": "虚拟料件编号", + "virtualItemRepeat": "料件明細已有此虛擬料件編號「{item}」,不可重覆配置", + "virtualItemExist": "當前物料清單中不存在虛擬料件編號「{item}」", + "virtualItemBind": "虛擬料件「{item}」已被其他料件綁定,不允許刪除", + "router": { + "error1": "工藝路線已在使用中,無法刪除鏈接", + "error2": "不能連接自己", + "error3": "不能重覆連線", + "error4": "不能創建循環", + "error5": "工藝路線已在使用中,無法新增節點", + "error6": "請把節點拖入到畫布中", + "error7": "開始節點不能重覆添加", + "error8": "結束節點不能重覆添加", + "error9": "工藝路線已在使用中,無法刪除節點", + "error10": "必須有一個開始節點", + "error11": "必須有一個結束節點", + "error12": "途程節點【{node}】步驟不能為空", + "error13": "節點【{node}】步驟【{step}】不可重覆", + "error14": "途程節點連接不能為空", + "error15": "途程類型為『維修』,途程上僅可有一個維修工序", + "confirm1": "確定刪除所點擊的線嗎?", + "confirm2": "確定要刪除節點[{node}]?", + "success1": "連線成功" + }, + "sequenceDeviceCategoryPdcParameterValueNotMaintained": "PDC參數值未維護,不允許保存", + "startNode": "開始節點", + "otherSteps": "其它步驟", + "reworkProcess": "重工流程", + "nodeInformation": "節點資訊", + "erpSteps": "ERP步驟", + "connectionInformation": "連線資訊", + "script": "腳本", + "processDataInformation": "流程數據資訊", + "processRouteInformation": "工藝路線資訊", + "reservedIdentifier": "保留標識", + "processRouteType": "工藝路線類型", + "enterProcessRoute": "請輸入工藝路線", + "selectProcessRouteType": "請選擇工藝路線類型", + "returnToOriginalState": "返回(原始狀態)", + "returnToAny": "返回(任意)", + "returnToPrevious": "返回(上一個)", + "returnToAnyPrevious": "返回(任意上一個)", + "returnToNext": "返回(下一個)", + "cannotCreateCycle": "不能創建循環", + "ruleCategory": "規則類別", + "format": "格式", + "firstEntryNotDeletable": "第一筆不允許刪除", + "orderCannotBeEmpty": "順序不可為空", + "orderCannotBeDuplicated": "順序不可重複", + "ruleCategoryCannotBeEmpty": "規則類別不可為空", + "ruleCategoryCannotBeDuplicated": "規則類別不可重複", + "formatDefinition": "格式定義", + "pleaseEnterMaterialNumberFirst": "請先輸入料件編號", + "noSuchMaterialNumber": "無此料件編號" +} + diff --git a/src/locale/i18n/zh_tw/mes/qms.json b/src/locale/i18n/zh_tw/mes/qms.json new file mode 100644 index 0000000..8896b49 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/qms.json @@ -0,0 +1,185 @@ +{ + "inspectionItemSequenceRequirement": "檢驗項目:{qcItem},序號必須全部輸入或全部不輸入", + "inspectionItemSequenceDuplicate": "檢驗項目:{qcItem},序號『{msg}』重複", + "inspectionItemNGCodeRequirement": "檢驗項目: {qcItem},抽樣序號 {msg} 檢驗NG,不合格代碼不可為空", + "inspectionItemSequenceInputRequirement": "檢驗項目: {qcItem},序號必須全部輸入或全部不輸入", + "inspectionItemSequenceNumberDuplicate": "檢驗項目: {qcItem},序號『{msg}』重複", + "inspectionItemValueEmpty": "檢驗項目: {qcItem},抽樣{msg}的檢驗值不可為空", + "inspectionItemContentEmpty": "檢驗項目: {qcItem},內文不可為空", + "inspectionItemCauseEmpty": "檢驗項目: {qcItem},要因: {str}不可為空", + "inspectionTaskOrderCompleted": "檢驗任務單『{jobNo}』已完成", + "userRoleNotInInspectionGroup": "使用者所配置的角色,不屬於檢驗人員群組『{userGroup}』,不可執行檢驗", + "issuanceTime": "開立時間", + "qualityControlMethod": "品管方式", + "samplingQuantity": "抽樣數量", + "queue": "排隊", + "upperLimitControl": "單邊上限管制", + "lowerLimitControl": "單邊下限管制", + "doubleSidedControl": "雙邊管制", + "personalTaskOrder": "個人任務單", + "enterIssuanceStartTime": "請輸入開立時間(起)", + "enterIssuanceEndTime": "請輸入開立時間(迄)", + "issuanceStartTimeCannotExceedEndTime": "開立時間(起)不可大於開立時間(迄)", + "issuanceTimeRangeCannotExceed30Days": "開立時間區間不可大於30天", + "selectProductionBatch": "挑選生產批", + "selectOneSearchCondition": "查詢準則需擇一輸入", + "inspectionTask": "檢驗任務", + "judged": "已判定", + "closeTime": "關閉時間", + "closingPersonnel": "關閉人員", + "inspectionTaskClose": "檢驗任務-關閉", + "inspectionTaskClosed": "檢驗任務『{jobNo}』已關閉", + "inspectionTaskCountingInspectionOperation": "檢驗任務-計數檢驗作業", + "samplingNumber": "抽樣數", + "samplingPerBatch": "每筆抽", + "samplingPerSection": "每區抽", + "cause": "要因", + "selectNonConformingCode": "挑選不合格代碼", + "selectableNonConformingCode": "可挑選不合格代碼", + "selectedNonConformingCode": "已挑選不合格代碼", + "noData": "無資料", + "section": "區", + "point": "點", + "inspectionTaskOrderSavedSuccessfully": "檢驗任務單{jobNo}儲存成功", + "editSuccessful": "編輯成功", + "noDataForProductionBatch": "生產批:『{lotNo}』無資料,請確認", + "issueAbnormalOrder": "開立異常單", + "abnormalOrderGroup": "異常單群組", + "enterSpecialProcurementDescription": "請輸入特采說明", + "selectAbnormalOrderGroup": "請選擇異常單群組", + "selectReasonCode": "請選擇原因代碼", + "judgmentCompleted": "判定完成", + "specificationLimit": "規格界限", + "center": "中心", + "inspectionTaskMeteringInspectionOperation": "檢驗任務-計量檢驗作業", + "spcJudgmentResult": "SPC判定結果", + "textContentDescription": "內文說明", + "textContent": "內文", + "inspectionTaskTextInspectionOperation": "檢驗任務-內文檢驗作業", + "billingFrequency": "開單頻率", + "manual": "手動", + "inspectionTaskView": "檢驗任務-查看", + "inspectionFrequencyNumber": "檢驗頻率編號", + "timeSlot": "時段", + "inspectionFrequency": "檢驗頻率", + "confirmDeleteInspectionFrequency": "是否確定刪除檢驗頻率: {inspecNo}", + "inspectionFrequencyExists": "檢驗頻率已存在", + "selectInspectionFrequency": "請勾選檢驗頻率", + "frequencySettingValueNotEmpty": "的頻率的設定值不可為空", + "enterTime": "請輸入時間", + "timeSlotExists": "時間段 {time} 已存在", + "roleIdentifier": "角色標識", + "abnormalProcessing": "異常處理中", + "iqcInspectionTaskClose": "IQC檢驗任務-關閉", + "destructionAndRetentionTotalCannotExceedReceivingQuantity": "破壞數量及留樣數量總數不可大於收料數量", + "confirmToCloseInspectionOrder": "是否不再進行收料,確定關閉檢驗單『{jobNo}』", + "confirmToCloseInspectionOrder2": "確定關閉檢驗單『{jobNo}』?", + "iqcInspectionTaskClosed": "IQC檢驗任務『{jobNo}』已關閉", + "iqcInspectionTaskCountingInspectionOperation": "IQC檢驗任務-計數檢驗作業", + "inspectionValue": "檢驗值", + "abnormalOrder": "異常單", + "iqcInspectionTask": "IQC檢驗任務", + "selectAbnormalOrderReason": "請選擇異常單原因", + "abnormalOrderIssuedSuccessfully": "異常單開立成功", + "enterJudgmentResult": "請輸入判定結果", + "enterStorageQuantity": "請輸入入庫數量", + "enterReturnQuantity": "請輸入退回數量", + "judgmentResultDoesNotMatchReceivingQuantity": "判定結果量不符合收料數量", + "noQuantityAvailableForReinspection": "無可重驗的數量", + "iqcInspectionTaskMeteringInspectionOperation": "IQC檢驗任務-計量檢驗作業", + "iqcInspectionTaskTextInspectionOperation": "IQC檢驗任務-內文檢驗作業", + "confirmDeleteInspectionItem": "是否確認刪除檢驗項目: {qcItem}", + "instrumentType": "儀器類型", + "controlChart": "管制圖", + "specificationControlCannotBeEmpty": "規格控管不可為空", + "sampleNumberCannotBeEmpty": "樣本數不可為空", + "operationSuccessful": "{showTitle} 成功", + "confirmDeleteInspectionPlan": "是否確定刪除檢驗計畫: {qcPlan}", + "spcAnalysis": "SPC分析", + "measurement": "計量", + "inspectionItemCannotBeEmpty": "檢驗項目不可為空", + "inspectionItemNumberCannotBeEmpty": "檢驗項目編號不可為空", + "samplingRuleOfInspectionItemCannotBeEmpty": "檢驗項目『{qcItem}』抽樣規則不可為空", + "upperLimitOfInspectionItemCannotBeEmpty": "檢驗項目『{qcItem}』規格上限不可為空", + "centerOfInspectionItemCannotExceedUpperLimit": "檢驗項目『{qcItem}』規格中心不可大於規格上限", + "lowerLimitOfInspectionItemCannotBeEmpty": "檢驗項目『{qcItem}』規格下限不可為空", + "centerOfInspectionItemCannotBeLessThanLowerLimit": "檢驗項目『{qcItem}』規格中心不可小於規格下限", + "centerOfInspectionItemCannotBeEmpty": "檢驗項目『{qcItem}』規格中心不可為空", + "lowerLimitOfInspectionItemCannotExceedCenter": "檢驗項目『{qcItem}』規格下限不可大於規格中心", + "selectInspectionItemToRemove": "請選擇要移除的檢驗項目", + "confirmToRemoveSelectedInspectionItems": "是否確定移除所勾選的檢驗項目", + "inspectionLevel": "檢驗水準", + "acceptanceLevel": "允收水準", + "customSampling": "自定抽樣", + "enterSamplingRule": "請輸入抽樣規則", + "enterSamplingMethod": "請輸入抽樣方式", + "enterAreaQuantity": "請輸入區域數量", + "samplingRuleAdd": "抽樣規則-新增", + "samplingRuleView": "抽樣規則-查看", + "samplingRuleEdit": "抽樣規則-編輯", + "samplingRuleExists": "抽樣規則已存在", + "customSamplingListNotEmpty": "自定抽樣清單不可為空", + "maxGreaterThanMin": "序號『{seq}』的 Max 需大於 Min", + "samplingNumberNotEmpty": "序號『{seq}』的 抽樣數不可為空", + "pleaseConfirm": "{msg} 請確認", + "samplingPerBatchNotEmpty": "每筆抽N區不可為空", + "samplingPerSectionNotEmpty": "每區抽N點不可為空", + "valueCannotBeDuplicated": "{str} 不可重複", + "confirmDeleteSamplingRule": "是否刪除抽樣規則 {samplePlan}?", + "normal": "正常", + "tightened": "加嚴", + "reduced": "減量", + "basedOnOriginalSamplingTable": "依據原抽樣表", + "fixedZeroAcceptOneReject": "固定0收1退", + "firstProductionBatchOfWorkOrder": "工單第一個生產的程式批/SFC", + "firstProductionBatchOfTheDay": "每日第一個生產的程式批/SFC", + "firstProductionBatchAfterEquipmentMoldChange": "設備換模具後第一個生產的程式批/SFC", + "firstProductionBatchAfterEquipmentMaintenance": "設備維修後第一個生產的程式批/SFC", + "firstProductionBatchAfterHoursOfReactivation": "小時以上再啟用第一個生產的程式批/SFC", + "interval": "間隔", + "hoursMachinePlusMaterial": "小時(機台+物料)", + "hoursMachinePlusInspectionPlan": "小時(機台+檢驗計畫)", + "every": "每", + "perBatchOrSfc": "個程式批/SFC", + "fixedTimeEveryDay": "每日固定幾點", + "pcsWorkstationPlusResource": "PCS(作業網站+資源)", + "equipmentDowntime": "設備停機", + "issuable": "可核發", + "disabled": "已停用", + "count": "計數", + "xbarR": "XBAR-R", + "xbarS": "XBAR-S", + "xRm": "X-RM", + "pChart": "P-CHART", + "homePage": "首頁", + "inspectionItemMaintenance": "檢驗項目維護", + "inspectionTaskOperation": "檢驗任務作業", + "calibrationType": "校驗頻率", + "instrumentCalibrationType": "儀器校驗類型", + "calibrationTypeEnterRequired": "請選擇儀器校驗類型", + "calibrationDateError": "校驗頻率日期不正確", + "calibrationFreqEmpty": "請輸入校驗頻率", + "calibrationFreqRepeat": "校驗頻率日期已存在", + "calibrationType2": "校驗類型", + "calibrationTypeEnterRequired2": "請選擇校驗類型", + "internalCalibration": "內校", + "externalCalibration": "外校", + "instrumentGroup": "儀器群組", + "resrceNo": "儀器設備編號", + "resrceDesc": "儀器設備名稱", + "calibTaskOrderNumber": "校驗任務單號", + "calibComDate": "校驗完成時間", + "judgeComDate": "判定完成時間", + "judgeUser": "判定人員編號", + "judgeName": "判定人員姓名", + "selectInstrumentGroup": "請先選擇儀器群組", + "calibrationTask": "校驗任務", + "totalFileSize": "目前總檔案大小", + "calibTaskMeteringInspectionOperation": "校驗任務-計量檢驗作業", + "correctionValue": "補正值", + "calibTaskCountInspectionOperation": "校驗任務-計數檢驗作業", + "calibTaskTextInspectionOperation": "校驗任務-內文檢驗作業", + "calibTaskClose": "校驗任務-關閉", + "calibTaskClosed": "校驗任務『{jobNo}』已關閉", + "inspectionItemValueEmpty2": "檢驗項目: {qcItem}{msg}的檢驗值不可為空" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/rpt.json b/src/locale/i18n/zh_tw/mes/rpt.json new file mode 100644 index 0000000..37175cb --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/rpt.json @@ -0,0 +1,31 @@ +{ + "xreportHostNotConfigured": "系統參數 XREPORT_HOST 未配置或值為空", + "xreportTokenNotConfigured": "系統參數 XREPORT_TOKEN 未配置或值為空", + "reportIdNotConfigured": "report_id 未配置或值為空", + "startTestTimeNotEmpty": "開始測試時間不可為空", + "endTestTimeNotEmpty": "結束測試時間不可為空", + "startTestTimeNotLater": "開始測試時間不可大於結束測試時間", + "testTimeNotOverMonth": "測試時間不可超過30天", + "ratio": "占比", + "testMachine": "測試機台", + "testTime": "測試時間", + "userOrderNo": "客戶訂單號", + "waferLotNo": "晶圓批號", + "testMachineNo": "測試機號", + "testReport": "測試報告", + "testType": "測試類型", + "qcCompleteFrom": "檢驗完成日期(起)", + "qcCompleteTo": "檢驗完成日期(迄)", + "ranking": "排名", + "ncPercent": "不合格代碼占比", + "ncTotal": "不合格代碼統計", + "ok": "合規筆數", + "ng": "超規筆數", + "error": { + "date1": "請輸入檢驗完成日期(起)", + "date2": "請輸入檢驗完成日期(迄)", + "date3": "檢驗完成日期(迄)不可早於檢驗完成日期(起)", + "date4": "檢驗完成日期查詢區間不可超過半年", + "size": "請輸入排名" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/smd.json b/src/locale/i18n/zh_tw/mes/smd.json new file mode 100644 index 0000000..057064f --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/smd.json @@ -0,0 +1,151 @@ +{ + "equipmentType": "設備類別", + "equipmentTypeDesc": "設備類別說明", + "equipmentKind": "設備類型", + "kind": "類型", + "usableMainEquipment": "可使用主設備", + "enterEquipmentMajorCategory": "請輸入設備大類", + "mainEquipmentCategory": "主設備類別", + "usableMainEquipmentCannotBeEmpty": "可使用主設備不可為空", + "usableMainEquipmentCannotBeSameAsMajorCategory": "可使用主設備不可與設備大類相同", + "equipmentMajorCategoryCannotBeEmpty": "設備大類不可為空", + "equipmentMajorCategoryExists": "設備大類: {categoryNo} 已存在", + "confirmDeleteEquipmentMajorCategory": "是否確認刪除設備大類: {categoryNo}", + "mainEquipmentNumber": "主設備編號", + "usableAuxiliaryEquipment": "可用附屬設備", + "assignedAuxiliaryEquipment": "已指派附屬設備", + "confirmWithoutSavingScreenInfo": "畫面資訊是否不進行儲存", + "searchFirst": "請先檢索", + "controlQuantity": "是否管控數量", + "equipmentCategoryCannotBeEmpty": "設備類別不可為空", + "selectToolCategoryToDelete": "請選擇要刪除的工具類別資料", + "needToSetControlQuantity": "需設定管控數量", + "limitBatchNumber": "限制批數", + "limitBatchQuantity": "限制批量", + "image": "圖片", + "fileSize": "檔案大小", + "imagePreview": "圖片預覽", + "removeImage": "移除圖片", + "noImage": "暫無圖片", + "enterEquipmentCategory": "請輸入設備類別", + "equipmentCategoryAdd": "設備類別-新增", + "equipmentCategoryView": "設備類別-查看", + "equipmentCategoryEdit": "設備類別-編輯", + "unsupportedAttachmentFormat": "附件格式不支援,請上傳圖片附件", + "imageFileSizeExceedsLimit": "圖片檔案大小不可超過10mb", + "limitQuantityExceedsRegulation": "限制數量超出規定", + "equipmentCategoryExists": "設備類別: {typeNo} 已存在", + "equipmentManufacturer": "設備廠商", + "assetNumber": "資產編號", + "equipmentMasterDataAdd": "設備主資料-新增", + "equipmentMasterDataView": "設備主資料-查看", + "equipmentMasterDataEdit": "設備主資料-編輯", + "equipmentNumberExists": "設備編號: {resrce} 已存在", + "confirmDeleteEquipmentNumber": "是否確認刪除設備編號: {resrce}", + "enterWorkshopCode": "請輸入車間代號", + "workshopCodeCannotBeEmpty": "車間代號不可為空", + "confirmDeleteWorkshopCode": "是否確認刪除車間代號:{fabNo}", + "workshopCodeAdd": "車間代號-新增", + "workshopCodeEdit": "車間代號-編輯", + "workshopCodeView": "車間代號-查看", + "confirmWorkshopCode": "是否確認車間代號為 {fabNo}", + "enterWorkCenter": "請輸入工作中心", + "availableWorkCenter": "可用工作中心", + "assignedWorkCenter": "已指派工作中心", + "warehouseType": "倉庫型態", + "storageLocationNumber": "貨位編號", + "add": "增加", + "warehouseNumberAdd": "倉庫編號-新增", + "confirmDeleteWarehouseNumber": "是否確認刪除倉庫編號為 {invNo}", + "warehouseNumberView": "倉庫編號-查看", + "warehouseNumberEdit": "倉庫編號-編輯", + "selectStorageLocationToRemove": "請選擇要移除的儲位", + "confirmRemoveSelectedStorageLocation": "是否確定移除所勾選的儲位", + "factoryNumber": "工廠編號", + "enterFactoryNumber": "請輸入工廠編號", + "factoryNumberView": "工廠編號-查看", + "factoryNumberEdit": "工廠編號-編輯", + "factoryNumberAdd": "工廠編號-新增", + "confirmDeleteFactoryNumber": "是否確認刪除工廠編號: {site}", + "additionSuccessful": "添加成功", + "enterToolCategory": "請輸入工具類別", + "toolMasterDataAdd": "工具主資料-新增", + "toolMasterDataView": "工具主資料-查看", + "toolMasterDataEdit": "工具主資料-編輯", + "toolNumberCannotBeEmpty": "工具編號不可為空", + "toolCategoryCannotBeEmpty": "工具類別不可為空", + "toolNumberExists": "工具編號: {toolNo} 已存在", + "confirmDeleteToolNumber": "是否確認刪除工具編號: {toolNo}", + "enterToolMajorCategory": "請輸入工具大類", + "toolMajorCategoryAdd": "工具大類-新增", + "toolMajorCategoryView": "工具大類-查看", + "toolMajorCategoryEdit": "工具大類-編輯", + "toolMajorCategoryCannotBeEmpty": "工具大類不可為空", + "toolMajorCategoryExists": "工具大類: {categoryNo} 已存在", + "confirmDeleteToolMajorCategory": "是否確認刪除工具大類: {categoryNo}", + "toolCategoryAdd": "工具類別-新增", + "toolCategoryView": "工具類別-查看", + "toolCategoryEdit": "工具類別-編輯", + "toolCategoryExists": "工具類別: {typeNo} 已存在", + "confirmDeleteToolCategory": "是否確認刪除工具類別: {typeNo}", + "yearMonth": "年月", + "selectMonth": "選擇月", + "timeSlotNumber": "時段編號", + "selectTimeSlotNumber": "請選擇時段編號", + "totalWorkingHours": "總工時", + "productionWorkingHours": "生產工時", + "excludedWorkingHours": "除外工時", + "settingRange": "設定範圍", + "includeHolidays": "是否包含假日", + "setAll": "設定全部", + "selectYearMonth": "請選擇年月", + "thisMonth": "本月份", + "thisYear": "本年度", + "calendarYearMonthDifferent": "日曆年月與選擇年月不同", + "selectSettingRange": "請選擇設定範圍", + "selectIncludeHolidays": "請選擇是否包含假日", + "cannotModifyPastDays": "不可修改當日(包含當日)之前的工作日曆", + "operationArea": "作業區域", + "areaConfiguration": "區域配置", + "workCenterOrEquipment": "工作中心/設備", + "enterType": "請輸入類型", + "workCenterCannotBeEmpty": "工作中心不可為空", + "typeCannotBeEmpty": "類型不可為空", + "equipmentInAreaConfigCannotBeBlank": "區域配置的設備不可空白", + "workCenterInAreaConfigCannotBeBlank": "區域配置的工作中心不可空白", + "workCenterInAreaConfigCannotBeSame": "區域配置的工作中心不可與本身工作中心相同", + "equipmentInAreaConfig": "區域配置的設備", + "duplicate": "重複", + "workCenterInAreaConfig": "區域配置的工作中心", + "confirmDeleteWorkCenter": "是否確認刪除工作中心:{workCenter}", + "workCenterAdd": "工作中心-新增", + "workCenterEdit": "工作中心-編輯", + "workCenterView": "工作中心-查看", + "confirmWorkCenter": "是否確認工作中心為 {workCenter}", + "representativeColor": "代表顏色", + "timeSlotConfiguration": "時段配置", + "workingTimeSlot": "工作時段", + "timeSlotType": "時段類型", + "enterTimeSlotNumber": "請輸入時段編號", + "timeSlotNumberCannotBeEmpty": "時段編號不可為空", + "selectTimeSlotToDelete": "請選擇要刪除的時段", + "timeSlotNumberDoesNotExist": "時段編號不存在", + "workTypeDoesNotExist": "{workType}不存在", + "sequence2": "序號 {seq} :", + "cannotBeEmpty": " {msg} 不可為空", + "checkTimeSlotOverlap": "請檢查工作時段的時間不可重疊", + "checkTimeSlotContinuity": "請檢查工作時段的時間必須是連續的時間", + "confirmDeleteTimeSlot": "是否確認刪除時段編號: {workType}", + "searchDataFirst": "請先檢索資料", + "mixProduction": "是否可混線生産", + "mixProductionAlert": "請選擇是否可混線生産", + "operationEmpty": "請設定設備『{resrce}』對應的工序", + "sequenceEmpty": "請設定設備『{resrce}』對應的順序", + "sequenceNotDuplicate": "順序『{sequence}』不可重覆", + "swipeCardPoint": "刷卡點", + "swipeCardPoint": "刷卡點", + "areaConfigurationOrderNotFirstProcessDeviceNoSwipeIn": "區域配置順序 {sequence},不為工序的第一台設備,不可設定刷卡點進站", + "areaConfigurationOrderNotLastProcessDeviceNoSwipeOut": "區域配置順序 {sequence},不為工序的最後一台設備,不可設定刷卡點出站" +} + + diff --git a/src/locale/i18n/zh_tw/mes/sys.json b/src/locale/i18n/zh_tw/mes/sys.json new file mode 100644 index 0000000..8badf97 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/sys.json @@ -0,0 +1,55 @@ +{ + "dataset": { + "title": "資料集", + "copy": "複製", + "watch": "檢視", + "datasetNo": "資料集編號", + "datasetName": "資料集名稱", + "datasourceBo": "資料來源名稱", + "fieldName": "欄位名", + "fieldText": "欄位文本", + "fieldType": "欄位類型", + "httpMethod": "請求方式", + "sqlAnalysis": "SQL解析", + "apiAnalysis": "API解析", + "string": "字元", + "date": "日期時間", + "msg": { + "datasetNo": "資料集編號不可為空", + "datasetName": "資料集名稱不可為空", + "sqlScript": "SQL不可為空", + "httpMethod": "請求方式不可為空", + "apiUrl": "API不可為空", + "fieldTypeEmpty": "序號{seq},欄位類型不可為空", + "remove": { + "alert": "是否確認刪除資料集編號 {datasetNo}" + } + } + }, + "confirmDeleteDataSource": "是否確認刪除資料來源名稱 {name}", + "databaseType": "資料庫類型", + "host": "主機", + "port": "埠", + "database": "資料庫", + "password": "密碼", + "hostFormatIncorrect": "主機格式不正確", + "dataSource": "資料來源", + "pleaseSelectDatabaseType": "請選擇資料庫類型", + "hostCannotBeEmpty": "主機不可為空", + "portCannotBeEmpty": "埠不可為空", + "databaseCannotBeEmpty": "資料庫不可為空", + "usernameCannotBeEmpty": "用戶名不可為空", + "passwordCannotBeEmpty": "密碼不可為空", + "databaseConnectionSuccessful": "資料庫連線成功", + "databaseConnectionFailed": "資料庫連線失敗", + "service-management": { + "serviceNo": "服務編號", + "programPath": "類別/程式", + "serviceManage": "服務定義管理", + "serviceDefinition": "服務定義", + "fileName": "檔案名稱", + "fileDate": "檔案日期", + "serviceNoExists": "服務編號{serviceNo}已存在", + "confirmDel": "是否刪除服務定義{serviceNo}" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/system.json b/src/locale/i18n/zh_tw/mes/system.json new file mode 100644 index 0000000..f4da8ac --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/system.json @@ -0,0 +1,4 @@ +{ + "heterogeneousSystemTransactionLogView": "異質系統交易Log-查看", + "timeCannotBeEmpty": "時間不可為空" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/tap.json b/src/locale/i18n/zh_tw/mes/tap.json new file mode 100644 index 0000000..10127a6 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/tap.json @@ -0,0 +1,15 @@ +{ + "cat": "CAT", + "hbin": "HBIN", + "test": { + "program": { + "error1": "序號{seq},CAT編號不可爲空", + "error2": "結果爲GOOD的CAT需大於一筆", + "error3": "結果爲FAIL的CAT需大於一筆", + "error4": "CAT『{catNo}』不可重複", + "error5": "CAT『{catNo}』,HBIN『{start}』不可大於『{end}』", + "error6": "HBIN『{hbin}』不可重複", + "error7": "序號{seq},HBIN不可爲空" + } + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/tds.json b/src/locale/i18n/zh_tw/mes/tds.json new file mode 100644 index 0000000..56af545 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/tds.json @@ -0,0 +1,142 @@ +{ + "release": "發佈", + "startupSheet": "開機表", + "capacityAllocationSheet": "產能分配表", + "confirmDeleteCapacityAllocationSheet": "是否確定刪除此產能分配表", + "capacityAllocationSheetDeletedSuccessfully": "產能分配表刪除成功", + "confirmReleaseCapacityAllocationSheet": "是否確定發佈此產能分配表?", + "capacityAllocationSheetReleasedSuccessfully": "產能分配表發佈成功", + "productModel": "產品型號", + "testingHours": "測試時數", + "productModelProcess": "產品型號/工序", + "productionSequence": "生產順序", + "standardWorkingHours": "標準工時", + "arrivalTime": "到站時間", + "ruleDescription": "法則描述", + "enterProcess": "請輸入工序", + "priorityOrderCannotBeRepeated": "優先順序不可重複設定", + "workingTimeCalculationCategory": "工時計算類別", + "confirmDeleteStandardWorkingHours": "是否確定刪除此筆標準工時", + "noData": "暫無資料", + "workingTimeCalculationType": "工時計算類型", + "leadTime": "前置時間", + "lineChangeTime": "換線時間", + "productionTime": "生產時間", + "fixedValue": "定值", + "testProcess": "測試工序", + "enterProductionTime": "請輸入生產時間", + "productionTimeMustBeGreaterThanZero": "生產時間必須大於0", + "enterUPH": "請輸入UPH", + "uphMustBeGreaterThanZero": "UPH必須大於0", + "inputOneOfWorkCenterEquipmentCategoryOrNumber": "工作中心,設備類別及設備編號需擇一輸入", + "notArrived": "未到站", + "confirmToDeleteAllSearchedEquipmentSchedules": "是否確定刪除所有已檢索出的設備的排程任務?", + "scheduleTaskDeletedSuccessfully": "排程任務刪除成功", + "noDataToDownload": "無資料可下載", + "testSchedulingList": "測試排程清單", + "scheduleTaskDownloadedSuccessfully": "排程任務下載成功", + "taskCategory": "任務類別", + "productModelOrPID": "產品型號/(PID)", + "arrived": "已到站", + "inputNumber": "投入數", + "testingHoursOrHrs": "測試時數/(Hrs)", + "additionalOperationTimeOrHrs": "附加作業時間/(Hrs)", + "lineChangeTimeOrHrs": "換線時間/(Hrs)", + "scheduleStartTime": "排程開始/時間", + "scheduleEndTime": "排程結束/時間", + "packageType": "封裝型別", + "size": "Size", + "pin": "Pin", + "temperature": "溫度", + "scheduledTaskArea": "已排程任務區", + "scheduleStartTime2": "排程開始時間", + "unscheduledTaskArea": "待排程任務區", + "sort": "排序", + "nonProductionTaskArea": "非生產任務區", + "demandTime": "需求時間", + "demandHours": "需求時數", + "taskApplicant": "任務申請人", + "taskDescription": "任務說明", + "confirmDeleteTaskAtIndex": "是否確定刪除項次{index}的任務?", + "scheduleStartTimeCannotBeEarlier": "排程開始時間不可早於目前時間", + "setScheduleStartTimeFirst": "請先設置排程開始時間", + "insertionSuccessful": "插入成功", + "selectTaskCategory": "請選擇任務類別", + "enterTaskOrderNumber": "請輸入任務單號", + "enterDemandTime": "請輸入需求時間", + "demandTimeCannotBeEarlier": "需求時間不可小於目前時間", + "demandHoursMustBeGreaterThanZero": "需求時數必須大於0", + "confirmDeleteScheduleOfEquipment": "是否確定刪除設備{eqpNo}的排程任務?", + "auxiliarySchedulingDeleteSuccessful": "測試輔助排程刪除成功", + "confirmPublishScheduleOfEquipment": "是否確定發佈設備{eqpNo}的排程任務", + "scheduleTaskPublishedSuccessfully": "排程任務發佈成功", + "equipmentMajorCategoryNumber": "設備大類編號", + "customerProductProcessOrderNumber": "客戶-產品-工序-工單號", + "priorityDeliveryDateProductProcessOrderNumber": "優先順序-工單交期-產品-工序-工單號", + "temperaturePriorityCustomerProductProcessOrderNumber": "溫度-優先順序-客戶-產品-工序-工單號", + "auxiliaryEquipmentNumber": "附屬設備編號", + "productionCapacitySetting": "產能設定", + "itemDesc": "物料描述", + "priority": "優先級", + "confirmDeleteProductionCapacity": "是否确认删除該生產能力?", + "productionCode": "產品編碼", + "productionDesc": "產品描述", + "plannedStartDate": "計劃開始時間", + "plannedCompDate": "計劃完成時間", + "durations": "派工時長(分鐘)", + "dispatchStartDateTime": "派工開始時間", + "dispatchEndDateTime": "派工完成時間", + "dispatchDate": "派工日期", + "to": "至", + "startDate": "開始日期", + "endDate": "結束日期", + "restoreText": "還原", + "manualDispatchText": "手動派工", + "closeAllText": "關閉所有", + "expandAllText": "展開所有", + "lockText": "鎖定", + "unlockText": "解鎖", + "showMeOnlyText": "僅顯示自己派工的任務", + "verticalDragText": "上下拖動", + "dispatchInsertText": "插單模式", + "lineFilterText": "產線過濾(模糊)", + "zoomOut": "縮小", + "zoomIn": "放大", + "manualLineDispatch": "手動派工-產線", + "editTask": "編輯任務", + "selectLockedShopOrderText": "請選擇要{action}的任務", + "lockSuccess": "鎖定成功", + "unlockSuccess": "解鎖成功", + "lockNotAllowedModifyInfo": "該任務已被鎖定,不允許修改", + "taskConflictInfo": "{taskNumber} 時間區段[{beginTime}->{endTime}]已經排有任務 {busyTaskNumber}!", + "restoreSuccess": "還原修改數據成功", + "selectDispatchStartTimeRange": "請選擇派工開始時間範圍", + "selectDispatchStartTime": "請選擇派工開始時間", + "startTimeOutofBounds": "開始時間不能超出當前派工時間範圍!", + "taskNoChange": "任務未發生變動!", + "minute": "分鐘", + "hour": "小時", + "week": "週", + "month": "月份", + "year": "年", + "enterDispatchDuration": "請輸入派工時長", + "needRecalculateDuration": "是否根據產能設定自動更新派工時長?", + "selectShopOrder": "選擇工單", + "removeSelected": "移除選定項", + "dispatchedQty": "已派數量", + "availableQty": "可派數量", + "selectDispatchStartDateTime": "選擇計劃派工開始時間", + "dispatch": "派工", + "noSelectdRow": "沒有選中的行", + "isDeleteSelectedRow": "是否確認刪除選中行", + "pleaseInputOrSelectProductionLine": "請先輸入或選擇產線", + "dispatchAvailableQtyValidate": "工單[{shopOrder}],生產選項[{productionOptions}]的派工數量不能超過{availableQty}", + "pleaseAddDispatchDetail": "請添加派工細節", + "pleaseInputDispatchQty": "第{index}行,請輸入派工數量", + "pleaseInputDispatchDurations": "第{index}行,請輸入派工時長", + "pleaseInputDispatchStartDateTime": "第{index}行,請輸入派工開始時間", + "fuzzyQuery": "模糊查詢", + "pleaseInputShopOrderOrProduct": "請輸入工單編碼/產品編號/產品描述", + "selectAtLeasetOne": "請選擇至少一項數據", + "productionLineNoWorkCenter": "產線{productionLine}未指定工作中心" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/tms.json b/src/locale/i18n/zh_tw/mes/tms.json new file mode 100644 index 0000000..b3716b9 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/tms.json @@ -0,0 +1,97 @@ +{ + "recipient": "領用人員", + "receivingDate": "領用日期", + "receivingDescription": "領用說明", + "toolName": "工具名稱", + "lifeDisposalMethod": "壽命處置方式", + "lifeLimitCount": "壽命限制次數", + "currentLife": "當前壽命", + "resettableCount": "可重置次數", + "currentResetCount": "當前重置次數", + "createToolRequisitionOrder": "建立-工具領用單", + "enterWarehouseNumber": "請輸入倉庫編號", + "warehouseNumberCannotBeEmpty": "倉庫編號不能為空", + "selectAtLeastOneToolNumber": "請至少選擇一筆工具編號", + "confirmCancellation": "是否確認取消", + "toolNumberCannotBeEmpty": "工具編號不能為空", + "toolNumberNotInList": "工具編號『 {toolNo} 』不在列表中,請確認", + "requisitionOrderNumber": "領用單號", + "requisitionTime": "領用時間", + "toolRequisitionOrderDetail": "工具領用單-明細", + "uncontrolled": "不管控", + "requisitionStartDateCannotBeEmpty": "領用開始日期不可為空", + "requisitionEndDateCannotBeEmpty": "領用結束日期不可為空", + "dateCannotExceedOneYear": "日期不可超過一年", + "returnPersonnel": "退庫人員", + "returnDate": "退庫日期", + "createToolReturnOrder": "建立-工具退庫單", + "storageLocationNumber": "儲位編號", + "toolReturnOrderAttachment": "工具退庫單-附件", + "returnTime": "退庫時間", + "returnStartDateCannotBeEmpty": "退庫開始日期不可為空", + "returnEndDateCannotBeEmpty": "退庫結束日期不可為空", + "toolReturnOrderDetail": "工具退庫單-明細", + "onlyPositiveIntegersAllowed": "只能輸入正整數", + "toolCategoryNumberCannotBeEmpty": "工具類別編號不能為空", + "pleaseSelectLifeDisposalMethod": "請選擇壽命處置方式", + "pleaseSelectCalculationMethod": "請選擇計算方式", + "resettableCountMustBePositiveIntegerOrZero": "可重置次數必須輸入正整數或0", + "lifeLimitCountMustBePositiveInteger": "壽命限制次數必須輸入正整數", + "percentageMustBeIntegerBetween1And100": "百分比必須輸入1-100的整數", + "toolLifeConfigAdd": "工具壽命配置-新增", + "toolCategoryDoesNotExist": "工具類別 [ {value} ] 不存在", + "toolLifeConfigView": "工具壽命配置-查看", + "toolLifeConfigEdit": "工具壽命配置-編輯", + "maintenanceOrderNumber": "保養單號", + "toolMaintenanceOrder": "工具保養單", + "confirmDeleteToolMaintenanceOrder": "工具保養單 {maintenanceNo},是否確定刪除?", + "unfinished": "未完成", + "scrapped": "已報廢", + "resetLife": "重置壽命", + "toolScrap": "工具報廢", + "maintenanceOrderStatus": "保養單狀態", + "lifeAfterReset": "重置後壽命", + "resetCountOnBilling": "開單重置次數", + "lifeOnBilling": "開單壽命", + "billingDescription": "開單說明", + "maintenanceDescription": "保養說明", + "toolDisposalMethod": "工具處置方式", + "notification": "通知", + "uncontrolledLife": "不管控壽命", + "receivingOrderNumber": "收貨單號", + "receivingOrderConfirmation": "收貨單確認", + "receivingOrderVoid": "收貨單作廢", + "receivingOrderDeletion": "收貨單刪除", + "toolVendor": "工具廠商", + "toolReceivingOrder": "工具收貨單", + "detailAdd": "明細-新增", + "confirmChangeAfterReceiptNo": "{receiptNo} 確認後即不可再更改明細項次, 是否確定?", + "cannotConfirmWithoutDetail": "收貨單沒有明細,不可執行確認", + "confirmVoidReceiptNo": "{receiptNo} 是否確定作廢?", + "confirmDeleteReceiptNo": "{receiptNo} 是否確定刪除?", + "detailEdit": "明細-編輯", + "confirmDeleteItemDetail": "是否確定刪除項次 {seq} 的明細?", + "detailIQC": "明細-IQC", + "detailConfirmation": "明細-確認", + "detailAttachment": "明細-附件", + "receivingOrderStatus": "收貨單狀態", + "receivingPersonnel": "收貨人員", + "receivingTime": "收貨時間", + "confirmAction": "是否確定{action}", + "repairOrderNumber": "維修單號", + "toolRepairOrder": "工具維修單", + "confirmDeleteToolRepairOrder": "工具維修單{repairNo} ,是否確定刪除?", + "repairOrderStatus": "維修單狀態", + "repairDescription": "維修說明", + "confirmDeleteStatusCode": "是否確認刪除狀態碼為 {statusCode}", + "toolStatusCodeAdd": "工具狀態碼-新增", + "toolStatusCodeEdit": "工具狀態碼-編輯", + "toolStatusCodeView": "工具狀態碼-查看", + "toolMajorCategoryNumber": "工具大類編號", + "toolCategoryNumber": "工具類別編號", + "toolStatusChangeOperation": "工具狀態變更作業", + "toolCheckoutForm": "工具領用單", + "toolReturnForm": "工具退庫單", + "calculationMethod": "計算方式", + "statusCodeSelection": "狀態碼選擇" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mes/wip.json b/src/locale/i18n/zh_tw/mes/wip.json new file mode 100644 index 0000000..ac2f858 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/wip.json @@ -0,0 +1,224 @@ +{ + "onDutyChecklist": "上崗清單", + "toolChecklist": "工具清單", + "enterStationOperation": "進站作業", + "exitStationOperation": "出站作業", + "personnelOnOffDuty": "人員上下崗", + "toolOnOffMachine": "工具上下機", + "equipmentStatusChange": "設備狀態變更", + "singleBatchLot": "單批Lot", + "multiBatchLot": "多批Lot", + "singleBatchBin": "單批Bin", + "singleBatchCat": "單批CAT", + "singleBatchBinSampling": "單批Bin抽樣", + "singleBatchCatSampling": "單批CAT抽樣", + "nonConformingOperation": "不合格作業", + "ftTestOperation": "FT測試作業", + "eqcTestOperation": "EQC測試作業", + "logoutOperation": "登出作業", + "productionBatchNumberNotExist": "生產批號{lotNo}不存在", + "productionBatchStatusNotSuitable": "生產批號目前狀態無法進行進出站作業", + "maintainOperationCustomData": "工序{operation}請先維護工序自訂資料CHECK_IN_OPERATION", + "confirmOperationCustomData": "請確認工序{operation}配置的工序自訂資料CHECK_IN_OPERATION是否正確", + "cpNonConformingOperation": "CP不合格作業", + "waferNonConformingOperation": "Wafer不合格作業", + "binNonConformingOperation": "BIN不合格作業", + "catNonConformingOperation": "CAT不合格作業", + "toolChecklistOnMachine": "上機工具清單", + "parameterList": "參數清單", + "materialList": "用料清單", + "actualUsage": "實際用量", + "onDutyStaff": "上崗人員", + "machineTools": "上機工具", + "productionRemark": "生產備註", + "logOut": "登出", + "lotNoCannotRepeat": "Lot No:{lotNo}不可重複", + "lotNoNotRetrieved": "當前Lot No尚未檢索,是否重新檢索?", + "checkInSuccess": "{lotNo}進站成功
    ", + "checkInSuccess1": "{lotNo}進站成功", + "checkOutSuccess": "{lotNo}出站成功
    ", + "checkOutSuccess1": "{lotNo}出站成功", + "logOutSuccess": "{lotNo} 登出成功", + "confirmWaferCheckOut": "是否要將已勾選的WAFER出站?", + "detainEntireBatch": "扣留整批", + "detainSinglePiece": "扣留單片", + "alarm": "報警", + "designatedPath": "指定路徑", + "confirmOperation": "{message}
    是否確定{opKey}?", + "checkInControlRule": "進站管制法則處置邏輯不允許指定路徑", + "nonConformingCodeDescription": "不合格代碼說明", + "operationParameter": "作業參數", + "parameterContent": "參數內容", + "standardUsage": "標準用量", + "onDutyPerson": "上崗人", + "defectiveQuantityCannotExceedBatchQuantity": "不良數量不可大於生產批數量", + "nonConformingOperationSuccessful": "不合格作業成功", + "batchNumberQuantity": "批號數量", + "postBatchingAction": "併批後動作", + "transferToSpecificOperation": "轉移指定工序", + "transferToSpecificRoute": "轉移指定途程", + "transferRoute": "轉移途程", + "routeVersion": "途程版本", + "step": "步驟", + "postSplitAction": "分批後動作", + "splitQuantityCannotExceedLotQuantity": "分批數量不可大於Lot No的數量", + "areYouSureToSplit": "是否確定拆批?", + "changeProductCode": "變更產品編號", + "changeUserPart": "變更客戶料號", + "changeUserLot": "變更客戶批號", + "changeLot": "變更料號", + "change": "變更", + "sampleBINDistribution": "抽樣BIN分佈", + "sampleCATDistribution": "抽樣CAT分佈", + "sampleBINAccptReject": "抽樣BIN允退數", + "sampleCATAccptReject": "抽樣CAT允退數", + "sampleFinalDistribution": "抽樣最終分佈", + "sampleBIN": "抽樣BIN", + "sampleCAT": "抽樣CAT", + "confirmLotNoTestResult": "是否確認Lot No: {lotNo}本次的測試結果", + "testCompleted": "測試完成", + "inputBINDistribution": "投入BIN分佈", + "inputCATDistribution": "投入CAT分佈", + "finalBINDistribution": "最終BIN分佈", + "finalCATDistribution": "最終CAT分佈", + "BINSampleResult": "BIN抽樣結果", + "CATSampleResult": "CAT抽樣結果", + "nonConformingInfo": "不合格資訊", + "testResult": "測試結果", + "testInput": "測試輸入", + "distributeQtyNotEmpty": "分佈數量不可為空", + "firstBINDistribution": "第一次BIN分佈", + "ConfirmBinNoData": "{binNo}無資料,請確認", + "nonConformingAmountNotMoreBinNo": "不良原因數量不可大於{binNo}數量", + "samplePartAmount": "應抽片數", + "currentPart": "當前片數", + "samplePointNumber": "應抽點數", + "sampleZoneAmount": "應抽區數", + "sampleAmountRequired": "必需輸入抽樣數量", + "BINNotFoundAndPrdNone": "Lot No:{lotNo}找不到CAT分佈資料,不能進行生產", + "sampleBINDistUnSetPrdNone": "未設定抽樣BIN分佈的抽樣數,無法進行生產", + "lotNoInQVMNo": "{lotNo}於QVM工序未設定Wafer抽樣規則,不能進行生產", + "zoneNotSetPrdNone": "QVM工序所設定的Wafer抽樣規則『{samplePlan}』未設定區域,不能進行生產", + "partNoAmountNotEqualSampling": "選擇片號數量與應抽片數不一致,不能進行生產", + "confirmOpKey": "是否確定{key}?", + "lotNoBINNotFoundNotOut": "Lot No:{lotNo}找不到BIN分佈資料,不能進行出站", + "lotNoCATNotFoundNotOut": "Lot No:{lotNo}找不到CAT分佈資料,不能進行出站", + "inspResultStrBr": "檢驗結果 NG, Lot No {lotNo} HOLD, 異常單號 {abnNo}
    ", + "autoSplitBatch": "自動拆分的批次:{lotNo}
    ", + "enterLinesideWarehouse": "入線邊倉", + "qtySelected": "已選片數", + "dispatchableQuantity": "可派工數量", + "productionPlanAdd": "生產計劃-新增", + "productionPlanEdit": "生產計劃-編輯", + "productionPlanView": "生產計劃-檢視", + "selectWorkOrderNumber": "請選擇工單編號", + "enterPositiveNumber": "僅可輸入大於0的數字", + "dispatchQuantityCannotExceedDispatchable": "派工數量不可大於可派工數量", + "enterPlannedStartTime": "請輸入計劃開始時間", + "enterPlannedEndTime": "請輸入計劃結束時間", + "plannedEndTimeCannotBeEarlier": "計劃結束時間不可早於計劃開始時間", + "plannedStartTimeMustBeDefined": "計劃開始時間必須是工作日曆定義的時間", + "selectProductionLine": "請選擇產線", + "equipmentInformation": "設備資訊", + "productionInformation": "生產資訊", + "onPostInformation": "上崗資訊", + "feedingInformation": "上料資訊", + "notStarted": "未開線", + "lineStopped": "停線", + "productionPlan": "生產計劃", + "planQuantity": "計劃數量", + "completedQuantity": "完工數", + "defectiveQuantity": "不良數", + "completionTime": "完工時間", + "downtime": "停線時間", + "startLine": "開線", + "currentStateStartTime": "當前狀態起始時間", + "accumulatedTimeInMinutes": "累積時間(分)", + "todayProductionQuantity": "今日生產數", + "totalDefectiveQuantity": "總不良數", + "confirmDeletionPlan": "刪除後不可生產此計劃,是否確定刪除?", + "confirmStartLine": "是否確定開線?", + "startLineSuccessful": "開線成功", + "confirmStopLine": "停線後不可生產此計劃,是否確定停線?", + "stopLineSuccessful": "停線成功", + "planEndTimeCannotEqualStartTime": "計劃結束時間不可等於計劃開始時間", + "workCenterNotApplicable": "工作中心非產線型,不適用開線作業", + "startLineTime": "開線時間", + "startLinePersonnel": "開線人員", + "standardValue": "標準值", + "pdcDataView": "PDC資料查看", + "pdcDataEntry": "PDC資料輸入", + "parameterValueInvalidForNumber": "參數編號『{parameterNo}』型別為數值,所輸入的參數值不合法", + "parameterValueInvalidForSpecification": "參數編號『{parameterNo}』型別為規格,所輸入的參數值不合法", + "parameterValueInvalidForPercentage": "參數編號『{parameterNo}』型別為百分比,所輸入的參數值不合法", + "confirmSave": "是否確認保存?", + "assembledQuantity": "已組裝數量", + "enterProductionItem": "請輸入生產物", + "noDataFound": "查無資料", + "selectOrEnterProductionItemFirst": "請先選擇或輸入生產物", + "addComponent": "新增元件", + "selectDataToRemove": "請勾選要移除的資料", + "removeComponent": "移除元件", + "noMaterialInformationCannotSave": "無料件資訊無法保存", + "transferWarehouseCannotBeEmpty": "料件批號 {item} 的轉入倉庫不可為空", + "removalQuantityCannotBeEmpty": "料件批號 {item} 的移除數量不可為空", + "removalQuantityMustBeGreaterThanZero": "料件批號 {item} 的移除數量必須大於0", + "removalQuantityCannotExceedAssembledQuantity": "料件批號 {item} 的移除數量不可大於已組裝數量", + "materialBatchNumberCannotBeEmpty": "料件批號不可為空", + "materialBatchNoWarehouseCannotBeEmpty": "料件批號 {item} 倉庫不可為空", + "materialBatchNoAdditionQuantityCannotBeEmpty": "料件批號 {item} 新增數量不可為空", + "materialBatchNoAdditionQuantityMustBeGreaterThanZero": "料件批號 {item} 新增數量必須大於0", + "removalSuccessful": "移除成功", + "removalQuantity": "移除數量", + "additionQuantity": "新增數量", + "warehouseDescription": "倉庫說明", + "pleaseSelectOrEnterProductionItem": "請先選擇或輸入生產物", + "removalQuantityMustBeNumber": "料件批號 {item} 的移除數量需為數字", + "additionQuantityMustBeNumber": "料件批號 {item} 的新增數量需為數字", + "prdLineNotExist": "產線 {prdLine} 不存在", + "prdLineNotAllowedForPodReporting": "{prdLine} 非產線,不可由此POD報工", + "lotNoNotExist": "Lot No {lotNo} 不存在", + "pdcDataCollection": "PDC資料收集", + "scheduledTime": "預訂時間", + "departureTime": "出發時間", + "arrivalTime": "到達時間", + "showOnlyTransportingCarts": "只顯示搬運中台車", + "sourceAreaLocation": "來源區域(位置)", + "destinationAreaLocation": "目的區域(位置)", + "avgNumber": "AVG編號", + "scheduleName": "排程名稱", + "scheduledDateStartCannotBeLaterThanEnd": "預定日期起始時間不可大於結束時間", + "scheduledDateRangeCannotExceed30Days": "預定日期區間不可超過30天", + "departureDateStartCannotBeLaterThanEnd": "出發日期起始時間不可大於結束時間", + "departureDateRangeCannotExceed30Days": "出發日期區間不可超過30天", + "arrivalDateStartCannotBeLaterThanEnd": "到達日期起始時間不可大於結束時間", + "arrivalDateRangeCannotExceed30Days": "到達日期區間不可超過30天", + "carrierCategory": "載具類別", + "carrierCategoryDescription": "載具類別說明", + "noCheckItemSelected": "無勾選此檢查項目", + "equipment": "設備", + "operation": "工序", + "needsCertification": "需要上崗", + "inspectionResult": "檢查結果", + "toolSetup": "工具上機", + "materialComplete": "物料齊套", + "equipmentAssemblyOperation": "設備組合作業", + "material": "物料", + "loadingQuantity": "上料數量", + "standardQuantity": "標準數量", + "confirmProductionStart": "確定開線", + "cancelProductionStart": "取消開線", + "productionStartCheckResult": "開線檢結果", + "staffOnDuty": "人員上崗", + "singleBatchUSNCheckIn": "單批 USN 進站", + "singleBatchUSNCheckOut": "單批 USN 出站", + "multipleBatchUSNCheckIn": "多批 USN 進站", + "multipleBatchUSNCheckOut": "多批 USN 出站", + "confirmCheckIn": "是否確定 USN {lotNo} 進站", + "confirmCheckOut": "是否確定 USN {lotNo} 出站", + "keyCheckInOperation": "{key} 進站作業", + "keyCheckOutOperation": "{key} 出站作業", + "keyFailedOperation": "{key} 不合格作業", + "operationCustomDataNotPack": "工序 {operation} 的自訂資料 CHECK_IN_OPERATION 不為 PACK,請先進行維護", + "dataRetrievalChanged": "檢索資料已變更,將重新進行檢索" +} diff --git a/src/locale/i18n/zh_tw/mes/wms.json b/src/locale/i18n/zh_tw/mes/wms.json new file mode 100644 index 0000000..e4af3a9 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/wms.json @@ -0,0 +1,318 @@ +{ + "alreadyInbound": "已入庫", + "confirmed": "已確認", + "stockinType": "入庫類型", + "stockinQuantity": "入庫數量", + "rawMaterialInboundOrderNo": "原料入庫單號", + "rawMaterialInboundAdd": "原料入庫單-新增", + "rawMaterialInboundEdit": "原料入庫單-編輯", + "rawMaterialInboundDetailAdd": "原料入庫單明細-新增", + "purchaseOrderAdd": "採購單-新增", + "purchaseOrder": "採購單", + "purchaseOrderDetailAdd": "採購單明細-新增", + "purchaseDetailEdit": "採購明細-編輯", + "outInv": "出庫倉庫", + "inInv": " 入庫倉庫", + "outInvNo": "出庫倉庫編號", + "outInvDesc": "出庫倉庫說明", + "inInvNo": "入庫倉庫編號", + "inInvNoDesc": "入庫倉庫說明", + "documentStatus": "單據狀態", + "documentToDate": "~", + "addDetails": "新增明細", + "defectiveGoodsInbound": "不良品入庫", + "inboundOrderAdd": "入庫單-新增", + "inboundOrderEdit": "入庫單-編輯", + "inboundOrderConfirm": "入庫單-確認", + "confirmDeletion": "是否刪除入庫單", + "workOrderReturnAdd": "工單退料單-新增", + "workOrderReturnEdit": "工單退料單-編輯", + "inputFirst": "請先輸入", + "selectFirst": "請先選擇", + "enterSerialNumber": "請輸入序號", + "is": "的", + "transferLocationsCannotBeSame": "轉出倉庫/儲位 與 轉入倉庫/儲位 不可相同", + "returnQuantityMustBeGreaterThanZero": "退料數量必須大於0", + "errorMessage": { + "documentStartDate": "單據日期(起)不可大於單據日期(迄)", + "startDateGreaterThanEndDate": "製造日期(起)不可大於製造日期(迄)", + "manufactureDateCannotExceedExpiryDate": "製造日期不可大於到期日", + "documentDateRange": "單據日期區間不可大於30天", + "documentStartDateRequired": "單據日期(起)不可為空", + "documentEndDateRequired": "單據日期(迄)不可為空", + "documentStartEndDateError": "單據日期起始時間不可大於結束時間", + "clauseOneInput": "至少要輸入一項條件", + "noSuchLotNo": "無此 Lot No『{lotNo}』", + "noSuchMaterialBatchNumber": "無此 料件批號『{MaterialBatchNumber}』", + "lotNoNotEnabled": "Lot No 不是啟用狀態, 不可執行分批", + "MaterialBatchNumberNotEnabled": "料件批號 不是啟用狀態, 不可執行分批", + "MaterialBatchNumberNotFeeding": "料件批號 不是啟用狀態, 不可執行上料", + "quantityNotEmpty": "數量不可為空", + "batchQuantityGreaterThanOne": "分批數量必須大於1", + "batchQuantityLessThanExisting": "分批數量必須小於現有數量", + "newBatchNumberCannotBeSameAsOld": "新批號不可與舊批號重複", + "createReturnDetails": "請建立退料明細", + "confirmExecutionOfReturnOrder": "是否要執行退料單確認", + "purchaseOrderItemExists": "採購單『{purchaseNo}』,料號『{item}』已存在。" + }, + "messages": { + "saveFailure": "保存失敗", + "confirmSuccess": "確認成功", + "confirmFailure": "確認失敗", + "pickLotNo": "挑選 Lot No", + "checkLotNo": "請勾選 LotNo", + "clauseOneFilling": "至少需要填寫一個輸入框", + "lotNoStorageDuplicate": "Lot No \"{lotNo}\" 與儲位 \"{storageNo}\" 重複", + "selectOutWarehouseFirst": "請先選擇 出庫倉庫編號", + "selectInWarehouseFirst": "請先選擇 入庫倉庫編號", + "duplicateEntry": "序號 \"{firstIndex}\" 和 \"{secondIndex}\", Lot No \"{materialLot}\", 儲位 \"{storageNo}\" 重複", + "selectWarehouseReceipt": "請選擇入庫單", + "selectTypeAndWarehouseFirst": "請先選擇入庫類型和出庫倉庫編號", + "selectStockInTypeFirst": "請先選擇入庫類型", + "selectStockInMessageFirst": "請先選擇入庫訊息", + "lotNoExportSuccess": "Lot No 清單匯出成功", + "MaterialBatchNumberExportSuccess": "料件批號 清單匯出成功", + "ExportSuccess": "匯出成功", + "rackingSuccess": "上架成功", + "unshelvingSuccess": "下架成功", + "selectLotNoForRack": "請勾選要上架的 Lot No", + "selectLotNoForUnrack": "請勾選要下架的 Lot No", + "lotNoFieldEmpty": "Lot No『{lotNo}』的{field}不可為空", + "materialBatchNumberFieldEmpty": "料件批號『{materialBatchNumber}』的 {field} 不可為空", + "enterWarehouseNo": "請先輸入下料倉庫編號", + "enterRack": "請先輸入下料貨架", + "emptyLocation": "下料貨位不可為空", + "confirmUnloading": "是否確定下料?", + "unloadingSuccess": "下料成功", + "enterDischargeQuantity": "請輸入下料數量", + "selectMaterialBatchNumberForRack": "請勾選要上架的 料件批號", + "selectMaterialBatchNumberForUnrack": "請勾選要下架的 料件批號", + "loadingQuantityNotEmpty": "上料數量不可為空", + "loadingSuccess": "上料成功", + "loadingQuantityExceedsStock": "上料數量不可大於庫存數量", + "doNotEmpty": "不可為空", + "totalSplitQuantityNotEqualOriginal": "分批數量加總不等於原料件批號數量", + "confirmBatchOperation": "確定執行分批次工作嗎?", + "mismatchAfterUnpacking": "收料單號『{receiptNo}』,項次『{seq}』,拆包後總數與拆包前數量不符", + "quantityAfterUnpackingNotEmpty": "拆包後數量不可為空", + "createPurchaseItem": "請建立採購項次", + "confirmPurchaseOrderChange": "採購單號『{purchascefeNo}』確認後即不可再更改明細項次, 是否確定?", + "confirmDeletePurchaseOrder": "採購單號『{purchaseNo}』是否確定刪除?", + "confirmInvalidatePurchaseOrder": "採購單號『{purchaseNo}』是否確定作廢?" + }, + "defectiveGoodsWarehouse": "不良品倉", + "defectiveGoodsWarehouseShelving": "不良品倉上架作業", + "defectiveGoodsUnshelving": "不良品倉下架作業", + "defectiveGoodsInTemporaryWarehouse": "不良品暫存倉", + "defectiveGoodsInTemporaryWarehouseShelving": "不良品暫存倉上架作業", + "defectiveGoodsInTemporaryUnshelving": "不良品暫存倉下架作業", + "GoodsInTemporaryWarehouse": "良品暫存倉", + "GoodsInTemporaryWarehouseShelving": "良品暫存倉上架作業", + "GoodsInTemporaryUnshelving": "良品暫存倉下架作業", + "loadingQuantity": "上料數量", + "confirmations": { + "confirmDeleteReturnOrderDetail": "是否刪除退料單號『{inNo}』,同一收料單『{receiptNo}』,同一項次『{seq}』的入庫單明細?", + "confirmStockInOrderExecution": "是否要執行入庫單確認", + "deleteDetail": "是否刪除此筆入庫明細?", + "executeRacking": "確定執行上架作業嗎?", + "executeUnshelving": "確定執行下架作業嗎?", + "removeLotNo": "確定移除此筆 Lot No『{lotNo}』嗎?", + "removeMaterialBatchNumber": "確定移除此筆 料件批號『{MaterialBatchNumber}』嗎?", + "confirmLoading": "是否確定上料至『{newResource}』?", + "confirmDeletionOfReturnOrderDetail": "是否刪除此筆退料單明細" + }, + "finishedGoodsWarehouse": "成品倉", + "finishedGoodsWarehouseShelving": "成品倉上架作業", + "finishedGoodsWarehouseUnshelving": "成品倉下架作業", + "finishedGoodsInTemporaryWarehouse": "成品暫存倉", + "finishedGoodsInTemporaryWarehouseShelving": "成品暫存倉上架作業", + "finishedGoodsInTemporaryUnshelving": "成品暫存倉下架作業", + "lineSideWarehouseShelving": "線邊倉上架作業", + "lineSideWarehouseUnshelving": "線邊倉下架作業", + "lineSideWarehouseBatchOperation": "線邊倉分批次工作", + "materialWarehouse": "原料倉", + "materialWarehouseShelving": "原料倉上架作業", + "materialWarehouseUnshelving": "原料倉下架作業", + "equipmentLoading": "設備上料", + "rawMaterialUnpacking": "原料拆包作業", + "minimumPackingNumber": "最小包裝數", + "unpackingSuccess": "拆包成功", + "enterMinimumPackagingNumber": "請輸入最小包裝數", + "tableObj": { + "lotNo": "Lot No", + "warehouseQty": "庫存數量", + "warehouseTotalQty": "總庫存數量", + "transferOutWarehouse": "轉出倉庫", + "transferOutStorageNo": "轉出儲位", + "transferInWarehouse": "轉入倉庫", + "transferInStorageNo": "轉入儲位", + "rackNo": "貨架編號", + "rack": "貨架", + "locationNo": "貨位", + "kind": "倉庫類型", + "batchNumberPrinciple": "批號原則", + "batchingPrinciple": "分批原則" + }, + "validation": { + "numberGreaterThanZero": "下料數量必須大於0" + }, + "alreadyListed": "已上架", + "notListed": "未上架", + "putOnShelf": "上架", + "takeOffShelf": "下架", + "numberOfEntries": "筆數", + "errors": { + "rackNumberEmpty": "Lot No『{lotNo}』的貨架編號不可為空", + "locationNumberEmpty": "Lot No『{lotNo}』的貨位不可為空", + "storageNumberEmpty": "Lot No『{lotNo}』的儲位不可為空" + }, + "loadingTime": "上料時間", + "feeding": "上料", + "originalWarehouseNumber": "原倉庫編號", + "originalRackNoNumber": "原貨架編號", + "originalLocation": "原貨位", + "originalStorage": "原儲位", + "unloadMaterial": "下料", + "warehouse": "倉庫", + "supplierBatch": "供應商批號", + "dateExp": "到期日", + "creator": "建立人員", + "quantityBeforeUnpacking": "拆包前數量", + "quantityAfterUnpacking": "拆包後數量", + "returnMaterialOrderNumber": "退料單號", + "returnQuantity": "退料數量", + "staffNumber": "人員編號", + "receivingDetailConfirmation": "收料明細-確認", + "receivingDetailAttachment": "收料明細-附件", + "receivingDetailAdd": "收料明細-新增", + "samplingPlan": "抽樣計劃", + "specialProcurement": "特採", + "exemptFromInspection": "免驗", + "receivingStaff": "收料人員", + "receivingTime": "收料時間", + "warehousing": "入庫", + "qualified": "合格", + "uninspected": "未檢驗", + "specialProcurementDescription": "特采說明", + "confirmPerson": "確認人員", + "confirmTime": "確認時間", + "shouldDrawNumber": "應抽數", + "okNumber": "OK數", + "ngNumber": "NG數", + "isSpecialProcurement": "是否特采", + "inspectionTime": "檢驗時間", + "shouldDrawNumberMustBeGreaterThanZero": "應抽數必須大於0", + "allowableReturnNumberMustBeGreaterThanZero": "允退數必須大於0", + "inspectionQuantityDoesNotMatchSamplingQuantity": "檢驗數量不符抽樣數量", + "inspectionWorkNotCompleted": "檢驗作業未完成", + "specialProcurementDescriptionCannotBeEmpty": "特采說明不可為空", + "milStd105ETable": "MIL-STD-105E表", + "editDetails": "編輯明細", + "createReceivingItem": "請建立收料項次", + "allItemsInReceivingOrderExemptFromInspection": "收料單中項次均為免驗, 收貨後不得作廢收料單, 是否確定收貨?", + "isPurchaseOrderNumberSureToBeVoided": "採購單號{purchaseNo}是否確定作廢", + "damageQuantity": "破壞數量", + "retentionQuantity": "留樣數量", + "purchaseQuantity": "採購數量", + "receivedMaterialQuantity": "已收料數量", + "receivingOrderDetailEdit": "收料單明細-編輯", + "receivingOrderDetailNew": "收料單明細-新增", + "receivingOrderAdd": "收料單-新增", + "receivingQuantityCannotBeEmpty": "收料數量不可為空", + "numberOfEntriesMustBeGreaterThanZero": "筆數需大於0", + "itemNumber": "料件編號{item}", + "returnableStockQuantity": "可退庫數量", + "returnStockQuantity": "退庫數量", + "rawMaterialWarehouseReturn": "原料倉退回", + "defectiveGoodsWarehouseReturn": "不良品倉退回", + "returnOrderAdd": "退庫單-新增", + "returnOrderEdit": "退庫單-編輯", + "createReturnDetail": "請建立退庫明細", + "executeReturnOrderConfirmation": "是否要執行退庫單確認?", + "deleteReturnOrder": "是否刪除退庫單『 {returnNo} 』?", + "returnType": "退庫類型", + "returnOrderDetail": "退庫單明細", + "returnOrderDetailAdd": "退庫單明細-新增", + "enterReturnQuantityForItem": "請輸入序號『{index}』,料件批號『{materialLot}』的退庫數量", + "returnQuantityForItemMustBeGreaterThanZero": "序號『{index}』,料件批號『{materialLot}』的退庫數量必須大於0", + "materialLotAndStorageNoDuplicate": "料件批號『{materialLot}』,儲位『{storageNo}』重複,請合併為一筆", + "returnOrderSavedSuccessfully": "退庫單儲存成功", + "areYouSureToDeleteThisReturnDetail": "是否刪除此筆退庫明細?", + "issueOrderAdd": "發料單-新增", + "issueOrderDetailEdit": "發料單明細-編輯", + "issueOrderDetailAdd": "發料單明細-新增", + "createIssueDetail": "請建立發料明細", + "executeIssueOrderConfirmation": "是否要執行發料單確認?", + "deleteIssueOrder": "是否刪除發料單『 {issueNo} 』?", + "issueQuantity": "發料數量", + "issueOrderNumber": "發料單號", + "mtlIssueOrderNo": "發料單號", + "availableIssueQuantity": "可發料數量", + "enterIssueQuantityForItem": "請輸入序號『{index}』,料件批號『{materialLot}』的發料數量", + "issueQuantityForItemMustBeGreaterThanZero": "序號『{index}』,料件批號『{materialLot}』的發料數量必須大於0", + "enterTransferInWarehouseForItem": "請輸入序號『{index}』,料件批號『{materialLot}』的轉入倉庫", + "transferInWarehouseForItemCannotEqualTransferOut": "序號『{index}』,料件批號『{materialLot}』的轉入倉庫不可等於轉出倉庫", + "enterIssueWorkOrderForItem": "請輸入序號『{index}』,料件批號『{materialLot}』的發料工單", + "areYouSureToDeleteThisIssueDetail": "是否刪除此筆發料明細?", + "inventoryOrderNumber": "盤點單號", + "inventoryType": "盤點類型", + "login": "登錄", + "inventoryInProgress": "盤點中", + "initialCountQuantity": "初盤數量", + "recountQuantity": "複盤數量", + "inventoryShortage": "盤虧", + "inventoryPlan": "盤點計畫", + "executionDate": "執行日期", + "initialCountDate": "初盤日期", + "voidDate": "作廢日期", + "initialCountPersonnel": "初盤人員", + "voidPersonnel": "作廢人員", + "recountDate": "複盤日期", + "recountPersonnel": "複盤人員", + "plannedDate": "計畫日期", + "createInventoryOrderDetail": "請建立盤點單明細", + "executeInventoryOrderConfirmation": "是否要執行盤點單確認?", + "executeInventoryOrderVoid": "是否要執行盤點單作廢?", + "executeInventoryOrderDeletion": "是否要執行盤點單刪除?", + "inventoryOrderCompletionWillAdjustStock": "盤點單完成會依盤點盈虧自動調整庫存,是否要執行盤點單完成?", + "inventoryCompleted": "盤點完成", + "initialCountNotConfirmedCannotComplete": "初盤尚未確定,不可執行完成", + "recountNotConfirmedCannotComplete": "複盤尚未確定,不可執行完成", + "plannedStartDateCannotExceedEndDate": "計畫日期(起)不可大於計畫日期(迄)", + "plannedDateRangeCannotExceed30Days": "計畫日期區間不可大於30天", + "selectMaterialLotNumber": "挑選料件批號", + "pleaseCheckMaterialLotNumber": "請勾選料件批號", + "inventoryConfirmation": "盤點確定", + "inventoryDetails": "盤點明細", + "inventoryRegistration": "盤點登錄", + "noMaterialLotNumberInWarehouse": "倉庫『{invNo}』無此料件批號", + "initialCount": "初盤", + "recount": "複盤", + "confirmNoMoreInputOfQuantity": "確定後不可再輸入{msg}數量,是否要執行盤點確認?", + "inventoryDetailSavedSuccessfully": "盤點明細儲存成功", + "areYouSureToDeleteThisInventoryDetail": "是否刪除此筆盤點明細?", + "initialCountQuantityCannotBeEmpty": "序號『{seq}』,初盤數量不可為空", + "planDateFormatError": "計畫日期格式錯誤", + "planDateCannotBeEarlierThanCurrentDate": "計畫日期不可小於當前日期", + "inventoryPlanSavedSuccessfully": "盤點計畫儲存成功", + "transferOrderNumber": "調撥單號", + "deleteTransferOrder": "是否刪除調撥單『 {transferNo} 』?", + "executeTransferOrderConfirmation": "是否要執行調撥單確認?", + "transferQuantity": "調撥數量", + "availableTransferQuantity": "可調撥數量", + "transferOrderAdd": "調撥單-新增", + "transferOrderEdit": "調撥單-編輯", + "materialLotStorageInvDuplicate": "料件批號『{materialLot}』,儲位『{storageNo}』,轉入倉庫『{invNo}』重複,請合併為一筆", + "pleaseSelectTransferOrderDetail": "請選擇調撥單明細", + "transferQuantityExceedsAvailable": "料件批號『{materialLot}』的調撥數量超過可調撥數量", + "enterTransferQuantityForItem": "請輸入序號『{index}』,料件批號『{materialLot}』的調撥數量", + "transferQuantityForItemMustBeGreaterThanZero": "序號『{index}』,料件批號『{materialLot}』的調撥數量必須大於0", + "areYouSureToDeleteThisTransferDetail": "是否刪除此筆調撥明細?", + "feedingWarehouseNumber": "下料倉庫編號", + "feedingStorageLocation": "下料儲位", + "feedingQuantity": "下料數量", + "invType": { + "0": "立庫", + "1": "平庫" + } +} diff --git a/src/locale/i18n/zh_tw/mes/wmst.json b/src/locale/i18n/zh_tw/mes/wmst.json new file mode 100644 index 0000000..9c93ac4 --- /dev/null +++ b/src/locale/i18n/zh_tw/mes/wmst.json @@ -0,0 +1,131 @@ +{ + "packingListNo": "包裝清單號碼", + "invType": "倉庫類別", + "packingDate": "包裝日期", + "nonConformingOperation": "不良工序", + "packListBuild": "包裝清單建立", + "packingDetail": "包裝明細", + "itemMaterialDesc": "料件描述", + "confirmCreateNewPackingList": "是否確定創建新包裝清單?", + "packingListCreateSuccess": "包裝清單建立成功,包裝清單單號:{data}", + "selectLotNoNeedPack": "請選擇需要包裝的lotNo", + "packDetailCreateSuccess": "添加包裝明細成功", + "confirmDelPackList": "是否確定刪除包裝清單?", + "confirmDelPackDetail": "是否確定刪除此包裝明細?", + "confirmLotNotInSearchList": "LOT[ {lotNo} ]不在檢索清單中,請確認!", + "lotNoGoodResultBINLevel": "該lot無GOOD結果的BIN等級", + "lotNoFailResultBINLevel": "該lot無Fail結果的BIN等級", + "noDetail": "無明細", + "awaitShip": "待出貨", + "shipped": "已出貨", + "BINFinishedGoodsWarehouse": "BIN成品倉", + "BINNonConformingGoodsWarehouse": "BIN不良品倉", + "tempWarehouseCreateDate": "暫存倉入庫日期", + "warehouseEntryConfirm": "確認入庫", + "restart": "重新上線", + "warehouseEntryDate": "入庫日期", + "routerDesc": "途程描述", + "finishGoodInvNo": "成品倉庫編號", + "finishedGoodsWarehouseNumberRequired": "成品倉庫編號不得為空", + "restartRouter": "重新上線途程", + "restartOperation": "重新上線工序", + "cannotBeEmpty": "不得為空", + "routerProcess": "途程步驟", + "confirmRestart": "是否確定重新上線?", + "restartSuccessGenLot": "重新上線成功,產生新lot:{data}", + "confirmReceiveInv": "是否確定入庫至{invNo}", + "warehouseEntrySuccess": "入庫成功", + "checkEntryWareLotNo": "請勾選入庫的LotNo", + "selectSameOrderLotNo": "需勾選相同工單編號的LotNo", + "selectSameUserPartLotNo": "需勾選相同客戶料號的LotNo", + "selectSameUserNoLotNo": "需勾選相同客戶編號的LotNo", + "selectSameUserLotNo": "需勾選相同客戶批號的LotNo", + "shippingOrderNo": "出貨單號", + "shippingDate": "出貨日期", + "packListNo": "包裝清單單號", + "shippingListNo": "出貨清單號碼", + "shippingOrderCreate": "出貨單建立", + "shippingAddress": "出貨地址", + "packList": "包裝清單", + "listNo": "清單編號", + "packListCreateSuccess": "添加包裝單成功", + "confirmCreateNewShipOrder": "是否確定創建新出貨單?", + "shipOrderCreateSuccess": "出貨單建立成功,出貨單單號:{data}", + "confirmVoidShippingOrder": "是否確定作廢出貨單?", + "confirmShip": "是否確定出貨?", + "shipOrderShippingSuccess": "出貨單出貨成功", + "confirmPackListInSearch": "包裝清單[ {packNo} ]不在檢索清單中,請確認!", + "itemReceiptDetail": "收料明細", + "samplePlan": "抽樣計畫", + "qtyDieMustMoreThan0": "Die數必須大於0", + "inputKeyFrontFour": "請輸入{checkKey}前四碼", + "BINDistribution": "BIN分佈", + "CATDistribution": "CAT分佈", + "voidedInvNo": "報廢倉庫編號", + "confirmEdit": "是否確定修改?", + "totalFixEqualBINTotal": "數量調整總數需等於BIN分佈的總數", + "totalFixEqualCATTotal": "數量調整總數需等於CAT分佈的總數", + "inputRestartAmountLot": "LotNo {materialLot} 請輸入重新上線數量", + "scrapAmountNotThanOriginAmountLot": "LotNo {materialLot} SCRAP數量不可大於原始數量", + "lossAmountNotThanOriginAmountLot": "LotNo {materialLot} LOSS數量不可大於原始數量", + "invEntryVoid": "報廢入庫", + "partNoQuery": "片號諮詢", + "nonConformingGoodsInvNo": "不良品倉編號", + "selectSameInvPartNo": "需勾選相同倉庫編號的片號", + "selectSameItemPartNo": "需勾選相同物料編號的片號", + "waferSize": "晶圓尺寸", + "waferFinishedGoodHouse": "Wafer成品倉", + "waferNonConformingGoodHouse": "Wafer不良品倉", + "receiveQty": "收料片數", + "sampleZone": "應抽區域", + "partSelect": "挑片", + "requireSamplePartMustBeGreaterThanZero": "應抽片數必須大於0", + "requireSampleZoneMustBeGreaterThanZero": "應抽區域必須大於0", + "requireSamplePointMustBeGreaterThanZero": "應抽點數必須大於0", + "checkWaferMarkingNoForInsp": "請勾選要檢驗的Wafer刻號", + "inspPartNotCorrespondSampleAmount": "檢驗片數不符應抽片數", + "waferMarkingNo": "Wafer刻號", + "generate": "產生", + "notFoundItemWaferSize": "找不到料件編號『{item}』對應的晶圓尺寸,請至產品生產參數配置維護WAFER_SIZE", + "waferListNotEmpty": "Wafer清單不可為空", + "waferSizeNeedTwoDigits": "晶圓尺寸必須為兩位數", + "waferMarkingFormatIncorrect": "Wafer刻號格式輸入錯誤", + "waferMarkingDuplicate": "Wafer刻號重複", + "dieNotFoundGoPrd": "查無Die數,請至產品配置作業進行配置", + "partNoInfo": "片號資訊", + "invTransfer": "倉庫調撥", + "storageTransfer": "儲位轉移", + "splitOperation": "分批次工作", + "itemReturnOperation": "退料作業", + "originAmount": "原始數量", + "currentAmount": "現有數量", + "targetInvNo": "目標倉庫編號", + "targetStorageNo": "目標儲位", + "transferAmount": "轉移數量", + "fixAmount": "修改數量", + "itemReturn": "退料", + "allocateAmountNeedThanZero": "調撥數必須大於0", + "targetInvNoNotEmpty": "目標倉庫編號不可為空", + "orginInvNoNotEqualTarget": "原倉庫編號與目標倉庫編號不可相同", + "confirmAllocateInv": "是否確定調撥至『 {invNo} 』倉庫?", + "allocateSuccess": "調撥成功", + "transferAmountNeedThanZero": "轉移數必須大於0", + "originTargetStorageNotEmpty": "原儲位與目標儲位不可都為空", + "originStorageNotEqualTarget": "原儲位與目標儲位不可相同", + "confirmTransferMsg": "是否確定轉移至『 {msg} 』?", + "transferSuccess": "轉移成功", + "proceedSplitFirst": "請先進行分批", + "totalAmountAfterSplitMustEqual": "分批後的數量總數必須等於現有數量", + "confirmReturnItem": "是否確定退料?", + "returnSuccess": "退料成功", + "fixAmountNeedThanZero": "修改數量必須大於0", + "splitAmountNotZero": "分批數量不可為0", + "currentQtyDie": "現有Die數", + "fixQtyDie": "修改Die數", + "unselectedPartNo": "未挑選片號", + "waferDieAmountFix": "Wafer Die數量調整", + "checkNeedAllocatePartNo": "請勾選需調撥的片號", + "checkNeedTransferPartNo": "請勾選需轉移的片號", + "allPartNoNeedIndicateUserLot": "所有片號均需指定客戶批號", + "checkRequiredReturnPartNo": "請勾選需退料的片號" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/mp.json b/src/locale/i18n/zh_tw/mp.json new file mode 100644 index 0000000..5232063 --- /dev/null +++ b/src/locale/i18n/zh_tw/mp.json @@ -0,0 +1,5 @@ +{ + "selectOfficialAccount": "請選擇公眾號", + "synchronize": "同步", + "syncStartedFromWeChat": "已開始從微信同步標籤資訊,建議等待後查詢" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/page.json b/src/locale/i18n/zh_tw/page.json new file mode 100644 index 0000000..9ed376c --- /dev/null +++ b/src/locale/i18n/zh_tw/page.json @@ -0,0 +1,16 @@ +{ + "navigationSearch": "導航搜尋", + "noMenuFound": "沒有發現菜單", + "noErrorLogs": "沒有錯誤日誌", + "errorLogs": "條錯誤日誌", + "lockScreen": "鎖屏", + "exitFullscreen": "退出全屏", + "fullscreen": "全屏", + "userAvatar": "用戶頭像", + "userCenter": "用戶中心", + "log": "日誌", + "theme": "主題", + "themeColor": "主題色", + "zoom": "縮放", + "topMenu": "頂部菜單" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/rules.json b/src/locale/i18n/zh_tw/rules.json new file mode 100644 index 0000000..dca9dcf --- /dev/null +++ b/src/locale/i18n/zh_tw/rules.json @@ -0,0 +1,50 @@ +{ + "selectStorageType": "請選擇入庫類型", + "selectOutgoingWarehouseNumber": "請選擇出庫倉庫編號", + "selectIncomingWarehouseNumber": "請選擇入庫倉庫編號", + "enterItemNumber": "請輸入項次", + "enterQuantity": "請輸入數量", + "enterMaterialNumber": "請輸入料件編號", + "enterBatchNumber": "請輸入批次號碼", + "enterWarehouseNumber": "請輸入倉庫編號", + "enterDrawingNumber": "請輸入應抽數", + "enterAllowableReturnNumber": "請輸入允退數", + "enterOkNumber": "請輸入OK數", + "enterNgNumber": "請輸入NG數", + "enterPurchaseOrderNumber": "請輸入採購單號", + "selectReturnStorageType": "請選擇退庫類型", + "selectTransferOutWarehouse": "請選擇轉出倉庫", + "selectInventoryType": "請選擇盤點類型", + "enterInventoryPlan": "請輸入盤點計畫", + "enterPlanDate": "請輸入計畫日期", + "selectTransferIntoWarehouseType": "請選擇轉入倉庫類型", + "enterToolNumber": "請輸入工具編號", + "enterToolDescription": "請輸入工具說明", + "selectToolCategory": "請選擇工具類別", + "enterWorkSection": "請輸入工段", + "enterWorkCenter": "請輸入工作中心", + "enterEquipmentMajorCategory": "請輸入設備大類", + "enterEquipmentCategory": "請輸入設備類別", + "enterProcess": "請輸入工序", + "selectProcess": "請選擇工序", + "selectProductNumber": "請選擇產品編號", + "selectEquipmentCategory": "請選擇設備類別", + "enterInspectionType": "請輸入檢驗類型", + "enterInspectionFrequencyNumber": "請輸入檢驗頻率編號", + "enterInspectionItemNumber": "請輸入檢驗項目編號", + "selectInspectionItemType": "請選擇檢驗項目類型", + "selectInspectionItemStatus": "請選擇檢驗項目狀態", + "selectInspectionType": "請選擇檢驗類型", + "enterInspectionPlanNumber": "請輸入檢驗計畫編號", + "enterVersion": "請輸入版本", + "enterInspectionPlanDescription": "請輸入檢驗計畫說明", + "enterInspectionPersonnelGroup": "請輸入檢驗人員群組", + "selectInspectionPlanNumber": "請選擇檢驗計畫編號", + "selectProductionBatch": "請選擇生產批", + "selectProcessNumber": "請選擇工序編號", + "selectEquipmentNumber": "請選擇設備編號", + "enterDescription": "請輸入說明", + "selectProductionLine": "請選擇產線", + "selectItemCode": "請選擇物料編號", + "selectEquipment": "請選擇設備" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/tip.json b/src/locale/i18n/zh_tw/tip.json new file mode 100644 index 0000000..6279b48 --- /dev/null +++ b/src/locale/i18n/zh_tw/tip.json @@ -0,0 +1,9 @@ +{ + "select": "請選擇", + "input": "請輸入", + "successMessage": { + "deleteSuccess": "刪除成功", + "createSuccess": "添加成功", + "updateSuccess": "修改成功" + } +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/upload.json b/src/locale/i18n/zh_tw/upload.json new file mode 100644 index 0000000..3dd4715 --- /dev/null +++ b/src/locale/i18n/zh_tw/upload.json @@ -0,0 +1,4 @@ +{ + "upload": "點擊上傳", + "tip": "將文件拖到此處,或" +} \ No newline at end of file diff --git a/src/locale/i18n/zh_tw/wel.json b/src/locale/i18n/zh_tw/wel.json new file mode 100644 index 0000000..cbeb599 --- /dev/null +++ b/src/locale/i18n/zh_tw/wel.json @@ -0,0 +1,66 @@ +{ + "title": { + "login": "歡迎登入 iMES", + "smd": "生産環境配置", + "prd": "産品模型配置", + "ord": "工單維護", + "tds": "生産派工", + "bpr": "生産準備", + "wip": "生産管理", + "oee": "設備稼動管理", + "tms": "工具管理", + "hrs": "人員管理", + "mtl": "物料管理", + "alm": "警報管理系統", + "ecn": "工程變更管理", + "qms": "品質管理", + "abn": "異常管理", + "spc": "統計製程管理", + "iot": "設備自動化管理", + "rms": "設備參數管理" + }, + "smd": "配置實體上的工廠、工作中心、設備、工具等生產資源的模組", + "prd": "配置生產活動的模型,包含工段、工序、途程、產品及產品參數", + "ord": "IE-Plant接收到生產訂單的工單與工單BOM,並進行工單下達生成生產物。生產訂單(亦即為工單)是IE-Plant生產管理的重要目標,一張工單可以分多次做下達,在IE-Plant接收到發料後,可進行工單下達作業,工單下達作業中依據產品所配置的SFC標準批量數生成SFC", + "tds": "生管人員在生產前製定生產計畫,讓生產時可以有所依據。生產計畫的標的是製定工單在哪個時間中指定哪一個設備上生產。生產時作業人員應以生產計畫為依據進行生產,生產後可以將計劃與實際生產時間作分析,藉此檢討可能延誤的原因", + "bpr": "生產準備是將生產所需的人、機、料等作業資源進行生產前的準備,生產準備流程包含:發料流程進行物料的準備以及人員上下崗流程進行人員的準備。發料流程自ERP將物料以工單發料或庫存調撥方式拋轉至IE-Plant,使生產可於齊料的狀態下進行", + "wip": "生產作業員可使用作業界面,依照規範使用功能,完成標準報工且記錄製造資訊,以達到生產事前準備、事中控制、事後分析的目的,生產過程中包含多種報工模式、檢驗作業、委外加工、包裝作業等生產管理節點", + "oee": "評量生產設施有效運作的指標,包含設備農作物動率、生產效率與生產良率等三項子指標,此模組提供配置稼動率的稼動計算標準,也支持設備稼動配置與切換。整體設備效率也可以作為關鍵績效指標與精益生產的效率指標", + "tms": "掌控模治具目前狀態與壽命現況,避免不合規的模治具造成生產的損失,包括了現況管理、履歷管理、壽命管理、有效性管理、維修保養等五大工具管理支持", + "hrs": "管理系統上的使用者,包含:權限管理、資質管理、現況與稼動管理、工時計算、績效管理等", + "mtl": "針對車間所生產出貨成品,進行相關的料件表與專屬的製程參數配置,料件表部份包含半成品、客供料、耗材、委外件等類型與屬性的分類, 另外在製程與工序中則涵蓋了相關製程所屬的產品參數與設備配方的配置,完整建構後可依配置進行標準的產品生產製程", + "alm": "接收不同的系統所發送事件,透過事前配置的事件警報程序,將警報發送到相關人員手上,ALM支持推撥警報機制(Ex. 企業微信、釘釘、LINE、Twitter) 也支援郵件、簡訊或是設備三色燈、警示燈等等的警報通知", + "ecn": "當客戶指示或是因工程需要時,可透過工程變更單來變更生產條件,在工程變更單建立時,需指定此次要變更的範圍(如產品、工單、指定生產物),透過工程變更單維護設定好變更對象與變更項目後,工程變更單因此生效,並作用在整個生產活動上", + "qms": "PDCA的管理循環,透過事前的檢驗計畫配置,在各檢驗環節中進行檢驗作業,完成檢驗後的規格查核到後續的分析與決策,將QMS的PDCA循環做好落實可有效 提升工廠的生產良率,是業界相當重要的管理系統", + "abn": "異常管理模組主要銜接生產或檢驗發生問題後的處理過程,一般分為異常事件觸發、異常事件處理以及異常生產物解封等三個主要過程,主要目的在進行風險品的 閉環處理,以及透過8D程序對異常事件進行管控,以期逐步提升廠內的製程能力", + "spc": "透過資料的趨勢進行製程能力改善的方法,其主要方式是將製造業中的檢驗項目,依其要因收集資料,透過製程能力的分析與流程標準化,發掘過程中的異常,並立即採取改善措施,使過程恢復正常", + "iot": "將生產線上的設備依據其聯網能力將資料進行收集(含生產資訊、農作物資訊、Alarm),並整合執行層系統(Ex. MES系統)進行整體高效率、低成本的工廠運作", + "rms": "取代或管控人為進行設備參數的設定,避免人為疏忽或是生產中因誤操作機台造成工安或是生產物的損失,系統依據設備自動化的能力分為配方上傳下載的 全自動化管控,或單純進行參數核對(Parameter Compare),系統支援多要因的配方管理", + "login": "登入", + "loginSuccess": "登入成功", + "logout": "登出", + "logoutAlm": "確定要登出嗎?", + "sitePlaceholder": "請選擇租戶", + "homePage": "首頁", + "loginPage": "登入頁", + "lockScreenPage": "鎖屏頁", + "homePage1": "主頁", + "authorizationPage": "授權頁", + "returnToHomePage": "返回首頁", + "goBackToTheLastPage": "返回上一頁", + "closeOthers": "關閉其他", + "closeAll": "關閉全部", + "tokenStatusExpired": "令牌狀態已過期,請點擊重新登入", + "systemMessage": "系統提示", + "relogin": "重新登入", + "operationTooFrequent": "操作太頻繁,請勿重復請求", + "noPermissionForCurrentOperation": "當前操作沒有權限", + "resourceNotFound404": "資源不存在(404)", + "unboundLoginAccount": "未綁定登入帳號,請使用密碼登入後綁定", + "demoEnvironmentCannotOperate": "演示環境不能操作,如需了解請聯繫我們", + "usernameOrPasswordIncorrect": "用戶名不存在或密碼錯誤", + "captchaIncorrect": "驗證碼錯誤,請重新輸入", + "requestTooFrequent": "請求過於頻繁", + "demoEnvironmentNoPermission": "演示環境,沒有權限操作", + "systemUnknownError": "系統未知錯誤,請反饋給管理員" +} diff --git a/src/locale/i18n/zh_tw/wf.json b/src/locale/i18n/zh_tw/wf.json new file mode 100644 index 0000000..d5cc1c7 --- /dev/null +++ b/src/locale/i18n/zh_tw/wf.json @@ -0,0 +1,310 @@ +{ + "run": "運行", + "viewJson": "查看json", + "exportVueFile": "導出vue文件", + "copyCode": "復制代碼", + "dragOrSelectComponent": "從左側拖入或點選組件進行表單設計", + "selectGenerationType": "選擇生成類型", + "formName": "表單名稱", + "enterFormName": "請輸入表單名稱", + "inputComponent": "輸入型組件", + "selectComponent": "選擇型組件", + "layoutComponent": "布局型組件", + "codeCopiedToClipboard": "代碼已復制到剪切板,可粘貼。", + "codeCopyFailed": "代碼復制失敗", + "confirmClearAllComponents": "確定要清空所有組件嗎?", + "addForm": "添加表單", + "generationType": "生成類型", + "fileName": "文件名", + "enterFileName": "請輸入文件名", + "cancel": "取消", + "confirm": "確定", + "generationTypeCannotBeEmpty": "生成類型不能為空", + "page": "頁面", + "popup": "彈窗", + "resourceReference": "資源引用", + "refresh": "刷新", + "close": "關閉", + "jsFormatNotRecognized": "js格式不能識別,僅支持修改export default的對象內容", + "useExportDefault": "請使用export default", + "jsError": "js錯誤:{err}", + "exportFile": "導出文件", + "selectIcon": "選擇圖標", + "enterIconName": "請輸入圖標名稱", + "copyJson": "復制JSON", + "exportJsonFile": "導出JSON文件", + "jsonFormatErrorCheck": "JSON格式錯誤,請檢查", + "externalResourceReference": "外部資源引用", + "enterCssOrJsResourcePath": "請輸入 css 或 js 資源路徑", + "addOther": "添加其他", + "resourceAlreadyExists": "資源已存在", + "componentProperties": "組件屬性", + "formProperties": "表單屬性", + "componentType": "組件類型", + "selectComponentType": "請選擇組件類型", + "fieldName": "字段名", + "enterFieldName": "請輸入字段名", + "componentName": "組件名", + "enterTitle": "請輸入標題", + "placeholderHint": "占位提示", + "enterPlaceholderHint": "請輸入占位提示", + "startPlaceholder": "開始占位", + "endPlaceholder": "結束占位", + "formGrid": "表單柵格", + "gridInterval": "柵格間隔", + "layoutMode": "布局模式", + "horizontalAlignment": "水平排列", + "selectHorizontalAlignment": "請選擇水平排列", + "verticalAlignment": "垂直排列", + "labelWidth": "標簽寬度", + "enterLabelWidth": "請輸入標簽寬度", + "componentWidth": "組件寬度", + "enterComponentWidth": "請輸入組件寬度", + "defaultValue": "默認值", + "enterDefaultValue": "請輸入默認值", + "atLeastSelect": "至少應選", + "atMostSelect": "最多可選", + "prefix": "前綴", + "enterPrefix": "請輸入前綴", + "suffix": "後綴", + "enterSuffix": "請輸入後綴", + "prefixIcon": "前圖標", + "enterPrefixIconName": "請輸入前圖標名稱", + "select": "選擇", + "suffixIcon": "後圖標", + "enterSuffixIconName": "請輸入後圖標名稱", + "buttonIcon": "按鈕圖標", + "enterButtonIconName": "請輸入按鈕圖標名稱", + "optionDelimiter": "選項分隔符", + "enterOptionDelimiter": "請輸入選項分隔符", + "minRows": "最小行數", + "maxRows": "最大行數", + "minValue": "最小值", + "maxValue": "最大值", + "componentHeight": "組件高度", + "height": "高度", + "stepSize": "步長", + "stepCount": "步數", + "precision": "精度", + "buttonPosition": "按鈕位置", + "default": "默認", + "rightSide": "右側", + "maxInput": "最多輸入", + "enterCharacterLength": "請輸入字符長度", + "characters": "個字符", + "enableHint": "開啟提示", + "enterEnableHint": "請輸入開啟提示", + "disableHint": "關閉提示", + "enterDisableHint": "請輸入關閉提示", + "enableValue": "開啟值", + "enterEnableValue": "請輸入開啟值", + "disableValue": "關閉值", + "enterDisableValue": "請輸入關閉值", + "timeType": "時間類型", + "selectTimeType": "請選擇時間類型", + "fileFieldName": "文件字段名", + "enterFileFieldName": "請輸入上傳文件字段名", + "fileType": "文件類型", + "selectFileType": "請選擇文件類型", + "image": "圖片", + "video": "視頻", + "audio": "音頻", + "fileSize": "文件大小", + "enterFileSize": "請輸入文件大小", + "uploadUrl": "上傳地址", + "enterUploadUrl": "請輸入上傳地址", + "listType": "列表類型", + "buttonType": "按鈕類型", + "buttonText": "按鈕文字", + "enterButtonText": "請輸入按鈕文字", + "delimiter": "分隔符", + "enterDelimiter": "請輸入分隔符", + "timeRange": "時間段", + "enterTimeRange": "請輸入時間段", + "enterTimeFormat": "請輸入時間格式", + "timeFormat": "時間格式", + "option": "選項", + "optionName": "選項名", + "optionValue": "選項值", + "addOption": "添加選項", + "dataType": "數據類型", + "dynamicData": "動態數據", + "staticData": "靜態數據", + "apiAddress": "接口地址", + "enterApiAddress": "請輸入接口地址", + "dataPosition": "數據位置", + "enterLabelKeyName": "請輸入標簽鍵名", + "labelKeyName": "標簽鍵名", + "enterValueKeyName": "請輸入值鍵名", + "valueKeyName": "值鍵名", + "enterChildKeyName": "請輸入子級鍵名", + "childKeyName": "子級鍵名", + "addParent": "添加父級", + "button": "按鈕", + "enableColor": "開啟顏色", + "disableColor": "關閉顏色", + "showLabel": "顯示標簽", + "brandMark": "品牌烙印", + "allowHalfSelect": "允許半選", + "assistText": "輔助文字", + "showScore": "顯示分數", + "showBreakPoints": "顯示間斷點", + "rangeSelection": "範圍選擇", + "bordered": "是否帶邊框", + "colorFormat": "顏色格式", + "selectColorFormat": "請選擇顏色格式", + "componentSize": "組件尺寸", + "medium": "中等", + "small": "較小", + "mini": "迷妳", + "inputStatistics": "輸入統計", + "strictSteps": "嚴格步數", + "optionalLevel": "任選層級", + "multipleSelect": "是否多選", + "showFullPath": "展示全路徑", + "filterable": "可否篩選", + "clearable": "能否清空", + "showHint": "顯示提示", + "multipleFileSelect": "多選文件", + "autoUpload": "自動上傳", + "readOnly": "是否只讀", + "disabled": "是否禁用", + "searchable": "能否搜索", + "mandatory": "是否必填", + "layoutTree": "布局結構樹", + "regexValidation": "正則校驗", + "expression": "表達式", + "pleaseEnterRegex": "請輸入正則", + "errorMessage": "錯誤提示", + "pleaseEnterErrorMessage": "請輸入錯誤提示", + "addRule": "添加規則", + "formName1": "表單名", + "pleaseEnterFormName": "請輸入表單名", + "formModel": "表單模型", + "pleaseEnterDataModel": "請輸入數據模型", + "validationModel": "校驗模型", + "pleaseEnterValidationModel": "請輸入校驗模型", + "formSize": "表單尺寸", + "labelAlignment": "標簽對齊", + "leftAlignment": "左對齊", + "rightAlignment": "右對齊", + "topAlignment": "頂部對齊", + "pleaseEnterLabelWidth": "請輸入標簽寬度", + "gridSpacing": "柵格間隔", + "gridSpacingPlaceholder": "柵格間隔", + "disableForm": "禁用表單", + "formButton": "表單按鈕", + "showUncheckedComponentBorder": "顯示未選中組件邊框", + "date": "日", + "week": "周", + "month": "月", + "year": "年", + "datetime": "日期時間", + "daterange": "日期範圍", + "monthrange": "月範圍", + "datetimerange": "日期時間範圍", + "selectionComponent": "選擇型組件", + "pleaseEnterOptionName": "請輸入選項名", + "pleaseEnterOptionValue": "請輸入選項值", + "string": "字符串", + "number": "數字", + "add": "添加", + "delete": "刪除", + "isMultipleChoice": "是否多選", + "optionStyle": "選項樣式", + "categoryName": "分類名稱", + "pleaseEnterCategoryName": "請輸入分類名稱", + "categoryCode": "分類編碼", + "pleaseEnterCategoryCode": "請輸入分類編碼", + "reset": "重置", + "categoryNumber": "分類編號", + "remarks": "備註", + "categoryNameCannotBeEmpty": "分類名稱不能為空", + "categoryCodeCannotBeEmpty": "分類編碼不能為空", + "addCategoryProcess": "添加流程分類", + "editCategoryProcess": "修改流程分類", + "addSuccess": "新增成功", + "confirmDeleteCategory": "是否確認刪除【請填寫功能名稱】編號為 {categoryIds} 的數據項?", + "routeForm": "路由表單", + "formPrimaryKey": "表單主鍵", + "formType": "表單類型", + "dynamicForm": "動態表單", + "details": "詳情", + "pleaseEnterRemarks": "請輸入備註", + "routeComponent": "路由組件", + "formContent": "表單內容", + "formNameCannotBeEmpty": "表單名稱不能為空", + "formRouteCannotBeEmpty": "表單路由不能為空", + "formDetails": "表單詳情", + "areYouSureYouWantToClose": "確定要關閉嗎?關閉未保存的修改都會丟失!", + "editForm": "修改表單", + "confirmDeleteForm": "是否確認刪除表單編號為 {formIds} 的數據項?", + "modelId": "模型標識", + "pleaseEnterModelId": "請輸入模型標識", + "modelName": "模型名稱", + "pleaseEnterModelName": "請輸入模型名稱", + "processCategory": "流程分類", + "modelVersion": "模型版本", + "design": "設計", + "deploy": "部署", + "more": "更多", + "flowChart": "流程圖", + "history": "歷史", + "modelHistory": "模型歷史", + "setAsLatest": "設為最新", + "modelIdCannotBeEmpty": "模型標識不能為空", + "modelNameCannotBeEmpty": "模型名稱不能為空", + "pleaseSelectType": "請選擇類型", + "confirmSetAsLatestVersion": "是否確認將此版本設為最新?", + "addProcessModel": "新增流程模型", + "editProcessModel": "修改流程模型", + "processDesign": "流程設計 - ", + "saveModelAsNewVersion": "是否將此模型保存為新版本?", + "confirmDeleteModel": "是否確認刪除模型編號為 {modelIds} 的數據項?", + "bpmn20XmlFileImport": "bpmn20.xml文件導入", + "processId": "流程標識", + "pleaseEnterProcessId": "請輸入流程標識", + "processName": "流程名稱", + "pleaseEnterProcessName": "請輸入流程名稱", + "pleaseSelectStatus": "請選擇狀態", + "activate": "激活", + "suspend": "掛起", + "processVersion": "流程版本", + "deploymentTime": "部署時間", + "versionManagement": "版本管理", + "confirmDeleteSelectedItems": "是否確認刪除選中的數據項?", + "submissionTime": "提交時間", + "startDate": "開始日期", + "endDate": "結束日期", + "processNumber": "流程編號", + "processCategory1": "流程類別", + "currentNode": "當前節點", + "processStatus": "流程狀態", + "elapsedTime": "耗時", + "reInitiate": "重新發起", + "processDetails": "流程詳情", + "initiateProcess": "發起流程", + "confirmDeleteProcessDefinition": "是否確認刪除流程定義編號為 {ids} 的數據項?", + "subject": "主題", + "pleaseEnterSubject": "請輸入主題", + "receiveTime": "接收時間", + "taskNumber": "任務編號", + "taskNode": "任務節點", + "processInitiator": "流程發起人", + "addProcessDefinition": "添加流程定義", + "process": "辦理", + "sign": "簽收", + "approvalTime": "審批時間", + "circulationRecord": "流轉記錄", + "revoke": "撤回", + "initiator": "發起人", + "pleaseEnterInitiator": "請輸入發起人", + "ccNumber": "抄送編號", + "title": "標題", + "ccPrimaryKeyCannotBeEmpty": "抄送主鍵不能為空", + "processPrimaryKeyCannotBeEmpty": "流程主鍵不能為空", + "processNameCannotBeEmpty": "流程名稱不能為空", + "processCategoryPrimaryKeyCannotBeEmpty": "流程分類主鍵不能為空", + "taskPrimaryKeyCannotBeEmpty": "任務主鍵不能為空", + "userPrimaryKeyCannotBeEmpty": "用戶主鍵不能為空" +} diff --git a/src/locale/zh.js b/src/locale/zh.js new file mode 100644 index 0000000..755d2bb --- /dev/null +++ b/src/locale/zh.js @@ -0,0 +1,39 @@ +import admin from './i18n/zh/admin.json' +import common from './i18n/zh/common.json' +import crud from './i18n/zh/crud.json' +import date from './i18n/zh/date.json' +import el from './i18n/zh/el.json' +import form from './i18n/zh/form.json' +import gen from './i18n/zh/gen.json' +import iep from './i18n/zh/iep.json' +import language from './i18n/zh/language.json' +import menu from './i18n/zh/menu.json' +import mp from './i18n/zh/mp.json' +import rules from './i18n/zh/rules.json' +import tip from './i18n/zh/tip.json' +import upload from './i18n/zh/upload.json' +import wel from './i18n/zh/wel.json' +import page from './i18n/zh/page.json' +import wf from './i18n/zh/wf.json' +import mes from './i18n/zh/mes/index' + +export default { + admin, + common, + crud, + date, + el, + form, + gen, + ...iep, + language, + menu, + mp, + rules, + tip, + upload, + wel, + page, + wf, + mes, +} diff --git a/src/locale/zh_tw.js b/src/locale/zh_tw.js new file mode 100644 index 0000000..26a302e --- /dev/null +++ b/src/locale/zh_tw.js @@ -0,0 +1,39 @@ +import admin from './i18n/zh_tw/admin.json' +import common from './i18n/zh_tw/common.json' +import crud from './i18n/zh_tw/crud.json' +import date from './i18n/zh_tw/date.json' +import el from './i18n/zh_tw/el.json' +import form from './i18n/zh_tw/form.json' +import gen from './i18n/zh_tw/gen.json' +import iep from './i18n/zh_tw/iep.json' +import language from './i18n/zh_tw/language.json' +import menu from './i18n/zh_tw/menu.json' +import mp from './i18n/zh_tw/mp.json' +import rules from './i18n/zh_tw/rules.json' +import tip from './i18n/zh_tw/tip.json' +import upload from './i18n/zh_tw/upload.json' +import wel from './i18n/zh_tw/wel.json' +import page from './i18n/zh_tw/page.json' +import wf from './i18n/zh_tw/wf.json' +import mes from './i18n/zh_tw/mes/index' + +export default { + admin, + common, + crud, + date, + el, + form, + gen, + ...iep, + language, + menu, + mp, + rules, + tip, + upload, + wel, + page, + wf, + mes, +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..1a51f72 --- /dev/null +++ b/src/main.js @@ -0,0 +1,162 @@ +import 'babel-polyfill' +import 'classlist-polyfill' +import Vue from 'vue' + +import axios from './router/axios' +import VueAxios from 'vue-axios' +import App from './App' +import './permission' // 权限 +import './error' // 日志 +import './cache'//页面缓冲 +import '@/assets/iconFont' //icon +import '@/assets/ext/carbon.css' +import router from './router/router' +import store from './store' +import { loadStyle, downBlobFile, downMasterDataBlobFile } from './util' +import { validatenull } from './util/validate' +import * as urls from '@/config/env' +import { iconfontUrl } from '@/config/env' +import * as filters from './filters' // 全局filter +import ElementUI from 'element-ui' +import './styles/common.scss' +import AvueFormDesign from 'pig-avue-form-design' +import basicContainer from './components/basic-container/main' +import inputSelectDialog from './components/dialog/input-select-dialog' +import inputSelectCustDialog from './components/dialog/input-select-dialog-cust' +import topBar from './components/top-bar/main' +import moment from 'moment' +import AttachmentUpload from './components/attachment/index' +import '@/util/number-control.js' + +// 字典数据组件 +import DictResolver from '@/components/DictResolver' +// 字典标签组件 +import DictTag from '@/components/DictTag' + +import { codemirror } from 'vue-codemirror' +import 'codemirror/lib/codemirror.css' +// dhtmlx scheduler +import '@/dhtml/dhtmlxscheduler' +import i18n from './i18n' + +// vform 表单设计器 +import vform from '@/components/vform/VFormDesigner.umd.min.js' +import '@/components/vform/VFormDesigner.css' + +import CodeEditor from 'bin-code-editor'; + +/** work flow **/ +import flowFormJs from '@/views/flow-form/index.js' +import plugins from './plugins' // plugins +import './assets/icons' +import '@/assets/styles/index.scss' +import Pagination from '@/components/Pagination' +import Editor from '@/components/flowable/Editor' +import RightToolbar from '@/components/RightToolbar' +import FlowDictTag from '@/components/flowable/DictTag' +import DictData from '@/components/flowable/DictData' +import '@/util/ArrayPrototype' + +import iconPicker from 'e-icon-picker'; +import 'e-icon-picker/lib/symbol.js' // 基本彩色图标库 +import 'e-icon-picker/lib/index.css' // 基本样式,包含基本图标 +import 'font-awesome/css/font-awesome.min.css' // font-awesome 图标库 +import 'element-ui/lib/theme-chalk/icon.css' // element-ui 图标库 + + +Vue.component('Pagination', Pagination) +Vue.component('Editor', Editor) +Vue.component('RightToolbar', RightToolbar) +Vue.component('FlowDictTag', FlowDictTag) +DictData.install() + +import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from '@/utils/ruoyi' + +Vue.prototype.parseTime = parseTime +Vue.prototype.resetForm = resetForm +Vue.prototype.addDateRange = addDateRange +Vue.prototype.selectDictLabel = selectDictLabel +Vue.prototype.selectDictLabels = selectDictLabels +Vue.prototype.handleTree = handleTree + +Vue.use(flowFormJs) +Vue.use(plugins) +/** work flow **/ +Vue.use(iconPicker, { + FontAwesome: true, + ElementUI: true, + eIcon: true, // 自带的图标,来自阿里妈妈 + eIconSymbol: true, // 是否开启彩色图标 + addIconList: [], + removeIconList: [], + zIndex: 99999// 选择器弹层的最低层,全局配置 +}) + +// 挂载常用全局方法,import 引入 +Vue.prototype.validatenull = validatenull +Vue.prototype.downBlobFile = downBlobFile +Vue.prototype.downMasterDataBlobFile = downMasterDataBlobFile +Vue.prototype.$moment = moment + +DictResolver.install() + +Vue.use(CodeEditor) +Vue.use(codemirror) + +// 插件 json 展示 +Vue.use(router) +// 表单设计器 +Vue.use(AvueFormDesign) +//同时注册了v-form-designer、v-form-render等组件 +Vue.use(vform) + +window.axios = axios +Vue.use(VueAxios, axios) + +Vue.use(ElementUI, { + i18n: (key, value) => i18n.t(key, value), + size: 'small', + menuType: 'text' +}) + +Vue.use(AVUE, { + i18n: (key) => i18n.t(key), + size: 'small', + menuType: 'text' +}) +// 注册全局容器 +Vue.component('basicContainer', basicContainer) +Vue.component('DictTag', DictTag) + +Vue.component('attachment-upload', AttachmentUpload) +// 注册公用input弹出框 +Vue.component('input-select-dialog', inputSelectDialog) +Vue.component('input-select-dialog-cust', inputSelectCustDialog) + +// 注册公用固钉 +Vue.component('c-top-bar', topBar) +// 加载相关url地址 +Object.keys(urls).forEach(key => { + Vue.prototype[key] = urls[key] +}) + +// 加载过滤器 +Object.keys(filters).forEach(key => { + Vue.filter(key, filters[key]) +}) + +// 动态加载阿里云字体库 +iconfontUrl.forEach(ele => { + loadStyle(ele) +}) + +Vue.config.productionTip = false + +new Vue({ + i18n, + router, + store, + render: h => h(App) +}).$mount('#app') + +document.body.className = 'theme-default' diff --git a/src/mixins/color.js b/src/mixins/color.js new file mode 100644 index 0000000..7bc0952 --- /dev/null +++ b/src/mixins/color.js @@ -0,0 +1,168 @@ +import { mapGetters } from 'vuex' +const version = require('element-ui/package.json').version // element-ui version from node_modules +const ORIGINAL_THEME = '#409EFF' // default color +export default function() { + return { + data() { + return { + themeVal: ORIGINAL_THEME + } + }, + created() { + this.themeVal = this.theme + }, + watch: { + themeVal(val, oldVal) { + this.$store.commit('SET_THEME', val) + this.updateTheme(val, oldVal) + } + }, + computed: { + ...mapGetters(['theme']) + }, + methods: { + updateTheme(val, oldVal) { + if (typeof val !== 'string') return + const head = document.getElementsByTagName('head')[0] + const themeCluster = this.getThemeCluster(val.replace('#', '')) + const originalCluster = this.getThemeCluster(oldVal.replace('#', '')) + const getHandler = (variable, id) => { + return () => { + const originalCluster = this.getThemeCluster( + ORIGINAL_THEME.replace('#', '') + ) + const newStyle = this.updateStyle( + this[variable], + originalCluster, + themeCluster + ) + + let styleTag = document.getElementById(id) + if (!styleTag) { + styleTag = document.createElement('style') + styleTag.setAttribute('id', id) + head.appendChild(styleTag) + } + styleTag.innerText = newStyle + } + } + + const chalkHandler = getHandler('chalk', 'chalk-style') + + if (!this.chalk) { + const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css` + this.getCSSString(url, chalkHandler, 'chalk') + } else { + chalkHandler() + } + + const link = [].slice.call( + document.getElementsByTagName('head')[0].getElementsByTagName('link') + ) + for (let i = 0; i < link.length; i++) { + const style = link[i] + if (style.href.includes('css')) { + this.getCSSString(style.href, innerText => { + const originalCluster = this.getThemeCluster( + ORIGINAL_THEME.replace('#', '') + ) + const newStyle = this.updateStyle( + innerText, + originalCluster, + themeCluster + ) + let styleTag = document.getElementById(i) + if (!styleTag) { + styleTag = document.createElement('style') + styleTag.id = i + styleTag.innerText = newStyle + head.appendChild(styleTag) + } + }) + } + } + + const styles = [].slice.call(document.querySelectorAll('style')) + + styles.forEach(style => { + const { + innerText + } = style + if (typeof innerText !== 'string') return + style.innerText = this.updateStyle( + innerText, + originalCluster, + themeCluster + ) + }) + }, + updateStyle(style, oldCluster, newCluster) { + let newStyle = style + oldCluster.forEach((color, index) => { + newStyle = newStyle.replace(new RegExp(color, 'ig'), newCluster[index]) + }) + return newStyle + }, + + getCSSString(url, callback, variable) { + const xhr = new XMLHttpRequest() + xhr.onreadystatechange = () => { + if (xhr.readyState === 4 && xhr.status === 200) { + if (variable) { + this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, '') + } + callback(xhr.responseText) + } + } + xhr.open('GET', url) + xhr.send() + }, + + getThemeCluster(theme) { + const tintColor = (color, tint) => { + let red = parseInt(color.slice(0, 2), 16) + let green = parseInt(color.slice(2, 4), 16) + let blue = parseInt(color.slice(4, 6), 16) + + if (tint === 0) { + // when primary color is in its rgb space + return [red, green, blue].join(',') + } else { + red += Math.round(tint * (255 - red)) + green += Math.round(tint * (255 - green)) + blue += Math.round(tint * (255 - blue)) + + red = red.toString(16) + green = green.toString(16) + blue = blue.toString(16) + + return `#${red}${green}${blue}` + } + } + + const shadeColor = (color, shade) => { + let red = parseInt(color.slice(0, 2), 16) + let green = parseInt(color.slice(2, 4), 16) + let blue = parseInt(color.slice(4, 6), 16) + + red = Math.round((1 - shade) * red) + green = Math.round((1 - shade) * green) + blue = Math.round((1 - shade) * blue) + + red = red.toString(16) + green = green.toString(16) + blue = blue.toString(16) + + return `#${red}${green}${blue}` + } + + const clusters = [theme] + for (let i = 0; i <= 9; i++) { + clusters.push(tintColor(theme, Number((i / 10).toFixed(2)))) + } + clusters.push(shadeColor(theme, 0.1)) + return clusters + } + } + } +} diff --git a/src/page/index/index.vue b/src/page/index/index.vue new file mode 100644 index 0000000..a8c4f66 --- /dev/null +++ b/src/page/index/index.vue @@ -0,0 +1,159 @@ + + + + diff --git a/src/page/index/layout.vue b/src/page/index/layout.vue new file mode 100644 index 0000000..98bc019 --- /dev/null +++ b/src/page/index/layout.vue @@ -0,0 +1,10 @@ + diff --git a/src/page/index/logo.vue b/src/page/index/logo.vue new file mode 100644 index 0000000..8983e77 --- /dev/null +++ b/src/page/index/logo.vue @@ -0,0 +1,88 @@ + + + diff --git a/src/page/index/sidebar/config.js b/src/page/index/sidebar/config.js new file mode 100644 index 0000000..763b8e2 --- /dev/null +++ b/src/page/index/sidebar/config.js @@ -0,0 +1,8 @@ +export default { + propsDefault: { + label: 'label', + path: 'path', + icon: 'icon', + children: 'children' + } +} diff --git a/src/page/index/sidebar/index.vue b/src/page/index/sidebar/index.vue new file mode 100644 index 0000000..c937a72 --- /dev/null +++ b/src/page/index/sidebar/index.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/page/index/sidebar/sidebarItem.vue b/src/page/index/sidebar/sidebarItem.vue new file mode 100644 index 0000000..1b13540 --- /dev/null +++ b/src/page/index/sidebar/sidebarItem.vue @@ -0,0 +1,148 @@ + + diff --git a/src/page/index/tags.vue b/src/page/index/tags.vue new file mode 100644 index 0000000..db6f10d --- /dev/null +++ b/src/page/index/tags.vue @@ -0,0 +1,166 @@ + + diff --git a/src/page/index/top/index.vue b/src/page/index/top/index.vue new file mode 100644 index 0000000..c1dd7d3 --- /dev/null +++ b/src/page/index/top/index.vue @@ -0,0 +1,220 @@ + + + + diff --git a/src/page/index/top/top-color.vue b/src/page/index/top/top-color.vue new file mode 100644 index 0000000..331fd8c --- /dev/null +++ b/src/page/index/top/top-color.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/page/index/top/top-lock.vue b/src/page/index/top/top-lock.vue new file mode 100644 index 0000000..4f4508b --- /dev/null +++ b/src/page/index/top/top-lock.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/page/index/top/top-logs.vue b/src/page/index/top/top-logs.vue new file mode 100644 index 0000000..a98202a --- /dev/null +++ b/src/page/index/top/top-logs.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/page/index/top/top-menu.vue b/src/page/index/top/top-menu.vue new file mode 100644 index 0000000..5d8d7a7 --- /dev/null +++ b/src/page/index/top/top-menu.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/page/index/top/top-setting.vue b/src/page/index/top/top-setting.vue new file mode 100644 index 0000000..28ec55e --- /dev/null +++ b/src/page/index/top/top-setting.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/page/index/top/top-theme.vue b/src/page/index/top/top-theme.vue new file mode 100644 index 0000000..5dd7fec --- /dev/null +++ b/src/page/index/top/top-theme.vue @@ -0,0 +1,96 @@ + + + + + + diff --git a/src/page/init.js b/src/page/init.js new file mode 100644 index 0000000..910d10b --- /dev/null +++ b/src/page/init.js @@ -0,0 +1,104 @@ +export const indexList = [ + { + img: 'img_system_blue.jpg', + title: 'wel.title.smd', + name: 'SMD(Site Modeling)', + content: 'wel.smd', + }, + { + img: 'img_box_green.jpg', + title: 'wel.title.prd', + name: 'PRD(Production Modeling)', + content: 'wel.prd', + }, + { + img: 'img_tool_orange.jpg', + title: 'wel.title.ord', + name: 'ORD(Production Order)', + content: 'wel.ord', + }, + { + img: 'img_system_blue.jpg', + title: 'wel.title.tds', + name: 'TDS(Task Dispatching)', + content: 'wel.tds', + }, + { + img: 'img_system_blue.jpg', + title: 'wel.title.bpr', + name: 'BPR(Before Production)', + content: 'wel.bpr', + }, + { + img: 'img_system_blue.jpg', + title: 'wel.title.wip', + name: 'WIP(Work In Process)', + content: 'wel.wip', + }, + { + img: 'img_check_purple.jpg', + title: 'wel.title.oee', + name: 'OEE(Overall equipment effectiveness)', + content: 'wel.oee', + }, + { + img: 'img_tool_orange.jpg', + title: 'wel.title.tms', + name: 'TMS(Tool Management System)', + content: 'wel.tms', + }, + { + img: 'img_person_green.jpg', + title: 'wel.title.hrs', + name: 'HRS(Human Resource System)', + content: 'wel.hrs', + }, + { + img: 'img_box_light_green.jpg', + title: 'wel.title.mtl', + name: 'MTL(Material Management System)', + content: 'wel.mtl', + }, + { + img: 'img_alarm_purple.jpg', + title: 'wel.title.alm', + name: 'ALM(Alarm Management System)', + content: 'wel.alm', + }, + { + img: 'img_tool_purple.jpg', + title: 'wel.title.ecn', + name: 'ECN(Engineering Change Notice)', + content: 'wel.ecn', + }, + { + img: 'img_box_green.jpg', + title: 'wel.title.qms', + name: 'QMS(Quality Management System)', + content: 'wel.qms', + }, + { + img: 'img_alarm_purple.jpg', + title: 'wel.title.abn', + name: 'ABN(Abnormal Management System)', + content: 'wel.abn', + }, + { + img: 'img_check_purple.jpg', + title: 'wel.title.spc', + name: 'SPC(Statistical Process Control)', + content: 'wel.spc', + }, + { + img: 'img_tool_purple.jpg', + title: 'wel.title.iot', + name: 'IoT(Internet of Things)', + content: 'wel.iot', + }, + { + img: 'img_system_blue.jpg', + title: 'wel.title.rms', + name: 'RMS(Recipe Management System)', + content: 'wel.rms', + }, +] diff --git a/src/page/lock/index.vue b/src/page/lock/index.vue new file mode 100644 index 0000000..6a98ab2 --- /dev/null +++ b/src/page/lock/index.vue @@ -0,0 +1,108 @@ + + + + diff --git a/src/page/login/authredirect.vue b/src/page/login/authredirect.vue new file mode 100644 index 0000000..b5f1ec3 --- /dev/null +++ b/src/page/login/authredirect.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/page/login/changePassword.vue b/src/page/login/changePassword.vue new file mode 100644 index 0000000..3d5350d --- /dev/null +++ b/src/page/login/changePassword.vue @@ -0,0 +1,331 @@ + + + + diff --git a/src/page/login/codelogin.vue b/src/page/login/codelogin.vue new file mode 100644 index 0000000..006e6d3 --- /dev/null +++ b/src/page/login/codelogin.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/page/login/index.vue b/src/page/login/index.vue new file mode 100644 index 0000000..a13edb6 --- /dev/null +++ b/src/page/login/index.vue @@ -0,0 +1,157 @@ + + + + diff --git a/src/page/login/thirdlogin.vue b/src/page/login/thirdlogin.vue new file mode 100644 index 0000000..9eea181 --- /dev/null +++ b/src/page/login/thirdlogin.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/src/page/login/userRegister.vue b/src/page/login/userRegister.vue new file mode 100644 index 0000000..24db029 --- /dev/null +++ b/src/page/login/userRegister.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/page/login/userlogin.vue b/src/page/login/userlogin.vue new file mode 100644 index 0000000..3c1c7c9 --- /dev/null +++ b/src/page/login/userlogin.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/page/logs/index.vue b/src/page/logs/index.vue new file mode 100644 index 0000000..c7dfa56 --- /dev/null +++ b/src/page/logs/index.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/page/wel.vue b/src/page/wel.vue new file mode 100644 index 0000000..9fc9486 --- /dev/null +++ b/src/page/wel.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/src/permission.js b/src/permission.js new file mode 100644 index 0000000..33ba487 --- /dev/null +++ b/src/permission.js @@ -0,0 +1,55 @@ +/** + * 全站权限配置 + * + */ +import router from './router/router' +import store from '@/store' +import { validatenull } from '@/util/validate' +import i18n from './i18n' +import NProgress from 'nprogress' // progress bar +import 'nprogress/nprogress.css' // progress bar style +NProgress.configure({ showSpinner: false }) + +router.beforeEach((to, from, next) => { + NProgress.start() + const meta = to.meta || {} + if (store.getters.access_token) { + if (store.getters.isLock && to.path !== '/lock') { + next({ path: '/lock' }) + } else if (to.path === '/login') { + next({ path: '/' }) + } else { + const value = to.query.src || to.fullPath + const label = to.query.name || i18n.t(to.name) + + // 针对外链跳转 + if (value.includes('http') || value.includes('https')) { + window.open(value, '_blank') + return + } + if (meta.isTab !== false && !validatenull(value) && !validatenull(label) && to.query['is-tab'] != 'N') { + store.commit('ADD_TAG', { + label: label, + value: value, + params: to.params, + query: to.query, + group: router.$avueRouter.group || [], + }) + } + next() + } + } else { + if (meta.isAuth === false) { + next() + } else { + next('/login') + } + } +}) + +router.afterEach(() => { + NProgress.done() + let title = store.getters.tag.label + if (!store.getters.access_token) title = undefined + router.$avueRouter.setTitle(title) +}) diff --git a/src/plugins/cache.js b/src/plugins/cache.js new file mode 100644 index 0000000..6b5c00b --- /dev/null +++ b/src/plugins/cache.js @@ -0,0 +1,77 @@ +const sessionCache = { + set (key, value) { + if (!sessionStorage) { + return + } + if (key != null && value != null) { + sessionStorage.setItem(key, value) + } + }, + get (key) { + if (!sessionStorage) { + return null + } + if (key == null) { + return null + } + return sessionStorage.getItem(key) + }, + setJSON (key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON (key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + }, + remove (key) { + sessionStorage.removeItem(key); + } +} +const localCache = { + set (key, value) { + if (!localStorage) { + return + } + if (key != null && value != null) { + localStorage.setItem(key, value) + } + }, + get (key) { + if (!localStorage) { + return null + } + if (key == null) { + return null + } + return localStorage.getItem(key) + }, + setJSON (key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON (key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + }, + remove (key) { + localStorage.removeItem(key); + } +} + +export default { + /** + * 会话级缓存 + */ + session: sessionCache, + /** + * 本地缓存 + */ + local: localCache +} diff --git a/src/plugins/download.js b/src/plugins/download.js new file mode 100644 index 0000000..795e4fe --- /dev/null +++ b/src/plugins/download.js @@ -0,0 +1,65 @@ +import axios from 'axios' +import {Loading, Message} from 'element-ui' +import { saveAs } from 'file-saver' +import store from '@/store' +import errorCode from '@/utils/errorCode' +import { blobValidate } from "@/utils/ruoyi"; + +const baseURL = process.env.VUE_APP_BASE_API +let downloadLoadingInstance; + +export default { + oss(ossId) { + var url = baseURL + '/system/oss/download/' + ossId + downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + store.getters.access_token } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data], { type: 'application/octet-stream' }) + this.saveAs(blob, decodeURIComponent(res.headers['download-filename'])) + } else { + this.printErrMsg(res.data); + } + downloadLoadingInstance.close(); + }).catch((r) => { + console.error(r) + Message.error('下载文件出现错误,请联系管理员!') + downloadLoadingInstance.close(); + }) + }, + zip(url, name) { + var url = baseURL + url + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { + 'Authorization': 'Bearer ' + getToken(), + 'datasource': localStorage.getItem("dataName") + } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data], { type: 'application/zip' }) + this.saveAs(blob, name) + } else { + this.printErrMsg(res.data); + } + }) + }, + saveAs(text, name, opts) { + saveAs(text, name, opts); + }, + async printErrMsg(data) { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] + Message.error(errMsg); + } +} + diff --git a/src/plugins/index.js b/src/plugins/index.js new file mode 100644 index 0000000..f469830 --- /dev/null +++ b/src/plugins/index.js @@ -0,0 +1,14 @@ +import cache from './cache' +import modal from './modal' +import download from './download' + +export default { + install(Vue) { + // 缓存对象 + Vue.prototype.$cache = cache + // 模态框对象 + Vue.prototype.$modal = modal + // 下载文件 + Vue.prototype.$download = download + } +} diff --git a/src/plugins/modal.js b/src/plugins/modal.js new file mode 100644 index 0000000..95eade9 --- /dev/null +++ b/src/plugins/modal.js @@ -0,0 +1,83 @@ +import { Message, MessageBox, Notification, Loading } from 'element-ui' + +let loadingInstance + +export default { + // 消息提示 + msg(content) { + Message.info(content) + }, + // 错误消息 + msgError(content) { + Message.error(content) + }, + // 成功消息 + msgSuccess(content) { + Message.success(content) + }, + // 警告消息 + msgWarning(content) { + Message.warning(content) + }, + // 弹出提示 + alert(content) { + MessageBox.alert(content, '系统提示') + }, + // 错误提示 + alertError(content) { + MessageBox.alert(content, '系统提示', { type: 'error' }) + }, + // 成功提示 + alertSuccess(content) { + MessageBox.alert(content, '系统提示', { type: 'success' }) + }, + // 警告提示 + alertWarning(content) { + MessageBox.alert(content, '系统提示', { type: 'warning' }) + }, + // 通知提示 + notify(content) { + Notification.info(content) + }, + // 错误通知 + notifyError(content) { + Notification.error(content) + }, + // 成功通知 + notifySuccess(content) { + Notification.success(content) + }, + // 警告通知 + notifyWarning(content) { + Notification.warning(content) + }, + // 确认窗体 + confirm(content) { + return MessageBox.confirm(content, '系统提示', { + confirmButtonText: '确定', + cancelButtonText: this.$t('common.cancel'), + type: 'warning', + }) + }, + // 提交内容 + prompt(content) { + return MessageBox.prompt(content, '系统提示', { + confirmButtonText: '确定', + cancelButtonText: this.$t('common.cancel'), + type: 'warning', + }) + }, + // 打开遮罩层 + loading(content) { + loadingInstance = Loading.service({ + lock: true, + text: content, + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)', + }) + }, + // 关闭遮罩层 + closeLoading() { + loadingInstance.close() + }, +} diff --git a/src/plugins/package/designer/ProcessDesigner.vue b/src/plugins/package/designer/ProcessDesigner.vue new file mode 100644 index 0000000..0030802 --- /dev/null +++ b/src/plugins/package/designer/ProcessDesigner.vue @@ -0,0 +1,558 @@ + + + diff --git a/src/plugins/package/designer/index.js b/src/plugins/package/designer/index.js new file mode 100644 index 0000000..0566ee9 --- /dev/null +++ b/src/plugins/package/designer/index.js @@ -0,0 +1,7 @@ +import BpmnProcessDesigner from "./ProcessDesigner.vue"; + +BpmnProcessDesigner.install = function(Vue) { + Vue.component(BpmnProcessDesigner.name, BpmnProcessDesigner); +}; + +export default BpmnProcessDesigner; diff --git a/src/plugins/package/designer/plugins/content-pad/contentPadProvider.js b/src/plugins/package/designer/plugins/content-pad/contentPadProvider.js new file mode 100644 index 0000000..447a99b --- /dev/null +++ b/src/plugins/package/designer/plugins/content-pad/contentPadProvider.js @@ -0,0 +1,390 @@ +import { assign, forEach, isArray } from "min-dash"; + +import { is } from "bpmn-js/lib/util/ModelUtil"; + +import { isExpanded, isEventSubProcess } from "bpmn-js/lib/util/DiUtil"; + +import { isAny } from "bpmn-js/lib/features/modeling/util/ModelingUtil"; + +import { getChildLanes } from "bpmn-js/lib/features/modeling/util/LaneUtil"; + +import { hasPrimaryModifier } from "diagram-js/lib/util/Mouse"; + +/** + * A provider for BPMN 2.0 elements context pad + */ +export default function ContextPadProvider( + config, + injector, + eventBus, + contextPad, + modeling, + elementFactory, + connect, + create, + popupMenu, + canvas, + rules, + translate, + elementRegistry +) { + config = config || {}; + + contextPad.registerProvider(this); + + this._contextPad = contextPad; + + this._modeling = modeling; + + this._elementFactory = elementFactory; + this._connect = connect; + this._create = create; + this._popupMenu = popupMenu; + this._canvas = canvas; + this._rules = rules; + this._translate = translate; + + if (config.autoPlace !== false) { + this._autoPlace = injector.get("autoPlace", false); + } + + eventBus.on("create.end", 250, function(event) { + var context = event.context, + shape = context.shape; + + if (!hasPrimaryModifier(event) || !contextPad.isOpen(shape)) { + return; + } + + var entries = contextPad.getEntries(shape); + + if (entries.replace) { + entries.replace.action.click(event, shape); + } + }); +} + +ContextPadProvider.$inject = [ + "config.contextPad", + "injector", + "eventBus", + "contextPad", + "modeling", + "elementFactory", + "connect", + "create", + "popupMenu", + "canvas", + "rules", + "translate", + "elementRegistry" +]; + +ContextPadProvider.prototype.getContextPadEntries = function(element) { + var contextPad = this._contextPad, + modeling = this._modeling, + elementFactory = this._elementFactory, + connect = this._connect, + create = this._create, + popupMenu = this._popupMenu, + canvas = this._canvas, + rules = this._rules, + autoPlace = this._autoPlace, + translate = this._translate; + + var actions = {}; + + if (element.type === "label") { + return actions; + } + + var businessObject = element.businessObject; + + function startConnect(event, element) { + connect.start(event, element); + } + + function removeElement() { + modeling.removeElements([element]); + } + + function getReplaceMenuPosition(element) { + var Y_OFFSET = 5; + + var diagramContainer = canvas.getContainer(), + pad = contextPad.getPad(element).html; + + var diagramRect = diagramContainer.getBoundingClientRect(), + padRect = pad.getBoundingClientRect(); + + var top = padRect.top - diagramRect.top; + var left = padRect.left - diagramRect.left; + + var pos = { + x: left, + y: top + padRect.height + Y_OFFSET + }; + + return pos; + } + + /** + * Create an append action + * + * @param {string} type + * @param {string} className + * @param {string} [title] + * @param {Object} [options] + * + * @return {Object} descriptor + */ + function appendAction(type, className, title, options) { + if (typeof title !== "string") { + options = title; + title = translate("Append {type}", { type: type.replace(/^bpmn:/, "") }); + } + + function appendStart(event, element) { + var shape = elementFactory.createShape(assign({ type: type }, options)); + create.start(event, shape, { + source: element + }); + } + + var append = autoPlace + ? function(event, element) { + var shape = elementFactory.createShape(assign({ type: type }, options)); + + autoPlace.append(element, shape); + } + : appendStart; + + return { + group: "model", + className: className, + title: title, + action: { + dragstart: appendStart, + click: append + } + }; + } + + function splitLaneHandler(count) { + return function(event, element) { + // actual split + modeling.splitLane(element, count); + + // refresh context pad after split to + // get rid of split icons + contextPad.open(element, true); + }; + } + + if (isAny(businessObject, ["bpmn:Lane", "bpmn:Participant"]) && isExpanded(businessObject)) { + var childLanes = getChildLanes(element); + + assign(actions, { + "lane-insert-above": { + group: "lane-insert-above", + className: "bpmn-icon-lane-insert-above", + title: translate("Add Lane above"), + action: { + click: function(event, element) { + modeling.addLane(element, "top"); + } + } + } + }); + + if (childLanes.length < 2) { + if (element.height >= 120) { + assign(actions, { + "lane-divide-two": { + group: "lane-divide", + className: "bpmn-icon-lane-divide-two", + title: translate("Divide into two Lanes"), + action: { + click: splitLaneHandler(2) + } + } + }); + } + + if (element.height >= 180) { + assign(actions, { + "lane-divide-three": { + group: "lane-divide", + className: "bpmn-icon-lane-divide-three", + title: translate("Divide into three Lanes"), + action: { + click: splitLaneHandler(3) + } + } + }); + } + } + + assign(actions, { + "lane-insert-below": { + group: "lane-insert-below", + className: "bpmn-icon-lane-insert-below", + title: translate("Add Lane below"), + action: { + click: function(event, element) { + modeling.addLane(element, "bottom"); + } + } + } + }); + } + + if (is(businessObject, "bpmn:FlowNode")) { + if (is(businessObject, "bpmn:EventBasedGateway")) { + assign(actions, { + "append.receive-task": appendAction("bpmn:ReceiveTask", "bpmn-icon-receive-task", translate("Append ReceiveTask")), + "append.message-intermediate-event": appendAction( + "bpmn:IntermediateCatchEvent", + "bpmn-icon-intermediate-event-catch-message", + translate("Append MessageIntermediateCatchEvent"), + { eventDefinitionType: "bpmn:MessageEventDefinition" } + ), + "append.timer-intermediate-event": appendAction( + "bpmn:IntermediateCatchEvent", + "bpmn-icon-intermediate-event-catch-timer", + translate("Append TimerIntermediateCatchEvent"), + { eventDefinitionType: "bpmn:TimerEventDefinition" } + ), + "append.condition-intermediate-event": appendAction( + "bpmn:IntermediateCatchEvent", + "bpmn-icon-intermediate-event-catch-condition", + translate("Append ConditionIntermediateCatchEvent"), + { eventDefinitionType: "bpmn:ConditionalEventDefinition" } + ), + "append.signal-intermediate-event": appendAction( + "bpmn:IntermediateCatchEvent", + "bpmn-icon-intermediate-event-catch-signal", + translate("Append SignalIntermediateCatchEvent"), + { eventDefinitionType: "bpmn:SignalEventDefinition" } + ) + }); + } else if (isEventType(businessObject, "bpmn:BoundaryEvent", "bpmn:CompensateEventDefinition")) { + assign(actions, { + "append.compensation-activity": appendAction("bpmn:Task", "bpmn-icon-task", translate("Append compensation activity"), { + isForCompensation: true + }) + }); + } else if ( + !is(businessObject, "bpmn:EndEvent") && + !businessObject.isForCompensation && + !isEventType(businessObject, "bpmn:IntermediateThrowEvent", "bpmn:LinkEventDefinition") && + !isEventSubProcess(businessObject) + ) { + assign(actions, { + "append.end-event": appendAction("bpmn:EndEvent", "bpmn-icon-end-event-none", translate("Append EndEvent")), + "append.gateway": appendAction("bpmn:ExclusiveGateway", "bpmn-icon-gateway-none", translate("Append Gateway")), + "append.append-task": appendAction("bpmn:UserTask", "bpmn-icon-user-task", translate("Append Task")), + "append.intermediate-event": appendAction( + "bpmn:IntermediateThrowEvent", + "bpmn-icon-intermediate-event-none", + translate("Append Intermediate/Boundary Event") + ) + }); + } + } + + if (!popupMenu.isEmpty(element, "bpmn-replace")) { + // Replace menu entry + assign(actions, { + replace: { + group: "edit", + className: "bpmn-icon-screw-wrench", + title: translate("Change type"), + action: { + click: function(event, element) { + var position = assign(getReplaceMenuPosition(element), { + cursor: { x: event.x, y: event.y } + }); + + popupMenu.open(element, "bpmn-replace", position); + } + } + } + }); + } + + if (isAny(businessObject, ["bpmn:FlowNode", "bpmn:InteractionNode", "bpmn:DataObjectReference", "bpmn:DataStoreReference"])) { + assign(actions, { + "append.text-annotation": appendAction("bpmn:TextAnnotation", "bpmn-icon-text-annotation"), + + connect: { + group: "connect", + className: "bpmn-icon-connection-multi", + title: translate("Connect using " + (businessObject.isForCompensation ? "" : "Sequence/MessageFlow or ") + "Association"), + action: { + click: startConnect, + dragstart: startConnect + } + } + }); + } + + if (isAny(businessObject, ["bpmn:DataObjectReference", "bpmn:DataStoreReference"])) { + assign(actions, { + connect: { + group: "connect", + className: "bpmn-icon-connection-multi", + title: translate("Connect using DataInputAssociation"), + action: { + click: startConnect, + dragstart: startConnect + } + } + }); + } + + if (is(businessObject, "bpmn:Group")) { + assign(actions, { + "append.text-annotation": appendAction("bpmn:TextAnnotation", "bpmn-icon-text-annotation") + }); + } + + // delete element entry, only show if allowed by rules + var deleteAllowed = rules.allowed("elements.delete", { elements: [element] }); + + if (isArray(deleteAllowed)) { + // was the element returned as a deletion candidate? + deleteAllowed = deleteAllowed[0] === element; + } + + if (deleteAllowed) { + assign(actions, { + delete: { + group: "edit", + className: "bpmn-icon-trash", + title: translate("Remove"), + action: { + click: removeElement + } + } + }); + } + + return actions; +}; + +// helpers ///////// + +function isEventType(eventBo, type, definition) { + var isType = eventBo.$instanceOf(type); + var isDefinition = false; + + var definitions = eventBo.eventDefinitions || []; + forEach(definitions, function(def) { + if (def.$type === definition) { + isDefinition = true; + } + }); + + return isType && isDefinition; +} diff --git a/src/plugins/package/designer/plugins/content-pad/index.js b/src/plugins/package/designer/plugins/content-pad/index.js new file mode 100644 index 0000000..a9cf887 --- /dev/null +++ b/src/plugins/package/designer/plugins/content-pad/index.js @@ -0,0 +1,6 @@ +import CustomContextPadProvider from "./contentPadProvider"; + +export default { + __init__: ["contextPadProvider"], + contextPadProvider: ["type", CustomContextPadProvider] +}; diff --git a/src/plugins/package/designer/plugins/defaultEmpty.js b/src/plugins/package/designer/plugins/defaultEmpty.js new file mode 100644 index 0000000..9ec1df1 --- /dev/null +++ b/src/plugins/package/designer/plugins/defaultEmpty.js @@ -0,0 +1,27 @@ +export default (key, name, type) => { + if (!type) type = "camunda"; + const TYPE_TARGET = { + activiti: "http://activiti.org/bpmn", + camunda: "http://bpmn.io/schema/bpmn", + flowable: "http://flowable.org/bpmn" + }; + return ` + + + + + + + + + + `; +}; diff --git a/src/plugins/package/designer/plugins/descriptor/activitiDescriptor.json b/src/plugins/package/designer/plugins/descriptor/activitiDescriptor.json new file mode 100644 index 0000000..fcf5406 --- /dev/null +++ b/src/plugins/package/designer/plugins/descriptor/activitiDescriptor.json @@ -0,0 +1,1338 @@ +{ + "name": "Activiti", + "uri": "http://activiti.org/bpmn", + "prefix": "activiti", + "xml": { + "tagAlias": "lowerCase" + }, + "associations": [], + "types": [ + { + "name": "Definitions", + "isAbstract": true, + "extends": [ + "bpmn:Definitions" + ], + "properties": [ + { + "name": "diagramRelationId", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "InOutBinding", + "superClass": [ + "Element" + ], + "isAbstract": true, + "properties": [ + { + "name": "source", + "isAttr": true, + "type": "String" + }, + { + "name": "sourceExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "target", + "isAttr": true, + "type": "String" + }, + { + "name": "businessKey", + "isAttr": true, + "type": "String" + }, + { + "name": "local", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "variables", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "In", + "superClass": [ + "InOutBinding" + ], + "meta": { + "allowedIn": [ + "bpmn:CallActivity" + ] + } + }, + { + "name": "Out", + "superClass": [ + "InOutBinding" + ], + "meta": { + "allowedIn": [ + "bpmn:CallActivity" + ] + } + }, + { + "name": "AsyncCapable", + "isAbstract": true, + "extends": [ + "bpmn:Activity", + "bpmn:Gateway", + "bpmn:Event" + ], + "properties": [ + { + "name": "async", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "asyncBefore", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "asyncAfter", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "exclusive", + "isAttr": true, + "type": "Boolean", + "default": true + } + ] + }, + { + "name": "JobPriorized", + "isAbstract": true, + "extends": [ + "bpmn:Process", + "activiti:AsyncCapable" + ], + "properties": [ + { + "name": "jobPriority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "SignalEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:SignalEventDefinition" + ], + "properties": [ + { + "name": "async", + "isAttr": true, + "type": "Boolean", + "default": false + } + ] + }, + { + "name": "ErrorEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:ErrorEventDefinition" + ], + "properties": [ + { + "name": "errorCodeVariable", + "isAttr": true, + "type": "String" + }, + { + "name": "errorMessageVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Error", + "isAbstract": true, + "extends": [ + "bpmn:Error" + ], + "properties": [ + { + "name": "activiti:errorMessage", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "PotentialStarter", + "superClass": [ + "Element" + ], + "properties": [ + { + "name": "resourceAssignmentExpression", + "type": "bpmn:ResourceAssignmentExpression" + } + ] + }, + { + "name": "FormSupported", + "isAbstract": true, + "extends": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ], + "properties": [ + { + "name": "formHandlerClass", + "isAttr": true, + "type": "String" + }, + { + "name": "formKey", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "TemplateSupported", + "isAbstract": true, + "extends": [ + "bpmn:Process", + "bpmn:FlowElement" + ], + "properties": [ + { + "name": "modelerTemplate", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Initiator", + "isAbstract": true, + "extends": [ "bpmn:StartEvent" ], + "properties": [ + { + "name": "initiator", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ScriptTask", + "isAbstract": true, + "extends": [ + "bpmn:ScriptTask" + ], + "properties": [ + { + "name": "resultVariable", + "isAttr": true, + "type": "String" + }, + { + "name": "resource", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Process", + "isAbstract": true, + "extends": [ + "bpmn:Process" + ], + "properties": [ + { + "name": "candidateStarterGroups", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateStarterUsers", + "isAttr": true, + "type": "String" + }, + { + "name": "processCategory", + "isAttr": true, + "type": "String" + }, + { + "name": "versionTag", + "isAttr": true, + "type": "String" + }, + { + "name": "historyTimeToLive", + "isAttr": true, + "type": "String" + }, + { + "name": "isStartableInTasklist", + "isAttr": true, + "type": "Boolean", + "default": true + }, + { + "name":"executionListener", + "isAbstract": true, + "type":"Expression" + } + ] + }, + { + "name": "EscalationEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:EscalationEventDefinition" + ], + "properties": [ + { + "name": "escalationCodeVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "FormalExpression", + "isAbstract": true, + "extends": [ + "bpmn:FormalExpression" + ], + "properties": [ + { + "name": "resource", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "multiinstance_type", + "superClass":[ + "Element" + ] + }, + { + "name": "multiinstance_condition", + "superClass":[ + "Element" + ] + }, + { + "name": "Assignable", + "extends": [ "bpmn:UserTask" ], + "properties": [ + { + "name": "assignee", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateUsers", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateGroups", + "isAttr": true, + "type": "String" + }, + { + "name": "dueDate", + "isAttr": true, + "type": "String" + }, + { + "name": "followUpDate", + "isAttr": true, + "type": "String" + }, + { + "name": "priority", + "isAttr": true, + "type": "String" + }, + { + "name": "multiinstance_condition", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "CallActivity", + "extends": [ "bpmn:CallActivity" ], + "properties": [ + { + "name": "calledElementBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "calledElementVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "calledElementVersionTag", + "isAttr": true, + "type": "String" + }, + { + "name": "calledElementTenantId", + "isAttr": true, + "type": "String" + }, + { + "name": "caseRef", + "isAttr": true, + "type": "String" + }, + { + "name": "caseBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "caseVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "caseTenantId", + "isAttr": true, + "type": "String" + }, + { + "name": "variableMappingClass", + "isAttr": true, + "type": "String" + }, + { + "name": "variableMappingDelegateExpression", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ServiceTaskLike", + "extends": [ + "bpmn:ServiceTask", + "bpmn:BusinessRuleTask", + "bpmn:SendTask", + "bpmn:MessageEventDefinition" + ], + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "resultVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "DmnCapable", + "extends": [ + "bpmn:BusinessRuleTask" + ], + "properties": [ + { + "name": "decisionRef", + "isAttr": true, + "type": "String" + }, + { + "name": "decisionRefBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "decisionRefVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "mapDecisionResult", + "isAttr": true, + "type": "String", + "default": "resultList" + }, + { + "name": "decisionRefTenantId", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ExternalCapable", + "extends": [ + "activiti:ServiceTaskLike" + ], + "properties": [ + { + "name": "type", + "isAttr": true, + "type": "String" + }, + { + "name": "topic", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "TaskPriorized", + "extends": [ + "bpmn:Process", + "activiti:ExternalCapable" + ], + "properties": [ + { + "name": "taskPriority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Properties", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ "*" ] + }, + "properties": [ + { + "name": "values", + "type": "Property", + "isMany": true + } + ] + }, + { + "name": "Property", + "superClass": [ + "Element" + ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "value", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "Buttons", + "superClass": ["Element"], + "meta": { + "allowedIn": ["*"] + }, + "properties": [ + { + "name": "values", + "type": "Button", + "isMany": true + } + ] + }, + { + "name": "Button", + "superClass": ["Element"], + "properties": [ + { + "name": "id", + "type": "Integer", + "isAttr": true + }, + { + "name": "label", + "type": "String", + "isAttr": true + }, + { + "name": "code", + "type": "String", + "isAttr": true + }, + { + "name": "icon", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "size", + "type": "String", + "isAttr": true + }, + { + "name": "click", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "Connector", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ + "activiti:ServiceTaskLike" + ] + }, + "properties": [ + { + "name": "inputOutput", + "type": "InputOutput" + }, + { + "name": "connectorId", + "type": "String" + } + ] + }, + { + "name": "InputOutput", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ + "bpmn:FlowNode", + "activiti:Connector" + ] + }, + "properties": [ + { + "name": "inputOutput", + "type": "InputOutput" + }, + { + "name": "connectorId", + "type": "String" + }, + { + "name": "inputParameters", + "isMany": true, + "type": "InputParameter" + }, + { + "name": "outputParameters", + "isMany": true, + "type": "OutputParameter" + } + ] + }, + { + "name": "InputOutputParameter", + "properties": [ + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + }, + { + "name": "definition", + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "InputOutputParameterDefinition", + "isAbstract": true + }, + { + "name": "List", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "items", + "isMany": true, + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "Map", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "entries", + "isMany": true, + "type": "Entry" + } + ] + }, + { + "name": "Entry", + "properties": [ + { + "name": "key", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + }, + { + "name": "definition", + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "Value", + "superClass": [ + "InputOutputParameterDefinition" + ], + "properties": [ + { + "name": "id", + "isAttr": true, + "type": "String" + }, + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "Script", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "scriptFormat", + "isAttr": true, + "type": "String" + }, + { + "name": "resource", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "Field", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "activiti:ServiceTaskLike", + "activiti:ExecutionListener", + "activiti:TaskListener" + ] + }, + "properties": [ + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "expression", + "type": "String" + }, + { + "name": "stringValue", + "isAttr": true, + "type": "String" + }, + { + "name": "string", + "type": "String" + } + ] + }, + { + "name": "InputParameter", + "superClass": [ "InputOutputParameter" ] + }, + { + "name": "OutputParameter", + "superClass": [ "InputOutputParameter" ] + }, + { + "name": "Collectable", + "isAbstract": true, + "extends": [ "bpmn:MultiInstanceLoopCharacteristics" ], + "superClass": [ "activiti:AsyncCapable" ], + "properties": [ + { + "name": "collection", + "isAttr": true, + "type": "String" + }, + { + "name": "elementVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "FailedJobRetryTimeCycle", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "activiti:AsyncCapable", + "bpmn:MultiInstanceLoopCharacteristics" + ] + }, + "properties": [ + { + "name": "body", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "ExecutionListener", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:Task", + "bpmn:ServiceTask", + "bpmn:UserTask", + "bpmn:BusinessRuleTask", + "bpmn:ScriptTask", + "bpmn:ReceiveTask", + "bpmn:ManualTask", + "bpmn:ExclusiveGateway", + "bpmn:SequenceFlow", + "bpmn:ParallelGateway", + "bpmn:InclusiveGateway", + "bpmn:EventBasedGateway", + "bpmn:StartEvent", + "bpmn:IntermediateCatchEvent", + "bpmn:IntermediateThrowEvent", + "bpmn:EndEvent", + "bpmn:BoundaryEvent", + "bpmn:CallActivity", + "bpmn:SubProcess", + "bpmn:Process" + ] + }, + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "event", + "isAttr": true, + "type": "String" + }, + { + "name": "script", + "type": "Script" + }, + { + "name": "fields", + "type": "Field", + "isMany": true + } + ] + }, + { + "name": "TaskListener", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "event", + "isAttr": true, + "type": "String" + }, + { + "name": "script", + "type": "Script" + }, + { + "name": "fields", + "type": "Field", + "isMany": true + } + ] + }, + { + "name": "FormProperty", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "required", + "type": "String", + "isAttr": true + }, + { + "name": "readable", + "type": "String", + "isAttr": true + }, + { + "name": "writable", + "type": "String", + "isAttr": true + }, + { + "name": "variable", + "type": "String", + "isAttr": true + }, + { + "name": "expression", + "type": "String", + "isAttr": true + }, + { + "name": "datePattern", + "type": "String", + "isAttr": true + }, + { + "name": "default", + "type": "String", + "isAttr": true + }, + { + "name": "values", + "type": "Value", + "isMany": true + } + ] + }, + { + "name": "FormProperty", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "label", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "datePattern", + "type": "String", + "isAttr": true + }, + { + "name": "defaultValue", + "type": "String", + "isAttr": true + }, + { + "name": "properties", + "type": "Properties" + }, + { + "name": "validation", + "type": "Validation" + }, + { + "name": "values", + "type": "Value", + "isMany": true + } + ] + }, + { + "name": "Validation", + "superClass": [ "Element" ], + "properties": [ + { + "name": "constraints", + "type": "Constraint", + "isMany": true + } + ] + }, + { + "name": "Constraint", + "superClass": [ "Element" ], + "properties": [ + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "config", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "ExtensionElements", + "properties": [ + { + "name": "operationList", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "OperationList", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "operationList", + "type": "FormOperation", + "isMany": true + } + ] + }, + { + "name": "FormOperation", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "label", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "showOrder", + "type": "String", + "isAttr": true + }, + { + "name": "multiSignAssignee", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "VariableList", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "variableList", + "type": "FormVariable", + "isMany": true + } + ] + }, + { + "name": "FormVariable", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "DeptPostList", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "deptPostList", + "type": "DeptPost", + "isMany": true + } + ] + }, + { + "name": "DeptPost", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "postId", + "type": "String", + "isAttr": true + }, + { + "name": "deptPostId", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "UserCandidateGroups", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "value", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "CustomCondition", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:SequenceFlow" + ] + }, + "properties": [ + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "operationType", + "type": "String", + "isAttr": true + }, + { + "name": "parallelRefuse", + "type": "Boolean", + "isAttr": true, + "default": false + } + ] + }, + { + "name": "AssigneeList", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "assigneeList", + "type": "Assignee", + "isMany": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "Assignee", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "ConditionalEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:ConditionalEventDefinition" + ], + "properties": [ + { + "name": "variableName", + "isAttr": true, + "type": "String" + }, + { + "name": "variableEvent", + "isAttr": true, + "type": "String" + } + ] + } + ], + "emumerations": [ ] +} diff --git a/src/plugins/package/designer/plugins/descriptor/camundaDescriptor.json b/src/plugins/package/designer/plugins/descriptor/camundaDescriptor.json new file mode 100644 index 0000000..a738cfd --- /dev/null +++ b/src/plugins/package/designer/plugins/descriptor/camundaDescriptor.json @@ -0,0 +1,1092 @@ +{ + "name": "Camunda", + "uri": "http://camunda.org/schema/1.0/bpmn", + "prefix": "camunda", + "xml": { + "tagAlias": "lowerCase" + }, + "associations": [], + "types": [ + { + "name": "Definitions", + "isAbstract": true, + "extends": [ + "bpmn:Definitions" + ], + "properties": [ + { + "name": "diagramRelationId", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "InOutBinding", + "superClass": [ + "Element" + ], + "isAbstract": true, + "properties": [ + { + "name": "source", + "isAttr": true, + "type": "String" + }, + { + "name": "sourceExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "target", + "isAttr": true, + "type": "String" + }, + { + "name": "businessKey", + "isAttr": true, + "type": "String" + }, + { + "name": "local", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "variables", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "In", + "superClass": [ + "InOutBinding" + ], + "meta": { + "allowedIn": [ + "bpmn:CallActivity", + "bpmn:SignalEventDefinition" + ] + } + }, + { + "name": "Out", + "superClass": [ + "InOutBinding" + ], + "meta": { + "allowedIn": [ + "bpmn:CallActivity" + ] + } + }, + { + "name": "AsyncCapable", + "isAbstract": true, + "extends": [ + "bpmn:Activity", + "bpmn:Gateway", + "bpmn:Event" + ], + "properties": [ + { + "name": "async", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "asyncBefore", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "asyncAfter", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "exclusive", + "isAttr": true, + "type": "Boolean", + "default": true + } + ] + }, + { + "name": "JobPriorized", + "isAbstract": true, + "extends": [ + "bpmn:Process", + "camunda:AsyncCapable" + ], + "properties": [ + { + "name": "jobPriority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "SignalEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:SignalEventDefinition" + ], + "properties": [ + { + "name": "async", + "isAttr": true, + "type": "Boolean", + "default": false + } + ] + }, + { + "name": "ErrorEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:ErrorEventDefinition" + ], + "properties": [ + { + "name": "errorCodeVariable", + "isAttr": true, + "type": "String" + }, + { + "name": "errorMessageVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Error", + "isAbstract": true, + "extends": [ + "bpmn:Error" + ], + "properties": [ + { + "name": "camunda:errorMessage", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "PotentialStarter", + "superClass": [ + "Element" + ], + "properties": [ + { + "name": "resourceAssignmentExpression", + "type": "bpmn:ResourceAssignmentExpression" + } + ] + }, + { + "name": "FormSupported", + "isAbstract": true, + "extends": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ], + "properties": [ + { + "name": "formHandlerClass", + "isAttr": true, + "type": "String" + }, + { + "name": "formKey", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "TemplateSupported", + "isAbstract": true, + "extends": [ + "bpmn:Process", + "bpmn:FlowElement" + ], + "properties": [ + { + "name": "modelerTemplate", + "isAttr": true, + "type": "String" + }, + { + "name": "modelerTemplateVersion", + "isAttr": true, + "type": "Integer" + } + ] + }, + { + "name": "Initiator", + "isAbstract": true, + "extends": [ "bpmn:StartEvent" ], + "properties": [ + { + "name": "initiator", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ScriptTask", + "isAbstract": true, + "extends": [ + "bpmn:ScriptTask" + ], + "properties": [ + { + "name": "resultVariable", + "isAttr": true, + "type": "String" + }, + { + "name": "resource", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Process", + "isAbstract": true, + "extends": [ + "bpmn:Process" + ], + "properties": [ + { + "name": "candidateStarterGroups", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateStarterUsers", + "isAttr": true, + "type": "String" + }, + { + "name": "processCategory", + "isAttr": true, + "type": "String" + }, + { + "name": "versionTag", + "isAttr": true, + "type": "String" + }, + { + "name": "historyTimeToLive", + "isAttr": true, + "type": "String" + }, + { + "name": "isStartableInTasklist", + "isAttr": true, + "type": "Boolean", + "default": true + } + ] + }, + { + "name": "EscalationEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:EscalationEventDefinition" + ], + "properties": [ + { + "name": "escalationCodeVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "FormalExpression", + "isAbstract": true, + "extends": [ + "bpmn:FormalExpression" + ], + "properties": [ + { + "name": "resource", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Assignable", + "extends": [ "bpmn:UserTask" ], + "properties": [ + { + "name": "assignee", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateUsers", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateGroups", + "isAttr": true, + "type": "String" + }, + { + "name": "dueDate", + "isAttr": true, + "type": "String" + }, + { + "name": "followUpDate", + "isAttr": true, + "type": "String" + }, + { + "name": "priority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "CallActivity", + "extends": [ "bpmn:CallActivity" ], + "properties": [ + { + "name": "calledElementBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "calledElementVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "calledElementVersionTag", + "isAttr": true, + "type": "String" + }, + { + "name": "calledElementTenantId", + "isAttr": true, + "type": "String" + }, + { + "name": "caseRef", + "isAttr": true, + "type": "String" + }, + { + "name": "caseBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "caseVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "caseTenantId", + "isAttr": true, + "type": "String" + }, + { + "name": "variableMappingClass", + "isAttr": true, + "type": "String" + }, + { + "name": "variableMappingDelegateExpression", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ServiceTaskLike", + "extends": [ + "bpmn:ServiceTask", + "bpmn:BusinessRuleTask", + "bpmn:SendTask", + "bpmn:MessageEventDefinition" + ], + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "resultVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "DmnCapable", + "extends": [ + "bpmn:BusinessRuleTask" + ], + "properties": [ + { + "name": "decisionRef", + "isAttr": true, + "type": "String" + }, + { + "name": "decisionRefBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "decisionRefVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "mapDecisionResult", + "isAttr": true, + "type": "String", + "default": "resultList" + }, + { + "name": "decisionRefTenantId", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ExternalCapable", + "extends": [ + "camunda:ServiceTaskLike" + ], + "properties": [ + { + "name": "type", + "isAttr": true, + "type": "String" + }, + { + "name": "topic", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "TaskPriorized", + "extends": [ + "bpmn:Process", + "camunda:ExternalCapable" + ], + "properties": [ + { + "name": "taskPriority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Properties", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ "*" ] + }, + "properties": [ + { + "name": "values", + "type": "Property", + "isMany": true + } + ] + }, + { + "name": "Property", + "superClass": [ + "Element" + ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "value", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "Connector", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ + "camunda:ServiceTaskLike" + ] + }, + "properties": [ + { + "name": "inputOutput", + "type": "InputOutput" + }, + { + "name": "connectorId", + "type": "String" + } + ] + }, + { + "name": "InputOutput", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ + "bpmn:FlowNode", + "camunda:Connector" + ] + }, + "properties": [ + { + "name": "inputOutput", + "type": "InputOutput" + }, + { + "name": "connectorId", + "type": "String" + }, + { + "name": "inputParameters", + "isMany": true, + "type": "InputParameter" + }, + { + "name": "outputParameters", + "isMany": true, + "type": "OutputParameter" + } + ] + }, + { + "name": "InputOutputParameter", + "properties": [ + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + }, + { + "name": "definition", + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "InputOutputParameterDefinition", + "isAbstract": true + }, + { + "name": "List", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "items", + "isMany": true, + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "Map", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "entries", + "isMany": true, + "type": "Entry" + } + ] + }, + { + "name": "Entry", + "properties": [ + { + "name": "key", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + }, + { + "name": "definition", + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "Value", + "superClass": [ + "InputOutputParameterDefinition" + ], + "properties": [ + { + "name": "id", + "isAttr": true, + "type": "String" + }, + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "Script", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "scriptFormat", + "isAttr": true, + "type": "String" + }, + { + "name": "resource", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "Field", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "camunda:ServiceTaskLike", + "camunda:ExecutionListener", + "camunda:TaskListener" + ] + }, + "properties": [ + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "expression", + "type": "String" + }, + { + "name": "stringValue", + "isAttr": true, + "type": "String" + }, + { + "name": "string", + "type": "String" + } + ] + }, + { + "name": "InputParameter", + "superClass": [ "InputOutputParameter" ] + }, + { + "name": "OutputParameter", + "superClass": [ "InputOutputParameter" ] + }, + { + "name": "Collectable", + "isAbstract": true, + "extends": [ "bpmn:MultiInstanceLoopCharacteristics" ], + "superClass": [ "camunda:AsyncCapable" ], + "properties": [ + { + "name": "collection", + "isAttr": true, + "type": "String" + }, + { + "name": "elementVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "FailedJobRetryTimeCycle", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "camunda:AsyncCapable", + "bpmn:MultiInstanceLoopCharacteristics" + ] + }, + "properties": [ + { + "name": "body", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "ExecutionListener", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:Task", + "bpmn:ServiceTask", + "bpmn:UserTask", + "bpmn:BusinessRuleTask", + "bpmn:ScriptTask", + "bpmn:ReceiveTask", + "bpmn:ManualTask", + "bpmn:ExclusiveGateway", + "bpmn:SequenceFlow", + "bpmn:ParallelGateway", + "bpmn:InclusiveGateway", + "bpmn:EventBasedGateway", + "bpmn:StartEvent", + "bpmn:IntermediateCatchEvent", + "bpmn:IntermediateThrowEvent", + "bpmn:EndEvent", + "bpmn:BoundaryEvent", + "bpmn:CallActivity", + "bpmn:SubProcess", + "bpmn:Process" + ] + }, + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "event", + "isAttr": true, + "type": "String" + }, + { + "name": "script", + "type": "Script" + }, + { + "name": "fields", + "type": "Field", + "isMany": true + } + ] + }, + { + "name": "TaskListener", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "event", + "isAttr": true, + "type": "String" + }, + { + "name": "script", + "type": "Script" + }, + { + "name": "fields", + "type": "Field", + "isMany": true + }, + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "eventDefinitions", + "type": "bpmn:TimerEventDefinition", + "isMany": true + } + ] + }, + { + "name": "FormProperty", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "required", + "type": "String", + "isAttr": true + }, + { + "name": "readable", + "type": "String", + "isAttr": true + }, + { + "name": "writable", + "type": "String", + "isAttr": true + }, + { + "name": "variable", + "type": "String", + "isAttr": true + }, + { + "name": "expression", + "type": "String", + "isAttr": true + }, + { + "name": "datePattern", + "type": "String", + "isAttr": true + }, + { + "name": "default", + "type": "String", + "isAttr": true + }, + { + "name": "values", + "type": "Value", + "isMany": true + } + ] + }, + { + "name": "FormData", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "fields", + "type": "FormField", + "isMany": true + }, + { + "name": "businessKey", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "FormField", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "label", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "datePattern", + "type": "String", + "isAttr": true + }, + { + "name": "defaultValue", + "type": "String", + "isAttr": true + }, + { + "name": "properties", + "type": "Properties" + }, + { + "name": "validation", + "type": "Validation" + }, + { + "name": "values", + "type": "Value", + "isMany": true + } + ] + }, + { + "name": "Validation", + "superClass": [ "Element" ], + "properties": [ + { + "name": "constraints", + "type": "Constraint", + "isMany": true + } + ] + }, + { + "name": "Constraint", + "superClass": [ "Element" ], + "properties": [ + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "config", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "ConditionalEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:ConditionalEventDefinition" + ], + "properties": [ + { + "name": "variableName", + "isAttr": true, + "type": "String" + }, + { + "name": "variableEvents", + "isAttr": true, + "type": "String" + } + ] + } + ], + "emumerations": [ ] +} diff --git a/src/plugins/package/designer/plugins/descriptor/flowableDescriptor.json b/src/plugins/package/designer/plugins/descriptor/flowableDescriptor.json new file mode 100644 index 0000000..08ab04e --- /dev/null +++ b/src/plugins/package/designer/plugins/descriptor/flowableDescriptor.json @@ -0,0 +1,1350 @@ +{ + "name": "Flowable", + "uri": "http://flowable.org/bpmn", + "prefix": "flowable", + "xml": { + "tagAlias": "lowerCase" + }, + "associations": [], + "types": [ + { + "name": "InOutBinding", + "superClass": [ + "Element" + ], + "isAbstract": true, + "properties": [ + { + "name": "source", + "isAttr": true, + "type": "String" + }, + { + "name": "sourceExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "target", + "isAttr": true, + "type": "String" + }, + { + "name": "businessKey", + "isAttr": true, + "type": "String" + }, + { + "name": "local", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "variables", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "In", + "superClass": [ + "InOutBinding" + ], + "meta": { + "allowedIn": [ + "bpmn:CallActivity" + ] + } + }, + { + "name": "Out", + "superClass": [ + "InOutBinding" + ], + "meta": { + "allowedIn": [ + "bpmn:CallActivity" + ] + } + }, + { + "name": "AsyncCapable", + "isAbstract": true, + "extends": [ + "bpmn:Activity", + "bpmn:Gateway", + "bpmn:Event" + ], + "properties": [ + { + "name": "async", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "asyncBefore", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "asyncAfter", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "exclusive", + "isAttr": true, + "type": "Boolean", + "default": true + } + ] + }, + { + "name": "JobPriorized", + "isAbstract": true, + "extends": [ + "bpmn:Process", + "flowable:AsyncCapable" + ], + "properties": [ + { + "name": "jobPriority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "SignalEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:SignalEventDefinition" + ], + "properties": [ + { + "name": "async", + "isAttr": true, + "type": "Boolean", + "default": false + } + ] + }, + { + "name": "ErrorEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:ErrorEventDefinition" + ], + "properties": [ + { + "name": "errorCodeVariable", + "isAttr": true, + "type": "String" + }, + { + "name": "errorMessageVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Error", + "isAbstract": true, + "extends": [ + "bpmn:Error" + ], + "properties": [ + { + "name": "flowable:errorMessage", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "PotentialStarter", + "superClass": [ + "Element" + ], + "properties": [ + { + "name": "resourceAssignmentExpression", + "type": "bpmn:ResourceAssignmentExpression" + } + ] + }, + { + "name": "FormSupported", + "isAbstract": true, + "extends": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ], + "properties": [ + { + "name": "formHandlerClass", + "isAttr": true, + "type": "String" + }, + { + "name": "formKey", + "isAttr": true, + "type": "String" + }, + { + "name": "localScope", + "isAttr": true, + "type": "Boolean", + "default": false + } + ] + }, + { + "name": "TemplateSupported", + "isAbstract": true, + "extends": [ + "bpmn:Process", + "bpmn:FlowElement" + ], + "properties": [ + { + "name": "modelerTemplate", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Initiator", + "isAbstract": true, + "extends": [ "bpmn:StartEvent" ], + "properties": [ + { + "name": "initiator", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ScriptTask", + "isAbstract": true, + "extends": [ + "bpmn:ScriptTask" + ], + "properties": [ + { + "name": "resultVariable", + "isAttr": true, + "type": "String" + }, + { + "name": "resource", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Process", + "isAbstract": true, + "extends": [ + "bpmn:Process" + ], + "properties": [ + { + "name": "candidateStarterGroups", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateStarterUsers", + "isAttr": true, + "type": "String" + }, + { + "name": "processCategory", + "isAttr": true, + "type": "String" + }, + { + "name": "versionTag", + "isAttr": true, + "type": "String" + }, + { + "name": "historyTimeToLive", + "isAttr": true, + "type": "String" + }, + { + "name": "isStartableInTasklist", + "isAttr": true, + "type": "Boolean", + "default": true + } + ] + }, + { + "name": "EscalationEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:EscalationEventDefinition" + ], + "properties": [ + { + "name": "escalationCodeVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "xcField", + "isAbstract": true, + "properties": [ + { + "name": "xcString", + "isMany": true, + "type": "Element" + } , + { + "name": "name", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "xcString", + "isAbstract": true, + "properties": [ + { + "name": "body", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "FormalExpression", + "isAbstract": true, + "extends": [ + "bpmn:FormalExpression" + ], + "properties": [ + { + "name": "resource", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Assignable", + "extends": [ "bpmn:UserTask" ], + "properties": [ + { + "name": "dataType", + "isAttr": true, + "type": "String" + }, + { + "name": "assignee", + "isAttr": true, + "type": "String" + }, + { + "name": "xcformKey", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateUsers", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateGroups", + "isAttr": true, + "type": "String" + }, + { + "name": "text", + "isAttr": true, + "type": "String" + }, + { + "name": "dueDate", + "isAttr": true, + "type": "String" + }, + { + "name": "followUpDate", + "isAttr": true, + "type": "String" + }, + { + "name": "priority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "CallActivity", + "extends": [ "bpmn:CallActivity" ], + "properties": [ + { + "name": "calledElementBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "calledElementVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "calledElementVersionTag", + "isAttr": true, + "type": "String" + }, + { + "name": "calledElementTenantId", + "isAttr": true, + "type": "String" + }, + { + "name": "caseRef", + "isAttr": true, + "type": "String" + }, + { + "name": "caseBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "caseVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "caseTenantId", + "isAttr": true, + "type": "String" + }, + { + "name": "variableMappingClass", + "isAttr": true, + "type": "String" + }, + { + "name": "variableMappingDelegateExpression", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ServiceTaskLike", + "extends": [ + "bpmn:ServiceTask", + "bpmn:BusinessRuleTask", + "bpmn:SendTask", + "bpmn:MessageEventDefinition" + ], + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "resultVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "DmnCapable", + "extends": [ + "bpmn:BusinessRuleTask" + ], + "properties": [ + { + "name": "decisionRef", + "isAttr": true, + "type": "String" + }, + { + "name": "decisionRefBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "decisionRefVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "mapDecisionResult", + "isAttr": true, + "type": "String", + "default": "resultList" + }, + { + "name": "decisionRefTenantId", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ExternalCapable", + "extends": [ + "flowable:ServiceTaskLike" + ], + "properties": [ + { + "name": "type", + "isAttr": true, + "type": "String" + }, + { + "name": "topic", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "TaskPriorized", + "extends": [ + "bpmn:Process", + "flowable:ExternalCapable" + ], + "properties": [ + { + "name": "taskPriority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Properties", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ "*" ] + }, + "properties": [ + { + "name": "values", + "type": "Property", + "isMany": true + } + ] + }, + { + "name": "Property", + "superClass": [ + "Element" + ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "value", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "Buttons", + "superClass": ["Element"], + "meta": { + "allowedIn": ["*"] + }, + "properties": [ + { + "name": "values", + "type": "Button", + "isMany": true + } + ] + }, + { + "name": "Button", + "superClass": ["Element"], + "properties": [ + { + "name": "id", + "type": "Integer", + "isAttr": true + }, + { + "name": "label", + "type": "String", + "isAttr": true + }, + { + "name": "code", + "type": "String", + "isAttr": true + }, + { + "name": "icon", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "size", + "type": "String", + "isAttr": true + }, + { + "name": "click", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "Connector", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ + "flowable:ServiceTaskLike" + ] + }, + "properties": [ + { + "name": "inputOutput", + "type": "InputOutput" + }, + { + "name": "connectorId", + "type": "String" + } + ] + }, + { + "name": "InputOutput", + "superClass": [ + "Element" + ], + "meta": { + "allowedIn": [ + "bpmn:FlowNode", + "flowable:Connector" + ] + }, + "properties": [ + { + "name": "inputOutput", + "type": "InputOutput" + }, + { + "name": "connectorId", + "type": "String" + }, + { + "name": "inputParameters", + "isMany": true, + "type": "InputParameter" + }, + { + "name": "outputParameters", + "isMany": true, + "type": "OutputParameter" + } + ] + }, + { + "name": "InputOutputParameter", + "properties": [ + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + }, + { + "name": "definition", + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "InputOutputParameterDefinition", + "isAbstract": true + }, + { + "name": "List", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "items", + "isMany": true, + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "Map", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "entries", + "isMany": true, + "type": "Entry" + } + ] + }, + { + "name": "Entry", + "properties": [ + { + "name": "key", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + }, + { + "name": "definition", + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "Value", + "superClass": [ + "InputOutputParameterDefinition" + ], + "properties": [ + { + "name": "id", + "isAttr": true, + "type": "String" + }, + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "Script", + "superClass": [ "InputOutputParameterDefinition" ], + "properties": [ + { + "name": "scriptFormat", + "isAttr": true, + "type": "String" + }, + { + "name": "resource", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "Field", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "flowable:ServiceTaskLike", + "flowable:ExecutionListener", + "flowable:TaskListener" + ] + }, + "properties": [ + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "expression", + "type": "String" + }, + { + "name": "stringValue", + "isAttr": true, + "type": "String" + }, + { + "name": "string", + "type": "String" + } + ] + }, + { + "name": "InputParameter", + "superClass": [ "InputOutputParameter" ] + }, + { + "name": "OutputParameter", + "superClass": [ "InputOutputParameter" ] + }, + { + "name": "Collectable", + "isAbstract": true, + "extends": [ "bpmn:MultiInstanceLoopCharacteristics" ], + "superClass": [ "flowable:AsyncCapable" ], + "properties": [ + { + "name": "collection", + "isAttr": true, + "type": "String" + }, + { + "name": "elementVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "FailedJobRetryTimeCycle", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "flowable:AsyncCapable", + "bpmn:MultiInstanceLoopCharacteristics" + ] + }, + "properties": [ + { + "name": "body", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "ExecutionListener", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:Task", + "bpmn:ServiceTask", + "bpmn:UserTask", + "bpmn:BusinessRuleTask", + "bpmn:ScriptTask", + "bpmn:ReceiveTask", + "bpmn:ManualTask", + "bpmn:ExclusiveGateway", + "bpmn:SequenceFlow", + "bpmn:ParallelGateway", + "bpmn:InclusiveGateway", + "bpmn:EventBasedGateway", + "bpmn:StartEvent", + "bpmn:IntermediateCatchEvent", + "bpmn:IntermediateThrowEvent", + "bpmn:EndEvent", + "bpmn:BoundaryEvent", + "bpmn:CallActivity", + "bpmn:SubProcess", + "bpmn:Process" + ] + }, + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "event", + "isAttr": true, + "type": "String" + }, + { + "name": "script", + "type": "Script" + }, + { + "name": "fields", + "type": "Field", + "isMany": true + } + ] + }, + { + "name": "TaskListener", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "event", + "isAttr": true, + "type": "String" + }, + { + "name": "script", + "type": "Script" + }, + { + "name": "fields", + "type": "Field", + "isMany": true + } + ] + }, + { + "name": "FormProperty", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "required", + "type": "String", + "isAttr": true + }, + { + "name": "readable", + "type": "String", + "isAttr": true + }, + { + "name": "writable", + "type": "String", + "isAttr": true + }, + { + "name": "variable", + "type": "String", + "isAttr": true + }, + { + "name": "expression", + "type": "String", + "isAttr": true + }, + { + "name": "datePattern", + "type": "String", + "isAttr": true + }, + { + "name": "default", + "type": "String", + "isAttr": true + }, + { + "name": "values", + "type": "Value", + "isMany": true + } + ] + }, + { + "name": "FormProperty", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "label", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "datePattern", + "type": "String", + "isAttr": true + }, + { + "name": "defaultValue", + "type": "String", + "isAttr": true + }, + { + "name": "properties", + "type": "Properties" + }, + { + "name": "validation", + "type": "Validation" + }, + { + "name": "values", + "type": "Value", + "isMany": true + } + ] + }, + { + "name": "Validation", + "superClass": [ "Element" ], + "properties": [ + { + "name": "constraints", + "type": "Constraint", + "isMany": true + } + ] + }, + { + "name": "Constraint", + "superClass": [ "Element" ], + "properties": [ + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "config", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "ExtensionElements", + "properties": [ + { + "name": "operationList", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "OperationList", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "operationList", + "type": "FormOperation", + "isMany": true + } + ] + }, + { + "name": "FormOperation", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "label", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "showOrder", + "type": "String", + "isAttr": true + }, + { + "name": "multiSignAssignee", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "VariableList", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "variableList", + "type": "FormVariable", + "isMany": true + } + ] + }, + { + "name": "FormVariable", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "DeptPostList", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "deptPostList", + "type": "DeptPost", + "isMany": true + } + ] + }, + { + "name": "DeptPost", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "postId", + "type": "String", + "isAttr": true + }, + { + "name": "deptPostId", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "UserCandidateGroups", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "value", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "CustomCondition", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:SequenceFlow" + ] + }, + "properties": [ + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "operationType", + "type": "String", + "isAttr": true + }, + { + "name": "parallelRefuse", + "type": "Boolean", + "isAttr": true, + "default": false + } + ] + }, + { + "name": "AssigneeList", + "superClass": [ "Element" ], + "meta": { + "allowedIn": [ + "bpmn:StartEvent", + "bpmn:UserTask" + ] + }, + "properties": [ + { + "name": "assigneeList", + "type": "Assignee", + "isMany": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "Assignee", + "superClass": [ "Element" ], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "ConditionalEventDefinition", + "isAbstract": true, + "extends": [ + "bpmn:ConditionalEventDefinition" + ], + "properties": [ + { + "name": "variableName", + "isAttr": true, + "type": "String" + }, + { + "name": "variableEvent", + "isAttr": true, + "type": "String" + } + ] + } + ], + "emumerations": [ ] +} diff --git a/src/plugins/package/designer/plugins/extension-moddle/activiti/activitiExtension.js b/src/plugins/package/designer/plugins/extension-moddle/activiti/activitiExtension.js new file mode 100644 index 0000000..1287e04 --- /dev/null +++ b/src/plugins/package/designer/plugins/extension-moddle/activiti/activitiExtension.js @@ -0,0 +1,74 @@ +"use strict"; + +var some = require("min-dash").some; + +var ALLOWED_TYPES = { + FailedJobRetryTimeCycle: ["bpmn:StartEvent", "bpmn:BoundaryEvent", "bpmn:IntermediateCatchEvent", "bpmn:Activity"], + Connector: ["bpmn:EndEvent", "bpmn:IntermediateThrowEvent"], + Field: ["bpmn:EndEvent", "bpmn:IntermediateThrowEvent"] +}; + +function is(element, type) { + return element && typeof element.$instanceOf === "function" && element.$instanceOf(type); +} + +function exists(element) { + return element && element.length; +} + +function includesType(collection, type) { + return ( + exists(collection) && + some(collection, function(element) { + return is(element, type); + }) + ); +} + +function anyType(element, types) { + return some(types, function(type) { + return is(element, type); + }); +} + +function isAllowed(propName, propDescriptor, newElement) { + var name = propDescriptor.name, + types = ALLOWED_TYPES[name.replace(/activiti:/, "")]; + + return name === propName && anyType(newElement, types); +} + +function ActivitiModdleExtension(eventBus) { + eventBus.on( + "property.clone", + function(context) { + var newElement = context.newElement, + propDescriptor = context.propertyDescriptor; + + this.canCloneProperty(newElement, propDescriptor); + }, + this + ); +} + +ActivitiModdleExtension.$inject = ["eventBus"]; + +ActivitiModdleExtension.prototype.canCloneProperty = function(newElement, propDescriptor) { + if (isAllowed("activiti:FailedJobRetryTimeCycle", propDescriptor, newElement)) { + return ( + includesType(newElement.eventDefinitions, "bpmn:TimerEventDefinition") || + includesType(newElement.eventDefinitions, "bpmn:SignalEventDefinition") || + is(newElement.loopCharacteristics, "bpmn:MultiInstanceLoopCharacteristics") + ); + } + + if (isAllowed("activiti:Connector", propDescriptor, newElement)) { + return includesType(newElement.eventDefinitions, "bpmn:MessageEventDefinition"); + } + + if (isAllowed("activiti:Field", propDescriptor, newElement)) { + return includesType(newElement.eventDefinitions, "bpmn:MessageEventDefinition"); + } +}; + +module.exports = ActivitiModdleExtension; diff --git a/src/plugins/package/designer/plugins/extension-moddle/activiti/index.js b/src/plugins/package/designer/plugins/extension-moddle/activiti/index.js new file mode 100644 index 0000000..6ce014a --- /dev/null +++ b/src/plugins/package/designer/plugins/extension-moddle/activiti/index.js @@ -0,0 +1,9 @@ +/* + * @author igdianov + * address https://github.com/igdianov/activiti-bpmn-moddle + * */ + +module.exports = { + __init__: ["ActivitiModdleExtension"], + ActivitiModdleExtension: ["type", require("./activitiExtension")] +}; diff --git a/src/plugins/package/designer/plugins/extension-moddle/camunda/extension.js b/src/plugins/package/designer/plugins/extension-moddle/camunda/extension.js new file mode 100644 index 0000000..a55236a --- /dev/null +++ b/src/plugins/package/designer/plugins/extension-moddle/camunda/extension.js @@ -0,0 +1,148 @@ +"use strict"; + +var isFunction = require("min-dash").isFunction, + isObject = require("min-dash").isObject, + some = require("min-dash").some; + +var WILDCARD = "*"; + +function CamundaModdleExtension(eventBus) { + var self = this; + + eventBus.on("moddleCopy.canCopyProperty", function(context) { + var property = context.property, + parent = context.parent; + + return self.canCopyProperty(property, parent); + }); +} + +CamundaModdleExtension.$inject = ["eventBus"]; + +/** + * Check wether to disallow copying property. + */ +CamundaModdleExtension.prototype.canCopyProperty = function(property, parent) { + // (1) check wether property is allowed in parent + if (isObject(property) && !isAllowedInParent(property, parent)) { + return false; + } + + // (2) check more complex scenarios + + if (is(property, "camunda:InputOutput") && !this.canHostInputOutput(parent)) { + return false; + } + + if (isAny(property, ["camunda:Connector", "camunda:Field"]) && !this.canHostConnector(parent)) { + return false; + } + + if (is(property, "camunda:In") && !this.canHostIn(parent)) { + return false; + } +}; + +CamundaModdleExtension.prototype.canHostInputOutput = function(parent) { + // allowed in camunda:Connector + var connector = getParent(parent, "camunda:Connector"); + + if (connector) { + return true; + } + + // special rules inside bpmn:FlowNode + var flowNode = getParent(parent, "bpmn:FlowNode"); + + if (!flowNode) { + return false; + } + + if (isAny(flowNode, ["bpmn:StartEvent", "bpmn:Gateway", "bpmn:BoundaryEvent"])) { + return false; + } + + if (is(flowNode, "bpmn:SubProcess") && flowNode.get("triggeredByEvent")) { + return false; + } + + return true; +}; + +CamundaModdleExtension.prototype.canHostConnector = function(parent) { + var serviceTaskLike = getParent(parent, "camunda:ServiceTaskLike"); + + if (is(serviceTaskLike, "bpmn:MessageEventDefinition")) { + // only allow on throw and end events + return getParent(parent, "bpmn:IntermediateThrowEvent") || getParent(parent, "bpmn:EndEvent"); + } + + return true; +}; + +CamundaModdleExtension.prototype.canHostIn = function(parent) { + var callActivity = getParent(parent, "bpmn:CallActivity"); + + if (callActivity) { + return true; + } + + var signalEventDefinition = getParent(parent, "bpmn:SignalEventDefinition"); + + if (signalEventDefinition) { + // only allow on throw and end events + return getParent(parent, "bpmn:IntermediateThrowEvent") || getParent(parent, "bpmn:EndEvent"); + } + + return true; +}; + +module.exports = CamundaModdleExtension; + +// helpers ////////// + +function is(element, type) { + return element && isFunction(element.$instanceOf) && element.$instanceOf(type); +} + +function isAny(element, types) { + return some(types, function(t) { + return is(element, t); + }); +} + +function getParent(element, type) { + if (!type) { + return element.$parent; + } + + if (is(element, type)) { + return element; + } + + if (!element.$parent) { + return; + } + + return getParent(element.$parent, type); +} + +function isAllowedInParent(property, parent) { + // (1) find property descriptor + var descriptor = property.$type && property.$model.getTypeDescriptor(property.$type); + + var allowedIn = descriptor && descriptor.meta && descriptor.meta.allowedIn; + + if (!allowedIn || isWildcard(allowedIn)) { + return true; + } + + // (2) check wether property has parent of allowed type + return some(allowedIn, function(type) { + return getParent(parent, type); + }); +} + +function isWildcard(allowedIn) { + return allowedIn.indexOf(WILDCARD) !== -1; +} diff --git a/src/plugins/package/designer/plugins/extension-moddle/camunda/index.js b/src/plugins/package/designer/plugins/extension-moddle/camunda/index.js new file mode 100644 index 0000000..0a9e41c --- /dev/null +++ b/src/plugins/package/designer/plugins/extension-moddle/camunda/index.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = { + __init__: ["camundaModdleExtension"], + camundaModdleExtension: ["type", require("./extension")] +}; diff --git a/src/plugins/package/designer/plugins/extension-moddle/flowable/flowableExtension.js b/src/plugins/package/designer/plugins/extension-moddle/flowable/flowableExtension.js new file mode 100644 index 0000000..4689024 --- /dev/null +++ b/src/plugins/package/designer/plugins/extension-moddle/flowable/flowableExtension.js @@ -0,0 +1,74 @@ +"use strict"; + +var some = require("min-dash").some; + +var ALLOWED_TYPES = { + FailedJobRetryTimeCycle: ["bpmn:StartEvent", "bpmn:BoundaryEvent", "bpmn:IntermediateCatchEvent", "bpmn:Activity"], + Connector: ["bpmn:EndEvent", "bpmn:IntermediateThrowEvent"], + Field: ["bpmn:EndEvent", "bpmn:IntermediateThrowEvent"] +}; + +function is(element, type) { + return element && typeof element.$instanceOf === "function" && element.$instanceOf(type); +} + +function exists(element) { + return element && element.length; +} + +function includesType(collection, type) { + return ( + exists(collection) && + some(collection, function(element) { + return is(element, type); + }) + ); +} + +function anyType(element, types) { + return some(types, function(type) { + return is(element, type); + }); +} + +function isAllowed(propName, propDescriptor, newElement) { + var name = propDescriptor.name, + types = ALLOWED_TYPES[name.replace(/flowable:/, "")]; + + return name === propName && anyType(newElement, types); +} + +function FlowableModdleExtension(eventBus) { + eventBus.on( + "property.clone", + function(context) { + var newElement = context.newElement, + propDescriptor = context.propertyDescriptor; + + this.canCloneProperty(newElement, propDescriptor); + }, + this + ); +} + +FlowableModdleExtension.$inject = ["eventBus"]; + +FlowableModdleExtension.prototype.canCloneProperty = function(newElement, propDescriptor) { + if (isAllowed("flowable:FailedJobRetryTimeCycle", propDescriptor, newElement)) { + return ( + includesType(newElement.eventDefinitions, "bpmn:TimerEventDefinition") || + includesType(newElement.eventDefinitions, "bpmn:SignalEventDefinition") || + is(newElement.loopCharacteristics, "bpmn:MultiInstanceLoopCharacteristics") + ); + } + + if (isAllowed("flowable:Connector", propDescriptor, newElement)) { + return includesType(newElement.eventDefinitions, "bpmn:MessageEventDefinition"); + } + + if (isAllowed("flowable:Field", propDescriptor, newElement)) { + return includesType(newElement.eventDefinitions, "bpmn:MessageEventDefinition"); + } +}; + +module.exports = FlowableModdleExtension; diff --git a/src/plugins/package/designer/plugins/extension-moddle/flowable/index.js b/src/plugins/package/designer/plugins/extension-moddle/flowable/index.js new file mode 100644 index 0000000..59837cc --- /dev/null +++ b/src/plugins/package/designer/plugins/extension-moddle/flowable/index.js @@ -0,0 +1,9 @@ +/* + * @author igdianov + * address https://github.com/igdianov/activiti-bpmn-moddle + * */ + +module.exports = { + __init__: ["FlowableModdleExtension"], + FlowableModdleExtension: ["type", require("./flowableExtension")] +}; diff --git a/src/plugins/package/designer/plugins/palette/CustomContextPad.js b/src/plugins/package/designer/plugins/palette/CustomContextPad.js new file mode 100644 index 0000000..6565747 --- /dev/null +++ b/src/plugins/package/designer/plugins/palette/CustomContextPad.js @@ -0,0 +1,528 @@ +/** + * 自定义任务弹窗节点 + * https://github.com/bpmn-io/bpmn-js/blob/80c1dc3231d274bc1d1a42afd21fc46a0cbe5b8f/lib/features/context-pad/ContextPadProvider.js + */ +import { + assign, + forEach, + isArray, + every +} from 'min-dash'; + +import { + is +} from 'bpmn-js/lib/util/ModelUtil'; + +import { + isExpanded, + isEventSubProcess +} from 'bpmn-js/lib/util/DiUtil'; + +import { + isAny +} from 'bpmn-js/lib/features/modeling/util/ModelingUtil'; + +import { + getChildLanes +} from 'bpmn-js/lib/features/modeling/util/LaneUtil'; + +import { + hasPrimaryModifier +} from 'diagram-js/lib/util/Mouse'; + + +/** + * A provider for BPMN 2.0 elements context pad + */ +export default function ContextPadProvider( + config, injector, eventBus, + contextPad, modeling, elementFactory, + connect, create, popupMenu, + canvas, rules, translate) { + + config = config || {}; + + contextPad.registerProvider(this); + + this._contextPad = contextPad; + + this._modeling = modeling; + + this._elementFactory = elementFactory; + this._connect = connect; + this._create = create; + this._popupMenu = popupMenu; + this._canvas = canvas; + this._rules = rules; + this._translate = translate; + + if (config.autoPlace !== false) { + this._autoPlace = injector.get('autoPlace', false); + } + + eventBus.on('create.end', 250, function(event) { + var context = event.context, + shape = context.shape; + + if (!hasPrimaryModifier(event) || !contextPad.isOpen(shape)) { + return; + } + + var entries = contextPad.getEntries(shape); + + if (entries.replace) { + entries.replace.action.click(event, shape); + } + }); +} + +ContextPadProvider.$inject = [ + 'config.contextPad', + 'injector', + 'eventBus', + 'contextPad', + 'modeling', + 'elementFactory', + 'connect', + 'create', + 'popupMenu', + 'canvas', + 'rules', + 'translate' +]; + +ContextPadProvider.prototype.getMultiElementContextPadEntries = function(elements) { + var modeling = this._modeling; + + var actions = {}; + + if (this._isDeleteAllowed(elements)) { + assign(actions, { + 'delete': { + group: 'edit', + className: 'bpmn-icon-trash', + title: this._translate('Remove'), + action: { + click: function(event, elements) { + modeling.removeElements(elements.slice()); + } + } + } + }); + } + + return actions; +}; + +/** + * @param {djs.model.Base[]} elements + * @return {boolean} + */ +ContextPadProvider.prototype._isDeleteAllowed = function(elements) { + + var baseAllowed = this._rules.allowed('elements.delete', { + elements: elements + }); + + if (isArray(baseAllowed)) { + return every(baseAllowed, function(element) { + return includes(baseAllowed, element); + }); + } + + return baseAllowed; +}; + +ContextPadProvider.prototype.getContextPadEntries = function(element) { + var contextPad = this._contextPad, + modeling = this._modeling, + + elementFactory = this._elementFactory, + connect = this._connect, + create = this._create, + popupMenu = this._popupMenu, + rules = this._rules, + autoPlace = this._autoPlace, + translate = this._translate; + + var actions = {}; + + if (element.type === 'label') { + return actions; + } + + var businessObject = element.businessObject; + + function startConnect(event, element) { + connect.start(event, element); + } + + function removeElement(e, element) { + modeling.removeElements([ element ]); + } + + function getReplaceMenuPosition(element) { + + var Y_OFFSET = 5; + + var pad = contextPad.getPad(element).html; + + var padRect = pad.getBoundingClientRect(); + + var pos = { + x: padRect.left, + y: padRect.bottom + Y_OFFSET + }; + + return pos; + } + + + /** + * Create an append action + * + * @param {string} type + * @param {string} className + * @param {string} [title] + * @param {Object} [options] + * + * @return {Object} descriptor + */ + function appendAction(type, className, title, options) { + + if (typeof title !== 'string') { + options = title; + title = translate('Append {type}', { type: type.replace(/^bpmn:/, '') }); + } + + function appendStart(event, element) { + + var shape = elementFactory.createShape(assign({ type: type }, options)); + create.start(event, shape, { + source: element + }); + } + + + var append = autoPlace ? function(event, element) { + var shape = elementFactory.createShape(assign({ type: type }, options)); + + autoPlace.append(element, shape); + } : appendStart; + + + return { + group: 'model', + className: className, + title: title, + action: { + dragstart: appendStart, + click: append + } + }; + } + + function splitLaneHandler(count) { + + return function(event, element) { + + // actual split + modeling.splitLane(element, count); + + // refresh context pad after split to + // get rid of split icons + contextPad.open(element, true); + }; + } + + + if (isAny(businessObject, [ 'bpmn:Lane', 'bpmn:Participant' ]) && isExpanded(element)) { + + var childLanes = getChildLanes(element); + + assign(actions, { + 'lane-insert-above': { + group: 'lane-insert-above', + className: 'bpmn-icon-lane-insert-above', + title: translate('Add Lane above'), + action: { + click: function(event, element) { + modeling.addLane(element, 'top'); + } + } + } + }); + + if (childLanes.length < 2) { + + if (element.height >= 120) { + assign(actions, { + 'lane-divide-two': { + group: 'lane-divide', + className: 'bpmn-icon-lane-divide-two', + title: translate('Divide into two Lanes'), + action: { + click: splitLaneHandler(2) + } + } + }); + } + + if (element.height >= 180) { + assign(actions, { + 'lane-divide-three': { + group: 'lane-divide', + className: 'bpmn-icon-lane-divide-three', + title: translate('Divide into three Lanes'), + action: { + click: splitLaneHandler(3) + } + } + }); + } + } + + assign(actions, { + 'lane-insert-below': { + group: 'lane-insert-below', + className: 'bpmn-icon-lane-insert-below', + title: translate('Add Lane below'), + action: { + click: function(event, element) { + modeling.addLane(element, 'bottom'); + } + } + } + }); + + } + + if (is(businessObject, 'bpmn:FlowNode')) { + + if (is(businessObject, 'bpmn:EventBasedGateway')) { + + assign(actions, { + 'append.receive-task': appendAction( + 'bpmn:ReceiveTask', + 'bpmn-icon-receive-task', + translate('Append ReceiveTask') + ), + 'append.message-intermediate-event': appendAction( + 'bpmn:IntermediateCatchEvent', + 'bpmn-icon-intermediate-event-catch-message', + translate('Append MessageIntermediateCatchEvent'), + { eventDefinitionType: 'bpmn:MessageEventDefinition' } + ), + 'append.timer-intermediate-event': appendAction( + 'bpmn:IntermediateCatchEvent', + 'bpmn-icon-intermediate-event-catch-timer', + translate('Append TimerIntermediateCatchEvent'), + { eventDefinitionType: 'bpmn:TimerEventDefinition' } + ), + 'append.condition-intermediate-event': appendAction( + 'bpmn:IntermediateCatchEvent', + 'bpmn-icon-intermediate-event-catch-condition', + translate('Append ConditionIntermediateCatchEvent'), + { eventDefinitionType: 'bpmn:ConditionalEventDefinition' } + ), + 'append.signal-intermediate-event': appendAction( + 'bpmn:IntermediateCatchEvent', + 'bpmn-icon-intermediate-event-catch-signal', + translate('Append SignalIntermediateCatchEvent'), + { eventDefinitionType: 'bpmn:SignalEventDefinition' } + ) + }); + } else + + if (isEventType(businessObject, 'bpmn:BoundaryEvent', 'bpmn:CompensateEventDefinition')) { + + assign(actions, { + 'append.compensation-activity': + appendAction( + 'bpmn:Task', + 'bpmn-icon-task', + translate('Append compensation activity'), + { + isForCompensation: true + } + ) + }); + } else + + if (!is(businessObject, 'bpmn:EndEvent') && + !businessObject.isForCompensation && + !isEventType(businessObject, 'bpmn:IntermediateThrowEvent', 'bpmn:LinkEventDefinition') && + !isEventSubProcess(businessObject)) { + + assign(actions, { + 'append.end-event': appendAction( + 'bpmn:EndEvent', + 'bpmn-icon-end-event-none', + translate('Append EndEvent') + ), + 'append.gateway': appendAction( + 'bpmn:ExclusiveGateway', + 'bpmn-icon-gateway-none', + translate('Append Gateway') + ), + 'append.append-user-task': appendAction( + 'bpmn:UserTask', + 'bpmn-icon-user-task', + '添加用户任务' + ), + 'append.intermediate-event': appendAction( + 'bpmn:IntermediateThrowEvent', + 'bpmn-icon-intermediate-event-none', + translate('Append Intermediate/Boundary Event') + ) + }); + } + } + + if (!popupMenu.isEmpty(element, 'bpmn-replace')) { + + // Replace menu entry + assign(actions, { + 'replace': { + group: 'edit', + className: 'bpmn-icon-screw-wrench', + title: translate('Change type'), + action: { + click: function(event, element) { + + var position = assign(getReplaceMenuPosition(element), { + cursor: { x: event.x, y: event.y } + }); + + popupMenu.open(element, 'bpmn-replace', position, { + title: translate('Change element'), + width: 300, + search: true + }); + } + } + } + }); + } + + if (is(businessObject, 'bpmn:SequenceFlow')) { + assign(actions, { + 'append.text-annotation': appendAction( + 'bpmn:TextAnnotation', + 'bpmn-icon-text-annotation' + ) + }); + } + + if ( + isAny(businessObject, [ + 'bpmn:FlowNode', + 'bpmn:InteractionNode', + 'bpmn:DataObjectReference', + 'bpmn:DataStoreReference', + ]) + ) { + assign(actions, { + 'append.text-annotation': appendAction( + 'bpmn:TextAnnotation', + 'bpmn-icon-text-annotation' + ), + + 'connect': { + group: 'connect', + className: 'bpmn-icon-connection-multi', + title: translate( + 'Connect using ' + + (businessObject.isForCompensation + ? '' + : 'Sequence/MessageFlow or ') + + 'Association' + ), + action: { + click: startConnect, + dragstart: startConnect, + }, + }, + }); + } + + if (is(businessObject, 'bpmn:TextAnnotation')) { + assign(actions, { + 'connect': { + group: 'connect', + className: 'bpmn-icon-connection-multi', + title: translate('Connect using Association'), + action: { + click: startConnect, + dragstart: startConnect, + }, + }, + }); + } + + if (isAny(businessObject, [ 'bpmn:DataObjectReference', 'bpmn:DataStoreReference' ])) { + assign(actions, { + 'connect': { + group: 'connect', + className: 'bpmn-icon-connection-multi', + title: translate('Connect using DataInputAssociation'), + action: { + click: startConnect, + dragstart: startConnect + } + } + }); + } + + if (is(businessObject, 'bpmn:Group')) { + assign(actions, { + 'append.text-annotation': appendAction('bpmn:TextAnnotation', 'bpmn-icon-text-annotation') + }); + } + + // delete element entry, only show if allowed by rules + var deleteAllowed = rules.allowed('elements.delete', { elements: [ element ] }); + + if (isArray(deleteAllowed)) { + + // was the element returned as a deletion candidate? + deleteAllowed = deleteAllowed[0] === element; + } + + if (deleteAllowed) { + assign(actions, { + 'delete': { + group: 'edit', + className: 'bpmn-icon-trash', + title: translate('Remove'), + action: { + click: removeElement + } + } + }); + } + + return actions; +}; + + +// helpers ///////// + +function isEventType(eventBo, type, definition) { + + var isType = eventBo.$instanceOf(type); + var isDefinition = false; + + var definitions = eventBo.eventDefinitions || []; + forEach(definitions, function(def) { + if (def.$type === definition) { + isDefinition = true; + } + }); + + return isType && isDefinition; +} + +function includes(array, item) { + return array.indexOf(item) !== -1; +} diff --git a/src/plugins/package/designer/plugins/palette/CustomPalette.js b/src/plugins/package/designer/plugins/palette/CustomPalette.js new file mode 100644 index 0000000..14dcc95 --- /dev/null +++ b/src/plugins/package/designer/plugins/palette/CustomPalette.js @@ -0,0 +1,228 @@ +/** + * 自定义左侧工具栏 + * https://github.com/bpmn-io/bpmn-js/blob/80c1dc3231d274bc1d1a42afd21fc46a0cbe5b8f/lib/features/palette/PaletteProvider.js#L100 + */ +import { + assign +} from 'min-dash'; + +import { getDi } from 'bpmn-js/lib/util/ModelUtil'; + +/** + * @typedef {import('diagram-js/lib/features/palette/Palette').default} Palette + * @typedef {import('diagram-js/lib/features/create/Create').default} Create + * @typedef {import('diagram-js/lib/core/ElementFactory').default} ElementFactory + * @typedef {import('../space-tool/BpmnSpaceTool').default} SpaceTool + * @typedef {import('diagram-js/lib/features/lasso-tool/LassoTool').default} LassoTool + * @typedef {import('diagram-js/lib/features/hand-tool/HandTool').default} HandTool + * @typedef {import('diagram-js/lib/features/global-connect/GlobalConnect').default} GlobalConnect + * @typedef {import('diagram-js/lib/i18n/translate/translate').default} Translate + * + * @typedef {import('diagram-js/lib/features/palette/Palette').PaletteEntries} PaletteEntries + */ + +/** + * A palette provider for BPMN 2.0 elements. + * + * @param {Palette} palette + * @param {Create} create + * @param {ElementFactory} elementFactory + * @param {SpaceTool} spaceTool + * @param {LassoTool} lassoTool + * @param {HandTool} handTool + * @param {GlobalConnect} globalConnect + * @param {Translate} translate + */ +export default function PaletteProvider( + palette, create, elementFactory, + spaceTool, lassoTool, handTool, + globalConnect, translate) { + + this._palette = palette; + this._create = create; + this._elementFactory = elementFactory; + this._spaceTool = spaceTool; + this._lassoTool = lassoTool; + this._handTool = handTool; + this._globalConnect = globalConnect; + this._translate = translate; + + palette.registerProvider(this); +} + +PaletteProvider.$inject = [ + 'palette', + 'create', + 'elementFactory', + 'spaceTool', + 'lassoTool', + 'handTool', + 'globalConnect', + 'translate' +]; + +/** + * @return {PaletteEntries} + */ +PaletteProvider.prototype.getPaletteEntries = function() { + + var actions = {}, + create = this._create, + elementFactory = this._elementFactory, + spaceTool = this._spaceTool, + lassoTool = this._lassoTool, + handTool = this._handTool, + globalConnect = this._globalConnect, + translate = this._translate; + + function createAction(type, group, className, title, options) { + + function createListener(event) { + var shape = elementFactory.createShape(assign({ type: type }, options)); + + if (options) { + var di = getDi(shape); + di.isExpanded = options.isExpanded; + } + + create.start(event, shape); + } + + var shortType = type.replace(/^bpmn:/, ''); + + return { + group: group, + className: className, + title: title || translate('Create {type}', { type: shortType }), + action: { + dragstart: createListener, + click: createListener + } + }; + } + + function createSubprocess(event) { + var subProcess = elementFactory.createShape({ + type: 'bpmn:SubProcess', + x: 0, + y: 0, + isExpanded: true + }); + + var startEvent = elementFactory.createShape({ + type: 'bpmn:StartEvent', + x: 40, + y: 82, + parent: subProcess + }); + + create.start(event, [ subProcess, startEvent ], { + hints: { + autoSelect: [ subProcess ] + } + }); + } + + function createParticipant(event) { + create.start(event, elementFactory.createParticipantShape()); + } + + assign(actions, { + 'hand-tool': { + group: 'tools', + className: 'bpmn-icon-hand-tool', + title: translate('Activate the hand tool'), + action: { + click: function(event) { + handTool.activateHand(event); + } + } + }, + 'lasso-tool': { + group: 'tools', + className: 'bpmn-icon-lasso-tool', + title: translate('Activate the lasso tool'), + action: { + click: function(event) { + lassoTool.activateSelection(event); + } + } + }, + 'space-tool': { + group: 'tools', + className: 'bpmn-icon-space-tool', + title: translate('Activate the create/remove space tool'), + action: { + click: function(event) { + spaceTool.activateSelection(event); + } + } + }, + 'global-connect-tool': { + group: 'tools', + className: 'bpmn-icon-connection-multi', + title: translate('Activate the global connect tool'), + action: { + click: function(event) { + globalConnect.start(event); + } + } + }, + 'tool-separator': { + group: 'tools', + separator: true + }, + 'create.start-event': createAction( + 'bpmn:StartEvent', 'event', 'bpmn-icon-start-event-none', + translate('Create StartEvent') + ), + 'create.intermediate-event': createAction( + 'bpmn:IntermediateThrowEvent', 'event', 'bpmn-icon-intermediate-event-none', + translate('Create Intermediate/Boundary Event') + ), + 'create.end-event': createAction( + 'bpmn:EndEvent', 'event', 'bpmn-icon-end-event-none', + translate('Create EndEvent') + ), + 'create.exclusive-gateway': createAction( + 'bpmn:ExclusiveGateway', 'gateway', 'bpmn-icon-gateway-none', + translate('Create Gateway') + ), + 'create.user-task': createAction( + 'bpmn:UserTask', 'activity', 'bpmn-icon-user-task', + translate('Create Task') + ), + 'create.data-object': createAction( + 'bpmn:DataObjectReference', 'data-object', 'bpmn-icon-data-object', + translate('Create DataObjectReference') + ), + 'create.data-store': createAction( + 'bpmn:DataStoreReference', 'data-store', 'bpmn-icon-data-store', + translate('Create DataStoreReference') + ), + 'create.subprocess-expanded': { + group: 'activity', + className: 'bpmn-icon-subprocess-expanded', + title: translate('Create expanded SubProcess'), + action: { + dragstart: createSubprocess, + click: createSubprocess + } + }, + 'create.participant-expanded': { + group: 'collaboration', + className: 'bpmn-icon-participant', + title: translate('Create Pool/Participant'), + action: { + dragstart: createParticipant, + click: createParticipant + } + }, + 'create.group': createAction( + 'bpmn:Group', 'artifact', 'bpmn-icon-group', + translate('Create Group') + ), + }); + + return actions; +}; diff --git a/src/plugins/package/designer/plugins/palette/index.js b/src/plugins/package/designer/plugins/palette/index.js new file mode 100644 index 0000000..c49c3e5 --- /dev/null +++ b/src/plugins/package/designer/plugins/palette/index.js @@ -0,0 +1,8 @@ +import CustomContextPad from './CustomContextPad'; +import CustomPalette from "./CustomPalette"; + +export default { + __init__: [ 'paletteProvider','contextPadProvider'], + paletteProvider: [ 'type', CustomPalette ], + contextPadProvider: [ 'type', CustomContextPad ], +}; diff --git a/src/plugins/package/designer/plugins/palette/paletteProvider.js b/src/plugins/package/designer/plugins/palette/paletteProvider.js new file mode 100644 index 0000000..d591f34 --- /dev/null +++ b/src/plugins/package/designer/plugins/palette/paletteProvider.js @@ -0,0 +1,161 @@ +import { assign } from "min-dash"; + +/** + * A palette provider for BPMN 2.0 elements. + */ +export default function PaletteProvider(palette, create, elementFactory, spaceTool, lassoTool, handTool, globalConnect, translate) { + this._palette = palette; + this._create = create; + this._elementFactory = elementFactory; + this._spaceTool = spaceTool; + this._lassoTool = lassoTool; + this._handTool = handTool; + this._globalConnect = globalConnect; + this._translate = translate; + + palette.registerProvider(this); +} + +PaletteProvider.$inject = ["palette", "create", "elementFactory", "spaceTool", "lassoTool", "handTool", "globalConnect", "translate"]; + +PaletteProvider.prototype.getPaletteEntries = function() { + var actions = {}, + create = this._create, + elementFactory = this._elementFactory, + spaceTool = this._spaceTool, + lassoTool = this._lassoTool, + handTool = this._handTool, + globalConnect = this._globalConnect, + translate = this._translate; + + function createAction(type, group, className, title, options) { + function createListener(event) { + var shape = elementFactory.createShape(assign({ type: type }, options)); + + if (options) { + shape.businessObject.di.isExpanded = options.isExpanded; + } + + create.start(event, shape); + } + + var shortType = type.replace(/^bpmn:/, ""); + + return { + group: group, + className: className, + title: title || translate("Create {type}", { type: shortType }), + action: { + dragstart: createListener, + click: createListener + } + }; + } + + function createSubprocess(event) { + var subProcess = elementFactory.createShape({ + type: "bpmn:SubProcess", + x: 0, + y: 0, + isExpanded: true + }); + + var startEvent = elementFactory.createShape({ + type: "bpmn:StartEvent", + x: 40, + y: 82, + parent: subProcess + }); + + create.start(event, [subProcess, startEvent], { + hints: { + autoSelect: [startEvent] + } + }); + } + + function createParticipant(event) { + create.start(event, elementFactory.createParticipantShape()); + } + + assign(actions, { + "hand-tool": { + group: "tools", + className: "bpmn-icon-hand-tool", + title: translate("Activate the hand tool"), + action: { + click: function(event) { + handTool.activateHand(event); + } + } + }, + "lasso-tool": { + group: "tools", + className: "bpmn-icon-lasso-tool", + title: translate("Activate the lasso tool"), + action: { + click: function(event) { + lassoTool.activateSelection(event); + } + } + }, + "space-tool": { + group: "tools", + className: "bpmn-icon-space-tool", + title: translate("Activate the create/remove space tool"), + action: { + click: function(event) { + spaceTool.activateSelection(event); + } + } + }, + "global-connect-tool": { + group: "tools", + className: "bpmn-icon-connection-multi", + title: translate("Activate the global connect tool"), + action: { + click: function(event) { + globalConnect.toggle(event); + } + } + }, + "tool-separator": { + group: "tools", + separator: true + }, + "create.start-event": createAction("bpmn:StartEvent", "event", "bpmn-icon-start-event-none", translate("Create StartEvent")), + "create.intermediate-event": createAction( + "bpmn:IntermediateThrowEvent", + "event", + "bpmn-icon-intermediate-event-none", + translate("Create Intermediate/Boundary Event") + ), + "create.end-event": createAction("bpmn:EndEvent", "event", "bpmn-icon-end-event-none", translate("Create EndEvent")), + "create.exclusive-gateway": createAction("bpmn:ExclusiveGateway", "gateway", "bpmn-icon-gateway-none", translate("Create Gateway")), + "create.user-task": createAction("bpmn:UserTask", "activity", "bpmn-icon-user-task", translate("Create User Task")), + "create.data-object": createAction("bpmn:DataObjectReference", "data-object", "bpmn-icon-data-object", translate("Create DataObjectReference")), + "create.data-store": createAction("bpmn:DataStoreReference", "data-store", "bpmn-icon-data-store", translate("Create DataStoreReference")), + "create.subprocess-expanded": { + group: "activity", + className: "bpmn-icon-subprocess-expanded", + title: translate("Create expanded SubProcess"), + action: { + dragstart: createSubprocess, + click: createSubprocess + } + }, + "create.participant-expanded": { + group: "collaboration", + className: "bpmn-icon-participant", + title: translate("Create Pool/Participant"), + action: { + dragstart: createParticipant, + click: createParticipant + } + }, + "create.group": createAction("bpmn:Group", "artifact", "bpmn-icon-group", translate("Create Group")), + "create.task": createAction("bpmn:ReceiveTask", "task", "bpmn-icon-receive-task", translate("Append Gateway")) + }); + + return actions; +}; diff --git a/src/plugins/package/designer/plugins/translate/customTranslate.js b/src/plugins/package/designer/plugins/translate/customTranslate.js new file mode 100644 index 0000000..508040d --- /dev/null +++ b/src/plugins/package/designer/plugins/translate/customTranslate.js @@ -0,0 +1,41 @@ +// import translations from "./zh"; +// +// export default function customTranslate(template, replacements) { +// replacements = replacements || {}; +// +// // Translate +// template = translations[template] || template; +// +// // Replace +// return template.replace(/{([^}]+)}/g, function(_, key) { +// let str = replacements[key]; +// if ( +// translations[replacements[key]] !== null && +// translations[replacements[key]] !== "undefined" +// ) { +// // eslint-disable-next-line no-mixed-spaces-and-tabs +// str = translations[replacements[key]]; +// // eslint-disable-next-line no-mixed-spaces-and-tabs +// } +// return str || "{" + key + "}"; +// }); +// } + +export default function customTranslate(translations) { + return function(template, replacements) { + replacements = replacements || {}; + // Translate + template = translations[template] || template; + + // Replace + return template.replace(/{([^}]+)}/g, function(_, key) { + let str = replacements[key]; + if (translations[replacements[key]] !== null && translations[replacements[key]] !== undefined) { + // eslint-disable-next-line no-mixed-spaces-and-tabs + str = translations[replacements[key]]; + // eslint-disable-next-line no-mixed-spaces-and-tabs + } + return str || "{" + key + "}"; + }); + }; +} diff --git a/src/plugins/package/designer/plugins/translate/zh.js b/src/plugins/package/designer/plugins/translate/zh.js new file mode 100644 index 0000000..8025239 --- /dev/null +++ b/src/plugins/package/designer/plugins/translate/zh.js @@ -0,0 +1,249 @@ +/** + * This is a sample file that should be replaced with the actual translation. + * + * Checkout https://github.com/bpmn-io/bpmn-js-i18n for a list of available + * translations and labels to translate. + */ +export default { + // 添加部分 + "Append EndEvent": "追加结束事件", + "Append Gateway": "追加网关", + "Append Task": "追加任务", + "Append Intermediate/Boundary Event": "追加中间抛出事件/边界事件", + + "Activate the global connect tool": "激活全局连接工具", + "Append {type}": "添加 {type}", + "Add Lane above": "在上面添加道", + "Divide into two Lanes": "分割成两个道", + "Divide into three Lanes": "分割成三个道", + "Add Lane below": "在下面添加道", + "Append compensation activity": "追加补偿活动", + "Change type": "修改类型", + "Connect using Association": "使用关联连接", + "Connect using Sequence/MessageFlow or Association": "使用顺序/消息流或者关联连接", + "Connect using DataInputAssociation": "使用数据输入关联连接", + Remove: "移除", + "Activate the hand tool": "激活抓手工具", + "Activate the lasso tool": "激活套索工具", + "Activate the create/remove space tool": "激活创建/删除空间工具", + "Create expanded SubProcess": "创建扩展子过程", + "Create IntermediateThrowEvent/BoundaryEvent": "创建中间抛出事件/边界事件", + "Create Pool/Participant": "创建池/参与者", + "Parallel Multi Instance": "并行多重事件", + "Sequential Multi Instance": "时序多重事件", + DataObjectReference: "数据对象参考", + DataStoreReference: "数据存储参考", + Loop: "循环", + "Ad-hoc": "即席", + "Create {type}": "创建 {type}", + "Data": "数据", + "Data Object Reference": "数据对象引用", + "Data Store Reference": "数据存储引用", + Task: "任务", + "Tasks": "任务", + "Send Task": "发送任务", + "Receive Task": "接收任务", + "User Task": "用户任务", + "Manual Task": "手工任务", + "Business Rule Task": "业务规则任务", + "Service Task": "服务任务", + "Script Task": "脚本任务", + "Call Activity": "调用活动", + "Sub Process (collapsed)": "子流程(折叠的)", + "Sub Process (expanded)": "子流程(展开的)", + "Start Event": "开始事件", + StartEvent: "开始事件", + "Intermediate Throw Event": "中间事件", + "End Event": "结束事件", + EndEvent: "结束事件", + "Create StartEvent": "创建开始事件", + "Create EndEvent": "创建结束事件", + "Create Task": "创建任务", + "Create User Task": "创建用户任务", + "Create Gateway": "创建网关", + "Create DataObjectReference": "创建数据对象", + "Create DataStoreReference": "创建数据存储", + "Create element": "创建元素", + "Create Group": "创建分组", + "Create Intermediate/Boundary Event": "创建中间/边界事件", + "Message Start Event": "消息开始事件", + "Timer Start Event": "定时开始事件", + "Conditional Start Event": "条件开始事件", + "Signal Start Event": "信号开始事件", + "Error Start Event": "错误开始事件", + "Escalation Start Event": "升级开始事件", + "Compensation Start Event": "补偿开始事件", + "Message Start Event (non-interrupting)": "消息开始事件(非中断)", + "Timer Start Event (non-interrupting)": "定时开始事件(非中断)", + "Conditional Start Event (non-interrupting)": "条件开始事件(非中断)", + "Signal Start Event (non-interrupting)": "信号开始事件(非中断)", + "Escalation Start Event (non-interrupting)": "升级开始事件(非中断)", + "Message Intermediate Catch Event": "消息中间捕获事件", + "Message Intermediate Throw Event": "消息中间抛出事件", + "Timer Intermediate Catch Event": "定时中间捕获事件", + "Escalation Intermediate Throw Event": "升级中间抛出事件", + "Conditional Intermediate Catch Event": "条件中间捕获事件", + "Link Intermediate Catch Event": "链接中间捕获事件", + "Link Intermediate Throw Event": "链接中间抛出事件", + "Compensation Intermediate Throw Event": "补偿中间抛出事件", + "Signal Intermediate Catch Event": "信号中间捕获事件", + "Signal Intermediate Throw Event": "信号中间抛出事件", + "Message End Event": "消息结束事件", + "Escalation End Event": "定时结束事件", + "Error End Event": "错误结束事件", + "Cancel End Event": "取消结束事件", + "Compensation End Event": "补偿结束事件", + "Signal End Event": "信号结束事件", + "Terminate End Event": "终止结束事件", + "Message Boundary Event": "消息边界事件", + "Message Boundary Event (non-interrupting)": "消息边界事件(非中断)", + "Timer Boundary Event": "定时边界事件", + "Timer Boundary Event (non-interrupting)": "定时边界事件(非中断)", + "Escalation Boundary Event": "升级边界事件", + "Escalation Boundary Event (non-interrupting)": "升级边界事件(非中断)", + "Conditional Boundary Event": "条件边界事件", + "Conditional Boundary Event (non-interrupting)": "条件边界事件(非中断)", + "Error Boundary Event": "错误边界事件", + "Cancel Boundary Event": "取消边界事件", + "Signal Boundary Event": "信号边界事件", + "Signal Boundary Event (non-interrupting)": "信号边界事件(非中断)", + "Compensation Boundary Event": "补偿边界事件", + "Exclusive Gateway": "互斥网关", + "Parallel Gateway": "并行网关", + "Inclusive Gateway": "相容网关", + "Complex Gateway": "复杂网关", + "Event based Gateway": "事件网关", + Transaction: "转运", + "Sub Process": "子流程", + "Sub Processes": "子流程", + "Events": "事件", + "Boundary Event": "边界事件", + "Event Sub Process": "事件子流程", + "Collapsed Pool": "折叠池", + "Expanded Pool": "展开池", + "Gateways": "网关", + + // Errors + "no parent for {element} in {parent}": "在{parent}里,{element}没有父类", + "no shape type specified": "没有指定的形状类型", + "flow elements must be children of pools/participants": "流元素必须是池/参与者的子类", + "out of bounds release": "out of bounds release", + "more than {count} child lanes": "子道大于{count} ", + "element required": "元素不能为空", + "diagram not part of bpmn:Definitions": "流程图不符合bpmn规范", + "no diagram to display": "没有可展示的流程图", + "no process or collaboration to display": "没有可展示的流程/协作", + "element {element} referenced by {referenced}#{property} not yet drawn": "由{referenced}#{property}引用的{element}元素仍未绘制", + "already rendered {element}": "{element} 已被渲染", + "failed to import {element}": "导入{element}失败", + //属性面板的参数 + Id: "编号", + Name: "名称", + General: "常规", + Details: "详情", + "Message Name": "消息名称", + Message: "消息", + Initiator: "创建者", + "Asynchronous Continuations": "持续异步", + "Asynchronous Before": "异步前", + "Asynchronous After": "异步后", + "Job Configuration": "工作配置", + Exclusive: "排除", + "Job Priority": "工作优先级", + "Retry Time Cycle": "重试时间周期", + Documentation: "文档", + "Element Documentation": "元素文档", + "History Configuration": "历史配置", + "History Time To Live": "历史的生存时间", + Forms: "表单", + "Form Key": "表单key", + "Form Fields": "表单字段", + "Business Key": "业务key", + "Form Field": "表单字段", + ID: "编号", + Type: "类型", + Label: "名称", + "Default Value": "默认值", + "Default Flow": "默认流转路径", + "Conditional Flow": "条件流转路径", + "Sequence Flow": "普通流转路径", + Validation: "校验", + "Add Constraint": "添加约束", + Config: "配置", + Properties: "属性", + "Add Property": "添加属性", + Value: "值", + Listeners: "监听器", + "Execution Listener": "执行监听", + "Event Type": "事件类型", + "Listener Type": "监听器类型", + "Java Class": "Java类", + Expression: "表达式", + "Must provide a value": "必须提供一个值", + "Delegate Expression": "代理表达式", + Script: "脚本", + "Script Format": "脚本格式", + "Script Type": "脚本类型", + "Inline Script": "内联脚本", + "External Script": "外部脚本", + Resource: "资源", + "Field Injection": "字段注入", + Extensions: "扩展", + "Input/Output": "输入/输出", + "Input Parameters": "输入参数", + "Output Parameters": "输出参数", + Parameters: "参数", + "Output Parameter": "输出参数", + "Timer Definition Type": "定时器定义类型", + "Timer Definition": "定时器定义", + Date: "日期", + Duration: "持续", + Cycle: "循环", + Signal: "信号", + "Signal Name": "信号名称", + Escalation: "升级", + Error: "错误", + "Link Name": "链接名称", + Condition: "条件名称", + "Variable Name": "变量名称", + "Variable Event": "变量事件", + "Specify more than one variable change event as a comma separated list.": "多个变量事件以逗号隔开", + "Wait for Completion": "等待完成", + "Activity Ref": "活动参考", + "Version Tag": "版本标签", + Executable: "可执行文件", + "External Task Configuration": "扩展任务配置", + "Task Priority": "任务优先级", + External: "外部", + Connector: "连接器", + "Must configure Connector": "必须配置连接器", + "Connector Id": "连接器编号", + Implementation: "实现方式", + "Field Injections": "字段注入", + Fields: "字段", + "Result Variable": "结果变量", + Topic: "主题", + "Configure Connector": "配置连接器", + "Input Parameter": "输入参数", + Assignee: "代理人", + "Candidate Users": "候选用户", + "Candidate Groups": "候选组", + "Due Date": "到期时间", + "Follow Up Date": "跟踪日期", + Priority: "优先级", + "The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)": + "跟踪日期必须符合EL表达式,如: ${someDate} ,或者一个ISO标准日期,如:2015-06-26T09:54:00", + "The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)": + "跟踪日期必须符合EL表达式,如: ${someDate} ,或者一个ISO标准日期,如:2015-06-26T09:54:00", + Variables: "变量", + "Candidate Starter Configuration": "候选人起动器配置", + "Candidate Starter Groups": "候选人起动器组", + "This maps to the process definition key.": "这映射到流程定义键。", + "Candidate Starter Users": "候选人起动器的用户", + "Specify more than one user as a comma separated list.": "指定多个用户作为逗号分隔的列表。", + "Tasklist Configuration": "Tasklist配置", + Startable: "启动", + "Specify more than one group as a comma separated list.": "指定多个组作为逗号分隔的列表。", + "Participants": "参与者", + "Empty Pool": "空泳道" +}; diff --git a/src/plugins/package/highlight/index.js b/src/plugins/package/highlight/index.js new file mode 100644 index 0000000..bff9211 --- /dev/null +++ b/src/plugins/package/highlight/index.js @@ -0,0 +1,5 @@ +const hljs = require("highlight.js/lib/core"); +hljs.registerLanguage("xml", require("highlight.js/lib/languages/xml")); +hljs.registerLanguage("json", require("highlight.js/lib/languages/json")); + +module.exports = hljs; diff --git a/src/plugins/package/index.js b/src/plugins/package/index.js new file mode 100644 index 0000000..d076cdd --- /dev/null +++ b/src/plugins/package/index.js @@ -0,0 +1,7 @@ +import BpmnProcessDesigner from "./designer"; +import BmpnProcessPenal from "./penal"; + +export { + BpmnProcessDesigner, + BmpnProcessPenal +} diff --git a/src/plugins/package/penal/PropertiesPanel.vue b/src/plugins/package/penal/PropertiesPanel.vue new file mode 100644 index 0000000..4261c55 --- /dev/null +++ b/src/plugins/package/penal/PropertiesPanel.vue @@ -0,0 +1,203 @@ + + diff --git a/src/plugins/package/penal/base/ElementBaseInfo.vue b/src/plugins/package/penal/base/ElementBaseInfo.vue new file mode 100644 index 0000000..485a77a --- /dev/null +++ b/src/plugins/package/penal/base/ElementBaseInfo.vue @@ -0,0 +1,80 @@ + + diff --git a/src/plugins/package/penal/flow-condition/FlowCondition.vue b/src/plugins/package/penal/flow-condition/FlowCondition.vue new file mode 100644 index 0000000..94cf823 --- /dev/null +++ b/src/plugins/package/penal/flow-condition/FlowCondition.vue @@ -0,0 +1,142 @@ + + + diff --git a/src/plugins/package/penal/form/ElementForm.vue b/src/plugins/package/penal/form/ElementForm.vue new file mode 100644 index 0000000..2a736ef --- /dev/null +++ b/src/plugins/package/penal/form/ElementForm.vue @@ -0,0 +1,433 @@ + + + diff --git a/src/plugins/package/penal/index.js b/src/plugins/package/penal/index.js new file mode 100644 index 0000000..9b398b2 --- /dev/null +++ b/src/plugins/package/penal/index.js @@ -0,0 +1,7 @@ +import BpmnPropertiesPanel from "./PropertiesPanel.vue"; + +BpmnPropertiesPanel.install = function(Vue) { + Vue.component(BpmnPropertiesPanel.name, BpmnPropertiesPanel); +}; + +export default BpmnPropertiesPanel; diff --git a/src/plugins/package/penal/listeners/ElementListeners.vue b/src/plugins/package/penal/listeners/ElementListeners.vue new file mode 100644 index 0000000..70bc3cc --- /dev/null +++ b/src/plugins/package/penal/listeners/ElementListeners.vue @@ -0,0 +1,395 @@ + + diff --git a/src/plugins/package/penal/listeners/UserTaskListeners.vue b/src/plugins/package/penal/listeners/UserTaskListeners.vue new file mode 100644 index 0000000..a7c7deb --- /dev/null +++ b/src/plugins/package/penal/listeners/UserTaskListeners.vue @@ -0,0 +1,444 @@ + + diff --git a/src/plugins/package/penal/listeners/template.js b/src/plugins/package/penal/listeners/template.js new file mode 100644 index 0000000..455b70d --- /dev/null +++ b/src/plugins/package/penal/listeners/template.js @@ -0,0 +1,178 @@ +export const template = isTaskListener => { + return ` +
    + + + + + + + + +
    + 添加监听器 +
    + + + + + + + + + + + + + + + + + + + + + + + + + + ${ + isTaskListener + ? "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + : "" + } + + +

    + 注入字段: + 添加字段 +

    + + + + + + + + + + +
    + 取 消 + 保 存 +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    + `; +}; diff --git a/src/plugins/package/penal/listeners/utilSelf.js b/src/plugins/package/penal/listeners/utilSelf.js new file mode 100644 index 0000000..7b1f19f --- /dev/null +++ b/src/plugins/package/penal/listeners/utilSelf.js @@ -0,0 +1,62 @@ +// 初始化表单数据 +export function initListenerForm(listener) { + let self = { + ...listener + }; + if (listener.script) { + self = { + ...listener, + ...listener.script, + scriptType: listener.script.resource ? "externalScript" : "inlineScript" + }; + } + if (listener.event === "timeout" && listener.eventDefinitions) { + if (listener.eventDefinitions.length) { + let k = ""; + for (let key in listener.eventDefinitions[0]) { + console.log(listener.eventDefinitions, key); + if (key.indexOf("time") !== -1) { + k = key; + self.eventDefinitionType = key.replace("time", "").toLowerCase(); + } + } + console.log(k); + self.eventTimeDefinitions = listener.eventDefinitions[0][k].body; + } + } + return self; +} + +export function initListenerType(listener) { + let listenerType; + if (listener.class) listenerType = "classListener"; + if (listener.expression) listenerType = "expressionListener"; + if (listener.delegateExpression) listenerType = "delegateExpressionListener"; + if (listener.script) listenerType = "scriptListener"; + return { + ...JSON.parse(JSON.stringify(listener)), + ...(listener.script ? listener.script : {}), + listenerType: listenerType + }; +} + +export const listenerType = { + classListener: "Java 类", + expressionListener: "表达式", + delegateExpressionListener: "代理表达式", + scriptListener: "脚本" +}; + +export const eventType = { + create: "创建", + assignment: "指派", + complete: "完成", + delete: "删除", + update: "更新", + timeout: "超时" +}; + +export const fieldType = { + string: "字符串", + expression: "表达式" +}; diff --git a/src/plugins/package/penal/multi-instance/ElementMultiInstance.vue b/src/plugins/package/penal/multi-instance/ElementMultiInstance.vue new file mode 100644 index 0000000..b4d1a80 --- /dev/null +++ b/src/plugins/package/penal/multi-instance/ElementMultiInstance.vue @@ -0,0 +1,194 @@ + + + diff --git a/src/plugins/package/penal/other/ElementOtherConfig.vue b/src/plugins/package/penal/other/ElementOtherConfig.vue new file mode 100644 index 0000000..a4427b2 --- /dev/null +++ b/src/plugins/package/penal/other/ElementOtherConfig.vue @@ -0,0 +1,59 @@ + + + diff --git a/src/plugins/package/penal/properties/ElementProperties.vue b/src/plugins/package/penal/properties/ElementProperties.vue new file mode 100644 index 0000000..54575c9 --- /dev/null +++ b/src/plugins/package/penal/properties/ElementProperties.vue @@ -0,0 +1,157 @@ + + + diff --git a/src/plugins/package/penal/signal-message/SignalAndMessage.vue b/src/plugins/package/penal/signal-message/SignalAndMessage.vue new file mode 100644 index 0000000..bb556cf --- /dev/null +++ b/src/plugins/package/penal/signal-message/SignalAndMessage.vue @@ -0,0 +1,115 @@ + + diff --git a/src/plugins/package/penal/task/ElementTask.vue b/src/plugins/package/penal/task/ElementTask.vue new file mode 100644 index 0000000..efb4f49 --- /dev/null +++ b/src/plugins/package/penal/task/ElementTask.vue @@ -0,0 +1,74 @@ + + + diff --git a/src/plugins/package/penal/task/task-components/ReceiveTask.vue b/src/plugins/package/penal/task/task-components/ReceiveTask.vue new file mode 100644 index 0000000..282f238 --- /dev/null +++ b/src/plugins/package/penal/task/task-components/ReceiveTask.vue @@ -0,0 +1,97 @@ + + + diff --git a/src/plugins/package/penal/task/task-components/ScriptTask.vue b/src/plugins/package/penal/task/task-components/ScriptTask.vue new file mode 100644 index 0000000..34ed9fd --- /dev/null +++ b/src/plugins/package/penal/task/task-components/ScriptTask.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/plugins/package/penal/task/task-components/ServiceTask.vue b/src/plugins/package/penal/task/task-components/ServiceTask.vue new file mode 100644 index 0000000..213cad5 --- /dev/null +++ b/src/plugins/package/penal/task/task-components/ServiceTask.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/plugins/package/penal/task/task-components/UserTask.vue b/src/plugins/package/penal/task/task-components/UserTask.vue new file mode 100644 index 0000000..afcdd99 --- /dev/null +++ b/src/plugins/package/penal/task/task-components/UserTask.vue @@ -0,0 +1,757 @@ + + + + + diff --git a/src/plugins/package/theme/flow-element-variables.scss b/src/plugins/package/theme/flow-element-variables.scss new file mode 100644 index 0000000..a54b6e0 --- /dev/null +++ b/src/plugins/package/theme/flow-element-variables.scss @@ -0,0 +1,63 @@ +/* 改变主题色变量 */ +// $--color-primary: #1890ff; +// $--color-danger: #ff4d4f; + +/* 改变 icon 字体路径变量,必需 */ + +.process-drawer .el-drawer__header { + padding: 16px 16px 8px 16px; + margin: 0; + line-height: 24px; + font-size: 18px; + color: #303133; + box-sizing: border-box; + border-bottom: 1px solid #e8e8e8; +} + +div[class^="el-drawer"]:focus, +span:focus { + outline: none; +} + +.process-drawer .el-drawer__body { + box-sizing: border-box; + padding: 16px; + width: 100%; + overflow-y: auto; +} + +.process-design { + .el-table td, + .el-table th { + color: #333; + } + + .el-dialog__header { + padding: 16px 16px 8px 16px; + box-sizing: border-box; + border-bottom: 1px solid #e8e8e8; + } + .el-dialog__body { + padding: 16px; + max-height: 80vh; + box-sizing: border-box; + overflow-y: auto; + } + .el-dialog__footer { + padding: 16px; + box-sizing: border-box; + border-top: 1px solid #e8e8e8; + } + .el-dialog__close { + font-weight: 600; + } + .el-select { + width: 100%; + } + .el-divider:not(.el-divider--horizontal) { + margin: 0 8px ; + } + .el-divider.el-divider--horizontal { + margin: 16px 0; + } +} diff --git a/src/plugins/package/theme/index.scss b/src/plugins/package/theme/index.scss new file mode 100644 index 0000000..abbfc91 --- /dev/null +++ b/src/plugins/package/theme/index.scss @@ -0,0 +1,171 @@ +@import "./flow-element-variables.scss"; +@import "~bpmn-js-token-simulation/assets/css/bpmn-js-token-simulation.css"; +@import "~bpmn-js-token-simulation/assets/css/font-awesome.min.css"; +@import "~bpmn-js-token-simulation/assets/css/normalize.css"; +@import "~bpmn-js/dist/assets/diagram-js.css"; +@import "~bpmn-js/dist/assets/bpmn-font/css/bpmn.css"; +@import "~bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css"; +@import "./process-designer.scss"; +@import "./process-panel.scss"; + +$success-color: #4eb819; +$primary-color: #409EFF; +$warning-color: #E6A23C; +$danger-color: #F56C6C; +$cancel-color: #909399; + +.process-viewer { + position: relative; + border: 1px solid #EFEFEF; + background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImEiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTAgMTBoNDBNMTAgMHY0ME0wIDIwaDQwTTIwIDB2NDBNMCAzMGg0ME0zMCAwdjQwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlMGUwZTAiIG9wYWNpdHk9Ii4yIi8+PHBhdGggZD0iTTQwIDBIMHY0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTBlMGUwIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2EpIi8+PC9zdmc+') repeat!important; + + .success-arrow { + fill: $success-color; + stroke: $success-color; + } + + .success-conditional { + fill: white; + stroke: $success-color; + } + + .fail-arrow { + fill: $warning-color; + stroke: $warning-color; + } + + .fail-conditional { + fill: white; + stroke: $warning-color; + } + + .success.djs-connection { + .djs-visual path { + stroke: $success-color!important; + marker-end: url(#sequenceflow-end-white-success)!important; + } + } + + .success.djs-connection.condition-expression { + .djs-visual path { + marker-start: url(#conditional-flow-marker-white-success)!important; + } + } + + .success.djs-shape { + .djs-visual rect { + stroke: $success-color!important; + fill: $success-color!important; + fill-opacity: 0.15!important; + } + + .djs-visual polygon { + stroke: $success-color!important; + } + + .djs-visual path:nth-child(2) { + stroke: $success-color!important; + fill: $success-color!important; + } + + .djs-visual circle { + stroke: $success-color!important; + fill: $success-color!important; + fill-opacity: 0.15!important; + } + } + + .primary.djs-shape { + .djs-visual rect { + stroke: $primary-color!important; + fill: $primary-color!important; + fill-opacity: 0.15!important; + } + + .djs-visual polygon { + stroke: $primary-color!important; + } + + .djs-visual circle { + stroke: $primary-color!important; + fill: $primary-color!important; + fill-opacity: 0.15!important; + } + } + + .warning.djs-connection { + .djs-visual path { + stroke: $warning-color!important; + marker-end: url(#sequenceflow-end-white-fail)!important; + } + } + + .warning.djs-connection.condition-expression { + .djs-visual path { + marker-start: url(#conditional-flow-marker-white-fail)!important; + } + } + + .warning.djs-shape { + .djs-visual rect { + stroke: $warning-color!important; + fill: $warning-color!important; + fill-opacity: 0.15!important; + } + + .djs-visual polygon { + stroke: $warning-color!important; + } + + .djs-visual path:nth-child(2) { + stroke: $warning-color!important; + fill: $warning-color!important; + } + + .djs-visual circle { + stroke: $warning-color!important; + fill: $warning-color!important; + fill-opacity: 0.15!important; + } + } + + .danger.djs-shape { + .djs-visual rect { + stroke: $danger-color!important; + fill: $danger-color!important; + fill-opacity: 0.15!important; + } + + .djs-visual polygon { + stroke: $danger-color!important; + } + + .djs-visual circle { + stroke: $danger-color!important; + fill: $danger-color!important; + fill-opacity: 0.15!important; + } + } + + .cancel.djs-shape { + .djs-visual rect { + stroke: $cancel-color!important; + fill: $cancel-color!important; + fill-opacity: 0.15!important; + } + + .djs-visual polygon { + stroke: $cancel-color!important; + } + + .djs-visual circle { + stroke: $cancel-color!important; + fill: $cancel-color!important; + fill-opacity: 0.15!important; + } + } +} + +.process-viewer .djs-tooltip-container, .process-viewer .djs-overlay-container, .process-viewer .djs-palette { + display: none; +} diff --git a/src/plugins/package/theme/process-designer.scss b/src/plugins/package/theme/process-designer.scss new file mode 100644 index 0000000..b52da69 --- /dev/null +++ b/src/plugins/package/theme/process-designer.scss @@ -0,0 +1,158 @@ +// 边框被 token-simulation 样式覆盖了 +.djs-palette { + background: var(--palette-background-color); + border: solid 1px var(--palette-border-color) !important; + border-radius: 2px; +} + +.my-process-designer { + padding: 5px 0 10px 10px; + display: flex; + flex-direction: column; + width: 100%; + height: 100%; + box-sizing: border-box; + .my-process-designer__header { + width: 100%; + min-height: 36px; + .el-button { + text-align: center; + } + .el-button-group { + margin: 4px; + } + .el-tooltip__popper { + .el-button { + width: 100%; + text-align: left; + padding-left: 8px; + padding-right: 8px; + } + .el-button:hover { + background: rgba(64, 158, 255, 0.8); + color: #ffffff; + } + } + .align { + position: relative; + i { + &:after { + content: "|"; + position: absolute; + transform: rotate(90deg) translate(200%, 60%); + } + } + } + .align.align-left i { + transform: rotate(90deg); + } + .align.align-right i { + transform: rotate(-90deg); + } + .align.align-top i { + transform: rotate(180deg); + } + .align.align-bottom i { + transform: rotate(0deg); + } + .align.align-center i { + transform: rotate(90deg); + &:after { + transform: rotate(90deg) translate(0, 60%); + } + } + .align.align-middle i { + transform: rotate(0deg); + &:after { + transform: rotate(90deg) translate(0, 60%); + } + } + } + .my-process-designer__container { + display: inline-flex; + width: 100%; + flex: 1; + .my-process-designer__canvas { + flex: 1; + height: 100%; + position: relative; + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImEiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTAgMTBoNDBNMTAgMHY0ME0wIDIwaDQwTTIwIDB2NDBNMCAzMGg0ME0zMCAwdjQwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlMGUwZTAiIG9wYWNpdHk9Ii4yIi8+PHBhdGggZD0iTTQwIDBIMHY0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTBlMGUwIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2EpIi8+PC9zdmc+") + repeat !important; + div.toggle-mode { + display: none; + } + } + .my-process-designer__property-panel { + height: 100%; + overflow: scroll; + overflow-y: auto; + z-index: 10; + * { + box-sizing: border-box; + } + } + svg { + height: 100%; + min-height: 100%; + overflow: hidden; + } + } +} + +//侧边栏配置 +.djs-palette.open { + .djs-palette-entries { + div[class^="bpmn-icon-"]:before, + div[class*="bpmn-icon-"]:before { + line-height: unset; + } + div.entry { + position: relative; + } + div.entry:hover { + &::after { + width: max-content; + content: attr(title); + vertical-align: text-bottom; + position: absolute; + right: -10px; + top: 0; + bottom: 0; + overflow: hidden; + transform: translateX(100%); + font-size: 0.5em; + display: inline-block; + text-decoration: inherit; + font-variant: normal; + text-transform: none; + background: #fafafa; + box-shadow: 0 0 6px #eeeeee; + border: 1px solid #cccccc; + box-sizing: border-box; + padding: 0 16px; + border-radius: 4px; + z-index: 100; + } + } + } +} +pre { + margin: 0; + height: 100%; + overflow: hidden; + max-height: calc(80vh - 32px); + overflow-y: auto; +} +.hljs { + word-break: break-word; + white-space: pre-wrap; +} +.hljs * { + font-family: Consolas, Monaco, monospace; +} + +.djs-popup-search-icon { + position: absolute; + left: 8px; + top: 0px; +} \ No newline at end of file diff --git a/src/plugins/package/theme/process-panel.scss b/src/plugins/package/theme/process-panel.scss new file mode 100644 index 0000000..2c7fbac --- /dev/null +++ b/src/plugins/package/theme/process-panel.scss @@ -0,0 +1,113 @@ +.process-design { + .process-panel__container { + box-sizing: border-box; + padding: 0 8px; + border-left: 1px solid #eeeeee; + box-shadow: 0 0 8px #cccccc; + max-height: 100%; + overflow-y: scroll; + } + .panel-tab__title { + font-weight: 600; + padding: 0 8px; + font-size: 1.1em; + line-height: 1.2em; + i { + margin-right: 8px; + font-size: 1.2em; + } + } + .panel-tab__content { + width: 100%; + box-sizing: border-box; + border-top: 1px solid #eeeeee; + padding: 8px 16px; + .panel-tab__content--title { + display: flex; + justify-content: space-between; + padding-bottom: 8px; + span { + flex: 1; + text-align: left; + } + } + } + .element-property { + width: 100%; + display: flex; + align-items: flex-start; + margin: 8px 0; + .element-property__label { + display: block; + width: 90px; + text-align: right; + overflow: hidden; + padding-right: 12px; + line-height: 32px; + font-size: 14px; + box-sizing: border-box; + } + .element-property__value { + flex: 1; + line-height: 32px; + } + .el-form-item { + width: 100%; + margin-bottom: 0; + padding-bottom: 18px; + } + } + .list-property { + flex-direction: column; + .element-listener-item { + width: 100%; + display: inline-grid; + grid-template-columns: 16px auto 32px 32px; + grid-column-gap: 8px; + } + .element-listener-item + .element-listener-item { + margin-top: 8px; + } + } + .listener-filed__title { + display: inline-flex; + width: 100%; + justify-content: space-between; + align-items: center; + margin-top: 0; + span { + width: 200px; + text-align: left; + font-size: 14px; + } + i { + margin-right: 8px; + } + } + .element-drawer__button { + margin-top: 8px; + width: 100%; + display: inline-flex; + justify-content: space-around; + } + .element-drawer__button > .el-button { + width: 100%; + } + + .el-collapse-item__content { + padding-bottom: 0; + } + .el-input.is-disabled .el-input__inner { + color: #999999; + } + .el-form-item.el-form-item--mini { + margin-bottom: 0; + & + .el-form-item { + margin-top: 16px; + } + } + .el-input__inner { + color: #191919; + } +} + diff --git a/src/plugins/package/utils.js b/src/plugins/package/utils.js new file mode 100644 index 0000000..1f1926d --- /dev/null +++ b/src/plugins/package/utils.js @@ -0,0 +1,69 @@ +// 创建监听器实例 +export function createListenerObject(options, isTask, prefix) { + const listenerObj = Object.create(null); + listenerObj.event = options.event; + // isTask && (listenerObj.id = options.id); // 任务监听器特有的 id 字段 + switch (options.listenerType) { + case "scriptListener": + listenerObj.script = createScriptObject(options, prefix); + break; + case "expressionListener": + listenerObj.expression = options.expression; + break; + case "delegateExpressionListener": + listenerObj.delegateExpression = options.delegateExpression; + break; + default: + listenerObj.class = options.class; + } + // 注入字段 + if (options.fields) { + listenerObj.fields = options.fields.map(field => { + return createFieldObject(field, prefix); + }); + } + // 任务监听器的 定时器 设置 + if (isTask && options.event === "timeout" && !!options.eventDefinitionType) { + const timeDefinition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body: options.eventTimeDefinitions }); + const TimerEventDefinition = window.bpmnInstances.moddle.create("bpmn:TimerEventDefinition", { + id: `TimerEventDefinition_${uuid(8)}`, + [`time${options.eventDefinitionType.replace(/^\S/, s => s.toUpperCase())}`]: timeDefinition + }); + listenerObj.eventDefinitions = [TimerEventDefinition]; + } + return window.bpmnInstances.moddle.create(`${prefix}:${isTask ? "TaskListener" : "ExecutionListener"}`, listenerObj); +} + +// 创建 监听器的注入字段 实例 +export function createFieldObject(option, prefix) { + const { name, fieldType, string, expression } = option; + const fieldConfig = fieldType === "string" ? { name, string } : { name, expression }; + return window.bpmnInstances.moddle.create(`${prefix}:Field`, fieldConfig); +} + +// 创建脚本实例 +export function createScriptObject(options, prefix) { + const { scriptType, scriptFormat, value, resource } = options; + const scriptConfig = scriptType === "inlineScript" ? { scriptFormat, value } : { scriptFormat, resource }; + return window.bpmnInstances.moddle.create(`${prefix}:Script`, scriptConfig); +} + +// 更新元素扩展属性 +export function updateElementExtensions(element, extensionList) { + const extensions = window.bpmnInstances.moddle.create("bpmn:ExtensionElements", { + values: extensionList + }); + window.bpmnInstances.modeling.updateProperties(element, { + extensionElements: extensions + }); +} + +// 创建一个id +export function uuid(length = 8, chars) { + let result = ""; + let charsString = chars || "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + for (let i = length; i > 0; --i) { + result += charsString[Math.floor(Math.random() * charsString.length)]; + } + return result; +} diff --git a/src/router/avue-router.js b/src/router/avue-router.js new file mode 100644 index 0000000..c95588e --- /dev/null +++ b/src/router/avue-router.js @@ -0,0 +1,160 @@ +import i18n from '@/i18n' + +const RouterPlugin = function () { + this.$router = null + this.$store = null +} +RouterPlugin.install = function (router, store) { + this.$router = router + this.$store = store + + function isURL (s) { + return /^http[s]?:\/\/.*/.test(s) + } + + function objToform (obj) { + const result = [] + Object.keys(obj).forEach(ele => { + result.push(`${ele}=${obj[ele]}`) + }) + return result.join('&') + } + + this.$router.$avueRouter = { + // 全局配置 + $website: this.$store.getters.website, + routerList: [], + group: '', + safe: this, + // 设置标题 + setTitle: function (title) { + title = title ? `${i18n.t(this.$website.title)} - ${i18n.t(title)}` : i18n.t(this.$website.title) + document.title = title + }, + closeTag: (value) => { + const tag = value || this.$store.getters.tag + this.$store.commit('DEL_TAG', tag) + }, + // 处理路由 + getPath: function (params) { + const { src } = params + let result = src || '/' + if (src.includes('http') || src.includes('https')) { + result = `/myiframe/urlPath?${objToform(params)}` + } + return result + }, + // 正则处理路由 + vaildPath: function (list, path) { + let result = false + list.forEach(ele => { + if (new RegExp('^' + ele + '.*', 'g').test(path)) { + result = true + } + }) + return result + }, + // 设置路由值 + getValue: function (route) { + let value = '' + if (route.query.src) { + value = route.query.src + } else { + value = route.path + } + return value + }, + // 动态路由 + formatRoutes: function (aMenu = [], first) { + const aRouter = [] + const propsConfig = this.$website.menu.props + const propsDefault = { + label: propsConfig.label || 'label', + path: propsConfig.path || 'path', + icon: propsConfig.icon || 'icon', + children: propsConfig.children || 'children', + meta: propsConfig.meta || 'meta' + } + if (aMenu.length === 0) { + return + } + for (let i = 0; i < aMenu.length; i++) { + const oMenu = aMenu[i] + const path = (() => { + if (!oMenu[propsDefault.path]) { + return + } else if (first) { + return oMenu[propsDefault.path].replace('/index', '') + } else { + return oMenu[propsDefault.path] + } + })() + + //特殊处理组件 + const component = 'views' + oMenu.path + + const name = oMenu[propsDefault.label] + + const icon = oMenu[propsDefault.icon] + + const children = oMenu[propsDefault.children] + + const meta = { + keepAlive: Number(oMenu['keepAlive']) == 1 + } + const isChild = children.length !== 0 + const oRouter = { + path: path, + // first為true, 第一階層(非畫面)import整個page/index/index.vue(渲染首頁) + // 非第一階層且有子菜單的話import layout/index.vue(最底階菜單的顯示會渲染在layout) + // 非第一層, 且無子菜單, import該畫面 + // component渲染為層層疊加 + component: () => first ? import('../page/index') : isChild && !first ? import('../page/index/layout' ) : import(`../${component}.vue`), + name: name, + icon: icon, + meta: meta, + redirect: (() => { + // 沒有子階, 且是第一層, 也不是URL + if (!isChild && first && !isURL(path)) { + // 菜單第一層即畫面 + return `${path}/index` + } + return '' + })(), + // 处理非一级路由 + children: !isChild ? (() => { + // 沒有子階, 且是第一層, 也不是URL + if (first) { + if (!isURL(path)) { + oMenu[propsDefault.path] = `${path}/index` + } + + // 菜單第一層即畫面 + return [ + { + component: () => import(`../${component}.vue`), + icon: icon, + name: name, + meta: meta, + path: 'index' + } ] + } + return [] + })() : (() => { + // 子階, 遞迴 + return this.formatRoutes(children, false) + })() + } + aRouter.push(oRouter) + } + if (first) { + if (!this.routerList.includes(aRouter[0][propsDefault.path])) { + aRouter.forEach(router => this.safe.$router.addRoute(router)) + this.routerList.push(aRouter[0][propsDefault.path]) + } + } + return aRouter + } + } +} +export default RouterPlugin diff --git a/src/router/axios.js b/src/router/axios.js new file mode 100644 index 0000000..044539b --- /dev/null +++ b/src/router/axios.js @@ -0,0 +1,113 @@ +import axios from 'axios' +import { serialize } from '@/util' +import { getStore } from '@/util/store' +import NProgress from 'nprogress' // progress bar +import errorCode from '@/const/errorCode' +import router from '@/router/router' +import { Message, MessageBox } from 'element-ui' +import 'nprogress/nprogress.css' +import qs from 'qs' +import store from '@/store' // progress bar style +import i18n from '@/i18n' +axios.defaults.timeout = 300000 +// 返回其他状态吗 +axios.defaults.validateStatus = function (status) { + return status >= 200 && status <= 500 // 默认的 +} +// 跨域请求,允许保存cookie +axios.defaults.withCredentials = true +// NProgress Configuration +NProgress.configure({ + showSpinner: false, +}) + +// HTTPrequest拦截 +axios.interceptors.request.use( + (config) => { + NProgress.start() // start progress bar + const TENANT_ID = getStore({ name: 'tenantId' }) + const isToken = (config.headers || {}).isToken === false + const token = store.getters.access_token + if (token && !isToken) { + config.headers['Authorization'] = 'Bearer ' + token // token + } + if (TENANT_ID) { + config.headers['TENANT-ID'] = TENANT_ID // 租户ID + } + // 指定瀏覽器語系 + config.headers['Accept-Language'] = navigator.language + + // headers中配置serialize为true开启序列化 + if (config.method === 'post' && config.headers.serialize) { + config.data = serialize(config.data) + delete config.data.serialize + } + + if (config.method === 'get') { + config.paramsSerializer = function (params) { + return qs.stringify(params, { arrayFormat: 'repeat' }) + } + } + + return config + }, + (error) => { + return Promise.reject(error) + } +) + +// HTTPresponse拦截 +axios.interceptors.response.use( + (res) => { + NProgress.done() + store.commit('SET_API_STATUS', '#00a870') + const status = Number(res.status) || 200 + const message = res.data.msg || errorCode[status] || errorCode['default'] + + // 后台定义 424 针对令牌过去的特殊响应码 + if (status === 424) { + MessageBox.alert(i18n.t('wel.tokenStatusExpired'), i18n.t('wel.systemMessage'), { + confirmButtonText: i18n.t('wel.relogin'), + type: 'warning', + }) + .then(() => { + store.dispatch('LogOut').then(() => { + // 刷新登录页面,避免多次弹框 + window.location.reload() + }) + }) + .catch(() => {}) + return Promise.reject(new Error(message)) + } + + if(status === 426 && message === 'CHANGE_PASSWORD_REQUIRED') { + // 強制修改密碼, 不彈出訊息 + return Promise.reject(new Error(message)) + } + + if (status !== 200 || res.data.code === 1) { + Message({ + message: message, + type: 'error', + }) + store.commit('SET_API_STATUS', '#e34d59') + return Promise.reject(new Error(message)) + } + + return res + }, + (error) => { + // 处理 503 网络异常 + if (error.response.status === 503) { + Message({ + message: error.response.data.msg, + type: 'error', + }) + } + NProgress.done() + store.commit('SET_API_STATUS', '#e34d59') + return Promise.reject(new Error(error)) + } +) + +export default axios diff --git a/src/router/page/index.js b/src/router/page/index.js new file mode 100644 index 0000000..b5e061a --- /dev/null +++ b/src/router/page/index.js @@ -0,0 +1,109 @@ +import Layout from '@/page/index/' +import i18n from '@/i18n' + +export default [ + { + path: '/login', + name: i18n.t('wel.loginPage'), + component: () => import(/* webpackChunkName: "page" */ '@/page/login/index'), + meta: { + keepAlive: true, + isTab: false, + isAuth: false, + }, + },{ + path: '/change-password', + name: 'change-password', + component: () => + import(/* webpackChunkName: "page" */ '@/page/login/changePassword'), + meta: { + keepAlive: true, + isTab: false, + isAuth: false + } + }, + { + path: '/wel', + component: Layout, + redirect: '/wel/index', + children: [ + { + path: 'index', + name: i18n.t('wel.homePage'), + component: () => import(/* webpackChunkName: "views" */ '@/page/wel'), + }, + ], + }, + { + path: '/lock', + name: i18n.t('wel.lockScreenPage'), + component: () => import(/* webpackChunkName: "page" */ '@/page/lock/index'), + meta: { + keepAlive: true, + isTab: false, + isAuth: false, + }, + }, + { + path: '/404', + component: () => import(/* webpackChunkName: "page" */ '@/components/error-page/404'), + name: '404', + meta: { + keepAlive: true, + isTab: false, + isAuth: true, + }, + }, + { + path: '/403', + component: () => import(/* webpackChunkName: "page" */ '@/components/error-page/403'), + name: '403', + meta: { + keepAlive: true, + isTab: false, + isAuth: false, + }, + }, + { + path: '/500', + component: () => import(/* webpackChunkName: "page" */ '@/components/error-page/500'), + name: '500', + meta: { + keepAlive: true, + isTab: false, + isAuth: false, + }, + }, + { + path: '/', + name: i18n.t('wel.homePage1'), + redirect: '/wel', + }, + { + path: '/myiframe', + component: Layout, + redirect: '/myiframe', + children: [ + { + path: ':routerPath', + name: 'iframe', + component: () => import(/* webpackChunkName: "page" */ '@/components/iframe/main'), + props: true, + }, + ], + }, + { + path: '*', + redirect: '/404', + }, + { + path: '/authredirect', + name: i18n.t('wel.authorizationPage'), + component: () => import(/* webpackChunkName: "page" */ '@/page/login/authredirect'), + meta: { + keepAlive: true, + isTab: false, + isAuth: false, + }, + }, +] diff --git a/src/router/router.js b/src/router/router.js new file mode 100644 index 0000000..f0d3892 --- /dev/null +++ b/src/router/router.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +import VueRouter from 'vue-router' +import PageRouter from './page/' +import ViewsRouter from './views/' +import AvueRouter from './avue-router' +import Store from '../store/' +Vue.use(VueRouter) +//创建路由 +export const createRouter = () => new VueRouter({ + routes: [...PageRouter, ...ViewsRouter] +}) + +const Router = createRouter() +AvueRouter.install(Router, Store) +Router.$avueRouter.formatRoutes(Store.state.user.menu, true) +// 重置路由 +export function resetRouter () { + const newRouter = createRouter() + Router.matcher = newRouter.matcher + AvueRouter.install(Router, Store) +} +export default Router diff --git a/src/router/views/index.js b/src/router/views/index.js new file mode 100644 index 0000000..7d38ed7 --- /dev/null +++ b/src/router/views/index.js @@ -0,0 +1,56 @@ +import Layout from '@/page/index/' +import i18n from '@/i18n' + +export default [ + { + path: '/info', + component: Layout, + redirect: '/info/index', + children: [ + { + path: 'index', + name: i18n.t('admin.personalInformation'), + component: () => import(/* webpackChunkName: "page" */ '@/views/admin/user/info'), + }, + ], + }, + { + path: '/activti', + component: Layout, + redirect: '/activti/detail', + children: [ + { + path: 'detail/:id', + component: () => import(/* webpackChunkName: "views" */ '@/views/activiti/detail'), + }, + ], + }, + { + path: '/gen', + component: Layout, + redirect: '/gen/dynamic', + children: [ + { + path: 'dynamic/:dsName/:tableName', + component: () => import(/* webpackChunkName: "views" */ '@/views/gen/dynamic'), + }, + ], + }, + { + path: '/dispatch', + component: () => import(/* webpackChunkName: "page" */ '@/views/mes/tds/dispatch-gantt/index'), + name: i18n.t('mes.tds.dispatch'), + meta: { + keepAlive: true, + }, + }, + { + path: '/workflow/work/start-new', + component: () => + import(/* webpackChunkName: "page" */ '@/views/workflow/work/start-new'), + name: '发起流程', + meta: { + keepAlive: true + } + }, +] diff --git a/src/shims-tsx.d.ts b/src/shims-tsx.d.ts new file mode 100644 index 0000000..486a860 --- /dev/null +++ b/src/shims-tsx.d.ts @@ -0,0 +1,21 @@ +import Vue, {VNode} from 'vue' + +declare global { + namespace JSX { + interface Element extends VNode { + } + + interface ElementClass extends Vue { + } + + interface IntrinsicElements { + [elem: string]: any; + } + } + + interface Window { + __wxjs_environment: any; + WebViewJavascriptBridge: any; + _czc: any; + } +} diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..ef1915c --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,8 @@ +declare module '*.vue' { + import Vue from 'vue' + export default Vue +} + +declare module 'vuex' +declare module 'vue-property-decorator' +declare module 'vue-class-component' \ No newline at end of file diff --git a/src/store/getters.js b/src/store/getters.js new file mode 100644 index 0000000..b77b9f0 --- /dev/null +++ b/src/store/getters.js @@ -0,0 +1,27 @@ +const getters = { + tag: state => state.tags.tag, + website: state => state.common.website, + userInfo: state => state.user.userInfo, + theme: state => state.common.theme, + themeName: state => state.common.themeName, + isShade: state => state.common.isShade, + isCollapse: state => state.common.isCollapse, + keyCollapse: (state, getters) => getters.screen > 1 ? getters.isCollapse : false, + screen: state => state.common.screen, + isLock: state => state.common.isLock, + isFullScreen: state => state.common.isFullScreen, + lockPasswd: state => state.common.lockPasswd, + tagList: state => state.tags.tagList, + tagWel: state => state.tags.tagWel, + access_token: state => state.user.access_token, + refresh_token: state => state.user.refresh_token, + roles: state => state.user.roles, + permissions: state => state.user.permissions, + menu: state => state.user.menu, + menuAll: state => state.user.menuAll, + logsList: state => state.logs.logsList, + logsLen: state => state.logs.logsList.length || 0, + logsFlag: (state, getters) => getters.logsLen === 0, + apiStatus: state => state.common.apiStatus +} +export default getters diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..bedf9f6 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import user from './modules/user' +import common from './modules/common' +import tags from './modules/tags' +import logs from './modules/logs' +import getters from './getters' +import dict from './modules/dict' + +Vue.use(Vuex) +const store = new Vuex.Store({ + modules: { + user, + common, + logs, + tags, + dict + }, + getters +}) + +export default store diff --git a/src/store/modules/common.js b/src/store/modules/common.js new file mode 100644 index 0000000..c17040b --- /dev/null +++ b/src/store/modules/common.js @@ -0,0 +1,170 @@ +import {getStore, removeStore, setStore} from '@/util/store' +import website from '@/const/website' + +const common = { + + state: { + isCollapse: false, + isFullScreen: false, + isShade: false, + screen: -1, + isLock: getStore({name: 'isLock'}) || false, + showTag: getStore({name: 'showTag'}), + showDebug: getStore({name: 'showDebug'}) || false, + showCollapse: getStore({name: 'showCollapse'}), + showSearch: getStore({name: 'showSearch'}), + showLock: getStore({name: 'showLock'}) || false, + showFullScreen: getStore({name: 'showFullScreen'}), + showTheme: getStore({name: 'showTheme'}), + showColor: getStore({name: 'showColor'}), + showMenu: getStore({name: 'showMenu'}), + theme: getStore({name: 'theme'}) || '#0966C2', + themeName: getStore({name: 'themeName'}) || 'theme-white', + lockPasswd: getStore({name: 'lockPasswd'}) || '', + website: website, + likeTopMenuId: undefined, + apiStatus:'#00a870', + }, + actions: {}, + mutations: { + SET_API_STATUS: (state, active) => { + state.apiStatus = active + }, + SET_SHADE: (state, active) => { + state.isShade = active + }, + SET_COLLAPSE: (state) => { + state.isCollapse = !state.isCollapse + }, + SET_FULLSCREEN: (state) => { + state.isFullScreen = !state.isFullScreen + }, + SET_SHOW_COLLAPSE: (state, active) => { + state.showCollapse = active + setStore({ + name: 'showCollapse', + content: state.showCollapse + }) + }, + SET_SHOW_TAG: (state, active) => { + state.showTag = active + setStore({ + name: 'showTag', + content: state.showTag + }) + }, + SET_SHOW_MENU: (state, active) => { + state.showMenu = active + setStore({ + name: 'showMenu', + content: state.showMenu + }) + }, + SET_SHOW_LOCK: (state, active) => { + state.showLock = active + setStore({ + name: 'showLock', + content: state.showLock + }) + }, + SET_SHOW_SEARCH: (state, active) => { + state.showSearch = active + setStore({ + name: 'showSearch', + content: state.showSearch + }) + }, + SET_SHOW_FULL_SCREEN: (state, active) => { + state.showFullScreen = active + setStore({ + name: 'showFullScreen', + content: state.showFullScreen + }) + }, + SET_SHOW_DEBUG: (state, active) => { + state.showDebug = active + setStore({ + name: 'showDebug', + content: state.showDebug + }) + }, + SET_SHOW_THEME: (state, active) => { + state.showTheme = active + setStore({ + name: 'showTheme', + content: state.showTheme + }) + }, + SET_SHOW_COLOR: (state, active) => { + state.showColor = active + setStore({ + name: 'showColor', + content: state.showColor + }) + }, + SET_LOCK: (state) => { + state.isLock = true + setStore({ + name: 'isLock', + content: state.isLock, + type: 'session' + }) + }, + SET_SCREEN: (state, screen) => { + state.screen = screen + }, + SET_THEME: (state, color) => { + state.theme = color + setStore({ + name: 'theme', + content: state.theme + }) + }, + SET_THEME_NAME: (state, themeName) => { + state.themeName = themeName + setStore({ + name: 'themeName', + content: state.themeName + }) + }, + SET_LOCK_PASSWD: (state, lockPasswd) => { + state.lockPasswd = lockPasswd + setStore({ + name: 'lockPasswd', + content: state.lockPasswd, + type: 'session' + }) + }, + CLEAR_LOCK: (state) => { + state.isLock = false + state.lockPasswd = '' + removeStore({ + name: 'lockPasswd' + }) + removeStore({ + name: 'isLock', + type: 'session' + }) + }, + LIKE_TOP_MENUID: (state, obj) => { + if (obj.id === undefined) { + obj.id = getStore({name: 'LIKE_TOP_MENUID'}) + } + + state.likeTopMenuId = obj.id + setStore({ + name: 'LIKE_TOP_MENUID', + content: state.likeTopMenuId, + type: 'session' + }) + }, + REMOVE_LIKE_TOP_MENUID: (state) => { + state.likeTopMenuId = undefined + removeStore({ + name: 'LIKE_TOP_MENUID', + type: 'session' + }) + } + } +} +export default common diff --git a/src/store/modules/dict.js b/src/store/modules/dict.js new file mode 100644 index 0000000..f95bead --- /dev/null +++ b/src/store/modules/dict.js @@ -0,0 +1,50 @@ +const state = { + dict: new Array() +} +const mutations = { + SET_DICT: (state, { key, value }) => { + if (key !== null && key !== "") { + state.dict.push({ + key: key, + value: value + }) + } + }, + REMOVE_DICT: (state, key) => { + try { + for (let i = 0; i < state.dict.length; i++) { + if (state.dict[i].key == key) { + state.dict.splice(i, i) + return true + } + } + } catch (e) { + } + }, + CLEAN_DICT: (state) => { + state.dict = new Array() + } +} + +const actions = { + // 设置字典 + setDict({ commit }, data) { + commit('SET_DICT', data) + }, + // 删除字典 + removeDict({ commit }, key) { + commit('REMOVE_DICT', key) + }, + // 清空字典 + cleanDict({ commit }) { + commit('CLEAN_DICT') + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/store/modules/logs.js b/src/store/modules/logs.js new file mode 100644 index 0000000..1804b70 --- /dev/null +++ b/src/store/modules/logs.js @@ -0,0 +1,44 @@ +import { getStore, setStore } from '@/util/store' +import { dateFormat } from '@/filters/' +import { sendLogs } from '@/api/admin/log' + +const logs = { + state: { + logsList: getStore({ name: 'logsList' }) || [] + }, + actions: { + // 发送错误日志 + SendLogs({ state, commit }) { + return new Promise((resolve, reject) => { + sendLogs(state.logsList).then(() => { + commit('CLEAR_LOGS') + resolve() + }).catch(error => { + reject(error) + }) + }) + } + }, + mutations: { + ADD_LOGS: (state, { type, message, stack, info }) => { + state.logsList.push(Object.assign({ + id: state.logsList.length, + url: window.location.href, + time: dateFormat(new Date()) + }, { + type, + message, + stack, + info: info.toString() + })) + setStore({ name: 'logsList', content: state.logsList }) + }, + CLEAR_LOGS: (state) => { + state.logsList = [] + setStore({ name: 'logsList', content: state.logsList }) + } + } + +} + +export default logs diff --git a/src/store/modules/tags.js b/src/store/modules/tags.js new file mode 100644 index 0000000..9151203 --- /dev/null +++ b/src/store/modules/tags.js @@ -0,0 +1,72 @@ +import { getStore, setStore } from '@/util/store' +import { diff } from '@/util' +import website from '@/const/website' + +const isFirstPage = website.isFirstPage +const tagWel = website.fistPage +const tagObj = { + label: '', // 标题名称 + value: '', // 标题的路径 + params: '', // 标题的路径参数 + query: '', // 标题的参数 + group: [] // 分组 +} + +// 处理首个标签 +function setFistTag(list) { + if (list.length === 1) { + list[0].close = false + } else { + list.forEach(ele => { + if (ele.value === tagWel.value && isFirstPage === false) { + ele.close = false + } else { + ele.close = true + } + }) + } +} + +const navs = { + state: { + tagList: getStore({ name: 'tagList' }) || [], + tag: getStore({ name: 'tag' }) || tagObj, + tagWel: tagWel + }, + actions: {}, + mutations: { + ADD_TAG: (state, action) => { + state.tag = action + setStore({ name: 'tag', content: state.tag, type: 'session' }) + // if (state.tagList.some(ele => diff(ele, action))) return + // 同path不同参数获取Label错误,改为按全路径匹配 + if (state.tagList.some(ele => (ele.value === action.value))) return + state.tagList.push(action) + setFistTag(state.tagList) + setStore({ name: 'tagList', content: state.tagList, type: 'session' }) + }, + DEL_TAG: (state, action) => { + state.tagList = state.tagList.filter(item => { + return !diff(item, action) + }) + setFistTag(state.tagList) + setStore({ name: 'tagList', content: state.tagList, type: 'session' }) + }, + DEL_ALL_TAG: (state) => { + state.tagList = [state.tagWel] + setStore({ name: 'tagList', content: state.tagList, type: 'session' }) + }, + DEL_TAG_OTHER: (state) => { + state.tagList = state.tagList.filter(item => { + if (item.value === state.tag.value) { + return true + } else if (!website.isFirstPage && item.value === website.fistPage.value) { + return true + } + }) + setFistTag(state.tagList) + setStore({ name: 'tagList', content: state.tagList, type: 'session' }) + } + } +} +export default navs diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..bebf1e2 --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,257 @@ +import {getStore, setStore} from '@/util/store' +import {isURL, validatenull} from '@/util/validate' +import {loginByMobile, loginBySocial, loginByUsername, getUserInfo, logout, refreshToken} from '@/api/login' +import {deepClone, encryption, getQueryParam} from '@/util/util' +import webiste from '@/const/website' +import {resetRouter} from '@/router/router' +import {getMenu, getTopMenu} from '@/api/admin/menu' + +function addPath(ele, first) { + const menu = webiste.menu + const propsConfig = menu.props + const propsDefault = { + label: propsConfig.label || 'name', + path: propsConfig.path || 'path', + icon: propsConfig.icon || 'icon', + children: propsConfig.children || 'children' + } + const icon = ele[propsDefault.icon] + ele[propsDefault.icon] = validatenull(icon) ? menu.iconDefault : icon + const isChild = ele[propsDefault.children] && ele[propsDefault.children].length !== 0 + if (!isChild) ele[propsDefault.children] = [] + + if(ele[propsDefault.path] && ele[propsDefault.path].lastIndexOf("?") != -1) { + let queryParam = getQueryParam(ele.path) + ele.query = queryParam + ele[propsDefault.path] = ele[propsDefault.path].substring(0, ele[propsDefault.path].lastIndexOf("?")) + } + + if (!isChild && first && !isURL(ele[propsDefault.path])) { + ele[propsDefault.path] = ele[propsDefault.path] + '/index' + } else { + ele[propsDefault.children].forEach(child => { + addPath(child) + }) + } +} + +const user = { + state: { + userInfo: getStore({ + name: 'userInfo' + }) || {}, + permissions: getStore({ + name: 'permissions' + }) || [], + roles: [], + menu: getStore({ + name: 'menu' + }) || [], + menuAll: [], + access_token: getStore({ + name: 'access_token' + }) || '', + refresh_token: getStore({ + name: 'refresh_token' + }) || '' + }, + actions: { + // 根据用户名登录 + LoginByUsername({commit}, userInfo) { + let user = {} + if (webiste.passwordEnc) { + user = encryption({ + data: userInfo, + key: 'pigxpigxpigxpigx', + param: ['password'] + }) + } else { + user = userInfo + } + return new Promise((resolve, reject) => { + loginByUsername(user.username, user.password, user.code, user.randomStr).then(response => { + const data = response.data + commit('SET_ACCESS_TOKEN', data.access_token) + commit('SET_REFRESH_TOKEN', data.refresh_token) + commit('CLEAR_LOCK') + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + // 根据手机号登录 + LoginByPhone({commit}, userInfo) { + return new Promise((resolve, reject) => { + loginByMobile(userInfo.mobile, userInfo.code).then(response => { + const data = response.data + commit('SET_ACCESS_TOKEN', data.access_token) + commit('SET_REFRESH_TOKEN', data.refresh_token) + commit('CLEAR_LOCK') + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + // 根据OpenId登录 + LoginBySocial({commit}, param) { + return new Promise((resolve, reject) => { + loginBySocial(param.state, param.code).then(response => { + const data = response.data + commit('SET_ACCESS_TOKEN', data.access_token) + commit('SET_REFRESH_TOKEN', data.refresh_token) + commit('CLEAR_LOCK') + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + // 刷新token + RefreshToken({commit, state}) { + return new Promise((resolve, reject) => { + refreshToken(state.refresh_token).then(response => { + const data = response.data + commit('SET_ACCESS_TOKEN', data.access_token) + commit('SET_REFRESH_TOKEN', data.refresh_token) + commit('CLEAR_LOCK') + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + // 查询用户信息 + GetUserInfo({commit}) { + return new Promise((resolve, reject) => { + getUserInfo().then((res) => { + const data = res.data.data || {} + commit('SET_USER_INFO', data.sysUser) + commit('SET_ROLES', data.roles || []) + commit('SET_PERMISSIONS', data.permissions || []) + resolve(data) + }).catch(() => { + reject() + }) + }) + }, + // 登出 + LogOut({commit}) { + return new Promise((resolve, reject) => { + logout().then(() => { + resetRouter(); + commit('SET_MENU', []) + commit('SET_PERMISSIONS', []) + commit('SET_USER_INFO', {}) + commit('SET_ACCESS_TOKEN', '') + commit('SET_REFRESH_TOKEN', '') + commit('SET_ROLES', []) + commit('DEL_ALL_TAG') + commit('CLEAR_LOCK') + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + // 注销session + FedLogOut({commit}) { + return new Promise(resolve => { + resetRouter(); + commit('SET_MENU', []) + commit('SET_PERMISSIONS', []) + commit('SET_USER_INFO', {}) + commit('SET_ACCESS_TOKEN', '') + commit('SET_REFRESH_TOKEN', '') + commit('SET_ROLES', []) + commit('DEL_ALL_TAG') + commit('CLEAR_LOCK') + resolve() + }) + }, + // 获取系统菜单 + GetMenu({commit}, obj) { + // 记录用户点击顶部信息,保证刷新的时候不丢失 + commit('LIKE_TOP_MENUID', obj) + + return new Promise(resolve => { + getMenu(obj.id).then((res) => { + const data = res.data.data + const menu = deepClone(data) + menu.forEach(ele => { + addPath(ele) + }) + let type = obj.type + commit('SET_MENU', {type, menu}) + resolve(menu) + }) + }) + }, + //顶部菜单 + GetTopMenu() { + return new Promise(resolve => { + getTopMenu().then((res) => { + const data = res.data.data || [] + resolve(data) + }) + }) + } + }, + mutations: { + SET_ACCESS_TOKEN: (state, access_token) => { + state.access_token = access_token + setStore({ + name: 'access_token', + content: state.access_token, + type: 'session' + }) + }, + SET_REFRESH_TOKEN: (state, rfToken) => { + state.refresh_token = rfToken + setStore({ + name: 'refresh_token', + content: state.refresh_token, + type: 'session' + }) + }, + SET_USER_INFO: (state, userInfo) => { + state.userInfo = userInfo + setStore({ + name: 'userInfo', + content: userInfo, + type: 'session' + }) + }, + SET_MENU: (state, params = {}) => { + let {menu, type} = params; + if (type !== false) state.menu = menu + setStore({ + name: 'menu', + content: menu, + type: 'session' + }) + }, + SET_MENU_ALL: (state, menuAll) => { + state.menuAll = menuAll + }, + SET_ROLES: (state, roles) => { + state.roles = roles + }, + SET_PERMISSIONS: (state, permissions) => { + const list = {} + for (let i = 0; i < permissions.length; i++) { + list[permissions[i]] = true + } + + state.permissions = list + setStore({ + name: 'permissions', + content: list, + type: 'session' + }) + } + } + +} +export default user diff --git a/src/styles/animate/vue-transition.scss b/src/styles/animate/vue-transition.scss new file mode 100644 index 0000000..0c53d22 --- /dev/null +++ b/src/styles/animate/vue-transition.scss @@ -0,0 +1,64 @@ +// 过渡动画 横向渐变 +.fade-transverse-leave-active, +.fade-transverse-enter-active { + transition: all .5s; +} + +.fade-transverse-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transverse-leave-to { + opacity: 0; + transform: translateX(30px); +} + +// 过渡动画 缩放渐变 +.fade-scale-leave-active, +.fade-scale-enter-active { + transition: all .5s; +} + +.fade-scale-enter { + opacity: 0; + transform: scale(1.2); +} + +.fade-scale-leave-to { + opacity: 0; + transform: scale(0.8); +} + +@-webkit-keyframes animate-cloud { + from { + background-position: 600px 100%; + } + to { + background-position: 0 100%; + } +} +@-moz-keyframes animate-cloud { + from { + background-position: 600px 100%; + } + to { + background-position: 0 100%; + } +} +@-ms-keyframes animate-cloud { + from { + background-position: 600px 100%; + } + to { + background-position: 0 100%; + } +} +@-o-keyframes animate-cloud { + from { + background-position: 600px 100%; + } + to { + background-position: 0 100%; + } +} diff --git a/src/styles/common.scss b/src/styles/common.scss new file mode 100644 index 0000000..9bc4c6a --- /dev/null +++ b/src/styles/common.scss @@ -0,0 +1,112 @@ +// 全局变量 +@import './variables.scss'; +// ele样式覆盖 +@import './element-ui.scss'; +// Element原主題 +@import './index.css'; +// 顶部右侧显示 +@import './top.scss'; +// 导航标签 +@import './tags.scss'; +// 工具类函数 +@import './mixin.scss'; +// 侧面导航栏 +@import './sidebar.scss'; +// 动画 +@import './animate/vue-transition.scss'; +//主题 +@import './theme/index.scss'; +//适配 +@import './media.scss'; +//通用配置 +@import './normalize.scss'; +// dhtmlx scheduler +@import '../dhtml/dhtmlxscheduler_material.css'; +@import './semi.scss'; + +a { + text-decoration: none; + color: #333; +} + +* { + outline: none; +} + +// 关于 图标 CSS 的设置 +[class^="icon-"] { + font-family: "iconfont" !important; + /* 以下内容参照第三方图标库本身的规则 */ + font-size: 18px !important; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.avue-input-icon__item i, .avue-crud__icon--small { + font-family: "iconfont" !important; + /* 以下内容参照第三方图标库本身的规则 */ + font-size: 24px !important; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.el-menu-item [class^=icon-] { + margin-right: 5px; + width: 24px; + text-align: center; + font-size: 18px; + vertical-align: middle; +} + +.el-submenu [class^=icon-] { + vertical-align: middle; + margin-right: 5px; + width: 24px; + text-align: center; + font-size: 18px; +} + +.triangle > label::before { + display: inline-block; + content: ''; + width: 0; + height: 0; + border-style: solid; + border-width: 0 8px 13px 8px; + border-color: transparent transparent #060 transparent; +} +.setRequired > label::before { + display: inline-block; + content: '*'; + color:#d56262; + margin-right: 4px; +} + +@mixin margin-appearance-none() { + margin: 0; + -webkit-appearance: none !important; +} + +@mixin moz-appearance-textfield() { + -moz-appearance: textfield; +} + +.clear-number-input-btn.el-input { + @include moz-appearance-textfield(); + + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + @include margin-appearance-none(); + } + + input[type="number"] { + @include moz-appearance-textfield(); + + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + @include margin-appearance-none(); + } + } +} diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss new file mode 100644 index 0000000..30f7968 --- /dev/null +++ b/src/styles/element-ui.scss @@ -0,0 +1,106 @@ +.el-menu--popup{ + margin-left: -10px; + background-color: #fff ; + .el-menu-item{ + background-color: rgb(32,34,42) ; + span,i { + color:rgb(184,182,187) ; + } + &.is-active{ + background-color:rgba(0,0,0,1) ; + span,i { + color:#fff ; + } + &:hover{ + background-color:rgba(0,0,0,1) ; + } + } + &:hover{ + background-color: rgb(32,34,42) ; + i,span{ + color:#fff ; + } + } + } +} + +.el-dropdown-menu__item { + font-size: 12px !important; + line-height: 28px !important; +} + +.el-card.is-always-shadow { + box-shadow: none; + border: none !important; +} + +.el-scrollbar__view { + height: 100%; +} + + +.el-menu--horizontal { + border-bottom: none !important; +} + +.el-menu { + border-right: none !important; +} + +.el-menu--display, +.el-menu--display + .el-submenu__icon-arrow { + display: none; +} + +.el-dropdown-menu__item--divided:before, +.el-menu, +.el-menu--horizontal > .el-menu-item:not(.is-disabled):focus, +.el-menu--horizontal > .el-menu-item:not(.is-disabled):hover, +.el-menu--horizontal > .el-submenu .el-submenu__title:hover { + background-color: transparent; +} + +.el-message__icon, +.el-message__content { + display: inline-block; +} + +.el-date-editor .el-range-input, +.el-date-editor .el-range-separator { + height: auto; + overflow: hidden; +} + +.el-dialog__wrapper { + z-index: 2048; +} + + +.el-col { + margin-bottom: 8px; +} + +.el-main { + padding: 0 !important; +} + +.el-dropdown-menu__item--divided:before, .el-menu, .el-menu--horizontal > .el-menu-item:not(.is-disabled):focus, .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover, .el-menu--horizontal > .el-submenu .el-submenu__title:hover { + background-color: transparent !important; +} + +.el-button+.el-button, .el-checkbox.is-bordered+.el-checkbox.is-bordered{ + margin-left: 5px; +} + +/* +.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item { + margin-bottom: 5px !important; +} +*/ + +.el-hr { + height:1px; + border:none; + margin-top:0px; + border-top:1px solid #DCDFE6; +} diff --git a/src/styles/fonts/element-icons.ttf b/src/styles/fonts/element-icons.ttf new file mode 100644 index 0000000..91b74de Binary files /dev/null and b/src/styles/fonts/element-icons.ttf differ diff --git a/src/styles/fonts/element-icons.woff b/src/styles/fonts/element-icons.woff new file mode 100644 index 0000000..02b9a25 Binary files /dev/null and b/src/styles/fonts/element-icons.woff differ diff --git a/src/styles/index.css b/src/styles/index.css new file mode 100644 index 0000000..d7cc4f4 --- /dev/null +++ b/src/styles/index.css @@ -0,0 +1,32261 @@ +@charset "UTF-8"; + +.fade-in-linear-enter-active, +.fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.fade-in-linear-enter, +.fade-in-linear-leave, +.fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-linear-enter-active, +.el-fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.el-fade-in-linear-enter, +.el-fade-in-linear-leave, +.el-fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-enter-active, +.el-fade-in-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-fade-in-enter, +.el-fade-in-leave-active { + opacity: 0 +} + +.el-zoom-in-center-enter-active, +.el-zoom-in-center-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-zoom-in-center-enter, +.el-zoom-in-center-leave-active { + opacity: 0; + -webkit-transform: scaleX(0); + transform: scaleX(0) +} + +.el-zoom-in-top-enter-active, +.el-zoom-in-top-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center top; + transform-origin: center top +} + +.el-zoom-in-top-enter, +.el-zoom-in-top-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-bottom-enter-active, +.el-zoom-in-bottom-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center bottom; + transform-origin: center bottom +} + +.el-zoom-in-bottom-enter, +.el-zoom-in-bottom-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-left-enter-active, +.el-zoom-in-left-leave-active { + opacity: 1; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: top left; + transform-origin: top left +} + +.el-zoom-in-left-enter, +.el-zoom-in-left-leave-active { + opacity: 0; + -webkit-transform: scale(.45, .45); + transform: scale(.45, .45) +} + +.collapse-transition { + -webkit-transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out; + transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out +} + +.horizontal-collapse-transition { + -webkit-transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out; + transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out +} + +.el-list-enter-active, +.el-list-leave-active { + -webkit-transition: all 1s; + transition: all 1s +} + +.el-list-enter, +.el-list-leave-active { + opacity: 0; + -webkit-transform: translateY(-30px); + transform: translateY(-30px) +} + +.el-opacity-transition { + -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); + transition: opacity .3s cubic-bezier(.55, 0, .1, 1) +} + +@font-face { + font-family: element-icons; + src: url("fonts/element-icons.woff") format("woff"), url("fonts/element-icons.ttf") format("truetype"); + font-weight: 400; + font-display: "auto"; + font-style: normal +} + +[class*=" el-icon-"], +[class^=el-icon-] { + font-family: element-icons !important; + speak: none; + font-style: normal; + font-weight: 400; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: baseline; + display: inline-block; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +.el-icon-ice-cream-round:before { + content: "\e6a0" +} + +.el-icon-ice-cream-square:before { + content: "\e6a3" +} + +.el-icon-lollipop:before { + content: "\e6a4" +} + +.el-icon-potato-strips:before { + content: "\e6a5" +} + +.el-icon-milk-tea:before { + content: "\e6a6" +} + +.el-icon-ice-drink:before { + content: "\e6a7" +} + +.el-icon-ice-tea:before { + content: "\e6a9" +} + +.el-icon-coffee:before { + content: "\e6aa" +} + +.el-icon-orange:before { + content: "\e6ab" +} + +.el-icon-pear:before { + content: "\e6ac" +} + +.el-icon-apple:before { + content: "\e6ad" +} + +.el-icon-cherry:before { + content: "\e6ae" +} + +.el-icon-watermelon:before { + content: "\e6af" +} + +.el-icon-grape:before { + content: "\e6b0" +} + +.el-icon-refrigerator:before { + content: "\e6b1" +} + +.el-icon-goblet-square-full:before { + content: "\e6b2" +} + +.el-icon-goblet-square:before { + content: "\e6b3" +} + +.el-icon-goblet-full:before { + content: "\e6b4" +} + +.el-icon-goblet:before { + content: "\e6b5" +} + +.el-icon-cold-drink:before { + content: "\e6b6" +} + +.el-icon-coffee-cup:before { + content: "\e6b8" +} + +.el-icon-water-cup:before { + content: "\e6b9" +} + +.el-icon-hot-water:before { + content: "\e6ba" +} + +.el-icon-ice-cream:before { + content: "\e6bb" +} + +.el-icon-dessert:before { + content: "\e6bc" +} + +.el-icon-sugar:before { + content: "\e6bd" +} + +.el-icon-tableware:before { + content: "\e6be" +} + +.el-icon-burger:before { + content: "\e6bf" +} + +.el-icon-knife-fork:before { + content: "\e6c1" +} + +.el-icon-fork-spoon:before { + content: "\e6c2" +} + +.el-icon-chicken:before { + content: "\e6c3" +} + +.el-icon-food:before { + content: "\e6c4" +} + +.el-icon-dish-1:before { + content: "\e6c5" +} + +.el-icon-dish:before { + content: "\e6c6" +} + +.el-icon-moon-night:before { + content: "\e6ee" +} + +.el-icon-moon:before { + content: "\e6f0" +} + +.el-icon-cloudy-and-sunny:before { + content: "\e6f1" +} + +.el-icon-partly-cloudy:before { + content: "\e6f2" +} + +.el-icon-cloudy:before { + content: "\e6f3" +} + +.el-icon-sunny:before { + content: "\e6f6" +} + +.el-icon-sunset:before { + content: "\e6f7" +} + +.el-icon-sunrise-1:before { + content: "\e6f8" +} + +.el-icon-sunrise:before { + content: "\e6f9" +} + +.el-icon-heavy-rain:before { + content: "\e6fa" +} + +.el-icon-lightning:before { + content: "\e6fb" +} + +.el-icon-light-rain:before { + content: "\e6fc" +} + +.el-icon-wind-power:before { + content: "\e6fd" +} + +.el-icon-baseball:before { + content: "\e712" +} + +.el-icon-soccer:before { + content: "\e713" +} + +.el-icon-football:before { + content: "\e715" +} + +.el-icon-basketball:before { + content: "\e716" +} + +.el-icon-ship:before { + content: "\e73f" +} + +.el-icon-truck:before { + content: "\e740" +} + +.el-icon-bicycle:before { + content: "\e741" +} + +.el-icon-mobile-phone:before { + content: "\e6d3" +} + +.el-icon-service:before { + content: "\e6d4" +} + +.el-icon-key:before { + content: "\e6e2" +} + +.el-icon-unlock:before { + content: "\e6e4" +} + +.el-icon-lock:before { + content: "\e6e5" +} + +.el-icon-watch:before { + content: "\e6fe" +} + +.el-icon-watch-1:before { + content: "\e6ff" +} + +.el-icon-timer:before { + content: "\e702" +} + +.el-icon-alarm-clock:before { + content: "\e703" +} + +.el-icon-map-location:before { + content: "\e704" +} + +.el-icon-delete-location:before { + content: "\e705" +} + +.el-icon-add-location:before { + content: "\e706" +} + +.el-icon-location-information:before { + content: "\e707" +} + +.el-icon-location-outline:before { + content: "\e708" +} + +.el-icon-location:before { + content: "\e79e" +} + +.el-icon-place:before { + content: "\e709" +} + +.el-icon-discover:before { + content: "\e70a" +} + +.el-icon-first-aid-kit:before { + content: "\e70b" +} + +.el-icon-trophy-1:before { + content: "\e70c" +} + +.el-icon-trophy:before { + content: "\e70d" +} + +.el-icon-medal:before { + content: "\e70e" +} + +.el-icon-medal-1:before { + content: "\e70f" +} + +.el-icon-stopwatch:before { + content: "\e710" +} + +.el-icon-mic:before { + content: "\e711" +} + +.el-icon-copy-document:before { + content: "\e718" +} + +.el-icon-full-screen:before { + content: "\e719" +} + +.el-icon-switch-button:before { + content: "\e71b" +} + +.el-icon-aim:before { + content: "\e71c" +} + +.el-icon-crop:before { + content: "\e71d" +} + +.el-icon-odometer:before { + content: "\e71e" +} + +.el-icon-time:before { + content: "\e71f" +} + +.el-icon-bangzhu:before { + content: "\e724" +} + +.el-icon-close-notification:before { + content: "\e726" +} + +.el-icon-microphone:before { + content: "\e727" +} + +.el-icon-turn-off-microphone:before { + content: "\e728" +} + +.el-icon-position:before { + content: "\e729" +} + +.el-icon-postcard:before { + content: "\e72a" +} + +.el-icon-message:before { + content: "\e72b" +} + +.el-icon-chat-line-square:before { + content: "\e72d" +} + +.el-icon-chat-dot-square:before { + content: "\e72e" +} + +.el-icon-chat-dot-round:before { + content: "\e72f" +} + +.el-icon-chat-square:before { + content: "\e730" +} + +.el-icon-chat-line-round:before { + content: "\e731" +} + +.el-icon-chat-round:before { + content: "\e732" +} + +.el-icon-set-up:before { + content: "\e733" +} + +.el-icon-turn-off:before { + content: "\e734" +} + +.el-icon-open:before { + content: "\e735" +} + +.el-icon-connection:before { + content: "\e736" +} + +.el-icon-link:before { + content: "\e737" +} + +.el-icon-cpu:before { + content: "\e738" +} + +.el-icon-thumb:before { + content: "\e739" +} + +.el-icon-female:before { + content: "\e73a" +} + +.el-icon-male:before { + content: "\e73b" +} + +.el-icon-guide:before { + content: "\e73c" +} + +.el-icon-news:before { + content: "\e73e" +} + +.el-icon-price-tag:before { + content: "\e744" +} + +.el-icon-discount:before { + content: "\e745" +} + +.el-icon-wallet:before { + content: "\e747" +} + +.el-icon-coin:before { + content: "\e748" +} + +.el-icon-money:before { + content: "\e749" +} + +.el-icon-bank-card:before { + content: "\e74a" +} + +.el-icon-box:before { + content: "\e74b" +} + +.el-icon-present:before { + content: "\e74c" +} + +.el-icon-sell:before { + content: "\e6d5" +} + +.el-icon-sold-out:before { + content: "\e6d6" +} + +.el-icon-shopping-bag-2:before { + content: "\e74d" +} + +.el-icon-shopping-bag-1:before { + content: "\e74e" +} + +.el-icon-shopping-cart-2:before { + content: "\e74f" +} + +.el-icon-shopping-cart-1:before { + content: "\e750" +} + +.el-icon-shopping-cart-full:before { + content: "\e751" +} + +.el-icon-smoking:before { + content: "\e752" +} + +.el-icon-no-smoking:before { + content: "\e753" +} + +.el-icon-house:before { + content: "\e754" +} + +.el-icon-table-lamp:before { + content: "\e755" +} + +.el-icon-school:before { + content: "\e756" +} + +.el-icon-office-building:before { + content: "\e757" +} + +.el-icon-toilet-paper:before { + content: "\e758" +} + +.el-icon-notebook-2:before { + content: "\e759" +} + +.el-icon-notebook-1:before { + content: "\e75a" +} + +.el-icon-files:before { + content: "\e75b" +} + +.el-icon-collection:before { + content: "\e75c" +} + +.el-icon-receiving:before { + content: "\e75d" +} + +.el-icon-suitcase-1:before { + content: "\e760" +} + +.el-icon-suitcase:before { + content: "\e761" +} + +.el-icon-film:before { + content: "\e763" +} + +.el-icon-collection-tag:before { + content: "\e765" +} + +.el-icon-data-analysis:before { + content: "\e766" +} + +.el-icon-pie-chart:before { + content: "\e767" +} + +.el-icon-data-board:before { + content: "\e768" +} + +.el-icon-data-line:before { + content: "\e76d" +} + +.el-icon-reading:before { + content: "\e769" +} + +.el-icon-magic-stick:before { + content: "\e76a" +} + +.el-icon-coordinate:before { + content: "\e76b" +} + +.el-icon-mouse:before { + content: "\e76c" +} + +.el-icon-brush:before { + content: "\e76e" +} + +.el-icon-headset:before { + content: "\e76f" +} + +.el-icon-umbrella:before { + content: "\e770" +} + +.el-icon-scissors:before { + content: "\e771" +} + +.el-icon-mobile:before { + content: "\e773" +} + +.el-icon-attract:before { + content: "\e774" +} + +.el-icon-monitor:before { + content: "\e775" +} + +.el-icon-search:before { + content: "\e778" +} + +.el-icon-takeaway-box:before { + content: "\e77a" +} + +.el-icon-paperclip:before { + content: "\e77d" +} + +.el-icon-printer:before { + content: "\e77e" +} + +.el-icon-document-add:before { + content: "\e782" +} + +.el-icon-document:before { + content: "\e785" +} + +.el-icon-document-checked:before { + content: "\e786" +} + +.el-icon-document-copy:before { + content: "\e787" +} + +.el-icon-document-delete:before { + content: "\e788" +} + +.el-icon-document-remove:before { + content: "\e789" +} + +.el-icon-tickets:before { + content: "\e78b" +} + +.el-icon-folder-checked:before { + content: "\e77f" +} + +.el-icon-folder-delete:before { + content: "\e780" +} + +.el-icon-folder-remove:before { + content: "\e781" +} + +.el-icon-folder-add:before { + content: "\e783" +} + +.el-icon-folder-opened:before { + content: "\e784" +} + +.el-icon-folder:before { + content: "\e78a" +} + +.el-icon-edit-outline:before { + content: "\e764" +} + +.el-icon-edit:before { + content: "\e78c" +} + +.el-icon-date:before { + content: "\e78e" +} + +.el-icon-c-scale-to-original:before { + content: "\e7c6" +} + +.el-icon-view:before { + content: "\e6ce" +} + +.el-icon-loading:before { + content: "\e6cf" +} + +.el-icon-rank:before { + content: "\e6d1" +} + +.el-icon-sort-down:before { + content: "\e7c4" +} + +.el-icon-sort-up:before { + content: "\e7c5" +} + +.el-icon-sort:before { + content: "\e6d2" +} + +.el-icon-finished:before { + content: "\e6cd" +} + +.el-icon-refresh-left:before { + content: "\e6c7" +} + +.el-icon-refresh-right:before { + content: "\e6c8" +} + +.el-icon-refresh:before { + content: "\e6d0" +} + +.el-icon-video-play:before { + content: "\e7c0" +} + +.el-icon-video-pause:before { + content: "\e7c1" +} + +.el-icon-d-arrow-right:before { + content: "\e6dc" +} + +.el-icon-d-arrow-left:before { + content: "\e6dd" +} + +.el-icon-arrow-up:before { + content: "\e6e1" +} + +.el-icon-arrow-down:before { + content: "\e6df" +} + +.el-icon-arrow-right:before { + content: "\e6e0" +} + +.el-icon-arrow-left:before { + content: "\e6de" +} + +.el-icon-top-right:before { + content: "\e6e7" +} + +.el-icon-top-left:before { + content: "\e6e8" +} + +.el-icon-top:before { + content: "\e6e6" +} + +.el-icon-bottom:before { + content: "\e6eb" +} + +.el-icon-right:before { + content: "\e6e9" +} + +.el-icon-back:before { + content: "\e6ea" +} + +.el-icon-bottom-right:before { + content: "\e6ec" +} + +.el-icon-bottom-left:before { + content: "\e6ed" +} + +.el-icon-caret-top:before { + content: "\e78f" +} + +.el-icon-caret-bottom:before { + content: "\e790" +} + +.el-icon-caret-right:before { + content: "\e791" +} + +.el-icon-caret-left:before { + content: "\e792" +} + +.el-icon-d-caret:before { + content: "\e79a" +} + +.el-icon-share:before { + content: "\e793" +} + +.el-icon-menu:before { + content: "\e798" +} + +.el-icon-s-grid:before { + content: "\e7a6" +} + +.el-icon-s-check:before { + content: "\e7a7" +} + +.el-icon-s-data:before { + content: "\e7a8" +} + +.el-icon-s-opportunity:before { + content: "\e7aa" +} + +.el-icon-s-custom:before { + content: "\e7ab" +} + +.el-icon-s-claim:before { + content: "\e7ad" +} + +.el-icon-s-finance:before { + content: "\e7ae" +} + +.el-icon-s-comment:before { + content: "\e7af" +} + +.el-icon-s-flag:before { + content: "\e7b0" +} + +.el-icon-s-marketing:before { + content: "\e7b1" +} + +.el-icon-s-shop:before { + content: "\e7b4" +} + +.el-icon-s-open:before { + content: "\e7b5" +} + +.el-icon-s-management:before { + content: "\e7b6" +} + +.el-icon-s-ticket:before { + content: "\e7b7" +} + +.el-icon-s-release:before { + content: "\e7b8" +} + +.el-icon-s-home:before { + content: "\e7b9" +} + +.el-icon-s-promotion:before { + content: "\e7ba" +} + +.el-icon-s-operation:before { + content: "\e7bb" +} + +.el-icon-s-unfold:before { + content: "\e7bc" +} + +.el-icon-s-fold:before { + content: "\e7a9" +} + +.el-icon-s-platform:before { + content: "\e7bd" +} + +.el-icon-s-order:before { + content: "\e7be" +} + +.el-icon-s-cooperation:before { + content: "\e7bf" +} + +.el-icon-bell:before { + content: "\e725" +} + +.el-icon-message-solid:before { + content: "\e799" +} + +.el-icon-video-camera:before { + content: "\e772" +} + +.el-icon-video-camera-solid:before { + content: "\e796" +} + +.el-icon-camera:before { + content: "\e779" +} + +.el-icon-camera-solid:before { + content: "\e79b" +} + +.el-icon-download:before { + content: "\e77c" +} + +.el-icon-upload2:before { + content: "\e77b" +} + +.el-icon-upload:before { + content: "\e7c3" +} + +.el-icon-picture-outline-round:before { + content: "\e75f" +} + +.el-icon-picture-outline:before { + content: "\e75e" +} + +.el-icon-picture:before { + content: "\e79f" +} + +.el-icon-close:before { + content: "\e6db" +} + +.el-icon-check:before { + content: "\e6da" +} + +.el-icon-plus:before { + content: "\e6d9" +} + +.el-icon-minus:before { + content: "\e6d8" +} + +.el-icon-help:before { + content: "\e73d" +} + +.el-icon-s-help:before { + content: "\e7b3" +} + +.el-icon-circle-close:before { + content: "\e78d" +} + +.el-icon-circle-check:before { + content: "\e720" +} + +.el-icon-circle-plus-outline:before { + content: "\e723" +} + +.el-icon-remove-outline:before { + content: "\e722" +} + +.el-icon-zoom-out:before { + content: "\e776" +} + +.el-icon-zoom-in:before { + content: "\e777" +} + +.el-icon-error:before { + content: "\e79d" +} + +.el-icon-success:before { + content: "\e79c" +} + +.el-icon-circle-plus:before { + content: "\e7a0" +} + +.el-icon-remove:before { + content: "\e7a2" +} + +.el-icon-info:before { + content: "\e7a1" +} + +.el-icon-question:before { + content: "\e7a4" +} + +.el-icon-warning-outline:before { + content: "\e6c9" +} + +.el-icon-warning:before { + content: "\e7a3" +} + +.el-icon-goods:before { + content: "\e7c2" +} + +.el-icon-s-goods:before { + content: "\e7b2" +} + +.el-icon-star-off:before { + content: "\e717" +} + +.el-icon-star-on:before { + content: "\e797" +} + +.el-icon-more-outline:before { + content: "\e6cc" +} + +.el-icon-more:before { + content: "\e794" +} + +.el-icon-phone-outline:before { + content: "\e6cb" +} + +.el-icon-phone:before { + content: "\e795" +} + +.el-icon-user:before { + content: "\e6e3" +} + +.el-icon-user-solid:before { + content: "\e7a5" +} + +.el-icon-setting:before { + content: "\e6ca" +} + +.el-icon-s-tools:before { + content: "\e7ac" +} + +.el-icon-delete:before { + content: "\e6d7" +} + +.el-icon-delete-solid:before { + content: "\e7c9" +} + +.el-icon-eleme:before { + content: "\e7c7" +} + +.el-icon-platform-eleme:before { + content: "\e7ca" +} + +.el-icon-loading { + -webkit-animation: rotating 2s linear infinite; + animation: rotating 2s linear infinite +} + +.el-icon--right { + margin-left: 5px +} + +.el-icon--left { + margin-right: 5px +} + +@-webkit-keyframes rotating { + 0% { + -webkit-transform: rotateZ(0); + transform: rotateZ(0) + } + + 100% { + -webkit-transform: rotateZ(360deg); + transform: rotateZ(360deg) + } +} + +@keyframes rotating { + 0% { + -webkit-transform: rotateZ(0); + transform: rotateZ(0) + } + + 100% { + -webkit-transform: rotateZ(360deg); + transform: rotateZ(360deg) + } +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.el-select-dropdown { + position: absolute; + z-index: 1001; + border: solid 1px #e4e7ed; + border-radius: 4px; + background-color: #fff; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 5px 0 +} + +.el-select-dropdown.is-multiple .el-select-dropdown__item { + padding-right: 40px +} + +.el-select-dropdown.is-multiple .el-select-dropdown__item.selected { + color: #0966c2; + background-color: #fff +} + +.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { + background-color: #f5f7fa +} + +.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { + position: absolute; + right: 20px; + font-family: element-icons; + content: "\e6da"; + font-size: 12px; + font-weight: 700; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { + padding: 0 +} + +.el-select-dropdown__empty { + padding: 10px 0; + margin: 0; + text-align: center; + color: #999; + font-size: 14px +} + +.el-select-dropdown__wrap { + max-height: 274px +} + +.el-select-dropdown__list { + list-style: none; + padding: 6px 0; + margin: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-tag { + background-color: #e6f0f9; + border-color: #cee0f3; + color: #0966c2; + display: inline-block; + height: 32px; + padding: 0 10px; + line-height: 30px; + font-size: 12px; + color: #0966c2; + border-width: 1px; + border-style: solid; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: nowrap +} + +.el-tag.is-hit { + border-color: #0966c2 +} + +.el-tag .el-tag__close { + color: #0966c2 +} + +.el-tag .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag.el-tag--info { + background-color: #f4f4f5; + border-color: #e9e9eb; + color: #909399 +} + +.el-tag.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag.el-tag--success { + background-color: #f1f8f4; + border-color: #e4f0e9; + color: #77b591 +} + +.el-tag.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag.el-tag--warning { + background-color: #fdf6ec; + border-color: #faecd8; + color: #e6a23c +} + +.el-tag.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag.el-tag--danger { + background-color: #fbefef; + border-color: #f7e0e0; + color: #d56262 +} + +.el-tag.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + height: 16px; + width: 16px; + line-height: 16px; + vertical-align: middle; + top: -1px; + right: -5px +} + +.el-tag .el-icon-close::before { + display: block +} + +.el-tag--dark { + background-color: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-tag--dark.is-hit { + border-color: #0966c2 +} + +.el-tag--dark .el-tag__close { + color: #fff +} + +.el-tag--dark .el-tag__close:hover { + color: #fff; + background-color: #3a85ce +} + +.el-tag--dark.el-tag--info { + background-color: #909399; + border-color: #909399; + color: #fff +} + +.el-tag--dark.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--dark.el-tag--info .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #a6a9ad +} + +.el-tag--dark.el-tag--success { + background-color: #77b591; + border-color: #77b591; + color: #fff +} + +.el-tag--dark.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--dark.el-tag--success .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #92c4a7 +} + +.el-tag--dark.el-tag--warning { + background-color: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-tag--dark.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--dark.el-tag--warning .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #ebb563 +} + +.el-tag--dark.el-tag--danger { + background-color: #d56262; + border-color: #d56262; + color: #fff +} + +.el-tag--dark.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--dark.el-tag--danger .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #dd8181 +} + +.el-tag--plain { + background-color: #fff; + border-color: #9dc2e7; + color: #0966c2 +} + +.el-tag--plain.is-hit { + border-color: #0966c2 +} + +.el-tag--plain .el-tag__close { + color: #0966c2 +} + +.el-tag--plain .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag--plain.el-tag--info { + background-color: #fff; + border-color: #d3d4d6; + color: #909399 +} + +.el-tag--plain.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag--plain.el-tag--success { + background-color: #fff; + border-color: #c9e1d3; + color: #77b591 +} + +.el-tag--plain.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag--plain.el-tag--warning { + background-color: #fff; + border-color: #f5dab1; + color: #e6a23c +} + +.el-tag--plain.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag--plain.el-tag--danger { + background-color: #fff; + border-color: #eec0c0; + color: #d56262 +} + +.el-tag--plain.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag--medium { + height: 28px; + line-height: 26px +} + +.el-tag--medium .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--small { + height: 24px; + padding: 0 8px; + line-height: 22px +} + +.el-tag--small .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--mini { + height: 20px; + padding: 0 5px; + line-height: 19px +} + +.el-tag--mini .el-icon-close { + margin-left: -3px; + -webkit-transform: scale(.7); + transform: scale(.7) +} + +.el-select-dropdown__item { + font-size: 14px; + padding: 0 20px; + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: #606266; + height: 34px; + line-height: 34px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + cursor: pointer +} + +.el-select-dropdown__item.is-disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-select-dropdown__item.is-disabled:hover { + background-color: #fff +} + +.el-select-dropdown__item.hover, +.el-select-dropdown__item:hover { + background-color: #f5f7fa +} + +.el-select-dropdown__item.selected { + color: #0966c2; + font-weight: 700 +} + +.el-select-group { + margin: 0; + padding: 0 +} + +.el-select-group__wrap { + position: relative; + list-style: none; + margin: 0; + padding: 0 +} + +.el-select-group__wrap:not(:last-of-type) { + padding-bottom: 24px +} + +.el-select-group__wrap:not(:last-of-type)::after { + content: ''; + position: absolute; + display: block; + left: 20px; + right: 20px; + bottom: 12px; + height: 1px; + background: #e4e7ed +} + +.el-select-group__title { + padding-left: 20px; + font-size: 12px; + color: #909399; + line-height: 30px +} + +.el-select-group .el-select-dropdown__item { + padding-left: 20px +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-select { + display: inline-block; + position: relative +} + +.el-select .el-select__tags>span { + display: contents +} + +.el-select:hover .el-input__inner { + border-color: #c0c4cc +} + +.el-select .el-input__inner { + cursor: pointer; + padding-right: 35px +} + +.el-select .el-input__inner:focus { + border-color: #0966c2 +} + +.el-select .el-input .el-select__caret { + color: #c0c4cc; + font-size: 14px; + -webkit-transition: -webkit-transform .3s; + transition: -webkit-transform .3s; + transition: transform .3s; + transition: transform .3s, -webkit-transform .3s; + -webkit-transform: rotateZ(180deg); + transform: rotateZ(180deg); + cursor: pointer +} + +.el-select .el-input .el-select__caret.is-reverse { + -webkit-transform: rotateZ(0); + transform: rotateZ(0) +} + +.el-select .el-input .el-select__caret.is-show-close { + font-size: 14px; + text-align: center; + -webkit-transform: rotateZ(180deg); + transform: rotateZ(180deg); + border-radius: 100%; + color: #c0c4cc; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-select .el-input .el-select__caret.is-show-close:hover { + color: #909399 +} + +.el-select .el-input.is-disabled .el-input__inner { + cursor: not-allowed +} + +.el-select .el-input.is-disabled .el-input__inner:hover { + border-color: #e4e7ed +} + +.el-select .el-input.is-focus .el-input__inner { + border-color: #0966c2 +} + +.el-select>.el-input { + display: block +} + +.el-select__input { + border: none; + outline: 0; + padding: 0; + margin-left: 15px; + color: #666; + font-size: 14px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 28px; + background-color: transparent +} + +.el-select__input.is-mini { + height: 14px +} + +.el-select__close { + cursor: pointer; + position: absolute; + top: 8px; + z-index: 1000; + right: 25px; + color: #c0c4cc; + line-height: 18px; + font-size: 14px +} + +.el-select__close:hover { + color: #909399 +} + +.el-select__tags { + position: absolute; + line-height: normal; + white-space: normal; + z-index: 1; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -ms-flex-wrap: wrap; + flex-wrap: wrap +} + +.el-select__tags-text { + overflow: hidden; + text-overflow: ellipsis +} + +.el-select .el-tag { + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-color: transparent; + margin: 2px 0 2px 6px; + background-color: #f0f2f5; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + max-width: 100%; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-select .el-tag__close.el-icon-close { + background-color: #c0c4cc; + top: 0; + color: #fff; + -ms-flex-negative: 0; + flex-shrink: 0 +} + +.el-select .el-tag__close.el-icon-close:hover { + background-color: #909399 +} + +.el-select .el-tag__close.el-icon-close::before { + display: block; + -webkit-transform: translate(0, .5px); + transform: translate(0, .5px) +} + +.el-pagination { + white-space: nowrap; + padding: 2px 5px; + color: #303133; + font-weight: 700 +} + +.el-pagination::after, +.el-pagination::before { + display: table; + content: "" +} + +.el-pagination::after { + clear: both +} + +.el-pagination button, +.el-pagination span:not([class*=suffix]) { + display: inline-block; + font-size: 13px; + min-width: 35.5px; + height: 28px; + line-height: 28px; + vertical-align: top; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-pagination .el-input__inner { + text-align: center; + -moz-appearance: textfield; + line-height: normal +} + +.el-pagination .el-input__suffix { + right: 0; + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-pagination .el-select .el-input { + width: 100px; + margin: 0 5px +} + +.el-pagination .el-select .el-input .el-input__inner { + padding-right: 25px; + border-radius: 3px +} + +.el-pagination button { + border: none; + padding: 0 6px; + background: 0 0 +} + +.el-pagination button:focus { + outline: 0 +} + +.el-pagination button:hover { + color: #0966c2 +} + +.el-pagination button:disabled { + color: #c0c4cc; + background-color: #fff; + cursor: not-allowed +} + +.el-pagination .btn-next, +.el-pagination .btn-prev { + background: center center no-repeat; + background-size: 16px; + background-color: #fff; + cursor: pointer; + margin: 0; + color: #303133 +} + +.el-pagination .btn-next .el-icon, +.el-pagination .btn-prev .el-icon { + display: block; + font-size: 12px; + font-weight: 700 +} + +.el-pagination .btn-prev { + padding-right: 12px +} + +.el-pagination .btn-next { + padding-left: 12px +} + +.el-pagination .el-pager li.disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-pagination--small .btn-next, +.el-pagination--small .btn-prev, +.el-pagination--small .el-pager li, +.el-pagination--small .el-pager li.btn-quicknext, +.el-pagination--small .el-pager li.btn-quickprev, +.el-pagination--small .el-pager li:last-child { + border-color: transparent; + font-size: 12px; + line-height: 22px; + height: 22px; + min-width: 22px +} + +.el-pagination--small .arrow.disabled { + visibility: hidden +} + +.el-pagination--small .more::before, +.el-pagination--small li.more::before { + line-height: 24px +} + +.el-pagination--small button, +.el-pagination--small span:not([class*=suffix]) { + height: 22px; + line-height: 22px +} + +.el-pagination--small .el-pagination__editor { + height: 22px +} + +.el-pagination--small .el-pagination__editor.el-input .el-input__inner { + height: 22px +} + +.el-pagination__sizes { + margin: 0 10px 0 0; + font-weight: 400; + color: #606266 +} + +.el-pagination__sizes .el-input .el-input__inner { + font-size: 13px; + padding-left: 8px +} + +.el-pagination__sizes .el-input .el-input__inner:hover { + border-color: #0966c2 +} + +.el-pagination__total { + margin-right: 10px; + font-weight: 400; + color: #606266 +} + +.el-pagination__jump { + margin-left: 24px; + font-weight: 400; + color: #606266 +} + +.el-pagination__jump .el-input__inner { + padding: 0 3px +} + +.el-pagination__rightwrapper { + float: right +} + +.el-pagination__editor { + line-height: 18px; + padding: 0 2px; + height: 28px; + text-align: center; + margin: 0 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-radius: 3px +} + +.el-pagination__editor.el-input { + width: 50px +} + +.el-pagination__editor.el-input .el-input__inner { + height: 28px +} + +.el-pagination__editor .el-input__inner::-webkit-inner-spin-button, +.el-pagination__editor .el-input__inner::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0 +} + +.el-pagination.is-background .btn-next, +.el-pagination.is-background .btn-prev, +.el-pagination.is-background .el-pager li { + margin: 0 5px; + background-color: #f4f4f5; + color: #606266; + min-width: 30px; + border-radius: 2px +} + +.el-pagination.is-background .btn-next.disabled, +.el-pagination.is-background .btn-prev.disabled, +.el-pagination.is-background .el-pager li.disabled { + color: #c0c4cc +} + +.el-pagination.is-background .btn-next, +.el-pagination.is-background .btn-prev { + padding: 0 +} + +.el-pagination.is-background .btn-next:disabled, +.el-pagination.is-background .btn-prev:disabled { + color: #c0c4cc +} + +.el-pagination.is-background .el-pager li:not(.disabled):hover { + color: #0966c2 +} + +.el-pagination.is-background .el-pager li:not(.disabled).active { + background-color: #0966c2; + color: #fff +} + +.el-pagination.is-background.el-pagination--small .btn-next, +.el-pagination.is-background.el-pagination--small .btn-prev, +.el-pagination.is-background.el-pagination--small .el-pager li { + margin: 0 3px; + min-width: 22px +} + +.el-pager { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + list-style: none; + display: inline-block; + vertical-align: top; + font-size: 0; + padding: 0; + margin: 0 +} + +.el-pager .more::before { + line-height: 30px +} + +.el-pager li { + padding: 0 4px; + background: #fff; + vertical-align: top; + display: inline-block; + font-size: 13px; + min-width: 35.5px; + height: 28px; + line-height: 28px; + cursor: pointer; + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: center; + margin: 0 +} + +.el-pager li.btn-quicknext, +.el-pager li.btn-quickprev { + line-height: 28px; + color: #303133 +} + +.el-pager li.btn-quicknext.disabled, +.el-pager li.btn-quickprev.disabled { + color: #c0c4cc +} + +.el-pager li.btn-quickprev:hover { + cursor: pointer +} + +.el-pager li.btn-quicknext:hover { + cursor: pointer +} + +.el-pager li.active+li { + border-left: 0 +} + +.el-pager li:hover { + color: #0966c2 +} + +.el-pager li.active { + color: #0966c2; + cursor: default +} + +.v-modal-enter { + -webkit-animation: v-modal-in .2s ease; + animation: v-modal-in .2s ease +} + +.v-modal-leave { + -webkit-animation: v-modal-out .2s ease forwards; + animation: v-modal-out .2s ease forwards +} + +@-webkit-keyframes v-modal-in { + 0% { + opacity: 0 + } +} + +@keyframes v-modal-in { + 0% { + opacity: 0 + } +} + +@-webkit-keyframes v-modal-out { + 100% { + opacity: 0 + } +} + +@keyframes v-modal-out { + 100% { + opacity: 0 + } +} + +.v-modal { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: .5; + background: #000 +} + +.el-popup-parent--hidden { + overflow: hidden +} + +.el-dialog { + position: relative; + margin: 0 auto 50px; + background: #fff; + border-radius: 2px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .3); + box-shadow: 0 1px 3px rgba(0, 0, 0, .3); + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 50% +} + +.el-dialog.is-fullscreen { + width: 100%; + margin-top: 0; + margin-bottom: 0; + height: 100%; + overflow: auto +} + +.el-dialog__wrapper { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: auto; + margin: 0 +} + +.el-dialog__header { + padding: 20px; + padding-bottom: 10px +} + +.el-dialog__headerbtn { + position: absolute; + top: 20px; + right: 20px; + padding: 0; + background: 0 0; + border: none; + outline: 0; + cursor: pointer; + font-size: 16px +} + +.el-dialog__headerbtn .el-dialog__close { + color: #909399 +} + +.el-dialog__headerbtn:focus .el-dialog__close, +.el-dialog__headerbtn:hover .el-dialog__close { + color: #0966c2 +} + +.el-dialog__title { + line-height: 24px; + font-size: 18px; + color: #303133 +} + +.el-dialog__body { + padding: 30px 20px; + color: #606266; + font-size: 14px; + word-break: break-all; + user-select: text; +} + +.el-dialog__footer { + padding: 20px; + padding-top: 10px; + text-align: right; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-dialog--center { + text-align: center +} + +.el-dialog--center .el-dialog__body { + text-align: initial; + padding: 25px 25px 30px +} + +.el-dialog--center .el-dialog__footer { + text-align: inherit +} + +.dialog-fade-enter-active { + -webkit-animation: dialog-fade-in .3s; + animation: dialog-fade-in .3s +} + +.dialog-fade-leave-active { + -webkit-animation: dialog-fade-out .3s; + animation: dialog-fade-out .3s +} + +@-webkit-keyframes dialog-fade-in { + 0% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } +} + +@keyframes dialog-fade-in { + 0% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } +} + +@-webkit-keyframes dialog-fade-out { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } + + 100% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } +} + +@keyframes dialog-fade-out { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } + + 100% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.el-autocomplete { + position: relative; + display: inline-block +} + +.el-autocomplete-suggestion { + margin: 5px 0; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + border-radius: 4px; + border: 1px solid #e4e7ed; + -webkit-box-sizing: border-box; + box-sizing: border-box; + background-color: #fff +} + +.el-autocomplete-suggestion__wrap { + max-height: 280px; + padding: 10px 0; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-autocomplete-suggestion__list { + margin: 0; + padding: 0 +} + +.el-autocomplete-suggestion li { + padding: 0 20px; + margin: 0; + line-height: 34px; + cursor: pointer; + color: #606266; + font-size: 14px; + list-style: none; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis +} + +.el-autocomplete-suggestion li:hover { + background-color: #f5f7fa +} + +.el-autocomplete-suggestion li.highlighted { + background-color: #f5f7fa +} + +.el-autocomplete-suggestion li.divider { + margin-top: 6px; + border-top: 1px solid #000 +} + +.el-autocomplete-suggestion li.divider:last-child { + margin-bottom: -6px +} + +.el-autocomplete-suggestion.is-loading li { + text-align: center; + height: 100px; + line-height: 100px; + font-size: 20px; + color: #999 +} + +.el-autocomplete-suggestion.is-loading li::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle +} + +.el-autocomplete-suggestion.is-loading li:hover { + background-color: #fff +} + +.el-autocomplete-suggestion.is-loading .el-icon-loading { + vertical-align: middle +} + +.el-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-color: #dcdfe6; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + -webkit-transition: .1s; + transition: .1s; + font-weight: 500; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button+.el-button { + margin-left: 10px +} + +.el-button.is-round { + padding: 12px 20px +} + +.el-button:focus, +.el-button:hover { + color: #0966c2; + border-color: #b5d1ed; + background-color: #e6f0f9 +} + +.el-button:active { + color: #085caf; + border-color: #085caf; + outline: 0 +} + +.el-button::-moz-focus-inner { + border: 0 +} + +.el-button [class*=el-icon-]+span { + margin-left: 5px +} + +.el-button.is-plain:focus, +.el-button.is-plain:hover { + background: #fff; + border-color: #0966c2; + color: #0966c2 +} + +.el-button.is-plain:active { + background: #fff; + border-color: #085caf; + color: #085caf; + outline: 0 +} + +.el-button.is-active { + color: #085caf; + border-color: #085caf +} + +.el-button.is-disabled, +.el-button.is-disabled:focus, +.el-button.is-disabled:hover { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5 +} + +.el-button.is-disabled.el-button--text { + background-color: transparent +} + +.el-button.is-disabled.is-plain, +.el-button.is-disabled.is-plain:focus, +.el-button.is-disabled.is-plain:hover { + background-color: #fff; + border-color: #ebeef5; + color: #c0c4cc +} + +.el-button.is-loading { + position: relative; + pointer-events: none +} + +.el-button.is-loading:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255, 255, 255, .35) +} + +.el-button.is-round { + border-radius: 20px; + padding: 12px 23px +} + +.el-button.is-circle { + border-radius: 50%; + padding: 12px +} + +.el-button--primary { + color: #fff; + background-color: #0966c2; + border-color: #0966c2 +} + +.el-button--primary:focus, +.el-button--primary:hover { + background: #3a85ce; + border-color: #3a85ce; + color: #fff +} + +.el-button--primary:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-active { + background: #085caf; + border-color: #085caf; + color: #fff +} + +.el-button--primary.is-disabled, +.el-button--primary.is-disabled:active, +.el-button--primary.is-disabled:focus, +.el-button--primary.is-disabled:hover { + color: #fff; + background-color: #84b3e1; + border-color: #84b3e1 +} + +.el-button--primary.is-plain { + color: #0966c2; + background: #e6f0f9; + border-color: #9dc2e7 +} + +.el-button--primary.is-plain:focus, +.el-button--primary.is-plain:hover { + background: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-button--primary.is-plain:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-plain.is-disabled, +.el-button--primary.is-plain.is-disabled:active, +.el-button--primary.is-plain.is-disabled:focus, +.el-button--primary.is-plain.is-disabled:hover { + color: #6ba3da; + background-color: #e6f0f9; + border-color: #cee0f3 +} + +.el-button--success { + color: #fff; + background-color: #77b591; + border-color: #77b591 +} + +.el-button--success:focus, +.el-button--success:hover { + background: #92c4a7; + border-color: #92c4a7; + color: #fff +} + +.el-button--success:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-active { + background: #6ba383; + border-color: #6ba383; + color: #fff +} + +.el-button--success.is-disabled, +.el-button--success.is-disabled:active, +.el-button--success.is-disabled:focus, +.el-button--success.is-disabled:hover { + color: #fff; + background-color: #bbdac8; + border-color: #bbdac8 +} + +.el-button--success.is-plain { + color: #77b591; + background: #f1f8f4; + border-color: #c9e1d3 +} + +.el-button--success.is-plain:focus, +.el-button--success.is-plain:hover { + background: #77b591; + border-color: #77b591; + color: #fff +} + +.el-button--success.is-plain:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-plain.is-disabled, +.el-button--success.is-plain.is-disabled:active, +.el-button--success.is-plain.is-disabled:focus, +.el-button--success.is-plain.is-disabled:hover { + color: #add3bd; + background-color: #f1f8f4; + border-color: #e4f0e9 +} + +.el-button--warning { + color: #fff; + background-color: #e6a23c; + border-color: #e6a23c +} + +.el-button--warning:focus, +.el-button--warning:hover { + background: #ebb563; + border-color: #ebb563; + color: #fff +} + +.el-button--warning:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-active { + background: #cf9236; + border-color: #cf9236; + color: #fff +} + +.el-button--warning.is-disabled, +.el-button--warning.is-disabled:active, +.el-button--warning.is-disabled:focus, +.el-button--warning.is-disabled:hover { + color: #fff; + background-color: #f3d19e; + border-color: #f3d19e +} + +.el-button--warning.is-plain { + color: #e6a23c; + background: #fdf6ec; + border-color: #f5dab1 +} + +.el-button--warning.is-plain:focus, +.el-button--warning.is-plain:hover { + background: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-button--warning.is-plain:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-plain.is-disabled, +.el-button--warning.is-plain.is-disabled:active, +.el-button--warning.is-plain.is-disabled:focus, +.el-button--warning.is-plain.is-disabled:hover { + color: #f0c78a; + background-color: #fdf6ec; + border-color: #faecd8 +} + +.el-button--danger { + color: #fff; + background-color: #d56262; + border-color: #d56262 +} + +.el-button--danger:focus, +.el-button--danger:hover { + background: #dd8181; + border-color: #dd8181; + color: #fff +} + +.el-button--danger:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-active { + background: #c05858; + border-color: #c05858; + color: #fff +} + +.el-button--danger.is-disabled, +.el-button--danger.is-disabled:active, +.el-button--danger.is-disabled:focus, +.el-button--danger.is-disabled:hover { + color: #fff; + background-color: #eab1b1; + border-color: #eab1b1 +} + +.el-button--danger.is-plain { + color: #d56262; + background: #fbefef; + border-color: #eec0c0 +} + +.el-button--danger.is-plain:focus, +.el-button--danger.is-plain:hover { + background: #d56262; + border-color: #d56262; + color: #fff +} + +.el-button--danger.is-plain:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-plain.is-disabled, +.el-button--danger.is-plain.is-disabled:active, +.el-button--danger.is-plain.is-disabled:focus, +.el-button--danger.is-plain.is-disabled:hover { + color: #e6a1a1; + background-color: #fbefef; + border-color: #f7e0e0 +} + +.el-button--info { + color: #fff; + background-color: #909399; + border-color: #909399 +} + +.el-button--info:focus, +.el-button--info:hover { + background: #a6a9ad; + border-color: #a6a9ad; + color: #fff +} + +.el-button--info:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-active { + background: #82848a; + border-color: #82848a; + color: #fff +} + +.el-button--info.is-disabled, +.el-button--info.is-disabled:active, +.el-button--info.is-disabled:focus, +.el-button--info.is-disabled:hover { + color: #fff; + background-color: #c8c9cc; + border-color: #c8c9cc +} + +.el-button--info.is-plain { + color: #909399; + background: #f4f4f5; + border-color: #d3d4d6 +} + +.el-button--info.is-plain:focus, +.el-button--info.is-plain:hover { + background: #909399; + border-color: #909399; + color: #fff +} + +.el-button--info.is-plain:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-plain.is-disabled, +.el-button--info.is-plain.is-disabled:active, +.el-button--info.is-plain.is-disabled:focus, +.el-button--info.is-plain.is-disabled:hover { + color: #bcbec2; + background-color: #f4f4f5; + border-color: #e9e9eb +} + +.el-button--medium { + padding: 10px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button--medium.is-round { + padding: 10px 20px +} + +.el-button--medium.is-circle { + padding: 10px +} + +.el-button--small { + padding: 9px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--small.is-round { + padding: 9px 15px +} + +.el-button--small.is-circle { + padding: 9px +} + +.el-button--mini { + padding: 7px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--mini.is-round { + padding: 7px 15px +} + +.el-button--mini.is-circle { + padding: 7px +} + +.el-button--text { + border-color: transparent; + color: #0966c2; + background: 0 0; + padding-left: 0; + padding-right: 0 +} + +.el-button--text:focus, +.el-button--text:hover { + color: #3a85ce; + border-color: transparent; + background-color: transparent +} + +.el-button--text:active { + color: #085caf; + border-color: transparent; + background-color: transparent +} + +.el-button--text.is-disabled, +.el-button--text.is-disabled:focus, +.el-button--text.is-disabled:hover { + border-color: transparent +} + +.el-button-group { + display: inline-block; + vertical-align: middle +} + +.el-button-group::after, +.el-button-group::before { + display: table; + content: "" +} + +.el-button-group::after { + clear: both +} + +.el-button-group>.el-button { + float: left; + position: relative +} + +.el-button-group>.el-button+.el-button { + margin-left: 0 +} + +.el-button-group>.el-button.is-disabled { + z-index: 1 +} + +.el-button-group>.el-button:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-button-group>.el-button:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-button-group>.el-button:first-child:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px +} + +.el-button-group>.el-button:first-child:last-child.is-round { + border-radius: 20px +} + +.el-button-group>.el-button:first-child:last-child.is-circle { + border-radius: 50% +} + +.el-button-group>.el-button:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.el-button-group>.el-button:not(:last-child) { + margin-right: -1px +} + +.el-button-group>.el-button:not(.is-disabled):active, +.el-button-group>.el-button:not(.is-disabled):focus, +.el-button-group>.el-button:not(.is-disabled):hover { + z-index: 1 +} + +.el-button-group>.el-button.is-active { + z-index: 1 +} + +.el-button-group>.el-dropdown>.el-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.el-dropdown { + display: inline-block; + position: relative; + color: #606266; + font-size: 14px +} + +.el-dropdown .el-button-group { + display: block +} + +.el-dropdown .el-button-group .el-button { + float: none +} + +.el-dropdown .el-dropdown__caret-button { + padding-left: 5px; + padding-right: 5px; + position: relative; + border-left: none +} + +.el-dropdown .el-dropdown__caret-button::before { + content: ''; + position: absolute; + display: block; + width: 1px; + top: 5px; + bottom: 5px; + left: 0; + background: rgba(255, 255, 255, .5) +} + +.el-dropdown .el-dropdown__caret-button.el-button--default::before { + background: rgba(220, 223, 230, .5) +} + +.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before { + top: 0; + bottom: 0 +} + +.el-dropdown .el-dropdown__caret-button .el-dropdown__icon { + padding-left: 0 +} + +.el-dropdown__icon { + font-size: 12px; + margin: 0 3px +} + +.el-dropdown .el-dropdown-selfdefine:focus:active, +.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing) { + outline-width: 0 +} + +.el-dropdown [disabled] { + cursor: not-allowed; + color: #bbb +} + +.el-dropdown-menu { + position: absolute; + top: 0; + left: 0; + z-index: 10; + padding: 10px 0; + margin: 5px 0; + background-color: #fff; + border: 1px solid #ebeef5; + border-radius: 4px; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1) +} + +.el-dropdown-menu__item { + list-style: none; + line-height: 36px; + padding: 0 20px; + margin: 0; + font-size: 14px; + color: #606266; + cursor: pointer; + outline: 0 +} + +.el-dropdown-menu__item:focus, +.el-dropdown-menu__item:not(.is-disabled):hover { + background-color: #e6f0f9; + color: #3a85ce +} + +.el-dropdown-menu__item i { + margin-right: 5px +} + +.el-dropdown-menu__item--divided { + position: relative; + margin-top: 6px; + border-top: 1px solid #ebeef5 +} + +.el-dropdown-menu__item--divided:before { + content: ''; + height: 6px; + display: block; + margin: 0 -20px; + background-color: #fff +} + +.el-dropdown-menu__item.is-disabled { + cursor: default; + color: #bbb; + pointer-events: none +} + +.el-dropdown-menu--medium { + padding: 6px 0 +} + +.el-dropdown-menu--medium .el-dropdown-menu__item { + line-height: 30px; + padding: 0 17px; + font-size: 14px +} + +.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided { + margin-top: 6px +} + +.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { + height: 6px; + margin: 0 -17px +} + +.el-dropdown-menu--small { + padding: 6px 0 +} + +.el-dropdown-menu--small .el-dropdown-menu__item { + line-height: 27px; + padding: 0 15px; + font-size: 13px +} + +.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided { + margin-top: 4px +} + +.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { + height: 4px; + margin: 0 -15px +} + +.el-dropdown-menu--mini { + padding: 3px 0 +} + +.el-dropdown-menu--mini .el-dropdown-menu__item { + line-height: 24px; + padding: 0 10px; + font-size: 12px +} + +.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided { + margin-top: 3px +} + +.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { + height: 3px; + margin: 0 -10px +} + +.fade-in-linear-enter-active, +.fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.fade-in-linear-enter, +.fade-in-linear-leave, +.fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-linear-enter-active, +.el-fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.el-fade-in-linear-enter, +.el-fade-in-linear-leave, +.el-fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-enter-active, +.el-fade-in-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-fade-in-enter, +.el-fade-in-leave-active { + opacity: 0 +} + +.el-zoom-in-center-enter-active, +.el-zoom-in-center-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-zoom-in-center-enter, +.el-zoom-in-center-leave-active { + opacity: 0; + -webkit-transform: scaleX(0); + transform: scaleX(0) +} + +.el-zoom-in-top-enter-active, +.el-zoom-in-top-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center top; + transform-origin: center top +} + +.el-zoom-in-top-enter, +.el-zoom-in-top-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-bottom-enter-active, +.el-zoom-in-bottom-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center bottom; + transform-origin: center bottom +} + +.el-zoom-in-bottom-enter, +.el-zoom-in-bottom-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-left-enter-active, +.el-zoom-in-left-leave-active { + opacity: 1; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: top left; + transform-origin: top left +} + +.el-zoom-in-left-enter, +.el-zoom-in-left-leave-active { + opacity: 0; + -webkit-transform: scale(.45, .45); + transform: scale(.45, .45) +} + +.collapse-transition { + -webkit-transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out; + transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out +} + +.horizontal-collapse-transition { + -webkit-transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out; + transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out +} + +.el-list-enter-active, +.el-list-leave-active { + -webkit-transition: all 1s; + transition: all 1s +} + +.el-list-enter, +.el-list-leave-active { + opacity: 0; + -webkit-transform: translateY(-30px); + transform: translateY(-30px) +} + +.el-opacity-transition { + -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); + transition: opacity .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-menu { + border-right: solid 1px #e6e6e6; + list-style: none; + position: relative; + margin: 0; + padding-left: 0; + background-color: #fff +} + +.el-menu::after, +.el-menu::before { + display: table; + content: "" +} + +.el-menu::after { + clear: both +} + +.el-menu.el-menu--horizontal { + border-bottom: solid 1px #e6e6e6 +} + +.el-menu--horizontal { + border-right: none +} + +.el-menu--horizontal>.el-menu-item { + float: left; + height: 60px; + line-height: 60px; + margin: 0; + border-bottom: 2px solid transparent; + color: #909399 +} + +.el-menu--horizontal>.el-menu-item a, +.el-menu--horizontal>.el-menu-item a:hover { + color: inherit +} + +.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus, +.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover { + background-color: #fff +} + +.el-menu--horizontal>.el-submenu { + float: left +} + +.el-menu--horizontal>.el-submenu:focus, +.el-menu--horizontal>.el-submenu:hover { + outline: 0 +} + +.el-menu--horizontal>.el-submenu:focus .el-submenu__title, +.el-menu--horizontal>.el-submenu:hover .el-submenu__title { + color: #303133 +} + +.el-menu--horizontal>.el-submenu.is-active .el-submenu__title { + border-bottom: 2px solid #0966c2; + color: #303133 +} + +.el-menu--horizontal>.el-submenu .el-submenu__title { + height: 60px; + line-height: 60px; + border-bottom: 2px solid transparent; + color: #909399 +} + +.el-menu--horizontal>.el-submenu .el-submenu__title:hover { + background-color: #fff +} + +.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow { + position: static; + vertical-align: middle; + margin-left: 8px; + margin-top: -3px +} + +.el-menu--horizontal .el-menu .el-menu-item, +.el-menu--horizontal .el-menu .el-submenu__title { + background-color: #fff; + float: none; + height: 36px; + line-height: 36px; + padding: 0 10px; + color: #909399 +} + +.el-menu--horizontal .el-menu .el-menu-item.is-active, +.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title { + color: #303133 +} + +.el-menu--horizontal .el-menu-item:not(.is-disabled):focus, +.el-menu--horizontal .el-menu-item:not(.is-disabled):hover { + outline: 0; + color: #303133 +} + +.el-menu--horizontal>.el-menu-item.is-active { + border-bottom: 2px solid #0966c2; + color: #303133 +} + +.el-menu--collapse { + width: 64px +} + +.el-menu--collapse>.el-menu-item [class^=el-icon-], +.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-] { + margin: 0; + vertical-align: middle; + width: 24px; + text-align: center +} + +.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow, +.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow { + display: none +} + +.el-menu--collapse>.el-menu-item span, +.el-menu--collapse>.el-submenu>.el-submenu__title span { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block +} + +.el-menu--collapse>.el-menu-item.is-active i { + color: inherit +} + +.el-menu--collapse .el-menu .el-submenu { + min-width: 200px +} + +.el-menu--collapse .el-submenu { + position: relative +} + +.el-menu--collapse .el-submenu .el-menu { + position: absolute; + margin-left: 5px; + top: 0; + left: 100%; + z-index: 10; + border: 1px solid #e4e7ed; + border-radius: 2px; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1) +} + +.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow { + -webkit-transform: none; + transform: none +} + +.el-menu--popup { + z-index: 100; + min-width: 200px; + border: none; + padding: 5px 0; + border-radius: 2px; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1) +} + +.el-menu--popup-bottom-start { + margin-top: 5px +} + +.el-menu--popup-right-start { + margin-left: 5px; + margin-right: 5px +} + +.el-menu-item { + height: 56px; + line-height: 56px; + font-size: 14px; + color: #303133; + padding: 0 20px; + list-style: none; + cursor: pointer; + position: relative; + -webkit-transition: border-color .3s, background-color .3s, color .3s; + transition: border-color .3s, background-color .3s, color .3s; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: nowrap +} + +.el-menu-item * { + vertical-align: middle +} + +.el-menu-item i { + color: #909399 +} + +.el-menu-item:focus, +.el-menu-item:hover { + outline: 0; + background-color: #e6f0f9 +} + +.el-menu-item.is-disabled { + opacity: .25; + cursor: not-allowed; + background: 0 0 !important +} + +.el-menu-item [class^=el-icon-] { + margin-right: 5px; + width: 24px; + text-align: center; + font-size: 18px; + vertical-align: middle +} + +.el-menu-item.is-active { + color: #0966c2 +} + +.el-menu-item.is-active i { + color: inherit +} + +.el-submenu { + list-style: none; + margin: 0; + padding-left: 0 +} + +.el-submenu__title { + height: 56px; + line-height: 56px; + font-size: 14px; + color: #303133; + padding: 0 20px; + list-style: none; + cursor: pointer; + position: relative; + -webkit-transition: border-color .3s, background-color .3s, color .3s; + transition: border-color .3s, background-color .3s, color .3s; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: nowrap +} + +.el-submenu__title * { + vertical-align: middle +} + +.el-submenu__title i { + color: #909399 +} + +.el-submenu__title:focus, +.el-submenu__title:hover { + outline: 0; + background-color: #e6f0f9 +} + +.el-submenu__title.is-disabled { + opacity: .25; + cursor: not-allowed; + background: 0 0 !important +} + +.el-submenu__title:hover { + background-color: #e6f0f9 +} + +.el-submenu .el-menu { + border: none +} + +.el-submenu .el-menu-item { + height: 50px; + line-height: 50px; + padding: 0 45px; + min-width: 200px +} + +.el-submenu__icon-arrow { + position: absolute; + top: 50%; + right: 20px; + margin-top: -7px; + -webkit-transition: -webkit-transform .3s; + transition: -webkit-transform .3s; + transition: transform .3s; + transition: transform .3s, -webkit-transform .3s; + font-size: 12px +} + +.el-submenu.is-active .el-submenu__title { + border-bottom-color: #0966c2 +} + +.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow { + -webkit-transform: rotateZ(180deg); + transform: rotateZ(180deg) +} + +.el-submenu.is-disabled .el-menu-item, +.el-submenu.is-disabled .el-submenu__title { + opacity: .25; + cursor: not-allowed; + background: 0 0 !important +} + +.el-submenu [class^=el-icon-] { + vertical-align: middle; + margin-right: 5px; + width: 24px; + text-align: center; + font-size: 18px +} + +.el-menu-item-group>ul { + padding: 0 +} + +.el-menu-item-group__title { + padding: 7px 0 7px 20px; + line-height: normal; + font-size: 12px; + color: #909399 +} + +.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow { + -webkit-transition: .2s; + transition: .2s; + opacity: 0 +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-input-number { + position: relative; + display: inline-block; + width: 180px; + line-height: 38px +} + +.el-input-number .el-input { + display: block +} + +.el-input-number .el-input__inner { + -webkit-appearance: none; + padding-left: 50px; + padding-right: 50px; + text-align: center +} + +.el-input-number__decrease, +.el-input-number__increase { + position: absolute; + z-index: 1; + top: 1px; + width: 40px; + height: auto; + text-align: center; + background: #f5f7fa; + color: #606266; + cursor: pointer; + font-size: 13px +} + +.el-input-number__decrease:hover, +.el-input-number__increase:hover { + color: #0966c2 +} + +.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled), +.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled) { + border-color: #0966c2 +} + +.el-input-number__decrease.is-disabled, +.el-input-number__increase.is-disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-input-number__increase { + right: 1px; + border-radius: 0 4px 4px 0; + border-left: 1px solid #dcdfe6 +} + +.el-input-number__decrease { + left: 1px; + border-radius: 4px 0 0 4px; + border-right: 1px solid #dcdfe6 +} + +.el-input-number.is-disabled .el-input-number__decrease, +.el-input-number.is-disabled .el-input-number__increase { + border-color: #e4e7ed; + color: #e4e7ed +} + +.el-input-number.is-disabled .el-input-number__decrease:hover, +.el-input-number.is-disabled .el-input-number__increase:hover { + color: #e4e7ed; + cursor: not-allowed +} + +.el-input-number--medium { + width: 200px; + line-height: 34px +} + +.el-input-number--medium .el-input-number__decrease, +.el-input-number--medium .el-input-number__increase { + width: 36px; + font-size: 14px +} + +.el-input-number--medium .el-input__inner { + padding-left: 43px; + padding-right: 43px +} + +.el-input-number--small { + width: 130px; + line-height: 30px +} + +.el-input-number--small .el-input-number__decrease, +.el-input-number--small .el-input-number__increase { + width: 32px; + font-size: 13px +} + +.el-input-number--small .el-input-number__decrease [class*=el-icon], +.el-input-number--small .el-input-number__increase [class*=el-icon] { + -webkit-transform: scale(.9); + transform: scale(.9) +} + +.el-input-number--small .el-input__inner { + padding-left: 39px; + padding-right: 39px +} + +.el-input-number--mini { + width: 130px; + line-height: 26px +} + +.el-input-number--mini .el-input-number__decrease, +.el-input-number--mini .el-input-number__increase { + width: 28px; + font-size: 12px +} + +.el-input-number--mini .el-input-number__decrease [class*=el-icon], +.el-input-number--mini .el-input-number__increase [class*=el-icon] { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-input-number--mini .el-input__inner { + padding-left: 35px; + padding-right: 35px +} + +.el-input-number.is-without-controls .el-input__inner { + padding-left: 15px; + padding-right: 15px +} + +.el-input-number.is-controls-right .el-input__inner { + padding-left: 15px; + padding-right: 50px +} + +.el-input-number.is-controls-right .el-input-number__decrease, +.el-input-number.is-controls-right .el-input-number__increase { + height: auto; + line-height: 19px +} + +.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon], +.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon] { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-input-number.is-controls-right .el-input-number__increase { + border-radius: 0 4px 0 0; + border-bottom: 1px solid #dcdfe6 +} + +.el-input-number.is-controls-right .el-input-number__decrease { + right: 1px; + bottom: 1px; + top: auto; + left: auto; + border-right: none; + border-left: 1px solid #dcdfe6; + border-radius: 0 0 4px 0 +} + +.el-input-number.is-controls-right[class*=medium] [class*=decrease], +.el-input-number.is-controls-right[class*=medium] [class*=increase] { + line-height: 17px +} + +.el-input-number.is-controls-right[class*=small] [class*=decrease], +.el-input-number.is-controls-right[class*=small] [class*=increase] { + line-height: 15px +} + +.el-input-number.is-controls-right[class*=mini] [class*=decrease], +.el-input-number.is-controls-right[class*=mini] [class*=increase] { + line-height: 13px +} + +.el-radio { + color: #606266; + font-weight: 500; + line-height: 1; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + outline: 0; + font-size: 14px; + margin-right: 30px; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none +} + +.el-radio.is-bordered { + padding: 12px 20px 0 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 40px +} + +.el-radio.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-radio.is-bordered.is-disabled { + cursor: not-allowed; + border-color: #ebeef5 +} + +.el-radio.is-bordered+.el-radio.is-bordered { + margin-left: 10px +} + +.el-radio--medium.is-bordered { + padding: 10px 20px 0 10px; + border-radius: 4px; + height: 36px +} + +.el-radio--medium.is-bordered .el-radio__label { + font-size: 14px +} + +.el-radio--medium.is-bordered .el-radio__inner { + height: 14px; + width: 14px +} + +.el-radio--small.is-bordered { + padding: 8px 15px 0 10px; + border-radius: 3px; + height: 32px +} + +.el-radio--small.is-bordered .el-radio__label { + font-size: 12px +} + +.el-radio--small.is-bordered .el-radio__inner { + height: 12px; + width: 12px +} + +.el-radio--mini.is-bordered { + padding: 6px 15px 0 10px; + border-radius: 3px; + height: 28px +} + +.el-radio--mini.is-bordered .el-radio__label { + font-size: 12px +} + +.el-radio--mini.is-bordered .el-radio__inner { + height: 12px; + width: 12px +} + +.el-radio:last-child { + margin-right: 0 +} + +.el-radio__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-radio__input.is-disabled .el-radio__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + cursor: not-allowed +} + +.el-radio__input.is-disabled .el-radio__inner::after { + cursor: not-allowed; + background-color: #f5f7fa +} + +.el-radio__input.is-disabled .el-radio__inner+.el-radio__label { + cursor: not-allowed +} + +.el-radio__input.is-disabled.is-checked .el-radio__inner { + background-color: #f5f7fa; + border-color: #e4e7ed +} + +.el-radio__input.is-disabled.is-checked .el-radio__inner::after { + background-color: #c0c4cc +} + +.el-radio__input.is-disabled+span.el-radio__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-radio__input.is-checked .el-radio__inner { + border-color: #0966c2; + background: #0966c2 +} + +.el-radio__input.is-checked .el-radio__inner::after { + -webkit-transform: translate(-50%, -50%) scale(1); + transform: translate(-50%, -50%) scale(1) +} + +.el-radio__input.is-checked+.el-radio__label { + color: #0966c2 +} + +.el-radio__input.is-focus .el-radio__inner { + border-color: #0966c2 +} + +.el-radio__inner { + border: 1px solid #dcdfe6; + border-radius: 100%; + width: 14px; + height: 14px; + background-color: #fff; + position: relative; + cursor: pointer; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-radio__inner:hover { + border-color: #0966c2 +} + +.el-radio__inner::after { + width: 4px; + height: 4px; + border-radius: 100%; + background-color: #fff; + content: ""; + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%) scale(0); + transform: translate(-50%, -50%) scale(0); + -webkit-transition: -webkit-transform .15s ease-in; + transition: -webkit-transform .15s ease-in; + transition: transform .15s ease-in; + transition: transform .15s ease-in, -webkit-transform .15s ease-in +} + +.el-radio__original { + opacity: 0; + outline: 0; + position: absolute; + z-index: -1; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: 0 +} + +.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { + -webkit-box-shadow: 0 0 2px 2px #0966c2; + box-shadow: 0 0 2px 2px #0966c2 +} + +.el-radio__label { + font-size: 14px; + padding-left: 10px +} + +.el-radio-group { + display: inline-block; + line-height: 1; + vertical-align: middle; + font-size: 0 +} + +.el-radio-button { + position: relative; + display: inline-block; + outline: 0 +} + +.el-radio-button__inner { + display: inline-block; + line-height: 1; + white-space: nowrap; + vertical-align: middle; + background: #fff; + border: 1px solid #dcdfe6; + font-weight: 500; + border-left: 0; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + position: relative; + cursor: pointer; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + padding: 12px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-radio-button__inner.is-round { + padding: 12px 20px +} + +.el-radio-button__inner:hover { + color: #0966c2 +} + +.el-radio-button__inner [class*=el-icon-] { + line-height: .9 +} + +.el-radio-button__inner [class*=el-icon-]+span { + margin-left: 5px +} + +.el-radio-button:first-child .el-radio-button__inner { + border-left: 1px solid #dcdfe6; + border-radius: 4px 0 0 4px; + -webkit-box-shadow: none !important; + box-shadow: none !important +} + +.el-radio-button__orig-radio { + opacity: 0; + outline: 0; + position: absolute; + z-index: -1 +} + +.el-radio-button__orig-radio:checked+.el-radio-button__inner { + color: #fff; + background-color: #0966c2; + border-color: #0966c2; + -webkit-box-shadow: -1px 0 0 0 #0966c2; + box-shadow: -1px 0 0 0 #0966c2 +} + +.el-radio-button__orig-radio:disabled+.el-radio-button__inner { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5; + -webkit-box-shadow: none; + box-shadow: none +} + +.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner { + background-color: #f2f6fc +} + +.el-radio-button:last-child .el-radio-button__inner { + border-radius: 0 4px 4px 0 +} + +.el-radio-button:first-child:last-child .el-radio-button__inner { + border-radius: 4px +} + +.el-radio-button--medium .el-radio-button__inner { + padding: 10px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-radio-button--medium .el-radio-button__inner.is-round { + padding: 10px 20px +} + +.el-radio-button--small .el-radio-button__inner { + padding: 9px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-radio-button--small .el-radio-button__inner.is-round { + padding: 9px 15px +} + +.el-radio-button--mini .el-radio-button__inner { + padding: 7px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-radio-button--mini .el-radio-button__inner.is-round { + padding: 7px 15px +} + +.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled) { + -webkit-box-shadow: 0 0 2px 2px #0966c2; + box-shadow: 0 0 2px 2px #0966c2 +} + +.el-checkbox { + color: #606266; + font-weight: 500; + font-size: 14px; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + margin-right: 30px +} + +.el-checkbox.is-bordered { + padding: 9px 20px 9px 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: normal; + height: 40px +} + +.el-checkbox.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-checkbox.is-bordered.is-disabled { + border-color: #ebeef5; + cursor: not-allowed +} + +.el-checkbox.is-bordered+.el-checkbox.is-bordered { + margin-left: 10px +} + +.el-checkbox.is-bordered.el-checkbox--medium { + padding: 7px 20px 7px 10px; + border-radius: 4px; + height: 36px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { + line-height: 17px; + font-size: 14px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { + height: 14px; + width: 14px +} + +.el-checkbox.is-bordered.el-checkbox--small { + padding: 5px 15px 5px 10px; + border-radius: 3px; + height: 32px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { + line-height: 15px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox.is-bordered.el-checkbox--mini { + padding: 3px 15px 3px 10px; + border-radius: 3px; + height: 28px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { + line-height: 12px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: #edf2fc; + border-color: #dcdfe6; + cursor: not-allowed +} + +.el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label { + cursor: not-allowed +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + background-color: #c0c4cc; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled+span.el-checkbox__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-checked .el-checkbox__inner::after { + -webkit-transform: rotate(45deg) scaleY(1); + transform: rotate(45deg) scaleY(1) +} + +.el-checkbox__input.is-checked+.el-checkbox__label { + color: #0966c2 +} + +.el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + background-color: #fff; + height: 2px; + -webkit-transform: scale(.5); + transform: scale(.5); + left: 0; + right: 0; + top: 5px +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none +} + +.el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 14px; + height: 14px; + background-color: #fff; + z-index: 1; + -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46); + transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46) +} + +.el-checkbox__inner:hover { + border-color: #0966c2 +} + +.el-checkbox__inner::after { + -webkit-box-sizing: content-box; + box-sizing: content-box; + content: ""; + border: 1px solid #fff; + border-left: 0; + border-top: 0; + height: 7px; + left: 4px; + position: absolute; + top: 1px; + -webkit-transform: rotate(45deg) scaleY(0); + transform: rotate(45deg) scaleY(0); + width: 3px; + -webkit-transition: -webkit-transform .15s ease-in .05s; + transition: -webkit-transform .15s ease-in .05s; + transition: transform .15s ease-in .05s; + transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; + -webkit-transform-origin: center; + transform-origin: center +} + +.el-checkbox__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + width: 0; + height: 0; + z-index: -1 +} + +.el-checkbox__label { + display: inline-block; + padding-left: 10px; + line-height: 19px; + font-size: 14px +} + +.el-checkbox:last-of-type { + margin-right: 0 +} + +.el-checkbox-button { + position: relative; + display: inline-block +} + +.el-checkbox-button__inner { + display: inline-block; + line-height: 1; + font-weight: 500; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-left: 0; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + position: relative; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button__inner.is-round { + padding: 12px 20px +} + +.el-checkbox-button__inner:hover { + color: #0966c2 +} + +.el-checkbox-button__inner [class*=el-icon-] { + line-height: .9 +} + +.el-checkbox-button__inner [class*=el-icon-]+span { + margin-left: 5px +} + +.el-checkbox-button__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + z-index: -1 +} + +.el-checkbox-button.is-checked .el-checkbox-button__inner { + color: #fff; + background-color: #0966c2; + border-color: #0966c2; + -webkit-box-shadow: -1px 0 0 0 #6ba3da; + box-shadow: -1px 0 0 0 #6ba3da +} + +.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { + border-left-color: #0966c2 +} + +.el-checkbox-button.is-disabled .el-checkbox-button__inner { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5; + -webkit-box-shadow: none; + box-shadow: none +} + +.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { + border-left-color: #ebeef5 +} + +.el-checkbox-button:first-child .el-checkbox-button__inner { + border-left: 1px solid #dcdfe6; + border-radius: 4px 0 0 4px; + -webkit-box-shadow: none !important; + box-shadow: none !important +} + +.el-checkbox-button.is-focus .el-checkbox-button__inner { + border-color: #0966c2 +} + +.el-checkbox-button:last-child .el-checkbox-button__inner { + border-radius: 0 4px 4px 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner { + padding: 10px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner.is-round { + padding: 10px 20px +} + +.el-checkbox-button--small .el-checkbox-button__inner { + padding: 9px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--small .el-checkbox-button__inner.is-round { + padding: 9px 15px +} + +.el-checkbox-button--mini .el-checkbox-button__inner { + padding: 7px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--mini .el-checkbox-button__inner.is-round { + padding: 7px 15px +} + +.el-checkbox-group { + font-size: 0 +} + +.el-switch { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + position: relative; + font-size: 14px; + line-height: 20px; + height: 20px; + vertical-align: middle +} + +.el-switch.is-disabled .el-switch__core, +.el-switch.is-disabled .el-switch__label { + cursor: not-allowed +} + +.el-switch__label { + -webkit-transition: .2s; + transition: .2s; + height: 20px; + display: inline-block; + font-size: 14px; + font-weight: 500; + cursor: pointer; + vertical-align: middle; + color: #303133 +} + +.el-switch__label.is-active { + color: #0966c2 +} + +.el-switch__label--left { + margin-right: 10px +} + +.el-switch__label--right { + margin-left: 10px +} + +.el-switch__label * { + line-height: 1; + font-size: 14px; + display: inline-block +} + +.el-switch__input { + position: absolute; + width: 0; + height: 0; + opacity: 0; + margin: 0 +} + +.el-switch__core { + margin: 0; + display: inline-block; + position: relative; + width: 40px; + height: 20px; + border: 1px solid #dcdfe6; + outline: 0; + border-radius: 10px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + background: #dcdfe6; + cursor: pointer; + -webkit-transition: border-color .3s, background-color .3s; + transition: border-color .3s, background-color .3s; + vertical-align: middle +} + +.el-switch__core:after { + content: ""; + position: absolute; + top: 1px; + left: 1px; + border-radius: 100%; + -webkit-transition: all .3s; + transition: all .3s; + width: 16px; + height: 16px; + background-color: #fff +} + +.el-switch.is-checked .el-switch__core { + border-color: #0966c2; + background-color: #0966c2 +} + +.el-switch.is-checked .el-switch__core::after { + left: 100%; + margin-left: -17px +} + +.el-switch.is-disabled { + opacity: .6 +} + +.el-switch--wide .el-switch__label.el-switch__label--left span { + left: 10px +} + +.el-switch--wide .el-switch__label.el-switch__label--right span { + right: 10px +} + +.el-switch .label-fade-enter, +.el-switch .label-fade-leave-active { + opacity: 0 +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.el-select-dropdown { + position: absolute; + z-index: 1001; + border: solid 1px #e4e7ed; + border-radius: 4px; + background-color: #fff; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 5px 0 +} + +.el-select-dropdown.is-multiple .el-select-dropdown__item { + padding-right: 40px +} + +.el-select-dropdown.is-multiple .el-select-dropdown__item.selected { + color: #0966c2; + background-color: #fff +} + +.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { + background-color: #f5f7fa +} + +.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { + position: absolute; + right: 20px; + font-family: element-icons; + content: "\e6da"; + font-size: 12px; + font-weight: 700; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { + padding: 0 +} + +.el-select-dropdown__empty { + padding: 10px 0; + margin: 0; + text-align: center; + color: #999; + font-size: 14px +} + +.el-select-dropdown__wrap { + max-height: 274px +} + +.el-select-dropdown__list { + list-style: none; + padding: 6px 0; + margin: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-tag { + background-color: #e6f0f9; + border-color: #cee0f3; + color: #0966c2; + display: inline-block; + height: 32px; + padding: 0 10px; + line-height: 30px; + font-size: 12px; + color: #0966c2; + border-width: 1px; + border-style: solid; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: nowrap +} + +.el-tag.is-hit { + border-color: #0966c2 +} + +.el-tag .el-tag__close { + color: #0966c2 +} + +.el-tag .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag.el-tag--info { + background-color: #f4f4f5; + border-color: #e9e9eb; + color: #909399 +} + +.el-tag.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag.el-tag--success { + background-color: #f1f8f4; + border-color: #e4f0e9; + color: #77b591 +} + +.el-tag.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag.el-tag--warning { + background-color: #fdf6ec; + border-color: #faecd8; + color: #e6a23c +} + +.el-tag.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag.el-tag--danger { + background-color: #fbefef; + border-color: #f7e0e0; + color: #d56262 +} + +.el-tag.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + height: 16px; + width: 16px; + line-height: 16px; + vertical-align: middle; + top: -1px; + right: -5px +} + +.el-tag .el-icon-close::before { + display: block +} + +.el-tag--dark { + background-color: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-tag--dark.is-hit { + border-color: #0966c2 +} + +.el-tag--dark .el-tag__close { + color: #fff +} + +.el-tag--dark .el-tag__close:hover { + color: #fff; + background-color: #3a85ce +} + +.el-tag--dark.el-tag--info { + background-color: #909399; + border-color: #909399; + color: #fff +} + +.el-tag--dark.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--dark.el-tag--info .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #a6a9ad +} + +.el-tag--dark.el-tag--success { + background-color: #77b591; + border-color: #77b591; + color: #fff +} + +.el-tag--dark.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--dark.el-tag--success .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #92c4a7 +} + +.el-tag--dark.el-tag--warning { + background-color: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-tag--dark.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--dark.el-tag--warning .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #ebb563 +} + +.el-tag--dark.el-tag--danger { + background-color: #d56262; + border-color: #d56262; + color: #fff +} + +.el-tag--dark.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--dark.el-tag--danger .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #dd8181 +} + +.el-tag--plain { + background-color: #fff; + border-color: #9dc2e7; + color: #0966c2 +} + +.el-tag--plain.is-hit { + border-color: #0966c2 +} + +.el-tag--plain .el-tag__close { + color: #0966c2 +} + +.el-tag--plain .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag--plain.el-tag--info { + background-color: #fff; + border-color: #d3d4d6; + color: #909399 +} + +.el-tag--plain.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag--plain.el-tag--success { + background-color: #fff; + border-color: #c9e1d3; + color: #77b591 +} + +.el-tag--plain.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag--plain.el-tag--warning { + background-color: #fff; + border-color: #f5dab1; + color: #e6a23c +} + +.el-tag--plain.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag--plain.el-tag--danger { + background-color: #fff; + border-color: #eec0c0; + color: #d56262 +} + +.el-tag--plain.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag--medium { + height: 28px; + line-height: 26px +} + +.el-tag--medium .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--small { + height: 24px; + padding: 0 8px; + line-height: 22px +} + +.el-tag--small .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--mini { + height: 20px; + padding: 0 5px; + line-height: 19px +} + +.el-tag--mini .el-icon-close { + margin-left: -3px; + -webkit-transform: scale(.7); + transform: scale(.7) +} + +.el-select-dropdown__item { + font-size: 14px; + padding: 0 20px; + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: #606266; + height: 34px; + line-height: 34px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + cursor: pointer +} + +.el-select-dropdown__item.is-disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-select-dropdown__item.is-disabled:hover { + background-color: #fff +} + +.el-select-dropdown__item.hover, +.el-select-dropdown__item:hover { + background-color: #f5f7fa +} + +.el-select-dropdown__item.selected { + color: #0966c2; + font-weight: 700 +} + +.el-select-group { + margin: 0; + padding: 0 +} + +.el-select-group__wrap { + position: relative; + list-style: none; + margin: 0; + padding: 0 +} + +.el-select-group__wrap:not(:last-of-type) { + padding-bottom: 24px +} + +.el-select-group__wrap:not(:last-of-type)::after { + content: ''; + position: absolute; + display: block; + left: 20px; + right: 20px; + bottom: 12px; + height: 1px; + background: #e4e7ed +} + +.el-select-group__title { + padding-left: 20px; + font-size: 12px; + color: #909399; + line-height: 30px +} + +.el-select-group .el-select-dropdown__item { + padding-left: 20px +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-select { + display: inline-block; + position: relative; + width : 100% +} + +.el-select .el-select__tags>span { + display: contents +} + +.el-select:hover .el-input__inner { + border-color: #c0c4cc +} + +.el-select .el-input__inner { + cursor: pointer; + padding-right: 35px +} + +.el-select .el-input__inner:focus { + border-color: #0966c2 +} + +.el-select .el-input .el-select__caret { + color: #c0c4cc; + font-size: 14px; + -webkit-transition: -webkit-transform .3s; + transition: -webkit-transform .3s; + transition: transform .3s; + transition: transform .3s, -webkit-transform .3s; + -webkit-transform: rotateZ(180deg); + transform: rotateZ(180deg); + cursor: pointer +} + +.el-select .el-input .el-select__caret.is-reverse { + -webkit-transform: rotateZ(0); + transform: rotateZ(0) +} + +.el-select .el-input .el-select__caret.is-show-close { + font-size: 14px; + text-align: center; + -webkit-transform: rotateZ(180deg); + transform: rotateZ(180deg); + border-radius: 100%; + color: #c0c4cc; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-select .el-input .el-select__caret.is-show-close:hover { + color: #909399 +} + +.el-select .el-input.is-disabled .el-input__inner { + cursor: not-allowed +} + +.el-select .el-input.is-disabled .el-input__inner:hover { + border-color: #e4e7ed +} + +.el-select .el-input.is-focus .el-input__inner { + border-color: #0966c2 +} + +.el-select>.el-input { + display: block +} + +.el-select__input { + border: none; + outline: 0; + padding: 0; + margin-left: 15px; + color: #666; + font-size: 14px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 28px; + background-color: transparent +} + +.el-select__input.is-mini { + height: 14px +} + +.el-select__close { + cursor: pointer; + position: absolute; + top: 8px; + z-index: 1000; + right: 25px; + color: #c0c4cc; + line-height: 18px; + font-size: 14px +} + +.el-select__close:hover { + color: #909399 +} + +.el-select__tags { + position: absolute; + line-height: normal; + white-space: normal; + z-index: 1; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -ms-flex-wrap: wrap; + flex-wrap: wrap +} + +.el-select__tags-text { + overflow: hidden; + text-overflow: ellipsis +} + +.el-select .el-tag { + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-color: transparent; + margin: 2px 0 2px 6px; + background-color: #f0f2f5; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + max-width: 100%; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-select .el-tag__close.el-icon-close { + background-color: #c0c4cc; + top: 0; + color: #fff; + -ms-flex-negative: 0; + flex-shrink: 0 +} + +.el-select .el-tag__close.el-icon-close:hover { + background-color: #909399 +} + +.el-select .el-tag__close.el-icon-close::before { + display: block; + -webkit-transform: translate(0, .5px); + transform: translate(0, .5px) +} + +.el-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-color: #dcdfe6; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + -webkit-transition: .1s; + transition: .1s; + font-weight: 500; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button+.el-button { + margin-left: 10px +} + +.el-button.is-round { + padding: 12px 20px +} + +.el-button:focus, +.el-button:hover { + color: #0966c2; + border-color: #b5d1ed; + background-color: #e6f0f9 +} + +.el-button:active { + color: #085caf; + border-color: #085caf; + outline: 0 +} + +.el-button::-moz-focus-inner { + border: 0 +} + +.el-button [class*=el-icon-]+span { + margin-left: 5px +} + +.el-button.is-plain:focus, +.el-button.is-plain:hover { + background: #fff; + border-color: #0966c2; + color: #0966c2 +} + +.el-button.is-plain:active { + background: #fff; + border-color: #085caf; + color: #085caf; + outline: 0 +} + +.el-button.is-active { + color: #085caf; + border-color: #085caf +} + +.el-button.is-disabled, +.el-button.is-disabled:focus, +.el-button.is-disabled:hover { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5 +} + +.el-button.is-disabled.el-button--text { + background-color: transparent +} + +.el-button.is-disabled.is-plain, +.el-button.is-disabled.is-plain:focus, +.el-button.is-disabled.is-plain:hover { + background-color: #fff; + border-color: #ebeef5; + color: #c0c4cc +} + +.el-button.is-loading { + position: relative; + pointer-events: none +} + +.el-button.is-loading:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255, 255, 255, .35) +} + +.el-button.is-round { + border-radius: 20px; + padding: 12px 23px +} + +.el-button.is-circle { + border-radius: 50%; + padding: 12px +} + +.el-button--primary { + color: #fff; + background-color: #0966c2; + border-color: #0966c2 +} + +.el-button--primary:focus, +.el-button--primary:hover { + background: #3a85ce; + border-color: #3a85ce; + color: #fff +} + +.el-button--primary:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-active { + background: #085caf; + border-color: #085caf; + color: #fff +} + +.el-button--primary.is-disabled, +.el-button--primary.is-disabled:active, +.el-button--primary.is-disabled:focus, +.el-button--primary.is-disabled:hover { + color: #fff; + background-color: #84b3e1; + border-color: #84b3e1 +} + +.el-button--primary.is-plain { + color: #0966c2; + background: #e6f0f9; + border-color: #9dc2e7 +} + +.el-button--primary.is-plain:focus, +.el-button--primary.is-plain:hover { + background: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-button--primary.is-plain:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-plain.is-disabled, +.el-button--primary.is-plain.is-disabled:active, +.el-button--primary.is-plain.is-disabled:focus, +.el-button--primary.is-plain.is-disabled:hover { + color: #6ba3da; + background-color: #e6f0f9; + border-color: #cee0f3 +} + +.el-button--success { + color: #fff; + background-color: #77b591; + border-color: #77b591 +} + +.el-button--success:focus, +.el-button--success:hover { + background: #92c4a7; + border-color: #92c4a7; + color: #fff +} + +.el-button--success:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-active { + background: #6ba383; + border-color: #6ba383; + color: #fff +} + +.el-button--success.is-disabled, +.el-button--success.is-disabled:active, +.el-button--success.is-disabled:focus, +.el-button--success.is-disabled:hover { + color: #fff; + background-color: #bbdac8; + border-color: #bbdac8 +} + +.el-button--success.is-plain { + color: #77b591; + background: #f1f8f4; + border-color: #c9e1d3 +} + +.el-button--success.is-plain:focus, +.el-button--success.is-plain:hover { + background: #77b591; + border-color: #77b591; + color: #fff +} + +.el-button--success.is-plain:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-plain.is-disabled, +.el-button--success.is-plain.is-disabled:active, +.el-button--success.is-plain.is-disabled:focus, +.el-button--success.is-plain.is-disabled:hover { + color: #add3bd; + background-color: #f1f8f4; + border-color: #e4f0e9 +} + +.el-button--warning { + color: #fff; + background-color: #e6a23c; + border-color: #e6a23c +} + +.el-button--warning:focus, +.el-button--warning:hover { + background: #ebb563; + border-color: #ebb563; + color: #fff +} + +.el-button--warning:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-active { + background: #cf9236; + border-color: #cf9236; + color: #fff +} + +.el-button--warning.is-disabled, +.el-button--warning.is-disabled:active, +.el-button--warning.is-disabled:focus, +.el-button--warning.is-disabled:hover { + color: #fff; + background-color: #f3d19e; + border-color: #f3d19e +} + +.el-button--warning.is-plain { + color: #e6a23c; + background: #fdf6ec; + border-color: #f5dab1 +} + +.el-button--warning.is-plain:focus, +.el-button--warning.is-plain:hover { + background: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-button--warning.is-plain:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-plain.is-disabled, +.el-button--warning.is-plain.is-disabled:active, +.el-button--warning.is-plain.is-disabled:focus, +.el-button--warning.is-plain.is-disabled:hover { + color: #f0c78a; + background-color: #fdf6ec; + border-color: #faecd8 +} + +.el-button--danger { + color: #fff; + background-color: #d56262; + border-color: #d56262 +} + +.el-button--danger:focus, +.el-button--danger:hover { + background: #dd8181; + border-color: #dd8181; + color: #fff +} + +.el-button--danger:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-active { + background: #c05858; + border-color: #c05858; + color: #fff +} + +.el-button--danger.is-disabled, +.el-button--danger.is-disabled:active, +.el-button--danger.is-disabled:focus, +.el-button--danger.is-disabled:hover { + color: #fff; + background-color: #eab1b1; + border-color: #eab1b1 +} + +.el-button--danger.is-plain { + color: #d56262; + background: #fbefef; + border-color: #eec0c0 +} + +.el-button--danger.is-plain:focus, +.el-button--danger.is-plain:hover { + background: #d56262; + border-color: #d56262; + color: #fff +} + +.el-button--danger.is-plain:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-plain.is-disabled, +.el-button--danger.is-plain.is-disabled:active, +.el-button--danger.is-plain.is-disabled:focus, +.el-button--danger.is-plain.is-disabled:hover { + color: #e6a1a1; + background-color: #fbefef; + border-color: #f7e0e0 +} + +.el-button--info { + color: #fff; + background-color: #909399; + border-color: #909399 +} + +.el-button--info:focus, +.el-button--info:hover { + background: #a6a9ad; + border-color: #a6a9ad; + color: #fff +} + +.el-button--info:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-active { + background: #82848a; + border-color: #82848a; + color: #fff +} + +.el-button--info.is-disabled, +.el-button--info.is-disabled:active, +.el-button--info.is-disabled:focus, +.el-button--info.is-disabled:hover { + color: #fff; + background-color: #c8c9cc; + border-color: #c8c9cc +} + +.el-button--info.is-plain { + color: #909399; + background: #f4f4f5; + border-color: #d3d4d6 +} + +.el-button--info.is-plain:focus, +.el-button--info.is-plain:hover { + background: #909399; + border-color: #909399; + color: #fff +} + +.el-button--info.is-plain:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-plain.is-disabled, +.el-button--info.is-plain.is-disabled:active, +.el-button--info.is-plain.is-disabled:focus, +.el-button--info.is-plain.is-disabled:hover { + color: #bcbec2; + background-color: #f4f4f5; + border-color: #e9e9eb +} + +.el-button--medium { + padding: 10px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button--medium.is-round { + padding: 10px 20px +} + +.el-button--medium.is-circle { + padding: 10px +} + +.el-button--small { + padding: 9px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--small.is-round { + padding: 9px 15px +} + +.el-button--small.is-circle { + padding: 9px +} + +.el-button--mini { + padding: 7px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--mini.is-round { + padding: 7px 15px +} + +.el-button--mini.is-circle { + padding: 7px +} + +.el-button--text { + border-color: transparent; + color: #0966c2; + background: 0 0; + padding-left: 0; + padding-right: 0 +} + +.el-button--text:focus, +.el-button--text:hover { + color: #3a85ce; + border-color: transparent; + background-color: transparent +} + +.el-button--text:active { + color: #085caf; + border-color: transparent; + background-color: transparent +} + +.el-button--text.is-disabled, +.el-button--text.is-disabled:focus, +.el-button--text.is-disabled:hover { + border-color: transparent +} + +.el-button-group { + display: inline-block; + vertical-align: middle +} + +.el-button-group::after, +.el-button-group::before { + display: table; + content: "" +} + +.el-button-group::after { + clear: both +} + +.el-button-group>.el-button { + float: left; + position: relative +} + +.el-button-group>.el-button+.el-button { + margin-left: 0 +} + +.el-button-group>.el-button.is-disabled { + z-index: 1 +} + +.el-button-group>.el-button:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-button-group>.el-button:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-button-group>.el-button:first-child:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px +} + +.el-button-group>.el-button:first-child:last-child.is-round { + border-radius: 20px +} + +.el-button-group>.el-button:first-child:last-child.is-circle { + border-radius: 50% +} + +.el-button-group>.el-button:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.el-button-group>.el-button:not(:last-child) { + margin-right: -1px +} + +.el-button-group>.el-button:not(.is-disabled):active, +.el-button-group>.el-button:not(.is-disabled):focus, +.el-button-group>.el-button:not(.is-disabled):hover { + z-index: 1 +} + +.el-button-group>.el-button.is-active { + z-index: 1 +} + +.el-button-group>.el-dropdown>.el-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-checkbox { + color: #606266; + font-weight: 500; + font-size: 14px; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + margin-right: 30px +} + +.el-checkbox.is-bordered { + padding: 9px 20px 9px 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: normal; + height: 40px +} + +.el-checkbox.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-checkbox.is-bordered.is-disabled { + border-color: #ebeef5; + cursor: not-allowed +} + +.el-checkbox.is-bordered+.el-checkbox.is-bordered { + margin-left: 10px +} + +.el-checkbox.is-bordered.el-checkbox--medium { + padding: 7px 20px 7px 10px; + border-radius: 4px; + height: 36px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { + line-height: 17px; + font-size: 14px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { + height: 14px; + width: 14px +} + +.el-checkbox.is-bordered.el-checkbox--small { + padding: 5px 15px 5px 10px; + border-radius: 3px; + height: 32px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { + line-height: 15px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox.is-bordered.el-checkbox--mini { + padding: 3px 15px 3px 10px; + border-radius: 3px; + height: 28px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { + line-height: 12px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: #edf2fc; + border-color: #dcdfe6; + cursor: not-allowed +} + +.el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label { + cursor: not-allowed +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + background-color: #c0c4cc; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled+span.el-checkbox__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-checked .el-checkbox__inner::after { + -webkit-transform: rotate(45deg) scaleY(1); + transform: rotate(45deg) scaleY(1) +} + +.el-checkbox__input.is-checked+.el-checkbox__label { + color: #0966c2 +} + +.el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + background-color: #fff; + height: 2px; + -webkit-transform: scale(.5); + transform: scale(.5); + left: 0; + right: 0; + top: 5px +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none +} + +.el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 14px; + height: 14px; + background-color: #fff; + z-index: 1; + -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46); + transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46) +} + +.el-checkbox__inner:hover { + border-color: #0966c2 +} + +.el-checkbox__inner::after { + -webkit-box-sizing: content-box; + box-sizing: content-box; + content: ""; + border: 1px solid #fff; + border-left: 0; + border-top: 0; + height: 7px; + left: 4px; + position: absolute; + top: 1px; + -webkit-transform: rotate(45deg) scaleY(0); + transform: rotate(45deg) scaleY(0); + width: 3px; + -webkit-transition: -webkit-transform .15s ease-in .05s; + transition: -webkit-transform .15s ease-in .05s; + transition: transform .15s ease-in .05s; + transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; + -webkit-transform-origin: center; + transform-origin: center +} + +.el-checkbox__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + width: 0; + height: 0; + z-index: -1 +} + +.el-checkbox__label { + display: inline-block; + padding-left: 10px; + line-height: 19px; + font-size: 14px +} + +.el-checkbox:last-of-type { + margin-right: 0 +} + +.el-checkbox-button { + position: relative; + display: inline-block +} + +.el-checkbox-button__inner { + display: inline-block; + line-height: 1; + font-weight: 500; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-left: 0; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + position: relative; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button__inner.is-round { + padding: 12px 20px +} + +.el-checkbox-button__inner:hover { + color: #0966c2 +} + +.el-checkbox-button__inner [class*=el-icon-] { + line-height: .9 +} + +.el-checkbox-button__inner [class*=el-icon-]+span { + margin-left: 5px +} + +.el-checkbox-button__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + z-index: -1 +} + +.el-checkbox-button.is-checked .el-checkbox-button__inner { + color: #fff; + background-color: #0966c2; + border-color: #0966c2; + -webkit-box-shadow: -1px 0 0 0 #6ba3da; + box-shadow: -1px 0 0 0 #6ba3da +} + +.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { + border-left-color: #0966c2 +} + +.el-checkbox-button.is-disabled .el-checkbox-button__inner { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5; + -webkit-box-shadow: none; + box-shadow: none +} + +.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { + border-left-color: #ebeef5 +} + +.el-checkbox-button:first-child .el-checkbox-button__inner { + border-left: 1px solid #dcdfe6; + border-radius: 4px 0 0 4px; + -webkit-box-shadow: none !important; + box-shadow: none !important +} + +.el-checkbox-button.is-focus .el-checkbox-button__inner { + border-color: #0966c2 +} + +.el-checkbox-button:last-child .el-checkbox-button__inner { + border-radius: 0 4px 4px 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner { + padding: 10px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner.is-round { + padding: 10px 20px +} + +.el-checkbox-button--small .el-checkbox-button__inner { + padding: 9px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--small .el-checkbox-button__inner.is-round { + padding: 9px 15px +} + +.el-checkbox-button--mini .el-checkbox-button__inner { + padding: 7px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--mini .el-checkbox-button__inner.is-round { + padding: 7px 15px +} + +.el-checkbox-group { + font-size: 0 +} + +.el-tag { + background-color: #e6f0f9; + border-color: #cee0f3; + color: #0966c2; + display: inline-block; + height: 32px; + padding: 0 10px; + line-height: 30px; + font-size: 12px; + color: #0966c2; + border-width: 1px; + border-style: solid; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: nowrap +} + +.el-tag.is-hit { + border-color: #0966c2 +} + +.el-tag .el-tag__close { + color: #0966c2 +} + +.el-tag .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag.el-tag--info { + background-color: #f4f4f5; + border-color: #e9e9eb; + color: #909399 +} + +.el-tag.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag.el-tag--success { + background-color: #f1f8f4; + border-color: #e4f0e9; + color: #77b591 +} + +.el-tag.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag.el-tag--warning { + background-color: #fdf6ec; + border-color: #faecd8; + color: #e6a23c +} + +.el-tag.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag.el-tag--danger { + background-color: #fbefef; + border-color: #f7e0e0; + color: #d56262 +} + +.el-tag.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + height: 16px; + width: 16px; + line-height: 16px; + vertical-align: middle; + top: -1px; + right: -5px +} + +.el-tag .el-icon-close::before { + display: block +} + +.el-tag--dark { + background-color: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-tag--dark.is-hit { + border-color: #0966c2 +} + +.el-tag--dark .el-tag__close { + color: #fff +} + +.el-tag--dark .el-tag__close:hover { + color: #fff; + background-color: #3a85ce +} + +.el-tag--dark.el-tag--info { + background-color: #909399; + border-color: #909399; + color: #fff +} + +.el-tag--dark.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--dark.el-tag--info .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #a6a9ad +} + +.el-tag--dark.el-tag--success { + background-color: #77b591; + border-color: #77b591; + color: #fff +} + +.el-tag--dark.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--dark.el-tag--success .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #92c4a7 +} + +.el-tag--dark.el-tag--warning { + background-color: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-tag--dark.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--dark.el-tag--warning .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #ebb563 +} + +.el-tag--dark.el-tag--danger { + background-color: #d56262; + border-color: #d56262; + color: #fff +} + +.el-tag--dark.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--dark.el-tag--danger .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #dd8181 +} + +.el-tag--plain { + background-color: #fff; + border-color: #9dc2e7; + color: #0966c2 +} + +.el-tag--plain.is-hit { + border-color: #0966c2 +} + +.el-tag--plain .el-tag__close { + color: #0966c2 +} + +.el-tag--plain .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag--plain.el-tag--info { + background-color: #fff; + border-color: #d3d4d6; + color: #909399 +} + +.el-tag--plain.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag--plain.el-tag--success { + background-color: #fff; + border-color: #c9e1d3; + color: #77b591 +} + +.el-tag--plain.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag--plain.el-tag--warning { + background-color: #fff; + border-color: #f5dab1; + color: #e6a23c +} + +.el-tag--plain.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag--plain.el-tag--danger { + background-color: #fff; + border-color: #eec0c0; + color: #d56262 +} + +.el-tag--plain.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag--medium { + height: 28px; + line-height: 26px +} + +.el-tag--medium .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--small { + height: 24px; + padding: 0 8px; + line-height: 22px +} + +.el-tag--small .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--mini { + height: 20px; + padding: 0 5px; + line-height: 19px +} + +.el-tag--mini .el-icon-close { + margin-left: -3px; + -webkit-transform: scale(.7); + transform: scale(.7) +} + +.el-tooltip:focus:hover, +.el-tooltip:focus:not(.focusing) { + outline-width: 0 +} + +.el-tooltip__popper { + position: absolute; + border-radius: 4px; + padding: 10px; + z-index: 2000; + font-size: 12px; + line-height: 1.2; + min-width: 10px; + word-wrap: break-word +} + +.el-tooltip__popper .popper__arrow, +.el-tooltip__popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-tooltip__popper .popper__arrow { + border-width: 6px +} + +.el-tooltip__popper .popper__arrow::after { + content: " "; + border-width: 5px +} + +.el-tooltip__popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-tooltip__popper[x-placement^=top] .popper__arrow { + bottom: -6px; + border-top-color: #303133; + border-bottom-width: 0 +} + +.el-tooltip__popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -5px; + border-top-color: #303133; + border-bottom-width: 0 +} + +.el-tooltip__popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-tooltip__popper[x-placement^=bottom] .popper__arrow { + top: -6px; + border-top-width: 0; + border-bottom-color: #303133 +} + +.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -5px; + border-top-width: 0; + border-bottom-color: #303133 +} + +.el-tooltip__popper[x-placement^=right] { + margin-left: 12px +} + +.el-tooltip__popper[x-placement^=right] .popper__arrow { + left: -6px; + border-right-color: #303133; + border-left-width: 0 +} + +.el-tooltip__popper[x-placement^=right] .popper__arrow::after { + bottom: -5px; + left: 1px; + border-right-color: #303133; + border-left-width: 0 +} + +.el-tooltip__popper[x-placement^=left] { + margin-right: 12px +} + +.el-tooltip__popper[x-placement^=left] .popper__arrow { + right: -6px; + border-right-width: 0; + border-left-color: #303133 +} + +.el-tooltip__popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -5px; + margin-left: -5px; + border-right-width: 0; + border-left-color: #303133 +} + +.el-tooltip__popper.is-dark { + background: #303133; + color: #fff +} + +.el-tooltip__popper.is-light { + background: #fff; + border: 1px solid #303133 +} + +.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow { + border-top-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after { + border-top-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow { + border-bottom-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after { + border-bottom-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow { + border-left-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after { + border-left-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow { + border-right-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after { + border-right-color: #fff +} + +.el-table { + position: relative; + overflow: hidden; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + width: 100%; + max-width: 100%; + background-color: #fff; + font-size: 14px; + color: #606266 +} + +.el-table__empty-block { + min-height: 60px; + text-align: center; + width: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-table__empty-text { + line-height: 60px; + width: 50%; + color: #909399 +} + +.el-table__expand-column .cell { + padding: 0; + text-align: center +} + +.el-table__expand-icon { + position: relative; + cursor: pointer; + color: #666; + font-size: 12px; + -webkit-transition: -webkit-transform .2s ease-in-out; + transition: -webkit-transform .2s ease-in-out; + transition: transform .2s ease-in-out; + transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; + height: 20px +} + +.el-table__expand-icon--expanded { + -webkit-transform: rotate(90deg); + transform: rotate(90deg) +} + +.el-table__expand-icon>.el-icon { + position: absolute; + left: 50%; + top: 50%; + margin-left: -5px; + margin-top: -5px +} + +.el-table__expanded-cell { + background-color: #fff +} + +.el-table__expanded-cell[class*=cell] { + padding: 20px 50px +} + +.el-table__expanded-cell:hover { + background-color: transparent !important +} + +.el-table__placeholder { + display: inline-block; + width: 20px +} + +.el-table__append-wrapper { + overflow: hidden +} + +.el-table--fit { + border-right: 0; + border-bottom: 0 +} + +.el-table--fit .el-table__cell.gutter { + border-right-width: 1px +} + +.el-table--scrollable-x .el-table__body-wrapper { + overflow-x: auto +} + +.el-table--scrollable-y .el-table__body-wrapper { + overflow-y: auto +} + +.el-table thead { + color: #909399; + font-weight: 500 +} + +.el-table thead.is-group th.el-table__cell { + background: #f5f7fa +} + +.el-table .el-table__cell { + padding: 12px 0; + min-width: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-overflow: ellipsis; + vertical-align: middle; + position: relative; + text-align: left +} + +.el-table .el-table__cell.is-center { + text-align: center +} + +.el-table .el-table__cell.is-right { + text-align: right +} + +.el-table .el-table__cell.gutter { + width: 15px; + border-right-width: 0; + border-bottom-width: 0; + padding: 0 +} + +.el-table .el-table__cell.is-hidden>* { + visibility: hidden +} + +.el-table--medium .el-table__cell { + padding: 10px 0 +} + +.el-table--small { + font-size: 12px +} + +.el-table--small .el-table__cell { + padding: 8px 0 +} + +.el-table--mini { + font-size: 12px +} + +.el-table--mini .el-table__cell { + padding: 6px 0 +} + +.el-table tr { + background-color: #fff +} + +.el-table tr input[type=checkbox] { + margin: 0 +} + +.el-table td.el-table__cell, +.el-table th.el-table__cell.is-leaf { + border-bottom: 1px solid #ebeef5 +} + +.el-table th.el-table__cell.is-sortable { + cursor: pointer +} + +.el-table th.el-table__cell { + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #fff +} + +.el-table th.el-table__cell>.cell { + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + position: relative; + vertical-align: middle; + padding-left: 10px; + padding-right: 10px; + width: 100% +} + +.el-table th.el-table__cell>.cell.highlight { + color: #0966c2 +} + +.el-table th.el-table__cell.required>div::before { + display: inline-block; + content: ""; + width: 8px; + height: 8px; + border-radius: 50%; + background: #ff4d51; + margin-right: 5px; + vertical-align: middle +} + +.el-table td.el-table__cell div { + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-table td.el-table__cell.gutter { + width: 0 +} + +.el-table .cell { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; + word-break: break-all; + line-height: 23px; + padding-left: 10px; + padding-right: 10px +} + +.el-table .cell.el-tooltip { + white-space: nowrap; + min-width: 50px +} + +.el-table--border, +.el-table--group { + border: 1px solid #ebeef5 +} + +.el-table--border::after, +.el-table--group::after, +.el-table::before { + content: ''; + position: absolute; + background-color: #ebeef5; + z-index: 1 +} + +.el-table--border::after, +.el-table--group::after { + top: 0; + right: 0; + width: 1px; + height: 100% +} + +.el-table::before { + left: 0; + bottom: 0; + width: 100%; + height: 1px +} + +.el-table--border { + border-right: none; + border-bottom: none +} + +.el-table--border.el-loading-parent--relative { + border-color: transparent +} + +.el-table--border .el-table__cell { + border-right: 1px solid #ebeef5 +} + +.el-table--border .el-table__cell:first-child .cell { + padding-left: 10px +} + +.el-table--border th.el-table__cell.gutter:last-of-type { + border-bottom: 1px solid #ebeef5; + border-bottom-width: 1px +} + +.el-table--border th.el-table__cell { + border-bottom: 1px solid #ebeef5 +} + +.el-table--hidden { + visibility: hidden +} + +.el-table__fixed, +.el-table__fixed-right { + position: absolute; + top: 0; + left: 0; + overflow-x: hidden; + overflow-y: hidden; + -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12); + box-shadow: 0 0 10px rgba(0, 0, 0, .12) +} + +.el-table__fixed-right::before, +.el-table__fixed::before { + content: ''; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 1px; + background-color: #ebeef5; + z-index: 4 +} + +.el-table__fixed-right-patch { + position: absolute; + top: -1px; + right: 0; + background-color: #fff; + border-bottom: 1px solid #ebeef5 +} + +.el-table__fixed-right { + top: 0; + left: auto; + right: 0 +} + +.el-table__fixed-right .el-table__fixed-body-wrapper, +.el-table__fixed-right .el-table__fixed-footer-wrapper, +.el-table__fixed-right .el-table__fixed-header-wrapper { + left: auto; + right: 0 +} + +.el-table__fixed-header-wrapper { + position: absolute; + left: 0; + top: 0; + z-index: 3 +} + +.el-table__fixed-footer-wrapper { + position: absolute; + left: 0; + bottom: 0; + z-index: 3 +} + +.el-table__fixed-footer-wrapper tbody td.el-table__cell { + border-top: 1px solid #ebeef5; + background-color: #f5f7fa; + color: #606266 +} + +.el-table__fixed-body-wrapper { + position: absolute; + left: 0; + top: 37px; + overflow: hidden; + z-index: 3 +} + +.el-table__body-wrapper, +.el-table__footer-wrapper, +.el-table__header-wrapper { + width: 100% +} + +.el-table__footer-wrapper { + margin-top: -1px +} + +.el-table__footer-wrapper td.el-table__cell { + border-top: 1px solid #ebeef5 +} + +.el-table__body, +.el-table__footer, +.el-table__header { + table-layout: fixed; + border-collapse: separate +} + +.el-table__footer-wrapper, +.el-table__header-wrapper { + overflow: hidden +} + +.el-table__footer-wrapper tbody td.el-table__cell, +.el-table__header-wrapper tbody td.el-table__cell { + background-color: #f5f7fa; + color: #606266 +} + +.el-table__body-wrapper { + overflow: hidden; + position: relative +} + +.el-table__body-wrapper.is-scrolling-none~.el-table__fixed, +.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right { + -webkit-box-shadow: none; + box-shadow: none +} + +.el-table__body-wrapper.is-scrolling-left~.el-table__fixed { + -webkit-box-shadow: none; + box-shadow: none +} + +.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right { + -webkit-box-shadow: none; + box-shadow: none +} + +.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right { + border-left: 1px solid #ebeef5 +} + +.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed { + border-right: 1px solid #ebeef5 +} + +.el-table .caret-wrapper { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 34px; + width: 24px; + vertical-align: middle; + cursor: pointer; + overflow: initial; + position: relative +} + +.el-table .sort-caret { + width: 0; + height: 0; + border: solid 5px transparent; + position: absolute; + left: 7px +} + +.el-table .sort-caret.ascending { + border-bottom-color: #c0c4cc; + top: 5px +} + +.el-table .sort-caret.descending { + border-top-color: #c0c4cc; + bottom: 7px +} + +.el-table .ascending .sort-caret.ascending { + border-bottom-color: #0966c2 +} + +.el-table .descending .sort-caret.descending { + border-top-color: #0966c2 +} + +.el-table .hidden-columns { + visibility: hidden; + position: absolute; + z-index: -1 +} + +.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell { + background: #fafafa +} + +.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell { + background-color: #e6f0f9 +} + +.el-table__body tr.hover-row.current-row>td.el-table__cell, +.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell, +.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell, +.el-table__body tr.hover-row>td.el-table__cell { + background-color: #f5f7fa +} + +.el-table__body tr.current-row>td.el-table__cell { + background-color: #e6f0f9 +} + +.el-table__column-resize-proxy { + position: absolute; + left: 200px; + top: 0; + bottom: 0; + width: 0; + border-left: 1px solid #ebeef5; + z-index: 10 +} + +.el-table__column-filter-trigger { + display: inline-block; + line-height: 34px; + cursor: pointer +} + +.el-table__column-filter-trigger i { + color: #909399; + font-size: 12px; + -webkit-transform: scale(.75); + transform: scale(.75) +} + +.el-table--enable-row-transition .el-table__body td.el-table__cell { + -webkit-transition: background-color .25s ease; + transition: background-color .25s ease +} + +.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { + background-color: #f5f7fa +} + +.el-table--fluid-height .el-table__fixed, +.el-table--fluid-height .el-table__fixed-right { + bottom: 0; + overflow: hidden +} + +.el-table [class*=el-table__row--level] .el-table__expand-icon { + display: inline-block; + width: 20px; + line-height: 20px; + height: 20px; + text-align: center; + margin-right: 3px +} + +.el-checkbox { + color: #606266; + font-weight: 500; + font-size: 14px; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + margin-right: 30px +} + +.el-checkbox.is-bordered { + padding: 9px 20px 9px 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: normal; + height: 40px +} + +.el-checkbox.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-checkbox.is-bordered.is-disabled { + border-color: #ebeef5; + cursor: not-allowed +} + +.el-checkbox.is-bordered+.el-checkbox.is-bordered { + margin-left: 10px +} + +.el-checkbox.is-bordered.el-checkbox--medium { + padding: 7px 20px 7px 10px; + border-radius: 4px; + height: 36px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { + line-height: 17px; + font-size: 14px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { + height: 14px; + width: 14px +} + +.el-checkbox.is-bordered.el-checkbox--small { + padding: 5px 15px 5px 10px; + border-radius: 3px; + height: 32px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { + line-height: 15px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox.is-bordered.el-checkbox--mini { + padding: 3px 15px 3px 10px; + border-radius: 3px; + height: 28px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { + line-height: 12px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: #edf2fc; + border-color: #dcdfe6; + cursor: not-allowed +} + +.el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label { + cursor: not-allowed +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + background-color: #c0c4cc; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled+span.el-checkbox__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-checked .el-checkbox__inner::after { + -webkit-transform: rotate(45deg) scaleY(1); + transform: rotate(45deg) scaleY(1) +} + +.el-checkbox__input.is-checked+.el-checkbox__label { + color: #0966c2 +} + +.el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + background-color: #fff; + height: 2px; + -webkit-transform: scale(.5); + transform: scale(.5); + left: 0; + right: 0; + top: 5px +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none +} + +.el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 14px; + height: 14px; + background-color: #fff; + z-index: 1; + -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46); + transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46) +} + +.el-checkbox__inner:hover { + border-color: #0966c2 +} + +.el-checkbox__inner::after { + -webkit-box-sizing: content-box; + box-sizing: content-box; + content: ""; + border: 1px solid #fff; + border-left: 0; + border-top: 0; + height: 7px; + left: 4px; + position: absolute; + top: 1px; + -webkit-transform: rotate(45deg) scaleY(0); + transform: rotate(45deg) scaleY(0); + width: 3px; + -webkit-transition: -webkit-transform .15s ease-in .05s; + transition: -webkit-transform .15s ease-in .05s; + transition: transform .15s ease-in .05s; + transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; + -webkit-transform-origin: center; + transform-origin: center +} + +.el-checkbox__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + width: 0; + height: 0; + z-index: -1 +} + +.el-checkbox__label { + display: inline-block; + padding-left: 10px; + line-height: 19px; + font-size: 14px +} + +.el-checkbox:last-of-type { + margin-right: 0 +} + +.el-checkbox-button { + position: relative; + display: inline-block +} + +.el-checkbox-button__inner { + display: inline-block; + line-height: 1; + font-weight: 500; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-left: 0; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + position: relative; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button__inner.is-round { + padding: 12px 20px +} + +.el-checkbox-button__inner:hover { + color: #0966c2 +} + +.el-checkbox-button__inner [class*=el-icon-] { + line-height: .9 +} + +.el-checkbox-button__inner [class*=el-icon-]+span { + margin-left: 5px +} + +.el-checkbox-button__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + z-index: -1 +} + +.el-checkbox-button.is-checked .el-checkbox-button__inner { + color: #fff; + background-color: #0966c2; + border-color: #0966c2; + -webkit-box-shadow: -1px 0 0 0 #6ba3da; + box-shadow: -1px 0 0 0 #6ba3da +} + +.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { + border-left-color: #0966c2 +} + +.el-checkbox-button.is-disabled .el-checkbox-button__inner { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5; + -webkit-box-shadow: none; + box-shadow: none +} + +.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { + border-left-color: #ebeef5 +} + +.el-checkbox-button:first-child .el-checkbox-button__inner { + border-left: 1px solid #dcdfe6; + border-radius: 4px 0 0 4px; + -webkit-box-shadow: none !important; + box-shadow: none !important +} + +.el-checkbox-button.is-focus .el-checkbox-button__inner { + border-color: #0966c2 +} + +.el-checkbox-button:last-child .el-checkbox-button__inner { + border-radius: 0 4px 4px 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner { + padding: 10px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner.is-round { + padding: 10px 20px +} + +.el-checkbox-button--small .el-checkbox-button__inner { + padding: 9px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--small .el-checkbox-button__inner.is-round { + padding: 9px 15px +} + +.el-checkbox-button--mini .el-checkbox-button__inner { + padding: 7px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--mini .el-checkbox-button__inner.is-round { + padding: 7px 15px +} + +.el-checkbox-group { + font-size: 0 +} + +.el-tag { + background-color: #e6f0f9; + border-color: #cee0f3; + color: #0966c2; + display: inline-block; + height: 32px; + padding: 0 10px; + line-height: 30px; + font-size: 12px; + color: #0966c2; + border-width: 1px; + border-style: solid; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: nowrap +} + +.el-tag.is-hit { + border-color: #0966c2 +} + +.el-tag .el-tag__close { + color: #0966c2 +} + +.el-tag .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag.el-tag--info { + background-color: #f4f4f5; + border-color: #e9e9eb; + color: #909399 +} + +.el-tag.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag.el-tag--success { + background-color: #f1f8f4; + border-color: #e4f0e9; + color: #77b591 +} + +.el-tag.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag.el-tag--warning { + background-color: #fdf6ec; + border-color: #faecd8; + color: #e6a23c +} + +.el-tag.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag.el-tag--danger { + background-color: #fbefef; + border-color: #f7e0e0; + color: #d56262 +} + +.el-tag.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + height: 16px; + width: 16px; + line-height: 16px; + vertical-align: middle; + top: -1px; + right: -5px +} + +.el-tag .el-icon-close::before { + display: block +} + +.el-tag--dark { + background-color: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-tag--dark.is-hit { + border-color: #0966c2 +} + +.el-tag--dark .el-tag__close { + color: #fff +} + +.el-tag--dark .el-tag__close:hover { + color: #fff; + background-color: #3a85ce +} + +.el-tag--dark.el-tag--info { + background-color: #909399; + border-color: #909399; + color: #fff +} + +.el-tag--dark.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--dark.el-tag--info .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #a6a9ad +} + +.el-tag--dark.el-tag--success { + background-color: #77b591; + border-color: #77b591; + color: #fff +} + +.el-tag--dark.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--dark.el-tag--success .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #92c4a7 +} + +.el-tag--dark.el-tag--warning { + background-color: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-tag--dark.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--dark.el-tag--warning .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #ebb563 +} + +.el-tag--dark.el-tag--danger { + background-color: #d56262; + border-color: #d56262; + color: #fff +} + +.el-tag--dark.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--dark.el-tag--danger .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #dd8181 +} + +.el-tag--plain { + background-color: #fff; + border-color: #9dc2e7; + color: #0966c2 +} + +.el-tag--plain.is-hit { + border-color: #0966c2 +} + +.el-tag--plain .el-tag__close { + color: #0966c2 +} + +.el-tag--plain .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag--plain.el-tag--info { + background-color: #fff; + border-color: #d3d4d6; + color: #909399 +} + +.el-tag--plain.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag--plain.el-tag--success { + background-color: #fff; + border-color: #c9e1d3; + color: #77b591 +} + +.el-tag--plain.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag--plain.el-tag--warning { + background-color: #fff; + border-color: #f5dab1; + color: #e6a23c +} + +.el-tag--plain.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag--plain.el-tag--danger { + background-color: #fff; + border-color: #eec0c0; + color: #d56262 +} + +.el-tag--plain.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag--medium { + height: 28px; + line-height: 26px +} + +.el-tag--medium .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--small { + height: 24px; + padding: 0 8px; + line-height: 22px +} + +.el-tag--small .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--mini { + height: 20px; + padding: 0 5px; + line-height: 19px +} + +.el-tag--mini .el-icon-close { + margin-left: -3px; + -webkit-transform: scale(.7); + transform: scale(.7) +} + +.el-table-column--selection .cell { + padding-left: 14px; + padding-right: 14px +} + +.el-table-filter { + border: solid 1px #ebeef5; + border-radius: 2px; + background-color: #fff; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 2px 0 +} + +.el-table-filter__list { + padding: 5px 0; + margin: 0; + list-style: none; + min-width: 100px +} + +.el-table-filter__list-item { + line-height: 36px; + padding: 0 10px; + cursor: pointer; + font-size: 14px +} + +.el-table-filter__list-item:hover { + background-color: #e6f0f9; + color: #3a85ce +} + +.el-table-filter__list-item.is-active { + background-color: #0966c2; + color: #fff +} + +.el-table-filter__content { + min-width: 100px +} + +.el-table-filter__bottom { + border-top: 1px solid #ebeef5; + padding: 8px +} + +.el-table-filter__bottom button { + background: 0 0; + border: none; + color: #606266; + cursor: pointer; + font-size: 13px; + padding: 0 3px +} + +.el-table-filter__bottom button:hover { + color: #0966c2 +} + +.el-table-filter__bottom button:focus { + outline: 0 +} + +.el-table-filter__bottom button.is-disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-table-filter__wrap { + max-height: 280px +} + +.el-table-filter__checkbox-group { + padding: 10px +} + +.el-table-filter__checkbox-group label.el-checkbox { + display: block; + margin-right: 5px; + margin-bottom: 8px; + margin-left: 5px +} + +.el-table-filter__checkbox-group .el-checkbox:last-child { + margin-bottom: 0 +} + +.el-date-table { + font-size: 12px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.el-date-table.is-week-mode .el-date-table__row:hover div { + background-color: #f2f6fc +} + +.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover { + color: #606266 +} + +.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div { + margin-left: 5px; + border-top-left-radius: 15px; + border-bottom-left-radius: 15px +} + +.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div { + margin-right: 5px; + border-top-right-radius: 15px; + border-bottom-right-radius: 15px +} + +.el-date-table.is-week-mode .el-date-table__row.current div { + background-color: #f2f6fc +} + +.el-date-table td { + width: 32px; + height: 30px; + padding: 4px 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: center; + cursor: pointer; + position: relative +} + +.el-date-table td div { + height: 30px; + padding: 3px 0; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-date-table td span { + width: 24px; + height: 24px; + display: block; + margin: 0 auto; + line-height: 24px; + position: absolute; + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + border-radius: 50% +} + +.el-date-table td.next-month, +.el-date-table td.prev-month { + color: #c0c4cc +} + +.el-date-table td.today { + position: relative +} + +.el-date-table td.today span { + color: #0966c2; + font-weight: 700 +} + +.el-date-table td.today.end-date span, +.el-date-table td.today.start-date span { + color: #fff +} + +.el-date-table td.available:hover { + color: #0966c2 +} + +.el-date-table td.in-range div { + background-color: #f2f6fc +} + +.el-date-table td.in-range div:hover { + background-color: #f2f6fc +} + +.el-date-table td.current:not(.disabled) span { + color: #fff; + background-color: #0966c2 +} + +.el-date-table td.end-date div, +.el-date-table td.start-date div { + color: #fff +} + +.el-date-table td.end-date span, +.el-date-table td.start-date span { + background-color: #0966c2 +} + +.el-date-table td.start-date div { + margin-left: 5px; + border-top-left-radius: 15px; + border-bottom-left-radius: 15px +} + +.el-date-table td.end-date div { + margin-right: 5px; + border-top-right-radius: 15px; + border-bottom-right-radius: 15px +} + +.el-date-table td.disabled div { + background-color: #f5f7fa; + opacity: 1; + cursor: not-allowed; + color: #c0c4cc +} + +.el-date-table td.selected div { + margin-left: 5px; + margin-right: 5px; + background-color: #f2f6fc; + border-radius: 15px +} + +.el-date-table td.selected div:hover { + background-color: #f2f6fc +} + +.el-date-table td.selected span { + background-color: #0966c2; + color: #fff; + border-radius: 15px +} + +.el-date-table td.week { + font-size: 80%; + color: #606266 +} + +.el-date-table th { + padding: 5px; + color: #606266; + font-weight: 400; + border-bottom: solid 1px #ebeef5 +} + +.el-month-table { + font-size: 12px; + margin: -1px; + border-collapse: collapse +} + +.el-month-table td { + text-align: center; + padding: 8px 0; + cursor: pointer +} + +.el-month-table td div { + height: 48px; + padding: 6px 0; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-month-table td.today .cell { + color: #0966c2; + font-weight: 700 +} + +.el-month-table td.today.end-date .cell, +.el-month-table td.today.start-date .cell { + color: #fff +} + +.el-month-table td.disabled .cell { + background-color: #f5f7fa; + cursor: not-allowed; + color: #c0c4cc +} + +.el-month-table td.disabled .cell:hover { + color: #c0c4cc +} + +.el-month-table td .cell { + width: 60px; + height: 36px; + display: block; + line-height: 36px; + color: #606266; + margin: 0 auto; + border-radius: 18px +} + +.el-month-table td .cell:hover { + color: #0966c2 +} + +.el-month-table td.in-range div { + background-color: #f2f6fc +} + +.el-month-table td.in-range div:hover { + background-color: #f2f6fc +} + +.el-month-table td.end-date div, +.el-month-table td.start-date div { + color: #fff +} + +.el-month-table td.end-date .cell, +.el-month-table td.start-date .cell { + color: #fff; + background-color: #0966c2 +} + +.el-month-table td.start-date div { + border-top-left-radius: 24px; + border-bottom-left-radius: 24px +} + +.el-month-table td.end-date div { + border-top-right-radius: 24px; + border-bottom-right-radius: 24px +} + +.el-month-table td.current:not(.disabled) .cell { + color: #0966c2 +} + +.el-year-table { + font-size: 12px; + margin: -1px; + border-collapse: collapse +} + +.el-year-table .el-icon { + color: #303133 +} + +.el-year-table td { + text-align: center; + padding: 20px 3px; + cursor: pointer +} + +.el-year-table td.today .cell { + color: #0966c2; + font-weight: 700 +} + +.el-year-table td.disabled .cell { + background-color: #f5f7fa; + cursor: not-allowed; + color: #c0c4cc +} + +.el-year-table td.disabled .cell:hover { + color: #c0c4cc +} + +.el-year-table td .cell { + width: 48px; + height: 32px; + display: block; + line-height: 32px; + color: #606266; + margin: 0 auto +} + +.el-year-table td .cell:hover { + color: #0966c2 +} + +.el-year-table td.current:not(.disabled) .cell { + color: #0966c2 +} + +.el-time-spinner.has-seconds .el-time-spinner__wrapper { + width: 33.3% +} + +.el-time-spinner__wrapper { + max-height: 190px; + overflow: auto; + display: inline-block; + width: 50%; + vertical-align: top; + position: relative +} + +.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { + padding-bottom: 15px +} + +.el-time-spinner__wrapper.is-arrow { + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: center; + overflow: hidden +} + +.el-time-spinner__wrapper.is-arrow .el-time-spinner__list { + -webkit-transform: translateY(-32px); + transform: translateY(-32px) +} + +.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active) { + background: #fff; + cursor: default +} + +.el-time-spinner__arrow { + font-size: 12px; + color: #909399; + position: absolute; + left: 0; + width: 100%; + z-index: 1; + text-align: center; + height: 30px; + line-height: 30px; + cursor: pointer +} + +.el-time-spinner__arrow:hover { + color: #0966c2 +} + +.el-time-spinner__arrow.el-icon-arrow-up { + top: 10px +} + +.el-time-spinner__arrow.el-icon-arrow-down { + bottom: 10px +} + +.el-time-spinner__input.el-input { + width: 70% +} + +.el-time-spinner__input.el-input .el-input__inner { + padding: 0; + text-align: center +} + +.el-time-spinner__list { + padding: 0; + margin: 0; + list-style: none; + text-align: center +} + +.el-time-spinner__list::after, +.el-time-spinner__list::before { + content: ''; + display: block; + width: 100%; + height: 80px +} + +.el-time-spinner__item { + height: 32px; + line-height: 32px; + font-size: 12px; + color: #606266 +} + +.el-time-spinner__item:hover:not(.disabled):not(.active) { + background: #f5f7fa; + cursor: pointer +} + +.el-time-spinner__item.active:not(.disabled) { + color: #303133; + font-weight: 700 +} + +.el-time-spinner__item.disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.fade-in-linear-enter-active, +.fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.fade-in-linear-enter, +.fade-in-linear-leave, +.fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-linear-enter-active, +.el-fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.el-fade-in-linear-enter, +.el-fade-in-linear-leave, +.el-fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-enter-active, +.el-fade-in-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-fade-in-enter, +.el-fade-in-leave-active { + opacity: 0 +} + +.el-zoom-in-center-enter-active, +.el-zoom-in-center-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-zoom-in-center-enter, +.el-zoom-in-center-leave-active { + opacity: 0; + -webkit-transform: scaleX(0); + transform: scaleX(0) +} + +.el-zoom-in-top-enter-active, +.el-zoom-in-top-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center top; + transform-origin: center top +} + +.el-zoom-in-top-enter, +.el-zoom-in-top-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-bottom-enter-active, +.el-zoom-in-bottom-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center bottom; + transform-origin: center bottom +} + +.el-zoom-in-bottom-enter, +.el-zoom-in-bottom-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-left-enter-active, +.el-zoom-in-left-leave-active { + opacity: 1; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: top left; + transform-origin: top left +} + +.el-zoom-in-left-enter, +.el-zoom-in-left-leave-active { + opacity: 0; + -webkit-transform: scale(.45, .45); + transform: scale(.45, .45) +} + +.collapse-transition { + -webkit-transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out; + transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out +} + +.horizontal-collapse-transition { + -webkit-transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out; + transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out +} + +.el-list-enter-active, +.el-list-leave-active { + -webkit-transition: all 1s; + transition: all 1s +} + +.el-list-enter, +.el-list-leave-active { + opacity: 0; + -webkit-transform: translateY(-30px); + transform: translateY(-30px) +} + +.el-opacity-transition { + -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); + transition: opacity .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-date-editor { + position: relative; + display: inline-block; + text-align: left +} + +.el-date-editor.el-input, +.el-date-editor.el-input__inner { + width: 220px +} + +.el-date-editor--monthrange.el-input, +.el-date-editor--monthrange.el-input__inner { + width: 300px +} + +.el-date-editor--daterange.el-input, +.el-date-editor--daterange.el-input__inner, +.el-date-editor--timerange.el-input, +.el-date-editor--timerange.el-input__inner { + width: 350px +} + +.el-date-editor--datetimerange.el-input, +.el-date-editor--datetimerange.el-input__inner { + width: 400px +} + +.el-date-editor--dates .el-input__inner { + text-overflow: ellipsis; + white-space: nowrap +} + +.el-date-editor .el-icon-circle-close { + cursor: pointer +} + +.el-date-editor .el-range__icon { + font-size: 14px; + margin-left: -5px; + color: #c0c4cc; + float: left; + line-height: 32px +} + +.el-date-editor .el-range-input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: none; + outline: 0; + display: inline-block; + height: 100%; + margin: 0; + padding: 0; + width: 39%; + text-align: center; + font-size: 14px; + color: #606266 +} + +.el-date-editor .el-range-input::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::-moz-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::-ms-input-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-separator { + display: inline-block; + height: 100%; + padding: 0 5px; + margin: 0; + text-align: center; + line-height: 32px; + font-size: 14px; + width: 5%; + color: #303133 +} + +.el-date-editor .el-range__close-icon { + font-size: 14px; + color: #c0c4cc; + width: 25px; + display: inline-block; + float: right; + line-height: 32px +} + +.el-range-editor.el-input__inner { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 3px 10px +} + +.el-range-editor .el-range-input { + line-height: 1 +} + +.el-range-editor.is-active { + border-color: #0966c2 +} + +.el-range-editor.is-active:hover { + border-color: #0966c2 +} + +.el-range-editor--medium.el-input__inner { + height: 36px +} + +.el-range-editor--medium .el-range-separator { + line-height: 28px; + font-size: 14px +} + +.el-range-editor--medium .el-range-input { + font-size: 14px +} + +.el-range-editor--medium .el-range__close-icon, +.el-range-editor--medium .el-range__icon { + line-height: 28px +} + +.el-range-editor--small.el-input__inner { + height: 32px +} + +.el-range-editor--small .el-range-separator { + line-height: 24px; + font-size: 13px +} + +.el-range-editor--small .el-range-input { + font-size: 13px +} + +.el-range-editor--small .el-range__close-icon, +.el-range-editor--small .el-range__icon { + line-height: 24px +} + +.el-range-editor--mini.el-input__inner { + height: 28px +} + +.el-range-editor--mini .el-range-separator { + line-height: 20px; + font-size: 12px +} + +.el-range-editor--mini .el-range-input { + font-size: 12px +} + +.el-range-editor--mini .el-range__close-icon, +.el-range-editor--mini .el-range__icon { + line-height: 20px +} + +.el-range-editor.is-disabled { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-range-editor.is-disabled:focus, +.el-range-editor.is-disabled:hover { + border-color: #e4e7ed +} + +.el-range-editor.is-disabled input { + background-color: #f5f7fa; + color: #c0c4cc; + cursor: not-allowed +} + +.el-range-editor.is-disabled input::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::-moz-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::-ms-input-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled .el-range-separator { + color: #c0c4cc +} + +.el-picker-panel { + color: #606266; + border: 1px solid #e4e7ed; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + background: #fff; + border-radius: 4px; + line-height: 30px; + margin: 5px 0 +} + +.el-picker-panel__body-wrapper::after, +.el-picker-panel__body::after { + content: ""; + display: table; + clear: both +} + +.el-picker-panel__content { + position: relative; + margin: 15px +} + +.el-picker-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + text-align: right; + background-color: #fff; + position: relative; + font-size: 0 +} + +.el-picker-panel__shortcut { + display: block; + width: 100%; + border: 0; + background-color: transparent; + line-height: 28px; + font-size: 14px; + color: #606266; + padding-left: 12px; + text-align: left; + outline: 0; + cursor: pointer +} + +.el-picker-panel__shortcut:hover { + color: #0966c2 +} + +.el-picker-panel__shortcut.active { + background-color: #e6f1fe; + color: #0966c2 +} + +.el-picker-panel__btn { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: 0; + font-size: 12px +} + +.el-picker-panel__btn[disabled] { + color: #ccc; + cursor: not-allowed +} + +.el-picker-panel__icon-btn { + font-size: 12px; + color: #303133; + border: 0; + background: 0 0; + cursor: pointer; + outline: 0; + margin-top: 8px +} + +.el-picker-panel__icon-btn:hover { + color: #0966c2 +} + +.el-picker-panel__icon-btn.is-disabled { + color: #bbb +} + +.el-picker-panel__icon-btn.is-disabled:hover { + cursor: not-allowed +} + +.el-picker-panel__link-btn { + vertical-align: middle +} + +.el-picker-panel [slot=sidebar], +.el-picker-panel__sidebar { + position: absolute; + top: 0; + bottom: 0; + width: 110px; + border-right: 1px solid #e4e4e4; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-top: 6px; + background-color: #fff; + overflow: auto +} + +.el-picker-panel [slot=sidebar]+.el-picker-panel__body, +.el-picker-panel__sidebar+.el-picker-panel__body { + margin-left: 110px +} + +.el-date-picker { + width: 322px +} + +.el-date-picker.has-sidebar.has-time { + width: 434px +} + +.el-date-picker.has-sidebar { + width: 438px +} + +.el-date-picker.has-time .el-picker-panel__body-wrapper { + position: relative +} + +.el-date-picker .el-picker-panel__content { + width: 292px +} + +.el-date-picker table { + table-layout: fixed; + width: 100% +} + +.el-date-picker__editor-wrap { + position: relative; + display: table-cell; + padding: 0 5px +} + +.el-date-picker__time-header { + position: relative; + border-bottom: 1px solid #e4e4e4; + font-size: 12px; + padding: 8px 5px 5px 5px; + display: table; + width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-date-picker__header { + margin: 12px; + text-align: center +} + +.el-date-picker__header--bordered { + margin-bottom: 0; + padding-bottom: 12px; + border-bottom: solid 1px #ebeef5 +} + +.el-date-picker__header--bordered+.el-picker-panel__content { + margin-top: 0 +} + +.el-date-picker__header-label { + font-size: 16px; + font-weight: 500; + padding: 0 5px; + line-height: 22px; + text-align: center; + cursor: pointer; + color: #606266 +} + +.el-date-picker__header-label:hover { + color: #0966c2 +} + +.el-date-picker__header-label.active { + color: #0966c2 +} + +.el-date-picker__prev-btn { + float: left +} + +.el-date-picker__next-btn { + float: right +} + +.el-date-picker__time-wrap { + padding: 10px; + text-align: center +} + +.el-date-picker__time-label { + float: left; + cursor: pointer; + line-height: 30px; + margin-left: 10px +} + +.el-date-range-picker { + width: 646px +} + +.el-date-range-picker.has-sidebar { + width: 756px +} + +.el-date-range-picker table { + table-layout: fixed; + width: 100% +} + +.el-date-range-picker .el-picker-panel__body { + min-width: 513px +} + +.el-date-range-picker .el-picker-panel__content { + margin: 0 +} + +.el-date-range-picker__header { + position: relative; + text-align: center; + height: 28px +} + +.el-date-range-picker__header [class*=arrow-left] { + float: left +} + +.el-date-range-picker__header [class*=arrow-right] { + float: right +} + +.el-date-range-picker__header div { + font-size: 16px; + font-weight: 500; + margin-right: 50px +} + +.el-date-range-picker__content { + float: left; + width: 50%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 16px +} + +.el-date-range-picker__content.is-left { + border-right: 1px solid #e4e4e4 +} + +.el-date-range-picker__content .el-date-range-picker__header div { + margin-left: 50px; + margin-right: 50px +} + +.el-date-range-picker__editors-wrap { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: table-cell +} + +.el-date-range-picker__editors-wrap.is-right { + text-align: right +} + +.el-date-range-picker__time-header { + position: relative; + border-bottom: 1px solid #e4e4e4; + font-size: 12px; + padding: 8px 5px 5px 5px; + display: table; + width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-date-range-picker__time-header>.el-icon-arrow-right { + font-size: 20px; + vertical-align: middle; + display: table-cell; + color: #303133 +} + +.el-date-range-picker__time-picker-wrap { + position: relative; + display: table-cell; + padding: 0 5px +} + +.el-date-range-picker__time-picker-wrap .el-picker-panel { + position: absolute; + top: 13px; + right: 0; + z-index: 1; + background: #fff +} + +.el-time-range-picker { + width: 354px; + overflow: visible +} + +.el-time-range-picker__content { + position: relative; + text-align: center; + padding: 10px +} + +.el-time-range-picker__cell { + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 4px 7px 7px; + width: 50%; + display: inline-block +} + +.el-time-range-picker__header { + margin-bottom: 5px; + text-align: center; + font-size: 14px +} + +.el-time-range-picker__body { + border-radius: 2px; + border: 1px solid #e4e7ed +} + +.el-time-panel { + margin: 5px 0; + border: solid 1px #e4e7ed; + background-color: #fff; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + border-radius: 2px; + position: absolute; + width: 180px; + left: 0; + z-index: 1000; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-box-sizing: content-box; + box-sizing: content-box +} + +.el-time-panel__content { + font-size: 0; + position: relative; + overflow: hidden +} + +.el-time-panel__content::after, +.el-time-panel__content::before { + content: ""; + top: 50%; + position: absolute; + margin-top: -15px; + height: 32px; + z-index: -1; + left: 0; + right: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-top: 6px; + text-align: left; + border-top: 1px solid #e4e7ed; + border-bottom: 1px solid #e4e7ed +} + +.el-time-panel__content::after { + left: 50%; + margin-left: 12%; + margin-right: 12% +} + +.el-time-panel__content::before { + padding-left: 50%; + margin-right: 12%; + margin-left: 12% +} + +.el-time-panel__content.has-seconds::after { + left: calc(100% / 3 * 2) +} + +.el-time-panel__content.has-seconds::before { + padding-left: calc(100% / 3) +} + +.el-time-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + height: 36px; + line-height: 25px; + text-align: right; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-time-panel__btn { + border: none; + line-height: 28px; + padding: 0 5px; + margin: 0 5px; + cursor: pointer; + background-color: transparent; + outline: 0; + font-size: 12px; + color: #303133 +} + +.el-time-panel__btn.confirm { + font-weight: 800; + color: #0966c2 +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.fade-in-linear-enter-active, +.fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.fade-in-linear-enter, +.fade-in-linear-leave, +.fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-linear-enter-active, +.el-fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.el-fade-in-linear-enter, +.el-fade-in-linear-leave, +.el-fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-enter-active, +.el-fade-in-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-fade-in-enter, +.el-fade-in-leave-active { + opacity: 0 +} + +.el-zoom-in-center-enter-active, +.el-zoom-in-center-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-zoom-in-center-enter, +.el-zoom-in-center-leave-active { + opacity: 0; + -webkit-transform: scaleX(0); + transform: scaleX(0) +} + +.el-zoom-in-top-enter-active, +.el-zoom-in-top-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center top; + transform-origin: center top +} + +.el-zoom-in-top-enter, +.el-zoom-in-top-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-bottom-enter-active, +.el-zoom-in-bottom-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center bottom; + transform-origin: center bottom +} + +.el-zoom-in-bottom-enter, +.el-zoom-in-bottom-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-left-enter-active, +.el-zoom-in-left-leave-active { + opacity: 1; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: top left; + transform-origin: top left +} + +.el-zoom-in-left-enter, +.el-zoom-in-left-leave-active { + opacity: 0; + -webkit-transform: scale(.45, .45); + transform: scale(.45, .45) +} + +.collapse-transition { + -webkit-transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out; + transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out +} + +.horizontal-collapse-transition { + -webkit-transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out; + transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out +} + +.el-list-enter-active, +.el-list-leave-active { + -webkit-transition: all 1s; + transition: all 1s +} + +.el-list-enter, +.el-list-leave-active { + opacity: 0; + -webkit-transform: translateY(-30px); + transform: translateY(-30px) +} + +.el-opacity-transition { + -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); + transition: opacity .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-date-editor { + position: relative; + display: inline-block; + text-align: left +} + +.el-date-editor.el-input, +.el-date-editor.el-input__inner { + width: 220px +} + +.el-date-editor--monthrange.el-input, +.el-date-editor--monthrange.el-input__inner { + width: 300px +} + +.el-date-editor--daterange.el-input, +.el-date-editor--daterange.el-input__inner, +.el-date-editor--timerange.el-input, +.el-date-editor--timerange.el-input__inner { + width: 350px +} + +.el-date-editor--datetimerange.el-input, +.el-date-editor--datetimerange.el-input__inner { + width: 400px +} + +.el-date-editor--dates .el-input__inner { + text-overflow: ellipsis; + white-space: nowrap +} + +.el-date-editor .el-icon-circle-close { + cursor: pointer +} + +.el-date-editor .el-range__icon { + font-size: 14px; + margin-left: -5px; + color: #c0c4cc; + float: left; + line-height: 32px +} + +.el-date-editor .el-range-input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: none; + outline: 0; + display: inline-block; + height: 100%; + margin: 0; + padding: 0; + width: 39%; + text-align: center; + font-size: 14px; + color: #606266 +} + +.el-date-editor .el-range-input::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::-moz-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::-ms-input-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-separator { + display: inline-block; + height: 100%; + padding: 0 5px; + margin: 0; + text-align: center; + line-height: 32px; + font-size: 14px; + width: 5%; + color: #303133 +} + +.el-date-editor .el-range__close-icon { + font-size: 14px; + color: #c0c4cc; + width: 25px; + display: inline-block; + float: right; + line-height: 32px +} + +.el-range-editor.el-input__inner { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 3px 10px +} + +.el-range-editor .el-range-input { + line-height: 1 +} + +.el-range-editor.is-active { + border-color: #0966c2 +} + +.el-range-editor.is-active:hover { + border-color: #0966c2 +} + +.el-range-editor--medium.el-input__inner { + height: 36px +} + +.el-range-editor--medium .el-range-separator { + line-height: 28px; + font-size: 14px +} + +.el-range-editor--medium .el-range-input { + font-size: 14px +} + +.el-range-editor--medium .el-range__close-icon, +.el-range-editor--medium .el-range__icon { + line-height: 28px +} + +.el-range-editor--small.el-input__inner { + height: 32px +} + +.el-range-editor--small .el-range-separator { + line-height: 24px; + font-size: 13px +} + +.el-range-editor--small .el-range-input { + font-size: 13px +} + +.el-range-editor--small .el-range__close-icon, +.el-range-editor--small .el-range__icon { + line-height: 24px +} + +.el-range-editor--mini.el-input__inner { + height: 28px +} + +.el-range-editor--mini .el-range-separator { + line-height: 20px; + font-size: 12px +} + +.el-range-editor--mini .el-range-input { + font-size: 12px +} + +.el-range-editor--mini .el-range__close-icon, +.el-range-editor--mini .el-range__icon { + line-height: 20px +} + +.el-range-editor.is-disabled { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-range-editor.is-disabled:focus, +.el-range-editor.is-disabled:hover { + border-color: #e4e7ed +} + +.el-range-editor.is-disabled input { + background-color: #f5f7fa; + color: #c0c4cc; + cursor: not-allowed +} + +.el-range-editor.is-disabled input::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::-moz-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::-ms-input-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled .el-range-separator { + color: #c0c4cc +} + +.el-picker-panel { + color: #606266; + border: 1px solid #e4e7ed; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + background: #fff; + border-radius: 4px; + line-height: 30px; + margin: 5px 0 +} + +.el-picker-panel__body-wrapper::after, +.el-picker-panel__body::after { + content: ""; + display: table; + clear: both +} + +.el-picker-panel__content { + position: relative; + margin: 15px +} + +.el-picker-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + text-align: right; + background-color: #fff; + position: relative; + font-size: 0 +} + +.el-picker-panel__shortcut { + display: block; + width: 100%; + border: 0; + background-color: transparent; + line-height: 28px; + font-size: 14px; + color: #606266; + padding-left: 12px; + text-align: left; + outline: 0; + cursor: pointer +} + +.el-picker-panel__shortcut:hover { + color: #0966c2 +} + +.el-picker-panel__shortcut.active { + background-color: #e6f1fe; + color: #0966c2 +} + +.el-picker-panel__btn { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: 0; + font-size: 12px +} + +.el-picker-panel__btn[disabled] { + color: #ccc; + cursor: not-allowed +} + +.el-picker-panel__icon-btn { + font-size: 12px; + color: #303133; + border: 0; + background: 0 0; + cursor: pointer; + outline: 0; + margin-top: 8px +} + +.el-picker-panel__icon-btn:hover { + color: #0966c2 +} + +.el-picker-panel__icon-btn.is-disabled { + color: #bbb +} + +.el-picker-panel__icon-btn.is-disabled:hover { + cursor: not-allowed +} + +.el-picker-panel__link-btn { + vertical-align: middle +} + +.el-picker-panel [slot=sidebar], +.el-picker-panel__sidebar { + position: absolute; + top: 0; + bottom: 0; + width: 110px; + border-right: 1px solid #e4e4e4; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-top: 6px; + background-color: #fff; + overflow: auto +} + +.el-picker-panel [slot=sidebar]+.el-picker-panel__body, +.el-picker-panel__sidebar+.el-picker-panel__body { + margin-left: 110px +} + +.el-date-picker { + width: 322px +} + +.el-date-picker.has-sidebar.has-time { + width: 434px +} + +.el-date-picker.has-sidebar { + width: 438px +} + +.el-date-picker.has-time .el-picker-panel__body-wrapper { + position: relative +} + +.el-date-picker .el-picker-panel__content { + width: 292px +} + +.el-date-picker table { + table-layout: fixed; + width: 100% +} + +.el-date-picker__editor-wrap { + position: relative; + display: table-cell; + padding: 0 5px +} + +.el-date-picker__time-header { + position: relative; + border-bottom: 1px solid #e4e4e4; + font-size: 12px; + padding: 8px 5px 5px 5px; + display: table; + width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-date-picker__header { + margin: 12px; + text-align: center +} + +.el-date-picker__header--bordered { + margin-bottom: 0; + padding-bottom: 12px; + border-bottom: solid 1px #ebeef5 +} + +.el-date-picker__header--bordered+.el-picker-panel__content { + margin-top: 0 +} + +.el-date-picker__header-label { + font-size: 16px; + font-weight: 500; + padding: 0 5px; + line-height: 22px; + text-align: center; + cursor: pointer; + color: #606266 +} + +.el-date-picker__header-label:hover { + color: #0966c2 +} + +.el-date-picker__header-label.active { + color: #0966c2 +} + +.el-date-picker__prev-btn { + float: left +} + +.el-date-picker__next-btn { + float: right +} + +.el-date-picker__time-wrap { + padding: 10px; + text-align: center +} + +.el-date-picker__time-label { + float: left; + cursor: pointer; + line-height: 30px; + margin-left: 10px +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.time-select { + margin: 5px 0; + min-width: 0 +} + +.time-select .el-picker-panel__content { + max-height: 200px; + margin: 0 +} + +.time-select-item { + padding: 8px 10px; + font-size: 14px; + line-height: 20px +} + +.time-select-item.selected:not(.disabled) { + color: #0966c2; + font-weight: 700 +} + +.time-select-item.disabled { + color: #e4e7ed; + cursor: not-allowed +} + +.time-select-item:hover { + background-color: #f5f7fa; + font-weight: 700; + cursor: pointer +} + +.fade-in-linear-enter-active, +.fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.fade-in-linear-enter, +.fade-in-linear-leave, +.fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-linear-enter-active, +.el-fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.el-fade-in-linear-enter, +.el-fade-in-linear-leave, +.el-fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-enter-active, +.el-fade-in-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-fade-in-enter, +.el-fade-in-leave-active { + opacity: 0 +} + +.el-zoom-in-center-enter-active, +.el-zoom-in-center-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-zoom-in-center-enter, +.el-zoom-in-center-leave-active { + opacity: 0; + -webkit-transform: scaleX(0); + transform: scaleX(0) +} + +.el-zoom-in-top-enter-active, +.el-zoom-in-top-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center top; + transform-origin: center top +} + +.el-zoom-in-top-enter, +.el-zoom-in-top-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-bottom-enter-active, +.el-zoom-in-bottom-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center bottom; + transform-origin: center bottom +} + +.el-zoom-in-bottom-enter, +.el-zoom-in-bottom-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-left-enter-active, +.el-zoom-in-left-leave-active { + opacity: 1; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: top left; + transform-origin: top left +} + +.el-zoom-in-left-enter, +.el-zoom-in-left-leave-active { + opacity: 0; + -webkit-transform: scale(.45, .45); + transform: scale(.45, .45) +} + +.collapse-transition { + -webkit-transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out; + transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out +} + +.horizontal-collapse-transition { + -webkit-transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out; + transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out +} + +.el-list-enter-active, +.el-list-leave-active { + -webkit-transition: all 1s; + transition: all 1s +} + +.el-list-enter, +.el-list-leave-active { + opacity: 0; + -webkit-transform: translateY(-30px); + transform: translateY(-30px) +} + +.el-opacity-transition { + -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); + transition: opacity .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-date-editor { + position: relative; + display: inline-block; + text-align: left +} + +.el-date-editor.el-input, +.el-date-editor.el-input__inner { + width: 220px +} + +.el-date-editor--monthrange.el-input, +.el-date-editor--monthrange.el-input__inner { + width: 300px +} + +.el-date-editor--daterange.el-input, +.el-date-editor--daterange.el-input__inner, +.el-date-editor--timerange.el-input, +.el-date-editor--timerange.el-input__inner { + width: 350px +} + +.el-date-editor--datetimerange.el-input, +.el-date-editor--datetimerange.el-input__inner { + width: 400px +} + +.el-date-editor--dates .el-input__inner { + text-overflow: ellipsis; + white-space: nowrap +} + +.el-date-editor .el-icon-circle-close { + cursor: pointer +} + +.el-date-editor .el-range__icon { + font-size: 14px; + margin-left: -5px; + color: #c0c4cc; + float: left; + line-height: 32px +} + +.el-date-editor .el-range-input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: none; + outline: 0; + display: inline-block; + height: 100%; + margin: 0; + padding: 0; + width: 39%; + text-align: center; + font-size: 14px; + color: #606266 +} + +.el-date-editor .el-range-input::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::-moz-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::-ms-input-placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-input::placeholder { + color: #c0c4cc +} + +.el-date-editor .el-range-separator { + display: inline-block; + height: 100%; + padding: 0 5px; + margin: 0; + text-align: center; + line-height: 32px; + font-size: 14px; + width: 5%; + color: #303133 +} + +.el-date-editor .el-range__close-icon { + font-size: 14px; + color: #c0c4cc; + width: 25px; + display: inline-block; + float: right; + line-height: 32px +} + +.el-range-editor.el-input__inner { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 3px 10px +} + +.el-range-editor .el-range-input { + line-height: 1 +} + +.el-range-editor.is-active { + border-color: #0966c2 +} + +.el-range-editor.is-active:hover { + border-color: #0966c2 +} + +.el-range-editor--medium.el-input__inner { + height: 36px +} + +.el-range-editor--medium .el-range-separator { + line-height: 28px; + font-size: 14px +} + +.el-range-editor--medium .el-range-input { + font-size: 14px +} + +.el-range-editor--medium .el-range__close-icon, +.el-range-editor--medium .el-range__icon { + line-height: 28px +} + +.el-range-editor--small.el-input__inner { + height: 32px +} + +.el-range-editor--small .el-range-separator { + line-height: 24px; + font-size: 13px +} + +.el-range-editor--small .el-range-input { + font-size: 13px +} + +.el-range-editor--small .el-range__close-icon, +.el-range-editor--small .el-range__icon { + line-height: 24px +} + +.el-range-editor--mini.el-input__inner { + height: 28px +} + +.el-range-editor--mini .el-range-separator { + line-height: 20px; + font-size: 12px +} + +.el-range-editor--mini .el-range-input { + font-size: 12px +} + +.el-range-editor--mini .el-range__close-icon, +.el-range-editor--mini .el-range__icon { + line-height: 20px +} + +.el-range-editor.is-disabled { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-range-editor.is-disabled:focus, +.el-range-editor.is-disabled:hover { + border-color: #e4e7ed +} + +.el-range-editor.is-disabled input { + background-color: #f5f7fa; + color: #c0c4cc; + cursor: not-allowed +} + +.el-range-editor.is-disabled input::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::-moz-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::-ms-input-placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled input::placeholder { + color: #c0c4cc +} + +.el-range-editor.is-disabled .el-range-separator { + color: #c0c4cc +} + +.el-picker-panel { + color: #606266; + border: 1px solid #e4e7ed; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + background: #fff; + border-radius: 4px; + line-height: 30px; + margin: 5px 0 +} + +.el-picker-panel__body-wrapper::after, +.el-picker-panel__body::after { + content: ""; + display: table; + clear: both +} + +.el-picker-panel__content { + position: relative; + margin: 15px +} + +.el-picker-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + text-align: right; + background-color: #fff; + position: relative; + font-size: 0 +} + +.el-picker-panel__shortcut { + display: block; + width: 100%; + border: 0; + background-color: transparent; + line-height: 28px; + font-size: 14px; + color: #606266; + padding-left: 12px; + text-align: left; + outline: 0; + cursor: pointer +} + +.el-picker-panel__shortcut:hover { + color: #0966c2 +} + +.el-picker-panel__shortcut.active { + background-color: #e6f1fe; + color: #0966c2 +} + +.el-picker-panel__btn { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: 0; + font-size: 12px +} + +.el-picker-panel__btn[disabled] { + color: #ccc; + cursor: not-allowed +} + +.el-picker-panel__icon-btn { + font-size: 12px; + color: #303133; + border: 0; + background: 0 0; + cursor: pointer; + outline: 0; + margin-top: 8px +} + +.el-picker-panel__icon-btn:hover { + color: #0966c2 +} + +.el-picker-panel__icon-btn.is-disabled { + color: #bbb +} + +.el-picker-panel__icon-btn.is-disabled:hover { + cursor: not-allowed +} + +.el-picker-panel__link-btn { + vertical-align: middle +} + +.el-picker-panel [slot=sidebar], +.el-picker-panel__sidebar { + position: absolute; + top: 0; + bottom: 0; + width: 110px; + border-right: 1px solid #e4e4e4; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-top: 6px; + background-color: #fff; + overflow: auto +} + +.el-picker-panel [slot=sidebar]+.el-picker-panel__body, +.el-picker-panel__sidebar+.el-picker-panel__body { + margin-left: 110px +} + +.el-time-spinner.has-seconds .el-time-spinner__wrapper { + width: 33.3% +} + +.el-time-spinner__wrapper { + max-height: 190px; + overflow: auto; + display: inline-block; + width: 50%; + vertical-align: top; + position: relative +} + +.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { + padding-bottom: 15px +} + +.el-time-spinner__wrapper.is-arrow { + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: center; + overflow: hidden +} + +.el-time-spinner__wrapper.is-arrow .el-time-spinner__list { + -webkit-transform: translateY(-32px); + transform: translateY(-32px) +} + +.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active) { + background: #fff; + cursor: default +} + +.el-time-spinner__arrow { + font-size: 12px; + color: #909399; + position: absolute; + left: 0; + width: 100%; + z-index: 1; + text-align: center; + height: 30px; + line-height: 30px; + cursor: pointer +} + +.el-time-spinner__arrow:hover { + color: #0966c2 +} + +.el-time-spinner__arrow.el-icon-arrow-up { + top: 10px +} + +.el-time-spinner__arrow.el-icon-arrow-down { + bottom: 10px +} + +.el-time-spinner__input.el-input { + width: 70% +} + +.el-time-spinner__input.el-input .el-input__inner { + padding: 0; + text-align: center +} + +.el-time-spinner__list { + padding: 0; + margin: 0; + list-style: none; + text-align: center +} + +.el-time-spinner__list::after, +.el-time-spinner__list::before { + content: ''; + display: block; + width: 100%; + height: 80px +} + +.el-time-spinner__item { + height: 32px; + line-height: 32px; + font-size: 12px; + color: #606266 +} + +.el-time-spinner__item:hover:not(.disabled):not(.active) { + background: #f5f7fa; + cursor: pointer +} + +.el-time-spinner__item.active:not(.disabled) { + color: #303133; + font-weight: 700 +} + +.el-time-spinner__item.disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-time-panel { + margin: 5px 0; + border: solid 1px #e4e7ed; + background-color: #fff; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + border-radius: 2px; + position: absolute; + width: 180px; + left: 0; + z-index: 1000; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-box-sizing: content-box; + box-sizing: content-box +} + +.el-time-panel__content { + font-size: 0; + position: relative; + overflow: hidden +} + +.el-time-panel__content::after, +.el-time-panel__content::before { + content: ""; + top: 50%; + position: absolute; + margin-top: -15px; + height: 32px; + z-index: -1; + left: 0; + right: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-top: 6px; + text-align: left; + border-top: 1px solid #e4e7ed; + border-bottom: 1px solid #e4e7ed +} + +.el-time-panel__content::after { + left: 50%; + margin-left: 12%; + margin-right: 12% +} + +.el-time-panel__content::before { + padding-left: 50%; + margin-right: 12%; + margin-left: 12% +} + +.el-time-panel__content.has-seconds::after { + left: calc(100% / 3 * 2) +} + +.el-time-panel__content.has-seconds::before { + padding-left: calc(100% / 3) +} + +.el-time-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + height: 36px; + line-height: 25px; + text-align: right; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-time-panel__btn { + border: none; + line-height: 28px; + padding: 0 5px; + margin: 0 5px; + cursor: pointer; + background-color: transparent; + outline: 0; + font-size: 12px; + color: #303133 +} + +.el-time-panel__btn.confirm { + font-weight: 800; + color: #0966c2 +} + +.el-time-range-picker { + width: 354px; + overflow: visible +} + +.el-time-range-picker__content { + position: relative; + text-align: center; + padding: 10px +} + +.el-time-range-picker__cell { + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 4px 7px 7px; + width: 50%; + display: inline-block +} + +.el-time-range-picker__header { + margin-bottom: 5px; + text-align: center; + font-size: 14px +} + +.el-time-range-picker__body { + border-radius: 2px; + border: 1px solid #e4e7ed +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.el-popover { + position: absolute; + background: #fff; + min-width: 150px; + border-radius: 4px; + border: 1px solid #ebeef5; + padding: 12px; + z-index: 2000; + color: #606266; + line-height: 1.4; + text-align: justify; + font-size: 14px; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + word-break: break-all +} + +.el-popover--plain { + padding: 18px 20px +} + +.el-popover__title { + color: #303133; + font-size: 16px; + line-height: 1; + margin-bottom: 12px +} + +.el-popover__reference:focus:hover, +.el-popover__reference:focus:not(.focusing) { + outline-width: 0 +} + +.el-popover:focus, +.el-popover:focus:active { + outline-width: 0 +} + +.el-tooltip:focus:hover, +.el-tooltip:focus:not(.focusing) { + outline-width: 0 +} + +.el-tooltip__popper { + position: absolute; + border-radius: 4px; + padding: 10px; + z-index: 2000; + font-size: 12px; + line-height: 1.2; + min-width: 10px; + word-wrap: break-word +} + +.el-tooltip__popper .popper__arrow, +.el-tooltip__popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-tooltip__popper .popper__arrow { + border-width: 6px +} + +.el-tooltip__popper .popper__arrow::after { + content: " "; + border-width: 5px +} + +.el-tooltip__popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-tooltip__popper[x-placement^=top] .popper__arrow { + bottom: -6px; + border-top-color: #303133; + border-bottom-width: 0 +} + +.el-tooltip__popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -5px; + border-top-color: #303133; + border-bottom-width: 0 +} + +.el-tooltip__popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-tooltip__popper[x-placement^=bottom] .popper__arrow { + top: -6px; + border-top-width: 0; + border-bottom-color: #303133 +} + +.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -5px; + border-top-width: 0; + border-bottom-color: #303133 +} + +.el-tooltip__popper[x-placement^=right] { + margin-left: 12px +} + +.el-tooltip__popper[x-placement^=right] .popper__arrow { + left: -6px; + border-right-color: #303133; + border-left-width: 0 +} + +.el-tooltip__popper[x-placement^=right] .popper__arrow::after { + bottom: -5px; + left: 1px; + border-right-color: #303133; + border-left-width: 0 +} + +.el-tooltip__popper[x-placement^=left] { + margin-right: 12px +} + +.el-tooltip__popper[x-placement^=left] .popper__arrow { + right: -6px; + border-right-width: 0; + border-left-color: #303133 +} + +.el-tooltip__popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -5px; + margin-left: -5px; + border-right-width: 0; + border-left-color: #303133 +} + +.el-tooltip__popper.is-dark { + background: #303133; + color: #fff +} + +.el-tooltip__popper.is-light { + background: #fff; + border: 1px solid #303133 +} + +.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow { + border-top-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after { + border-top-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow { + border-bottom-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after { + border-bottom-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow { + border-left-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after { + border-left-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow { + border-right-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after { + border-right-color: #fff +} + +.v-modal-enter { + -webkit-animation: v-modal-in .2s ease; + animation: v-modal-in .2s ease +} + +.v-modal-leave { + -webkit-animation: v-modal-out .2s ease forwards; + animation: v-modal-out .2s ease forwards +} + +@keyframes v-modal-in { + 0% { + opacity: 0 + } +} + +@keyframes v-modal-out { + 100% { + opacity: 0 + } +} + +.v-modal { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: .5; + background: #000 +} + +.el-popup-parent--hidden { + overflow: hidden +} + +.el-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-color: #dcdfe6; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + -webkit-transition: .1s; + transition: .1s; + font-weight: 500; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button+.el-button { + margin-left: 10px +} + +.el-button.is-round { + padding: 12px 20px +} + +.el-button:focus, +.el-button:hover { + color: #0966c2; + border-color: #b5d1ed; + background-color: #e6f0f9 +} + +.el-button:active { + color: #085caf; + border-color: #085caf; + outline: 0 +} + +.el-button::-moz-focus-inner { + border: 0 +} + +.el-button [class*=el-icon-]+span { + margin-left: 5px +} + +.el-button.is-plain:focus, +.el-button.is-plain:hover { + background: #fff; + border-color: #0966c2; + color: #0966c2 +} + +.el-button.is-plain:active { + background: #fff; + border-color: #085caf; + color: #085caf; + outline: 0 +} + +.el-button.is-active { + color: #085caf; + border-color: #085caf +} + +.el-button.is-disabled, +.el-button.is-disabled:focus, +.el-button.is-disabled:hover { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5 +} + +.el-button.is-disabled.el-button--text { + background-color: transparent +} + +.el-button.is-disabled.is-plain, +.el-button.is-disabled.is-plain:focus, +.el-button.is-disabled.is-plain:hover { + background-color: #fff; + border-color: #ebeef5; + color: #c0c4cc +} + +.el-button.is-loading { + position: relative; + pointer-events: none +} + +.el-button.is-loading:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255, 255, 255, .35) +} + +.el-button.is-round { + border-radius: 20px; + padding: 12px 23px +} + +.el-button.is-circle { + border-radius: 50%; + padding: 12px +} + +.el-button--primary { + color: #fff; + background-color: #0966c2; + border-color: #0966c2 +} + +.el-button--primary:focus, +.el-button--primary:hover { + background: #3a85ce; + border-color: #3a85ce; + color: #fff +} + +.el-button--primary:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-active { + background: #085caf; + border-color: #085caf; + color: #fff +} + +.el-button--primary.is-disabled, +.el-button--primary.is-disabled:active, +.el-button--primary.is-disabled:focus, +.el-button--primary.is-disabled:hover { + color: #fff; + background-color: #84b3e1; + border-color: #84b3e1 +} + +.el-button--primary.is-plain { + color: #0966c2; + background: #e6f0f9; + border-color: #9dc2e7 +} + +.el-button--primary.is-plain:focus, +.el-button--primary.is-plain:hover { + background: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-button--primary.is-plain:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-plain.is-disabled, +.el-button--primary.is-plain.is-disabled:active, +.el-button--primary.is-plain.is-disabled:focus, +.el-button--primary.is-plain.is-disabled:hover { + color: #6ba3da; + background-color: #e6f0f9; + border-color: #cee0f3 +} + +.el-button--success { + color: #fff; + background-color: #77b591; + border-color: #77b591 +} + +.el-button--success:focus, +.el-button--success:hover { + background: #92c4a7; + border-color: #92c4a7; + color: #fff +} + +.el-button--success:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-active { + background: #6ba383; + border-color: #6ba383; + color: #fff +} + +.el-button--success.is-disabled, +.el-button--success.is-disabled:active, +.el-button--success.is-disabled:focus, +.el-button--success.is-disabled:hover { + color: #fff; + background-color: #bbdac8; + border-color: #bbdac8 +} + +.el-button--success.is-plain { + color: #77b591; + background: #f1f8f4; + border-color: #c9e1d3 +} + +.el-button--success.is-plain:focus, +.el-button--success.is-plain:hover { + background: #77b591; + border-color: #77b591; + color: #fff +} + +.el-button--success.is-plain:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-plain.is-disabled, +.el-button--success.is-plain.is-disabled:active, +.el-button--success.is-plain.is-disabled:focus, +.el-button--success.is-plain.is-disabled:hover { + color: #add3bd; + background-color: #f1f8f4; + border-color: #e4f0e9 +} + +.el-button--warning { + color: #fff; + background-color: #e6a23c; + border-color: #e6a23c +} + +.el-button--warning:focus, +.el-button--warning:hover { + background: #ebb563; + border-color: #ebb563; + color: #fff +} + +.el-button--warning:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-active { + background: #cf9236; + border-color: #cf9236; + color: #fff +} + +.el-button--warning.is-disabled, +.el-button--warning.is-disabled:active, +.el-button--warning.is-disabled:focus, +.el-button--warning.is-disabled:hover { + color: #fff; + background-color: #f3d19e; + border-color: #f3d19e +} + +.el-button--warning.is-plain { + color: #e6a23c; + background: #fdf6ec; + border-color: #f5dab1 +} + +.el-button--warning.is-plain:focus, +.el-button--warning.is-plain:hover { + background: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-button--warning.is-plain:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-plain.is-disabled, +.el-button--warning.is-plain.is-disabled:active, +.el-button--warning.is-plain.is-disabled:focus, +.el-button--warning.is-plain.is-disabled:hover { + color: #f0c78a; + background-color: #fdf6ec; + border-color: #faecd8 +} + +.el-button--danger { + color: #fff; + background-color: #d56262; + border-color: #d56262 +} + +.el-button--danger:focus, +.el-button--danger:hover { + background: #dd8181; + border-color: #dd8181; + color: #fff +} + +.el-button--danger:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-active { + background: #c05858; + border-color: #c05858; + color: #fff +} + +.el-button--danger.is-disabled, +.el-button--danger.is-disabled:active, +.el-button--danger.is-disabled:focus, +.el-button--danger.is-disabled:hover { + color: #fff; + background-color: #eab1b1; + border-color: #eab1b1 +} + +.el-button--danger.is-plain { + color: #d56262; + background: #fbefef; + border-color: #eec0c0 +} + +.el-button--danger.is-plain:focus, +.el-button--danger.is-plain:hover { + background: #d56262; + border-color: #d56262; + color: #fff +} + +.el-button--danger.is-plain:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-plain.is-disabled, +.el-button--danger.is-plain.is-disabled:active, +.el-button--danger.is-plain.is-disabled:focus, +.el-button--danger.is-plain.is-disabled:hover { + color: #e6a1a1; + background-color: #fbefef; + border-color: #f7e0e0 +} + +.el-button--info { + color: #fff; + background-color: #909399; + border-color: #909399 +} + +.el-button--info:focus, +.el-button--info:hover { + background: #a6a9ad; + border-color: #a6a9ad; + color: #fff +} + +.el-button--info:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-active { + background: #82848a; + border-color: #82848a; + color: #fff +} + +.el-button--info.is-disabled, +.el-button--info.is-disabled:active, +.el-button--info.is-disabled:focus, +.el-button--info.is-disabled:hover { + color: #fff; + background-color: #c8c9cc; + border-color: #c8c9cc +} + +.el-button--info.is-plain { + color: #909399; + background: #f4f4f5; + border-color: #d3d4d6 +} + +.el-button--info.is-plain:focus, +.el-button--info.is-plain:hover { + background: #909399; + border-color: #909399; + color: #fff +} + +.el-button--info.is-plain:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-plain.is-disabled, +.el-button--info.is-plain.is-disabled:active, +.el-button--info.is-plain.is-disabled:focus, +.el-button--info.is-plain.is-disabled:hover { + color: #bcbec2; + background-color: #f4f4f5; + border-color: #e9e9eb +} + +.el-button--medium { + padding: 10px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button--medium.is-round { + padding: 10px 20px +} + +.el-button--medium.is-circle { + padding: 10px +} + +.el-button--small { + padding: 9px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--small.is-round { + padding: 9px 15px +} + +.el-button--small.is-circle { + padding: 9px +} + +.el-button--mini { + padding: 7px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--mini.is-round { + padding: 7px 15px +} + +.el-button--mini.is-circle { + padding: 7px +} + +.el-button--text { + border-color: transparent; + color: #0966c2; + background: 0 0; + padding-left: 0; + padding-right: 0 +} + +.el-button--text:focus, +.el-button--text:hover { + color: #3a85ce; + border-color: transparent; + background-color: transparent +} + +.el-button--text:active { + color: #085caf; + border-color: transparent; + background-color: transparent +} + +.el-button--text.is-disabled, +.el-button--text.is-disabled:focus, +.el-button--text.is-disabled:hover { + border-color: transparent +} + +.el-button-group { + display: inline-block; + vertical-align: middle +} + +.el-button-group::after, +.el-button-group::before { + display: table; + content: "" +} + +.el-button-group::after { + clear: both +} + +.el-button-group>.el-button { + float: left; + position: relative +} + +.el-button-group>.el-button+.el-button { + margin-left: 0 +} + +.el-button-group>.el-button.is-disabled { + z-index: 1 +} + +.el-button-group>.el-button:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-button-group>.el-button:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-button-group>.el-button:first-child:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px +} + +.el-button-group>.el-button:first-child:last-child.is-round { + border-radius: 20px +} + +.el-button-group>.el-button:first-child:last-child.is-circle { + border-radius: 50% +} + +.el-button-group>.el-button:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.el-button-group>.el-button:not(:last-child) { + margin-right: -1px +} + +.el-button-group>.el-button:not(.is-disabled):active, +.el-button-group>.el-button:not(.is-disabled):focus, +.el-button-group>.el-button:not(.is-disabled):hover { + z-index: 1 +} + +.el-button-group>.el-button.is-active { + z-index: 1 +} + +.el-button-group>.el-dropdown>.el-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-message-box { + display: inline-block; + width: 420px; + padding-bottom: 10px; + vertical-align: middle; + background-color: #fff; + border-radius: 4px; + border: 1px solid #ebeef5; + font-size: 18px; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + text-align: left; + overflow: hidden; + -webkit-backface-visibility: hidden; + backface-visibility: hidden +} + +.el-message-box__wrapper { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + text-align: center +} + +.el-message-box__wrapper::after { + content: ""; + display: inline-block; + height: 100%; + width: 0; + vertical-align: middle +} + +.el-message-box__header { + position: relative; + padding: 15px; + padding-bottom: 10px +} + +.el-message-box__title { + padding-left: 0; + margin-bottom: 0; + font-size: 18px; + line-height: 1; + color: #303133 +} + +.el-message-box__headerbtn { + position: absolute; + top: 15px; + right: 15px; + padding: 0; + border: none; + outline: 0; + background: 0 0; + font-size: 16px; + cursor: pointer +} + +.el-message-box__headerbtn .el-message-box__close { + color: #909399 +} + +.el-message-box__headerbtn:focus .el-message-box__close, +.el-message-box__headerbtn:hover .el-message-box__close { + color: #0966c2 +} + +.el-message-box__content { + padding: 10px 15px; + color: #606266; + font-size: 14px +} + +.el-message-box__container { + position: relative +} + +.el-message-box__input { + padding-top: 15px +} + +.el-message-box__input input.invalid { + border-color: #d56262 +} + +.el-message-box__input input.invalid:focus { + border-color: #d56262 +} + +.el-message-box__status { + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + font-size: 24px !important +} + +.el-message-box__status::before { + padding-left: 1px +} + +.el-message-box__status+.el-message-box__message { + padding-left: 36px; + padding-right: 12px +} + +.el-message-box__status.el-icon-success { + color: #77b591 +} + +.el-message-box__status.el-icon-info { + color: #909399 +} + +.el-message-box__status.el-icon-warning { + color: #e6a23c +} + +.el-message-box__status.el-icon-error { + color: #d56262 +} + +.el-message-box__message { + margin: 0 +} + +.el-message-box__message p { + margin: 0; + line-height: 24px +} + +.el-message-box__errormsg { + color: #d56262; + font-size: 12px; + min-height: 18px; + margin-top: 2px +} + +.el-message-box__btns { + padding: 5px 15px 0; + text-align: right +} + +.el-message-box__btns button:nth-child(2) { + margin-left: 10px +} + +.el-message-box__btns-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse +} + +.el-message-box--center { + padding-bottom: 30px +} + +.el-message-box--center .el-message-box__header { + padding-top: 30px +} + +.el-message-box--center .el-message-box__title { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center +} + +.el-message-box--center .el-message-box__status { + position: relative; + top: auto; + padding-right: 5px; + text-align: center; + -webkit-transform: translateY(-1px); + transform: translateY(-1px) +} + +.el-message-box--center .el-message-box__message { + margin-left: 0 +} + +.el-message-box--center .el-message-box__btns, +.el-message-box--center .el-message-box__content { + text-align: center +} + +.el-message-box--center .el-message-box__content { + padding-left: 27px; + padding-right: 27px +} + +.msgbox-fade-enter-active { + -webkit-animation: msgbox-fade-in .3s; + animation: msgbox-fade-in .3s +} + +.msgbox-fade-leave-active { + -webkit-animation: msgbox-fade-out .3s; + animation: msgbox-fade-out .3s +} + +@-webkit-keyframes msgbox-fade-in { + 0% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } +} + +@keyframes msgbox-fade-in { + 0% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } +} + +@-webkit-keyframes msgbox-fade-out { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } + + 100% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } +} + +@keyframes msgbox-fade-out { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } + + 100% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } +} + +.el-breadcrumb { + font-size: 14px; + line-height: 1 +} + +.el-breadcrumb::after, +.el-breadcrumb::before { + display: table; + content: "" +} + +.el-breadcrumb::after { + clear: both +} + +.el-breadcrumb__separator { + margin: 0 9px; + font-weight: 700; + color: #c0c4cc +} + +.el-breadcrumb__separator[class*=icon] { + margin: 0 6px; + font-weight: 400 +} + +.el-breadcrumb__item { + float: left +} + +.el-breadcrumb__inner { + color: #606266 +} + +.el-breadcrumb__inner a, +.el-breadcrumb__inner.is-link { + font-weight: 700; + text-decoration: none; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1); + color: #303133 +} + +.el-breadcrumb__inner a:hover, +.el-breadcrumb__inner.is-link:hover { + color: #0966c2; + cursor: pointer +} + +.el-breadcrumb__item:last-child .el-breadcrumb__inner, +.el-breadcrumb__item:last-child .el-breadcrumb__inner a, +.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover, +.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover { + font-weight: 400; + color: #606266; + cursor: text +} + +.el-breadcrumb__item:last-child .el-breadcrumb__separator { + display: none +} + +.el-form--label-left .el-form-item__label { + text-align: left +} + +.el-form--label-top .el-form-item__label { + float: none; + display: inline-block; + text-align: left; + padding: 0 0 10px 0 +} + +.el-form--inline .el-form-item { + display: inline-block; + margin-right: 10px; + vertical-align: top +} + +.el-form--inline .el-form-item__label { + float: none; + display: inline-block +} + +.el-form--inline .el-form-item__content { + display: inline-block; + vertical-align: top +} + +.el-form--inline.el-form--label-top .el-form-item__content { + display: block +} + +.el-form-item { + margin-bottom: 22px +} + +.el-form-item::after, +.el-form-item::before { + display: table; + content: "" +} + +.el-form-item::after { + clear: both +} + +.el-form-item .el-form-item { + margin-bottom: 0 +} + +.el-form-item .el-input__validateIcon { + display: none +} + +.el-form-item--medium .el-form-item__label { + line-height: 36px +} + +.el-form-item--medium .el-form-item__content { + line-height: 36px +} + +.el-form-item--small .el-form-item__label { + line-height: 32px +} + +.el-form-item--small .el-form-item__content { + line-height: 32px +} + +.el-form-item--small.el-form-item { + margin-bottom: 18px +} + +.el-form-item--small .el-form-item__error { + padding-top: 2px +} + +.el-form-item--mini .el-form-item__label { + line-height: 28px +} + +.el-form-item--mini .el-form-item__content { + line-height: 28px +} + +.el-form-item--mini.el-form-item { + margin-bottom: 18px +} + +.el-form-item--mini .el-form-item__error { + padding-top: 1px +} + +.el-form-item__label-wrap { + float: left +} + +.el-form-item__label-wrap .el-form-item__label { + display: inline-block; + float: none +} + +.el-form-item__label { + text-align: right; + vertical-align: middle; + float: left; + font-size: 14px; + color: #606266; + line-height: 40px; + padding: 0 12px 0 0; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-form-item__content { + line-height: 40px; + position: relative; + font-size: 14px +} + +.el-form-item__content::after, +.el-form-item__content::before { + display: table; + content: "" +} + +.el-form-item__content::after { + clear: both +} + +.el-form-item__content .el-input-group { + vertical-align: top +} + +.el-form-item__error { + color: #d56262; + font-size: 12px; + line-height: 1; + padding-top: 4px; + position: absolute; + top: 100%; + left: 0; +} + +.el-form-item__error--inline { + position: relative; + top: auto; + left: auto; + display: inline-block; + margin-left: 10px +} + +.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before, +.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before { + content: '*'; + color: #d56262; + margin-right: 4px +} + +.el-form-item.is-error .el-input__inner, +.el-form-item.is-error .el-input__inner:focus, +.el-form-item.is-error .el-textarea__inner, +.el-form-item.is-error .el-textarea__inner:focus { + border-color: #d56262 +} + +.el-form-item.is-error .el-input-group__append .el-input__inner, +.el-form-item.is-error .el-input-group__prepend .el-input__inner { + border-color: transparent +} + +.el-form-item.is-error .el-input__validateIcon { + color: #d56262 +} + +.el-form-item--feedback .el-input__validateIcon { + display: inline-block +} + +.el-tabs__header { + padding: 0; + position: relative; + margin: 0 0 15px +} + +.el-tabs__active-bar { + position: absolute; + bottom: 0; + left: 0; + height: 2px; + background-color: #0966c2; + z-index: 1; + -webkit-transition: -webkit-transform .3s cubic-bezier(.645, .045, .355, 1); + transition: -webkit-transform .3s cubic-bezier(.645, .045, .355, 1); + transition: transform .3s cubic-bezier(.645, .045, .355, 1); + transition: transform .3s cubic-bezier(.645, .045, .355, 1), -webkit-transform .3s cubic-bezier(.645, .045, .355, 1); + list-style: none +} + +.el-tabs__new-tab { + float: right; + border: 1px solid #d3dce6; + height: 18px; + width: 18px; + line-height: 18px; + margin: 12px 0 9px 10px; + border-radius: 3px; + text-align: center; + font-size: 12px; + color: #d3dce6; + cursor: pointer; + -webkit-transition: all .15s; + transition: all .15s +} + +.el-tabs__new-tab .el-icon-plus { + -webkit-transform: scale(.8, .8); + transform: scale(.8, .8) +} + +.el-tabs__new-tab:hover { + color: #0966c2 +} + +.el-tabs__nav-wrap { + overflow: hidden; + margin-bottom: -1px; + position: relative +} + +.el-tabs__nav-wrap::after { + content: ""; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 2px; + background-color: #e4e7ed; + z-index: 1 +} + +.el-tabs__nav-wrap.is-scrollable { + padding: 0 20px; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-tabs__nav-scroll { + overflow: hidden +} + +.el-tabs__nav-next, +.el-tabs__nav-prev { + position: absolute; + cursor: pointer; + line-height: 44px; + font-size: 12px; + color: #909399 +} + +.el-tabs__nav-next { + right: 0 +} + +.el-tabs__nav-prev { + left: 0 +} + +.el-tabs__nav { + white-space: nowrap; + position: relative; + -webkit-transition: -webkit-transform .3s; + transition: -webkit-transform .3s; + transition: transform .3s; + transition: transform .3s, -webkit-transform .3s; + float: left; + z-index: 2 +} + +.el-tabs__nav.is-stretch { + min-width: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex +} + +.el-tabs__nav.is-stretch>* { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + text-align: center +} + +.el-tabs__item { + padding: 0 20px; + height: 40px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: 40px; + display: inline-block; + list-style: none; + font-size: 14px; + font-weight: 500; + color: #303133; + position: relative +} + +.el-tabs__item:focus, +.el-tabs__item:focus:active { + outline: 0 +} + +.el-tabs__item:focus.is-active.is-focus:not(:active) { + -webkit-box-shadow: 0 0 2px 2px #0966c2 inset; + box-shadow: 0 0 2px 2px #0966c2 inset; + border-radius: 3px +} + +.el-tabs__item .el-icon-close { + border-radius: 50%; + text-align: center; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + margin-left: 5px +} + +.el-tabs__item .el-icon-close:before { + -webkit-transform: scale(.9); + transform: scale(.9); + display: inline-block +} + +.el-tabs__item .el-icon-close:hover { + background-color: #c0c4cc; + color: #fff +} + +.el-tabs__item.is-active { + color: #0966c2 +} + +.el-tabs__item:hover { + color: #0966c2; + cursor: pointer +} + +.el-tabs__item.is-disabled { + color: #c0c4cc; + cursor: default +} + +.el-tabs__content { + overflow: hidden; + position: relative +} + +.el-tabs--card>.el-tabs__header { + border-bottom: 1px solid #e4e7ed +} + +.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after { + content: none +} + +.el-tabs--card>.el-tabs__header .el-tabs__nav { + border: 1px solid #e4e7ed; + border-bottom: none; + border-radius: 4px 4px 0 0; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-tabs--card>.el-tabs__header .el-tabs__active-bar { + display: none +} + +.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close { + position: relative; + font-size: 12px; + width: 0; + height: 14px; + vertical-align: middle; + line-height: 15px; + overflow: hidden; + top: -1px; + right: -2px; + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50% +} + +.el-tabs--card>.el-tabs__header .el-tabs__item { + border-bottom: 1px solid transparent; + border-left: 1px solid #e4e7ed; + -webkit-transition: color .3s cubic-bezier(.645, .045, .355, 1), padding .3s cubic-bezier(.645, .045, .355, 1); + transition: color .3s cubic-bezier(.645, .045, .355, 1), padding .3s cubic-bezier(.645, .045, .355, 1) +} + +.el-tabs--card>.el-tabs__header .el-tabs__item:first-child { + border-left: none +} + +.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover { + padding-left: 13px; + padding-right: 13px +} + +.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close { + width: 14px +} + +.el-tabs--card>.el-tabs__header .el-tabs__item.is-active { + border-bottom-color: #fff +} + +.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable { + padding-left: 20px; + padding-right: 20px +} + +.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close { + width: 14px +} + +.el-tabs--border-card { + background: #fff; + border: 1px solid #dcdfe6; + -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .12), 0 0 6px 0 rgba(0, 0, 0, .04); + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .12), 0 0 6px 0 rgba(0, 0, 0, .04) +} + +.el-tabs--border-card>.el-tabs__content { + padding: 15px +} + +.el-tabs--border-card>.el-tabs__header { + background-color: #f5f7fa; + border-bottom: 1px solid #e4e7ed; + margin: 0 +} + +.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after { + content: none +} + +.el-tabs--border-card>.el-tabs__header .el-tabs__item { + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + border: 1px solid transparent; + margin-top: -1px; + color: #909399 +} + +.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child { + margin-left: -1px +} + +.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item { + margin-left: -1px +} + +.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active { + color: #0966c2; + background-color: #fff; + border-right-color: #dcdfe6; + border-left-color: #dcdfe6 +} + +.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover { + color: #0966c2 +} + +.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled { + color: #c0c4cc +} + +.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child { + margin-left: 0 +} + +.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2), +.el-tabs--bottom .el-tabs__item.is-top:nth-child(2), +.el-tabs--top .el-tabs__item.is-bottom:nth-child(2), +.el-tabs--top .el-tabs__item.is-top:nth-child(2) { + padding-left: 0 +} + +.el-tabs--bottom .el-tabs__item.is-bottom:last-child, +.el-tabs--bottom .el-tabs__item.is-top:last-child, +.el-tabs--top .el-tabs__item.is-bottom:last-child, +.el-tabs--top .el-tabs__item.is-top:last-child { + padding-right: 0 +} + +.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2), +.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2), +.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2), +.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2), +.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2), +.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2), +.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2), +.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2) { + padding-left: 20px +} + +.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child, +.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child, +.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child, +.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child, +.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child, +.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child, +.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child, +.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child { + padding-right: 20px +} + +.el-tabs--bottom .el-tabs__header.is-bottom { + margin-bottom: 0; + margin-top: 10px +} + +.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom { + border-bottom: 0; + border-top: 1px solid #dcdfe6 +} + +.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom { + margin-top: -1px; + margin-bottom: 0 +} + +.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active) { + border: 1px solid transparent +} + +.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom { + margin: 0 -1px -1px -1px +} + +.el-tabs--left, +.el-tabs--right { + overflow: hidden +} + +.el-tabs--left .el-tabs__header.is-left, +.el-tabs--left .el-tabs__header.is-right, +.el-tabs--left .el-tabs__nav-scroll, +.el-tabs--left .el-tabs__nav-wrap.is-left, +.el-tabs--left .el-tabs__nav-wrap.is-right, +.el-tabs--right .el-tabs__header.is-left, +.el-tabs--right .el-tabs__header.is-right, +.el-tabs--right .el-tabs__nav-scroll, +.el-tabs--right .el-tabs__nav-wrap.is-left, +.el-tabs--right .el-tabs__nav-wrap.is-right { + height: 100% +} + +.el-tabs--left .el-tabs__active-bar.is-left, +.el-tabs--left .el-tabs__active-bar.is-right, +.el-tabs--right .el-tabs__active-bar.is-left, +.el-tabs--right .el-tabs__active-bar.is-right { + top: 0; + bottom: auto; + width: 2px; + height: auto +} + +.el-tabs--left .el-tabs__nav-wrap.is-left, +.el-tabs--left .el-tabs__nav-wrap.is-right, +.el-tabs--right .el-tabs__nav-wrap.is-left, +.el-tabs--right .el-tabs__nav-wrap.is-right { + margin-bottom: 0 +} + +.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next, +.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev, +.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next, +.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev, +.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next, +.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev, +.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next, +.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev { + height: 30px; + line-height: 30px; + width: 100%; + text-align: center; + cursor: pointer +} + +.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i, +.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i, +.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i, +.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i, +.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i, +.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i, +.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i, +.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i { + -webkit-transform: rotateZ(90deg); + transform: rotateZ(90deg) +} + +.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev, +.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev, +.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev, +.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev { + left: auto; + top: 0 +} + +.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next, +.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next, +.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next, +.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next { + right: auto; + bottom: 0 +} + +.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable, +.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable, +.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable, +.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable { + padding: 30px 0 +} + +.el-tabs--left .el-tabs__nav-wrap.is-left::after, +.el-tabs--left .el-tabs__nav-wrap.is-right::after, +.el-tabs--right .el-tabs__nav-wrap.is-left::after, +.el-tabs--right .el-tabs__nav-wrap.is-right::after { + height: 100%; + width: 2px; + bottom: auto; + top: 0 +} + +.el-tabs--left .el-tabs__nav.is-left, +.el-tabs--left .el-tabs__nav.is-right, +.el-tabs--right .el-tabs__nav.is-left, +.el-tabs--right .el-tabs__nav.is-right { + float: none +} + +.el-tabs--left .el-tabs__item.is-left, +.el-tabs--left .el-tabs__item.is-right, +.el-tabs--right .el-tabs__item.is-left, +.el-tabs--right .el-tabs__item.is-right { + display: block +} + +.el-tabs--left .el-tabs__header.is-left { + float: left; + margin-bottom: 0; + margin-right: 10px +} + +.el-tabs--left .el-tabs__nav-wrap.is-left { + margin-right: -1px +} + +.el-tabs--left .el-tabs__nav-wrap.is-left::after { + left: auto; + right: 0 +} + +.el-tabs--left .el-tabs__active-bar.is-left { + right: 0; + left: auto +} + +.el-tabs--left .el-tabs__item.is-left { + text-align: right +} + +.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left { + display: none +} + +.el-tabs--left.el-tabs--card .el-tabs__item.is-left { + border-left: none; + border-right: 1px solid #e4e7ed; + border-bottom: none; + border-top: 1px solid #e4e7ed; + text-align: left +} + +.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child { + border-right: 1px solid #e4e7ed; + border-top: none +} + +.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active { + border: 1px solid #e4e7ed; + border-right-color: #fff; + border-left: none; + border-bottom: none +} + +.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child { + border-top: none +} + +.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child { + border-bottom: none +} + +.el-tabs--left.el-tabs--card .el-tabs__nav { + border-radius: 4px 0 0 4px; + border-bottom: 1px solid #e4e7ed; + border-right: none +} + +.el-tabs--left.el-tabs--card .el-tabs__new-tab { + float: none +} + +.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left { + border-right: 1px solid #dfe4ed +} + +.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left { + border: 1px solid transparent; + margin: -1px 0 -1px -1px +} + +.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active { + border-color: transparent; + border-top-color: #d1dbe5; + border-bottom-color: #d1dbe5 +} + +.el-tabs--right .el-tabs__header.is-right { + float: right; + margin-bottom: 0; + margin-left: 10px +} + +.el-tabs--right .el-tabs__nav-wrap.is-right { + margin-left: -1px +} + +.el-tabs--right .el-tabs__nav-wrap.is-right::after { + left: 0; + right: auto +} + +.el-tabs--right .el-tabs__active-bar.is-right { + left: 0 +} + +.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right { + display: none +} + +.el-tabs--right.el-tabs--card .el-tabs__item.is-right { + border-bottom: none; + border-top: 1px solid #e4e7ed +} + +.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child { + border-left: 1px solid #e4e7ed; + border-top: none +} + +.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active { + border: 1px solid #e4e7ed; + border-left-color: #fff; + border-right: none; + border-bottom: none +} + +.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child { + border-top: none +} + +.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child { + border-bottom: none +} + +.el-tabs--right.el-tabs--card .el-tabs__nav { + border-radius: 0 4px 4px 0; + border-bottom: 1px solid #e4e7ed; + border-left: none +} + +.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right { + border-left: 1px solid #dfe4ed +} + +.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right { + border: 1px solid transparent; + margin: -1px -1px -1px 0 +} + +.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active { + border-color: transparent; + border-top-color: #d1dbe5; + border-bottom-color: #d1dbe5 +} + +.slideInLeft-transition, +.slideInRight-transition { + display: inline-block +} + +.slideInRight-enter { + -webkit-animation: slideInRight-enter .3s; + animation: slideInRight-enter .3s +} + +.slideInRight-leave { + position: absolute; + left: 0; + right: 0; + -webkit-animation: slideInRight-leave .3s; + animation: slideInRight-leave .3s +} + +.slideInLeft-enter { + -webkit-animation: slideInLeft-enter .3s; + animation: slideInLeft-enter .3s +} + +.slideInLeft-leave { + position: absolute; + left: 0; + right: 0; + -webkit-animation: slideInLeft-leave .3s; + animation: slideInLeft-leave .3s +} + +@-webkit-keyframes slideInRight-enter { + 0% { + opacity: 0; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(100%); + transform: translateX(100%) + } + + to { + opacity: 1; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +@keyframes slideInRight-enter { + 0% { + opacity: 0; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(100%); + transform: translateX(100%) + } + + to { + opacity: 1; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +@-webkit-keyframes slideInRight-leave { + 0% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1 + } + + 100% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(100%); + transform: translateX(100%); + opacity: 0 + } +} + +@keyframes slideInRight-leave { + 0% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1 + } + + 100% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(100%); + transform: translateX(100%); + opacity: 0 + } +} + +@-webkit-keyframes slideInLeft-enter { + 0% { + opacity: 0; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%) + } + + to { + opacity: 1; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +@keyframes slideInLeft-enter { + 0% { + opacity: 0; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%) + } + + to { + opacity: 1; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +@-webkit-keyframes slideInLeft-leave { + 0% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1 + } + + 100% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + opacity: 0 + } +} + +@keyframes slideInLeft-leave { + 0% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1 + } + + 100% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + opacity: 0 + } +} + +.el-tag { + background-color: #e6f0f9; + border-color: #cee0f3; + color: #0966c2; + display: inline-block; + height: 32px; + padding: 0 10px; + line-height: 30px; + font-size: 12px; + color: #0966c2; + border-width: 1px; + border-style: solid; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: nowrap +} + +.el-tag.is-hit { + border-color: #0966c2 +} + +.el-tag .el-tag__close { + color: #0966c2 +} + +.el-tag .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag.el-tag--info { + background-color: #f4f4f5; + border-color: #e9e9eb; + color: #909399 +} + +.el-tag.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag.el-tag--success { + background-color: #f1f8f4; + border-color: #e4f0e9; + color: #77b591 +} + +.el-tag.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag.el-tag--warning { + background-color: #fdf6ec; + border-color: #faecd8; + color: #e6a23c +} + +.el-tag.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag.el-tag--danger { + background-color: #fbefef; + border-color: #f7e0e0; + color: #d56262 +} + +.el-tag.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + height: 16px; + width: 16px; + line-height: 16px; + vertical-align: middle; + top: -1px; + right: -5px +} + +.el-tag .el-icon-close::before { + display: block +} + +.el-tag--dark { + background-color: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-tag--dark.is-hit { + border-color: #0966c2 +} + +.el-tag--dark .el-tag__close { + color: #fff +} + +.el-tag--dark .el-tag__close:hover { + color: #fff; + background-color: #3a85ce +} + +.el-tag--dark.el-tag--info { + background-color: #909399; + border-color: #909399; + color: #fff +} + +.el-tag--dark.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--dark.el-tag--info .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #a6a9ad +} + +.el-tag--dark.el-tag--success { + background-color: #77b591; + border-color: #77b591; + color: #fff +} + +.el-tag--dark.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--dark.el-tag--success .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #92c4a7 +} + +.el-tag--dark.el-tag--warning { + background-color: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-tag--dark.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--dark.el-tag--warning .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #ebb563 +} + +.el-tag--dark.el-tag--danger { + background-color: #d56262; + border-color: #d56262; + color: #fff +} + +.el-tag--dark.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--dark.el-tag--danger .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #dd8181 +} + +.el-tag--plain { + background-color: #fff; + border-color: #9dc2e7; + color: #0966c2 +} + +.el-tag--plain.is-hit { + border-color: #0966c2 +} + +.el-tag--plain .el-tag__close { + color: #0966c2 +} + +.el-tag--plain .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag--plain.el-tag--info { + background-color: #fff; + border-color: #d3d4d6; + color: #909399 +} + +.el-tag--plain.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag--plain.el-tag--success { + background-color: #fff; + border-color: #c9e1d3; + color: #77b591 +} + +.el-tag--plain.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag--plain.el-tag--warning { + background-color: #fff; + border-color: #f5dab1; + color: #e6a23c +} + +.el-tag--plain.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag--plain.el-tag--danger { + background-color: #fff; + border-color: #eec0c0; + color: #d56262 +} + +.el-tag--plain.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag--medium { + height: 28px; + line-height: 26px +} + +.el-tag--medium .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--small { + height: 24px; + padding: 0 8px; + line-height: 22px +} + +.el-tag--small .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--mini { + height: 20px; + padding: 0 5px; + line-height: 19px +} + +.el-tag--mini .el-icon-close { + margin-left: -3px; + -webkit-transform: scale(.7); + transform: scale(.7) +} + +.fade-in-linear-enter-active, +.fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.fade-in-linear-enter, +.fade-in-linear-leave, +.fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-linear-enter-active, +.el-fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.el-fade-in-linear-enter, +.el-fade-in-linear-leave, +.el-fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-enter-active, +.el-fade-in-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-fade-in-enter, +.el-fade-in-leave-active { + opacity: 0 +} + +.el-zoom-in-center-enter-active, +.el-zoom-in-center-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-zoom-in-center-enter, +.el-zoom-in-center-leave-active { + opacity: 0; + -webkit-transform: scaleX(0); + transform: scaleX(0) +} + +.el-zoom-in-top-enter-active, +.el-zoom-in-top-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center top; + transform-origin: center top +} + +.el-zoom-in-top-enter, +.el-zoom-in-top-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-bottom-enter-active, +.el-zoom-in-bottom-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center bottom; + transform-origin: center bottom +} + +.el-zoom-in-bottom-enter, +.el-zoom-in-bottom-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-left-enter-active, +.el-zoom-in-left-leave-active { + opacity: 1; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: top left; + transform-origin: top left +} + +.el-zoom-in-left-enter, +.el-zoom-in-left-leave-active { + opacity: 0; + -webkit-transform: scale(.45, .45); + transform: scale(.45, .45) +} + +.collapse-transition { + -webkit-transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out; + transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out +} + +.horizontal-collapse-transition { + -webkit-transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out; + transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out +} + +.el-list-enter-active, +.el-list-leave-active { + -webkit-transition: all 1s; + transition: all 1s +} + +.el-list-enter, +.el-list-leave-active { + opacity: 0; + -webkit-transform: translateY(-30px); + transform: translateY(-30px) +} + +.el-opacity-transition { + -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); + transition: opacity .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-checkbox { + color: #606266; + font-weight: 500; + font-size: 14px; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + margin-right: 30px +} + +.el-checkbox.is-bordered { + padding: 9px 20px 9px 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: normal; + height: 40px +} + +.el-checkbox.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-checkbox.is-bordered.is-disabled { + border-color: #ebeef5; + cursor: not-allowed +} + +.el-checkbox.is-bordered+.el-checkbox.is-bordered { + margin-left: 10px +} + +.el-checkbox.is-bordered.el-checkbox--medium { + padding: 7px 20px 7px 10px; + border-radius: 4px; + height: 36px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { + line-height: 17px; + font-size: 14px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { + height: 14px; + width: 14px +} + +.el-checkbox.is-bordered.el-checkbox--small { + padding: 5px 15px 5px 10px; + border-radius: 3px; + height: 32px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { + line-height: 15px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox.is-bordered.el-checkbox--mini { + padding: 3px 15px 3px 10px; + border-radius: 3px; + height: 28px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { + line-height: 12px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: #edf2fc; + border-color: #dcdfe6; + cursor: not-allowed +} + +.el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label { + cursor: not-allowed +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + background-color: #c0c4cc; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled+span.el-checkbox__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-checked .el-checkbox__inner::after { + -webkit-transform: rotate(45deg) scaleY(1); + transform: rotate(45deg) scaleY(1) +} + +.el-checkbox__input.is-checked+.el-checkbox__label { + color: #0966c2 +} + +.el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + background-color: #fff; + height: 2px; + -webkit-transform: scale(.5); + transform: scale(.5); + left: 0; + right: 0; + top: 5px +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none +} + +.el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 14px; + height: 14px; + background-color: #fff; + z-index: 1; + -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46); + transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46) +} + +.el-checkbox__inner:hover { + border-color: #0966c2 +} + +.el-checkbox__inner::after { + -webkit-box-sizing: content-box; + box-sizing: content-box; + content: ""; + border: 1px solid #fff; + border-left: 0; + border-top: 0; + height: 7px; + left: 4px; + position: absolute; + top: 1px; + -webkit-transform: rotate(45deg) scaleY(0); + transform: rotate(45deg) scaleY(0); + width: 3px; + -webkit-transition: -webkit-transform .15s ease-in .05s; + transition: -webkit-transform .15s ease-in .05s; + transition: transform .15s ease-in .05s; + transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; + -webkit-transform-origin: center; + transform-origin: center +} + +.el-checkbox__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + width: 0; + height: 0; + z-index: -1 +} + +.el-checkbox__label { + display: inline-block; + padding-left: 10px; + line-height: 19px; + font-size: 14px +} + +.el-checkbox:last-of-type { + margin-right: 0 +} + +.el-checkbox-button { + position: relative; + display: inline-block +} + +.el-checkbox-button__inner { + display: inline-block; + line-height: 1; + font-weight: 500; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-left: 0; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + position: relative; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button__inner.is-round { + padding: 12px 20px +} + +.el-checkbox-button__inner:hover { + color: #0966c2 +} + +.el-checkbox-button__inner [class*=el-icon-] { + line-height: .9 +} + +.el-checkbox-button__inner [class*=el-icon-]+span { + margin-left: 5px +} + +.el-checkbox-button__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + z-index: -1 +} + +.el-checkbox-button.is-checked .el-checkbox-button__inner { + color: #fff; + background-color: #0966c2; + border-color: #0966c2; + -webkit-box-shadow: -1px 0 0 0 #6ba3da; + box-shadow: -1px 0 0 0 #6ba3da +} + +.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { + border-left-color: #0966c2 +} + +.el-checkbox-button.is-disabled .el-checkbox-button__inner { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5; + -webkit-box-shadow: none; + box-shadow: none +} + +.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { + border-left-color: #ebeef5 +} + +.el-checkbox-button:first-child .el-checkbox-button__inner { + border-left: 1px solid #dcdfe6; + border-radius: 4px 0 0 4px; + -webkit-box-shadow: none !important; + box-shadow: none !important +} + +.el-checkbox-button.is-focus .el-checkbox-button__inner { + border-color: #0966c2 +} + +.el-checkbox-button:last-child .el-checkbox-button__inner { + border-radius: 0 4px 4px 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner { + padding: 10px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner.is-round { + padding: 10px 20px +} + +.el-checkbox-button--small .el-checkbox-button__inner { + padding: 9px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--small .el-checkbox-button__inner.is-round { + padding: 9px 15px +} + +.el-checkbox-button--mini .el-checkbox-button__inner { + padding: 7px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--mini .el-checkbox-button__inner.is-round { + padding: 7px 15px +} + +.el-checkbox-group { + font-size: 0 +} + +.el-tree { + position: relative; + cursor: default; + background: #fff; + color: #606266 +} + +.el-tree__empty-block { + position: relative; + min-height: 60px; + text-align: center; + width: 100%; + height: 100% +} + +.el-tree__empty-text { + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + color: #909399; + font-size: 14px +} + +.el-tree__drop-indicator { + position: absolute; + left: 0; + right: 0; + height: 1px; + background-color: #0966c2 +} + +.el-tree-node { + white-space: nowrap; + outline: 0 +} + +.el-tree-node:focus>.el-tree-node__content { + background-color: #f5f7fa +} + +.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label { + background-color: #0966c2; + color: #fff +} + +.el-tree-node__content { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 26px; + cursor: pointer +} + +.el-tree-node__content>.el-tree-node__expand-icon { + padding: 6px +} + +.el-tree-node__content>label.el-checkbox { + margin-right: 8px +} + +.el-tree-node__content:hover { + background-color: #f5f7fa +} + +.el-tree.is-dragging .el-tree-node__content { + cursor: move +} + +.el-tree.is-dragging .el-tree-node__content * { + pointer-events: none +} + +.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content { + cursor: not-allowed +} + +.el-tree-node__expand-icon { + cursor: pointer; + color: #c0c4cc; + font-size: 12px; + -webkit-transform: rotate(0); + transform: rotate(0); + -webkit-transition: -webkit-transform .3s ease-in-out; + transition: -webkit-transform .3s ease-in-out; + transition: transform .3s ease-in-out; + transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out +} + +.el-tree-node__expand-icon.expanded { + -webkit-transform: rotate(90deg); + transform: rotate(90deg) +} + +.el-tree-node__expand-icon.is-leaf { + color: transparent; + cursor: default +} + +.el-tree-node__label { + font-size: 14px +} + +.el-tree-node__loading-icon { + margin-right: 8px; + font-size: 14px; + color: #c0c4cc +} + +.el-tree-node>.el-tree-node__children { + overflow: hidden; + background-color: transparent +} + +.el-tree-node.is-expanded>.el-tree-node__children { + display: block +} + +.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { + background-color: #ebf3fa +} + +.el-alert { + width: 100%; + padding: 8px 16px; + margin: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-radius: 4px; + position: relative; + background-color: #fff; + overflow: hidden; + opacity: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-transition: opacity .2s; + transition: opacity .2s +} + +.el-alert.is-light .el-alert__closebtn { + color: #c0c4cc +} + +.el-alert.is-dark .el-alert__closebtn { + color: #fff +} + +.el-alert.is-dark .el-alert__description { + color: #fff +} + +.el-alert.is-center { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center +} + +.el-alert--success.is-light { + background-color: #f1f8f4; + color: #77b591 +} + +.el-alert--success.is-light .el-alert__description { + color: #77b591 +} + +.el-alert--success.is-dark { + background-color: #77b591; + color: #fff +} + +.el-alert--info.is-light { + background-color: #f4f4f5; + color: #909399 +} + +.el-alert--info.is-dark { + background-color: #909399; + color: #fff +} + +.el-alert--info .el-alert__description { + color: #909399 +} + +.el-alert--warning.is-light { + background-color: #fdf6ec; + color: #e6a23c +} + +.el-alert--warning.is-light .el-alert__description { + color: #e6a23c +} + +.el-alert--warning.is-dark { + background-color: #e6a23c; + color: #fff +} + +.el-alert--error.is-light { + background-color: #fbefef; + color: #d56262 +} + +.el-alert--error.is-light .el-alert__description { + color: #d56262 +} + +.el-alert--error.is-dark { + background-color: #d56262; + color: #fff +} + +.el-alert__content { + display: table-cell; + padding: 0 8px +} + +.el-alert__icon { + font-size: 16px; + width: 16px +} + +.el-alert__icon.is-big { + font-size: 28px; + width: 28px +} + +.el-alert__title { + font-size: 13px; + line-height: 18px +} + +.el-alert__title.is-bold { + font-weight: 700 +} + +.el-alert .el-alert__description { + font-size: 12px; + margin: 5px 0 0 0 +} + +.el-alert__closebtn { + font-size: 12px; + opacity: 1; + position: absolute; + top: 12px; + right: 15px; + cursor: pointer +} + +.el-alert__closebtn.is-customed { + font-style: normal; + font-size: 13px; + top: 9px +} + +.el-alert-fade-enter, +.el-alert-fade-leave-active { + opacity: 0 +} + +.el-notification { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + width: 330px; + padding: 14px 26px 14px 13px; + border-radius: 8px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: 1px solid #ebeef5; + position: fixed; + background-color: #fff; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + -webkit-transition: opacity .3s, left .3s, right .3s, top .4s, bottom .3s, -webkit-transform .3s; + transition: opacity .3s, left .3s, right .3s, top .4s, bottom .3s, -webkit-transform .3s; + transition: opacity .3s, transform .3s, left .3s, right .3s, top .4s, bottom .3s; + transition: opacity .3s, transform .3s, left .3s, right .3s, top .4s, bottom .3s, -webkit-transform .3s; + overflow: hidden +} + +.el-notification.right { + right: 16px +} + +.el-notification.left { + left: 16px +} + +.el-notification__group { + margin-left: 13px; + margin-right: 8px +} + +.el-notification__title { + font-weight: 700; + font-size: 16px; + color: #303133; + margin: 0 +} + +.el-notification__content { + font-size: 14px; + line-height: 21px; + margin: 6px 0 0 0; + color: #606266; + text-align: justify +} + +.el-notification__content p { + margin: 0 +} + +.el-notification__icon { + height: 24px; + width: 24px; + font-size: 24px +} + +.el-notification__closeBtn { + position: absolute; + top: 18px; + right: 15px; + cursor: pointer; + color: #909399; + font-size: 16px +} + +.el-notification__closeBtn:hover { + color: #606266 +} + +.el-notification .el-icon-success { + color: #77b591 +} + +.el-notification .el-icon-error { + color: #d56262 +} + +.el-notification .el-icon-info { + color: #909399 +} + +.el-notification .el-icon-warning { + color: #e6a23c +} + +.el-notification-fade-enter.right { + right: 0; + -webkit-transform: translateX(100%); + transform: translateX(100%) +} + +.el-notification-fade-enter.left { + left: 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%) +} + +.el-notification-fade-leave-active { + opacity: 0 +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-input-number { + position: relative; + display: inline-block; + width: 180px; + line-height: 38px +} + +.el-input-number .el-input { + display: block +} + +.el-input-number .el-input__inner { + -webkit-appearance: none; + padding-left: 50px; + padding-right: 50px; + text-align: center +} + +.el-input-number__decrease, +.el-input-number__increase { + position: absolute; + z-index: 1; + top: 1px; + width: 40px; + height: auto; + text-align: center; + background: #f5f7fa; + color: #606266; + cursor: pointer; + font-size: 13px +} + +.el-input-number__decrease:hover, +.el-input-number__increase:hover { + color: #0966c2 +} + +.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled), +.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled) { + border-color: #0966c2 +} + +.el-input-number__decrease.is-disabled, +.el-input-number__increase.is-disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-input-number__increase { + right: 1px; + border-radius: 0 4px 4px 0; + border-left: 1px solid #dcdfe6 +} + +.el-input-number__decrease { + left: 1px; + border-radius: 4px 0 0 4px; + border-right: 1px solid #dcdfe6 +} + +.el-input-number.is-disabled .el-input-number__decrease, +.el-input-number.is-disabled .el-input-number__increase { + border-color: #e4e7ed; + color: #e4e7ed +} + +.el-input-number.is-disabled .el-input-number__decrease:hover, +.el-input-number.is-disabled .el-input-number__increase:hover { + color: #e4e7ed; + cursor: not-allowed +} + +.el-input-number--medium { + width: 200px; + line-height: 34px +} + +.el-input-number--medium .el-input-number__decrease, +.el-input-number--medium .el-input-number__increase { + width: 36px; + font-size: 14px +} + +.el-input-number--medium .el-input__inner { + padding-left: 43px; + padding-right: 43px +} + +.el-input-number--small { + width: 130px; + line-height: 30px +} + +.el-input-number--small .el-input-number__decrease, +.el-input-number--small .el-input-number__increase { + width: 32px; + font-size: 13px +} + +.el-input-number--small .el-input-number__decrease [class*=el-icon], +.el-input-number--small .el-input-number__increase [class*=el-icon] { + -webkit-transform: scale(.9); + transform: scale(.9) +} + +.el-input-number--small .el-input__inner { + padding-left: 39px; + padding-right: 39px +} + +.el-input-number--mini { + width: 130px; + line-height: 26px +} + +.el-input-number--mini .el-input-number__decrease, +.el-input-number--mini .el-input-number__increase { + width: 28px; + font-size: 12px +} + +.el-input-number--mini .el-input-number__decrease [class*=el-icon], +.el-input-number--mini .el-input-number__increase [class*=el-icon] { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-input-number--mini .el-input__inner { + padding-left: 35px; + padding-right: 35px +} + +.el-input-number.is-without-controls .el-input__inner { + padding-left: 15px; + padding-right: 15px +} + +.el-input-number.is-controls-right .el-input__inner { + padding-left: 15px; + padding-right: 50px +} + +.el-input-number.is-controls-right .el-input-number__decrease, +.el-input-number.is-controls-right .el-input-number__increase { + height: auto; + line-height: 19px +} + +.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon], +.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon] { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-input-number.is-controls-right .el-input-number__increase { + border-radius: 0 4px 0 0; + border-bottom: 1px solid #dcdfe6 +} + +.el-input-number.is-controls-right .el-input-number__decrease { + right: 1px; + bottom: 1px; + top: auto; + left: auto; + border-right: none; + border-left: 1px solid #dcdfe6; + border-radius: 0 0 4px 0 +} + +.el-input-number.is-controls-right[class*=medium] [class*=decrease], +.el-input-number.is-controls-right[class*=medium] [class*=increase] { + line-height: 17px +} + +.el-input-number.is-controls-right[class*=small] [class*=decrease], +.el-input-number.is-controls-right[class*=small] [class*=increase] { + line-height: 15px +} + +.el-input-number.is-controls-right[class*=mini] [class*=decrease], +.el-input-number.is-controls-right[class*=mini] [class*=increase] { + line-height: 13px +} + +.el-tooltip:focus:hover, +.el-tooltip:focus:not(.focusing) { + outline-width: 0 +} + +.el-tooltip__popper { + position: absolute; + border-radius: 4px; + padding: 10px; + z-index: 2000; + font-size: 12px; + line-height: 1.2; + min-width: 10px; + word-wrap: break-word +} + +.el-tooltip__popper .popper__arrow, +.el-tooltip__popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-tooltip__popper .popper__arrow { + border-width: 6px +} + +.el-tooltip__popper .popper__arrow::after { + content: " "; + border-width: 5px +} + +.el-tooltip__popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-tooltip__popper[x-placement^=top] .popper__arrow { + bottom: -6px; + border-top-color: #303133; + border-bottom-width: 0 +} + +.el-tooltip__popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -5px; + border-top-color: #303133; + border-bottom-width: 0 +} + +.el-tooltip__popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-tooltip__popper[x-placement^=bottom] .popper__arrow { + top: -6px; + border-top-width: 0; + border-bottom-color: #303133 +} + +.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -5px; + border-top-width: 0; + border-bottom-color: #303133 +} + +.el-tooltip__popper[x-placement^=right] { + margin-left: 12px +} + +.el-tooltip__popper[x-placement^=right] .popper__arrow { + left: -6px; + border-right-color: #303133; + border-left-width: 0 +} + +.el-tooltip__popper[x-placement^=right] .popper__arrow::after { + bottom: -5px; + left: 1px; + border-right-color: #303133; + border-left-width: 0 +} + +.el-tooltip__popper[x-placement^=left] { + margin-right: 12px +} + +.el-tooltip__popper[x-placement^=left] .popper__arrow { + right: -6px; + border-right-width: 0; + border-left-color: #303133 +} + +.el-tooltip__popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -5px; + margin-left: -5px; + border-right-width: 0; + border-left-color: #303133 +} + +.el-tooltip__popper.is-dark { + background: #303133; + color: #fff +} + +.el-tooltip__popper.is-light { + background: #fff; + border: 1px solid #303133 +} + +.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow { + border-top-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after { + border-top-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow { + border-bottom-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after { + border-bottom-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow { + border-left-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after { + border-left-color: #fff +} + +.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow { + border-right-color: #303133 +} + +.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after { + border-right-color: #fff +} + +.el-slider::after, +.el-slider::before { + display: table; + content: "" +} + +.el-slider::after { + clear: both +} + +.el-slider__runway { + width: 100%; + height: 6px; + margin: 16px 0; + background-color: #e4e7ed; + border-radius: 3px; + position: relative; + cursor: pointer; + vertical-align: middle +} + +.el-slider__runway.show-input { + margin-right: 160px; + width: auto +} + +.el-slider__runway.disabled { + cursor: default +} + +.el-slider__runway.disabled .el-slider__bar { + background-color: #c0c4cc +} + +.el-slider__runway.disabled .el-slider__button { + border-color: #c0c4cc +} + +.el-slider__runway.disabled .el-slider__button-wrapper.hover, +.el-slider__runway.disabled .el-slider__button-wrapper:hover { + cursor: not-allowed +} + +.el-slider__runway.disabled .el-slider__button-wrapper.dragging { + cursor: not-allowed +} + +.el-slider__runway.disabled .el-slider__button.dragging, +.el-slider__runway.disabled .el-slider__button.hover, +.el-slider__runway.disabled .el-slider__button:hover { + -webkit-transform: scale(1); + transform: scale(1) +} + +.el-slider__runway.disabled .el-slider__button.hover, +.el-slider__runway.disabled .el-slider__button:hover { + cursor: not-allowed +} + +.el-slider__runway.disabled .el-slider__button.dragging { + cursor: not-allowed +} + +.el-slider__input { + float: right; + margin-top: 3px; + width: 130px +} + +.el-slider__input.el-input-number--mini { + margin-top: 5px +} + +.el-slider__input.el-input-number--medium { + margin-top: 0 +} + +.el-slider__input.el-input-number--large { + margin-top: -2px +} + +.el-slider__bar { + height: 6px; + background-color: #0966c2; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + position: absolute +} + +.el-slider__button-wrapper { + height: 36px; + width: 36px; + position: absolute; + z-index: 1001; + top: -15px; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + background-color: transparent; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + line-height: normal +} + +.el-slider__button-wrapper::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle +} + +.el-slider__button-wrapper .el-tooltip { + vertical-align: middle; + display: inline-block +} + +.el-slider__button-wrapper.hover, +.el-slider__button-wrapper:hover { + cursor: -webkit-grab; + cursor: grab +} + +.el-slider__button-wrapper.dragging { + cursor: -webkit-grabbing; + cursor: grabbing +} + +.el-slider__button { + width: 16px; + height: 16px; + border: solid 2px #0966c2; + background-color: #fff; + border-radius: 50%; + -webkit-transition: .2s; + transition: .2s; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.el-slider__button.dragging, +.el-slider__button.hover, +.el-slider__button:hover { + -webkit-transform: scale(1.2); + transform: scale(1.2) +} + +.el-slider__button.hover, +.el-slider__button:hover { + cursor: -webkit-grab; + cursor: grab +} + +.el-slider__button.dragging { + cursor: -webkit-grabbing; + cursor: grabbing +} + +.el-slider__stop { + position: absolute; + height: 6px; + width: 6px; + border-radius: 100%; + background-color: #fff; + -webkit-transform: translateX(-50%); + transform: translateX(-50%) +} + +.el-slider__marks { + top: 0; + left: 12px; + width: 18px; + height: 100% +} + +.el-slider__marks-text { + position: absolute; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + font-size: 14px; + color: #909399; + margin-top: 15px +} + +.el-slider.is-vertical { + position: relative +} + +.el-slider.is-vertical .el-slider__runway { + width: 6px; + height: 100%; + margin: 0 16px +} + +.el-slider.is-vertical .el-slider__bar { + width: 6px; + height: auto; + border-radius: 0 0 3px 3px +} + +.el-slider.is-vertical .el-slider__button-wrapper { + top: auto; + left: -15px; + -webkit-transform: translateY(50%); + transform: translateY(50%) +} + +.el-slider.is-vertical .el-slider__stop { + -webkit-transform: translateY(50%); + transform: translateY(50%) +} + +.el-slider.is-vertical.el-slider--with-input { + padding-bottom: 58px +} + +.el-slider.is-vertical.el-slider--with-input .el-slider__input { + overflow: visible; + float: none; + position: absolute; + bottom: 22px; + width: 36px; + margin-top: 15px +} + +.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner { + text-align: center; + padding-left: 5px; + padding-right: 5px +} + +.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease, +.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase { + top: 32px; + margin-top: -1px; + border: 1px solid #dcdfe6; + line-height: 20px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease { + width: 18px; + right: 18px; + border-bottom-left-radius: 4px +} + +.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase { + width: 19px; + border-bottom-right-radius: 4px +} + +.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0 +} + +.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease, +.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase { + border-color: #c0c4cc +} + +.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease, +.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase { + border-color: #0966c2 +} + +.el-slider.is-vertical .el-slider__marks-text { + margin-top: 0; + left: 15px; + -webkit-transform: translateY(50%); + transform: translateY(50%) +} + +.el-loading-parent--relative { + position: relative !important +} + +.el-loading-parent--hidden { + overflow: hidden !important +} + +.el-loading-mask { + position: absolute; + z-index: 2000; + background-color: rgba(255, 255, 255, .9); + margin: 0; + top: 0; + right: 0; + bottom: 0; + left: 0; + -webkit-transition: opacity .3s; + transition: opacity .3s +} + +.el-loading-mask.is-fullscreen { + position: fixed +} + +.el-loading-mask.is-fullscreen .el-loading-spinner { + margin-top: -25px +} + +.el-loading-mask.is-fullscreen .el-loading-spinner .circular { + height: 50px; + width: 50px +} + +.el-loading-spinner { + top: 50%; + margin-top: -21px; + width: 100%; + text-align: center; + position: absolute +} + +.el-loading-spinner .el-loading-text { + color: #0966c2; + margin: 3px 0; + font-size: 14px +} + +.el-loading-spinner .circular { + height: 42px; + width: 42px; + -webkit-animation: loading-rotate 2s linear infinite; + animation: loading-rotate 2s linear infinite +} + +.el-loading-spinner .path { + -webkit-animation: loading-dash 1.5s ease-in-out infinite; + animation: loading-dash 1.5s ease-in-out infinite; + stroke-dasharray: 90, 150; + stroke-dashoffset: 0; + stroke-width: 2; + stroke: #0966C2; + stroke-linecap: round +} + +.el-loading-spinner i { + color: #0966c2 +} + +.el-loading-fade-enter, +.el-loading-fade-leave-active { + opacity: 0 +} + +@-webkit-keyframes loading-rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +@keyframes loading-rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +@-webkit-keyframes loading-dash { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0 + } + + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -40px + } + + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -120px + } +} + +@keyframes loading-dash { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0 + } + + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -40px + } + + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -120px + } +} + +.el-row { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-row::after, +.el-row::before { + display: table; + content: "" +} + +.el-row::after { + clear: both +} + +.el-row--flex { + display: -webkit-box; + display: -ms-flexbox; + display: flex +} + +.el-row--flex:after, +.el-row--flex:before { + display: none +} + +.el-row--flex.is-justify-center { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center +} + +.el-row--flex.is-justify-end { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end +} + +.el-row--flex.is-justify-space-between { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between +} + +.el-row--flex.is-justify-space-around { + -ms-flex-pack: distribute; + justify-content: space-around +} + +.el-row--flex.is-align-top { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start +} + +.el-row--flex.is-align-middle { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-row--flex.is-align-bottom { + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end +} + +[class*=el-col-] { + float: left; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-col-0 { + display: none +} + +.el-col-0 { + width: 0% +} + +.el-col-offset-0 { + margin-left: 0 +} + +.el-col-pull-0 { + position: relative; + right: 0 +} + +.el-col-push-0 { + position: relative; + left: 0 +} + +.el-col-1 { + width: 4.16667% +} + +.el-col-offset-1 { + margin-left: 4.16667% +} + +.el-col-pull-1 { + position: relative; + right: 4.16667% +} + +.el-col-push-1 { + position: relative; + left: 4.16667% +} + +.el-col-2 { + width: 8.33333% +} + +.el-col-offset-2 { + margin-left: 8.33333% +} + +.el-col-pull-2 { + position: relative; + right: 8.33333% +} + +.el-col-push-2 { + position: relative; + left: 8.33333% +} + +.el-col-3 { + width: 12.5% +} + +.el-col-offset-3 { + margin-left: 12.5% +} + +.el-col-pull-3 { + position: relative; + right: 12.5% +} + +.el-col-push-3 { + position: relative; + left: 12.5% +} + +.el-col-4 { + width: 16.66667% +} + +.el-col-offset-4 { + margin-left: 16.66667% +} + +.el-col-pull-4 { + position: relative; + right: 16.66667% +} + +.el-col-push-4 { + position: relative; + left: 16.66667% +} + +.el-col-5 { + width: 20.83333% +} + +.el-col-offset-5 { + margin-left: 20.83333% +} + +.el-col-pull-5 { + position: relative; + right: 20.83333% +} + +.el-col-push-5 { + position: relative; + left: 20.83333% +} + +.el-col-6 { + width: 25% +} + +.el-col-offset-6 { + margin-left: 25% +} + +.el-col-pull-6 { + position: relative; + right: 25% +} + +.el-col-push-6 { + position: relative; + left: 25% +} + +.el-col-7 { + width: 29.16667% +} + +.el-col-offset-7 { + margin-left: 29.16667% +} + +.el-col-pull-7 { + position: relative; + right: 29.16667% +} + +.el-col-push-7 { + position: relative; + left: 29.16667% +} + +.el-col-8 { + width: 33.33333% +} + +.el-col-offset-8 { + margin-left: 33.33333% +} + +.el-col-pull-8 { + position: relative; + right: 33.33333% +} + +.el-col-push-8 { + position: relative; + left: 33.33333% +} + +.el-col-9 { + width: 37.5% +} + +.el-col-offset-9 { + margin-left: 37.5% +} + +.el-col-pull-9 { + position: relative; + right: 37.5% +} + +.el-col-push-9 { + position: relative; + left: 37.5% +} + +.el-col-10 { + width: 41.66667% +} + +.el-col-offset-10 { + margin-left: 41.66667% +} + +.el-col-pull-10 { + position: relative; + right: 41.66667% +} + +.el-col-push-10 { + position: relative; + left: 41.66667% +} + +.el-col-11 { + width: 45.83333% +} + +.el-col-offset-11 { + margin-left: 45.83333% +} + +.el-col-pull-11 { + position: relative; + right: 45.83333% +} + +.el-col-push-11 { + position: relative; + left: 45.83333% +} + +.el-col-12 { + width: 50% +} + +.el-col-offset-12 { + margin-left: 50% +} + +.el-col-pull-12 { + position: relative; + right: 50% +} + +.el-col-push-12 { + position: relative; + left: 50% +} + +.el-col-13 { + width: 54.16667% +} + +.el-col-offset-13 { + margin-left: 54.16667% +} + +.el-col-pull-13 { + position: relative; + right: 54.16667% +} + +.el-col-push-13 { + position: relative; + left: 54.16667% +} + +.el-col-14 { + width: 58.33333% +} + +.el-col-offset-14 { + margin-left: 58.33333% +} + +.el-col-pull-14 { + position: relative; + right: 58.33333% +} + +.el-col-push-14 { + position: relative; + left: 58.33333% +} + +.el-col-15 { + width: 62.5% +} + +.el-col-offset-15 { + margin-left: 62.5% +} + +.el-col-pull-15 { + position: relative; + right: 62.5% +} + +.el-col-push-15 { + position: relative; + left: 62.5% +} + +.el-col-16 { + width: 66.66667% +} + +.el-col-offset-16 { + margin-left: 66.66667% +} + +.el-col-pull-16 { + position: relative; + right: 66.66667% +} + +.el-col-push-16 { + position: relative; + left: 66.66667% +} + +.el-col-17 { + width: 70.83333% +} + +.el-col-offset-17 { + margin-left: 70.83333% +} + +.el-col-pull-17 { + position: relative; + right: 70.83333% +} + +.el-col-push-17 { + position: relative; + left: 70.83333% +} + +.el-col-18 { + width: 75% +} + +.el-col-offset-18 { + margin-left: 75% +} + +.el-col-pull-18 { + position: relative; + right: 75% +} + +.el-col-push-18 { + position: relative; + left: 75% +} + +.el-col-19 { + width: 79.16667% +} + +.el-col-offset-19 { + margin-left: 79.16667% +} + +.el-col-pull-19 { + position: relative; + right: 79.16667% +} + +.el-col-push-19 { + position: relative; + left: 79.16667% +} + +.el-col-20 { + width: 83.33333% +} + +.el-col-offset-20 { + margin-left: 83.33333% +} + +.el-col-pull-20 { + position: relative; + right: 83.33333% +} + +.el-col-push-20 { + position: relative; + left: 83.33333% +} + +.el-col-21 { + width: 87.5% +} + +.el-col-offset-21 { + margin-left: 87.5% +} + +.el-col-pull-21 { + position: relative; + right: 87.5% +} + +.el-col-push-21 { + position: relative; + left: 87.5% +} + +.el-col-22 { + width: 91.66667% +} + +.el-col-offset-22 { + margin-left: 91.66667% +} + +.el-col-pull-22 { + position: relative; + right: 91.66667% +} + +.el-col-push-22 { + position: relative; + left: 91.66667% +} + +.el-col-23 { + width: 95.83333% +} + +.el-col-offset-23 { + margin-left: 95.83333% +} + +.el-col-pull-23 { + position: relative; + right: 95.83333% +} + +.el-col-push-23 { + position: relative; + left: 95.83333% +} + +.el-col-24 { + width: 100% +} + +.el-col-offset-24 { + margin-left: 100% +} + +.el-col-pull-24 { + position: relative; + right: 100% +} + +.el-col-push-24 { + position: relative; + left: 100% +} + +@media only screen and (max-width: 767px) { + .el-col-xs-0 { + display: none + } + + .el-col-xs-0 { + width: 0% + } + + .el-col-xs-offset-0 { + margin-left: 0 + } + + .el-col-xs-pull-0 { + position: relative; + right: 0 + } + + .el-col-xs-push-0 { + position: relative; + left: 0 + } + + .el-col-xs-1 { + width: 4.16667% + } + + .el-col-xs-offset-1 { + margin-left: 4.16667% + } + + .el-col-xs-pull-1 { + position: relative; + right: 4.16667% + } + + .el-col-xs-push-1 { + position: relative; + left: 4.16667% + } + + .el-col-xs-2 { + width: 8.33333% + } + + .el-col-xs-offset-2 { + margin-left: 8.33333% + } + + .el-col-xs-pull-2 { + position: relative; + right: 8.33333% + } + + .el-col-xs-push-2 { + position: relative; + left: 8.33333% + } + + .el-col-xs-3 { + width: 12.5% + } + + .el-col-xs-offset-3 { + margin-left: 12.5% + } + + .el-col-xs-pull-3 { + position: relative; + right: 12.5% + } + + .el-col-xs-push-3 { + position: relative; + left: 12.5% + } + + .el-col-xs-4 { + width: 16.66667% + } + + .el-col-xs-offset-4 { + margin-left: 16.66667% + } + + .el-col-xs-pull-4 { + position: relative; + right: 16.66667% + } + + .el-col-xs-push-4 { + position: relative; + left: 16.66667% + } + + .el-col-xs-5 { + width: 20.83333% + } + + .el-col-xs-offset-5 { + margin-left: 20.83333% + } + + .el-col-xs-pull-5 { + position: relative; + right: 20.83333% + } + + .el-col-xs-push-5 { + position: relative; + left: 20.83333% + } + + .el-col-xs-6 { + width: 25% + } + + .el-col-xs-offset-6 { + margin-left: 25% + } + + .el-col-xs-pull-6 { + position: relative; + right: 25% + } + + .el-col-xs-push-6 { + position: relative; + left: 25% + } + + .el-col-xs-7 { + width: 29.16667% + } + + .el-col-xs-offset-7 { + margin-left: 29.16667% + } + + .el-col-xs-pull-7 { + position: relative; + right: 29.16667% + } + + .el-col-xs-push-7 { + position: relative; + left: 29.16667% + } + + .el-col-xs-8 { + width: 33.33333% + } + + .el-col-xs-offset-8 { + margin-left: 33.33333% + } + + .el-col-xs-pull-8 { + position: relative; + right: 33.33333% + } + + .el-col-xs-push-8 { + position: relative; + left: 33.33333% + } + + .el-col-xs-9 { + width: 37.5% + } + + .el-col-xs-offset-9 { + margin-left: 37.5% + } + + .el-col-xs-pull-9 { + position: relative; + right: 37.5% + } + + .el-col-xs-push-9 { + position: relative; + left: 37.5% + } + + .el-col-xs-10 { + width: 41.66667% + } + + .el-col-xs-offset-10 { + margin-left: 41.66667% + } + + .el-col-xs-pull-10 { + position: relative; + right: 41.66667% + } + + .el-col-xs-push-10 { + position: relative; + left: 41.66667% + } + + .el-col-xs-11 { + width: 45.83333% + } + + .el-col-xs-offset-11 { + margin-left: 45.83333% + } + + .el-col-xs-pull-11 { + position: relative; + right: 45.83333% + } + + .el-col-xs-push-11 { + position: relative; + left: 45.83333% + } + + .el-col-xs-12 { + width: 50% + } + + .el-col-xs-offset-12 { + margin-left: 50% + } + + .el-col-xs-pull-12 { + position: relative; + right: 50% + } + + .el-col-xs-push-12 { + position: relative; + left: 50% + } + + .el-col-xs-13 { + width: 54.16667% + } + + .el-col-xs-offset-13 { + margin-left: 54.16667% + } + + .el-col-xs-pull-13 { + position: relative; + right: 54.16667% + } + + .el-col-xs-push-13 { + position: relative; + left: 54.16667% + } + + .el-col-xs-14 { + width: 58.33333% + } + + .el-col-xs-offset-14 { + margin-left: 58.33333% + } + + .el-col-xs-pull-14 { + position: relative; + right: 58.33333% + } + + .el-col-xs-push-14 { + position: relative; + left: 58.33333% + } + + .el-col-xs-15 { + width: 62.5% + } + + .el-col-xs-offset-15 { + margin-left: 62.5% + } + + .el-col-xs-pull-15 { + position: relative; + right: 62.5% + } + + .el-col-xs-push-15 { + position: relative; + left: 62.5% + } + + .el-col-xs-16 { + width: 66.66667% + } + + .el-col-xs-offset-16 { + margin-left: 66.66667% + } + + .el-col-xs-pull-16 { + position: relative; + right: 66.66667% + } + + .el-col-xs-push-16 { + position: relative; + left: 66.66667% + } + + .el-col-xs-17 { + width: 70.83333% + } + + .el-col-xs-offset-17 { + margin-left: 70.83333% + } + + .el-col-xs-pull-17 { + position: relative; + right: 70.83333% + } + + .el-col-xs-push-17 { + position: relative; + left: 70.83333% + } + + .el-col-xs-18 { + width: 75% + } + + .el-col-xs-offset-18 { + margin-left: 75% + } + + .el-col-xs-pull-18 { + position: relative; + right: 75% + } + + .el-col-xs-push-18 { + position: relative; + left: 75% + } + + .el-col-xs-19 { + width: 79.16667% + } + + .el-col-xs-offset-19 { + margin-left: 79.16667% + } + + .el-col-xs-pull-19 { + position: relative; + right: 79.16667% + } + + .el-col-xs-push-19 { + position: relative; + left: 79.16667% + } + + .el-col-xs-20 { + width: 83.33333% + } + + .el-col-xs-offset-20 { + margin-left: 83.33333% + } + + .el-col-xs-pull-20 { + position: relative; + right: 83.33333% + } + + .el-col-xs-push-20 { + position: relative; + left: 83.33333% + } + + .el-col-xs-21 { + width: 87.5% + } + + .el-col-xs-offset-21 { + margin-left: 87.5% + } + + .el-col-xs-pull-21 { + position: relative; + right: 87.5% + } + + .el-col-xs-push-21 { + position: relative; + left: 87.5% + } + + .el-col-xs-22 { + width: 91.66667% + } + + .el-col-xs-offset-22 { + margin-left: 91.66667% + } + + .el-col-xs-pull-22 { + position: relative; + right: 91.66667% + } + + .el-col-xs-push-22 { + position: relative; + left: 91.66667% + } + + .el-col-xs-23 { + width: 95.83333% + } + + .el-col-xs-offset-23 { + margin-left: 95.83333% + } + + .el-col-xs-pull-23 { + position: relative; + right: 95.83333% + } + + .el-col-xs-push-23 { + position: relative; + left: 95.83333% + } + + .el-col-xs-24 { + width: 100% + } + + .el-col-xs-offset-24 { + margin-left: 100% + } + + .el-col-xs-pull-24 { + position: relative; + right: 100% + } + + .el-col-xs-push-24 { + position: relative; + left: 100% + } +} + +@media only screen and (min-width: 768px) { + .el-col-sm-0 { + display: none + } + + .el-col-sm-0 { + width: 0% + } + + .el-col-sm-offset-0 { + margin-left: 0 + } + + .el-col-sm-pull-0 { + position: relative; + right: 0 + } + + .el-col-sm-push-0 { + position: relative; + left: 0 + } + + .el-col-sm-1 { + width: 4.16667% + } + + .el-col-sm-offset-1 { + margin-left: 4.16667% + } + + .el-col-sm-pull-1 { + position: relative; + right: 4.16667% + } + + .el-col-sm-push-1 { + position: relative; + left: 4.16667% + } + + .el-col-sm-2 { + width: 8.33333% + } + + .el-col-sm-offset-2 { + margin-left: 8.33333% + } + + .el-col-sm-pull-2 { + position: relative; + right: 8.33333% + } + + .el-col-sm-push-2 { + position: relative; + left: 8.33333% + } + + .el-col-sm-3 { + width: 12.5% + } + + .el-col-sm-offset-3 { + margin-left: 12.5% + } + + .el-col-sm-pull-3 { + position: relative; + right: 12.5% + } + + .el-col-sm-push-3 { + position: relative; + left: 12.5% + } + + .el-col-sm-4 { + width: 16.66667% + } + + .el-col-sm-offset-4 { + margin-left: 16.66667% + } + + .el-col-sm-pull-4 { + position: relative; + right: 16.66667% + } + + .el-col-sm-push-4 { + position: relative; + left: 16.66667% + } + + .el-col-sm-5 { + width: 20.83333% + } + + .el-col-sm-offset-5 { + margin-left: 20.83333% + } + + .el-col-sm-pull-5 { + position: relative; + right: 20.83333% + } + + .el-col-sm-push-5 { + position: relative; + left: 20.83333% + } + + .el-col-sm-6 { + width: 25% + } + + .el-col-sm-offset-6 { + margin-left: 25% + } + + .el-col-sm-pull-6 { + position: relative; + right: 25% + } + + .el-col-sm-push-6 { + position: relative; + left: 25% + } + + .el-col-sm-7 { + width: 29.16667% + } + + .el-col-sm-offset-7 { + margin-left: 29.16667% + } + + .el-col-sm-pull-7 { + position: relative; + right: 29.16667% + } + + .el-col-sm-push-7 { + position: relative; + left: 29.16667% + } + + .el-col-sm-8 { + width: 33.33333% + } + + .el-col-sm-offset-8 { + margin-left: 33.33333% + } + + .el-col-sm-pull-8 { + position: relative; + right: 33.33333% + } + + .el-col-sm-push-8 { + position: relative; + left: 33.33333% + } + + .el-col-sm-9 { + width: 37.5% + } + + .el-col-sm-offset-9 { + margin-left: 37.5% + } + + .el-col-sm-pull-9 { + position: relative; + right: 37.5% + } + + .el-col-sm-push-9 { + position: relative; + left: 37.5% + } + + .el-col-sm-10 { + width: 41.66667% + } + + .el-col-sm-offset-10 { + margin-left: 41.66667% + } + + .el-col-sm-pull-10 { + position: relative; + right: 41.66667% + } + + .el-col-sm-push-10 { + position: relative; + left: 41.66667% + } + + .el-col-sm-11 { + width: 45.83333% + } + + .el-col-sm-offset-11 { + margin-left: 45.83333% + } + + .el-col-sm-pull-11 { + position: relative; + right: 45.83333% + } + + .el-col-sm-push-11 { + position: relative; + left: 45.83333% + } + + .el-col-sm-12 { + width: 50% + } + + .el-col-sm-offset-12 { + margin-left: 50% + } + + .el-col-sm-pull-12 { + position: relative; + right: 50% + } + + .el-col-sm-push-12 { + position: relative; + left: 50% + } + + .el-col-sm-13 { + width: 54.16667% + } + + .el-col-sm-offset-13 { + margin-left: 54.16667% + } + + .el-col-sm-pull-13 { + position: relative; + right: 54.16667% + } + + .el-col-sm-push-13 { + position: relative; + left: 54.16667% + } + + .el-col-sm-14 { + width: 58.33333% + } + + .el-col-sm-offset-14 { + margin-left: 58.33333% + } + + .el-col-sm-pull-14 { + position: relative; + right: 58.33333% + } + + .el-col-sm-push-14 { + position: relative; + left: 58.33333% + } + + .el-col-sm-15 { + width: 62.5% + } + + .el-col-sm-offset-15 { + margin-left: 62.5% + } + + .el-col-sm-pull-15 { + position: relative; + right: 62.5% + } + + .el-col-sm-push-15 { + position: relative; + left: 62.5% + } + + .el-col-sm-16 { + width: 66.66667% + } + + .el-col-sm-offset-16 { + margin-left: 66.66667% + } + + .el-col-sm-pull-16 { + position: relative; + right: 66.66667% + } + + .el-col-sm-push-16 { + position: relative; + left: 66.66667% + } + + .el-col-sm-17 { + width: 70.83333% + } + + .el-col-sm-offset-17 { + margin-left: 70.83333% + } + + .el-col-sm-pull-17 { + position: relative; + right: 70.83333% + } + + .el-col-sm-push-17 { + position: relative; + left: 70.83333% + } + + .el-col-sm-18 { + width: 75% + } + + .el-col-sm-offset-18 { + margin-left: 75% + } + + .el-col-sm-pull-18 { + position: relative; + right: 75% + } + + .el-col-sm-push-18 { + position: relative; + left: 75% + } + + .el-col-sm-19 { + width: 79.16667% + } + + .el-col-sm-offset-19 { + margin-left: 79.16667% + } + + .el-col-sm-pull-19 { + position: relative; + right: 79.16667% + } + + .el-col-sm-push-19 { + position: relative; + left: 79.16667% + } + + .el-col-sm-20 { + width: 83.33333% + } + + .el-col-sm-offset-20 { + margin-left: 83.33333% + } + + .el-col-sm-pull-20 { + position: relative; + right: 83.33333% + } + + .el-col-sm-push-20 { + position: relative; + left: 83.33333% + } + + .el-col-sm-21 { + width: 87.5% + } + + .el-col-sm-offset-21 { + margin-left: 87.5% + } + + .el-col-sm-pull-21 { + position: relative; + right: 87.5% + } + + .el-col-sm-push-21 { + position: relative; + left: 87.5% + } + + .el-col-sm-22 { + width: 91.66667% + } + + .el-col-sm-offset-22 { + margin-left: 91.66667% + } + + .el-col-sm-pull-22 { + position: relative; + right: 91.66667% + } + + .el-col-sm-push-22 { + position: relative; + left: 91.66667% + } + + .el-col-sm-23 { + width: 95.83333% + } + + .el-col-sm-offset-23 { + margin-left: 95.83333% + } + + .el-col-sm-pull-23 { + position: relative; + right: 95.83333% + } + + .el-col-sm-push-23 { + position: relative; + left: 95.83333% + } + + .el-col-sm-24 { + width: 100% + } + + .el-col-sm-offset-24 { + margin-left: 100% + } + + .el-col-sm-pull-24 { + position: relative; + right: 100% + } + + .el-col-sm-push-24 { + position: relative; + left: 100% + } +} + +@media only screen and (min-width: 992px) { + .el-col-md-0 { + display: none + } + + .el-col-md-0 { + width: 0% + } + + .el-col-md-offset-0 { + margin-left: 0 + } + + .el-col-md-pull-0 { + position: relative; + right: 0 + } + + .el-col-md-push-0 { + position: relative; + left: 0 + } + + .el-col-md-1 { + width: 4.16667% + } + + .el-col-md-offset-1 { + margin-left: 4.16667% + } + + .el-col-md-pull-1 { + position: relative; + right: 4.16667% + } + + .el-col-md-push-1 { + position: relative; + left: 4.16667% + } + + .el-col-md-2 { + width: 8.33333% + } + + .el-col-md-offset-2 { + margin-left: 8.33333% + } + + .el-col-md-pull-2 { + position: relative; + right: 8.33333% + } + + .el-col-md-push-2 { + position: relative; + left: 8.33333% + } + + .el-col-md-3 { + width: 12.5% + } + + .el-col-md-offset-3 { + margin-left: 12.5% + } + + .el-col-md-pull-3 { + position: relative; + right: 12.5% + } + + .el-col-md-push-3 { + position: relative; + left: 12.5% + } + + .el-col-md-4 { + width: 16.66667% + } + + .el-col-md-offset-4 { + margin-left: 16.66667% + } + + .el-col-md-pull-4 { + position: relative; + right: 16.66667% + } + + .el-col-md-push-4 { + position: relative; + left: 16.66667% + } + + .el-col-md-5 { + width: 20.83333% + } + + .el-col-md-offset-5 { + margin-left: 20.83333% + } + + .el-col-md-pull-5 { + position: relative; + right: 20.83333% + } + + .el-col-md-push-5 { + position: relative; + left: 20.83333% + } + + .el-col-md-6 { + width: 25% + } + + .el-col-md-offset-6 { + margin-left: 25% + } + + .el-col-md-pull-6 { + position: relative; + right: 25% + } + + .el-col-md-push-6 { + position: relative; + left: 25% + } + + .el-col-md-7 { + width: 29.16667% + } + + .el-col-md-offset-7 { + margin-left: 29.16667% + } + + .el-col-md-pull-7 { + position: relative; + right: 29.16667% + } + + .el-col-md-push-7 { + position: relative; + left: 29.16667% + } + + .el-col-md-8 { + width: 33.33333% + } + + .el-col-md-offset-8 { + margin-left: 33.33333% + } + + .el-col-md-pull-8 { + position: relative; + right: 33.33333% + } + + .el-col-md-push-8 { + position: relative; + left: 33.33333% + } + + .el-col-md-9 { + width: 37.5% + } + + .el-col-md-offset-9 { + margin-left: 37.5% + } + + .el-col-md-pull-9 { + position: relative; + right: 37.5% + } + + .el-col-md-push-9 { + position: relative; + left: 37.5% + } + + .el-col-md-10 { + width: 41.66667% + } + + .el-col-md-offset-10 { + margin-left: 41.66667% + } + + .el-col-md-pull-10 { + position: relative; + right: 41.66667% + } + + .el-col-md-push-10 { + position: relative; + left: 41.66667% + } + + .el-col-md-11 { + width: 45.83333% + } + + .el-col-md-offset-11 { + margin-left: 45.83333% + } + + .el-col-md-pull-11 { + position: relative; + right: 45.83333% + } + + .el-col-md-push-11 { + position: relative; + left: 45.83333% + } + + .el-col-md-12 { + width: 50% + } + + .el-col-md-offset-12 { + margin-left: 50% + } + + .el-col-md-pull-12 { + position: relative; + right: 50% + } + + .el-col-md-push-12 { + position: relative; + left: 50% + } + + .el-col-md-13 { + width: 54.16667% + } + + .el-col-md-offset-13 { + margin-left: 54.16667% + } + + .el-col-md-pull-13 { + position: relative; + right: 54.16667% + } + + .el-col-md-push-13 { + position: relative; + left: 54.16667% + } + + .el-col-md-14 { + width: 58.33333% + } + + .el-col-md-offset-14 { + margin-left: 58.33333% + } + + .el-col-md-pull-14 { + position: relative; + right: 58.33333% + } + + .el-col-md-push-14 { + position: relative; + left: 58.33333% + } + + .el-col-md-15 { + width: 62.5% + } + + .el-col-md-offset-15 { + margin-left: 62.5% + } + + .el-col-md-pull-15 { + position: relative; + right: 62.5% + } + + .el-col-md-push-15 { + position: relative; + left: 62.5% + } + + .el-col-md-16 { + width: 66.66667% + } + + .el-col-md-offset-16 { + margin-left: 66.66667% + } + + .el-col-md-pull-16 { + position: relative; + right: 66.66667% + } + + .el-col-md-push-16 { + position: relative; + left: 66.66667% + } + + .el-col-md-17 { + width: 70.83333% + } + + .el-col-md-offset-17 { + margin-left: 70.83333% + } + + .el-col-md-pull-17 { + position: relative; + right: 70.83333% + } + + .el-col-md-push-17 { + position: relative; + left: 70.83333% + } + + .el-col-md-18 { + width: 75% + } + + .el-col-md-offset-18 { + margin-left: 75% + } + + .el-col-md-pull-18 { + position: relative; + right: 75% + } + + .el-col-md-push-18 { + position: relative; + left: 75% + } + + .el-col-md-19 { + width: 79.16667% + } + + .el-col-md-offset-19 { + margin-left: 79.16667% + } + + .el-col-md-pull-19 { + position: relative; + right: 79.16667% + } + + .el-col-md-push-19 { + position: relative; + left: 79.16667% + } + + .el-col-md-20 { + width: 83.33333% + } + + .el-col-md-offset-20 { + margin-left: 83.33333% + } + + .el-col-md-pull-20 { + position: relative; + right: 83.33333% + } + + .el-col-md-push-20 { + position: relative; + left: 83.33333% + } + + .el-col-md-21 { + width: 87.5% + } + + .el-col-md-offset-21 { + margin-left: 87.5% + } + + .el-col-md-pull-21 { + position: relative; + right: 87.5% + } + + .el-col-md-push-21 { + position: relative; + left: 87.5% + } + + .el-col-md-22 { + width: 91.66667% + } + + .el-col-md-offset-22 { + margin-left: 91.66667% + } + + .el-col-md-pull-22 { + position: relative; + right: 91.66667% + } + + .el-col-md-push-22 { + position: relative; + left: 91.66667% + } + + .el-col-md-23 { + width: 95.83333% + } + + .el-col-md-offset-23 { + margin-left: 95.83333% + } + + .el-col-md-pull-23 { + position: relative; + right: 95.83333% + } + + .el-col-md-push-23 { + position: relative; + left: 95.83333% + } + + .el-col-md-24 { + width: 100% + } + + .el-col-md-offset-24 { + margin-left: 100% + } + + .el-col-md-pull-24 { + position: relative; + right: 100% + } + + .el-col-md-push-24 { + position: relative; + left: 100% + } +} + +@media only screen and (min-width: 1200px) { + .el-col-lg-0 { + display: none + } + + .el-col-lg-0 { + width: 0% + } + + .el-col-lg-offset-0 { + margin-left: 0 + } + + .el-col-lg-pull-0 { + position: relative; + right: 0 + } + + .el-col-lg-push-0 { + position: relative; + left: 0 + } + + .el-col-lg-1 { + width: 4.16667% + } + + .el-col-lg-offset-1 { + margin-left: 4.16667% + } + + .el-col-lg-pull-1 { + position: relative; + right: 4.16667% + } + + .el-col-lg-push-1 { + position: relative; + left: 4.16667% + } + + .el-col-lg-2 { + width: 8.33333% + } + + .el-col-lg-offset-2 { + margin-left: 8.33333% + } + + .el-col-lg-pull-2 { + position: relative; + right: 8.33333% + } + + .el-col-lg-push-2 { + position: relative; + left: 8.33333% + } + + .el-col-lg-3 { + width: 12.5% + } + + .el-col-lg-offset-3 { + margin-left: 12.5% + } + + .el-col-lg-pull-3 { + position: relative; + right: 12.5% + } + + .el-col-lg-push-3 { + position: relative; + left: 12.5% + } + + .el-col-lg-4 { + width: 16.66667% + } + + .el-col-lg-offset-4 { + margin-left: 16.66667% + } + + .el-col-lg-pull-4 { + position: relative; + right: 16.66667% + } + + .el-col-lg-push-4 { + position: relative; + left: 16.66667% + } + + .el-col-lg-5 { + width: 20.83333% + } + + .el-col-lg-offset-5 { + margin-left: 20.83333% + } + + .el-col-lg-pull-5 { + position: relative; + right: 20.83333% + } + + .el-col-lg-push-5 { + position: relative; + left: 20.83333% + } + + .el-col-lg-6 { + width: 25% + } + + .el-col-lg-offset-6 { + margin-left: 25% + } + + .el-col-lg-pull-6 { + position: relative; + right: 25% + } + + .el-col-lg-push-6 { + position: relative; + left: 25% + } + + .el-col-lg-7 { + width: 29.16667% + } + + .el-col-lg-offset-7 { + margin-left: 29.16667% + } + + .el-col-lg-pull-7 { + position: relative; + right: 29.16667% + } + + .el-col-lg-push-7 { + position: relative; + left: 29.16667% + } + + .el-col-lg-8 { + width: 33.33333% + } + + .el-col-lg-offset-8 { + margin-left: 33.33333% + } + + .el-col-lg-pull-8 { + position: relative; + right: 33.33333% + } + + .el-col-lg-push-8 { + position: relative; + left: 33.33333% + } + + .el-col-lg-9 { + width: 37.5% + } + + .el-col-lg-offset-9 { + margin-left: 37.5% + } + + .el-col-lg-pull-9 { + position: relative; + right: 37.5% + } + + .el-col-lg-push-9 { + position: relative; + left: 37.5% + } + + .el-col-lg-10 { + width: 41.66667% + } + + .el-col-lg-offset-10 { + margin-left: 41.66667% + } + + .el-col-lg-pull-10 { + position: relative; + right: 41.66667% + } + + .el-col-lg-push-10 { + position: relative; + left: 41.66667% + } + + .el-col-lg-11 { + width: 45.83333% + } + + .el-col-lg-offset-11 { + margin-left: 45.83333% + } + + .el-col-lg-pull-11 { + position: relative; + right: 45.83333% + } + + .el-col-lg-push-11 { + position: relative; + left: 45.83333% + } + + .el-col-lg-12 { + width: 50% + } + + .el-col-lg-offset-12 { + margin-left: 50% + } + + .el-col-lg-pull-12 { + position: relative; + right: 50% + } + + .el-col-lg-push-12 { + position: relative; + left: 50% + } + + .el-col-lg-13 { + width: 54.16667% + } + + .el-col-lg-offset-13 { + margin-left: 54.16667% + } + + .el-col-lg-pull-13 { + position: relative; + right: 54.16667% + } + + .el-col-lg-push-13 { + position: relative; + left: 54.16667% + } + + .el-col-lg-14 { + width: 58.33333% + } + + .el-col-lg-offset-14 { + margin-left: 58.33333% + } + + .el-col-lg-pull-14 { + position: relative; + right: 58.33333% + } + + .el-col-lg-push-14 { + position: relative; + left: 58.33333% + } + + .el-col-lg-15 { + width: 62.5% + } + + .el-col-lg-offset-15 { + margin-left: 62.5% + } + + .el-col-lg-pull-15 { + position: relative; + right: 62.5% + } + + .el-col-lg-push-15 { + position: relative; + left: 62.5% + } + + .el-col-lg-16 { + width: 66.66667% + } + + .el-col-lg-offset-16 { + margin-left: 66.66667% + } + + .el-col-lg-pull-16 { + position: relative; + right: 66.66667% + } + + .el-col-lg-push-16 { + position: relative; + left: 66.66667% + } + + .el-col-lg-17 { + width: 70.83333% + } + + .el-col-lg-offset-17 { + margin-left: 70.83333% + } + + .el-col-lg-pull-17 { + position: relative; + right: 70.83333% + } + + .el-col-lg-push-17 { + position: relative; + left: 70.83333% + } + + .el-col-lg-18 { + width: 75% + } + + .el-col-lg-offset-18 { + margin-left: 75% + } + + .el-col-lg-pull-18 { + position: relative; + right: 75% + } + + .el-col-lg-push-18 { + position: relative; + left: 75% + } + + .el-col-lg-19 { + width: 79.16667% + } + + .el-col-lg-offset-19 { + margin-left: 79.16667% + } + + .el-col-lg-pull-19 { + position: relative; + right: 79.16667% + } + + .el-col-lg-push-19 { + position: relative; + left: 79.16667% + } + + .el-col-lg-20 { + width: 83.33333% + } + + .el-col-lg-offset-20 { + margin-left: 83.33333% + } + + .el-col-lg-pull-20 { + position: relative; + right: 83.33333% + } + + .el-col-lg-push-20 { + position: relative; + left: 83.33333% + } + + .el-col-lg-21 { + width: 87.5% + } + + .el-col-lg-offset-21 { + margin-left: 87.5% + } + + .el-col-lg-pull-21 { + position: relative; + right: 87.5% + } + + .el-col-lg-push-21 { + position: relative; + left: 87.5% + } + + .el-col-lg-22 { + width: 91.66667% + } + + .el-col-lg-offset-22 { + margin-left: 91.66667% + } + + .el-col-lg-pull-22 { + position: relative; + right: 91.66667% + } + + .el-col-lg-push-22 { + position: relative; + left: 91.66667% + } + + .el-col-lg-23 { + width: 95.83333% + } + + .el-col-lg-offset-23 { + margin-left: 95.83333% + } + + .el-col-lg-pull-23 { + position: relative; + right: 95.83333% + } + + .el-col-lg-push-23 { + position: relative; + left: 95.83333% + } + + .el-col-lg-24 { + width: 100% + } + + .el-col-lg-offset-24 { + margin-left: 100% + } + + .el-col-lg-pull-24 { + position: relative; + right: 100% + } + + .el-col-lg-push-24 { + position: relative; + left: 100% + } +} + +@media only screen and (min-width: 1920px) { + .el-col-xl-0 { + display: none + } + + .el-col-xl-0 { + width: 0% + } + + .el-col-xl-offset-0 { + margin-left: 0 + } + + .el-col-xl-pull-0 { + position: relative; + right: 0 + } + + .el-col-xl-push-0 { + position: relative; + left: 0 + } + + .el-col-xl-1 { + width: 4.16667% + } + + .el-col-xl-offset-1 { + margin-left: 4.16667% + } + + .el-col-xl-pull-1 { + position: relative; + right: 4.16667% + } + + .el-col-xl-push-1 { + position: relative; + left: 4.16667% + } + + .el-col-xl-2 { + width: 8.33333% + } + + .el-col-xl-offset-2 { + margin-left: 8.33333% + } + + .el-col-xl-pull-2 { + position: relative; + right: 8.33333% + } + + .el-col-xl-push-2 { + position: relative; + left: 8.33333% + } + + .el-col-xl-3 { + width: 12.5% + } + + .el-col-xl-offset-3 { + margin-left: 12.5% + } + + .el-col-xl-pull-3 { + position: relative; + right: 12.5% + } + + .el-col-xl-push-3 { + position: relative; + left: 12.5% + } + + .el-col-xl-4 { + width: 16.66667% + } + + .el-col-xl-offset-4 { + margin-left: 16.66667% + } + + .el-col-xl-pull-4 { + position: relative; + right: 16.66667% + } + + .el-col-xl-push-4 { + position: relative; + left: 16.66667% + } + + .el-col-xl-5 { + width: 20.83333% + } + + .el-col-xl-offset-5 { + margin-left: 20.83333% + } + + .el-col-xl-pull-5 { + position: relative; + right: 20.83333% + } + + .el-col-xl-push-5 { + position: relative; + left: 20.83333% + } + + .el-col-xl-6 { + width: 25% + } + + .el-col-xl-offset-6 { + margin-left: 25% + } + + .el-col-xl-pull-6 { + position: relative; + right: 25% + } + + .el-col-xl-push-6 { + position: relative; + left: 25% + } + + .el-col-xl-7 { + width: 29.16667% + } + + .el-col-xl-offset-7 { + margin-left: 29.16667% + } + + .el-col-xl-pull-7 { + position: relative; + right: 29.16667% + } + + .el-col-xl-push-7 { + position: relative; + left: 29.16667% + } + + .el-col-xl-8 { + width: 33.33333% + } + + .el-col-xl-offset-8 { + margin-left: 33.33333% + } + + .el-col-xl-pull-8 { + position: relative; + right: 33.33333% + } + + .el-col-xl-push-8 { + position: relative; + left: 33.33333% + } + + .el-col-xl-9 { + width: 37.5% + } + + .el-col-xl-offset-9 { + margin-left: 37.5% + } + + .el-col-xl-pull-9 { + position: relative; + right: 37.5% + } + + .el-col-xl-push-9 { + position: relative; + left: 37.5% + } + + .el-col-xl-10 { + width: 41.66667% + } + + .el-col-xl-offset-10 { + margin-left: 41.66667% + } + + .el-col-xl-pull-10 { + position: relative; + right: 41.66667% + } + + .el-col-xl-push-10 { + position: relative; + left: 41.66667% + } + + .el-col-xl-11 { + width: 45.83333% + } + + .el-col-xl-offset-11 { + margin-left: 45.83333% + } + + .el-col-xl-pull-11 { + position: relative; + right: 45.83333% + } + + .el-col-xl-push-11 { + position: relative; + left: 45.83333% + } + + .el-col-xl-12 { + width: 50% + } + + .el-col-xl-offset-12 { + margin-left: 50% + } + + .el-col-xl-pull-12 { + position: relative; + right: 50% + } + + .el-col-xl-push-12 { + position: relative; + left: 50% + } + + .el-col-xl-13 { + width: 54.16667% + } + + .el-col-xl-offset-13 { + margin-left: 54.16667% + } + + .el-col-xl-pull-13 { + position: relative; + right: 54.16667% + } + + .el-col-xl-push-13 { + position: relative; + left: 54.16667% + } + + .el-col-xl-14 { + width: 58.33333% + } + + .el-col-xl-offset-14 { + margin-left: 58.33333% + } + + .el-col-xl-pull-14 { + position: relative; + right: 58.33333% + } + + .el-col-xl-push-14 { + position: relative; + left: 58.33333% + } + + .el-col-xl-15 { + width: 62.5% + } + + .el-col-xl-offset-15 { + margin-left: 62.5% + } + + .el-col-xl-pull-15 { + position: relative; + right: 62.5% + } + + .el-col-xl-push-15 { + position: relative; + left: 62.5% + } + + .el-col-xl-16 { + width: 66.66667% + } + + .el-col-xl-offset-16 { + margin-left: 66.66667% + } + + .el-col-xl-pull-16 { + position: relative; + right: 66.66667% + } + + .el-col-xl-push-16 { + position: relative; + left: 66.66667% + } + + .el-col-xl-17 { + width: 70.83333% + } + + .el-col-xl-offset-17 { + margin-left: 70.83333% + } + + .el-col-xl-pull-17 { + position: relative; + right: 70.83333% + } + + .el-col-xl-push-17 { + position: relative; + left: 70.83333% + } + + .el-col-xl-18 { + width: 75% + } + + .el-col-xl-offset-18 { + margin-left: 75% + } + + .el-col-xl-pull-18 { + position: relative; + right: 75% + } + + .el-col-xl-push-18 { + position: relative; + left: 75% + } + + .el-col-xl-19 { + width: 79.16667% + } + + .el-col-xl-offset-19 { + margin-left: 79.16667% + } + + .el-col-xl-pull-19 { + position: relative; + right: 79.16667% + } + + .el-col-xl-push-19 { + position: relative; + left: 79.16667% + } + + .el-col-xl-20 { + width: 83.33333% + } + + .el-col-xl-offset-20 { + margin-left: 83.33333% + } + + .el-col-xl-pull-20 { + position: relative; + right: 83.33333% + } + + .el-col-xl-push-20 { + position: relative; + left: 83.33333% + } + + .el-col-xl-21 { + width: 87.5% + } + + .el-col-xl-offset-21 { + margin-left: 87.5% + } + + .el-col-xl-pull-21 { + position: relative; + right: 87.5% + } + + .el-col-xl-push-21 { + position: relative; + left: 87.5% + } + + .el-col-xl-22 { + width: 91.66667% + } + + .el-col-xl-offset-22 { + margin-left: 91.66667% + } + + .el-col-xl-pull-22 { + position: relative; + right: 91.66667% + } + + .el-col-xl-push-22 { + position: relative; + left: 91.66667% + } + + .el-col-xl-23 { + width: 95.83333% + } + + .el-col-xl-offset-23 { + margin-left: 95.83333% + } + + .el-col-xl-pull-23 { + position: relative; + right: 95.83333% + } + + .el-col-xl-push-23 { + position: relative; + left: 95.83333% + } + + .el-col-xl-24 { + width: 100% + } + + .el-col-xl-offset-24 { + margin-left: 100% + } + + .el-col-xl-pull-24 { + position: relative; + right: 100% + } + + .el-col-xl-push-24 { + position: relative; + left: 100% + } +} + +.el-progress { + position: relative; + line-height: 1 +} + +.el-progress__text { + font-size: 14px; + color: #606266; + display: inline-block; + vertical-align: middle; + margin-left: 10px; + line-height: 1 +} + +.el-progress__text i { + vertical-align: middle; + display: block +} + +.el-progress--circle, +.el-progress--dashboard { + display: inline-block +} + +.el-progress--circle .el-progress__text, +.el-progress--dashboard .el-progress__text { + position: absolute; + top: 50%; + left: 0; + width: 100%; + text-align: center; + margin: 0; + -webkit-transform: translate(0, -50%); + transform: translate(0, -50%) +} + +.el-progress--circle .el-progress__text i, +.el-progress--dashboard .el-progress__text i { + vertical-align: middle; + display: inline-block +} + +.el-progress--without-text .el-progress__text { + display: none +} + +.el-progress--without-text .el-progress-bar { + padding-right: 0; + margin-right: 0; + display: block +} + +.el-progress--text-inside .el-progress-bar { + padding-right: 0; + margin-right: 0 +} + +.el-progress.is-success .el-progress-bar__inner { + background-color: #77b591 +} + +.el-progress.is-success .el-progress__text { + color: #77b591 +} + +.el-progress.is-warning .el-progress-bar__inner { + background-color: #e6a23c +} + +.el-progress.is-warning .el-progress__text { + color: #e6a23c +} + +.el-progress.is-exception .el-progress-bar__inner { + background-color: #d56262 +} + +.el-progress.is-exception .el-progress__text { + color: #d56262 +} + +.el-progress-bar { + padding-right: 50px; + display: inline-block; + vertical-align: middle; + width: 100%; + margin-right: -55px; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-progress-bar__outer { + height: 6px; + border-radius: 100px; + background-color: #ebeef5; + overflow: hidden; + position: relative; + vertical-align: middle +} + +.el-progress-bar__inner { + position: absolute; + left: 0; + top: 0; + height: 100%; + background-color: #0966c2; + text-align: right; + border-radius: 100px; + line-height: 1; + white-space: nowrap; + -webkit-transition: width .6s ease; + transition: width .6s ease +} + +.el-progress-bar__inner::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle +} + +.el-progress-bar__innerText { + display: inline-block; + vertical-align: middle; + color: #fff; + font-size: 12px; + margin: 0 5px +} + +@-webkit-keyframes progress { + 0% { + background-position: 0 0 + } + + 100% { + background-position: 32px 0 + } +} + +@keyframes progress { + 0% { + background-position: 0 0 + } + + 100% { + background-position: 32px 0 + } +} + +.el-upload { + display: inline-block; + text-align: center; + cursor: pointer; + outline: 0 +} + +.el-upload__input { + display: none +} + +.el-upload__tip { + font-size: 12px; + color: #606266; + margin-top: 7px +} + +.el-upload iframe { + position: absolute; + z-index: -1; + top: 0; + left: 0; + opacity: 0 +} + +.el-upload--picture-card { + background-color: #fbfdff; + border: 1px dashed #c0ccda; + border-radius: 6px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 148px; + height: 148px; + cursor: pointer; + line-height: 146px; + vertical-align: top +} + +.el-upload--picture-card i { + font-size: 28px; + color: #8c939d +} + +.el-upload--picture-card:hover { + border-color: #0966c2; + color: #0966c2 +} + +.el-upload:focus { + border-color: #0966c2; + color: #0966c2 +} + +.el-upload:focus .el-upload-dragger { + border-color: #0966c2 +} + +.el-upload-dragger { + background-color: #fff; + border: 1px dashed #d9d9d9; + border-radius: 6px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 360px; + height: 180px; + text-align: center; + cursor: pointer; + position: relative; + overflow: hidden +} + +.el-upload-dragger .el-icon-upload { + font-size: 67px; + color: #c0c4cc; + margin: 40px 0 16px; + line-height: 50px +} + +.el-upload-dragger+.el-upload__tip { + text-align: center +} + +.el-upload-dragger~.el-upload__files { + border-top: 1px solid #dcdfe6; + margin-top: 7px; + padding-top: 5px +} + +.el-upload-dragger .el-upload__text { + color: #606266; + font-size: 14px; + text-align: center +} + +.el-upload-dragger .el-upload__text em { + color: #0966c2; + font-style: normal +} + +.el-upload-dragger:hover { + border-color: #0966c2 +} + +.el-upload-dragger.is-dragover { + background-color: rgba(32, 159, 255, .06); + border: 2px dashed #0966c2 +} + +.el-upload-list { + margin: 0; + padding: 0; + list-style: none +} + +.el-upload-list__item { + -webkit-transition: all .5s cubic-bezier(.55, 0, .1, 1); + transition: all .5s cubic-bezier(.55, 0, .1, 1); + font-size: 14px; + color: #606266; + line-height: 1.8; + margin-top: 5px; + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-radius: 4px; + width: 100% +} + +.el-upload-list__item .el-progress { + position: absolute; + top: 20px; + width: 100% +} + +.el-upload-list__item .el-progress__text { + position: absolute; + right: 0; + top: -13px +} + +.el-upload-list__item .el-progress-bar { + margin-right: 0; + padding-right: 0 +} + +.el-upload-list__item:first-child { + margin-top: 10px +} + +.el-upload-list__item .el-icon-upload-success { + color: #77b591 +} + +.el-upload-list__item .el-icon-close { + display: none; + position: absolute; + top: 5px; + right: 5px; + cursor: pointer; + opacity: .75; + color: #606266 +} + +.el-upload-list__item .el-icon-close:hover { + opacity: 1 +} + +.el-upload-list__item .el-icon-close-tip { + display: none; + position: absolute; + top: 5px; + right: 5px; + font-size: 12px; + cursor: pointer; + opacity: 1; + color: #0966c2 +} + +.el-upload-list__item:hover { + background-color: #f5f7fa +} + +.el-upload-list__item:hover .el-icon-close { + display: inline-block +} + +.el-upload-list__item:hover .el-progress__text { + display: none +} + +.el-upload-list__item.is-success .el-upload-list__item-status-label { + display: block +} + +.el-upload-list__item.is-success .el-upload-list__item-name:focus, +.el-upload-list__item.is-success .el-upload-list__item-name:hover { + color: #0966c2; + cursor: pointer +} + +.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip { + display: inline-block +} + +.el-upload-list__item.is-success:active, +.el-upload-list__item.is-success:not(.focusing):focus { + outline-width: 0 +} + +.el-upload-list__item.is-success:active .el-icon-close-tip, +.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip { + display: none +} + +.el-upload-list__item.is-success:focus .el-upload-list__item-status-label, +.el-upload-list__item.is-success:hover .el-upload-list__item-status-label { + display: none +} + +.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label { + display: block +} + +.el-upload-list__item-name { + color: #606266; + display: block; + margin-right: 40px; + overflow: hidden; + padding-left: 4px; + text-overflow: ellipsis; + -webkit-transition: color .3s; + transition: color .3s; + white-space: nowrap +} + +.el-upload-list__item-name [class^=el-icon] { + height: 100%; + margin-right: 7px; + color: #909399; + line-height: inherit +} + +.el-upload-list__item-status-label { + position: absolute; + right: 5px; + top: 0; + line-height: inherit; + display: none +} + +.el-upload-list__item-delete { + position: absolute; + right: 10px; + top: 0; + font-size: 12px; + color: #606266; + display: none +} + +.el-upload-list__item-delete:hover { + color: #0966c2 +} + +.el-upload-list--picture-card { + margin: 0; + display: inline; + vertical-align: top +} + +.el-upload-list--picture-card .el-upload-list__item { + overflow: hidden; + background-color: #fff; + border: 1px solid #c0ccda; + border-radius: 6px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 148px; + height: 148px; + margin: 0 8px 8px 0; + display: inline-block +} + +.el-upload-list--picture-card .el-upload-list__item .el-icon-check, +.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check { + color: #fff +} + +.el-upload-list--picture-card .el-upload-list__item .el-icon-close { + display: none +} + +.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label { + display: none +} + +.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text { + display: block +} + +.el-upload-list--picture-card .el-upload-list__item-name { + display: none +} + +.el-upload-list--picture-card .el-upload-list__item-thumbnail { + width: 100%; + height: 100% +} + +.el-upload-list--picture-card .el-upload-list__item-status-label { + position: absolute; + right: -15px; + top: -6px; + width: 40px; + height: 24px; + background: #13ce66; + text-align: center; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, .2); + box-shadow: 0 0 1pc 1px rgba(0, 0, 0, .2) +} + +.el-upload-list--picture-card .el-upload-list__item-status-label i { + font-size: 12px; + margin-top: 11px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg) +} + +.el-upload-list--picture-card .el-upload-list__item-actions { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + cursor: default; + text-align: center; + color: #fff; + opacity: 0; + font-size: 20px; + background-color: rgba(0, 0, 0, .5); + -webkit-transition: opacity .3s; + transition: opacity .3s +} + +.el-upload-list--picture-card .el-upload-list__item-actions::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle +} + +.el-upload-list--picture-card .el-upload-list__item-actions span { + display: none; + cursor: pointer +} + +.el-upload-list--picture-card .el-upload-list__item-actions span+span { + margin-left: 15px +} + +.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete { + position: static; + font-size: inherit; + color: inherit +} + +.el-upload-list--picture-card .el-upload-list__item-actions:hover { + opacity: 1 +} + +.el-upload-list--picture-card .el-upload-list__item-actions:hover span { + display: inline-block +} + +.el-upload-list--picture-card .el-progress { + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + bottom: auto; + width: 126px +} + +.el-upload-list--picture-card .el-progress .el-progress__text { + top: 50% +} + +.el-upload-list--picture .el-upload-list__item { + overflow: hidden; + z-index: 0; + background-color: #fff; + border: 1px solid #c0ccda; + border-radius: 6px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-top: 10px; + padding: 10px 10px 10px 90px; + height: 92px +} + +.el-upload-list--picture .el-upload-list__item .el-icon-check, +.el-upload-list--picture .el-upload-list__item .el-icon-circle-check { + color: #fff +} + +.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label { + background: 0 0; + -webkit-box-shadow: none; + box-shadow: none; + top: -2px; + right: -12px +} + +.el-upload-list--picture .el-upload-list__item:hover .el-progress__text { + display: block +} + +.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name { + line-height: 70px; + margin-top: 0 +} + +.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i { + display: none +} + +.el-upload-list--picture .el-upload-list__item-thumbnail { + vertical-align: middle; + display: inline-block; + width: 70px; + height: 70px; + float: left; + position: relative; + z-index: 1; + margin-left: -80px; + background-color: #fff +} + +.el-upload-list--picture .el-upload-list__item-name { + display: block; + margin-top: 20px +} + +.el-upload-list--picture .el-upload-list__item-name i { + font-size: 70px; + line-height: 1; + position: absolute; + left: 9px; + top: 10px +} + +.el-upload-list--picture .el-upload-list__item-status-label { + position: absolute; + right: -17px; + top: -7px; + width: 46px; + height: 26px; + background: #13ce66; + text-align: center; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + -webkit-box-shadow: 0 1px 1px #ccc; + box-shadow: 0 1px 1px #ccc +} + +.el-upload-list--picture .el-upload-list__item-status-label i { + font-size: 12px; + margin-top: 12px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg) +} + +.el-upload-list--picture .el-progress { + position: relative; + top: -7px +} + +.el-upload-cover { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; + z-index: 10; + cursor: default +} + +.el-upload-cover::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle +} + +.el-upload-cover img { + display: block; + width: 100%; + height: 100% +} + +.el-upload-cover__label { + position: absolute; + right: -15px; + top: -6px; + width: 40px; + height: 24px; + background: #13ce66; + text-align: center; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, .2); + box-shadow: 0 0 1pc 1px rgba(0, 0, 0, .2) +} + +.el-upload-cover__label i { + font-size: 12px; + margin-top: 11px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + color: #fff +} + +.el-upload-cover__progress { + display: inline-block; + vertical-align: middle; + position: static; + width: 243px +} + +.el-upload-cover__progress+.el-upload__inner { + opacity: 0 +} + +.el-upload-cover__content { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% +} + +.el-upload-cover__interact { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, .72); + text-align: center +} + +.el-upload-cover__interact .btn { + display: inline-block; + color: #fff; + font-size: 14px; + cursor: pointer; + vertical-align: middle; + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + margin-top: 60px +} + +.el-upload-cover__interact .btn i { + margin-top: 0 +} + +.el-upload-cover__interact .btn span { + opacity: 0; + -webkit-transition: opacity .15s linear; + transition: opacity .15s linear +} + +.el-upload-cover__interact .btn:not(:first-child) { + margin-left: 35px +} + +.el-upload-cover__interact .btn:hover { + -webkit-transform: translateY(-13px); + transform: translateY(-13px) +} + +.el-upload-cover__interact .btn:hover span { + opacity: 1 +} + +.el-upload-cover__interact .btn i { + color: #fff; + display: block; + font-size: 24px; + line-height: inherit; + margin: 0 auto 5px +} + +.el-upload-cover__title { + position: absolute; + bottom: 0; + left: 0; + background-color: #fff; + height: 36px; + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-weight: 400; + text-align: left; + padding: 0 10px; + margin: 0; + line-height: 36px; + font-size: 14px; + color: #303133 +} + +.el-upload-cover+.el-upload__inner { + opacity: 0; + position: relative; + z-index: 1 +} + +.el-progress { + position: relative; + line-height: 1 +} + +.el-progress__text { + font-size: 14px; + color: #606266; + display: inline-block; + vertical-align: middle; + margin-left: 10px; + line-height: 1 +} + +.el-progress__text i { + vertical-align: middle; + display: block +} + +.el-progress--circle, +.el-progress--dashboard { + display: inline-block +} + +.el-progress--circle .el-progress__text, +.el-progress--dashboard .el-progress__text { + position: absolute; + top: 50%; + left: 0; + width: 100%; + text-align: center; + margin: 0; + -webkit-transform: translate(0, -50%); + transform: translate(0, -50%) +} + +.el-progress--circle .el-progress__text i, +.el-progress--dashboard .el-progress__text i { + vertical-align: middle; + display: inline-block +} + +.el-progress--without-text .el-progress__text { + display: none +} + +.el-progress--without-text .el-progress-bar { + padding-right: 0; + margin-right: 0; + display: block +} + +.el-progress--text-inside .el-progress-bar { + padding-right: 0; + margin-right: 0 +} + +.el-progress.is-success .el-progress-bar__inner { + background-color: #77b591 +} + +.el-progress.is-success .el-progress__text { + color: #77b591 +} + +.el-progress.is-warning .el-progress-bar__inner { + background-color: #e6a23c +} + +.el-progress.is-warning .el-progress__text { + color: #e6a23c +} + +.el-progress.is-exception .el-progress-bar__inner { + background-color: #d56262 +} + +.el-progress.is-exception .el-progress__text { + color: #d56262 +} + +.el-progress-bar { + padding-right: 50px; + display: inline-block; + vertical-align: middle; + width: 100%; + margin-right: -55px; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-progress-bar__outer { + height: 6px; + border-radius: 100px; + background-color: #ebeef5; + overflow: hidden; + position: relative; + vertical-align: middle +} + +.el-progress-bar__inner { + position: absolute; + left: 0; + top: 0; + height: 100%; + background-color: #0966c2; + text-align: right; + border-radius: 100px; + line-height: 1; + white-space: nowrap; + -webkit-transition: width .6s ease; + transition: width .6s ease +} + +.el-progress-bar__inner::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle +} + +.el-progress-bar__innerText { + display: inline-block; + vertical-align: middle; + color: #fff; + font-size: 12px; + margin: 0 5px +} + +@keyframes progress { + 0% { + background-position: 0 0 + } + + 100% { + background-position: 32px 0 + } +} + +.el-time-spinner { + width: 100%; + white-space: nowrap +} + +.el-spinner { + display: inline-block; + vertical-align: middle +} + +.el-spinner-inner { + -webkit-animation: rotate 2s linear infinite; + animation: rotate 2s linear infinite; + width: 50px; + height: 50px +} + +.el-spinner-inner .path { + stroke: #ececec; + stroke-linecap: round; + -webkit-animation: dash 1.5s ease-in-out infinite; + animation: dash 1.5s ease-in-out infinite +} + +@-webkit-keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +@keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +@-webkit-keyframes dash { + 0% { + stroke-dasharray: 1, 150; + stroke-dashoffset: 0 + } + + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -35 + } + + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -124 + } +} + +@keyframes dash { + 0% { + stroke-dasharray: 1, 150; + stroke-dashoffset: 0 + } + + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -35 + } + + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -124 + } +} + +.el-message { + min-width: 380px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-radius: 4px; + border-width: 1px; + border-style: solid; + border-color: #ebeef5; + position: fixed; + left: 50%; + top: 20px; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + background-color: #edf2fc; + -webkit-transition: opacity .3s, top .4s, -webkit-transform .4s; + transition: opacity .3s, top .4s, -webkit-transform .4s; + transition: opacity .3s, transform .4s, top .4s; + transition: opacity .3s, transform .4s, top .4s, -webkit-transform .4s; + overflow: hidden; + padding: 15px 15px 15px 20px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-message.is-center { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center +} + +.el-message.is-closable .el-message__content { + padding-right: 16px +} + +.el-message p { + margin: 0 +} + +.el-message--info .el-message__content { + color: #909399 +} + +.el-message--success { + background-color: #f1f8f4; + border-color: #e4f0e9 +} + +.el-message--success .el-message__content { + color: #77b591 +} + +.el-message--warning { + background-color: #fdf6ec; + border-color: #faecd8 +} + +.el-message--warning .el-message__content { + color: #e6a23c +} + +.el-message--error { + background-color: #fbefef; + border-color: #f7e0e0 +} + +.el-message--error .el-message__content { + color: #d56262 +} + +.el-message__icon { + margin-right: 10px +} + +.el-message__content { + padding: 0; + font-size: 14px; + line-height: 1 +} + +.el-message__content:focus { + outline-width: 0 +} + +.el-message__closeBtn { + position: absolute; + top: 50%; + right: 15px; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + cursor: pointer; + color: #c0c4cc; + font-size: 16px +} + +.el-message__closeBtn:focus { + outline-width: 0 +} + +.el-message__closeBtn:hover { + color: #909399 +} + +.el-message .el-icon-success { + color: #77b591 +} + +.el-message .el-icon-error { + color: #d56262 +} + +.el-message .el-icon-info { + color: #909399 +} + +.el-message .el-icon-warning { + color: #e6a23c +} + +.el-message-fade-enter, +.el-message-fade-leave-active { + opacity: 0; + -webkit-transform: translate(-50%, -100%); + transform: translate(-50%, -100%) +} + +.el-badge { + position: relative; + vertical-align: middle; + display: inline-block +} + +.el-badge__content { + background-color: #d56262; + border-radius: 10px; + color: #fff; + display: inline-block; + font-size: 12px; + height: 18px; + line-height: 18px; + padding: 0 6px; + text-align: center; + white-space: nowrap; + border: 1px solid #fff +} + +.el-badge__content.is-fixed { + position: absolute; + top: 0; + right: 10px; + -webkit-transform: translateY(-50%) translateX(100%); + transform: translateY(-50%) translateX(100%) +} + +.el-badge__content.is-fixed.is-dot { + right: 5px +} + +.el-badge__content.is-dot { + height: 8px; + width: 8px; + padding: 0; + right: 0; + border-radius: 50% +} + +.el-badge__content--primary { + background-color: #0966c2 +} + +.el-badge__content--success { + background-color: #77b591 +} + +.el-badge__content--warning { + background-color: #e6a23c +} + +.el-badge__content--info { + background-color: #909399 +} + +.el-badge__content--danger { + background-color: #d56262 +} + +.el-card { + border-radius: 4px; + border: 1px solid #ebeef5; + background-color: #fff; + overflow: hidden; + color: #303133; + -webkit-transition: .3s; + transition: .3s +} + +.el-card.is-always-shadow { + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1) +} + +.el-card.is-hover-shadow:focus, +.el-card.is-hover-shadow:hover { + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1) +} + +.el-card__header { + padding: 18px 20px; + border-bottom: 1px solid #ebeef5; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-card__body { + padding: 20px +} + +.el-rate { + height: 20px; + line-height: 1 +} + +.el-rate:active, +.el-rate:focus { + outline-width: 0 +} + +.el-rate__item { + display: inline-block; + position: relative; + font-size: 0; + vertical-align: middle +} + +.el-rate__icon { + position: relative; + display: inline-block; + font-size: 18px; + margin-right: 6px; + color: #c0c4cc; + -webkit-transition: .3s; + transition: .3s +} + +.el-rate__icon.hover { + -webkit-transform: scale(1.15); + transform: scale(1.15) +} + +.el-rate__icon .path2 { + position: absolute; + left: 0; + top: 0 +} + +.el-rate__decimal { + position: absolute; + top: 0; + left: 0; + display: inline-block; + overflow: hidden +} + +.el-rate__text { + font-size: 14px; + vertical-align: middle +} + +.el-steps { + display: -webkit-box; + display: -ms-flexbox; + display: flex +} + +.el-steps--simple { + padding: 13px 8%; + border-radius: 4px; + background: #f5f7fa +} + +.el-steps--horizontal { + white-space: nowrap +} + +.el-steps--vertical { + height: 100%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-flow: column; + flex-flow: column +} + +.el-step { + position: relative; + -ms-flex-negative: 1; + flex-shrink: 1 +} + +.el-step:last-of-type .el-step__line { + display: none +} + +.el-step:last-of-type.is-flex { + -ms-flex-preferred-size: auto !important; + flex-basis: auto !important; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0 +} + +.el-step:last-of-type .el-step__description, +.el-step:last-of-type .el-step__main { + padding-right: 0 +} + +.el-step__head { + position: relative; + width: 100% +} + +.el-step__head.is-process { + color: #303133; + border-color: #303133 +} + +.el-step__head.is-wait { + color: #c0c4cc; + border-color: #c0c4cc +} + +.el-step__head.is-success { + color: #77b591; + border-color: #77b591 +} + +.el-step__head.is-error { + color: #d56262; + border-color: #d56262 +} + +.el-step__head.is-finish { + color: #0966c2; + border-color: #0966c2 +} + +.el-step__icon { + position: relative; + z-index: 1; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 24px; + height: 24px; + font-size: 14px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + background: #fff; + -webkit-transition: .15s ease-out; + transition: .15s ease-out +} + +.el-step__icon.is-text { + border-radius: 50%; + border: 2px solid; + border-color: inherit +} + +.el-step__icon.is-icon { + width: 40px +} + +.el-step__icon-inner { + display: inline-block; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + text-align: center; + font-weight: 700; + line-height: 1; + color: inherit +} + +.el-step__icon-inner[class*=el-icon]:not(.is-status) { + font-size: 25px; + font-weight: 400 +} + +.el-step__icon-inner.is-status { + -webkit-transform: translateY(1px); + transform: translateY(1px) +} + +.el-step__line { + position: absolute; + border-color: inherit; + background-color: #c0c4cc +} + +.el-step__line-inner { + display: block; + border-width: 1px; + border-style: solid; + border-color: inherit; + -webkit-transition: .15s ease-out; + transition: .15s ease-out; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 0; + height: 0 +} + +.el-step__main { + white-space: normal; + text-align: left +} + +.el-step__title { + font-size: 16px; + line-height: 38px +} + +.el-step__title.is-process { + font-weight: 700; + color: #303133 +} + +.el-step__title.is-wait { + color: #c0c4cc +} + +.el-step__title.is-success { + color: #77b591 +} + +.el-step__title.is-error { + color: #d56262 +} + +.el-step__title.is-finish { + color: #0966c2 +} + +.el-step__description { + padding-right: 10%; + margin-top: -5px; + font-size: 12px; + line-height: 20px; + font-weight: 400 +} + +.el-step__description.is-process { + color: #303133 +} + +.el-step__description.is-wait { + color: #c0c4cc +} + +.el-step__description.is-success { + color: #77b591 +} + +.el-step__description.is-error { + color: #d56262 +} + +.el-step__description.is-finish { + color: #0966c2 +} + +.el-step.is-horizontal { + display: inline-block +} + +.el-step.is-horizontal .el-step__line { + height: 2px; + top: 11px; + left: 0; + right: 0 +} + +.el-step.is-vertical { + display: -webkit-box; + display: -ms-flexbox; + display: flex +} + +.el-step.is-vertical .el-step__head { + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + width: 24px +} + +.el-step.is-vertical .el-step__main { + padding-left: 10px; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1 +} + +.el-step.is-vertical .el-step__title { + line-height: 24px; + padding-bottom: 8px +} + +.el-step.is-vertical .el-step__line { + width: 2px; + top: 0; + bottom: 0; + left: 11px +} + +.el-step.is-vertical .el-step__icon.is-icon { + width: 24px +} + +.el-step.is-center .el-step__head { + text-align: center +} + +.el-step.is-center .el-step__main { + text-align: center +} + +.el-step.is-center .el-step__description { + padding-left: 20%; + padding-right: 20% +} + +.el-step.is-center .el-step__line { + left: 50%; + right: -50% +} + +.el-step.is-simple { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-step.is-simple .el-step__head { + width: auto; + font-size: 0; + padding-right: 10px +} + +.el-step.is-simple .el-step__icon { + background: 0 0; + width: 16px; + height: 16px; + font-size: 12px +} + +.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status) { + font-size: 18px +} + +.el-step.is-simple .el-step__icon-inner.is-status { + -webkit-transform: scale(.8) translateY(1px); + transform: scale(.8) translateY(1px) +} + +.el-step.is-simple .el-step__main { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1 +} + +.el-step.is-simple .el-step__title { + font-size: 16px; + line-height: 20px +} + +.el-step.is-simple:not(:last-of-type) .el-step__title { + max-width: 50%; + word-break: break-all +} + +.el-step.is-simple .el-step__arrow { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center +} + +.el-step.is-simple .el-step__arrow::after, +.el-step.is-simple .el-step__arrow::before { + content: ''; + display: inline-block; + position: absolute; + height: 15px; + width: 1px; + background: #c0c4cc +} + +.el-step.is-simple .el-step__arrow::before { + -webkit-transform: rotate(-45deg) translateY(-4px); + transform: rotate(-45deg) translateY(-4px); + -webkit-transform-origin: 0 0; + transform-origin: 0 0 +} + +.el-step.is-simple .el-step__arrow::after { + -webkit-transform: rotate(45deg) translateY(4px); + transform: rotate(45deg) translateY(4px); + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100% +} + +.el-step.is-simple:last-of-type .el-step__arrow { + display: none +} + +.el-carousel { + position: relative +} + +.el-carousel--horizontal { + overflow-x: hidden +} + +.el-carousel--vertical { + overflow-y: hidden +} + +.el-carousel__container { + position: relative; + height: 300px +} + +.el-carousel__arrow { + border: none; + outline: 0; + padding: 0; + margin: 0; + height: 36px; + width: 36px; + cursor: pointer; + -webkit-transition: .3s; + transition: .3s; + border-radius: 50%; + background-color: rgba(31, 45, 61, .11); + color: #fff; + position: absolute; + top: 50%; + z-index: 10; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + text-align: center; + font-size: 12px +} + +.el-carousel__arrow--left { + left: 16px +} + +.el-carousel__arrow--right { + right: 16px +} + +.el-carousel__arrow:hover { + background-color: rgba(31, 45, 61, .23) +} + +.el-carousel__arrow i { + cursor: pointer +} + +.el-carousel__indicators { + position: absolute; + list-style: none; + margin: 0; + padding: 0; + z-index: 2 +} + +.el-carousel__indicators--horizontal { + bottom: 0; + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%) +} + +.el-carousel__indicators--vertical { + right: 0; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%) +} + +.el-carousel__indicators--outside { + bottom: 26px; + text-align: center; + position: static; + -webkit-transform: none; + transform: none +} + +.el-carousel__indicators--outside .el-carousel__indicator:hover button { + opacity: .64 +} + +.el-carousel__indicators--outside button { + background-color: #c0c4cc; + opacity: .24 +} + +.el-carousel__indicators--labels { + left: 0; + right: 0; + -webkit-transform: none; + transform: none; + text-align: center +} + +.el-carousel__indicators--labels .el-carousel__button { + height: auto; + width: auto; + padding: 2px 18px; + font-size: 12px +} + +.el-carousel__indicators--labels .el-carousel__indicator { + padding: 6px 4px +} + +.el-carousel__indicator { + background-color: transparent; + cursor: pointer +} + +.el-carousel__indicator:hover button { + opacity: .72 +} + +.el-carousel__indicator--horizontal { + display: inline-block; + padding: 12px 4px +} + +.el-carousel__indicator--vertical { + padding: 4px 12px +} + +.el-carousel__indicator--vertical .el-carousel__button { + width: 2px; + height: 15px +} + +.el-carousel__indicator.is-active button { + opacity: 1 +} + +.el-carousel__button { + display: block; + opacity: .48; + width: 30px; + height: 2px; + background-color: #fff; + border: none; + outline: 0; + padding: 0; + margin: 0; + cursor: pointer; + -webkit-transition: .3s; + transition: .3s +} + +.carousel-arrow-left-enter, +.carousel-arrow-left-leave-active { + -webkit-transform: translateY(-50%) translateX(-10px); + transform: translateY(-50%) translateX(-10px); + opacity: 0 +} + +.carousel-arrow-right-enter, +.carousel-arrow-right-leave-active { + -webkit-transform: translateY(-50%) translateX(10px); + transform: translateY(-50%) translateX(10px); + opacity: 0 +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-carousel__item { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: inline-block; + overflow: hidden; + z-index: 0 +} + +.el-carousel__item.is-active { + z-index: 2 +} + +.el-carousel__item.is-animating { + -webkit-transition: -webkit-transform .4s ease-in-out; + transition: -webkit-transform .4s ease-in-out; + transition: transform .4s ease-in-out; + transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out +} + +.el-carousel__item--card { + width: 50%; + -webkit-transition: -webkit-transform .4s ease-in-out; + transition: -webkit-transform .4s ease-in-out; + transition: transform .4s ease-in-out; + transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out +} + +.el-carousel__item--card.is-in-stage { + cursor: pointer; + z-index: 1 +} + +.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask, +.el-carousel__item--card.is-in-stage:hover .el-carousel__mask { + opacity: .12 +} + +.el-carousel__item--card.is-active { + z-index: 2 +} + +.el-carousel__mask { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-color: #fff; + opacity: .24; + -webkit-transition: .2s; + transition: .2s +} + +.fade-in-linear-enter-active, +.fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.fade-in-linear-enter, +.fade-in-linear-leave, +.fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-linear-enter-active, +.el-fade-in-linear-leave-active { + -webkit-transition: opacity .2s linear; + transition: opacity .2s linear +} + +.el-fade-in-linear-enter, +.el-fade-in-linear-leave, +.el-fade-in-linear-leave-active { + opacity: 0 +} + +.el-fade-in-enter-active, +.el-fade-in-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-fade-in-enter, +.el-fade-in-leave-active { + opacity: 0 +} + +.el-zoom-in-center-enter-active, +.el-zoom-in-center-leave-active { + -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); + transition: all .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-zoom-in-center-enter, +.el-zoom-in-center-leave-active { + opacity: 0; + -webkit-transform: scaleX(0); + transform: scaleX(0) +} + +.el-zoom-in-top-enter-active, +.el-zoom-in-top-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center top; + transform-origin: center top +} + +.el-zoom-in-top-enter, +.el-zoom-in-top-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-bottom-enter-active, +.el-zoom-in-bottom-leave-active { + opacity: 1; + -webkit-transform: scaleY(1); + transform: scaleY(1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: center bottom; + transform-origin: center bottom +} + +.el-zoom-in-bottom-enter, +.el-zoom-in-bottom-leave-active { + opacity: 0; + -webkit-transform: scaleY(0); + transform: scaleY(0) +} + +.el-zoom-in-left-enter-active, +.el-zoom-in-left-leave-active { + opacity: 1; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1); + transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1), -webkit-transform .3s cubic-bezier(.23, 1, .32, 1); + -webkit-transform-origin: top left; + transform-origin: top left +} + +.el-zoom-in-left-enter, +.el-zoom-in-left-leave-active { + opacity: 0; + -webkit-transform: scale(.45, .45); + transform: scale(.45, .45) +} + +.collapse-transition { + -webkit-transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out; + transition: .3s height ease-in-out, .3s padding-top ease-in-out, .3s padding-bottom ease-in-out +} + +.horizontal-collapse-transition { + -webkit-transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out; + transition: .3s width ease-in-out, .3s padding-left ease-in-out, .3s padding-right ease-in-out +} + +.el-list-enter-active, +.el-list-leave-active { + -webkit-transition: all 1s; + transition: all 1s +} + +.el-list-enter, +.el-list-leave-active { + opacity: 0; + -webkit-transform: translateY(-30px); + transform: translateY(-30px) +} + +.el-opacity-transition { + -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); + transition: opacity .3s cubic-bezier(.55, 0, .1, 1) +} + +.el-collapse { + border-top: 1px solid #ebeef5; + border-bottom: 1px solid #ebeef5 +} + +.el-collapse-item.is-disabled .el-collapse-item__header { + color: #bbb; + cursor: not-allowed +} + +.el-collapse-item__header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 48px; + line-height: 48px; + background-color: #fff; + color: #303133; + cursor: pointer; + border-bottom: 1px solid #ebeef5; + font-size: 13px; + font-weight: 500; + -webkit-transition: border-bottom-color .3s; + transition: border-bottom-color .3s; + outline: 0 +} + +.el-collapse-item__arrow { + margin: 0 8px 0 auto; + -webkit-transition: -webkit-transform .3s; + transition: -webkit-transform .3s; + transition: transform .3s; + transition: transform .3s, -webkit-transform .3s; + font-weight: 300 +} + +.el-collapse-item__arrow.is-active { + -webkit-transform: rotate(90deg); + transform: rotate(90deg) +} + +.el-collapse-item__header.focusing:focus:not(:hover) { + color: #0966c2 +} + +.el-collapse-item__header.is-active { + border-bottom-color: transparent +} + +.el-collapse-item__wrap { + will-change: height; + background-color: #fff; + overflow: hidden; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-bottom: 1px solid #ebeef5 +} + +.el-collapse-item__content { + padding-bottom: 25px; + font-size: 13px; + color: #303133; + line-height: 1.769230769230769 +} + +.el-collapse-item:last-child { + margin-bottom: -1px +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.el-popper .popper__arrow { + border-width: 6px; + -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) +} + +.el-popper .popper__arrow::after { + content: " "; + border-width: 6px +} + +.el-popper[x-placement^=top] { + margin-bottom: 12px +} + +.el-popper[x-placement^=top] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: #ebeef5; + border-bottom-width: 0 +} + +.el-popper[x-placement^=top] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0 +} + +.el-popper[x-placement^=bottom] { + margin-top: 12px +} + +.el-popper[x-placement^=bottom] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: #ebeef5 +} + +.el-popper[x-placement^=bottom] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff +} + +.el-popper[x-placement^=right] { + margin-left: 12px +} + +.el-popper[x-placement^=right] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: #ebeef5; + border-left-width: 0 +} + +.el-popper[x-placement^=right] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0 +} + +.el-popper[x-placement^=left] { + margin-right: 12px +} + +.el-popper[x-placement^=left] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: #ebeef5 +} + +.el-popper[x-placement^=left] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff +} + +.el-tag { + background-color: #e6f0f9; + border-color: #cee0f3; + color: #0966c2; + display: inline-block; + height: 32px; + padding: 0 10px; + line-height: 30px; + font-size: 12px; + color: #0966c2; + border-width: 1px; + border-style: solid; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: nowrap +} + +.el-tag.is-hit { + border-color: #0966c2 +} + +.el-tag .el-tag__close { + color: #0966c2 +} + +.el-tag .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag.el-tag--info { + background-color: #f4f4f5; + border-color: #e9e9eb; + color: #909399 +} + +.el-tag.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag.el-tag--success { + background-color: #f1f8f4; + border-color: #e4f0e9; + color: #77b591 +} + +.el-tag.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag.el-tag--warning { + background-color: #fdf6ec; + border-color: #faecd8; + color: #e6a23c +} + +.el-tag.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag.el-tag--danger { + background-color: #fbefef; + border-color: #f7e0e0; + color: #d56262 +} + +.el-tag.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + height: 16px; + width: 16px; + line-height: 16px; + vertical-align: middle; + top: -1px; + right: -5px +} + +.el-tag .el-icon-close::before { + display: block +} + +.el-tag--dark { + background-color: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-tag--dark.is-hit { + border-color: #0966c2 +} + +.el-tag--dark .el-tag__close { + color: #fff +} + +.el-tag--dark .el-tag__close:hover { + color: #fff; + background-color: #3a85ce +} + +.el-tag--dark.el-tag--info { + background-color: #909399; + border-color: #909399; + color: #fff +} + +.el-tag--dark.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--dark.el-tag--info .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #a6a9ad +} + +.el-tag--dark.el-tag--success { + background-color: #77b591; + border-color: #77b591; + color: #fff +} + +.el-tag--dark.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--dark.el-tag--success .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #92c4a7 +} + +.el-tag--dark.el-tag--warning { + background-color: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-tag--dark.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--dark.el-tag--warning .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #ebb563 +} + +.el-tag--dark.el-tag--danger { + background-color: #d56262; + border-color: #d56262; + color: #fff +} + +.el-tag--dark.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--dark.el-tag--danger .el-tag__close { + color: #fff +} + +.el-tag--dark.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #dd8181 +} + +.el-tag--plain { + background-color: #fff; + border-color: #9dc2e7; + color: #0966c2 +} + +.el-tag--plain.is-hit { + border-color: #0966c2 +} + +.el-tag--plain .el-tag__close { + color: #0966c2 +} + +.el-tag--plain .el-tag__close:hover { + color: #fff; + background-color: #0966c2 +} + +.el-tag--plain.el-tag--info { + background-color: #fff; + border-color: #d3d4d6; + color: #909399 +} + +.el-tag--plain.el-tag--info.is-hit { + border-color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close { + color: #909399 +} + +.el-tag--plain.el-tag--info .el-tag__close:hover { + color: #fff; + background-color: #909399 +} + +.el-tag--plain.el-tag--success { + background-color: #fff; + border-color: #c9e1d3; + color: #77b591 +} + +.el-tag--plain.el-tag--success.is-hit { + border-color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close { + color: #77b591 +} + +.el-tag--plain.el-tag--success .el-tag__close:hover { + color: #fff; + background-color: #77b591 +} + +.el-tag--plain.el-tag--warning { + background-color: #fff; + border-color: #f5dab1; + color: #e6a23c +} + +.el-tag--plain.el-tag--warning.is-hit { + border-color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close { + color: #e6a23c +} + +.el-tag--plain.el-tag--warning .el-tag__close:hover { + color: #fff; + background-color: #e6a23c +} + +.el-tag--plain.el-tag--danger { + background-color: #fff; + border-color: #eec0c0; + color: #d56262 +} + +.el-tag--plain.el-tag--danger.is-hit { + border-color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close { + color: #d56262 +} + +.el-tag--plain.el-tag--danger .el-tag__close:hover { + color: #fff; + background-color: #d56262 +} + +.el-tag--medium { + height: 28px; + line-height: 26px +} + +.el-tag--medium .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--small { + height: 24px; + padding: 0 8px; + line-height: 22px +} + +.el-tag--small .el-icon-close { + -webkit-transform: scale(.8); + transform: scale(.8) +} + +.el-tag--mini { + height: 20px; + padding: 0 5px; + line-height: 19px +} + +.el-tag--mini .el-icon-close { + margin-left: -3px; + -webkit-transform: scale(.7); + transform: scale(.7) +} + +.el-checkbox { + color: #606266; + font-weight: 500; + font-size: 14px; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + margin-right: 30px +} + +.el-checkbox.is-bordered { + padding: 9px 20px 9px 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: normal; + height: 40px +} + +.el-checkbox.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-checkbox.is-bordered.is-disabled { + border-color: #ebeef5; + cursor: not-allowed +} + +.el-checkbox.is-bordered+.el-checkbox.is-bordered { + margin-left: 10px +} + +.el-checkbox.is-bordered.el-checkbox--medium { + padding: 7px 20px 7px 10px; + border-radius: 4px; + height: 36px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { + line-height: 17px; + font-size: 14px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { + height: 14px; + width: 14px +} + +.el-checkbox.is-bordered.el-checkbox--small { + padding: 5px 15px 5px 10px; + border-radius: 3px; + height: 32px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { + line-height: 15px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox.is-bordered.el-checkbox--mini { + padding: 3px 15px 3px 10px; + border-radius: 3px; + height: 28px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { + line-height: 12px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: #edf2fc; + border-color: #dcdfe6; + cursor: not-allowed +} + +.el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label { + cursor: not-allowed +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + background-color: #c0c4cc; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled+span.el-checkbox__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-checked .el-checkbox__inner::after { + -webkit-transform: rotate(45deg) scaleY(1); + transform: rotate(45deg) scaleY(1) +} + +.el-checkbox__input.is-checked+.el-checkbox__label { + color: #0966c2 +} + +.el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + background-color: #fff; + height: 2px; + -webkit-transform: scale(.5); + transform: scale(.5); + left: 0; + right: 0; + top: 5px +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none +} + +.el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 14px; + height: 14px; + background-color: #fff; + z-index: 1; + -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46); + transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46) +} + +.el-checkbox__inner:hover { + border-color: #0966c2 +} + +.el-checkbox__inner::after { + -webkit-box-sizing: content-box; + box-sizing: content-box; + content: ""; + border: 1px solid #fff; + border-left: 0; + border-top: 0; + height: 7px; + left: 4px; + position: absolute; + top: 1px; + -webkit-transform: rotate(45deg) scaleY(0); + transform: rotate(45deg) scaleY(0); + width: 3px; + -webkit-transition: -webkit-transform .15s ease-in .05s; + transition: -webkit-transform .15s ease-in .05s; + transition: transform .15s ease-in .05s; + transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; + -webkit-transform-origin: center; + transform-origin: center +} + +.el-checkbox__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + width: 0; + height: 0; + z-index: -1 +} + +.el-checkbox__label { + display: inline-block; + padding-left: 10px; + line-height: 19px; + font-size: 14px +} + +.el-checkbox:last-of-type { + margin-right: 0 +} + +.el-checkbox-button { + position: relative; + display: inline-block +} + +.el-checkbox-button__inner { + display: inline-block; + line-height: 1; + font-weight: 500; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-left: 0; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + position: relative; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button__inner.is-round { + padding: 12px 20px +} + +.el-checkbox-button__inner:hover { + color: #0966c2 +} + +.el-checkbox-button__inner [class*=el-icon-] { + line-height: .9 +} + +.el-checkbox-button__inner [class*=el-icon-]+span { + margin-left: 5px +} + +.el-checkbox-button__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + z-index: -1 +} + +.el-checkbox-button.is-checked .el-checkbox-button__inner { + color: #fff; + background-color: #0966c2; + border-color: #0966c2; + -webkit-box-shadow: -1px 0 0 0 #6ba3da; + box-shadow: -1px 0 0 0 #6ba3da +} + +.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { + border-left-color: #0966c2 +} + +.el-checkbox-button.is-disabled .el-checkbox-button__inner { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5; + -webkit-box-shadow: none; + box-shadow: none +} + +.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { + border-left-color: #ebeef5 +} + +.el-checkbox-button:first-child .el-checkbox-button__inner { + border-left: 1px solid #dcdfe6; + border-radius: 4px 0 0 4px; + -webkit-box-shadow: none !important; + box-shadow: none !important +} + +.el-checkbox-button.is-focus .el-checkbox-button__inner { + border-color: #0966c2 +} + +.el-checkbox-button:last-child .el-checkbox-button__inner { + border-radius: 0 4px 4px 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner { + padding: 10px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner.is-round { + padding: 10px 20px +} + +.el-checkbox-button--small .el-checkbox-button__inner { + padding: 9px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--small .el-checkbox-button__inner.is-round { + padding: 9px 15px +} + +.el-checkbox-button--mini .el-checkbox-button__inner { + padding: 7px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--mini .el-checkbox-button__inner.is-round { + padding: 7px 15px +} + +.el-checkbox-group { + font-size: 0 +} + +.el-radio { + color: #606266; + font-weight: 500; + line-height: 1; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + outline: 0; + font-size: 14px; + margin-right: 30px; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none +} + +.el-radio.is-bordered { + padding: 12px 20px 0 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 40px +} + +.el-radio.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-radio.is-bordered.is-disabled { + cursor: not-allowed; + border-color: #ebeef5 +} + +.el-radio.is-bordered+.el-radio.is-bordered { + margin-left: 10px +} + +.el-radio--medium.is-bordered { + padding: 10px 20px 0 10px; + border-radius: 4px; + height: 36px +} + +.el-radio--medium.is-bordered .el-radio__label { + font-size: 14px +} + +.el-radio--medium.is-bordered .el-radio__inner { + height: 14px; + width: 14px +} + +.el-radio--small.is-bordered { + padding: 8px 15px 0 10px; + border-radius: 3px; + height: 32px +} + +.el-radio--small.is-bordered .el-radio__label { + font-size: 12px +} + +.el-radio--small.is-bordered .el-radio__inner { + height: 12px; + width: 12px +} + +.el-radio--mini.is-bordered { + padding: 6px 15px 0 10px; + border-radius: 3px; + height: 28px +} + +.el-radio--mini.is-bordered .el-radio__label { + font-size: 12px +} + +.el-radio--mini.is-bordered .el-radio__inner { + height: 12px; + width: 12px +} + +.el-radio:last-child { + margin-right: 0 +} + +.el-radio__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-radio__input.is-disabled .el-radio__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + cursor: not-allowed +} + +.el-radio__input.is-disabled .el-radio__inner::after { + cursor: not-allowed; + background-color: #f5f7fa +} + +.el-radio__input.is-disabled .el-radio__inner+.el-radio__label { + cursor: not-allowed +} + +.el-radio__input.is-disabled.is-checked .el-radio__inner { + background-color: #f5f7fa; + border-color: #e4e7ed +} + +.el-radio__input.is-disabled.is-checked .el-radio__inner::after { + background-color: #c0c4cc +} + +.el-radio__input.is-disabled+span.el-radio__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-radio__input.is-checked .el-radio__inner { + border-color: #0966c2; + background: #0966c2 +} + +.el-radio__input.is-checked .el-radio__inner::after { + -webkit-transform: translate(-50%, -50%) scale(1); + transform: translate(-50%, -50%) scale(1) +} + +.el-radio__input.is-checked+.el-radio__label { + color: #0966c2 +} + +.el-radio__input.is-focus .el-radio__inner { + border-color: #0966c2 +} + +.el-radio__inner { + border: 1px solid #dcdfe6; + border-radius: 100%; + width: 14px; + height: 14px; + background-color: #fff; + position: relative; + cursor: pointer; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-radio__inner:hover { + border-color: #0966c2 +} + +.el-radio__inner::after { + width: 4px; + height: 4px; + border-radius: 100%; + background-color: #fff; + content: ""; + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%) scale(0); + transform: translate(-50%, -50%) scale(0); + -webkit-transition: -webkit-transform .15s ease-in; + transition: -webkit-transform .15s ease-in; + transition: transform .15s ease-in; + transition: transform .15s ease-in, -webkit-transform .15s ease-in +} + +.el-radio__original { + opacity: 0; + outline: 0; + position: absolute; + z-index: -1; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: 0 +} + +.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { + -webkit-box-shadow: 0 0 2px 2px #0966c2; + box-shadow: 0 0 2px 2px #0966c2 +} + +.el-radio__label { + font-size: 14px; + padding-left: 10px +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-cascader-panel { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + border-radius: 4px; + font-size: 14px +} + +.el-cascader-panel.is-bordered { + border: solid 1px #e4e7ed; + border-radius: 4px +} + +.el-cascader-menu { + min-width: 180px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + border-right: solid 1px #e4e7ed +} + +.el-cascader-menu:last-child { + border-right: none +} + +.el-cascader-menu:last-child .el-cascader-node { + padding-right: 20px +} + +.el-cascader-menu__wrap { + height: 204px +} + +.el-cascader-menu__list { + position: relative; + min-height: 100%; + margin: 0; + padding: 6px 0; + list-style: none; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-cascader-menu__hover-zone { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none +} + +.el-cascader-menu__empty-text { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + text-align: center; + color: #c0c4cc +} + +.el-cascader-node { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 0 30px 0 20px; + height: 34px; + line-height: 34px; + outline: 0 +} + +.el-cascader-node.is-selectable.in-active-path { + color: #606266 +} + +.el-cascader-node.in-active-path, +.el-cascader-node.is-active, +.el-cascader-node.is-selectable.in-checked-path { + color: #0966c2; + font-weight: 700 +} + +.el-cascader-node:not(.is-disabled) { + cursor: pointer +} + +.el-cascader-node:not(.is-disabled):focus, +.el-cascader-node:not(.is-disabled):hover { + background: #f5f7fa +} + +.el-cascader-node.is-disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-cascader-node__prefix { + position: absolute; + left: 10px +} + +.el-cascader-node__postfix { + position: absolute; + right: 10px +} + +.el-cascader-node__label { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + padding: 0 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis +} + +.el-cascader-node>.el-radio { + margin-right: 0 +} + +.el-cascader-node>.el-radio .el-radio__label { + padding-left: 0 +} + +.el-cascader { + display: inline-block; + position: relative; + font-size: 14px; + line-height: 40px +} + +.el-cascader:not(.is-disabled):hover .el-input__inner { + cursor: pointer; + border-color: #c0c4cc +} + +.el-cascader .el-input { + cursor: pointer +} + +.el-cascader .el-input .el-input__inner { + text-overflow: ellipsis +} + +.el-cascader .el-input .el-input__inner:focus { + border-color: #0966c2 +} + +.el-cascader .el-input .el-icon-arrow-down { + -webkit-transition: -webkit-transform .3s; + transition: -webkit-transform .3s; + transition: transform .3s; + transition: transform .3s, -webkit-transform .3s; + font-size: 14px +} + +.el-cascader .el-input .el-icon-arrow-down.is-reverse { + -webkit-transform: rotateZ(180deg); + transform: rotateZ(180deg) +} + +.el-cascader .el-input .el-icon-circle-close:hover { + color: #909399 +} + +.el-cascader .el-input.is-focus .el-input__inner { + border-color: #0966c2 +} + +.el-cascader--medium { + font-size: 14px; + line-height: 36px +} + +.el-cascader--small { + font-size: 13px; + line-height: 32px +} + +.el-cascader--mini { + font-size: 12px; + line-height: 28px +} + +.el-cascader.is-disabled .el-cascader__label { + z-index: 2; + color: #c0c4cc +} + +.el-cascader__dropdown { + margin: 5px 0; + font-size: 14px; + background: #fff; + border: solid 1px #e4e7ed; + border-radius: 4px; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1) +} + +.el-cascader__tags { + position: absolute; + left: 0; + right: 30px; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + line-height: normal; + text-align: left; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-cascader__tags .el-tag { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + max-width: 100%; + margin: 2px 0 2px 6px; + text-overflow: ellipsis; + background: #f0f2f5 +} + +.el-cascader__tags .el-tag:not(.is-hit) { + border-color: transparent +} + +.el-cascader__tags .el-tag>span { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + overflow: hidden; + text-overflow: ellipsis +} + +.el-cascader__tags .el-tag .el-icon-close { + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; + background-color: #c0c4cc; + color: #fff +} + +.el-cascader__tags .el-tag .el-icon-close:hover { + background-color: #909399 +} + +.el-cascader__suggestion-panel { + border-radius: 4px +} + +.el-cascader__suggestion-list { + max-height: 204px; + margin: 0; + padding: 6px 0; + font-size: 14px; + color: #606266; + text-align: center +} + +.el-cascader__suggestion-item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 34px; + padding: 0 15px; + text-align: left; + outline: 0; + cursor: pointer +} + +.el-cascader__suggestion-item:focus, +.el-cascader__suggestion-item:hover { + background: #f5f7fa +} + +.el-cascader__suggestion-item.is-checked { + color: #0966c2; + font-weight: 700 +} + +.el-cascader__suggestion-item>span { + margin-right: 10px +} + +.el-cascader__empty-text { + margin: 10px 0; + color: #c0c4cc +} + +.el-cascader__search-input { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + height: 24px; + min-width: 60px; + margin: 2px 0 2px 15px; + padding: 0; + color: #606266; + border: none; + outline: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-cascader__search-input::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-cascader__search-input::-moz-placeholder { + color: #c0c4cc +} + +.el-cascader__search-input::-ms-input-placeholder { + color: #c0c4cc +} + +.el-cascader__search-input::placeholder { + color: #c0c4cc +} + +.el-color-predefine { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 12px; + margin-top: 8px; + width: 280px +} + +.el-color-predefine__colors { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + -ms-flex-wrap: wrap; + flex-wrap: wrap +} + +.el-color-predefine__color-selector { + margin: 0 0 8px 8px; + width: 20px; + height: 20px; + border-radius: 4px; + cursor: pointer +} + +.el-color-predefine__color-selector:nth-child(10n+1) { + margin-left: 0 +} + +.el-color-predefine__color-selector.selected { + -webkit-box-shadow: 0 0 3px 2px #0966c2; + box-shadow: 0 0 3px 2px #0966c2 +} + +.el-color-predefine__color-selector>div { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 100%; + border-radius: 3px +} + +.el-color-predefine__color-selector.is-alpha { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) +} + +.el-color-hue-slider { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 280px; + height: 12px; + background-color: red; + padding: 0 2px +} + +.el-color-hue-slider__bar { + position: relative; + background: -webkit-gradient(linear, left top, right top, from(red), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(red)); + background: linear-gradient(to right, red 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red 100%); + height: 100% +} + +.el-color-hue-slider__thumb { + position: absolute; + cursor: pointer; + -webkit-box-sizing: border-box; + box-sizing: border-box; + left: 0; + top: 0; + width: 4px; + height: 100%; + border-radius: 1px; + background: #fff; + border: 1px solid #f0f0f0; + -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .6); + box-shadow: 0 0 2px rgba(0, 0, 0, .6); + z-index: 1 +} + +.el-color-hue-slider.is-vertical { + width: 12px; + height: 180px; + padding: 2px 0 +} + +.el-color-hue-slider.is-vertical .el-color-hue-slider__bar { + background: -webkit-gradient(linear, left top, left bottom, from(red), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(red)); + background: linear-gradient(to bottom, red 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red 100%) +} + +.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb { + left: 0; + top: 0; + width: 100%; + height: 4px +} + +.el-color-svpanel { + position: relative; + width: 280px; + height: 180px +} + +.el-color-svpanel__black, +.el-color-svpanel__white { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0 +} + +.el-color-svpanel__white { + background: -webkit-gradient(linear, left top, right top, from(#fff), to(rgba(255, 255, 255, 0))); + background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)) +} + +.el-color-svpanel__black { + background: -webkit-gradient(linear, left bottom, left top, from(#000), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to top, #000, rgba(0, 0, 0, 0)) +} + +.el-color-svpanel__cursor { + position: absolute +} + +.el-color-svpanel__cursor>div { + cursor: head; + width: 4px; + height: 4px; + -webkit-box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0, 0, 0, .3), 0 0 1px 2px rgba(0, 0, 0, .4); + box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0, 0, 0, .3), 0 0 1px 2px rgba(0, 0, 0, .4); + border-radius: 50%; + -webkit-transform: translate(-2px, -2px); + transform: translate(-2px, -2px) +} + +.el-color-alpha-slider { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 280px; + height: 12px; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) +} + +.el-color-alpha-slider__bar { + position: relative; + background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(white)); + background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, #fff 100%); + height: 100% +} + +.el-color-alpha-slider__thumb { + position: absolute; + cursor: pointer; + -webkit-box-sizing: border-box; + box-sizing: border-box; + left: 0; + top: 0; + width: 4px; + height: 100%; + border-radius: 1px; + background: #fff; + border: 1px solid #f0f0f0; + -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .6); + box-shadow: 0 0 2px rgba(0, 0, 0, .6); + z-index: 1 +} + +.el-color-alpha-slider.is-vertical { + width: 20px; + height: 180px +} + +.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar { + background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white)); + background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, #fff 100%) +} + +.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb { + left: 0; + top: 0; + width: 100%; + height: 4px +} + +.el-color-dropdown { + width: 300px +} + +.el-color-dropdown__main-wrapper { + margin-bottom: 6px +} + +.el-color-dropdown__main-wrapper::after { + content: ""; + display: table; + clear: both +} + +.el-color-dropdown__btns { + margin-top: 6px; + text-align: right +} + +.el-color-dropdown__value { + float: left; + line-height: 26px; + font-size: 12px; + color: #000; + width: 160px +} + +.el-color-dropdown__btn { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: 0; + font-size: 12px +} + +.el-color-dropdown__btn[disabled] { + color: #ccc; + cursor: not-allowed +} + +.el-color-dropdown__btn:hover { + color: #0966c2; + border-color: #0966c2 +} + +.el-color-dropdown__link-btn { + cursor: pointer; + color: #0966c2; + text-decoration: none; + padding: 15px; + font-size: 12px +} + +.el-color-dropdown__link-btn:hover { + color: tint(#0966c2, 20%) +} + +.el-color-picker { + display: inline-block; + position: relative; + line-height: normal; + height: 40px +} + +.el-color-picker.is-disabled .el-color-picker__trigger { + cursor: not-allowed +} + +.el-color-picker--medium { + height: 36px +} + +.el-color-picker--medium .el-color-picker__trigger { + height: 36px; + width: 36px +} + +.el-color-picker--medium .el-color-picker__mask { + height: 34px; + width: 34px +} + +.el-color-picker--small { + height: 32px +} + +.el-color-picker--small .el-color-picker__trigger { + height: 32px; + width: 32px +} + +.el-color-picker--small .el-color-picker__mask { + height: 30px; + width: 30px +} + +.el-color-picker--small .el-color-picker__empty, +.el-color-picker--small .el-color-picker__icon { + -webkit-transform: translate3d(-50%, -50%, 0) scale(.8); + transform: translate3d(-50%, -50%, 0) scale(.8) +} + +.el-color-picker--mini { + height: 28px +} + +.el-color-picker--mini .el-color-picker__trigger { + height: 28px; + width: 28px +} + +.el-color-picker--mini .el-color-picker__mask { + height: 26px; + width: 26px +} + +.el-color-picker--mini .el-color-picker__empty, +.el-color-picker--mini .el-color-picker__icon { + -webkit-transform: translate3d(-50%, -50%, 0) scale(.8); + transform: translate3d(-50%, -50%, 0) scale(.8) +} + +.el-color-picker__mask { + height: 38px; + width: 38px; + border-radius: 4px; + position: absolute; + top: 1px; + left: 1px; + z-index: 1; + cursor: not-allowed; + background-color: rgba(255, 255, 255, .7) +} + +.el-color-picker__trigger { + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 40px; + width: 40px; + padding: 4px; + border: 1px solid #e6e6e6; + border-radius: 4px; + font-size: 0; + position: relative; + cursor: pointer +} + +.el-color-picker__color { + position: relative; + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: 1px solid #999; + border-radius: 2px; + width: 100%; + height: 100%; + text-align: center +} + +.el-color-picker__color.is-alpha { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) +} + +.el-color-picker__color-inner { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0 +} + +.el-color-picker__empty { + font-size: 12px; + color: #999; + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate3d(-50%, -50%, 0); + transform: translate3d(-50%, -50%, 0) +} + +.el-color-picker__icon { + display: inline-block; + position: absolute; + width: 100%; + top: 50%; + left: 50%; + -webkit-transform: translate3d(-50%, -50%, 0); + transform: translate3d(-50%, -50%, 0); + color: #fff; + text-align: center; + font-size: 12px +} + +.el-color-picker__panel { + position: absolute; + z-index: 10; + padding: 6px; + -webkit-box-sizing: content-box; + box-sizing: content-box; + background-color: #fff; + border: 1px solid #ebeef5; + border-radius: 4px; + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1) +} + +.el-textarea { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: 14px +} + +.el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: #606266; + background-color: #fff; + background-image: none; + border: 1px solid #dcdfe6; + border-radius: 4px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea__inner:hover { + border-color: #c0c4cc +} + +.el-textarea__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-textarea .el-input__count { + color: #909399; + background: #fff; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px +} + +.el-textarea.is-disabled .el-textarea__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-textarea.is-disabled .el-textarea__inner::placeholder { + color: #c0c4cc +} + +.el-textarea.is-exceed .el-textarea__inner { + border-color: #d56262 +} + +.el-textarea.is-exceed .el-input__count { + color: #d56262 +} + +.el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100% +} + +.el-input::-webkit-scrollbar { + z-index: 11; + width: 6px +} + +.el-input::-webkit-scrollbar:horizontal { + height: 6px +} + +.el-input::-webkit-scrollbar-thumb { + border-radius: 5px; + width: 6px; + background: #b4bccc +} + +.el-input::-webkit-scrollbar-corner { + background: #fff +} + +.el-input::-webkit-scrollbar-track { + background: #fff +} + +.el-input::-webkit-scrollbar-track-piece { + background: #fff; + width: 6px +} + +.el-input .el-input__clear { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); + transition: color .2s cubic-bezier(.645, .045, .355, 1) +} + +.el-input .el-input__clear:hover { + color: #909399 +} + +.el-input .el-input__count { + height: 100%; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #909399; + font-size: 12px +} + +.el-input .el-input__count .el-input__count-inner { + background: #fff; + line-height: initial; + display: inline-block; + padding: 0 5px +} + +.el-input__inner { + -webkit-appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: inherit; + height: 40px; + line-height: 40px; + outline: 0; + padding: 0 15px; + -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + transition: border-color .2s cubic-bezier(.645, .045, .355, 1); + width: 100% +} + +.el-input__inner::-ms-reveal { + display: none +} + +.el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input__inner:hover { + border-color: #c0c4cc +} + +.el-input__inner:focus { + outline: 0; + border-color: #0966c2 +} + +.el-input__suffix { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s; + pointer-events: none +} + +.el-input__suffix-inner { + pointer-events: all +} + +.el-input__prefix { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: #c0c4cc; + -webkit-transition: all .3s; + transition: all .3s +} + +.el-input__icon { + height: 100%; + width: 25px; + text-align: center; + -webkit-transition: all .3s; + transition: all .3s; + line-height: 40px +} + +.el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle +} + +.el-input__validateIcon { + pointer-events: none +} + +.el-input.is-active .el-input__inner { + outline: 0; + border-color: #0966c2 +} + +.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + cursor: not-allowed +} + +.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-moz-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::-ms-input-placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__inner::placeholder { + color: #c0c4cc +} + +.el-input.is-disabled .el-input__icon { + cursor: not-allowed +} + +.el-input.is-exceed .el-input__inner { + border-color: #d56262 +} + +.el-input.is-exceed .el-input__suffix .el-input__count { + color: #d56262 +} + +.el-input--suffix .el-input__inner { + padding-right: 30px +} + +.el-input--prefix .el-input__inner { + padding-left: 30px +} + +.el-input--medium { + font-size: 14px +} + +.el-input--medium .el-input__inner { + height: 36px; + line-height: 36px +} + +.el-input--medium .el-input__icon { + line-height: 36px +} + +.el-input--small { + font-size: 13px +} + +.el-input--small .el-input__inner { + height: 32px; + line-height: 32px +} + +.el-input--small .el-input__icon { + line-height: 32px +} + +.el-input--mini { + font-size: 12px +} + +.el-input--mini .el-input__inner { + height: 28px; + line-height: 28px +} + +.el-input--mini .el-input__icon { + line-height: 28px +} + +.el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing: 0 +} + +.el-input-group>.el-input__inner { + vertical-align: middle; + display: table-cell +} + +.el-input-group__append, +.el-input-group__prepend { + background-color: #f5f7fa; + color: #909399; + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 20px; + width: 1px; + white-space: nowrap +} + +.el-input-group__append:focus, +.el-input-group__prepend:focus { + outline: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-select, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-select { + display: inline-block; + margin: -10px -20px +} + +.el-input-group__append button.el-button, +.el-input-group__append div.el-select .el-input__inner, +.el-input-group__append div.el-select:hover .el-input__inner, +.el-input-group__prepend button.el-button, +.el-input-group__prepend div.el-select .el-input__inner, +.el-input-group__prepend div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0 +} + +.el-input-group__append .el-button, +.el-input-group__append .el-input, +.el-input-group__prepend .el-button, +.el-input-group__prepend .el-input { + font-size: inherit +} + +.el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-input-group--append .el-select .el-input.is-focus .el-input__inner { + border-color: transparent +} + +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0 +} + +.el-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-color: #dcdfe6; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + -webkit-transition: .1s; + transition: .1s; + font-weight: 500; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button+.el-button { + margin-left: 10px +} + +.el-button.is-round { + padding: 12px 20px +} + +.el-button:focus, +.el-button:hover { + color: #0966c2; + border-color: #b5d1ed; + background-color: #e6f0f9 +} + +.el-button:active { + color: #085caf; + border-color: #085caf; + outline: 0 +} + +.el-button::-moz-focus-inner { + border: 0 +} + +.el-button [class*=el-icon-]+span { + margin-left: 5px +} + +.el-button.is-plain:focus, +.el-button.is-plain:hover { + background: #fff; + border-color: #0966c2; + color: #0966c2 +} + +.el-button.is-plain:active { + background: #fff; + border-color: #085caf; + color: #085caf; + outline: 0 +} + +.el-button.is-active { + color: #085caf; + border-color: #085caf +} + +.el-button.is-disabled, +.el-button.is-disabled:focus, +.el-button.is-disabled:hover { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5 +} + +.el-button.is-disabled.el-button--text { + background-color: transparent +} + +.el-button.is-disabled.is-plain, +.el-button.is-disabled.is-plain:focus, +.el-button.is-disabled.is-plain:hover { + background-color: #fff; + border-color: #ebeef5; + color: #c0c4cc +} + +.el-button.is-loading { + position: relative; + pointer-events: none +} + +.el-button.is-loading:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255, 255, 255, .35) +} + +.el-button.is-round { + border-radius: 20px; + padding: 12px 23px +} + +.el-button.is-circle { + border-radius: 50%; + padding: 12px +} + +.el-button--primary { + color: #fff; + background-color: #0966c2; + border-color: #0966c2 +} + +.el-button--primary:focus, +.el-button--primary:hover { + background: #3a85ce; + border-color: #3a85ce; + color: #fff +} + +.el-button--primary:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-active { + background: #085caf; + border-color: #085caf; + color: #fff +} + +.el-button--primary.is-disabled, +.el-button--primary.is-disabled:active, +.el-button--primary.is-disabled:focus, +.el-button--primary.is-disabled:hover { + color: #fff; + background-color: #84b3e1; + border-color: #84b3e1 +} + +.el-button--primary.is-plain { + color: #0966c2; + background: #e6f0f9; + border-color: #9dc2e7 +} + +.el-button--primary.is-plain:focus, +.el-button--primary.is-plain:hover { + background: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-button--primary.is-plain:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-plain.is-disabled, +.el-button--primary.is-plain.is-disabled:active, +.el-button--primary.is-plain.is-disabled:focus, +.el-button--primary.is-plain.is-disabled:hover { + color: #6ba3da; + background-color: #e6f0f9; + border-color: #cee0f3 +} + +.el-button--success { + color: #fff; + background-color: #77b591; + border-color: #77b591 +} + +.el-button--success:focus, +.el-button--success:hover { + background: #92c4a7; + border-color: #92c4a7; + color: #fff +} + +.el-button--success:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-active { + background: #6ba383; + border-color: #6ba383; + color: #fff +} + +.el-button--success.is-disabled, +.el-button--success.is-disabled:active, +.el-button--success.is-disabled:focus, +.el-button--success.is-disabled:hover { + color: #fff; + background-color: #bbdac8; + border-color: #bbdac8 +} + +.el-button--success.is-plain { + color: #77b591; + background: #f1f8f4; + border-color: #c9e1d3 +} + +.el-button--success.is-plain:focus, +.el-button--success.is-plain:hover { + background: #77b591; + border-color: #77b591; + color: #fff +} + +.el-button--success.is-plain:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-plain.is-disabled, +.el-button--success.is-plain.is-disabled:active, +.el-button--success.is-plain.is-disabled:focus, +.el-button--success.is-plain.is-disabled:hover { + color: #add3bd; + background-color: #f1f8f4; + border-color: #e4f0e9 +} + +.el-button--warning { + color: #fff; + background-color: #e6a23c; + border-color: #e6a23c +} + +.el-button--warning:focus, +.el-button--warning:hover { + background: #ebb563; + border-color: #ebb563; + color: #fff +} + +.el-button--warning:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-active { + background: #cf9236; + border-color: #cf9236; + color: #fff +} + +.el-button--warning.is-disabled, +.el-button--warning.is-disabled:active, +.el-button--warning.is-disabled:focus, +.el-button--warning.is-disabled:hover { + color: #fff; + background-color: #f3d19e; + border-color: #f3d19e +} + +.el-button--warning.is-plain { + color: #e6a23c; + background: #fdf6ec; + border-color: #f5dab1 +} + +.el-button--warning.is-plain:focus, +.el-button--warning.is-plain:hover { + background: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-button--warning.is-plain:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-plain.is-disabled, +.el-button--warning.is-plain.is-disabled:active, +.el-button--warning.is-plain.is-disabled:focus, +.el-button--warning.is-plain.is-disabled:hover { + color: #f0c78a; + background-color: #fdf6ec; + border-color: #faecd8 +} + +.el-button--danger { + color: #fff; + background-color: #d56262; + border-color: #d56262 +} + +.el-button--danger:focus, +.el-button--danger:hover { + background: #dd8181; + border-color: #dd8181; + color: #fff +} + +.el-button--danger:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-active { + background: #c05858; + border-color: #c05858; + color: #fff +} + +.el-button--danger.is-disabled, +.el-button--danger.is-disabled:active, +.el-button--danger.is-disabled:focus, +.el-button--danger.is-disabled:hover { + color: #fff; + background-color: #eab1b1; + border-color: #eab1b1 +} + +.el-button--danger.is-plain { + color: #d56262; + background: #fbefef; + border-color: #eec0c0 +} + +.el-button--danger.is-plain:focus, +.el-button--danger.is-plain:hover { + background: #d56262; + border-color: #d56262; + color: #fff +} + +.el-button--danger.is-plain:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-plain.is-disabled, +.el-button--danger.is-plain.is-disabled:active, +.el-button--danger.is-plain.is-disabled:focus, +.el-button--danger.is-plain.is-disabled:hover { + color: #e6a1a1; + background-color: #fbefef; + border-color: #f7e0e0 +} + +.el-button--info { + color: #fff; + background-color: #909399; + border-color: #909399 +} + +.el-button--info:focus, +.el-button--info:hover { + background: #a6a9ad; + border-color: #a6a9ad; + color: #fff +} + +.el-button--info:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-active { + background: #82848a; + border-color: #82848a; + color: #fff +} + +.el-button--info.is-disabled, +.el-button--info.is-disabled:active, +.el-button--info.is-disabled:focus, +.el-button--info.is-disabled:hover { + color: #fff; + background-color: #c8c9cc; + border-color: #c8c9cc +} + +.el-button--info.is-plain { + color: #909399; + background: #f4f4f5; + border-color: #d3d4d6 +} + +.el-button--info.is-plain:focus, +.el-button--info.is-plain:hover { + background: #909399; + border-color: #909399; + color: #fff +} + +.el-button--info.is-plain:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-plain.is-disabled, +.el-button--info.is-plain.is-disabled:active, +.el-button--info.is-plain.is-disabled:focus, +.el-button--info.is-plain.is-disabled:hover { + color: #bcbec2; + background-color: #f4f4f5; + border-color: #e9e9eb +} + +.el-button--medium { + padding: 10px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button--medium.is-round { + padding: 10px 20px +} + +.el-button--medium.is-circle { + padding: 10px +} + +.el-button--small { + padding: 9px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--small.is-round { + padding: 9px 15px +} + +.el-button--small.is-circle { + padding: 9px +} + +.el-button--mini { + padding: 7px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--mini.is-round { + padding: 7px 15px +} + +.el-button--mini.is-circle { + padding: 7px +} + +.el-button--text { + border-color: transparent; + color: #0966c2; + background: 0 0; + padding-left: 0; + padding-right: 0 +} + +.el-button--text:focus, +.el-button--text:hover { + color: #3a85ce; + border-color: transparent; + background-color: transparent +} + +.el-button--text:active { + color: #085caf; + border-color: transparent; + background-color: transparent +} + +.el-button--text.is-disabled, +.el-button--text.is-disabled:focus, +.el-button--text.is-disabled:hover { + border-color: transparent +} + +.el-button-group { + display: inline-block; + vertical-align: middle +} + +.el-button-group::after, +.el-button-group::before { + display: table; + content: "" +} + +.el-button-group::after { + clear: both +} + +.el-button-group>.el-button { + float: left; + position: relative +} + +.el-button-group>.el-button+.el-button { + margin-left: 0 +} + +.el-button-group>.el-button.is-disabled { + z-index: 1 +} + +.el-button-group>.el-button:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-button-group>.el-button:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-button-group>.el-button:first-child:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px +} + +.el-button-group>.el-button:first-child:last-child.is-round { + border-radius: 20px +} + +.el-button-group>.el-button:first-child:last-child.is-circle { + border-radius: 50% +} + +.el-button-group>.el-button:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.el-button-group>.el-button:not(:last-child) { + margin-right: -1px +} + +.el-button-group>.el-button:not(.is-disabled):active, +.el-button-group>.el-button:not(.is-disabled):focus, +.el-button-group>.el-button:not(.is-disabled):hover { + z-index: 1 +} + +.el-button-group>.el-button.is-active { + z-index: 1 +} + +.el-button-group>.el-dropdown>.el-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-checkbox { + color: #606266; + font-weight: 500; + font-size: 14px; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + margin-right: 30px +} + +.el-checkbox.is-bordered { + padding: 9px 20px 9px 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: normal; + height: 40px +} + +.el-checkbox.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-checkbox.is-bordered.is-disabled { + border-color: #ebeef5; + cursor: not-allowed +} + +.el-checkbox.is-bordered+.el-checkbox.is-bordered { + margin-left: 10px +} + +.el-checkbox.is-bordered.el-checkbox--medium { + padding: 7px 20px 7px 10px; + border-radius: 4px; + height: 36px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { + line-height: 17px; + font-size: 14px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { + height: 14px; + width: 14px +} + +.el-checkbox.is-bordered.el-checkbox--small { + padding: 5px 15px 5px 10px; + border-radius: 3px; + height: 32px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { + line-height: 15px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox.is-bordered.el-checkbox--mini { + padding: 3px 15px 3px 10px; + border-radius: 3px; + height: 28px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { + line-height: 12px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: #edf2fc; + border-color: #dcdfe6; + cursor: not-allowed +} + +.el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label { + cursor: not-allowed +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + background-color: #c0c4cc; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled+span.el-checkbox__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-checked .el-checkbox__inner::after { + -webkit-transform: rotate(45deg) scaleY(1); + transform: rotate(45deg) scaleY(1) +} + +.el-checkbox__input.is-checked+.el-checkbox__label { + color: #0966c2 +} + +.el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + background-color: #fff; + height: 2px; + -webkit-transform: scale(.5); + transform: scale(.5); + left: 0; + right: 0; + top: 5px +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none +} + +.el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 14px; + height: 14px; + background-color: #fff; + z-index: 1; + -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46); + transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46) +} + +.el-checkbox__inner:hover { + border-color: #0966c2 +} + +.el-checkbox__inner::after { + -webkit-box-sizing: content-box; + box-sizing: content-box; + content: ""; + border: 1px solid #fff; + border-left: 0; + border-top: 0; + height: 7px; + left: 4px; + position: absolute; + top: 1px; + -webkit-transform: rotate(45deg) scaleY(0); + transform: rotate(45deg) scaleY(0); + width: 3px; + -webkit-transition: -webkit-transform .15s ease-in .05s; + transition: -webkit-transform .15s ease-in .05s; + transition: transform .15s ease-in .05s; + transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; + -webkit-transform-origin: center; + transform-origin: center +} + +.el-checkbox__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + width: 0; + height: 0; + z-index: -1 +} + +.el-checkbox__label { + display: inline-block; + padding-left: 10px; + line-height: 19px; + font-size: 14px +} + +.el-checkbox:last-of-type { + margin-right: 0 +} + +.el-checkbox-button { + position: relative; + display: inline-block +} + +.el-checkbox-button__inner { + display: inline-block; + line-height: 1; + font-weight: 500; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-left: 0; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + position: relative; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button__inner.is-round { + padding: 12px 20px +} + +.el-checkbox-button__inner:hover { + color: #0966c2 +} + +.el-checkbox-button__inner [class*=el-icon-] { + line-height: .9 +} + +.el-checkbox-button__inner [class*=el-icon-]+span { + margin-left: 5px +} + +.el-checkbox-button__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + z-index: -1 +} + +.el-checkbox-button.is-checked .el-checkbox-button__inner { + color: #fff; + background-color: #0966c2; + border-color: #0966c2; + -webkit-box-shadow: -1px 0 0 0 #6ba3da; + box-shadow: -1px 0 0 0 #6ba3da +} + +.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { + border-left-color: #0966c2 +} + +.el-checkbox-button.is-disabled .el-checkbox-button__inner { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5; + -webkit-box-shadow: none; + box-shadow: none +} + +.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { + border-left-color: #ebeef5 +} + +.el-checkbox-button:first-child .el-checkbox-button__inner { + border-left: 1px solid #dcdfe6; + border-radius: 4px 0 0 4px; + -webkit-box-shadow: none !important; + box-shadow: none !important +} + +.el-checkbox-button.is-focus .el-checkbox-button__inner { + border-color: #0966c2 +} + +.el-checkbox-button:last-child .el-checkbox-button__inner { + border-radius: 0 4px 4px 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner { + padding: 10px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner.is-round { + padding: 10px 20px +} + +.el-checkbox-button--small .el-checkbox-button__inner { + padding: 9px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--small .el-checkbox-button__inner.is-round { + padding: 9px 15px +} + +.el-checkbox-button--mini .el-checkbox-button__inner { + padding: 7px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--mini .el-checkbox-button__inner.is-round { + padding: 7px 15px +} + +.el-checkbox-group { + font-size: 0 +} + +.el-transfer { + font-size: 14px +} + +.el-transfer__buttons { + display: inline-block; + vertical-align: middle; + padding: 0 30px +} + +.el-transfer__button { + display: block; + margin: 0 auto; + padding: 10px; + border-radius: 50%; + color: #fff; + background-color: #0966c2; + font-size: 0 +} + +.el-transfer__button.is-with-texts { + border-radius: 4px +} + +.el-transfer__button.is-disabled { + border: 1px solid #dcdfe6; + background-color: #f5f7fa; + color: #c0c4cc +} + +.el-transfer__button.is-disabled:hover { + border: 1px solid #dcdfe6; + background-color: #f5f7fa; + color: #c0c4cc +} + +.el-transfer__button:first-child { + margin-bottom: 10px +} + +.el-transfer__button:nth-child(2) { + margin: 0 +} + +.el-transfer__button i, +.el-transfer__button span { + font-size: 14px +} + +.el-transfer__button [class*=el-icon-]+span { + margin-left: 0 +} + +.el-transfer-panel { + border: 1px solid #ebeef5; + border-radius: 4px; + overflow: hidden; + background: #fff; + display: inline-block; + vertical-align: middle; + width: 200px; + max-height: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + position: relative +} + +.el-transfer-panel__body { + height: 246px +} + +.el-transfer-panel__body.is-with-footer { + padding-bottom: 40px +} + +.el-transfer-panel__list { + margin: 0; + padding: 6px 0; + list-style: none; + height: 246px; + overflow: auto; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-transfer-panel__list.is-filterable { + height: 194px; + padding-top: 0 +} + +.el-transfer-panel__item { + height: 30px; + line-height: 30px; + padding-left: 15px; + display: block !important +} + +.el-transfer-panel__item+.el-transfer-panel__item { + margin-left: 0 +} + +.el-transfer-panel__item.el-checkbox { + color: #606266 +} + +.el-transfer-panel__item:hover { + color: #0966c2 +} + +.el-transfer-panel__item.el-checkbox .el-checkbox__label { + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-left: 24px; + line-height: 30px +} + +.el-transfer-panel__item .el-checkbox__input { + position: absolute; + top: 8px +} + +.el-transfer-panel__filter { + text-align: center; + margin: 15px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: block; + width: auto +} + +.el-transfer-panel__filter .el-input__inner { + height: 32px; + width: 100%; + font-size: 12px; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-radius: 16px; + padding-right: 10px; + padding-left: 30px +} + +.el-transfer-panel__filter .el-input__icon { + margin-left: 5px +} + +.el-transfer-panel__filter .el-icon-circle-close { + cursor: pointer +} + +.el-transfer-panel .el-transfer-panel__header { + height: 40px; + line-height: 40px; + background: #f5f7fa; + margin: 0; + padding-left: 15px; + border-bottom: 1px solid #ebeef5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #000 +} + +.el-transfer-panel .el-transfer-panel__header .el-checkbox { + display: block; + line-height: 40px +} + +.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label { + font-size: 16px; + color: #303133; + font-weight: 400 +} + +.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span { + position: absolute; + right: 15px; + color: #909399; + font-size: 12px; + font-weight: 400 +} + +.el-transfer-panel .el-transfer-panel__footer { + height: 40px; + background: #fff; + margin: 0; + padding: 0; + border-top: 1px solid #ebeef5; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + z-index: 1 +} + +.el-transfer-panel .el-transfer-panel__footer::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle +} + +.el-transfer-panel .el-transfer-panel__footer .el-checkbox { + padding-left: 20px; + color: #606266 +} + +.el-transfer-panel .el-transfer-panel__empty { + margin: 0; + height: 30px; + line-height: 30px; + padding: 6px 15px 0; + color: #909399; + text-align: center +} + +.el-transfer-panel .el-checkbox__label { + padding-left: 8px +} + +.el-transfer-panel .el-checkbox__inner { + height: 14px; + width: 14px; + border-radius: 3px +} + +.el-transfer-panel .el-checkbox__inner::after { + height: 6px; + width: 3px; + left: 4px +} + +.el-container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + -ms-flex-preferred-size: auto; + flex-basis: auto; + -webkit-box-sizing: border-box; + box-sizing: border-box; + min-width: 0 +} + +.el-container.is-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column +} + +.el-header { + padding: 0 20px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -ms-flex-negative: 0; + flex-shrink: 0 +} + +.el-aside { + overflow: auto; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -ms-flex-negative: 0; + flex-shrink: 0 +} + +.el-main { + display: block; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + -ms-flex-preferred-size: auto; + flex-basis: auto; + overflow: auto; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 20px +} + +.el-footer { + padding: 0 20px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -ms-flex-negative: 0; + flex-shrink: 0 +} + +.el-timeline { + margin: 0; + font-size: 14px; + list-style: none +} + +.el-timeline .el-timeline-item:last-child .el-timeline-item__tail { + display: none +} + +.el-timeline-item { + position: relative; + padding-bottom: 20px +} + +.el-timeline-item__wrapper { + position: relative; + padding-left: 28px; + top: -3px +} + +.el-timeline-item__tail { + position: absolute; + left: 4px; + height: 100%; + border-left: 2px solid #e4e7ed +} + +.el-timeline-item__icon { + color: #fff; + font-size: 13px +} + +.el-timeline-item__node { + position: absolute; + background-color: #e4e7ed; + border-radius: 50%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-timeline-item__node--normal { + left: -1px; + width: 12px; + height: 12px +} + +.el-timeline-item__node--large { + left: -2px; + width: 14px; + height: 14px +} + +.el-timeline-item__node--primary { + background-color: #0966c2 +} + +.el-timeline-item__node--success { + background-color: #77b591 +} + +.el-timeline-item__node--warning { + background-color: #e6a23c +} + +.el-timeline-item__node--danger { + background-color: #d56262 +} + +.el-timeline-item__node--info { + background-color: #909399 +} + +.el-timeline-item__dot { + position: absolute; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-timeline-item__content { + color: #303133 +} + +.el-timeline-item__timestamp { + color: #909399; + line-height: 1; + font-size: 13px +} + +.el-timeline-item__timestamp.is-top { + margin-bottom: 8px; + padding-top: 4px +} + +.el-timeline-item__timestamp.is-bottom { + margin-top: 8px +} + +.el-link { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + vertical-align: middle; + position: relative; + text-decoration: none; + outline: 0; + cursor: pointer; + padding: 0; + font-size: 14px; + font-weight: 500 +} + +.el-link.is-underline:hover:after { + content: ""; + position: absolute; + left: 0; + right: 0; + height: 0; + bottom: 0; + border-bottom: 1px solid #0966c2 +} + +.el-link.is-disabled { + cursor: not-allowed +} + +.el-link [class*=el-icon-]+span { + margin-left: 5px +} + +.el-link.el-link--default { + color: #606266 +} + +.el-link.el-link--default:hover { + color: #0966c2 +} + +.el-link.el-link--default:after { + border-color: #0966c2 +} + +.el-link.el-link--default.is-disabled { + color: #c0c4cc +} + +.el-link.el-link--primary { + color: #0966c2 +} + +.el-link.el-link--primary:hover { + color: #3a85ce +} + +.el-link.el-link--primary:after { + border-color: #0966c2 +} + +.el-link.el-link--primary.is-disabled { + color: #84b3e1 +} + +.el-link.el-link--primary.is-underline:hover:after { + border-color: #0966c2 +} + +.el-link.el-link--danger { + color: #d56262 +} + +.el-link.el-link--danger:hover { + color: #dd8181 +} + +.el-link.el-link--danger:after { + border-color: #d56262 +} + +.el-link.el-link--danger.is-disabled { + color: #eab1b1 +} + +.el-link.el-link--danger.is-underline:hover:after { + border-color: #d56262 +} + +.el-link.el-link--success { + color: #77b591 +} + +.el-link.el-link--success:hover { + color: #92c4a7 +} + +.el-link.el-link--success:after { + border-color: #77b591 +} + +.el-link.el-link--success.is-disabled { + color: #bbdac8 +} + +.el-link.el-link--success.is-underline:hover:after { + border-color: #77b591 +} + +.el-link.el-link--warning { + color: #e6a23c +} + +.el-link.el-link--warning:hover { + color: #ebb563 +} + +.el-link.el-link--warning:after { + border-color: #e6a23c +} + +.el-link.el-link--warning.is-disabled { + color: #f3d19e +} + +.el-link.el-link--warning.is-underline:hover:after { + border-color: #e6a23c +} + +.el-link.el-link--info { + color: #909399 +} + +.el-link.el-link--info:hover { + color: #a6a9ad +} + +.el-link.el-link--info:after { + border-color: #909399 +} + +.el-link.el-link--info.is-disabled { + color: #c8c9cc +} + +.el-link.el-link--info.is-underline:hover:after { + border-color: #909399 +} + +.el-divider { + background-color: #dcdfe6; + position: relative +} + +.el-divider--horizontal { + display: block; + height: 1px; + width: 100%; + margin: 24px 0 +} + +.el-divider--vertical { + display: inline-block; + width: 1px; + height: 1em; + margin: 0 8px; + vertical-align: middle; + position: relative +} + +.el-divider__text { + position: absolute; + background-color: #fff; + padding: 0 20px; + font-weight: 500; + color: #303133; + font-size: 14px +} + +.el-divider__text.is-left { + left: 20px; + -webkit-transform: translateY(-50%); + transform: translateY(-50%) +} + +.el-divider__text.is-center { + left: 50%; + -webkit-transform: translateX(-50%) translateY(-50%); + transform: translateX(-50%) translateY(-50%) +} + +.el-divider__text.is-right { + right: 20px; + -webkit-transform: translateY(-50%); + transform: translateY(-50%) +} + +.el-image__error, +.el-image__inner, +.el-image__placeholder { + width: 100%; + height: 100% +} + +.el-image { + position: relative; + display: inline-block; + overflow: hidden +} + +.el-image__inner { + vertical-align: top +} + +.el-image__inner--center { + position: relative; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + display: block +} + +.el-image__placeholder { + background: #f5f7fa +} + +.el-image__error { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + font-size: 14px; + background: #f5f7fa; + color: #c0c4cc; + vertical-align: middle +} + +.el-image__preview { + cursor: pointer +} + +.el-image-viewer__wrapper { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0 +} + +.el-image-viewer__btn { + position: absolute; + z-index: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + border-radius: 50%; + opacity: .8; + cursor: pointer; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.el-image-viewer__close { + top: 40px; + right: 40px; + width: 40px; + height: 40px; + font-size: 24px; + color: #fff; + background-color: #606266 +} + +.el-image-viewer__canvas { + width: 100%; + height: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-image-viewer__actions { + left: 50%; + bottom: 30px; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + width: 282px; + height: 44px; + padding: 0 23px; + background-color: #606266; + border-color: #fff; + border-radius: 22px +} + +.el-image-viewer__actions__inner { + width: 100%; + height: 100%; + text-align: justify; + cursor: default; + font-size: 23px; + color: #fff; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: distribute; + justify-content: space-around +} + +.el-image-viewer__prev { + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + width: 44px; + height: 44px; + font-size: 24px; + color: #fff; + background-color: #606266; + border-color: #fff; + left: 40px +} + +.el-image-viewer__next { + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + width: 44px; + height: 44px; + font-size: 24px; + color: #fff; + background-color: #606266; + border-color: #fff; + right: 40px; + text-indent: 2px +} + +.el-image-viewer__mask { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + opacity: .5; + background: #000 +} + +.viewer-fade-enter-active { + -webkit-animation: viewer-fade-in .3s; + animation: viewer-fade-in .3s +} + +.viewer-fade-leave-active { + -webkit-animation: viewer-fade-out .3s; + animation: viewer-fade-out .3s +} + +@-webkit-keyframes viewer-fade-in { + 0% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } +} + +@keyframes viewer-fade-in { + 0% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } +} + +@-webkit-keyframes viewer-fade-out { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } + + 100% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } +} + +@keyframes viewer-fade-out { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1 + } + + 100% { + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + opacity: 0 + } +} + +.el-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-color: #dcdfe6; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + -webkit-transition: .1s; + transition: .1s; + font-weight: 500; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button+.el-button { + margin-left: 10px +} + +.el-button.is-round { + padding: 12px 20px +} + +.el-button:focus, +.el-button:hover { + color: #0966c2; + border-color: #b5d1ed; + background-color: #e6f0f9 +} + +.el-button:active { + color: #085caf; + border-color: #085caf; + outline: 0 +} + +.el-button::-moz-focus-inner { + border: 0 +} + +.el-button [class*=el-icon-]+span { + margin-left: 5px +} + +.el-button.is-plain:focus, +.el-button.is-plain:hover { + background: #fff; + border-color: #0966c2; + color: #0966c2 +} + +.el-button.is-plain:active { + background: #fff; + border-color: #085caf; + color: #085caf; + outline: 0 +} + +.el-button.is-active { + color: #085caf; + border-color: #085caf +} + +.el-button.is-disabled, +.el-button.is-disabled:focus, +.el-button.is-disabled:hover { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5 +} + +.el-button.is-disabled.el-button--text { + background-color: transparent +} + +.el-button.is-disabled.is-plain, +.el-button.is-disabled.is-plain:focus, +.el-button.is-disabled.is-plain:hover { + background-color: #fff; + border-color: #ebeef5; + color: #c0c4cc +} + +.el-button.is-loading { + position: relative; + pointer-events: none +} + +.el-button.is-loading:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255, 255, 255, .35) +} + +.el-button.is-round { + border-radius: 20px; + padding: 12px 23px +} + +.el-button.is-circle { + border-radius: 50%; + padding: 12px +} + +.el-button--primary { + color: #fff; + background-color: #0966c2; + border-color: #0966c2 +} + +.el-button--primary:focus, +.el-button--primary:hover { + background: #3a85ce; + border-color: #3a85ce; + color: #fff +} + +.el-button--primary:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-active { + background: #085caf; + border-color: #085caf; + color: #fff +} + +.el-button--primary.is-disabled, +.el-button--primary.is-disabled:active, +.el-button--primary.is-disabled:focus, +.el-button--primary.is-disabled:hover { + color: #fff; + background-color: #84b3e1; + border-color: #84b3e1 +} + +.el-button--primary.is-plain { + color: #0966c2; + background: #e6f0f9; + border-color: #9dc2e7 +} + +.el-button--primary.is-plain:focus, +.el-button--primary.is-plain:hover { + background: #0966c2; + border-color: #0966c2; + color: #fff +} + +.el-button--primary.is-plain:active { + background: #085caf; + border-color: #085caf; + color: #fff; + outline: 0 +} + +.el-button--primary.is-plain.is-disabled, +.el-button--primary.is-plain.is-disabled:active, +.el-button--primary.is-plain.is-disabled:focus, +.el-button--primary.is-plain.is-disabled:hover { + color: #6ba3da; + background-color: #e6f0f9; + border-color: #cee0f3 +} + +.el-button--success { + color: #fff; + background-color: #77b591; + border-color: #77b591 +} + +.el-button--success:focus, +.el-button--success:hover { + background: #92c4a7; + border-color: #92c4a7; + color: #fff +} + +.el-button--success:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-active { + background: #6ba383; + border-color: #6ba383; + color: #fff +} + +.el-button--success.is-disabled, +.el-button--success.is-disabled:active, +.el-button--success.is-disabled:focus, +.el-button--success.is-disabled:hover { + color: #fff; + background-color: #bbdac8; + border-color: #bbdac8 +} + +.el-button--success.is-plain { + color: #77b591; + background: #f1f8f4; + border-color: #c9e1d3 +} + +.el-button--success.is-plain:focus, +.el-button--success.is-plain:hover { + background: #77b591; + border-color: #77b591; + color: #fff +} + +.el-button--success.is-plain:active { + background: #6ba383; + border-color: #6ba383; + color: #fff; + outline: 0 +} + +.el-button--success.is-plain.is-disabled, +.el-button--success.is-plain.is-disabled:active, +.el-button--success.is-plain.is-disabled:focus, +.el-button--success.is-plain.is-disabled:hover { + color: #add3bd; + background-color: #f1f8f4; + border-color: #e4f0e9 +} + +.el-button--warning { + color: #fff; + background-color: #e6a23c; + border-color: #e6a23c +} + +.el-button--warning:focus, +.el-button--warning:hover { + background: #ebb563; + border-color: #ebb563; + color: #fff +} + +.el-button--warning:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-active { + background: #cf9236; + border-color: #cf9236; + color: #fff +} + +.el-button--warning.is-disabled, +.el-button--warning.is-disabled:active, +.el-button--warning.is-disabled:focus, +.el-button--warning.is-disabled:hover { + color: #fff; + background-color: #f3d19e; + border-color: #f3d19e +} + +.el-button--warning.is-plain { + color: #e6a23c; + background: #fdf6ec; + border-color: #f5dab1 +} + +.el-button--warning.is-plain:focus, +.el-button--warning.is-plain:hover { + background: #e6a23c; + border-color: #e6a23c; + color: #fff +} + +.el-button--warning.is-plain:active { + background: #cf9236; + border-color: #cf9236; + color: #fff; + outline: 0 +} + +.el-button--warning.is-plain.is-disabled, +.el-button--warning.is-plain.is-disabled:active, +.el-button--warning.is-plain.is-disabled:focus, +.el-button--warning.is-plain.is-disabled:hover { + color: #f0c78a; + background-color: #fdf6ec; + border-color: #faecd8 +} + +.el-button--danger { + color: #fff; + background-color: #d56262; + border-color: #d56262 +} + +.el-button--danger:focus, +.el-button--danger:hover { + background: #dd8181; + border-color: #dd8181; + color: #fff +} + +.el-button--danger:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-active { + background: #c05858; + border-color: #c05858; + color: #fff +} + +.el-button--danger.is-disabled, +.el-button--danger.is-disabled:active, +.el-button--danger.is-disabled:focus, +.el-button--danger.is-disabled:hover { + color: #fff; + background-color: #eab1b1; + border-color: #eab1b1 +} + +.el-button--danger.is-plain { + color: #d56262; + background: #fbefef; + border-color: #eec0c0 +} + +.el-button--danger.is-plain:focus, +.el-button--danger.is-plain:hover { + background: #d56262; + border-color: #d56262; + color: #fff +} + +.el-button--danger.is-plain:active { + background: #c05858; + border-color: #c05858; + color: #fff; + outline: 0 +} + +.el-button--danger.is-plain.is-disabled, +.el-button--danger.is-plain.is-disabled:active, +.el-button--danger.is-plain.is-disabled:focus, +.el-button--danger.is-plain.is-disabled:hover { + color: #e6a1a1; + background-color: #fbefef; + border-color: #f7e0e0 +} + +.el-button--info { + color: #fff; + background-color: #909399; + border-color: #909399 +} + +.el-button--info:focus, +.el-button--info:hover { + background: #a6a9ad; + border-color: #a6a9ad; + color: #fff +} + +.el-button--info:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-active { + background: #82848a; + border-color: #82848a; + color: #fff +} + +.el-button--info.is-disabled, +.el-button--info.is-disabled:active, +.el-button--info.is-disabled:focus, +.el-button--info.is-disabled:hover { + color: #fff; + background-color: #c8c9cc; + border-color: #c8c9cc +} + +.el-button--info.is-plain { + color: #909399; + background: #f4f4f5; + border-color: #d3d4d6 +} + +.el-button--info.is-plain:focus, +.el-button--info.is-plain:hover { + background: #909399; + border-color: #909399; + color: #fff +} + +.el-button--info.is-plain:active { + background: #82848a; + border-color: #82848a; + color: #fff; + outline: 0 +} + +.el-button--info.is-plain.is-disabled, +.el-button--info.is-plain.is-disabled:active, +.el-button--info.is-plain.is-disabled:focus, +.el-button--info.is-plain.is-disabled:hover { + color: #bcbec2; + background-color: #f4f4f5; + border-color: #e9e9eb +} + +.el-button--medium { + padding: 10px 20px; + font-size: 14px; + border-radius: 4px +} + +.el-button--medium.is-round { + padding: 10px 20px +} + +.el-button--medium.is-circle { + padding: 10px +} + +.el-button--small { + padding: 9px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--small.is-round { + padding: 9px 15px +} + +.el-button--small.is-circle { + padding: 9px +} + +.el-button--mini { + padding: 7px 15px; + font-size: 12px; + border-radius: 3px +} + +.el-button--mini.is-round { + padding: 7px 15px +} + +.el-button--mini.is-circle { + padding: 7px +} + +.el-button--text { + border-color: transparent; + color: #0966c2; + background: 0 0; + padding-left: 0; + padding-right: 0 +} + +.el-button--text:focus, +.el-button--text:hover { + color: #3a85ce; + border-color: transparent; + background-color: transparent +} + +.el-button--text:active { + color: #085caf; + border-color: transparent; + background-color: transparent +} + +.el-button--text.is-disabled, +.el-button--text.is-disabled:focus, +.el-button--text.is-disabled:hover { + border-color: transparent +} + +.el-button-group { + display: inline-block; + vertical-align: middle +} + +.el-button-group::after, +.el-button-group::before { + display: table; + content: "" +} + +.el-button-group::after { + clear: both +} + +.el-button-group>.el-button { + float: left; + position: relative +} + +.el-button-group>.el-button+.el-button { + margin-left: 0 +} + +.el-button-group>.el-button.is-disabled { + z-index: 1 +} + +.el-button-group>.el-button:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.el-button-group>.el-button:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.el-button-group>.el-button:first-child:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px +} + +.el-button-group>.el-button:first-child:last-child.is-round { + border-radius: 20px +} + +.el-button-group>.el-button:first-child:last-child.is-circle { + border-radius: 50% +} + +.el-button-group>.el-button:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.el-button-group>.el-button:not(:last-child) { + margin-right: -1px +} + +.el-button-group>.el-button:not(.is-disabled):active, +.el-button-group>.el-button:not(.is-disabled):focus, +.el-button-group>.el-button:not(.is-disabled):hover { + z-index: 1 +} + +.el-button-group>.el-button.is-active { + z-index: 1 +} + +.el-button-group>.el-dropdown>.el-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--primary:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--success:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--warning:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--danger:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:first-child { + border-right-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:last-child { + border-left-color: rgba(255, 255, 255, .5) +} + +.el-button-group .el-button--info:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, .5); + border-right-color: rgba(255, 255, 255, .5) +} + +.el-calendar { + background-color: #fff +} + +.el-calendar__header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 12px 20px; + border-bottom: 1px solid #ebeef5 +} + +.el-calendar__title { + color: #000; + -ms-flex-item-align: center; + align-self: center +} + +.el-calendar__body { + padding: 12px 20px 35px +} + +.el-calendar-table { + table-layout: fixed; + width: 100% +} + +.el-calendar-table thead th { + padding: 12px 0; + color: #606266; + font-weight: 400 +} + +.el-calendar-table:not(.is-range) td.next, +.el-calendar-table:not(.is-range) td.prev { + color: #c0c4cc +} + +.el-calendar-table td { + border-bottom: 1px solid #ebeef5; + border-right: 1px solid #ebeef5; + vertical-align: top; + -webkit-transition: background-color .2s ease; + transition: background-color .2s ease +} + +.el-calendar-table td.is-selected { + background-color: #f2f8fe +} + +.el-calendar-table td.is-today { + color: #0966c2 +} + +.el-calendar-table tr:first-child td { + border-top: 1px solid #ebeef5 +} + +.el-calendar-table tr td:first-child { + border-left: 1px solid #ebeef5 +} + +.el-calendar-table tr.el-calendar-table__row--hide-border td { + border-top: none +} + +.el-calendar-table .el-calendar-day { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 8px; + height: 85px +} + +.el-calendar-table .el-calendar-day:hover { + cursor: pointer; + background-color: #f2f8fe +} + +.el-backtop { + position: fixed; + background-color: #fff; + width: 40px; + height: 40px; + border-radius: 50%; + color: #0966c2; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + font-size: 20px; + -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .12); + box-shadow: 0 0 6px rgba(0, 0, 0, .12); + cursor: pointer; + z-index: 5 +} + +.el-backtop:hover { + background-color: #f2f6fc +} + +.el-page-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + line-height: 24px +} + +.el-page-header__left { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + cursor: pointer; + margin-right: 40px; + position: relative +} + +.el-page-header__left::after { + content: ""; + position: absolute; + width: 1px; + height: 16px; + right: -20px; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + background-color: #dcdfe6 +} + +.el-page-header__left .el-icon-back { + font-size: 18px; + margin-right: 6px; + -ms-flex-item-align: center; + align-self: center +} + +.el-page-header__title { + font-size: 14px; + font-weight: 500 +} + +.el-page-header__content { + font-size: 18px; + color: #303133 +} + +.el-checkbox { + color: #606266; + font-weight: 500; + font-size: 14px; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + margin-right: 30px +} + +.el-checkbox.is-bordered { + padding: 9px 20px 9px 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: normal; + height: 40px +} + +.el-checkbox.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-checkbox.is-bordered.is-disabled { + border-color: #ebeef5; + cursor: not-allowed +} + +.el-checkbox.is-bordered+.el-checkbox.is-bordered { + margin-left: 10px +} + +.el-checkbox.is-bordered.el-checkbox--medium { + padding: 7px 20px 7px 10px; + border-radius: 4px; + height: 36px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { + line-height: 17px; + font-size: 14px +} + +.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { + height: 14px; + width: 14px +} + +.el-checkbox.is-bordered.el-checkbox--small { + padding: 5px 15px 5px 10px; + border-radius: 3px; + height: 32px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { + line-height: 15px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox.is-bordered.el-checkbox--mini { + padding: 3px 15px 3px 10px; + border-radius: 3px; + height: 28px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { + line-height: 12px; + font-size: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { + height: 12px; + width: 12px +} + +.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { + height: 6px; + width: 2px +} + +.el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: #edf2fc; + border-color: #dcdfe6; + cursor: not-allowed +} + +.el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label { + cursor: not-allowed +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: #f2f6fc; + border-color: #dcdfe6 +} + +.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + background-color: #c0c4cc; + border-color: #c0c4cc +} + +.el-checkbox__input.is-disabled+span.el-checkbox__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-checked .el-checkbox__inner::after { + -webkit-transform: rotate(45deg) scaleY(1); + transform: rotate(45deg) scaleY(1) +} + +.el-checkbox__input.is-checked+.el-checkbox__label { + color: #0966c2 +} + +.el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #0966c2; + border-color: #0966c2 +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + background-color: #fff; + height: 2px; + -webkit-transform: scale(.5); + transform: scale(.5); + left: 0; + right: 0; + top: 5px +} + +.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none +} + +.el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid #dcdfe6; + border-radius: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 14px; + height: 14px; + background-color: #fff; + z-index: 1; + -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46); + transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46) +} + +.el-checkbox__inner:hover { + border-color: #0966c2 +} + +.el-checkbox__inner::after { + -webkit-box-sizing: content-box; + box-sizing: content-box; + content: ""; + border: 1px solid #fff; + border-left: 0; + border-top: 0; + height: 7px; + left: 4px; + position: absolute; + top: 1px; + -webkit-transform: rotate(45deg) scaleY(0); + transform: rotate(45deg) scaleY(0); + width: 3px; + -webkit-transition: -webkit-transform .15s ease-in .05s; + transition: -webkit-transform .15s ease-in .05s; + transition: transform .15s ease-in .05s; + transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; + -webkit-transform-origin: center; + transform-origin: center +} + +.el-checkbox__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + width: 0; + height: 0; + z-index: -1 +} + +.el-checkbox__label { + display: inline-block; + padding-left: 10px; + line-height: 19px; + font-size: 14px +} + +.el-checkbox:last-of-type { + margin-right: 0 +} + +.el-checkbox-button { + position: relative; + display: inline-block +} + +.el-checkbox-button__inner { + display: inline-block; + line-height: 1; + font-weight: 500; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: #fff; + border: 1px solid #dcdfe6; + border-left: 0; + color: #606266; + -webkit-appearance: none; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + margin: 0; + position: relative; + -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); + transition: all .3s cubic-bezier(.645, .045, .355, 1); + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 12px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button__inner.is-round { + padding: 12px 20px +} + +.el-checkbox-button__inner:hover { + color: #0966c2 +} + +.el-checkbox-button__inner [class*=el-icon-] { + line-height: .9 +} + +.el-checkbox-button__inner [class*=el-icon-]+span { + margin-left: 5px +} + +.el-checkbox-button__original { + opacity: 0; + outline: 0; + position: absolute; + margin: 0; + z-index: -1 +} + +.el-checkbox-button.is-checked .el-checkbox-button__inner { + color: #fff; + background-color: #0966c2; + border-color: #0966c2; + -webkit-box-shadow: -1px 0 0 0 #6ba3da; + box-shadow: -1px 0 0 0 #6ba3da +} + +.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { + border-left-color: #0966c2 +} + +.el-checkbox-button.is-disabled .el-checkbox-button__inner { + color: #c0c4cc; + cursor: not-allowed; + background-image: none; + background-color: #fff; + border-color: #ebeef5; + -webkit-box-shadow: none; + box-shadow: none +} + +.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { + border-left-color: #ebeef5 +} + +.el-checkbox-button:first-child .el-checkbox-button__inner { + border-left: 1px solid #dcdfe6; + border-radius: 4px 0 0 4px; + -webkit-box-shadow: none !important; + box-shadow: none !important +} + +.el-checkbox-button.is-focus .el-checkbox-button__inner { + border-color: #0966c2 +} + +.el-checkbox-button:last-child .el-checkbox-button__inner { + border-radius: 0 4px 4px 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner { + padding: 10px 20px; + font-size: 14px; + border-radius: 0 +} + +.el-checkbox-button--medium .el-checkbox-button__inner.is-round { + padding: 10px 20px +} + +.el-checkbox-button--small .el-checkbox-button__inner { + padding: 9px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--small .el-checkbox-button__inner.is-round { + padding: 9px 15px +} + +.el-checkbox-button--mini .el-checkbox-button__inner { + padding: 7px 15px; + font-size: 12px; + border-radius: 0 +} + +.el-checkbox-button--mini .el-checkbox-button__inner.is-round { + padding: 7px 15px +} + +.el-checkbox-group { + font-size: 0 +} + +.el-radio { + color: #606266; + font-weight: 500; + line-height: 1; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + outline: 0; + font-size: 14px; + margin-right: 30px; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none +} + +.el-radio.is-bordered { + padding: 12px 20px 0 10px; + border-radius: 4px; + border: 1px solid #dcdfe6; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 40px +} + +.el-radio.is-bordered.is-checked { + border-color: #0966c2 +} + +.el-radio.is-bordered.is-disabled { + cursor: not-allowed; + border-color: #ebeef5 +} + +.el-radio.is-bordered+.el-radio.is-bordered { + margin-left: 10px +} + +.el-radio--medium.is-bordered { + padding: 10px 20px 0 10px; + border-radius: 4px; + height: 36px +} + +.el-radio--medium.is-bordered .el-radio__label { + font-size: 14px +} + +.el-radio--medium.is-bordered .el-radio__inner { + height: 14px; + width: 14px +} + +.el-radio--small.is-bordered { + padding: 8px 15px 0 10px; + border-radius: 3px; + height: 32px +} + +.el-radio--small.is-bordered .el-radio__label { + font-size: 12px +} + +.el-radio--small.is-bordered .el-radio__inner { + height: 12px; + width: 12px +} + +.el-radio--mini.is-bordered { + padding: 6px 15px 0 10px; + border-radius: 3px; + height: 28px +} + +.el-radio--mini.is-bordered .el-radio__label { + font-size: 12px +} + +.el-radio--mini.is-bordered .el-radio__inner { + height: 12px; + width: 12px +} + +.el-radio:last-child { + margin-right: 0 +} + +.el-radio__input { + white-space: nowrap; + cursor: pointer; + outline: 0; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle +} + +.el-radio__input.is-disabled .el-radio__inner { + background-color: #f5f7fa; + border-color: #e4e7ed; + cursor: not-allowed +} + +.el-radio__input.is-disabled .el-radio__inner::after { + cursor: not-allowed; + background-color: #f5f7fa +} + +.el-radio__input.is-disabled .el-radio__inner+.el-radio__label { + cursor: not-allowed +} + +.el-radio__input.is-disabled.is-checked .el-radio__inner { + background-color: #f5f7fa; + border-color: #e4e7ed +} + +.el-radio__input.is-disabled.is-checked .el-radio__inner::after { + background-color: #c0c4cc +} + +.el-radio__input.is-disabled+span.el-radio__label { + color: #c0c4cc; + cursor: not-allowed +} + +.el-radio__input.is-checked .el-radio__inner { + border-color: #0966c2; + background: #0966c2 +} + +.el-radio__input.is-checked .el-radio__inner::after { + -webkit-transform: translate(-50%, -50%) scale(1); + transform: translate(-50%, -50%) scale(1) +} + +.el-radio__input.is-checked+.el-radio__label { + color: #0966c2 +} + +.el-radio__input.is-focus .el-radio__inner { + border-color: #0966c2 +} + +.el-radio__inner { + border: 1px solid #dcdfe6; + border-radius: 100%; + width: 14px; + height: 14px; + background-color: #fff; + position: relative; + cursor: pointer; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-radio__inner:hover { + border-color: #0966c2 +} + +.el-radio__inner::after { + width: 4px; + height: 4px; + border-radius: 100%; + background-color: #fff; + content: ""; + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%) scale(0); + transform: translate(-50%, -50%) scale(0); + -webkit-transition: -webkit-transform .15s ease-in; + transition: -webkit-transform .15s ease-in; + transition: transform .15s ease-in; + transition: transform .15s ease-in, -webkit-transform .15s ease-in +} + +.el-radio__original { + opacity: 0; + outline: 0; + position: absolute; + z-index: -1; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: 0 +} + +.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { + -webkit-box-shadow: 0 0 2px 2px #0966c2; + box-shadow: 0 0 2px 2px #0966c2 +} + +.el-radio__label { + font-size: 14px; + padding-left: 10px +} + +.el-scrollbar { + overflow: hidden; + position: relative +} + +.el-scrollbar:active>.el-scrollbar__bar, +.el-scrollbar:focus>.el-scrollbar__bar, +.el-scrollbar:hover>.el-scrollbar__bar { + opacity: 1; + -webkit-transition: opacity 340ms ease-out; + transition: opacity 340ms ease-out +} + +.el-scrollbar__wrap { + overflow: scroll; + height: 100% +} + +.el-scrollbar__wrap--hidden-default { + scrollbar-width: none +} + +.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0 +} + +.el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(144, 147, 153, .3); + -webkit-transition: .3s background-color; + transition: .3s background-color +} + +.el-scrollbar__thumb:hover { + background-color: rgba(144, 147, 153, .5) +} + +.el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + -webkit-transition: opacity 120ms ease-out; + transition: opacity 120ms ease-out +} + +.el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px +} + +.el-scrollbar__bar.is-vertical>div { + width: 100% +} + +.el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px +} + +.el-scrollbar__bar.is-horizontal>div { + height: 100% +} + +.el-cascader-panel { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + border-radius: 4px; + font-size: 14px +} + +.el-cascader-panel.is-bordered { + border: solid 1px #e4e7ed; + border-radius: 4px +} + +.el-cascader-menu { + min-width: 180px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #606266; + border-right: solid 1px #e4e7ed +} + +.el-cascader-menu:last-child { + border-right: none +} + +.el-cascader-menu:last-child .el-cascader-node { + padding-right: 20px +} + +.el-cascader-menu__wrap { + height: 204px +} + +.el-cascader-menu__list { + position: relative; + min-height: 100%; + margin: 0; + padding: 6px 0; + list-style: none; + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-cascader-menu__hover-zone { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none +} + +.el-cascader-menu__empty-text { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + text-align: center; + color: #c0c4cc +} + +.el-cascader-node { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 0 30px 0 20px; + height: 34px; + line-height: 34px; + outline: 0 +} + +.el-cascader-node.is-selectable.in-active-path { + color: #606266 +} + +.el-cascader-node.in-active-path, +.el-cascader-node.is-active, +.el-cascader-node.is-selectable.in-checked-path { + color: #0966c2; + font-weight: 700 +} + +.el-cascader-node:not(.is-disabled) { + cursor: pointer +} + +.el-cascader-node:not(.is-disabled):focus, +.el-cascader-node:not(.is-disabled):hover { + background: #f5f7fa +} + +.el-cascader-node.is-disabled { + color: #c0c4cc; + cursor: not-allowed +} + +.el-cascader-node__prefix { + position: absolute; + left: 10px +} + +.el-cascader-node__postfix { + position: absolute; + right: 10px +} + +.el-cascader-node__label { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + padding: 0 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis +} + +.el-cascader-node>.el-radio { + margin-right: 0 +} + +.el-cascader-node>.el-radio .el-radio__label { + padding-left: 0 +} + +.el-avatar { + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: center; + overflow: hidden; + color: #fff; + background: #c0c4cc; + width: 40px; + height: 40px; + line-height: 40px; + font-size: 14px +} + +.el-avatar>img { + display: block; + height: 100%; + vertical-align: middle +} + +.el-avatar--circle { + border-radius: 50% +} + +.el-avatar--square { + border-radius: 4px +} + +.el-avatar--icon { + font-size: 18px +} + +.el-avatar--large { + width: 40px; + height: 40px; + line-height: 40px +} + +.el-avatar--medium { + width: 36px; + height: 36px; + line-height: 36px +} + +.el-avatar--small { + width: 28px; + height: 28px; + line-height: 28px +} + +@-webkit-keyframes el-drawer-fade-in { + 0% { + opacity: 0 + } + + 100% { + opacity: 1 + } +} + +@keyframes el-drawer-fade-in { + 0% { + opacity: 0 + } + + 100% { + opacity: 1 + } +} + +@-webkit-keyframes rtl-drawer-in { + 0% { + -webkit-transform: translate(100%, 0); + transform: translate(100%, 0) + } + + 100% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } +} + +@keyframes rtl-drawer-in { + 0% { + -webkit-transform: translate(100%, 0); + transform: translate(100%, 0) + } + + 100% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } +} + +@-webkit-keyframes rtl-drawer-out { + 0% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } + + 100% { + -webkit-transform: translate(100%, 0); + transform: translate(100%, 0) + } +} + +@keyframes rtl-drawer-out { + 0% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } + + 100% { + -webkit-transform: translate(100%, 0); + transform: translate(100%, 0) + } +} + +@-webkit-keyframes ltr-drawer-in { + 0% { + -webkit-transform: translate(-100%, 0); + transform: translate(-100%, 0) + } + + 100% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } +} + +@keyframes ltr-drawer-in { + 0% { + -webkit-transform: translate(-100%, 0); + transform: translate(-100%, 0) + } + + 100% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } +} + +@-webkit-keyframes ltr-drawer-out { + 0% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } + + 100% { + -webkit-transform: translate(-100%, 0); + transform: translate(-100%, 0) + } +} + +@keyframes ltr-drawer-out { + 0% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } + + 100% { + -webkit-transform: translate(-100%, 0); + transform: translate(-100%, 0) + } +} + +@-webkit-keyframes ttb-drawer-in { + 0% { + -webkit-transform: translate(0, -100%); + transform: translate(0, -100%) + } + + 100% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } +} + +@keyframes ttb-drawer-in { + 0% { + -webkit-transform: translate(0, -100%); + transform: translate(0, -100%) + } + + 100% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } +} + +@-webkit-keyframes ttb-drawer-out { + 0% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } + + 100% { + -webkit-transform: translate(0, -100%); + transform: translate(0, -100%) + } +} + +@keyframes ttb-drawer-out { + 0% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } + + 100% { + -webkit-transform: translate(0, -100%); + transform: translate(0, -100%) + } +} + +@-webkit-keyframes btt-drawer-in { + 0% { + -webkit-transform: translate(0, 100%); + transform: translate(0, 100%) + } + + 100% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } +} + +@keyframes btt-drawer-in { + 0% { + -webkit-transform: translate(0, 100%); + transform: translate(0, 100%) + } + + 100% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } +} + +@-webkit-keyframes btt-drawer-out { + 0% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } + + 100% { + -webkit-transform: translate(0, 100%); + transform: translate(0, 100%) + } +} + +@keyframes btt-drawer-out { + 0% { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) + } + + 100% { + -webkit-transform: translate(0, 100%); + transform: translate(0, 100%) + } +} + +.el-drawer { + position: absolute; + -webkit-box-sizing: border-box; + box-sizing: border-box; + background-color: #fff; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); + overflow: hidden; + outline: 0 +} + +.el-drawer.rtl { + -webkit-animation: rtl-drawer-out .3s; + animation: rtl-drawer-out .3s +} + +.el-drawer__open .el-drawer.rtl { + -webkit-animation: rtl-drawer-in .3s 1ms; + animation: rtl-drawer-in .3s 1ms +} + +.el-drawer.ltr { + -webkit-animation: ltr-drawer-out .3s; + animation: ltr-drawer-out .3s +} + +.el-drawer__open .el-drawer.ltr { + -webkit-animation: ltr-drawer-in .3s 1ms; + animation: ltr-drawer-in .3s 1ms +} + +.el-drawer.ttb { + -webkit-animation: ttb-drawer-out .3s; + animation: ttb-drawer-out .3s +} + +.el-drawer__open .el-drawer.ttb { + -webkit-animation: ttb-drawer-in .3s 1ms; + animation: ttb-drawer-in .3s 1ms +} + +.el-drawer.btt { + -webkit-animation: btt-drawer-out .3s; + animation: btt-drawer-out .3s +} + +.el-drawer__open .el-drawer.btt { + -webkit-animation: btt-drawer-in .3s 1ms; + animation: btt-drawer-in .3s 1ms +} + +.el-drawer__wrapper { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + margin: 0 +} + +.el-drawer__header { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #72767b; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + margin-bottom: 32px; + padding: 20px; + padding-bottom: 0 +} + +.el-drawer__header> :first-child { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.el-drawer__title { + margin: 0; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + line-height: inherit; + font-size: 1rem +} + +.el-drawer__close-btn { + border: none; + cursor: pointer; + font-size: 20px; + color: inherit; + background-color: transparent +} + +.el-drawer__body { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + overflow: auto +} + +.el-drawer__body>* { + -webkit-box-sizing: border-box; + box-sizing: border-box +} + +.el-drawer.ltr, +.el-drawer.rtl { + height: 100%; + top: 0; + bottom: 0 +} + +.el-drawer.btt, +.el-drawer.ttb { + width: 100%; + left: 0; + right: 0 +} + +.el-drawer.ltr { + left: 0 +} + +.el-drawer.rtl { + right: 0 +} + +.el-drawer.ttb { + top: 0 +} + +.el-drawer.btt { + bottom: 0 +} + +.el-drawer__container { + position: relative; + left: 0; + right: 0; + top: 0; + bottom: 0; + height: 100%; + width: 100% +} + +.el-drawer-fade-enter-active { + -webkit-animation: el-drawer-fade-in .3s; + animation: el-drawer-fade-in .3s +} + +.el-drawer-fade-leave-active { + animation: el-drawer-fade-in .3s reverse +} + +.el-popconfirm__main { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.el-popconfirm__icon { + margin-right: 5px +} + +.el-popconfirm__action { + text-align: right; + margin: 0 +} + +.el-skeleton__item { + background: #f2f2f2; + display: inline-block; + height: 16px; + border-radius: 4px; + width: 100% +} + +.el-skeleton__circle { + border-radius: 50%; + width: 36px; + height: 36px; + line-height: 36px +} + +.el-skeleton__circle--lg { + width: 40px; + height: 40px; + line-height: 40px +} + +.el-skeleton__circle--md { + width: 28px; + height: 28px; + line-height: 28px +} + +.el-skeleton__button { + height: 40px; + width: 64px; + border-radius: 4px +} + +.el-skeleton__p { + width: 100% +} + +.el-skeleton__p.is-last { + width: 61% +} + +.el-skeleton__p.is-first { + width: 33% +} + +.el-skeleton__text { + width: 100%; + height: 13px +} + +.el-skeleton__caption { + height: 12px +} + +.el-skeleton__h1 { + height: 20px +} + +.el-skeleton__h3 { + height: 18px +} + +.el-skeleton__h5 { + height: 16px +} + +.el-skeleton__image { + width: unset; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + border-radius: 0 +} + +.el-skeleton__image svg { + fill: #DCDDE0; + width: 22%; + height: 22% +} + +@-webkit-keyframes el-skeleton-loading { + 0% { + background-position: 100% 50% + } + + 100% { + background-position: 0 50% + } +} + +@keyframes el-skeleton-loading { + 0% { + background-position: 100% 50% + } + + 100% { + background-position: 0 50% + } +} + +.el-skeleton { + width: 100% +} + +.el-skeleton__first-line { + height: 16px; + margin-top: 16px; + background: #f2f2f2 +} + +.el-skeleton__paragraph { + height: 16px; + margin-top: 16px; + background: #f2f2f2 +} + +.el-skeleton.is-animated .el-skeleton__item { + background: -webkit-gradient(linear, left top, right top, color-stop(25%, #f2f2f2), color-stop(37%, #e6e6e6), color-stop(63%, #f2f2f2)); + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; + -webkit-animation: el-skeleton-loading 1.4s ease infinite; + animation: el-skeleton-loading 1.4s ease infinite +} + +.el-skeleton__item { + background: #f2f2f2; + display: inline-block; + height: 16px; + border-radius: 4px; + width: 100% +} + +.el-skeleton__circle { + border-radius: 50%; + width: 36px; + height: 36px; + line-height: 36px +} + +.el-skeleton__circle--lg { + width: 40px; + height: 40px; + line-height: 40px +} + +.el-skeleton__circle--md { + width: 28px; + height: 28px; + line-height: 28px +} + +.el-skeleton__button { + height: 40px; + width: 64px; + border-radius: 4px +} + +.el-skeleton__p { + width: 100% +} + +.el-skeleton__p.is-last { + width: 61% +} + +.el-skeleton__p.is-first { + width: 33% +} + +.el-skeleton__text { + width: 100%; + height: 13px +} + +.el-skeleton__caption { + height: 12px +} + +.el-skeleton__h1 { + height: 20px +} + +.el-skeleton__h3 { + height: 18px +} + +.el-skeleton__h5 { + height: 16px +} + +.el-skeleton__image { + width: unset; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + border-radius: 0 +} + +.el-skeleton__image svg { + fill: #DCDDE0; + width: 22%; + height: 22% +} + +.el-empty { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 40px 0 +} + +.el-empty__image { + width: 160px +} + +.el-empty__image img { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + width: 100%; + height: 100%; + vertical-align: top; + -o-object-fit: contain; + object-fit: contain +} + +.el-empty__image svg { + fill: #DCDDE0; + width: 100%; + height: 100%; + vertical-align: top +} + +.el-empty__description { + margin-top: 20px +} + +.el-empty__description p { + margin: 0; + font-size: 14px; + color: #909399 +} + +.el-empty__bottom { + margin-top: 20px +} + +.el-descriptions-item { + vertical-align: top +} + +.el-descriptions-item__container { + display: -webkit-box; + display: -ms-flexbox; + display: flex +} + +.el-descriptions-item__container .el-descriptions-item__content, +.el-descriptions-item__container .el-descriptions-item__label { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: baseline; + -ms-flex-align: baseline; + align-items: baseline +} + +.el-descriptions-item__container .el-descriptions-item__content { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.el-descriptions-item__label.has-colon::after { + content: ':'; + position: relative; + top: -.5px +} + +.el-descriptions-item__label.is-bordered-label { + font-weight: 700; + color: #909399; + background: #fafafa +} + +.el-descriptions-item__label:not(.is-bordered-label) { + margin-right: 10px +} + +.el-descriptions-item__content { + word-break: break-word; + overflow-wrap: break-word +} + +.el-descriptions { + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-size: 14px; + color: #303133 +} + +.el-descriptions__header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin-bottom: 20px +} + +.el-descriptions__title { + font-size: 16px; + font-weight: 700 +} + +.el-descriptions__body { + color: #606266; + background-color: #fff +} + +.el-descriptions__body .el-descriptions__table { + border-collapse: collapse; + width: 100%; + table-layout: fixed +} + +.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell { + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: left; + font-weight: 400; + line-height: 1.5 +} + +.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left { + text-align: left +} + +.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center { + text-align: center +} + +.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right { + text-align: right +} + +.el-descriptions .is-bordered { + table-layout: auto +} + +.el-descriptions .is-bordered .el-descriptions-item__cell { + border: 1px solid #ebeef5; + padding: 12px 10px +} + +.el-descriptions :not(.is-bordered) .el-descriptions-item__cell { + padding-bottom: 12px +} + +.el-descriptions--medium.is-bordered .el-descriptions-item__cell { + padding: 10px +} + +.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell { + padding-bottom: 10px +} + +.el-descriptions--small { + font-size: 12px +} + +.el-descriptions--small.is-bordered .el-descriptions-item__cell { + padding: 8px 10px +} + +.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell { + padding-bottom: 8px +} + +.el-descriptions--mini { + font-size: 12px +} + +.el-descriptions--mini.is-bordered .el-descriptions-item__cell { + padding: 6px 10px +} + +.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell { + padding-bottom: 6px +} + +.el-descriptions-item { + vertical-align: top +} + +.el-descriptions-item__container { + display: -webkit-box; + display: -ms-flexbox; + display: flex +} + +.el-descriptions-item__container .el-descriptions-item__content, +.el-descriptions-item__container .el-descriptions-item__label { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: baseline; + -ms-flex-align: baseline; + align-items: baseline +} + +.el-descriptions-item__container .el-descriptions-item__content { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.el-descriptions-item__label.has-colon::after { + content: ':'; + position: relative; + top: -.5px +} + +.el-descriptions-item__label.is-bordered-label { + font-weight: 700; + color: #909399; + background: #fafafa +} + +.el-descriptions-item__label:not(.is-bordered-label) { + margin-right: 10px +} + +.el-descriptions-item__content { + word-break: break-word; + overflow-wrap: break-word +} + +.el-result { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + text-align: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 40px 30px +} + +.el-result__icon svg { + width: 64px; + height: 64px +} + +.el-result__title { + margin-top: 20px +} + +.el-result__title p { + margin: 0; + font-size: 20px; + color: #303133; + line-height: 1.3 +} + +.el-result__subtitle { + margin-top: 10px +} + +.el-result__subtitle p { + margin: 0; + font-size: 14px; + color: #606266; + line-height: 1.3 +} + +.el-result__extra { + margin-top: 30px +} + +.el-result .icon-success { + fill: #77B591 +} + +.el-result .icon-error { + fill: #D56262 +} + +.el-result .icon-info { + fill: #909399 +} + +.el-result .icon-warning { + fill: #E6A23C +} \ No newline at end of file diff --git a/src/styles/info.scss b/src/styles/info.scss new file mode 100644 index 0000000..a9d1358 --- /dev/null +++ b/src/styles/info.scss @@ -0,0 +1,126 @@ +@import "../styles/theme/_base.scss"; + +.avatar-uploader .el-upload { + border: 1px solid $gray2; + border-radius: $baseRadius1; + cursor: pointer; + position: relative; + overflow: hidden; +} + +.avatar-uploader .el-upload:hover { + border-color: #409eff; +} + +.avatar-uploader-icon { + font-size: 28px !important; + color: #8c939d !important; + width: 178px !important; + height: 178px !important; + line-height: 178px !important; + text-align: center !important; +} + +.avatar { + width: 122px; + height: 122px; + display: block; + border-radius: 50%; +} + +.main { + display: flex; + flex-wrap: wrap; + + .card { + width: 320px; + height: 296px; + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: center; + border-radius: $baseRadius2; + margin: $baseGap4; + padding: $baseGap4; + box-sizing: border-box; + position: relative; + background: $white1; + + .pic { + margin: $baseGap3; + + i { + font-size: 122px; + color: $brand8-normal; + } + } + + .info { + text-align: center; + margin-bottom: $baseGap6; + + span { + display: block; + } + } + + .info-edit-btn { + position: absolute; + bottom: $baseGap5; + left: 50%; + transform: translateX(-50%); + + .el-button:hover { + background-color: $brand8-normal; + color: white; + } + } + + .title { + margin: $baseGap4; + + .txt { + display: flex; + align-items: center; + position: absolute; + top: $baseGap4; + left: $baseGap4; + + i { + color: $brand8-normal; + } + + span { + margin-left: $baseGap2; + } + } + + .info-person-btn { + position: absolute; + top: $baseGap4; + right: $baseGap4; + + .el-button--small { + padding: 5px 12px !important; + } + } + } + + .demo-ruleForm { + .el-form-item--small.el-form-item { + margin-bottom: $baseGap4 !important; + } + + .el-input__inner { + height: 28px !important; + width: 200px !important; + } + + i { + font-size: $baseFont4; + color: black; + } + } + + } +} \ No newline at end of file diff --git a/src/styles/login.scss b/src/styles/login.scss new file mode 100644 index 0000000..ba59685 --- /dev/null +++ b/src/styles/login.scss @@ -0,0 +1,249 @@ +@import "./theme/_base.scss"; + +.login-copyright { + color: #999; + text-align: center; + position: absolute; + bottom: 24px; + left: 67px; + right: 67px; + font-size: 14px; + font-weight: 400; +} + +.login-container { + display: flex; + align-items: center; + position: relative; + width: 100%; + height: 100%; + margin: 0 auto; + background: url("/img/bg/bg.png"); + background-position: center; + background-repeat: no-repeat; + background-size: cover; +} + +.login-tip { + color: #0966C2; + text-align: center; + font-weight: 700; + font-size: 16px; +} + +.login-logo { + overflow: hidden; + width: 80%; + height: 100%; + margin: -50px auto 0px auto; + border-radius: $baseRadius1; + -webkit-box-shadow: 0 4px 40px rgba(0, 0, 0, 0.07); + box-shadow: 0 4px 40px rgba(0, 0, 0, 0.07); + background-color: #fff; + z-index: 1; + position: relative; + box-sizing: border-box; + padding: 1px; + + img { + width: 100%; + } +} + +.login-weaper { + margin: 0 calc(100%/36) 0 auto; + width: 480px; + height: 640px; + padding: 0 40px; + box-sizing: border-box; + box-shadow: 0 7px 25px rgba(0, 0, 0, 0.08); + background-color: #fff; + border-radius: $baseRadius3; + position: relative; +} + +.login-left, +.login-border { + padding: 0px 0 40px 0; + position: relative; + align-items: center; + display: flex; +} + +.login-left { + border-top-left-radius: $baseRadius1; + border-bottom-left-radius: $baseRadius1; + justify-content: center; + flex-direction: column; + background-color: #0966C2; + color: #fff; + float: left; + width: 50%; + position: relative; +} + +.login-left .img { + width: 140px; +} + +.login-left .title { + margin-top: 60px; + text-align: center; + color: #fff; + font-weight: 300; + letter-spacing: 2px; + font-size: 25px; +} + +.login-border { + border-left: none; + border-top-right-radius: $baseRadius1; + border-bottom-right-radius: $baseRadius1; + color: #fff; + background-color: #fff; + width: 100%; + float: left; + box-sizing: border-box; +} + +.login-main { + margin: 0 auto; + width: 100%; + box-sizing: border-box; +} + +.login-main>h3 { + margin-bottom: 20px; +} + +.login-main>p { + color: #76838f; +} + +.login-title { + color: #333; + margin-bottom: 30px; + font-weight: 500; + font-size: 22px; + text-align: center; + letter-spacing: 4px; +} + +.login-select { + input { + color: #333; + font-size: 14px; + font-weight: 400; + border: none; + text-align: center; + } +} + + + +.login-menu { + margin-top: 40px; + width: 100%; + text-align: center; + + a { + color: #0966C2; + font-weight: 700; + font-size: 12px; + margin: 0px 8px; + } +} + +.login-submit { + width: 100%; + height: 45px; + font-size: 18px; + letter-spacing: 5px; + text-indent: 5px; + font-weight: 300; + font-weight: 600; + cursor: pointer; + font-family: "Microsoft YaHei UI Light"; + transition: 0.25s; +} + +.login-form { + margin: 84px 0; + + i { + color:rgba(0, 0, 0, 0.4) + } + + .el-form-item__content { + width: 100%; + } + + .el-form-item { + margin-bottom: 24px; + } + + .el-input { + input { + // padding-bottom: 10px; + text-indent: 15px; + background: transparent; + // border: none; + border-radius: $baseRadius1; + color: #333; + border: 1px solid rgba(220, 220, 220, 1); + } + + input:hover { + border: 1px solid rgba(0, 82, 217, 1); + } + + input:focus { + border: 1px solid rgba(0, 82, 217, 1); + } + + .el-input__prefix { + i { + padding: 0 5px; + font-weight: 600; + font-size: 18px !important; + } + } + } +} + +.login-code { + display: flex; + align-items: center; + justify-content: space-around; + margin: 0 0 0 10px; +} + +.login-code-img { + margin-top: 2px; + width: 100px; + height: 38px; + background-color: #fdfdfd; + border: 1px solid #f0f0f0; + color: #333; + font-size: 14px; + font-weight: bold; + letter-spacing: 5px; + line-height: 38px; + text-indent: 5px; + text-align: center; +} + +.mini_qr { + position: fixed; + right: 60px; + bottom: 0; + padding: 36px; + padding-bottom: 85px; + z-index: 1000; +} + +.mini_qr p { + text-align: center; + color: #81818e; + font-size: 12px; +} \ No newline at end of file diff --git a/src/styles/media.scss b/src/styles/media.scss new file mode 100644 index 0000000..9029f44 --- /dev/null +++ b/src/styles/media.scss @@ -0,0 +1,166 @@ +.avue-left, +.avue-header, +.avue-top, +.avue-logo, +.avue-layout +.login-logo, +.avue-main { + transition: all .3s; +} +.avue-contail { + width: 100%; + height: 100%; + background: #f0f2f5; + background-size: 100%; + background-repeat: no-repeat; +} + + +.avue-left { + position: fixed; + left: 0; + top: 0; + width: 240px; + height: 100%; + z-index: 1025; +} + +.avue--collapse { + .avue-left, + .avue-logo { + width: 60px; + } + .avue-header { + padding-left: 60px; + } + .avue-main { + width: calc(100% - 60px); + left: 60px; + } +} + +.avue-header { + padding-left: 240px; + width: 100%; + background-color: #fff; + box-sizing: border-box; +} + +.avue-main { + position: absolute; + left: 240px; + padding: 0; + padding-bottom: 10px; + width: calc(100% - 240px); + height: calc(100% - 54px); + box-sizing: border-box; + overflow: hidden; +} + +.avue-view { + // padding-bottom: 12px; + width: 100%; + box-sizing: border-box; +} + +.avue-footer { + margin: 0 auto; + padding: 0 22px; + width: 1300px; + display: flex; + align-items: center; + justify-content: space-between; + .logo { + margin-left: -50px; + } + .copyright { + color: #666; + line-height: 1.5; + font-size: 12px; + } +} + +.avue-shade { + position: fixed; + display: none; + width: 100%; + height: 100%; + left: 0; + right: 0; + top: 0; + bottom: 0; + background-color: rgba(0, 0, 0, .3); + z-index: 1024; + &--show { + display: block; + } +} + +@media screen and (max-width: 992px) { + $width: 240px; + // ele的自适应 + .el-dialog, + .el-message-box { + width: 98% !important; + } + //登录页面 + .login-left { + display: none !important; + } + .login-logo { + padding-top: 30px !important; + margin-left: -30px; + } + .login-weaper{ + margin: 0 auto; + width: 96% !important; + } + .login-border { + border-radius: 5px; + padding: 40px; + margin: 0 auto; + float: none !important; + width: 100% !important; + } + .login-main { + width: 100% !important; + } + //主框架 + .avue-tags { + display: none; + } + .avue-left, + .avue-logo { + left: -$width; + } + .avue-main { + left: 0; + width: 100%; + height: calc(100% - 70px); + } + .avue-header { + margin-bottom: 15px; + padding-left: 15px; + } + .top-bar__item { + display: none; + } + .avue--collapse { + .avue-left, + .avue-logo { + width: $width; + left: 0; + } + .avue-main { + left: $width; + width: 100%; + } + .avue-header { + padding: 0; + transform: translate3d(230px, 0, 0); + } + .avue-shade { + display: block; + } + } +} diff --git a/src/styles/mixin.scss b/src/styles/mixin.scss new file mode 100644 index 0000000..0523edd --- /dev/null +++ b/src/styles/mixin.scss @@ -0,0 +1,73 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + ::-webkit-scrollbar-track-piece { + background-color: transparent; + } + ::-webkit-scrollbar { + width: 7px; + height: 7px; + background-color: transparent; + } + ::-webkit-scrollbar-thumb { + border-radius: 5px; + background-color: hsla(220, 4%, 58%, .3); + } +} + +@mixin radius($width, $size, $color) { + width: $width; + height: $width; + line-height: $width; + border-radius: $width; + text-align: center; + border-width: $size; + border-style: solid; + border-color: $color; +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} + +@mixin pct($pct) { + width: #{$pct}; + position: relative; + margin: 0 auto; +} + +@mixin triangle($width, $height, $color, $direction) { + $width: $width/2; + $color-border-style: $height solid $color; + $transparent-border-style: $width solid transparent; + height: 0; + width: 0; + @if $direction==up { + border-bottom: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + @else if $direction==right { + border-left: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } + @else if $direction==down { + border-top: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + @else if $direction==left { + border-right: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } +} \ No newline at end of file diff --git a/src/styles/normalize.scss b/src/styles/normalize.scss new file mode 100644 index 0000000..e51d268 --- /dev/null +++ b/src/styles/normalize.scss @@ -0,0 +1,502 @@ +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* +/*! 我就是自己看看,然后翻译下下,让大家看看 */ + +/* ========================================================================== + HTML5 display definitions + + HTML5 新增元素定义 + + ========================================================================== */ + +/** + * Correct `block` display not defined in IE 8/9. + * + * 修正IE 8/9 中未定义的块级元素。 + */ + + article, + aside, + details, + figcaption, + figure, + footer, + header, + hgroup, + main, + nav, + section, + summary { + display: block; + } + + /** + * Correct `inline-block` display not defined in IE 8/9. + * + * 修正在 IE 8/9 中未定义的 'inline-block' 元素。 + */ + + audio, + canvas, + video { + display: inline-block; + } + + /** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + * + * 阻止现在浏览器显示未定义 control 播放控件的 'audio' 声音元素。 + * 删除 IOS 5 设备中显示的多余的高度。 + */ + + audio:not([controls]) { + display: none; + height: 0; + } + + /** + * Address styling not present in IE 8/9. + * + * 处理 IE 8/9 中不存在的样式。 + */ + + [hidden] { + display: none; + } + + /* ========================================================================== + Base + + 基本设置 + ========================================================================== */ + + /** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + * + * 1. 设置默认字体类型为 sans-serif. + * 2. 当用户放大或缩小页面时不改变字体大小。 + */ + + html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /** + * Remove default margin. + * + * 删除默认边距。 + */ + + body { + margin: 0; + } + + /* ========================================================================== + Links + + 链接 + ========================================================================== */ + + /** + * Address `outline` inconsistency between Chrome and other browsers. + * + * 处理 Chrome 与其它浏览器中关于 'outline' 的不一致性。 + */ + + a:focus { + outline: thin dotted; + } + + /** + * Improve readability when focused and also mouse hovered in all browsers. + * + * 为所有浏览器改善当激活或悬停在元素上时元素内容的可读性。 + */ + + a:active, + a:hover { + outline: 0; + } + + /* ========================================================================== + Typography + + 排版 + ========================================================================== */ + + /** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + * + * 处理多变的 'h1' 字体大小及其在 Firefox 4+, Safari 5, 及 Chrome时浏览器中的 + * 'section' 与 'article' 元素中的边距。 + */ + + h1 { + font-size: 2em; + margin: 0.67em 0; + } + + /** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + * + * 处理在 IE 8/9, Safari 5, 及 Chrome 没有的样式。 + */ + + abbr[title] { + border-bottom: 1px dotted; + } + + /** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + * + * 处理 Firefox 4+, Safari 5, 及 Chrome 中默认的 'bolder' 样式为 'bold'. + */ + + b, + strong { + font-weight: bold; + } + + /** + * Address styling not present in Safari 5 and Chrome. + * + * 处理在 Safari 5 和 Chrome 没有的样式。 + */ + + dfn { + font-style: italic; + } + + /** + * Address differences between Firefox and other browsers. + * + * 处理 Firefox 与其它浏览器的差异。 + */ + + hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; + } + + /** + * Address styling not present in IE 8/9. + * + * 处理在 IE 8/9 中没有的样式。 + */ + + mark { + background: #ff0; + color: #000; + } + + /** + * Correct font family set oddly in Safari 5 and Chrome. + * + * 修正确 Safari 5 和 Chrome 中古怪的默认字体。 + */ + + code, + kbd, + pre, + samp { + font-family: monospace, serif; + font-size: 1em; + } + + /** + * Improve readability of pre-formatted text in all browsers. + * + * 为所有浏览器改善预格式化文本的可读性。 + */ + + pre { + white-space: pre-wrap; + } + + /** + * Set consistent quote types. + * + * 设置一致的引用格式。 + */ + + q { + quotes: "\201C" "\201D" "\2018" "\2019"; + } + + /** + * Address inconsistent and variable font size in all browsers. + * + * 处理所有浏览器中字体大小的不一致性[译者注:原文直译为:处理所有 + * 浏览器中的不一致和多变的字体大小]。 + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + * + * 阻止所有浏览器中 'sub' 和 'sup' 元素影响 'line-height'. + * [译者注:就是不让上标与下标影响行高。] + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sup { + top: -0.5em; + } + + sub { + bottom: -0.25em; + } + + /* ========================================================================== + Embedded content + + 嵌入的内容 + ========================================================================== */ + + /** + * Remove border when inside `a` element in IE 8/9. + * + * 删除 IE 8/9 中当内容位于 'a' 中出现的边框。 + */ + + img { + border: 0; + } + + /** + * Correct overflow displayed oddly in IE 9. + * + * 修正 IE 9 中显示古怪的溢出内容。 + */ + + svg:not(:root) { + overflow: hidden; + } + + /* ========================================================================== + Figures + + Figure 图像/图表/代码等 + ========================================================================== */ + + /** + * Address margin not present in IE 8/9 and Safari 5. + * + * 处理在 IE 8/9 和 Safari 5 没有的边距。 + */ + + figure { + margin: 0; + } + + /* ========================================================================== + Forms + ========================================================================== */ + + /** + * Define consistent border, margin, and padding. + * + * 定义一致的边框、外边距及内边距。 + */ + + fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; + } + + /** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + * 1. 修正在 IE 8/9 中没有继承的 'color'. + * + * [译者注:说是修正颜色嘛,可下面没有关于颜色的呀,这也行?求大神解释!] + * 2. 去掉内边距,避免当用户清空表单组时认为出错了。 + */ + + legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + * + * 1. 修正所有浏览器中未被继承的字体类型。 + * 2. 修正所有浏览器中未被继承的字体大小。 + * 3. 处理 Firefox 4+, Safari 5, 及 Chrome 中默认设置不同的外边距。 + */ + + button, + input, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 2 */ + margin: 0; /* 3 */ + } + + /** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + * + * 处理 Firefox 4+ 中的客户端样式表里使用 '!important' 设置的 'line-height'. + */ + + button, + input { + line-height: normal; + } + + /** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + * + * 处理 'button' 和 'select' 的 'text-transform' 继承的不一致性。 + * 所有其它表单控件元素不继承 'text-transform' 的值。 + * 修正 Chrome, Safari 5+, 及 IE 8+ 中 'button' 的继承样式。 + * 修正 Firefox 4+ 和 Opera 中 'select' 的继承样式。 + */ + + button, + select { + text-transform: none; + } + + /** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + * + * 1. 避免 Android 4.0.* 中 WebKit 的一个bug, 防止 'audio' 与 'video' 的播放控件失效。 + * 2. 修正 iOS 中不可点击的 'input' 样式。 + * 3. 改善图片类型的 'input' 等光标样式的可用性与一致性。 + */ + + button, + html input[type="button"], /* 1 */ + input[type="reset"], + input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + } + + /** + * Re-set default cursor for disabled elements. + * + * 重置不可用元素的默认光标样式。 + */ + + button[disabled], + html input[disabled] { + cursor: default; + } + + /** + * 1. Address box sizing set to `content-box` in IE 8/9. + * 2. Remove excess padding in IE 8/9. + * + * 1. 处理 IE 8/9 中设置为 'content-box' 的盒子模型。 + * 2. 删除 IE 8/9 中多余的内边距。 + */ + + input[type="checkbox"], + input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + * + * 1. 处理 Safari 5 和 Chrome 中默认设置为 'appearance' 的 'searchfield'. + * 2. 处理 Safari 5 和 Chrome 中默认设置为 'box-sizing' 的 'border-box' + * (包括不会过时的 '-moz'). + */ + + input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; + } + + /** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + * + * 删除 Safari 5 和 OS X 上的 Chrome 中的输入框上的内边距和搜索取消按钮。 + */ + + input[type="search"]::-webkit-search-cancel-button, + input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * Remove inner padding and border in Firefox 4+. + * + * 删除 Firefox 4+ button 与 input 上的内边距。 + */ + + button::-moz-focus-inner, + input::-moz-focus-inner { + border: 0; + padding: 0; + } + + /** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + * + * 1. 删除 IE8/9 中默认的垂直滚动条。 + * 2. 改善所有浏览器中的可读性并使文本垂直对齐。 + */ + + textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ + } + + /* ========================================================================== + Tables + + 表格 + ========================================================================== */ + + /** + * Remove most spacing between table cells. + * + * 删除表格里单元格间的间距。 + */ + + table { + border-collapse: collapse; + border-spacing: 0; + } + \ No newline at end of file diff --git a/src/styles/semi.scss b/src/styles/semi.scss new file mode 100644 index 0000000..06d39e8 --- /dev/null +++ b/src/styles/semi.scss @@ -0,0 +1,461 @@ +@import "./theme/_base.scss"; + +.semi { + &-brand-background-1 { + background-color: $brand1-light !important; + } + + &-brand-background-2 { + background-color: $brand2-focus !important; + } + + &-brand-background-3 { + background-color: $brand3-disabled !important; + } + + &-brand-background-7 { + background-color: $brand7-hover !important; + } + + &-brand-background-8 { + background-color: $brand8-normal !important; + } + + &-brand-background-9 { + background-color: $brand9-click !important; + } + + &-error-background-1 { + background-color: $error1-light !important; + } + + &-error-background-2 { + background-color: $error2-focus !important; + } + + &-error-background-3 { + background-color: $error3-disabled !important; + } + + &-error-background-5 { + background-color: $error5-hover !important; + } + + &-error-background-6 { + background-color: $error6-normal !important; + } + + &-error-background-7 { + background-color: $error7-click !important; + } + + &-warning-background-1 { + background-color: $warning1-light !important; + } + + &-warning-background-2 { + background-color: $warning2-focus !important; + } + + &-warning-background-3 { + background-color: $warning3-disabled !important; + } + + &-warning-background-4 { + background-color: $warning5-hover !important; + } + + &-warning-background-5 { + background-color: $warning6-normal !important; + } + + &-warning-background-6 { + background-color: $warning7-click !important; + } + + &-success-background-1 { + background-color: $success1-light !important; + } + + &-success-background-2 { + background-color: $success2-focus !important; + } + + &-success-background-3 { + background-color: $success3-disabled !important; + } + + &-success-background-4 { + background-color: $success5-hover !important; + } + + &-success-background-5 { + background-color: $success6-normal !important; + } + + &-success-background-6 { + background-color: $success7-click !important; + } + + // 文字-常规 + &-base-font-1 { + font-size: $baseFont1; + line-height: $baseFont1 + 8px; + } + + &-base-font-2 { + font-size: $baseFont2; + line-height: $baseFont2 + 8px; + } + + &-base-font-3 { + font-size: $baseFont3; + line-height: $baseFont3 + 8px; + } + + &-base-font-4 { + font-size: $baseFont4; + line-height: $baseFont4 + 8px; + } + + &-base-font-5 { + font-size: $baseFont5; + line-height: $baseFont5 + 8px; + } + + // 文字-加粗 + &-base-font-w-1 { + font-size: $baseFont1; + line-height: $baseFont1 + 8px; + font-weight: 500; + } + + &-base-font-w-2 { + font-size: $baseFont2; + line-height: $baseFont2 + 8px; + font-weight: 500; + } + + &-base-font-w-3 { + font-size: $baseFont3; + line-height: $baseFont3 + 8px; + font-weight: 500; + } + + &-base-font-w-4 { + font-size: $baseFont4; + line-height: $baseFont4 + 8px; + font-weight: 500; + } + + &-base-font-w-5 { + font-size: $baseFont5; + line-height: $baseFont5 + 8px; + font-weight: 500; + } + + // 圓角 + &-base-radius-1 { + border-radius: $baseRadius1; + } + + &-base-radius-2 { + border-radius: $baseRadius2; + } + + &-base-radius-3 { + border-radius: $baseRadius3; + } +} + +//共用message template +.semi-msg-template { + top: 80px !important; + left: 50%; + transform: translate(-50%, -50%); + color: $font-gy1; + font-size: $baseFont1; + border-radius: $baseRadius1; + background: $font-wh1; + box-shadow: $baseShadow1; + justify-content: flex-start; + padding: 8px 16px 8px 16px; + line-height: 22px; + + i { + color: $success7-click !important; + } + + p { + color: $font-gy1 !important; + + } + +} + +//共用droplist template +.semi-droplist { + border-radius: $baseRadius1; + padding: $baseGap1; + position: absolute; + top: 32px!important; + margin-right: 8px!important; + + li { + border-radius: $baseRadius1; + text-align: left; + vertical-align: middle; + color: $font-gy1 !important; + font-size: 14px !important; + font-weight: 400 !important; + letter-spacing: 0px !important; + line-height: 22px !important; + padding: 0px !important; + // padding-bottom: 0px!important; + + a:hover { + background-color: $brand8-normal !important; + color: $white1 !important; + } + + a, + div { + padding: 6px 8px 6px 8px !important; + display: block; + border-radius: $baseRadius1; + + font-weight: 400!important; + letter-spacing: 0px!important; + line-height: 22px!important; + text-align: left!important; + } + + } + + li:hover { + background-color: $brand8-normal !important; + color: $white1 !important; + } + + +} + + +.semi-router-icon { + display: inline !important; + padding: 0px !important; + font-size: 20px !important; + top: 5px; + position: relative; + margin-right: 8px +} + + +.login-float-icon-area { + position: fixed; + top: 40px; + left: 40px; + + img { + margin-left: 10px; + height: 32px; + } +} + +.login-weaper-left { + margin: 0 auto 0 auto; + margin-left: calc(100% / 36); + // width: 100%; + // height: 100%; + display: block; + position: relative; + width: calc(100% - (100%/36) - (100%/36) - 480px); + height: auto; + padding-top: 52.63%; + /* 1000 / 1900 * 100 = 52.6315% */ + overflow: hidden; +} + +.login-weaper-left-img { + background: url("../assets/standar/login/img-imes.png"); + display: block; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + max-width: 100%; + max-height: 100%; + background-repeat: no-repeat; + background-size: contain; + background-position: 50% 50%; + image-rendering: -moz-crisp-edges; + /* Firefox */ + image-rendering: -o-crisp-edges; + /* Opera */ + image-rendering: -webkit-optimize-contrast; + /*Webkit (non-standard naming) */ + image-rendering: crisp-edges; + -ms-interpolation-mode: nearest-neighbor; + /* IE (non-standard property) */ +} + + +.iep_login_icon_area { + display: table; + font-weight: 100; + font-size: 36px; + margin: 95px auto 0 ; + padding: 0px 35px; + + .iep_login_menu_icon { + background: url("../assets/standar/login/iMES-login.png"); + width: 300px; + height: 40px; + display: table-cell; + vertical-align: middle; + background-repeat: no-repeat; + background-size: contain; + background-position: 50% 50%; + + } + + .iep_login_menu_title { + color: $font-gy1; + display: inline-block; + padding-left: $baseGap2; + display: table-cell; + vertical-align: middle; + font-size: $baseFont1; + font-weight: 400; + + } +} + + +.el-select-dropdown__item { + font-size: $baseFont4; +} + +.login_tenant_select, +.login_lng_select { + width: 100%; + height: 40px; +} + + +.el-message-box { + min-width: 360px; + max-width: 1366px; + border-radius: 12px; + background: $font-wh1; + box-shadow: $baseShadow3; + width: auto !important; + padding: $baseGap4 $baseGap4 $baseGap6 $baseGap6 !important; +} + +.el-message-box__title { + padding-left: 0px !important; + padding-right: 0px !important; + + button[aria-label='close'] { + i { + color: $font-gy1; + } + } +} + +.el-message-box__message { + p { + -webkit-line-clamp: 3; + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; + + font-size: $baseFont4; + font-weight: 400; + letter-spacing: 0px; + line-height: 22px; + color: $font-gy1; + text-align: left; + vertical-align: middle; + } +} + +.el-button--primary { + background-color: $brand8-normal !important; +} + +.el-button--primary:hover { + background-color: $brand7-hover !important; +} + +.el-button--primary.is-plain { + color: white !important; +} +.el-button--primary.is-disabled, +.el-button--primary.is-disabled:hover{ + background-color: $brand3-disabled!important; + border-color: $brand3-disabled!important; +} + + +.el-select-dropdown__item.selected{ + span{ + display: block; + line-height: 34px; + padding-top: 5px; + } + span::after{ + content: url('https://api.iconify.design/carbon:checkmark.svg?color=%230966c2'); + font-family: "Carbon" !important; + float: right; + margin-right: 8px; + line-height: 34px; + } + + .el-tree.tree-option{ + span::after{ + content: ""; + + } + } +} + +.basic-containe-custom { + background-color: #ffffff !important; + padding: 8px 10px; + border-radius: 12px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 100% +} + +.flex-content{ + height: 100%; + width: 100%; + padding: 10px; + display: -webkit-flex; + display: flex; + -webkit-flex-direction: row; + flex-direction: column; +} +.flex-auto{ + -webkit-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 0 +} + +.flex-none{ + flex:none +} + +@media (max-width: 1024px) { + .login-weaper-left { + display: none; + } + + .login-weaper { + margin-right: auto !important; + } +} \ No newline at end of file diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss new file mode 100644 index 0000000..4483a5f --- /dev/null +++ b/src/styles/sidebar.scss @@ -0,0 +1,101 @@ +.avue-sidebar { + user-select: none; + position: relative; + padding-top: 60px; + height: 100%; + position: relative; + background-color: #20222a; + transition: width .2s; + box-sizing: border-box; + box-shadow: 2px 0 6px rgba(0,21,41,.35); + &--tip{ + width:90%; + height: 140px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 5px; + position: absolute; + top:5px; + left:5%; + color:#ccc; + z-index: 2; + text-align: center; + font-size: 14px; + background-color: rgba(0,0,0,.4); + } + .el-menu-item, + .el-submenu__title { + font-size: 14px; + height: 36px; + line-height: 36px; + } + .el-menu-item { + span,i{ + color:rgba(255, 255, 255, 0.7); + } + &:hover { + background-color: transparent; + color: #fff; + span, + i { + color: #fff; + } + } + &.is-active { + background-color: rgba(0, 0, 0, .8); + span, + i { + color: #fff; + } + &:hover { + background-color: rgba(0, 0, 0, .8); + } + &::before { + content: " "; + top: 0; + left: 0; + bottom: 0; + width: 4px; + background: $mainBg; + position: absolute + } + } + } + .el-submenu__title { + span,i{ + color:rgba(255, 255, 255, 0.7); + } + &:hover { + i, + span { + color: #fff; + } + background-color:transparent ; + } + } + .el-submenu .el-menu-item { + height: 36px; + line-height: 36px; + span,i{ + color:rgba(255, 255, 255, 0.7); + } + &.is-active { + background-color: rgba(0, 0, 0, .8); + span, + i { + color: #fff + } + &:hover { + background-color: rgba(0, 0, 0, .8); + } + } + &:hover { + background-color: transparent; + span, + i { + color: #fff; + } + } + } +} diff --git a/src/styles/tags.scss b/src/styles/tags.scss new file mode 100644 index 0000000..4d6051d --- /dev/null +++ b/src/styles/tags.scss @@ -0,0 +1,92 @@ + + +.avue-tags { + user-select: none; + position: relative; + padding: 0 10px; + margin-bottom: 10px; + box-sizing: border-box; + overflow: hidden; + border-top: 1px solid #f6f6f6; + background-color: transparent !important; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); + .el-tabs--card>.el-tabs__header { + margin: 0; + } + .el-tabs--card>.el-tabs__header .el-tabs__nav, + .el-tabs--card>.el-tabs__header .el-tabs__item, + .el-tabs--card>.el-tabs__header { + border: none; + } + .el-tabs--card>.el-tabs__header .el-tabs__item:first-child { + border-left-width: 1px + } + .el-tabs--card>.el-tabs__header .el-tabs__item { + margin: 0 3px; + height: 40px; + line-height:40px; + font-size: 13px; + font-weight: normal; + color: #ccc; + &.is-active { + color: #0966C2; + border-bottom: 3px solid #0966C2; + } + } + .el-tabs__nav-prev, + .el-tabs__nav-next { + width: 20px; + line-height: 34px; + font-size: 18x; + text-align: center; + } + &__box { + position: relative; + box-sizing: border-box; + padding-right: 106px; + width: 100%; + &--close { + .el-tabs__item { + &:first-child { + padding: 0 20px !important; + .el-icon-close { + display: none; + } + } + } + } + } + &__contentmenu{ + position: fixed; + width:120px; + background-color: #fff; + z-index:1024; + border-radius: 5px; + box-shadow: 1px 2px 10px #ccc; + .item{ + cursor: pointer; + font-size: 14px; + padding: 8px 20px 8px 15px; + color: #606266; + &:first-child{ + border-top-left-radius: 5px; + border-top-right-radius: 5px; + } + &:last-child{ + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + } + &:hover{ + background-color: #0966C2; + color:#fff; + } + } + } + &__menu { + position: absolute !important; + top: 3px; + right: 0; + padding: 1px 0 0 15px; + box-sizing: border-box; + } +} diff --git a/src/styles/theme/_base.scss b/src/styles/theme/_base.scss new file mode 100644 index 0000000..b9e7bd2 --- /dev/null +++ b/src/styles/theme/_base.scss @@ -0,0 +1,96 @@ +// 标准 +$brand1-light: #ecf2fe; +$brand2-focus: #d4e3fc; +$brand3-disabled: #bbd3fb; +$brand7-hover: #266fe8; +$brand8-normal: #0052d9; +$brand9-click: #0034b5; + +// 错误 +$error1-light: #fdecee; +$error2-focus: #f9d7d9; +$error3-disabled: #f8b9be; +$error5-hover: #f36d78; +$error6-normal: #e34d59; +$error7-click: #c9353f; + +// 警告 +$warning1-light: #fef3e6; +$warning2-focus: #f9e0c7; +$warning3-disabled: #f7c797; +$warning5-hover: #f2995f; +$warning6-normal: #ed7b2f; +$warning7-click: #d35a21; + +// 成功 +$success1-light: #e8f8f2; +$success2-focus: #bcebdc; +$success3-disabled: #85dbbe; +$success5-hover: #48c79c; +$success6-normal: #00a870; +$success7-click: #078d5c; + +// 輔助色 +$orange: #ffc300; +$green: #a5d63f; +$cyan: #00baad; +$purple: #7948ea; + +// 文字&图标色 +$font-gy1: rgba(0, 0, 0, 0.9); +$font-gy2: rgba(0, 0, 0, 0.6); +$font-gy3: rgba(0, 0, 0, 0.4); +$font-gy4: rgba(0, 0, 0, 0.26); + +$font-wh1: rgba(255, 255, 255, 1); +$font-wh2: rgba(255, 255, 255, 0.55); +$font-wh3: rgba(255, 255, 255, 0.35); +$font-wh4: rgba(255, 255, 255, 0.22); + +// 中性色版 +$white1: #ffffff; +$gray1: #f3f3f3; +$gray2: #eeeeee; +$gray3: #e7e7e7; +$gray4: #dcdcdc; +$gray5: #c5c5c5; +$gray6: #a6a6a6; + +// 間距 +$baseGap1: 4px; +$baseGap2: $baseGap1*2; +$baseGap3: $baseGap1*3; +$baseGap4: $baseGap1*4; +$baseGap5: $baseGap1*5; +$baseGap6: $baseGap1*6; +$baseGap7: $baseGap1*7; +$baseGap8: $baseGap1*8; +$baseGap9: $baseGap1*9; +$baseGap10: $baseGap1*10; +$baseGap12: $baseGap1*12; +$baseGap16: $baseGap1*16; +$baseGap24: $baseGap1*24; +$baseGap40: $baseGap1*40; + +// 圓角 +$baseRadius1: 4px; +$baseRadius2: $baseRadius1*2; +$baseRadius3: $baseRadius1*3; + +// 陰影 +$baseShadow1: 0 1px 10px rgba(0, 0, 0, 0.05), + 0 4px 5px rgba(0, 0, 0, 0.08), + 0 2px 4px -1px rgba(0, 0, 0, 0.12); +$baseShadow2: 0 3px 14px 2px rgba(0, 0, 0, 0.05), + 0 8px 10px 1px rgba(0, 0, 0, 0.06), + 0 5px 5px -3px rgba(0, 0, 0, 0.10); +$baseShadow3: 0 6px 30px 5px rgba(0, 0, 0, 0.05), + 0 16px 24px 2px rgba(0, 0, 0, 0.04), + 0 8px 10px -5px rgba(0, 0, 0, 0.08); + +// 字体 +$baseFont1: 36px; +$baseFont2: 20px; +$baseFont3: 16px; +$baseFont4: 14px; +$baseFont5: 12px; \ No newline at end of file diff --git a/src/styles/theme/default.scss b/src/styles/theme/default.scss new file mode 100644 index 0000000..dcd3a2a --- /dev/null +++ b/src/styles/theme/default.scss @@ -0,0 +1,238 @@ +.theme-default { + + .avue-header, + .avue-logo, + .tags-container { + background-color: #354A5F; + } + + .avue-sidebar--tip { + background-color: transparent; + color: #333; + } + + .el-dropdown { + color: #fff; + } + + .avue-logo_title { + font-weight: 400; + color: #fff; + } + + .logo_title, + .avue-breadcrumb { + color: #fff; + + i { + color: #fff; + } + } + + .avue-top { + .el-menu-item { + + i, + span { + color: #fff; + } + + &:hover { + + i, + span { + color: #fff; + } + } + } + } + + .el-menu--popup { + background-color: #fff; + + .el-menu-item { + background-color: #fff; + + span, + i { + color: #666; + } + + &.is-active { + background-color: #E5F0FA; + + span, + i { + color: #fff; + } + } + } + } + + .avue-sidebar { + background-color: #4F6172; + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.15); + + .el-menu-item, + .el-submenu__title { + + i, + span { + color: #fff; + } + + //background-color:#fff ; + } + + .el-menu-item, + .el-submenu__title { + &:hover { + background-color: transparent; + + i, + span { + color: #5FA1E3; + } + } + } + + .el-menu-item.is-active, + .el-submenu__title.is-active { + background-color: #4F6172; + + i, + span { + color: #7FA6CC; + } + + &::before { + display: none; + } + + &:hover { + background-color: #D8E2EB; + + i, + span { + color: #666; + } + } + } + } + + .top-bar__item { + i { + color: #fff; + } + } + + // 調整Table Title背景&字體顏色 + .el-table { + th { + background-color: #F7F7F7; + color: #595959; + } + } + + // 調整菜單檢索Input字體顏色 + .custom-search { + .el-input__inner { + color: #fff !important; + } + } + + //el-form label + .el-form-item__label { + color: #000000 !important; + } + + // 調整AVUE表單背景色(Search部分) + .basic-container { + .avue-form:not(.no-background) { + .avue-form__group.avue-form__group--flex { + padding-top: 1.5em; + background-color: #e2e2e2 !important; + } + } + + // 調整AVUE表單背景色(Table Header部分) + .el-table th { + background-color: #e2e2e2 !important; + } + + .el-card__body { + margin-top: 10px; + } + + .el-table { + font-size: 14px; + font-weight: 500; + border-bottom: 1px solid; + + tbody tr:hover>td { + background-color: #aadce7 !important; + } + + tbody tr.current-row>td { + background-color: #92cbf1 !important; + } + + thead { + font-size: 14px; + } + + td.el-table__cell, + th.el-table__cell { + border: 1px solid #bcbcbc; + } + + .el-table__fixed-body-wrapper .el-table__body { + padding-bottom: 15px; + } + + .el-table__body-wrapper { + overflow-x: scroll !important; //直接设置横轴内容滚动条 即可撑高高度 还不影响使用 + } + } + + // table odd 配色 + tr.el-table__row--striped td.el-table__cell { + background: #f5f7fc; + } + + // hover 顏色 + tr.hover-row { + td.el-table__cell { + background-color: #aadce7 !important; + } + } + + .custom-background { + padding-top: 1.5em; + background-color: #e2e2e2 !important; + } + } + + // el-tree + .custTreeStyle { + + // font + .el-tree-node__label { + font-weight: 500; + color: black; + } + + // hover + .el-tree-node__content { + &:hover { + background: #aadce7; + } + } + } + + .cust-flex-center { + display: flex; + justify-content: center; + align-items: center; + } +} \ No newline at end of file diff --git a/src/styles/theme/index.scss b/src/styles/theme/index.scss new file mode 100644 index 0000000..f116dc5 --- /dev/null +++ b/src/styles/theme/index.scss @@ -0,0 +1,2 @@ +// 默認主题 +@import './standar.scss'; diff --git a/src/styles/theme/standar.scss b/src/styles/theme/standar.scss new file mode 100644 index 0000000..a2e22cf --- /dev/null +++ b/src/styles/theme/standar.scss @@ -0,0 +1,318 @@ +@import "./_base.scss"; + +.theme-default { + font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif !important; + + .avue-header, + .avue-logo, + .tags-container { + background-color: $brand8-normal; + } + + .avue-sidebar--tip { + background-color: transparent; + color: #333; + } + + .el-dropdown { + color: #fff; + } + + .avue-logo_title { + font-weight: 400; + color: #fff; + } + + .logo_title, + .avue-breadcrumb { + color: #fff; + + i { + color: #fff; + } + } + + .avue-top { + .el-menu-item { + + i, + span { + color: #fff; + } + + &:hover { + + i, + span { + color: #fff; + } + } + } + } + + .el-menu--popup { + margin-left: $baseGap1; + background-color: white !important; + border-radius: $baseRadius2; + + .el-submenu { + margin-bottom: $baseGap1; + } + + .el-menu-item, + .el-submenu__title { + background-color: white; + height: 32px; + line-height: 32px; + border-radius: $baseRadius2; + min-width: 176px !important; + margin: 0 $baseGap3 $baseGap1; + padding-left: $baseGap3 !important; + + span, + i { + color: $font-gy2; + } + + &.is-active { + background-color: $brand8-normal; + + i, + span { + color: white; + } + } + + &.is-active:hover { + background-color: $brand8-normal; + } + + &:hover { + background-color: $brand1-light; + border-radius: $baseRadius2; + } + } + } + + .avue-sidebar { + min-width: 64px; + max-width: 232px; + background-color: white !important; + box-shadow: $baseShadow1; + + .el-menu { + .el-submenu { + min-width: 32px; + max-width: 208px; + margin-bottom: $baseGap1 !important; + } + + [style="padding-left: 20px;"] { + padding-left: $baseGap3 !important; + margin-left: $baseGap3 !important; + } + + [style="padding-left: 40px;"] { + padding-left: 36px !important; + margin-left: $baseGap3 !important; + } + + [style="padding-left: 60px;"] { + padding-left: 50px !important; + margin-left: $baseGap3 !important; + } + } + + .el-menu--collapse { + .el-submenu { + width: 40px; + max-height: 32px; + line-height: 32px; + margin-bottom: $baseGap1 !important; + } + + [style="padding-left: 20px;"] { + padding-left: $baseGap1 !important; + margin-left: $baseGap4 !important; + } + + .el-tooltip { + padding-left: 10px !important; + } + } + + .el-menu-item, + .el-submenu__title { + border-radius: $baseRadius2; + margin-bottom: $baseGap1 !important; + + &:hover { + background-color: $brand1-light !important; + + i, + span { + color: $font-gy2 !important; + } + } + + i, + span { + color: rgba(0, 0, 0, 0.6); + } + } + + .el-menu-item.is-active, + .el-submenu__title.is-active { + background-color: $brand8-normal !important; + + i, + span { + color: $font-wh1 !important; + } + + &::before { + display: none; + } + + &:hover { + background-color: $brand8-normal; + + i, + span { + color: white; + } + } + } + + // 二級選單 + .el-submenu.is-opened .el-menu .menu-wrapper .el-submenu.is-opened .el-submenu__title { + span { + color: $brand8-normal !important; + } + } + } + + .top-bar__item { + i { + color: #fff; + } + } + + // 調整Table Title背景&字體顏色 + .el-table { + th { + background-color: rgba(243, 243, 243, 1); + color: $font-gy2; + } + } + + // 調整菜單檢索Input字體顏色 + .custom-search { + .el-input__inner { + color: #191919 !important; + } + } + + //el-form label + .el-form-item__label { + color: #000000 !important; + } + + // 調整AVUE表單背景色(Search部分) + .basic-container { + background-color: $white1 !important; + + .custom-search-form { + padding: 20px 10px; + margin-bottom: 10px + } + + .avue-form:not(.no-background) { + .avue-form__group.avue-form__group--flex { + padding-top: 1.5em; + background-color: transparent !important; + } + } + + // 調整AVUE表單背景色(Table Header部分) + .el-table th { + background-color: rgba(243, 243, 243, 1) !important; + color: $font-gy2; + } + + .el-card__body { + margin-top: 10px; + } + + .el-table { + font-size: 14px; + font-weight: 500; + border-bottom: none; + + tbody tr:hover > td { + background-color: $brand1-light !important; + } + + tbody tr.current-row > td { + background-color: $brand2-focus !important; + } + + thead { + font-size: 14px; + } + + td.el-table__cell, + th.el-table__cell { + border: 1px solid $gray2; + } + + .el-table__fixed-body-wrapper .el-table__body { + padding-bottom: 15px; + } + + .el-table__body-wrapper { + overflow-x: scroll !important; //直接设置横轴内容滚动条 即可撑高高度 还不影响使用 + } + } + + // table odd 配色 + tr.el-table__row--striped td.el-table__cell { + background: $white1; + } + + // hover 顏色 + tr.hover-row { + td.el-table__cell { + background-color: $brand1-light !important; + } + } + + .custom-background { + padding-top: 1.5em; + background-color: transparent !important; + } + } + + // el-tree + .custTreeStyle { + + // font + .el-tree-node__label { + font-weight: 500; + color: black; + } + + // hover + .el-tree-node__content { + &:hover { + background: $brand1-light; + } + } + } + + .cust-flex-center { + display: flex; + justify-content: center; + align-items: center; + } +} diff --git a/src/styles/top.scss b/src/styles/top.scss new file mode 100644 index 0000000..c28732e --- /dev/null +++ b/src/styles/top.scss @@ -0,0 +1,102 @@ +.avue-top { + padding: 0 20px; + position: relative; + box-shadow: 0 1px 4px rgba(0,21,41,.08); + color: rgba(0, 0, 0, .65); + font-size: 28px; + height: 54px; + box-sizing: border-box; + white-space: nowrap; + .el-menu-item{ + i,span{ + font-size: 13px; + } + } +} +.avue-breadcrumb { + height: 100%; + i{ + font-size: 30px !important; + } + &--active { + transform:rotate(90deg); + } +} + +.top-menu { + box-sizing: border-box; + .el-menu-item { + padding: 0 10px; + border:none !important; + } +} + +.top-search { + line-height: 54px; + position: absolute !important; + left: 20px; + top:0; + width: 400px !important; + .el-input__inner { + font-size: 13px; + border: none; + background-color: transparent; + } +} + +.top-bar__img { + margin: 0 8px 0 5px; + padding: 2px; + width: 30px; + height: 30px; + border-radius: 100%; + box-sizing: border-box; + border: 1px solid #eee; + vertical-align: middle; +} + +.top-bar__left, +.top-bar__right { + height: 54px; + position: absolute; + top: 0; + i{ + line-height: 54px; + } +} + +.top-bar__left { + left: 12px; +} + +.top-bar__right { + right: 0; + display: flex; + align-items: center; +} + +.top-bar__item { + position: relative; + display: inline-block; + height: 54px; + margin:0 10px; + font-size: 16px; + &--show { + display: inline-block !important; + } + .el-badge__content.is-fixed{ + top:12px; + right: 5px; + } +} + +.top-bar__title { + height: 100%; + padding:0 40px; + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: inherit; + font-weight: 400; +} diff --git a/src/styles/variables.scss b/src/styles/variables.scss new file mode 100644 index 0000000..219e4a7 --- /dev/null +++ b/src/styles/variables.scss @@ -0,0 +1,2 @@ +//main +$mainBg: #409eff; diff --git a/src/types/message-box.d.ts b/src/types/message-box.d.ts new file mode 100644 index 0000000..15fd64a --- /dev/null +++ b/src/types/message-box.d.ts @@ -0,0 +1,149 @@ +import Vue from 'vue' +import {MessageType} from './message' + +export type MessageBoxCloseAction = 'confirm' | 'cancel' +export type MessageBoxData = MessageBoxCloseAction | MessageBoxInputData + +export interface MessageBoxInputData { + value: string, + action: MessageBoxCloseAction +} + +export interface MessageBoxInputValidator { + (value: string): boolean | string +} + +export declare class ElMessageBoxComponent extends Vue { + title: string + message: string + type: MessageType + customClass: string + showInput: boolean + inputValue: string + inputPlaceholder: string + inputPattern: RegExp + inputValidator: MessageBoxInputValidator + inputErrorMessage: string + showConfirmButton: boolean + showCancelButton: boolean + action: MessageBoxCloseAction + confirmButtonText: string + cancelButtonText: string + confirmButtonLoading: boolean + cancelButtonLoading: boolean + confirmButtonClass: string + confirmButtonDisabled: boolean + cancelButtonClass: string + editorErrorMessage: string +} + +/** Options used in MessageBox */ +export interface ElMessageBoxOptions { + /** Title of the MessageBox */ + title?: string + + /** Content of the MessageBox */ + message?: string + + /** Message type, used for icon display */ + type?: MessageType + + /** Custom class name for MessageBox */ + customClass?: string + + /** MessageBox closing callback if you don't prefer Promise */ + callback?: (action: MessageBoxCloseAction, instance: ElMessageBoxComponent) => void + + /** Callback before MessageBox closes, and it will prevent MessageBox from closing */ + beforeClose?: (action: MessageBoxCloseAction, instance: ElMessageBoxComponent, done: (() => void)) => void + + /** Whether to lock body scroll when MessageBox prompts */ + lockScroll?: boolean + + /** Whether to show a cancel button */ + showCancelButton?: boolean + + /** Whether to show a confirm button */ + showConfirmButton?: boolean + + /** Text content of cancel button */ + cancelButtonText?: string + + /** Text content of confirm button */ + confirmButtonText?: string + + /** Custom class name of cancel button */ + cancelButtonClass?: string + + /** Custom class name of confirm button */ + confirmButtonClass?: string + + /** Whether MessageBox can be closed by clicking the mask */ + closeOnClickModal?: boolean + + /** Whether MessageBox can be closed by pressing the ESC */ + closeOnPressEscape?: boolean + + /** Whether to show an input */ + showInput?: boolean + + /** Placeholder of input */ + inputPlaceholder?: string + + /** Initial value of input */ + inputValue?: string + + /** Regexp for the input */ + inputPattern?: RegExp + + /** Validation function for the input. Should returns a boolean or string. If a string is returned, it will be assigned to inputErrorMessage */ + inputValidator?: MessageBoxInputValidator + + /** Error message when validation fails */ + inputErrorMessage?: string +} + +export interface ElMessageBoxShortcutMethod { + (message: string, title: string, options?: ElMessageBoxOptions): Promise + + (message: string, options?: ElMessageBoxOptions): Promise +} + +export interface ElMessageBox { + /** Show a message box */ + (message: string, title?: string, type?: string): Promise + + /** Show a message box */ + (options: ElMessageBoxOptions): Promise + + /** Show an alert message box */ + alert: ElMessageBoxShortcutMethod + + /** Show a comfirm message box */ + confirm: ElMessageBoxShortcutMethod + + /** Show a prompt message box */ + prompt: ElMessageBoxShortcutMethod + + /** Set default options of message boxes */ + setDefaults(defaults: ElMessageBoxOptions) + + /** Close current message box */ + close() +} + +declare module 'vue/types/vue' { + interface Vue { + /** Show a message box */ + $msgbox: ElMessageBox + + /** Show an alert message box */ + $alert: ElMessageBoxShortcutMethod + + /** Show a confirm message box */ + $confirm: ElMessageBoxShortcutMethod + + /** Show a prompt message box */ + $prompt: ElMessageBoxShortcutMethod + } +} \ No newline at end of file diff --git a/src/types/message.d.ts b/src/types/message.d.ts new file mode 100644 index 0000000..fbd0a13 --- /dev/null +++ b/src/types/message.d.ts @@ -0,0 +1,69 @@ +import Vue from 'vue' + +export type MessageType = 'success' | 'warning' | 'info' | 'error' + +/** Message Component */ +export declare class ElMessageComponent extends Vue { + /** Close the Loading instance */ + close () +} + +export interface CloseEventHandler { + /** + * Triggers when a message is being closed + * + * @param instance The message component that is being closed + */ + (instance: ElMessageComponent): void +} + +/** Options used in Message */ +export interface ElMessageOptions { + /** Message text */ + message: string + + /** Message type */ + type?: MessageType + + /** Custom icon's class, overrides type */ + iconClass?: string + + /** Custom class name for Message */ + customClass?: string + + /** Display duration, millisecond. If set to 0, it will not turn off automatically */ + duration?: number + + /** Whether to show a close button */ + showClose?: boolean + + /** Callback function when closed with the message instance as the parameter */ + onClose?: CloseEventHandler +} + +export interface ElMessage { + /** Show an info message */ + (text: string): ElMessageComponent + + /** Show message */ + (options: ElMessageOptions): ElMessageComponent + + /** Show a success message */ + success (text: string): ElMessageComponent + + /** Show a warning message */ + warning (text: string): ElMessageComponent + + /** Show an info message */ + info (text: string): ElMessageComponent + + /** Show an error message */ + error (text: string): ElMessageComponent +} + +declare module 'vue/types/vue' { + interface Vue { + /** Used to show feedback after an activity. The difference with Notification is that the latter is often used to show a system level passive notification. */ + $message: ElMessage + } +} \ No newline at end of file diff --git a/src/types/vue.d.ts b/src/types/vue.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/util/ArrayPrototype.js b/src/util/ArrayPrototype.js new file mode 100644 index 0000000..08335df --- /dev/null +++ b/src/util/ArrayPrototype.js @@ -0,0 +1,8 @@ +Array.prototype.groupBy = function (prop) { + return this.reduce(function (groups, item) { + const val = item[prop] + groups[val] = groups[val] || [] + groups[val].push(item) + return groups + }, {}) +} diff --git a/src/util/calendar.js b/src/util/calendar.js new file mode 100644 index 0000000..000b250 --- /dev/null +++ b/src/util/calendar.js @@ -0,0 +1,668 @@ +/** + * @1900-2100区间内的公历、农历互转 + * @charset UTF-8 + * @Author Jea杨(JJonline@JJonline.Cn) + * @Time 2014-7-21 + * @Time 2016-8-13 Fixed 2033hex、Attribution Annals + * @Time 2016-9-25 Fixed lunar LeapMonth Param Bug + * @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year + * @Version 1.0.3 + * @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] + * @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] + */ +const calendar = { + + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2,//1900-1909 + 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977,//1910-1919 + 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970,//1920-1929 + 0x06566, 0x0d4a0, 0x0ea50, 0x16a95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950,//1930-1939 + 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557,//1940-1949 + 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0,//1950-1959 + 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0,//1960-1969 + 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6,//1970-1979 + 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570,//1980-1989 + 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0,//1990-1999 + 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5,//2000-2009 + 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930,//2010-2019 + 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530,//2020-2029 + 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45,//2030-2039 + 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0,//2040-2049 + /**Add By JJonline@JJonline.Cn**/ + 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0,//2050-2059 + 0x092e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4,//2060-2069 + 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0,//2070-2079 + 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160,//2080-2089 + 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252,//2090-2099 + 0x0d520],//2100 + + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan: ["\u7532", "\u4e59", "\u4e19", "\u4e01", "\u620a", "\u5df1", "\u5e9a", "\u8f9b", "\u58ec", "\u7678"], + + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi: ["\u5b50", "\u4e11", "\u5bc5", "\u536f", "\u8fb0", "\u5df3", "\u5348", "\u672a", "\u7533", "\u9149", "\u620c", "\u4ea5"], + + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals: ["\u9f20", "\u725b", "\u864e", "\u5154", "\u9f99", "\u86c7", "\u9a6c", "\u7f8a", "\u7334", "\u9e21", "\u72d7", "\u732a"], + + /** + * 阳历节日 + */ + festival: { + '1-1': { title: '元旦节' }, + '2-14': { title: '情人节' }, + '5-1': { title: '劳动节' }, + '5-4': { title: '青年节' }, + '6-1': { title: '儿童节' }, + '9-10': { title: '教师节' }, + '10-1': { title: '国庆节' }, + '12-25': { title: '圣诞节' }, + + '3-8': { title: '妇女节' }, + '3-12': { title: '植树节' }, + '4-1': { title: '愚人节' }, + '5-12': { title: '护士节' }, + '7-1': { title: '建党节' }, + '8-1': { title: '建军节' }, + '12-24': { title: '平安夜' }, + }, + + /** + * 农历节日 + */ + lFestival: { + '12-30': { title: '除夕' }, + '1-1': { title: '春节' }, + '1-15': { title: '元宵节' }, + '2-2': { title: '龙抬头' }, + '5-5': { title: '端午节' }, + '7-7': { title: '七夕节' }, + '7-15': { title: '中元节' }, + '8-15': { title: '中秋节' }, + '9-9': { title: '重阳节' }, + '10-1': { title: '寒衣节' }, + '10-15': { title: '下元节' }, + '12-8': { title: '腊八节' }, + '12-23': { title: '北方小年' }, + '12-24': { title: '南方小年' }, + }, + + /** + * 返回默认定义的阳历节日 + */ + getFestival() { + return this.festival + }, + + /** + * 返回默认定义的内容里节日 + */ + getLunarFestival() { + return this.lFestival + }, + + /** + * + * @param param {Object} 按照festival的格式输入数据,设置阳历节日 + */ + setFestival(param = {}) { + this.festival = param + }, + + /** + * + * @param param {Object} 按照lFestival的格式输入数据,设置农历节日 + */ + setLunarFestival(param = {}) { + this.lFestival = param + }, + + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm: ["\u5c0f\u5bd2", "\u5927\u5bd2", "\u7acb\u6625", "\u96e8\u6c34", "\u60ca\u86f0", "\u6625\u5206", "\u6e05\u660e", "\u8c37\u96e8", "\u7acb\u590f", "\u5c0f\u6ee1", "\u8292\u79cd", "\u590f\u81f3", "\u5c0f\u6691", "\u5927\u6691", "\u7acb\u79cb", "\u5904\u6691", "\u767d\u9732", "\u79cb\u5206", "\u5bd2\u9732", "\u971c\u964d", "\u7acb\u51ac", "\u5c0f\u96ea", "\u5927\u96ea", "\u51ac\u81f3"], + + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'], + + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1: ["\u65e5", "\u4e00", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341"], + + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2: ["\u521d", "\u5341", "\u5eff", "\u5345"], + + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3: ["\u6b63", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341", "\u51ac", "\u814a"], + + /** + * 返回农历y年一整年的总天数 + * @param y lunar Year + * @return Number + * @eg:var count = calendar.lYearDays(1987) ;//count=387 + */ + lYearDays: function (y) { + let i, sum = 348; + for (i = 0x8000; i > 0x8; i >>= 1) { + sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0; + } + return (sum + this.leapDays(y)); + }, + + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param y lunar Year + * @return Number (0-12) + * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth: function (y) { //闰字编码 \u95f0 + return (this.lunarInfo[y - 1900] & 0xf); + }, + + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param y lunar Year + * @return Number (0、29、30) + * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays: function (y) { + if (this.leapMonth(y)) { + return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29); + } + return (0); + }, + + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param y lunar Year + * @param m lunar Month + * @return Number (-1、29、30) + * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays: function (y, m) { + if (m > 12 || m < 1) { + return -1 + }//月份参数从1至12,参数错误返回-1 + return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29); + }, + + /** + * 返回公历(!)y年m月的天数 + * @param y solar Year + * @param m solar Month + * @return Number (-1、28、29、30、31) + * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays: function (y, m) { + if (m > 12 || m < 1) { + return -1 + } //若参数错误 返回-1 + const ms = m - 1; + if (ms === 1) { //2月份的闰平规律测算后确认返回28或29 + return (((y % 4 === 0) && (y % 100 !== 0) || (y % 400 === 0)) ? 29 : 28); + } else { + return (this.solarMonth[ms]); + } + }, + + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear: function (lYear) { + var ganKey = (lYear - 3) % 10; + var zhiKey = (lYear - 3) % 12; + if (ganKey === 0) ganKey = 10;//如果余数为0则为最后一个天干 + if (zhiKey === 0) zhiKey = 12;//如果余数为0则为最后一个地支 + return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]; + + }, + + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro: function (cMonth, cDay) { + const s = "\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf"; + const arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]; + return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + "\u5ea7";//座 + }, + + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi: function (offset) { + return this.Gan[offset % 10] + this.Zhi[offset % 12]; + }, + + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y y公历年(1900-2100) + * @param n n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm: function (y, n) { + if (y < 1900 || y > 2100 || n < 1 || n > 24) { + return -1; + } + const _table = this.sTermInfo[y - 1900]; + const _calcDay = [] + for (let index = 0; index < _table.length; index += 5) { + const chunk = parseInt('0x' + _table.substr(index, 5)).toString() + _calcDay.push( + chunk[0], + chunk.substr(1, 2), + chunk[3], + chunk.substr(4, 2) + ) + } + return parseInt(_calcDay[n - 1]); + }, + + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param m lunar month + * @return Cn string + * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth: function (m) { // 月 => \u6708 + if (m > 12 || m < 1) { + return -1 + } //若参数错误 返回-1 + let s = this.nStr3[m - 1]; + s += "\u6708";//加上月字 + return s; + }, + + /** + * 传入农历日期数字返回汉字表示法 + * @param d lunar day + * @return Cn string + * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay: function (d) { //日 => \u65e5 + let s; + switch (d) { + case 10: + s = '\u521d\u5341'; + break; + case 20: + s = '\u4e8c\u5341'; + break; + case 30: + s = '\u4e09\u5341'; + break; + default: + s = this.nStr2[Math.floor(d / 10)]; + s += this.nStr1[d % 10]; + } + return (s); + }, + + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function (y) { + return this.Animals[(y - 4) % 12] + }, + + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * !important! 公历参数区间1900.1.31~2100.12.31 + * @param yPara solar year + * @param mPara solar month + * @param dPara solar day + * @return JSON object + * @eg:console.log(calendar.solar2lunar(1987,11,01)); + */ + solar2lunar: function (yPara, mPara, dPara) { + let y = parseInt(yPara); + let m = parseInt(mPara); + let d = parseInt(dPara); + //年份限定、上限 + if (y < 1900 || y > 2100) { + return -1;// undefined转换为数字变为NaN + } + //公历传参最下限 + if (y === 1900 && m === 1 && d < 31) { + return -1; + } + + //未传参 获得当天 + let objDate; + if (!y) { + objDate = new Date(); + } else { + objDate = new Date(y, parseInt(m) - 1, d); + } + let i, leap = 0, temp = 0; + //修正ymd参数 + y = objDate.getFullYear(); + m = objDate.getMonth() + 1; + d = objDate.getDate(); + let offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000; + for (i = 1900; i < 2101 && offset > 0; i++) { + temp = this.lYearDays(i); + offset -= temp; + } + if (offset < 0) { + offset += temp; + i--; + } + + //是否今天 + let isTodayObj = new Date(), + isToday = false; + if (isTodayObj.getFullYear() === y && isTodayObj.getMonth() + 1 === m && isTodayObj.getDate() === d) { + isToday = true; + } + //星期几 + let nWeek = objDate.getDay(), + cWeek = this.nStr1[nWeek]; + //数字表示周几顺应天朝周一开始的惯例 + if (nWeek === 0) { + nWeek = 7; + } + //农历年 + const year = i; + leap = this.leapMonth(i); //闰哪个月 + let isLeap = false; + + //效验闰月 + for (i = 1; i < 13 && offset > 0; i++) { + //闰月 + if (leap > 0 && i === (leap + 1) && isLeap === false) { + --i; + isLeap = true; + temp = this.leapDays(year); //计算农历闰月天数 + } else { + temp = this.monthDays(year, i);//计算农历普通月天数 + } + //解除闰月 + if (isLeap === true && i === (leap + 1)) { + isLeap = false; + } + offset -= temp; + } + // 闰月导致数组下标重叠取反 + if (offset === 0 && leap > 0 && i === leap + 1) { + if (isLeap) { + isLeap = false; + } else { + isLeap = true; + --i; + } + } + if (offset < 0) { + offset += temp; + --i; + } + //农历月 + const month = i; + //农历日 + const day = offset + 1; + //天干地支处理 + const sm = m - 1; + const gzY = this.toGanZhiYear(year); + + // 当月的两个节气 + // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` + const firstNode = this.getTerm(y, (m * 2 - 1));//返回当月「节」为几日开始 + const secondNode = this.getTerm(y, (m * 2));//返回当月「节」为几日开始 + + // 依据12节气修正干支月 + let gzM = this.toGanZhi((y - 1900) * 12 + m + 11); + if (d >= firstNode) { + gzM = this.toGanZhi((y - 1900) * 12 + m + 12); + } + + //传入的日期的节气与否 + let isTerm = false; + let Term = null; + if (firstNode === d) { + isTerm = true; + Term = this.solarTerm[m * 2 - 2]; + } + if (secondNode === d) { + isTerm = true; + Term = this.solarTerm[m * 2 - 1]; + } + //日柱 当月一日与 1900/1/1 相差天数 + const dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10; + const gzD = this.toGanZhi(dayCyclical + d - 1); + //该日期所属的星座 + const astro = this.toAstro(m, d); + + const solarDate = y + '-' + m + '-' + d; + const lunarDate = year + '-' + month + '-' + day; + + const festival = this.festival; + const lFestival = this.lFestival; + + const festivalDate = m + '-' + d; + let lunarFestivalDate = month + '-' + day; + + // bugfix https://github.com/jjonline/calendar.js/issues/29 + // 农历节日修正:农历12月小月则29号除夕,大月则30号除夕 + // 此处取巧修正:当前为农历12月29号时增加一次判断并且把lunarFestivalDate设置为12-30以正确取得除夕 + // 天朝农历节日遇闰月过前不过后的原则,此处取农历12月天数不考虑闰月 + // 农历润12月在本工具支持的200年区间内仅1574年出现 + if (month === 12 && day === 29 && this.monthDays(year, month) === 29) { + lunarFestivalDate = '12-30'; + } + return { + date: solarDate, + lunarDate: lunarDate, + festival: festival[festivalDate] ? festival[festivalDate].title : null, + lunarFestival: lFestival[lunarFestivalDate] ? lFestival[lunarFestivalDate].title : null, + 'lYear': year, + 'lMonth': month, + 'lDay': day, + 'Animal': this.getAnimal(year), + 'IMonthCn': (isLeap ? "\u95f0" : '') + this.toChinaMonth(month), + 'IDayCn': this.toChinaDay(day), + 'cYear': y, + 'cMonth': m, + 'cDay': d, + 'gzYear': gzY, + 'gzMonth': gzM, + 'gzDay': gzD, + 'isToday': isToday, + 'isLeap': isLeap, + 'nWeek': nWeek, + 'ncWeek': "\u661f\u671f" + cWeek, + 'isTerm': isTerm, + 'Term': Term, + 'astro': astro + }; + }, + + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * !important! 参数区间1900.1.31~2100.12.1 + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + */ + lunar2solar: function (y, m, d, isLeapMonth) { + y = parseInt(y) + m = parseInt(m) + d = parseInt(d) + isLeapMonth = !!isLeapMonth; + const leapOffset = 0; + const leapMonth = this.leapMonth(y); + const leapDay = this.leapDays(y); + if (isLeapMonth && (leapMonth !== m)) { + return -1; + }//传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if (y === 2100 && m === 12 && d > 1 || y === 1900 && m === 1 && d < 31) { + return -1; + }//超出了最大极限值 + const day = this.monthDays(y, m); + let _day = day; + //bugFix 2016-9-25 + //if month is leap, _day use leapDays method + if (isLeapMonth) { + _day = this.leapDays(y, m); + } + if (y < 1900 || y > 2100 || d > _day) { + return -1; + }//参数合法性效验 + + //计算农历的时间差 + let offset = 0; + let i; + for (i = 1900; i < y; i++) { + offset += this.lYearDays(i); + } + let leap = 0, isAdd = false; + for (i = 1; i < m; i++) { + leap = this.leapMonth(y); + if (!isAdd) {//处理闰月 + if (leap <= i && leap > 0) { + offset += this.leapDays(y); + isAdd = true; + } + } + offset += this.monthDays(y, i); + } + //转换闰月农历 需补充该年闰月的前一个月的时差 + if (isLeapMonth) { + offset += day; + } + //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + const strap = Date.UTC(1900, 1, 30, 0, 0, 0); + const calObj = new Date((offset + d - 31) * 86400000 + strap); + const cY = calObj.getUTCFullYear(); + const cM = calObj.getUTCMonth() + 1; + const cD = calObj.getUTCDate(); + + return this.solar2lunar(cY, cM, cD); + } +}; + +export default calendar; \ No newline at end of file diff --git a/src/util/convert.js b/src/util/convert.js new file mode 100644 index 0000000..52b1f10 --- /dev/null +++ b/src/util/convert.js @@ -0,0 +1,7 @@ +export function convertBin (binNo) { + return binNo.toUpperCase().replace('BIN', 'CAT') +} + +export function convertCat (binNo) { + return binNo.toUpperCase().replace('CAT', 'BIN') +} diff --git a/src/util/date.js b/src/util/date.js new file mode 100644 index 0000000..e877f31 --- /dev/null +++ b/src/util/date.js @@ -0,0 +1,128 @@ +import moment from 'moment' + +export const calcDate = (date1, date2) => { + var date3 = date2 - date1 + + var days = Math.floor(date3 / (24 * 3600 * 1000)) + + var leave1 = date3 % (24 * 3600 * 1000) // 计算天数后剩余的毫秒数 + var hours = Math.floor(leave1 / (3600 * 1000)) + + var leave2 = leave1 % (3600 * 1000) // 计算小时数后剩余的毫秒数 + var minutes = Math.floor(leave2 / (60 * 1000)) + + var leave3 = leave2 % (60 * 1000) // 计算分钟数后剩余的毫秒数 + var seconds = Math.round(date3 / 1000) + return { + leave1, + leave2, + leave3, + days: days, + hours: hours, + minutes: minutes, + seconds: seconds + } +} + +/** + * 日期格式化 + */ +export function dateFormat (date) { + let format = 'yyyy-MM-dd hh:mm:ss' + if (date !== 'Invalid Date') { + var o = { + 'M+': date.getMonth() + 1, // month + 'd+': date.getDate(), // day + 'h+': date.getHours(), // hour + 'm+': date.getMinutes(), // minute + 's+': date.getSeconds(), // second + 'q+': Math.floor((date.getMonth() + 3) / 3), // quarter + 'S': date.getMilliseconds() // millisecond + } + if (/(y+)/.test(format)) { + format = format.replace(RegExp.$1, + (date.getFullYear() + '').substr(4 - RegExp.$1.length)) + } + for (var k in o) { + if (new RegExp('(' + k + ')').test(format)) { + format = format.replace(RegExp.$1, + RegExp.$1.length === 1 ? o[k] + : ('00' + o[k]).substr(('' + o[k]).length)) + } + } + return format + } + return '' +} + +export function dateFormatCustom (date, format = 'yyyy-MM-dd hh:mm:ss') { + if (date !== 'Invalid Date') { + var o = { + 'M+': date.getMonth() + 1, // month + 'd+': date.getDate(), // day + 'h+': date.getHours(), // hour + 'm+': date.getMinutes(), // minute + 's+': date.getSeconds(), // second + 'q+': Math.floor((date.getMonth() + 3) / 3), // quarter + 'S': date.getMilliseconds() // millisecond + } + if (/(y+)/.test(format)) { + format = format.replace(RegExp.$1, + (date.getFullYear() + '').substr(4 - RegExp.$1.length)) + } + for (var k in o) { + if (new RegExp('(' + k + ')').test(format)) { + format = format.replace(RegExp.$1, + RegExp.$1.length === 1 ? o[k] + : ('00' + o[k]).substr(('' + o[k]).length)) + } + } + return format + } + return '' +} + +export function addMinutes(date, minutes) { + if (date instanceof Date && !isNaN(date.getTime())) { + return new Date(date.getTime() + minutes * 60000); // Multiply minutes by milliseconds in a minute (60,000) + } + return null; +} + +export function addDay (date, day) { + if (date !== 'Invalid Date') { + return new Date(moment(date).add(day, 'days')) + } + return null +} + +export function addMonth (date, month) { + if (date !== 'Invalid Date') { + return new Date(moment(date).add(month, 'months')) + } + return null +} + +export function setTime (date, time) { + if (date !== 'Invalid Date') { + return new Date(dateFormatCustom(date, 'yyyy-MM-dd') + ' ' + time) + } + return null +} + +export function compareDate (date1, date2) { + if (date1 !== 'Invalid Date' && date2 !== 'Invalid Date') { + return date1.getTime() > date2.getTime() + } + return null +} + +export function overMonth (date1, date2, max) { + if (date1 !== 'Invalid Date' && date2 !== 'Invalid Date') { + let start = moment(setTime(date1, '00:00:00')) + let end = moment(setTime(date2, '00:00:00')) + let months = Math.round((Math.abs(end.diff(start, 'months', true)) + Number.EPSILON) * 100) / 100 + return months > max + } + return null +} diff --git a/src/util/dialogdrag.js b/src/util/dialogdrag.js new file mode 100644 index 0000000..6131bdd --- /dev/null +++ b/src/util/dialogdrag.js @@ -0,0 +1,160 @@ +import Vue from 'vue' +Vue.directive('el-drag-dialog', { + bind(el, binding, vnode, oldVnode) { + //弹框可拉伸最小宽高 + let minWidth = 820; + let minHeight = 460; + //初始非全屏 + let isFullScreen = false; + //当前宽高 + let nowWidth = 0; + let nowHight = 0; + //当前顶部高度 + let nowMarginTop = 0; + //获取弹框头部(这部分可双击全屏) + const dialogHeaderEl = el.querySelector('.el-dialog__header'); + //弹窗 + const dragDom = el.querySelector('.el-dialog'); + //给弹窗加上overflow auto;不然缩小时框内的标签可能超出dialog; + dragDom.style.overflow = "auto"; + //清除选择头部文字效果 + //dialogHeaderEl.onselectstart = new Function("return false"); + //头部加上可拖动cursor + dialogHeaderEl.style.cursor = 'move'; + // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null); + const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null); + let moveDown = (e) => { + // 鼠标按下,计算当前元素距离可视区的距离 + const disX = e.clientX - dialogHeaderEl.offsetLeft; + const disY = e.clientY - dialogHeaderEl.offsetTop; + // 获取到的值带px 正则匹配替换 + let styL, styT; + // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px + if (sty.left.includes('%')) { + styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100); + styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100); + } else { + styL = +sty.left.replace(/\px/g, ''); + styT = +sty.top.replace(/\px/g, ''); + }; + document.onmousemove = function (e) { + // 通过事件委托,计算移动的距离 + const l = e.clientX - disX; + const t = e.clientY - disY; + // 移动当前元素 + dragDom.style.left = `${l + styL}px`; + dragDom.style.top = `${t + styT}px`; + //将此时的位置传出去 + //binding.value({x:e.pageX,y:e.pageY}) + }; + document.onmouseup = function (e) { + document.onmousemove = null; + document.onmouseup = null; + }; + } + dialogHeaderEl.onmousedown = moveDown; + //双击头部全屏效果 + dialogHeaderEl.ondblclick = (e) => { + if (isFullScreen == false) { + nowHight = dragDom.clientHeight; + nowWidth = dragDom.clientWidth; + nowMarginTop = dragDom.style.marginTop; + dragDom.style.left = 0; + dragDom.style.top = 0; + dragDom.style.height = "100VH"; + dragDom.style.width = "100VW"; + dragDom.style.marginTop = 0; + isFullScreen = true; + dialogHeaderEl.style.cursor = 'initial'; + dialogHeaderEl.onmousedown = null; + } else { + dragDom.style.height = "auto"; + dragDom.style.width = nowWidth + 'px'; + dragDom.style.marginTop = nowMarginTop; + isFullScreen = false; + dialogHeaderEl.style.cursor = 'move'; + dialogHeaderEl.onmousedown = moveDown; + } + } + dragDom.onmousemove = function (e) { + let moveE = e; + if (e.clientX > dragDom.offsetLeft + dragDom.clientWidth - 10 || dragDom.offsetLeft + 10 > e.clientX) { + dragDom.style.cursor = 'w-resize'; + } + // else if (el.scrollTop + e.clientY > dragDom.offsetTop + dragDom.clientHeight - 10) { + // + // dragDom.style.cursor = 's-resize'; + // + // } + else { + dragDom.style.cursor = 'default'; + dragDom.onmousedown = null; + } + dragDom.onmousedown = (e) => { + const clientX = e.clientX; + const clientY = e.clientY; + let elW = dragDom.clientWidth; + let elH = dragDom.clientHeight; + let EloffsetLeft = dragDom.offsetLeft; + let EloffsetTop = dragDom.offsetTop; + dragDom.style.userSelect = 'none'; + let ELscrollTop = el.scrollTop; + //判断点击的位置是不是为头部 + if (clientX > EloffsetLeft && clientX < EloffsetLeft + elW && clientY > EloffsetTop && clientY < EloffsetTop + 100) { + //如果是头部在此就不做任何动作,以上有绑定dialogHeaderEl.onmousedown = moveDown; + }else{ + document.onmousemove = function (e) { + // e.preventDefault(); // 移动时禁用默认事件 + //左侧鼠标拖拽位置 + if (clientX > EloffsetLeft && clientX < EloffsetLeft + 10) { + //往左拖拽 + if (clientX > e.clientX) { + dragDom.style.width = elW + (clientX - e.clientX) * 2 + 'px'; + } + //往右拖拽 + if (clientX < e.clientX) { + if(dragDom.clientWidth < minWidth){ + }else{ + dragDom.style.width = elW - (e.clientX - clientX) * 2 + 'px'; + } + } + } + //右侧鼠标拖拽位置 + if (clientX > EloffsetLeft + elW - 10 && clientX < EloffsetLeft + elW) { + //往左拖拽 + if (clientX > e.clientX) { + if (dragDom.clientWidth < minWidth) { + } else { + dragDom.style.width = elW - (clientX - e.clientX) * 2 + 'px'; + } + } + //往右拖拽 + if (clientX < e.clientX) { + dragDom.style.width = elW + (e.clientX - clientX) * 2 + 'px'; + } + } + //底部鼠标拖拽位置 + if (ELscrollTop + clientY > EloffsetTop + elH - 20 && ELscrollTop + clientY < EloffsetTop + elH) { + //往上拖拽 + if (clientY > e.clientY) { + if (dragDom.clientHeight < minHeight) { + } else { + dragDom.style.height = elH - (clientY - e.clientY) * 2 + 'px'; + } + } + //往下拖拽 + if (clientY < e.clientY) { + dragDom.style.height = elH + (e.clientY - clientY) * 2 + 'px'; + } + } + }; + //拉伸结束 + document.onmouseup = function (e) { + document.onmousemove = null; + document.onmouseup = null; + }; + } + } + } + } +}) diff --git a/src/util/dict/Dict.js b/src/util/dict/Dict.js new file mode 100644 index 0000000..782942c --- /dev/null +++ b/src/util/dict/Dict.js @@ -0,0 +1,71 @@ +import Vue from 'vue' +import { mergeRecursive } from "@/util/util"; +import DictMeta from './DictMeta' +import DictData from './DictData' + +const DEFAULT_DICT_OPTIONS = { + types: [], +} + +/** + * @classdesc 字典 + * @property {Object} label 标签对象,内部属性名为字典类型名称 + * @property {Object} dict 字段数组,内部属性名为字典类型名称 + * @property {Array.} _dictMetas 字典元数据数组 + */ +export default class Dict { + constructor() { + this.owner = null + this.label = {} + this.type = {} + } + + init(options) { + if (options instanceof Array) { + options = { types: options } + } + const opts = mergeRecursive(DEFAULT_DICT_OPTIONS, options) + if (opts.types === undefined) { + throw new Error('字典类型为空') + } + const ps = [] + this._dictMetas = opts.types.map(t => DictMeta.parse(t)) + this._dictMetas.forEach(dictMeta => { + const type = dictMeta.type + Vue.set(this.label, type, {}) + Vue.set(this.type, type, []) + if (dictMeta.lazy) { + return + } + ps.push(loadDict(this, dictMeta)) + }) + return Promise.all(ps) + } + +} + +/** + * 加载字典 + * @param {Dict} dict 字典 + * @param {DictMeta} dictMeta 字典元数据 + * @returns {Promise} + */ +function loadDict(dict, dictMeta) { + return dictMeta.request(dictMeta) + .then(response => { + const type = dictMeta.type + let dicts = dictMeta.responseConverter(response, dictMeta) + if (!(dicts instanceof Array)) { + console.error('the return of responseConverter must be Array.') + dicts = [] + } else if (dicts.filter(d => d instanceof DictData).length !== dicts.length) { + console.error('the type of elements in dicts must be DictResolver') + dicts = [] + } + dict.type[type].splice(0, Number.MAX_SAFE_INTEGER, ...dicts) + dicts.forEach(d => { + Vue.set(dict.label[type], d.value, d.label) + }) + return dicts + }) +} diff --git a/src/util/dict/DictConverter.js b/src/util/dict/DictConverter.js new file mode 100644 index 0000000..0cf5df8 --- /dev/null +++ b/src/util/dict/DictConverter.js @@ -0,0 +1,17 @@ +import DictOptions from './DictOptions' +import DictData from './DictData' + +export default function(dict, dictMeta) { + const label = determineDictField(dict, dictMeta.labelField, ...DictOptions.DEFAULT_LABEL_FIELDS) + const value = determineDictField(dict, dictMeta.valueField, ...DictOptions.DEFAULT_VALUE_FIELDS) + return new DictData(dict[label], dict[value], dict) +} + +/** + * 确定字典字段 + * @param {DictData} dict + * @param {...String} fields + */ +function determineDictField(dict, ...fields) { + return fields.find(f => Object.prototype.hasOwnProperty.call(dict, f)) +} diff --git a/src/util/dict/DictData.js b/src/util/dict/DictData.js new file mode 100644 index 0000000..afc763e --- /dev/null +++ b/src/util/dict/DictData.js @@ -0,0 +1,13 @@ +/** + * @classdesc 字典数据 + * @property {String} label 标签 + * @property {*} value 标签 + * @property {Object} raw 原始数据 + */ +export default class DictData { + constructor(label, value, raw) { + this.label = label + this.value = value + this.raw = raw + } +} diff --git a/src/util/dict/DictMeta.js b/src/util/dict/DictMeta.js new file mode 100644 index 0000000..98f687e --- /dev/null +++ b/src/util/dict/DictMeta.js @@ -0,0 +1,38 @@ +import { mergeRecursive } from "@/util/util"; +import DictOptions from './DictOptions' + +/** + * @classdesc 字典元数据 + * @property {String} type 类型 + * @property {Function} request 请求 + * @property {String} label 标签字段 + * @property {String} value 值字段 + */ +export default class DictMeta { + constructor(options) { + this.type = options.type + this.request = options.request + this.responseConverter = options.responseConverter + this.labelField = options.labelField + this.valueField = options.valueField + this.lazy = options.lazy === true + } +} + + +/** + * 解析字典元数据 + * @param {Object} options + * @returns {DictMeta} + */ +DictMeta.parse= function(options) { + let opts = null + if (typeof options === 'string') { + opts = DictOptions.metas[options] || {} + opts.type = options + } else if (typeof options === 'object') { + opts = options + } + opts = mergeRecursive(DictOptions.metas['*'], opts) + return new DictMeta(opts) +} diff --git a/src/util/dict/DictOptions.js b/src/util/dict/DictOptions.js new file mode 100644 index 0000000..4730e47 --- /dev/null +++ b/src/util/dict/DictOptions.js @@ -0,0 +1,51 @@ +import {mergeRecursive} from "@/util/util"; +import dictConverter from './DictConverter' + +export const options = { + metas: { + '*': { + /** + * 字典请求,方法签名为function(dictMeta: DictMeta): Promise + */ + request: (dictMeta) => { + console.log(`load dict ${dictMeta.type}`) + return Promise.resolve([]) + }, + /** + * 字典响应数据转换器,方法签名为function(response: Object, dictMeta: DictMeta): DictResolver + */ + responseConverter, + labelField: 'label', + valueField: 'value', + }, + }, + /** + * 默认标签字段 + */ + DEFAULT_LABEL_FIELDS: ['label', 'name', 'title'], + /** + * 默认值字段 + */ + DEFAULT_VALUE_FIELDS: ['value', 'id', 'uid', 'key'], +} + +/** + * 映射字典 + * @param {Object} response 字典数据 + * @param {DictMeta} dictMeta 字典元数据 + * @returns {DictData} + */ +function responseConverter(response, dictMeta) { + const dicts = response.data instanceof Array ? response.data : response + if (dicts === undefined) { + console.warn(`no dict data of "${dictMeta.type}" found in the response`) + return [] + } + return dicts.map(d => dictConverter(d, dictMeta)) +} + +export function mergeOptions(src) { + mergeRecursive(options, src) +} + +export default options diff --git a/src/util/dict/index.js b/src/util/dict/index.js new file mode 100644 index 0000000..e3c601e --- /dev/null +++ b/src/util/dict/index.js @@ -0,0 +1,33 @@ +import Dict from './Dict' +import {mergeOptions} from './DictOptions' + +export default function (Vue, options) { + mergeOptions(options) + Vue.mixin({ + data() { + if (this.$options === undefined || this.$options.dictTypes === undefined || this.$options.dictTypes === null) { + return {} + } + const dict = new Dict() + dict.owner = this + return { + dict + } + }, + created() { + if (!(this.dict instanceof Dict)) { + return + } + options.onCreated && options.onCreated(this.dict) + this.dict.init(this.$options.dictTypes).then(() => { + options.onReady && options.onReady(this.dict) + this.$nextTick(() => { + this.$emit('dictReady', this.dict) + if (this.$options.methods && this.$options.methods.onDictReady instanceof Function) { + this.$options.methods.onDictReady.call(this, this.dict) + } + }) + }) + }, + }) +} diff --git a/src/util/dom.js b/src/util/dom.js new file mode 100644 index 0000000..9110c52 --- /dev/null +++ b/src/util/dom.js @@ -0,0 +1,67 @@ + + +export function isScroll( el, isVertical) { + const determinedDirection = isVertical === null || isVertical === undefined + const overflow = determinedDirection + ? getStyle(el, 'overflow') + : isVertical + ? getStyle(el, 'overflow-y') + : getStyle(el, 'overflow-x') + + return overflow.match(/(scroll|auto|overlay)/) +} + +export const getStyle = function(element, styleName) { + if (!element || !styleName) return null + // styleName = camelize(styleName) + if (styleName === 'float') { + styleName = 'cssFloat' + } + try { + const style = element.style[styleName] + if (style) return style + const computed = document.defaultView.getComputedStyle(element, '') + return computed ? computed[styleName] : '' + } catch (e) { + return element.style[styleName] + } +} + +export function getScrollContainer (el, isVertical) { + + let parent = el + while (parent) { + if ([window, document, document.documentElement].includes(parent)) { + return window + } + if (isScroll(parent, isVertical)) { + return parent + } + parent = parent.parentNode + } + return parent +} + +/* istanbul ignore next */ +export function on ( + element, + event, + handler, + useCapture = false, +) { + if (element && event && handler) { + element.addEventListener(event, handler, useCapture) + } +} + +/* istanbul ignore next */ +export function off( + element, + event, + handler, + useCapture = false, +) { + if (element && event && handler) { + element.removeEventListener(event, handler, useCapture) + } +} diff --git a/src/util/file.js b/src/util/file.js new file mode 100644 index 0000000..bc5825d --- /dev/null +++ b/src/util/file.js @@ -0,0 +1,15 @@ + +export function getFileIcon(fileName) { + let suffix = fileName ? fileName.substring( fileName.lastIndexOf(".") + 1, fileName.length ) : ""; + let _fileType = "file_unknown_32.png"; + if( suffix ){ + suffix = suffix.toLocaleUpperCase(); + if( suffix == "DOC" || suffix == "DOCX" )_fileType = "file_doc_32.png"; + else if( suffix == "XLS" || suffix == "XLSX" )_fileType = "file_xls_32.png"; + else if( suffix == "PPT" || suffix == "PPTX" )_fileType = "file_ppt_32.png"; + else if( suffix == "TXT" )_fileType = "file_txt_32.png"; + else if( suffix == "PDF" )_fileType = "file_pdf_32.png"; + else if( suffix == "PNG" || suffix == "JPG" || suffix == "JPEG" || suffix == "GIF" || suffix == "BMP" )_fileType = "file_image_32.png"; + } + return _fileType; +} diff --git a/src/util/handle.js b/src/util/handle.js new file mode 100644 index 0000000..68305e1 --- /dev/null +++ b/src/util/handle.js @@ -0,0 +1,19 @@ +import {isBlank} from "./string"; + +export const trimHandle = handle => { + return handle ? handle.split(",")[1] : ""; +} + +export const trimRevision = handle => { + if (isBlank(handle)) { + return ""; + } + + var index = handle.lastIndexOf(","); + if (index < 0) { + return ""; + } + else { + return handle.substring(index + 1); + } +} diff --git a/src/util/index.js b/src/util/index.js new file mode 100644 index 0000000..90b686e --- /dev/null +++ b/src/util/index.js @@ -0,0 +1,477 @@ +import { validatenull } from "./validate"; +import request from "@/router/axios"; +import {showLoading, hideLoading} from '@/const/loading' +import * as CryptoJS from "crypto-js"; + +// 表单序列化 +export const serialize = data => { + const list = []; + Object.keys(data).forEach(ele => { + list.push(`${ele}=${data[ele]}`); + }); + return list.join("&"); +}; +export const getObjType = obj => { + var toString = Object.prototype.toString; + var map = { + "[object Boolean]": "boolean", + "[object Number]": "number", + "[object String]": "string", + "[object Function]": "function", + "[object Array]": "array", + "[object Date]": "date", + "[object RegExp]": "regExp", + "[object Undefined]": "undefined", + "[object Null]": "null", + "[object Object]": "object" + }; + if (obj instanceof Element) { + return "element"; + } + return map[toString.call(obj)]; +}; +/** + * 对象深拷贝 + */ +export const deepClone = data => { + var type = getObjType(data); + var obj; + if (type === "array") { + obj = []; + } else if (type === "object") { + obj = {}; + } else { + // 不再具有下一层次 + return data; + } + if (type === "array") { + for (var i = 0, len = data.length; i < len; i++) { + obj.push(deepClone(data[i])); + } + } else if (type === "object") { + for (var key in data) { + obj[key] = deepClone(data[key]); + } + } + return obj; +}; +/** + * 判断路由是否相等 + */ +export const diff = (obj1, obj2) => { + delete obj1.close; + var o1 = obj1 instanceof Object; + var o2 = obj2 instanceof Object; + if (!o1 || !o2) { + /* 判断不是对象 */ + return obj1 === obj2; + } + + if (Object.keys(obj1).length !== Object.keys(obj2).length) { + return false; + // Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,例如:数组返回下表:let arr = ["a", "b", "c"];console.log(Object.keys(arr))->0,1,2; + } + + for (var attr in obj1) { + var t1 = obj1[attr] instanceof Object; + var t2 = obj2[attr] instanceof Object; + if (t1 && t2) { + return diff(obj1[attr], obj2[attr]); + } else if (obj1[attr] !== obj2[attr]) { + return false; + } + } + return true; +}; +/** + * 设置灰度模式 + */ +export const toggleGrayMode = status => { + if (status) { + document.body.className = document.body.className + " grayMode"; + } else { + document.body.className = document.body.className.replace(" grayMode", ""); + } +}; +/** + * 设置主题 + */ +export const setTheme = name => { + document.body.className = name; +}; + +/** + *加密处理 + */ +export const encryption = params => { + let { data, type, param, key } = params; + const result = JSON.parse(JSON.stringify(data)); + if (type === "Base64") { + param.forEach(ele => { + result[ele] = btoa(result[ele]); + }); + } else { + param.forEach(ele => { + var data = result[ele]; + key = CryptoJS.enc.Latin1.parse(key); + var iv = key; + // 加密 + var encrypted = CryptoJS.AES.encrypt(data, key, { + iv: iv, + mode: CryptoJS.mode.CFB, + padding: CryptoJS.pad.NoPadding + }); + result[ele] = encrypted.toString(); + }); + } + return result; +}; + +/** + * 浏览器判断是否全屏 + */ +export const fullscreenToggel = () => { + if (fullscreenEnable()) { + exitFullScreen(); + } else { + reqFullScreen(); + } +}; +/** + * esc监听全屏 + */ +export const listenfullscreen = callback => { + function listen() { + callback(); + } + + document.addEventListener("fullscreenchange", function() { + listen(); + }); + document.addEventListener("mozfullscreenchange", function() { + listen(); + }); + document.addEventListener("webkitfullscreenchange", function() { + listen(); + }); + document.addEventListener("msfullscreenchange", function() { + listen(); + }); +}; +/** + * 浏览器判断是否全屏 + */ +export const fullscreenEnable = () => { + return ( + document.isFullScreen || + document.mozIsFullScreen || + document.webkitIsFullScreen + ); +}; + +/** + * 浏览器全屏 + */ +export const reqFullScreen = () => { + if (document.documentElement.requestFullScreen) { + document.documentElement.requestFullScreen(); + } else if (document.documentElement.webkitRequestFullScreen) { + document.documentElement.webkitRequestFullScreen(); + } else if (document.documentElement.mozRequestFullScreen) { + document.documentElement.mozRequestFullScreen(); + } +}; +/** + * 浏览器退出全屏 + */ +export const exitFullScreen = () => { + if (document.documentElement.requestFullScreen) { + document.exitFullScreen(); + } else if (document.documentElement.webkitRequestFullScreen) { + document.webkitCancelFullScreen(); + } else if (document.documentElement.mozRequestFullScreen) { + document.mozCancelFullScreen(); + } +}; +/** + * 递归寻找子类的父类 + */ + +export const findParent = (menu, id) => { + for (let i = 0; i < menu.length; i++) { + if (menu[i].children.length !== 0) { + for (let j = 0; j < menu[i].children.length; j++) { + if (menu[i].children[j].id === id) { + return menu[i]; + } else { + if (menu[i].children[j].children.length !== 0) { + return findParent(menu[i].children[j].children, id); + } + } + } + } + } +}; + +/** + * 动态插入css + */ + +export const loadStyle = url => { + const link = document.createElement("link"); + link.type = "text/css"; + link.rel = "stylesheet"; + link.href = url; + const head = document.getElementsByTagName("head")[0]; + head.appendChild(link); +}; +/** + * 判断路由是否相等 + */ +export const isObjectValueEqual = (a, b) => { + let result = true; + Object.keys(a).forEach(ele => { + const type = typeof a[ele]; + if (type === "string" && a[ele] !== b[ele]) result = false; + else if ( + type === "object" && + JSON.stringify(a[ele]) !== JSON.stringify(b[ele]) + ) + result = false; + }); + return result; +}; +/** + * 根据字典的value显示label + */ +export const findByvalue = (dic, value) => { + let result = ""; + if (validatenull(dic)) return value; + if ( + typeof value === "string" || + typeof value === "number" || + typeof value === "boolean" + ) { + let index = 0; + index = findArray(dic, value); + if (index !== -1) { + result = dic[index].label; + } else { + result = value; + } + } else if (value instanceof Array) { + result = []; + let index = 0; + value.forEach(ele => { + index = findArray(dic, ele); + if (index !== -1) { + result.push(dic[index].label); + } else { + result.push(value); + } + }); + result = result.toString(); + } + return result; +}; +/** + * 根据字典的value查找对应的index + */ +export const findArray = (dic, value) => { + for (let i = 0; i < dic.length; i++) { + if (dic[i].value === value) { + return i; + } + } + return -1; +}; +/** + * 生成随机len位数字 + */ +export const randomLenNum = (len, date) => { + let random = ""; + random = Math.ceil(Math.random() * 100000000000000) + .toString() + .substr(0, len || 4); + if (date) random = random + Date.now(); + return random; +}; +/** + * 打开小窗口 + */ +export const openWindow = (url, title, w, h) => { + // Fixes dual-screen position Most browsers Firefox + const dualScreenLeft = + window.screenLeft !== undefined ? window.screenLeft : screen.left; + const dualScreenTop = + window.screenTop !== undefined ? window.screenTop : screen.top; + + const width = window.innerWidth + ? window.innerWidth + : document.documentElement.clientWidth + ? document.documentElement.clientWidth + : screen.width; + const height = window.innerHeight + ? window.innerHeight + : document.documentElement.clientHeight + ? document.documentElement.clientHeight + : screen.height; + + const left = width / 2 - w / 2 + dualScreenLeft; + const top = height / 2 - h / 2 + dualScreenTop; + const newWindow = window.open( + url, + title, + "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=" + + w + + ", height=" + + h + + ", top=" + + top + + ", left=" + + left + ); + + // Puts focus on the newWindow + if (window.focus) { + newWindow.focus(); + } +}; + +/** + * src 处理 + * @returns {PromiseLike | Promise} + */ +export function handleImg(url, id) { + return validatenull(url) + ? null + : request({ + url: url, + method: "get", + responseType: "blob" + }).then(response => { + // 处理返回的文件流 + const blob = response.data; + const img = document.getElementById(id); + if(img) { + img.src = URL.createObjectURL(blob); + } + window.setTimeout(function() { + window.URL.revokeObjectURL(blob); + }, 0); + }); +} + +/** + * + * @param url 目标下载接口 + * @param query 查询参数 + * @param fileName 文件名称 + * @returns {*} + */ +export function downBlobFile(url, query, fileName) { + return request({ + url: url, + method: "get", + responseType: "blob", + params: query + }).then(response => { + // 处理返回的文件流 + const blob = response.data; + if (blob && blob.size === 0) { + this.$notify.error("内容为空,无法下载"); + return; + } + const link = document.createElement("a"); + link.href = window.URL.createObjectURL(blob); + link.download = fileName; + document.body.appendChild(link); + link.click(); + window.setTimeout(function() { + window.URL.revokeObjectURL(blob); + document.body.removeChild(link); + }, 0); + }); +} + +export function getPdfFile (url, data) { + return request({ + url: '/report/pdf/getPdf', + method: 'post', + data: data, + responseType: 'blob' //重要,一定要加 + }) +} + +/** + * + * @param url 目标下载接口 + * @param query 查询参数 + * @param fileName 文件名称 + * @returns {*} + */ +export function downMasterDataBlobFile(url, exportCode, query, fileName) { + showLoading(); + query["export"] = true; + query["exportCode"] = exportCode; + return request({ + url: url, + method: "get", + responseType: "blob", + params: query + }).then(response => { + hideLoading(); + // 处理返回的文件流 + const blob = response.data; + if (blob && blob.size === 0) { + this.$notify.error("内容为空,无法下载"); + return; + } + const link = document.createElement("a"); + link.href = URL.createObjectURL(blob); + link.download = fileName; + document.body.appendChild(link); + link.click(); + window.setTimeout(function () { + URL.revokeObjectURL(blob); + document.body.removeChild(link); + }, 0); + }).catch() (() => { + hideLoading() + }); +} + +export function getQueryString(url, paraName) { + const arrObj = url.split("?"); + if (arrObj.length > 1) { + const arrPara = arrObj[1].split("&"); + let arr; + for (let i = 0; i < arrPara.length; i++) { + arr = arrPara[i].split("="); + // eslint-disable-next-line eqeqeq + if (arr != null && arr[0] == paraName) { + return arr[1]; + } + } + return ""; + } else { + return ""; + } +} + +/** + * 计算屏幕大小 + * @returns {number} + */ +export function calcScreen() { + let width = document.body.clientWidth; + if (width >= 1200) { + return 3; // 大屏幕 + } else if (width >= 992) { + return 2; // 中屏幕 + } else if (width >= 768) { + return 1; // 小屏幕 + } else { + return 0; // 超小屏幕 + } +} diff --git a/src/util/init/dialog-obj.js b/src/util/init/dialog-obj.js new file mode 100644 index 0000000..302cad7 --- /dev/null +++ b/src/util/init/dialog-obj.js @@ -0,0 +1,74 @@ +// 工作中心-无分页 +export const wcDialogObj = { + condition: 'workCenter', + tableColumn: [ + { prop: 'workCenter', label: 'mes.workCenter' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + page: false, +} +// 设备大类-无分页 +export const eqpDialogObj = { + condition: 'categoryNo', + tableColumn: [ + { prop: 'categoryNo', label: 'mes.tds.equipmentMajorCategoryNumber' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + page: false, +} +// 设备类别-无分页 +export const eqpTypeDialogObj = { + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'crud.column.label.equipmentCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + page: false, +} +// 设备类别 +export const eqpTypeDialogObj2 = { + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: '设备类別' }, + { prop: 'description', label: '设备类別说明' }, + { prop: 'eqpCategory', label: 'mes.resrceCategory' }, + { prop: 'eqpCategoryDesc', label: 'mes.equipmentMajorCategoryDescription' }, + { prop: 'eqpCategoryKind', label: 'crud.column.label.type' }, + ], + queryParam: {}, +} +// 设备编号-无分页 +export const eqpNoDialogObj = { + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + page: false, +} + +// 工序 +export const operationDialogObj = { + condition: 'operation', + tableColumn: [ + { prop: 'operation', label: 'mes.process' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + title: 'mes.process', +} +// 产品编号 +export const itemDialogObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + currentRevision: 'Y', + }, +} diff --git a/src/util/location.js b/src/util/location.js new file mode 100644 index 0000000..b62b6b2 --- /dev/null +++ b/src/util/location.js @@ -0,0 +1,7 @@ +export function getLocationUrl () { + return window.location.protocol + '//' + window.location.hostname +} + +export function getUrlHasPort (port = 80) { + return getLocationUrl() + ':' + port +} diff --git a/src/util/number-control.js b/src/util/number-control.js new file mode 100644 index 0000000..3c88df6 --- /dev/null +++ b/src/util/number-control.js @@ -0,0 +1,53 @@ +import Vue from 'vue' +import { numberControl } from '@/util/number' +import { isBlank } from '@/util/string' + +Vue.directive('number-control', { + bind: function(el, binding, vnode, oldVnode) { + const input = el.querySelector('.el-input__inner') || el + if (!isBlank(input)) { + el.lockingTrue = function() { + vnode.locking = true + } + input.addEventListener('compositionstart', el.lockingTrue) + + el.lockingFalse = function() { + vnode.locking = false + input.dispatchEvent(new Event('input')) + } + input.addEventListener('compositionend', el.lockingFalse) + + input.onkeyup = () => { + if (vnode.locking === true) return + + let option = binding.value + if (isBlank(option)) { + option = { + negative: true, + decimal: true, + symbol: true, + english: true, + chinese: true, + allSymbol: true, + question: true, + moreLess: true, + percent: false, + otherSymbol: false + } + } + input.value = numberControl(input.value, option) + input.dispatchEvent(new Event('input')) + } + } + }, + unbind: function(el) { + let elements = el.getElementsByTagName('input') + if (!isBlank(elements)) { + let target = elements[0] + if (!isBlank(target)) { + el.removeEventListener('compositionstart', el.lockingTrue) + el.removeEventListener('compositionend', el.lockingFalse) + } + } + } +}) \ No newline at end of file diff --git a/src/util/number.js b/src/util/number.js new file mode 100644 index 0000000..33609d4 --- /dev/null +++ b/src/util/number.js @@ -0,0 +1,257 @@ +import { isBlank } from '@/util/string' + +export function toFixed(number, d) { + var s = number + ""; + if (!d) d = 0; + if (s.indexOf(".") == -1) s += "."; + s += new Array(d + 1).join("0"); + if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0," + (d + 1) + "})?)\\d*$").test(s)) { + var s = "0" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true; + if (a == d + 2) { + a = s.match(/\d/g); + if (parseInt(a[a.length - 1]) > 4) { + for (var i = a.length - 2; i >= 0; i--) { + a[i] = parseInt(a[i]) + 1; + if (a[i] == 10) { + a[i] = 0; + b = i != 1; + } else break; + } + } + s = a.join("").replace(new RegExp("(\\d+)(\\d{" + d + "})\\d$"), "$1.$2"); + + } + if (b) s = s.substr(1); + return (pm + s).replace(/\.$/, ""); + } + return number + ""; +} + +/** + * 加法函数 + * @param arg1 + * @param arg2 + * @returns {number} + */ +export function add(arg1, arg2) { + var r1, r2, m; + try { + r1 = arg1.toString().split(".")[1].length; + } catch (e) { + r1 = 0; + } + try { + r2 = arg2.toString().split(".")[1].length; + } catch (e) { + r2 = 0; + } + m = Math.pow(10, Math.max(r1, r2)); + return (arg1 * m + arg2 * m) / m; +} + +/** + * 减法函数 + * @param arg1 + * @param arg2 + * @returns {number} + */ +export function sub(arg1, arg2) { + var r1, r2, m, n; + try { + r1 = arg1.toString().split(".")[1].length; + } catch (e) { + r1 = 0; + } + try { + r2 = arg2.toString().split(".")[1].length; + } catch (e) { + r2 = 0; + } + m = Math.pow(10, Math.max(r1, r2)); + //last modify by deeka + //动态控制精度长度 + n = (r1 >= r2) ? r1 : r2; + return ((arg1 * m - arg2 * m) / m).toFixed(n); +} + +/** + * 乘法函数 + * @param arg1 + * @param arg2 + * @returns {number} + */ +export function mul(arg1, arg2) { + var m = 0, + s1 = arg1.toString(), + s2 = arg2.toString(); + try { + m += s1.split(".")[1].length; + } catch (e) { + } + try { + m += s2.split(".")[1].length; + } catch (e) { + } + return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m); +} + +/** + * 除法函数 + * @param arg1 + * @param arg2 + * @returns {number} + */ +export function div(arg1, arg2) { + var t1 = 0, + t2 = 0, + r1, r2; + try { + t1 = arg1.toString().split(".")[1].length; + } catch (e) { + } + try { + t2 = arg2.toString().split(".")[1].length; + } catch (e) { + } + + r1 = Number(arg1.toString().replace(".", "")); + r2 = Number(arg2.toString().replace(".", "")); + return (r1 / r2) * Math.pow(10, t2 - t1); + +} + +/** + * 去除小数末尾多余的0 + * @param val + * @returns {number} + */ +export function cutZero(val) { + if (!val) return val; + val = val + ""; + var copyVal = val; + var position = val.length - val.indexOf(".") - 1; + if (val.indexOf(".") > -1) { + for (var i = position; i > 0; i--) { + //如果copyVal末尾有0 + if (copyVal.lastIndexOf("0") > -1 && copyVal.substr(copyVal.length - 1, 1) == 0) { + var k = copyVal.lastIndexOf("0"); + //如果小数点后只有一个0 去掉小数点 + if (copyVal.charAt(k - 1) == ".") { + return copyVal.substring(0, k - 1); + } else { + copyVal = copyVal.substring(0, k); + } + } else { + return copyVal; //如果末尾没有0 + } + } + } + return val; +} + +/** +* 數字卡控 + * @param {*} number 傳入數字 + * @param {*} max 最大幾位,(如有小數,只擷取小數點前面數字) + * @param {*} negative 是否能負數 true:不能 false:能 + * @param {*} decimal 是否能小數 true:不能 false:能 + * @param {*} moreZero 是否能连续多个0 true:不能 false:能 + * @param {*} symbol 是否能符號(?*,以外) true:不能 false:能 + * @param {*} allSymbol 是否能全部符號 true:不能 false:能 + * @param {*} english 是否能英文 true:不能 false:能 + * @param {*} chinese 是否能中文 true:不能 false:能 + * @param {*} question 是否能問號 true:不能 false:能 + * @param {*} decimalMax 小數點最多幾位 + * @param {*} otherSymbol 是否能? * , . - /以外符號 true:能 false:不能 + * @param {*} percent 是否百分比 true:是 false:不是 + * @param {*} moreLess 只能一個- true:不管控, false:管控 + * @param {*} startWithZero 開頭是否能為0 true:不能, false:能 + * @param {*} + * +*/ +export function numberControl(number, { + max, negative, percent, decimal, moreZero, decimalMax, symbol, english, chinese, question, allSymbol, moreLess, otherSymbol, startWithZero +}) { + if (isBlank(number)) return number; + if (english == true) { + number = number.replace(/[A-Za-z]/g, '') // 不能英文 + } + if (chinese == true) { + number = number.replace(/[^\x00-\x80]/g, '') // 不能中文 + } + if (moreZero == true) { + if (number.startsWith('0')) { + const regex = /^0*/g + const found = number.match(regex) + if (found.length > 0) { + number = number.replace(regex, '0') + } + } + } + if(startWithZero == true) { + if (number.startsWith('0')) { + number = number.substring(1) + } + } + if (!isBlank(otherSymbol) && otherSymbol == false) { + number = number.replace(/[^\d\\?*,/.-]/g, '') // 不能? * , . - /以外符號 + } + if (!isBlank(max)) { + if (String(number).indexOf('.') > 0) { + let s = String(number).split('.') + number = s[0].substring(0, max) + '.' + s[1] + } else { + number = number.substring(0, max) + } + } + if (negative == true) { + number = number.replace(/-/g, '') + } + if (decimal == true) { + number = number.replace(/\./g, '') + } + if (symbol == true) { + number = number.replace(/[/\\?*,]/g, '') + } + if (question == true) { + number = number.replace(/\?/g, '') + } + if (allSymbol == true) { + number = number.replace(/\W/g, '') + } + if (!isBlank(decimalMax)) { + if (number.match(/\./g)) { + var arr = number.split('.') + number = arr[0] + '.' + arr[1].substring(0, decimalMax) + } + } + if (!isBlank(moreLess) && moreLess == false) { + let n = number.split('-').filter(str => str !== '') + if (n.length > 0) { + n = n[0] + } + + if (number.startsWith('-')) { + number = '-' + n + } else { + number = n.length == 0 ? '' : n + } + } + if (percent) { + if (Number(number) > 100) { + number = 100 + } + } + return number +} + +/** +* 數字判断 +* @param {*} val 傳入數字 +* return true:非数字 false:是数字 +*/ +export function checkNum(val) { + return !(!isNaN(parseFloat(val)) && isFinite(val)) +} + + diff --git a/src/util/resize-event.js b/src/util/resize-event.js new file mode 100644 index 0000000..a4e6296 --- /dev/null +++ b/src/util/resize-event.js @@ -0,0 +1,43 @@ +import ResizeObserver from 'resize-observer-polyfill' + + +/* istanbul ignore next */ +const resizeHandler = function(entries) { + for (const entry of entries) { + const listeners = entry.target.__resizeListeners__ || [] + if (listeners.length) { + listeners.forEach(fn => { + fn() + }) + } + } +} + +/* istanbul ignore next */ +export const addResizeListener = function( + element, + fn, +) { + if (!element) return + if (!element.__resizeListeners__) { + element.__resizeListeners__ = [] + element.__ro__ = new ResizeObserver(resizeHandler) + element.__ro__.observe(element) + } + element.__resizeListeners__.push(fn) +} + +/* istanbul ignore next */ +export const removeResizeListener = function( + element, + fn, +) { + if (!element || !element.__resizeListeners__) return + element.__resizeListeners__.splice( + element.__resizeListeners__.indexOf(fn), + 1, + ) + if (!element.__resizeListeners__.length) { + element.__ro__.disconnect() + } +} diff --git a/src/util/rule.js b/src/util/rule.js new file mode 100644 index 0000000..dcee37c --- /dev/null +++ b/src/util/rule.js @@ -0,0 +1,38 @@ +/** + * @desc [自定义校验规则] + * @example + * import { rule } from "@/util/rule"; + * rules: [ + * { validator: rule.emailValue, trigger: 'blur'} + * ] + * + * 可参考: https://gitee.com/log4j/codes/lgfxz09bmt7ea3rdwnocs20 + */ + +export const rule = { + /** + * 校验 请输入中文、英文、数字包括下划线 + * 名称校验 + */ + validatorNameCn(rule, value, callback) { + let acount = /^[\u4E00-\u9FA5A-Za-z0-9_]+$/ + if (value && (!(acount).test(value))) { + callback(new Error('请输入中文、英文、数字包括下划线')) + } else { + callback() + } + }, + /** + * 校验 请输入英文、数字包括下划线 + * 名称校验 + */ + validatorName(rule, value, callback) { + let acount = /^[A-Z_]+$/ + if (value && (!(acount).test(value))) { + callback(new Error('请输入大写英文、下划线')) + } else { + callback() + } + }, + // 校验规则根据不同业务需求,不断拓展补充 ... +} diff --git a/src/util/sort.js b/src/util/sort.js new file mode 100644 index 0000000..5917046 --- /dev/null +++ b/src/util/sort.js @@ -0,0 +1,35 @@ +export function setOrder (column) { + // if (column.column.sortable !== 'custom') { + // this.order = {} + // return + // } + + let col = convertStepOne(column.prop) + + let newOrder = { + column: col, + sort: column.order, + asc: column.order === 'ascending' + } + + if (this.order) { + if (this.order.column === newOrder.column) { + if (this.order.sort === newOrder.sort) { + newOrder.asc = !this.order.asc + } + } + } + + this.order = newOrder +} + +function convertStepOne (prop) { + let firstLetter = prop.substring(0, 1).toUpperCase() + let letter = prop.substring(1) + return convertStepTwo(firstLetter + letter) +} + +function convertStepTwo (prop) { + let arr = prop.match(/[A-Z][a-z]+/g) + return arr.join('_').toUpperCase() +} diff --git a/src/util/store.js b/src/util/store.js new file mode 100644 index 0000000..a647673 --- /dev/null +++ b/src/util/store.js @@ -0,0 +1,119 @@ +import {validatenull} from '@/util/validate' +import website from '@/const/website' + +const keyName = website.key + '-' +/** + * 存储localStorage + */ +export const setStore = (params = {}) => { + let { + name, + content, + type + } = params + name = keyName + name + const obj = { + dataType: typeof (content), + content: content, + type: type, + datetime: new Date().getTime() + } + + if (type) { + window.sessionStorage.setItem(name, JSON.stringify(obj)) + } else { + window.localStorage.setItem(name, JSON.stringify(obj)) + } +} +/** + * 获取localStorage + */ + +export const getStore = (params = {}) => { + let { + name, + debug + } = params + name = keyName + name + let obj = {} + let content + obj = window.sessionStorage.getItem(name) + if (validatenull(obj)) obj = window.localStorage.getItem(name) + if (validatenull(obj)) return + try { + obj = JSON.parse(obj) + } catch (e) { + return obj + } + if (debug) { + return obj + } + if (obj.dataType === 'string') { + content = obj.content + } else if (obj.dataType === 'number') { + content = Number(obj.content) + } else if (obj.dataType === 'boolean') { + content = eval(obj.content) + } else if (obj.dataType === 'object') { + content = obj.content + } + return content +} +/** + * 删除localStorage + */ +export const removeStore = (params = {}) => { + let { + name, + type + } = params + name = keyName + name + if (type) { + window.sessionStorage.removeItem(name) + } else { + window.localStorage.removeItem(name) + } +} + +/** + * 获取全部localStorage + */ +export const getAllStore = (params = {}) => { + const list = [] + const { + type + } = params + if (type) { + for (let i = 0; i <= window.sessionStorage.length; i++) { + list.push({ + name: window.sessionStorage.key(i), + content: getStore({ + name: window.sessionStorage.key(i), + type: 'session' + }) + }) + } + } else { + for (let i = 0; i <= window.localStorage.length; i++) { + list.push({ + name: window.localStorage.key(i), + content: getStore({ + name: window.localStorage.key(i) + }) + }) + } + } + return list +} + +/** + * 清空全部localStorage + */ +export const clearStore = (params = {}) => { + const {type} = params + if (type) { + window.sessionStorage.clear() + } else { + window.localStorage.clear() + } +} diff --git a/src/util/string.js b/src/util/string.js new file mode 100644 index 0000000..3601df7 --- /dev/null +++ b/src/util/string.js @@ -0,0 +1,165 @@ +/** + * helper function to see if input string is blank + * @param str {String} to check + * @returns {boolean} true if string is blank (undefined, null or only spaces), else true + */ +export function isBlank (str) { + if (str === undefined || str === null || str === '') { + //jQuery.sap.log.debug("isBlank: input string is undefined, null or empty"); + return true + } + + if (trimString(str.toString()) === '') { + //jQuery.sap.log.debug("isBlank: trimmed input string is empty"); + return true + } + //jQuery.sap.log.debug("isBlank: str <" + str + "> not empty"); + return false +} + +export function stringFormat (args) { + if (arguments.length == 0) { + return null + } + var str = arguments[0] + for (var i = 1; i < arguments.length; i++) { + var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm') + str = str.replace(re, arguments[i]) + } + return str +} + +/** + * helper function to trim leading and trailing spaces from a string + * + * @param str {String} to trim spaces from + * @return updated String + */ +export function trimString (str) { + var c + for (var i = 0; i < str.length; i++) { + c = str.charCodeAt(i) + if (c == 32 || c == 10 || c == 13 || c == 9 || c == 12) { + continue + } else { + break + } + } + for (var j = str.length - 1; j >= i; j--) { + c = str.charCodeAt(j) + if (c == 32 || c == 10 || c == 13 || c == 9 || c == 12) { + continue + } else { + break + } + } + + //jQuery.sap.log.debug("trimString: i = " + i + ", j = " + j); + + return str.substring(i, j + 1) +} + +export function returnSpace (str) { + return isBlank(str) ? '' : str +} +export function checkEmail(email) { + var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; + if (!regex.test(email)) { + return false; + } else { + return true; + } +} +export function chkString(value) { + value = String(value); + if (escape(value).indexOf('%u') == 0) { + return true; + } + + if (value.replace(/\s/g, '').length == 0) { + return true; + } + + if (value.match(/[\w-]/g) == null) { + return true; + } + + if (value.match(/[\w-]/g).length < value.length) { + return true; + } + + if (value.match(/_/g) > 0) { + return true; + } +} +// 替換富文本 +export function replaceRichText(arr) { + arr.forEach((obj) => { + for (var [key, value] of Object.entries(obj)) { + if (getDataType(value) == 'Object') { + obj[key] = getRichText(value); + } else if (getDataType(value) == 'Array') { + value.forEach((detail) => { + for (var [detailKey, detailValue] of Object.entries(detail)) { + if (getDataType(detailValue) == 'Object') { + detail[detailKey] = getRichText(detailValue); + } + } + }); + } + } + }); + return arr; +} +// 取得富文本Text +export function getRichText(text) { + var str = ''; + if (!isBlank(text)) { + if (getDataType(text) == 'Object') { + for (var [key, value] of Object.entries(text)) { + switch (key) { + case 'richText': + if (Array.isArray(value)) { + value.forEach((obj) => { + str = str.concat(obj.text); + }); + } + break; + case 'result': + case 'text': + str = value; + break; + } + } + return str; + } + } + str = text; + return str; +} +// 判斷類型 +export function getDataType(obj) { + if (obj instanceof Array) { + return 'Array'; + } + if (obj instanceof Object) { + return 'Object'; + } +} +// 档案大小 +export function returnFileSize(number) { + if (number < 1024) { + return `${number} bytes`; + } else if (number >= 1024 && number < 1048576) { + return `${(number / 1024).toFixed(1)} KB`; + } else if (number >= 1048576) { + return `${(number / 1048576).toFixed(1)} MB`; + } +} + +export function uuid() { + var temp_url = URL.createObjectURL(new Blob()); + var uuid = temp_url.toString(); // blob:https://xxx.com/b250d159-e1b6-4a87-9002-885d90033be3 + URL.revokeObjectURL(temp_url); + return uuid.substr(uuid.lastIndexOf("/") + 1); +} diff --git a/src/util/table.js b/src/util/table.js new file mode 100644 index 0000000..ac26470 --- /dev/null +++ b/src/util/table.js @@ -0,0 +1,202 @@ +//arr数组集合[{}] delArr要删除的数组[] +import { isBlank } from '@/util/string' + +export function removeTableSelected (arr, delArr) { + return delArr.map((n) => n.__ob__.dep.id).forEach( + (n) => { + arr.some((item, index) => { + if (item.__ob__.dep.id == n) { + arr.splice(index, 1) + } + }) + } + ) +} + +// 設置序號 +export function setSeq (arr, key) { + for (let i = 0; i < arr.length; i++) { + arr[i][key] = i + 1 + } + return arr +} + +// 排序 +export function sort (arr, key, flag) { + if (flag) { + return arr.sort((a, b) => (a[key] < b[key] ? 1 : a[key] == b[key] ? 0 : -1)) + } else { + return arr.sort((a, b) => (a[key] > b[key] ? 1 : a[key] == b[key] ? 0 : -1)) + } +} + +/** + * Table 单元格是否有空值 + * @param {*} me 调用此function的位置 + * @param {*} arr 要判断的table + * @param {*} numText 提示位置 + * @param {*} key 提示位置的key + * @param {*} obj 要判断的key ex:{ categoryNo: '工具大类,',typeNo:'工具类别,' } + * @param {*} flag object或boolean 是否继续执行的卡控 true:不能 false:能 + * @param {*} flagKey 当flag为物件时使用 + * @param {*} isNum 是否数字判断 + * @param {*} custMSG 自定义讯息 + */ +export function checkTableEmpty (me, arr, numText = '序号', key = 'seq', obj, flag, flagKey = null, isNum = false, custMSG = null) { + let msgBox = [] + if (arr.length <= 0) return + arr.forEach(a => { + let Msg = `${numText}${a[key]}:` + for (const prop in obj) { + let judge + if (isNum) { + judge = (!isNaN(parseFloat(a[prop])) && isFinite(a[prop])) ? false : true + } else { + judge = (!a[prop] || a[prop].trim().length <= 0) ? true : false + } + if (judge) { + if (me[flag] instanceof Object) { + me[flag][flagKey] = true + } else { + me[flag] = true + } + Msg += obj[prop] + } + } + if (Msg !== `${numText}${a[key]}:`) { + let emptyMsg = Msg.slice(0, -1) + if (custMSG) { + msgBox.push(emptyMsg + custMSG) + } else { + msgBox.push(emptyMsg + '不可为空') + } + } + }) + if (msgBox.length !== 0) { + let finalMsg = msgBox.join('
    ') + return me.$alert(`${finalMsg}`, '警告', { + dangerouslyUseHTMLString: true, + confirmButtonText: '确定', + callback: action => { } + }) + } +} + +/** + * Table 单元格是否有重复 + * @param {*} me 调用此function的位置 + * @param {*} arr 要判断的table + * @param {*} key 提示位置的key + * @param {*} moreKey 多个key判断 + * @param {*} flag object或boolean 是否继续执行的卡控 true:不能 false:能 + * @param {*} flagKey 当flag为物件时使用 + * @param {*} custMSG 自定讯息 + */ +export function checkTableRepeat (me, arr, key, moreKey = [], flag, flagKey = null, custMSG = null) { + let repeatBox = [] + let repeat + if (moreKey.length > 0) { + let box = [] + arr.forEach(t => { + let obj = {} + moreKey.forEach(m => { + obj[m] = t[m] + }) + box.push(obj) + }) + const set = new Set() + const result = box.filter(item => set.has(JSON.stringify(item)) ? true : (set.add(JSON.stringify(item)), false)) + repeat = result.map(r => r[key]) + } else { + arr.forEach((t) => { + if (isBlank(t[key])) { + + } else { + repeatBox.push(String(t[key]).trim()) + } + }) + repeat = repeatBox.filter(function (element, index, arr) { + return arr.indexOf(element) !== index + }) + } + if (repeat.length !== 0) { + if (me[flag] instanceof Object) { + me[flag][flagKey] = true + } else { + me[flag] = true + } + let newArr = Array.from(new Set(repeat)) + let str + if (custMSG) { + str = custMSG + } else { + str = newArr.join('
    ') + '
    不可重复设定' + } + return me.$alert(`${str}`, '警告', { + dangerouslyUseHTMLString: true, + confirmButtonText: '确定', + callback: action => { } + }) + } +} + +//实现table表头换行显示 +export function renderheader (h, { column, $index }) { + return h('span', {}, [ + h('span', {}, column.label.split('/')[0]), + h('br'), + h('span', {}, column.label.split('/')[1]) + ]) +} + +// table 欄位寬度 +export function adjustColumnWidth (table, padding = 32) { + const colgroup = table.querySelector('colgroup') + const colDefs = [...colgroup.querySelectorAll('col')] + colDefs.forEach((col) => { + const clsName = col.getAttribute('name') + const cells = [ + ...table.querySelectorAll(`td.${clsName}`), + ...table.querySelectorAll(`th.${clsName}`), + ] + if (cells[0]?.classList?.contains?.('leave-alone')) { + return + } + const widthList = cells.map((el) => { + return el.querySelector('.cell')?.scrollWidth || 0 + }) + const max = Math.max(...widthList) + table.querySelectorAll(`col[name=${clsName}]`).forEach((el) => { + el.setAttribute('width', max + padding) + }) + }) +} + +export function autoColumnWidth (tableData, label, prop) { + const arr = tableData.map(el => el[prop]) + arr.push(label) + return (getMaxLength(arr) + 100) + 'px' +} + +function getMaxLength (arr) { + return arr.reduce((acc, item) => { + if (item) { + const calLength = getTextWidth(item) + if (acc < calLength) { + acc = calLength + } + } + return acc + }, 0) +} + +function getTextWidth (str) { + let width = 0 + const html = document.createElement('span') + html.innerText = str + html.className = 'getTextWidth' + document.querySelector('body').appendChild(html) + width = document.querySelector('.getTextWidth').offsetWidth + document.querySelector('.getTextWidth').remove() + return width +} diff --git a/src/util/util.js b/src/util/util.js new file mode 100644 index 0000000..22471ab --- /dev/null +++ b/src/util/util.js @@ -0,0 +1,556 @@ +import { validatenull } from './validate' +import { showLoading, hideLoading } from '@/const/loading' +import request from '@/router/axios' +import * as CryptoJS from 'crypto-js' +import { fDate as fDateF } from './util.js' +import { isBlank } from '@/util/string' + +// 数据合并 +export function mergeRecursive (source, target) { + for (let index in target) { + try { + if (target[index].constructor === Object) { + source[index] = mergeRecursive(source[index], target[index]) + } else { + source[index] = target[index] + } + } catch (e) { + source[index] = target[index] + } + } + return source +} + +// 回显数据字典 +export function selectDictLabel (datas, value) { + if (value === undefined) { + return '' + } + let actions = [] + Object.keys(datas).some((key) => { + if (datas[key].value === ('' + value)) { + actions.push(datas[key].label) + return true + } + }) + if (actions.length === 0) { + actions.push(value) + } + return actions.join('') +} + +// 表单序列化 +export const serialize = data => { + let list = [] + Object.keys(data).forEach(ele => { + list.push(`${ele}=${data[ele]}`) + }) + return list.join('&') +} +export const getObjType = obj => { + var toString = Object.prototype.toString + var map = { + '[object Boolean]': 'boolean', + '[object Number]': 'number', + '[object String]': 'string', + '[object Function]': 'function', + '[object Array]': 'array', + '[object Date]': 'date', + '[object RegExp]': 'regExp', + '[object Undefined]': 'undefined', + '[object Null]': 'null', + '[object Object]': 'object' + } + if (obj instanceof Element) { + return 'element' + } + return map[toString.call(obj)] +} +/** + * 对象深拷贝 + */ +export const deepClone = data => { + var type = getObjType(data) + var obj + if (type === 'array') { + obj = [] + } else if (type === 'object') { + obj = {} + } else { + // 不再具有下一层次 + return data + } + if (type === 'array') { + for (var i = 0, len = data.length; i < len; i++) { + obj.push(deepClone(data[i])) + } + } else if (type === 'object') { + for (var key in data) { + obj[key] = deepClone(data[key]) + } + } + return obj +} +/** + * 判断路由是否相等 + */ +export const diff = (obj1, obj2) => { + delete obj1.close + var o1 = obj1 instanceof Object + var o2 = obj2 instanceof Object + if (!o1 || !o2) { + /* 判断不是对象 */ + return obj1 === obj2 + } + + if (Object.keys(obj1).length !== Object.keys(obj2).length) { + return false + // Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,例如:数组返回下表:let arr = ["a", "b", + // "c"];console.log(Object.keys(arr))->0,1,2; + } + + for (var attr in obj1) { + var t1 = obj1[attr] instanceof Object + var t2 = obj2[attr] instanceof Object + if (t1 && t2) { + return diff(obj1[attr], obj2[attr]) + } else if (obj1[attr] !== obj2[attr]) { + return false + } + } + return true +} +/** + * 设置灰度模式 + */ +export const toggleGrayMode = status => { + if (status) { + document.body.className = document.body.className + ' grayMode' + } else { + document.body.className = document.body.className.replace(' grayMode', '') + } +} +/** + * 设置主题 + */ +export const setTheme = name => { + document.body.className = name +} + +/** + *加密处理 + */ +export const encryption = params => { + let { + data, + type, + param, + key + } = params + const result = JSON.parse(JSON.stringify(data)) + if (type === 'Base64') { + param.forEach(ele => { + result[ele] = btoa(result[ele]) + }) + } else { + param.forEach(ele => { + var data = result[ele] + key = CryptoJS.enc.Latin1.parse(key) + var iv = key + // 加密 + var encrypted = CryptoJS.AES.encrypt(data, key, { + iv: iv, + mode: CryptoJS.mode.CFB, + padding: CryptoJS.pad.NoPadding + }) + result[ele] = encrypted.toString() + }) + } + return result +} +/** + * 浏览器判断是否全屏 + */ +export const fullscreenToggel = () => { + if (fullscreenEnable()) { + exitFullScreen() + } else { + reqFullScreen() + } +} +/** + * esc监听全屏 + */ +export const listenfullscreen = callback => { + function listen () { + callback() + } + + document.addEventListener('fullscreenchange', function () { + listen() + }) + document.addEventListener('mozfullscreenchange', function () { + listen() + }) + document.addEventListener('webkitfullscreenchange', function () { + listen() + }) + document.addEventListener('msfullscreenchange', function () { + listen() + }) +} +/** + * 浏览器判断是否全屏 + */ +export const fullscreenEnable = () => { + return ( + document.isFullScreen || + document.mozIsFullScreen || + document.webkitIsFullScreen + ) +} + +/** + * 浏览器全屏 + */ +export const reqFullScreen = () => { + if (document.documentElement.requestFullScreen) { + document.documentElement.requestFullScreen() + } else if (document.documentElement.webkitRequestFullScreen) { + document.documentElement.webkitRequestFullScreen() + } else if (document.documentElement.mozRequestFullScreen) { + document.documentElement.mozRequestFullScreen() + } +} +/** + * 浏览器退出全屏 + */ +export const exitFullScreen = () => { + if (document.documentElement.requestFullScreen) { + document.exitFullScreen() + } else if (document.documentElement.webkitRequestFullScreen) { + document.webkitCancelFullScreen() + } else if (document.documentElement.mozRequestFullScreen) { + document.mozCancelFullScreen() + } +} +/** + * 递归寻找子类的父类 + */ + +export const findParent = (menu, id) => { + for (let i = 0; i < menu.length; i++) { + if (menu[i].children.length != 0) { + for (let j = 0; j < menu[i].children.length; j++) { + if (menu[i].children[j].id == id) { + return menu[i] + } else { + if (menu[i].children[j].children.length != 0) { + return findParent(menu[i].children[j].children, id) + } + } + } + } + } +} + +/** + * 动态插入css + */ + +export const loadStyle = url => { + const link = document.createElement('link') + link.type = 'text/css' + link.rel = 'stylesheet' + link.href = url + const head = document.getElementsByTagName('head')[0] + head.appendChild(link) +} +/** + * 判断路由是否相等 + */ +export const isObjectValueEqual = (a, b) => { + let result = true + Object.keys(a).forEach(ele => { + const type = typeof a[ele] + if (type === 'string' && a[ele] !== b[ele]) { + result = false + } else if ( + type === 'object' && + JSON.stringify(a[ele]) !== JSON.stringify(b[ele]) + ) { + result = false + } + }) + return result +} +/** + * 根据字典的value显示label + */ +export const findByvalue = (dic, value) => { + let result = '' + if (validatenull(dic)) { + return value + } + if ( + typeof value === 'string' || + typeof value === 'number' || + typeof value === 'boolean' + ) { + let index = 0 + index = findArray(dic, value) + if (index != -1) { + result = dic[index].label + } else { + result = value + } + } else if (value instanceof Array) { + result = [] + let index = 0 + value.forEach(ele => { + index = findArray(dic, ele) + if (index != -1) { + result.push(dic[index].label) + } else { + result.push(value) + } + }) + result = result.toString() + } + return result +} +/** + * 根据字典的value查找对应的index + */ +export const findArray = (dic, value) => { + for (let i = 0; i < dic.length; i++) { + if (dic[i].value == value) { + return i + } + } + return -1 +} +/** + * 生成随机len位数字 + */ +export const randomLenNum = (len, date) => { + let random = '' + random = Math.ceil(Math.random() * 100000000000000) + .toString() + .substr(0, len || 4) + if (date) { + random = random + Date.now() + } + return random +} + +/** + * + * @param url 目标下载接口 + * @param query 查询参数 + * @param fileName 文件名称 + * @returns {*} + */ +export function downBlobFile (url, query, fileName) { + return request({ + url: url, + method: 'get', + responseType: 'blob', + params: query + }).then(response => { + // 处理返回的文件流 + const blob = response.data + if (blob && blob.size === 0) { + this.$notify.error('内容为空,无法下载') + return + } + const link = document.createElement('a') + link.href = URL.createObjectURL(blob) + link.download = fileName + document.body.appendChild(link) + link.click() + window.setTimeout(function () { + URL.revokeObjectURL(blob) + document.body.removeChild(link) + }, 0) + }) +} + +export function getQueryString (url, paraName) { + const arrObj = url.split('?') + if (arrObj.length > 1) { + const arrPara = arrObj[1].split('&') + let arr + for (let i = 0; i < arrPara.length; i++) { + arr = arrPara[i].split('=') + // eslint-disable-next-line eqeqeq + if (arr != null && arr[0] == paraName) { + return arr[1] + } + } + return '' + } else { + return '' + } +} + +export function getQueryParam (url) { + let result = {} + const arrObj = url.split('?') + if (arrObj.length > 1) { + const arrPara = arrObj[1].split('&') + let arr + for (let i = 0; i < arrPara.length; i++) { + arr = arrPara[i].split('=') + result[arr[0]] = arr[1] + } + } + return result +} + +/** + * + * @param url 目标下载接口 + * @param query 查询参数 + * @param fileName 文件名称 + * @returns {*} + */ +export function downMasterDataBlobFile (url, exportCode, query, fileName) { + showLoading() + query['export'] = true + query['exportCode'] = exportCode + return request({ + url: url, + method: 'get', + responseType: 'blob', + params: query + }).then(response => { + hideLoading() + // 处理返回的文件流 + const blob = response.data + if (blob && blob.size === 0) { + this.$notify.error('内容为空,无法下载') + return + } + const link = document.createElement('a') + link.href = URL.createObjectURL(blob) + link.download = fileName + document.body.appendChild(link) + link.click() + window.setTimeout(function () { + URL.revokeObjectURL(blob) + document.body.removeChild(link) + }, 0) + }).catch()(() => { + hideLoading() + }) +} + +export function setNull (val) { + if (val === '' || val === undefined) { + return null + } + + return val +} + +export function loopEmpty (data) { + let type = getObjType(data) + let newData + + if (type === 'array') { + newData = [] + } else if (type === 'object') { + newData = {} + } else { + return setNull(data) + } + + if (type === 'array') { + for (var i = 0, len = data.length; i < len; i++) { + newData.push(loopEmpty(data[i])) + } + } else if (type === 'object') { + for (var key in data) { + newData[key] = loopEmpty(data[key]) + } + } + return newData +} + +export function copyJSON (data) { + return JSON.parse(JSON.stringify(data)) +} + +/** + * need use call(this, ref, keys) + * @param ref + * @param keys + */ +export function clearValidate (ref, keys) { + let me = this + setTimeout(() => { + keys.forEach(key => { + me.$refs[ref].clearValidate(key) + }) + }, 1) +} + +// 取得當前時間 +export function fDate (t1, format = 'YYYY/MM/DD HH:mm:ss') { + const config = { + YYYY: t1.getFullYear().toString().padStart(4, '0'), + MM: (t1.getMonth() + 1).toString().padStart(2, '0'), + DD: t1.getDate().toString().padStart(2, '0'), + HH: t1.getHours().toString().padStart(2, '0'), + mm: t1.getMinutes().toString().padStart(2, '0'), + ss: t1.getSeconds().toString().padStart(2, '0') + } + for (const key in config) { + format = format.replace(key, config[key]) + } + return format +} + +// 今日 +export function setToday (form, start, end) { + let today = fDateF(new Date(), 'YYYY-MM-DD HH:mm:ss') + form[start] = today.substring(0, 11) + '00:00:00' + form[end] = today.substring(0, 11) + '23:59:59' +} + +export function emptyToNull (value) { + return isBlank(value) ? null : value +} + +export function emptyToEmpty (value) { + return isBlank(value) ? '' : value +} + +export function getCell (n) { + let ordA = 'A'.charCodeAt(0) + let ordZ = 'Z'.charCodeAt(0) + let len = ordZ - ordA + 1 + let cell = '' + + while (n >= 0) { + cell = String.fromCharCode(n % len + ordA) + cell + n = Math.floor(n / len) - 1 + } + return cell +} + +export function clearTransferQuery (ref) { + let clean = ['left', 'right'] + clean.forEach(el => { + this.$refs[ref].clearQuery(el) + this.$refs[ref].clearQuery(el) + }) +} + +export function uuid() { + var temp_url = URL.createObjectURL(new Blob()); + var uuid = temp_url.toString(); // blob:https://xxx.com/b250d159-e1b6-4a87-9002-885d90033be3 + URL.revokeObjectURL(temp_url); + return uuid.substr(uuid.lastIndexOf("/") + 1); +} \ No newline at end of file diff --git a/src/util/validate.js b/src/util/validate.js new file mode 100644 index 0000000..e104c36 --- /dev/null +++ b/src/util/validate.js @@ -0,0 +1,282 @@ +/** + * 邮箱 + * @param {*} s + */ +export function isEmail(s) { + return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s) +} + +/** + * 手机号码 + * @param {*} s + */ +export function isMobile(s) { + return /^1[0-9]{10}$/.test(s) +} + +/** + * 电话号码 + * @param {*} s + */ +export function isPhone(s) { + return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s) +} + +/** + * URL地址 + * @param {*} s + */ +export function isURL(s) { + return /^http[s]?:\/\/.*/.test(s) +} + +export function isvalidUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} + +/* 合法uri */ +export function validateURL(textval) { + const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ + return urlregex.test(textval) +} + +/* 小写字母 */ +export function validateLowerCase(str) { + const reg = /^[a-z]+$/ + return reg.test(str) +} + +/* 大写字母 */ +export function validateUpperCase(str) { + const reg = /^[A-Z]+$/ + return reg.test(str) +} + +/* 大小写字母 */ +export function validatAlphabets(str) { + const reg = /^[A-Za-z]+$/ + return reg.test(str) +} + +/* 验证pad还是pc */ +export const vaildatePc = function () { + const userAgentInfo = navigator.userAgent + const Agents = ['Android', 'iPhone', + 'SymbianOS', 'Windows Phone', + 'iPad', 'iPod' + ] + let flag = true + for (var v = 0; v < Agents.length; v++) { + if (userAgentInfo.indexOf(Agents[v]) > 0) { + flag = false + break + } + } + return flag +} + +/** + * validate email + * @param email + * @returns {boolean} + */ +export function validateEmail(email) { + const re = /^(([^<>()\\[\]\\.,;:\s@"]+(\.[^<>()\\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return re.test(email) +} + +/** + * 判断身份证号码 + */ +export function cardid(code) { + const list = [] + let result = true + let msg = '' + var city = { + 11: '北京', + 12: '天津', + 13: '河北', + 14: '山西', + 15: '内蒙古', + 21: '辽宁', + 22: '吉林', + 23: '黑龙江 ', + 31: '上海', + 32: '江苏', + 33: '浙江', + 34: '安徽', + 35: '福建', + 36: '江西', + 37: '山东', + 41: '河南', + 42: '湖北 ', + 43: '湖南', + 44: '广东', + 45: '广西', + 46: '海南', + 50: '重庆', + 51: '四川', + 52: '贵州', + 53: '云南', + 54: '西藏 ', + 61: '陕西', + 62: '甘肃', + 63: '青海', + 64: '宁夏', + 65: '新疆', + 71: '台湾', + 81: '香港', + 82: '澳门', + 91: '国外 ' + } + if (!validatenull(code)) { + if (code.length === 18) { + if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) { + msg = '证件号码格式错误' + } else if (!city[code.substr(0, 2)]) { + msg = '地址编码错误' + } else { + // 18位身份证需要验证最后一位校验位 + code = code.split('') + // ∑(ai×Wi)(mod 11) + // 加权因子 + var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] + // 校验位 + var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2, 'x'] + var sum = 0 + var ai = 0 + var wi = 0 + for (var i = 0; i < 17; i++) { + ai = code[i] + wi = factor[i] + sum += ai * wi + } + if (parity[sum % 11] !== code[17]) { + msg = '证件号码校验位错误' + } else { + result = false + } + } + } else { + msg = '证件号码长度不为18位' + } + } else { + msg = '证件号码不能为空' + } + list.push(result) + list.push(msg) + return list +} + +/** + * 判断手机号码是否正确 + */ +export function isvalidatemobile(phone) { + const list = [] + let result = true + let msg = '' + var isPhone = /^0\d{2,3}-?\d{7,8}$/ + // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678] + if (!validatenull(phone)) { + if (phone.length === 11) { + if (isPhone.test(phone)) { + msg = '手机号码格式不正确' + } else { + result = false + } + } else { + msg = '手机号码长度不为11位' + } + } else { + msg = '手机号码不能为空' + } + list.push(result) + list.push(msg) + return list +} + +/** + * 判断手机号码是否正确(可以为空) + */ +export function isValidateNoneMobile(phone) { + const list = [] + let result = true + let msg = '' + var isPhone = /^0\d{2,3}-?\d{7,8}$/ + // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678] + if (!validatenull(phone)) { + if (phone.length === 11) { + if (isPhone.test(phone)) { + msg = '手机号码格式不正确' + } else { + result = false + } + } else { + msg = '手机号码长度不为11位' + } + } else { + result = false + } + list.push(result) + list.push(msg) + return list +} + +/** + * 判断姓名是否正确 + */ +export function validatename(name) { + var regName = /^[\u4e00-\u9fa5]{2,4}$/ + if (!regName.test(name)) return false + return true +} + +/** + * 判断是否为整数 + */ +export function validatenum(num, type) { + let regName = /[^\d.]/g + if (type === 1) { + if (!regName.test(num)) return false + } else if (type === 2) { + regName = /[^\d]/g + if (!regName.test(num)) return false + } + return true +} + +/** + * 判断是否为小数 + */ +export function validatenumord(num, type) { + let regName = /[^\d.]/g + if (type === 1) { + if (!regName.test(num)) return false + } else if (type === 2) { + regName = /[^\d.]/g + if (!regName.test(num)) return false + } + return true +} + +/** + * 判断是否为空 + */ +export function validatenull(val) { + if (typeof val === 'boolean') { + return false + } + if (typeof val === 'number') { + return false + } + if (val instanceof Array) { + if (val.length === 0) return true + } else if (val instanceof Object) { + if (JSON.stringify(val) === '{}') return true + } else { + if (val === 'null' || val == null || val === 'undefined' || val === undefined || val === '') return true + return false + } + return false +} diff --git a/src/util/validateRules.js b/src/util/validateRules.js new file mode 100644 index 0000000..688fe72 --- /dev/null +++ b/src/util/validateRules.js @@ -0,0 +1,61 @@ +/** + * @desc [自定义校验规则] + * @example + * import { validateRule } from "@/utils/validateRules"; + * rules: [ + * { validator: validateRule.emailValue, trigger: 'blur'} + * ] + */ + +export const rule = { + /** + * 校验 请输入中文、英文、数字包括下划线 + * 名称校验 + */ + validatorNameCn(translate, rule, value, callback) { + let acount = /^[\u4E00-\u9FA5A-Za-z0-9_]+$/ + if (value && !acount.test(value)) { + callback(new Error(translate('mes.customValidation.enterChineseEnglishNumberUnderscore'))) + } else { + callback() + } + }, + /** + * 校验 请输入中文、英文、数字包括下划线 + * 名称校验 + */ + validatorKey(translate, rule, value, callback) { + let acount = /^[A-Z_]+$/ + if (value && !acount.test(value)) { + callback(new Error(translate('mes.customValidation.enterUppercaseLettersAndUnderscores'))) + } else { + callback() + } + }, + + /** + * 校验首尾空白字符的正则表达式 + * + */ + checkSpace(rule, value, callback) { + let longrg = /[^\s]+$/ + if (!longrg.test(value)) { + callback(new Error('请输入非空格信息')) + } else { + callback() + } + }, + + /** + * 校验 正整数 + * 名称校验 + */ + validatorPositiveInt(rule, value, callback) { + let reg = /^[1-9]+[0-9]*$/ + if (value && !reg.test(value)) { + callback(new Error('请输入正整数')) + } else { + callback() + } + }, +} diff --git a/src/utils/db.js b/src/utils/db.js new file mode 100644 index 0000000..2409f3d --- /dev/null +++ b/src/utils/db.js @@ -0,0 +1,54 @@ +const DRAWING_ITEMS = 'drawingItems' +const DRAWING_ITEMS_VERSION = '1.2' +const DRAWING_ITEMS_VERSION_KEY = 'DRAWING_ITEMS_VERSION' +const DRAWING_ID = 'idGlobal' +const TREE_NODE_ID = 'treeNodeId' +const FORM_CONF = 'formConf' + +export function getDrawingList() { + // 加入缓存版本的概念,保证缓存数据与程序匹配 + const version = localStorage.getItem(DRAWING_ITEMS_VERSION_KEY) + if (version !== DRAWING_ITEMS_VERSION) { + localStorage.setItem(DRAWING_ITEMS_VERSION_KEY, DRAWING_ITEMS_VERSION) + saveDrawingList([]) + return null + } + + const str = localStorage.getItem(DRAWING_ITEMS) + if (str) return JSON.parse(str) + return null +} + +export function saveDrawingList(list) { + localStorage.setItem(DRAWING_ITEMS, JSON.stringify(list)) +} + +export function getIdGlobal() { + const str = localStorage.getItem(DRAWING_ID) + if (str) return parseInt(str, 10) + return 100 +} + +export function saveIdGlobal(id) { + localStorage.setItem(DRAWING_ID, `${id}`) +} + +export function getTreeNodeId() { + const str = localStorage.getItem(TREE_NODE_ID) + if (str) return parseInt(str, 10) + return 100 +} + +export function saveTreeNodeId(id) { + localStorage.setItem(TREE_NODE_ID, `${id}`) +} + +export function getFormConf() { + const str = localStorage.getItem(FORM_CONF) + if (str) return JSON.parse(str) + return null +} + +export function saveFormConf(obj) { + localStorage.setItem(FORM_CONF, JSON.stringify(obj)) +} diff --git a/src/utils/dict/Dict.js b/src/utils/dict/Dict.js new file mode 100644 index 0000000..104bd6e --- /dev/null +++ b/src/utils/dict/Dict.js @@ -0,0 +1,82 @@ +import Vue from 'vue' +import { mergeRecursive } from "@/utils/ruoyi"; +import DictMeta from './DictMeta' +import DictData from './DictData' + +const DEFAULT_DICT_OPTIONS = { + types: [], +} + +/** + * @classdesc 字典 + * @property {Object} label 标签对象,内部属性名为字典类型名称 + * @property {Object} dict 字段数组,内部属性名为字典类型名称 + * @property {Array.} _dictMetas 字典元数据数组 + */ +export default class Dict { + constructor() { + this.owner = null + this.label = {} + this.type = {} + } + + init(options) { + if (options instanceof Array) { + options = { types: options } + } + const opts = mergeRecursive(DEFAULT_DICT_OPTIONS, options) + if (opts.types === undefined) { + throw new Error('need dict types') + } + const ps = [] + this._dictMetas = opts.types.map(t => DictMeta.parse(t)) + this._dictMetas.forEach(dictMeta => { + const type = dictMeta.type + Vue.set(this.label, type, {}) + Vue.set(this.type, type, []) + if (dictMeta.lazy) { + return + } + ps.push(loadDict(this, dictMeta)) + }) + return Promise.all(ps) + } + + /** + * 重新加载字典 + * @param {String} type 字典类型 + */ + reloadDict(type) { + const dictMeta = this._dictMetas.find(e => e.type === type) + if (dictMeta === undefined) { + return Promise.reject(`the dict meta of ${type} was not found`) + } + return loadDict(this, dictMeta) + } +} + +/** + * 加载字典 + * @param {Dict} dict 字典 + * @param {DictMeta} dictMeta 字典元数据 + * @returns {Promise} + */ +function loadDict(dict, dictMeta) { + return dictMeta.request(dictMeta) + .then(response => { + const type = dictMeta.type + let dicts = dictMeta.responseConverter(response, dictMeta) + if (!(dicts instanceof Array)) { + console.error('the return of responseConverter must be Array.') + dicts = [] + } else if (dicts.filter(d => d instanceof DictData).length !== dicts.length) { + console.error('the type of elements in dicts must be DictData') + dicts = [] + } + dict.type[type].splice(0, Number.MAX_SAFE_INTEGER, ...dicts) + dicts.forEach(d => { + Vue.set(dict.label[type], d.value, d.label) + }) + return dicts + }) +} diff --git a/src/utils/dict/DictConverter.js b/src/utils/dict/DictConverter.js new file mode 100644 index 0000000..0cf5df8 --- /dev/null +++ b/src/utils/dict/DictConverter.js @@ -0,0 +1,17 @@ +import DictOptions from './DictOptions' +import DictData from './DictData' + +export default function(dict, dictMeta) { + const label = determineDictField(dict, dictMeta.labelField, ...DictOptions.DEFAULT_LABEL_FIELDS) + const value = determineDictField(dict, dictMeta.valueField, ...DictOptions.DEFAULT_VALUE_FIELDS) + return new DictData(dict[label], dict[value], dict) +} + +/** + * 确定字典字段 + * @param {DictData} dict + * @param {...String} fields + */ +function determineDictField(dict, ...fields) { + return fields.find(f => Object.prototype.hasOwnProperty.call(dict, f)) +} diff --git a/src/utils/dict/DictData.js b/src/utils/dict/DictData.js new file mode 100644 index 0000000..afc763e --- /dev/null +++ b/src/utils/dict/DictData.js @@ -0,0 +1,13 @@ +/** + * @classdesc 字典数据 + * @property {String} label 标签 + * @property {*} value 标签 + * @property {Object} raw 原始数据 + */ +export default class DictData { + constructor(label, value, raw) { + this.label = label + this.value = value + this.raw = raw + } +} diff --git a/src/utils/dict/DictMeta.js b/src/utils/dict/DictMeta.js new file mode 100644 index 0000000..9779daa --- /dev/null +++ b/src/utils/dict/DictMeta.js @@ -0,0 +1,38 @@ +import { mergeRecursive } from "@/utils/ruoyi"; +import DictOptions from './DictOptions' + +/** + * @classdesc 字典元数据 + * @property {String} type 类型 + * @property {Function} request 请求 + * @property {String} label 标签字段 + * @property {String} value 值字段 + */ +export default class DictMeta { + constructor(options) { + this.type = options.type + this.request = options.request + this.responseConverter = options.responseConverter + this.labelField = options.labelField + this.valueField = options.valueField + this.lazy = options.lazy === true + } +} + + +/** + * 解析字典元数据 + * @param {Object} options + * @returns {DictMeta} + */ +DictMeta.parse= function(options) { + let opts = null + if (typeof options === 'string') { + opts = DictOptions.metas[options] || {} + opts.type = options + } else if (typeof options === 'object') { + opts = options + } + opts = mergeRecursive(DictOptions.metas['*'], opts) + return new DictMeta(opts) +} diff --git a/src/utils/dict/DictOptions.js b/src/utils/dict/DictOptions.js new file mode 100644 index 0000000..74a21ba --- /dev/null +++ b/src/utils/dict/DictOptions.js @@ -0,0 +1,51 @@ +import { mergeRecursive } from '@/utils/ruoyi' +import dictConverter from './DictConverter' + +export const options = { + metas: { + '*': { + /** + * 字典请求,方法签名为function(dictMeta: DictMeta): Promise + */ + request: (dictMeta) => { + console.log(`load dict ${dictMeta.type}`) + return Promise.resolve([]) + }, + /** + * 字典响应数据转换器,方法签名为function(response: Object, dictMeta: DictMeta): DictData + */ + responseConverter, + labelField: 'label', + valueField: 'value', + }, + }, + /** + * 默认标签字段 + */ + DEFAULT_LABEL_FIELDS: ['label', 'name', 'title'], + /** + * 默认值字段 + */ + DEFAULT_VALUE_FIELDS: ['value', 'id', 'uid', 'key'], +} + +/** + * 映射字典 + * @param {Object} response 字典数据 + * @param {DictMeta} dictMeta 字典元数据 + * @returns {DictData} + */ +function responseConverter (response, dictMeta) { + const dicts = response.data instanceof Array ? response.data : response.data + if (dicts === undefined) { + console.warn(`no dict data of "${dictMeta.type}" found in the response`) + return [] + } + return dicts.map(d => dictConverter(d, dictMeta)) +} + +export function mergeOptions (src) { + mergeRecursive(options, src) +} + +export default options diff --git a/src/utils/dict/index.js b/src/utils/dict/index.js new file mode 100644 index 0000000..215eb9e --- /dev/null +++ b/src/utils/dict/index.js @@ -0,0 +1,33 @@ +import Dict from './Dict' +import { mergeOptions } from './DictOptions' + +export default function(Vue, options) { + mergeOptions(options) + Vue.mixin({ + data() { + if (this.$options === undefined || this.$options.dicts === undefined || this.$options.dicts === null) { + return {} + } + const dict = new Dict() + dict.owner = this + return { + dict + } + }, + created() { + if (!(this.dict instanceof Dict)) { + return + } + options.onCreated && options.onCreated(this.dict) + this.dict.init(this.$options.dicts).then(() => { + options.onReady && options.onReady(this.dict) + this.$nextTick(() => { + this.$emit('dictReady', this.dict) + if (this.$options.methods && this.$options.methods.onDictReady instanceof Function) { + this.$options.methods.onDictReady.call(this, this.dict) + } + }) + }) + }, + }) +} diff --git a/src/utils/errorCode.js b/src/utils/errorCode.js new file mode 100644 index 0000000..d2111ee --- /dev/null +++ b/src/utils/errorCode.js @@ -0,0 +1,6 @@ +export default { + '401': '认证失败,无法访问系统资源', + '403': '当前操作没有权限', + '404': '访问资源不存在', + 'default': '系统未知错误,请反馈给管理员' +} diff --git a/src/utils/ganttUtil.js b/src/utils/ganttUtil.js new file mode 100644 index 0000000..9e52a8e --- /dev/null +++ b/src/utils/ganttUtil.js @@ -0,0 +1,182 @@ +/** + * 是否为空 + * @param str + * @returns + */ +export function isBlank(str) { + if (str == undefined || str == null || str == "") { + return true; + } + + if (str.toString().trim() == "") { + return true; + } + return false; + } + + /** + * 时间单位说明转换 + * @param timeUnit + * @returns + */ + export function convertTimeUnit(timeUnit) { + var result = ""; + switch (timeUnit) { + case "DAY": + result = "天"; + break; + case "HOUR": + result = "时"; + break; + case "MINUTE": + result = "分"; + break; + default: + break; + } + return result; + } + /** + * 时间格式化处理 + * @param fmt + * @param date + * @returns + */ + export function dateFtt(fmt, date) { + date = new Date(date); + var o = { + "M+": date.getMonth() + 1, //月份 + "d+": date.getDate(), //日 + "h+": date.getHours(), //小时 + "m+": date.getMinutes(), //分 + "s+": date.getSeconds(), //秒 + "q+": Math.floor((date.getMonth() + 3) / 3), //季度 + "S": date.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) + fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; + } + + export function timeFormat(date) { + var y = date.getFullYear(); //年 + var m = date.getMonth() + 1; //月 + var d = date.getDate(); //日 + + return y + "-" + m + "-" + d; + } + + export function getFormatDate(arg) { + if (arg == undefined || arg == '') { + return ''; + } + + var re = arg + ''; + if (re.length < 2) { + re = '0' + re; + } + return re; + } + + export function addDate(date, days) { + if (days == undefined || days == '') { + days = 0; + } + var newDate = new Date(date); + newDate.setDate(newDate.getDate() + days); + var month = newDate.getMonth() + 1; + var day = newDate.getDate(); + return newDate.getFullYear() + '-' + getFormatDate(month) + '-' + getFormatDate(day) + " 00:00"; + } + +export function toFixed(number, d) { + var s = number + ""; + if( !d ) d = 0; + if(s.indexOf(".")==-1) s+="."; + s+=new Array(d+1).join("0"); + if(new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+(d+1)+"})?)\\d*$").test(s)){ + var s="0"+RegExp.$2,pm=RegExp.$1,a=RegExp.$3.length,b=true; + if(a==d+2){ + a=s.match(/\d/g); + if(parseInt(a[a.length-1])>4){ + for(var i=a.length-2;i>=0;i--){ + a[i]=parseInt(a[i])+1; + if(a[i]==10){ + a[i]=0; + b=i!=1; + }else break; + } + } + s=a.join("").replace(new RegExp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2"); + + }if(b)s=s.substr(1); + return Number((pm+s).replace(/\.$/,"")).toString(); + } + return Number(number+"").toString(); +} +/** + * 加法函数 + * @param arg1 + * @param arg2 + * @returns {number} + */ +export function add(arg1, arg2) { + var r1, r2, m; + try { + r1 = arg1.toString().split(".")[1].length; + } catch(e) { + r1 = 0; + } + try { + r2 = arg2.toString().split(".")[1].length; + } catch(e) { + r2 = 0; + } + m = Math.pow(10, Math.max(r1, r2)); + return (arg1 * m + arg2 * m) / m; +} +/** + * 减法函数 + * @param arg1 + * @param arg2 + * @returns {number} + */ +export function sub(arg1, arg2) { + var r1, r2, m, n; + try { + r1 = arg1.toString().split(".")[1].length; + } catch(e) { + r1 = 0; + } + try { + r2 = arg2.toString().split(".")[1].length; + } catch(e) { + r2 = 0; + } + m = Math.pow(10, Math.max(r1, r2)); + //last modify by deeka + //动态控制精度长度 + n = (r1 >= r2) ? r1: r2; + return ((arg1 * m - arg2 * m) / m).toFixed(n); +} +/** + * 乘法函数 + * @param arg1 + * @param arg2 + * @returns {number} + */ +export function mul(arg1, arg2) { + var m = 0, + s1 = arg1.toString(), + s2 = arg2.toString(); + try { + m += s1.split(".")[1].length; + } catch(e) {} + try { + m += s2.split(".")[1].length; + } catch(e) {} + return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m); +} \ No newline at end of file diff --git a/src/utils/generator/config.js b/src/utils/generator/config.js new file mode 100644 index 0000000..3100268 --- /dev/null +++ b/src/utils/generator/config.js @@ -0,0 +1,649 @@ +// 表单属性【右面板】 +export const formConf = { + formRef: 'elForm', + formModel: 'formData', + size: 'medium', + labelPosition: 'right', + labelWidth: 100, + formRules: 'rules', + gutter: 15, + disabled: false, + span: 24, + formBtns: true, +} + +// 输入型组件 【左面板】 +export const inputComponents = [ + { + // 组件的自定义配置 + __config__: { + label: '单行文本', + labelWidth: null, + showLabel: true, + changeTag: true, + tag: 'el-input', + tagIcon: 'input', + defaultValue: undefined, + required: true, + layout: 'colFormItem', + span: 24, + document: 'https://element.eleme.cn/#/zh-CN/component/input', + // 正则校验规则 + regList: [], + }, + // 组件的插槽属性 + __slot__: { + prepend: '', + append: '', + }, + // 其余的为可直接写在组件标签上的属性 + placeholder: '请输入', + style: { width: '100%' }, + clearable: true, + 'prefix-icon': '', + 'suffix-icon': '', + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + }, + { + __config__: { + label: '多行文本', + labelWidth: null, + showLabel: true, + tag: 'el-input', + tagIcon: 'textarea', + defaultValue: undefined, + required: true, + layout: 'colFormItem', + span: 24, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input', + }, + type: 'textarea', + placeholder: '请输入', + autosize: { + minRows: 4, + maxRows: 4, + }, + style: { width: '100%' }, + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + }, + { + __config__: { + label: '密码', + showLabel: true, + labelWidth: null, + changeTag: true, + tag: 'el-input', + tagIcon: 'password', + defaultValue: undefined, + layout: 'colFormItem', + span: 24, + required: true, + regList: [], + document: 'https://element.eleme.cn/#/zh-CN/component/input', + }, + __slot__: { + prepend: '', + append: '', + }, + placeholder: '请输入', + 'show-password': true, + style: { width: '100%' }, + clearable: true, + 'prefix-icon': '', + 'suffix-icon': '', + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + }, + { + __config__: { + label: '计数器', + showLabel: true, + changeTag: true, + labelWidth: null, + tag: 'el-input-number', + tagIcon: 'number', + defaultValue: undefined, + span: 24, + layout: 'colFormItem', + required: true, + regList: [], + document: 'https://element.eleme.cn/#/zh-CN/component/input-number', + }, + placeholder: '', + min: undefined, + max: undefined, + step: 1, + 'step-strictly': false, + precision: undefined, + 'controls-position': '', + disabled: false, + }, + { + __config__: { + label: '编辑器', + showLabel: true, + changeTag: true, + labelWidth: null, + tag: 'tinymce', + tagIcon: 'rich-text', + defaultValue: null, + span: 24, + layout: 'colFormItem', + required: true, + regList: [], + document: 'http://tinymce.ax-z.cn', + }, + placeholder: '请输入', + height: 300, // 编辑器高度 + branding: false, // 隐藏右下角品牌烙印 + }, +] + +// 选择型组件 【左面板】 +export const selectComponents = [ + { + __config__: { + label: '下拉选择', + showLabel: true, + labelWidth: null, + tag: 'el-select', + tagIcon: 'select', + layout: 'colFormItem', + span: 24, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/select', + }, + __slot__: { + options: [ + { + label: '选项一', + value: 1, + }, + { + label: '选项二', + value: 2, + }, + ], + }, + placeholder: '请选择', + style: { width: '100%' }, + clearable: true, + disabled: false, + filterable: false, + multiple: false, + }, + { + __config__: { + label: '级联选择', + url: 'https://www.fastmock.site/mock/f8d7a54fb1e60561e2f720d5a810009d/fg/cascaderList', + method: 'get', + dataKey: 'list', + dataConsumer: 'options', + showLabel: true, + labelWidth: null, + tag: 'el-cascader', + tagIcon: 'cascader', + layout: 'colFormItem', + defaultValue: [], + dataType: 'dynamic', + span: 24, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/cascader', + }, + options: [ + { + id: 1, + value: 1, + label: '选项1', + children: [ + { + id: 2, + value: 2, + label: '选项1-1', + }, + ], + }, + ], + placeholder: '请选择', + style: { width: '100%' }, + props: { + props: { + multiple: false, + label: 'label', + value: 'value', + children: 'children', + }, + }, + 'show-all-levels': true, + disabled: false, + clearable: true, + filterable: false, + separator: '/', + }, + { + __config__: { + label: '单选框组', + labelWidth: null, + showLabel: true, + tag: 'el-radio-group', + tagIcon: 'radio', + changeTag: true, + defaultValue: undefined, + layout: 'colFormItem', + span: 24, + optionType: 'default', + regList: [], + required: true, + border: false, + document: 'https://element.eleme.cn/#/zh-CN/component/radio', + }, + __slot__: { + options: [ + { + label: '选项一', + value: 1, + }, + { + label: '选项二', + value: 2, + }, + ], + }, + style: {}, + size: 'medium', + disabled: false, + }, + { + __config__: { + label: '多选框组', + tag: 'el-checkbox-group', + tagIcon: 'checkbox', + defaultValue: [], + span: 24, + showLabel: true, + labelWidth: null, + layout: 'colFormItem', + optionType: 'default', + required: true, + regList: [], + changeTag: true, + border: false, + document: 'https://element.eleme.cn/#/zh-CN/component/checkbox', + }, + __slot__: { + options: [ + { + label: '选项一', + value: 1, + }, + { + label: '选项二', + value: 2, + }, + ], + }, + style: {}, + size: 'medium', + min: null, + max: null, + disabled: false, + }, + { + __config__: { + label: '开关', + tag: 'el-switch', + tagIcon: 'switch', + defaultValue: false, + span: 24, + showLabel: true, + labelWidth: null, + layout: 'colFormItem', + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/switch', + }, + style: {}, + disabled: false, + 'active-text': '', + 'inactive-text': '', + 'active-color': null, + 'inactive-color': null, + 'active-value': true, + 'inactive-value': false, + }, + { + __config__: { + label: '滑块', + tag: 'el-slider', + tagIcon: 'slider', + defaultValue: null, + span: 24, + showLabel: true, + layout: 'colFormItem', + labelWidth: null, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/slider', + }, + disabled: false, + min: 0, + max: 100, + step: 1, + 'show-stops': false, + range: false, + }, + { + __config__: { + label: '时间选择', + tag: 'el-time-picker', + tagIcon: 'time', + defaultValue: null, + span: 24, + showLabel: true, + layout: 'colFormItem', + labelWidth: null, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/time-picker', + }, + placeholder: '请选择', + style: { width: '100%' }, + disabled: false, + clearable: true, + 'picker-options': { + selectableRange: '00:00:00-23:59:59', + }, + format: 'HH:mm:ss', + 'value-format': 'HH:mm:ss', + }, + { + __config__: { + label: '时间范围', + tag: 'el-time-picker', + tagIcon: 'time-range', + span: 24, + showLabel: true, + labelWidth: null, + layout: 'colFormItem', + defaultValue: null, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/time-picker', + }, + style: { width: '100%' }, + disabled: false, + clearable: true, + 'is-range': true, + 'range-separator': '至', + 'start-placeholder': '开始时间', + 'end-placeholder': '结束时间', + format: 'HH:mm:ss', + 'value-format': 'HH:mm:ss', + }, + { + __config__: { + label: '日期选择', + tag: 'el-date-picker', + tagIcon: 'date', + defaultValue: null, + showLabel: true, + labelWidth: null, + span: 24, + layout: 'colFormItem', + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/date-picker', + }, + placeholder: '请选择', + type: 'date', + style: { width: '100%' }, + disabled: false, + clearable: true, + format: 'yyyy-MM-dd', + 'value-format': 'yyyy-MM-dd', + readonly: false, + }, + { + __config__: { + label: '日期范围', + tag: 'el-date-picker', + tagIcon: 'date-range', + defaultValue: null, + span: 24, + showLabel: true, + labelWidth: null, + required: true, + layout: 'colFormItem', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/date-picker', + }, + style: { width: '100%' }, + type: 'daterange', + 'range-separator': '至', + 'start-placeholder': '开始日期', + 'end-placeholder': '结束日期', + disabled: false, + clearable: true, + format: 'yyyy-MM-dd', + 'value-format': 'yyyy-MM-dd', + readonly: false, + }, + { + __config__: { + label: '评分', + tag: 'el-rate', + tagIcon: 'rate', + defaultValue: 0, + span: 24, + showLabel: true, + labelWidth: null, + layout: 'colFormItem', + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/rate', + }, + style: {}, + max: 5, + 'allow-half': false, + 'show-text': false, + 'show-score': false, + disabled: false, + }, + { + __config__: { + label: '颜色选择', + tag: 'el-color-picker', + tagIcon: 'color', + span: 24, + defaultValue: null, + showLabel: true, + labelWidth: null, + layout: 'colFormItem', + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/color-picker', + }, + 'show-alpha': false, + 'color-format': '', + disabled: false, + size: 'medium', + }, + { + __config__: { + label: '上传', + tag: 'el-upload', + tagIcon: 'upload', + layout: 'colFormItem', + defaultValue: null, + showLabel: true, + labelWidth: null, + required: true, + span: 24, + showTip: false, + buttonText: '点击上传', + regList: [], + changeTag: true, + fileSize: 2, + sizeUnit: 'MB', + document: 'https://element.eleme.cn/#/zh-CN/component/upload', + }, + __slot__: { + 'list-type': true, + }, + action: process.env.VUE_APP_BASE_API + '/system/oss/upload', + disabled: false, + accept: '', + name: 'file', + 'auto-upload': true, + 'list-type': 'text', + multiple: false, + }, +] + +// 布局型组件 【左面板】 +export const layoutComponents = [ + { + __config__: { + layout: 'rowFormItem', + tagIcon: 'row', + label: '行容器', + layoutTree: true, + document: 'https://element.eleme.cn/#/zh-CN/component/layout#row-attributes', + }, + type: 'default', + justify: 'start', + align: 'top', + }, + { + __config__: { + label: '按钮', + showLabel: true, + changeTag: true, + labelWidth: null, + tag: 'el-button', + tagIcon: 'button', + span: 24, + layout: 'colFormItem', + document: 'https://element.eleme.cn/#/zh-CN/component/button', + }, + __slot__: { + default: '主要按钮', + }, + type: 'primary', + icon: 'el-icon-search', + round: false, + size: 'medium', + plain: false, + circle: false, + disabled: false, + }, + { + __config__: { + layout: 'colFormItem', + tagIcon: 'table', + tag: 'el-table', + document: 'https://element.eleme.cn/#/zh-CN/component/table', + span: 24, + formId: 101, + renderKey: 1595761764203, + componentName: 'row101', + showLabel: true, + changeTag: true, + labelWidth: null, + label: '表格[开发中]', + dataType: 'dynamic', + method: 'get', + dataPath: 'list', + dataConsumer: 'data', + url: 'https://www.fastmock.site/mock/f8d7a54fb1e60561e2f720d5a810009d/fg/tableData', + children: [ + { + __config__: { + layout: 'raw', + tag: 'el-table-column', + renderKey: 15957617660153, + }, + prop: 'date', + label: 'mes.pms.date', + }, + { + __config__: { + layout: 'raw', + tag: 'el-table-column', + renderKey: 15957617660152, + }, + prop: 'address', + label: '地址', + }, + { + __config__: { + layout: 'raw', + tag: 'el-table-column', + renderKey: 15957617660151, + }, + prop: 'name', + label: 'crud.column.label.name', + }, + { + __config__: { + layout: 'raw', + tag: 'el-table-column', + renderKey: 1595774496335, + children: [ + { + __config__: { + label: '按钮', + tag: 'el-button', + tagIcon: 'button', + layout: 'raw', + renderKey: 1595779809901, + }, + __slot__: { + default: '主要按钮', + }, + type: 'primary', + icon: 'el-icon-search', + round: false, + size: 'medium', + }, + ], + }, + label: 'crud.column.label.operation', + }, + ], + }, + data: [], + directives: [ + { + name: 'loading', + value: true, + }, + ], + border: true, + type: 'default', + justify: 'start', + align: 'top', + }, +] diff --git a/src/utils/generator/css.js b/src/utils/generator/css.js new file mode 100644 index 0000000..7cb86e6 --- /dev/null +++ b/src/utils/generator/css.js @@ -0,0 +1,18 @@ +const styles = { + 'el-rate': '.el-rate{display: inline-block; vertical-align: text-top;}', + 'el-upload': '.el-upload__tip{line-height: 1.2;}' +} + +function addCss(cssList, el) { + const css = styles[el.__config__.tag] + css && cssList.indexOf(css) === -1 && cssList.push(css) + if (el.__config__.children) { + el.__config__.children.forEach(el2 => addCss(cssList, el2)) + } +} + +export function makeUpCss(conf) { + const cssList = [] + conf.fields.forEach(el => addCss(cssList, el)) + return cssList.join('\n') +} diff --git a/src/utils/generator/drawingDefault.js b/src/utils/generator/drawingDefault.js new file mode 100644 index 0000000..dbc1daf --- /dev/null +++ b/src/utils/generator/drawingDefault.js @@ -0,0 +1,37 @@ +export default [ + { + __config__: { + label: '单行文本', + labelWidth: null, + showLabel: true, + changeTag: true, + tag: 'el-input', + tagIcon: 'input', + defaultValue: undefined, + required: true, + layout: 'colFormItem', + span: 24, + document: 'https://element.eleme.cn/#/zh-CN/component/input', + // 正则校验规则 + regList: [{ + pattern: '/^1(3|4|5|7|8|9)\\d{9}$/', + message: '手机号格式错误' + }] + }, + // 组件的插槽属性 + __slot__: { + prepend: '', + append: '' + }, + __vModel__: 'mobile', + placeholder: '请输入手机号', + style: { width: '100%' }, + clearable: true, + 'prefix-icon': 'el-icon-mobile', + 'suffix-icon': '', + maxlength: 11, + 'show-word-limit': true, + readonly: false, + disabled: false + } +] diff --git a/src/utils/generator/html.js b/src/utils/generator/html.js new file mode 100644 index 0000000..7b55ecd --- /dev/null +++ b/src/utils/generator/html.js @@ -0,0 +1,367 @@ +/* eslint-disable max-len */ +import trigger from './ruleTrigger' + +let confGlobal +let someSpanIsNot24 + +export function dialogWrapper(str) { + return ` + ${str} +
    + 取消 + 确定 +
    +
    ` +} + +export function vueTemplate(str) { + return `` +} + +export function vueScript(str) { + return `` +} + +export function cssStyle(cssStr) { + return `` +} + +function buildFormTemplate(conf, child, type) { + let labelPosition = '' + if (conf.labelPosition !== 'right') { + labelPosition = `label-position="${conf.labelPosition}"` + } + const disabled = conf.disabled ? `:disabled="${conf.disabled}"` : '' + let str = ` + ${child} + ${buildFromBtns(conf, type)} + ` + if (someSpanIsNot24) { + str = ` + ${str} + ` + } + return str +} + +function buildFromBtns(conf, type) { + let str = '' + if (conf.formBtns && type === 'file') { + str = ` + 提交 + 重置 + ` + if (someSpanIsNot24) { + str = ` + ${str} + ` + } + } + return str +} + +// span不为24的用el-col包裹 +function colWrapper(element, str) { + if (someSpanIsNot24 || element.__config__.span !== 24) { + return ` + ${str} + ` + } + return str +} + +const layouts = { + colFormItem(element) { + let labelWidth = '' + if (element.__config__.labelWidth && element.__config__.labelWidth !== confGlobal.labelWidth) { + labelWidth = `label-width="${element.__config__.labelWidth}px"` + } + const required = !trigger[element.__config__.tag] && element.__config__.required ? 'required' : '' + const tagDom = tags[element.__config__.tag] ? tags[element.__config__.tag](element) : null + let str = ` + ${tagDom} + ` + str = colWrapper(element, str) + return str + }, + rowFormItem(element) { + const type = element.type === 'default' ? '' : `type="${element.type}"` + const justify = element.type === 'default' ? '' : `justify="${element.justify}"` + const align = element.type === 'default' ? '' : `align="${element.align}"` + const gutter = element.gutter ? `gutter="${element.gutter}"` : '' + const children = element.__config__.children.map(el => layouts[el.__config__.layout](el)) + let str = ` + ${children.join('\n')} + ` + str = colWrapper(element, str) + return str + } +} + +const tags = { + 'el-button': el => { + const { + tag, disabled + } = attrBuilder(el) + const type = el.type ? `type="${el.type}"` : '' + const icon = el.icon ? `icon="${el.icon}"` : '' + const size = el.size ? `size="${el.size}"` : '' + let child = buildElButtonChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.__config__.tag} ${type} ${icon} ${size} ${disabled}>${child}` + }, + 'el-input': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const maxlength = el.maxlength ? `:maxlength="${el.maxlength}"` : '' + const showWordLimit = el['show-word-limit'] ? 'show-word-limit' : '' + const readonly = el.readonly ? 'readonly' : '' + const prefixIcon = el['prefix-icon'] ? `prefix-icon='${el['prefix-icon']}'` : '' + const suffixIcon = el['suffix-icon'] ? `suffix-icon='${el['suffix-icon']}'` : '' + const showPassword = el['show-password'] ? 'show-password' : '' + const type = el.type ? `type="${el.type}"` : '' + const autosize = el.autosize && el.autosize.minRows + ? `:autosize="{minRows: ${el.autosize.minRows}, maxRows: ${el.autosize.maxRows}}"` + : '' + let child = buildElInputChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.__config__.tag} ${vModel} ${type} ${placeholder} ${maxlength} ${showWordLimit} ${readonly} ${disabled} ${clearable} ${prefixIcon} ${suffixIcon} ${showPassword} ${autosize} ${width}>${child}` + }, + 'el-input-number': el => { + const { disabled, vModel, placeholder } = attrBuilder(el) + const controlsPosition = el['controls-position'] ? `controls-position=${el['controls-position']}` : '' + const min = el.min ? `:min='${el.min}'` : '' + const max = el.max ? `:max='${el.max}'` : '' + const step = el.step ? `:step='${el.step}'` : '' + const stepStrictly = el['step-strictly'] ? 'step-strictly' : '' + const precision = el.precision ? `:precision='${el.precision}'` : '' + + return `<${el.__config__.tag} ${vModel} ${placeholder} ${step} ${stepStrictly} ${precision} ${controlsPosition} ${min} ${max} ${disabled}>` + }, + 'el-select': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const filterable = el.filterable ? 'filterable' : '' + const multiple = el.multiple ? 'multiple' : '' + let child = buildElSelectChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.__config__.tag} ${vModel} ${placeholder} ${disabled} ${multiple} ${filterable} ${clearable} ${width}>${child}` + }, + 'el-radio-group': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + let child = buildElRadioGroupChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.__config__.tag} ${vModel} ${size} ${disabled}>${child}` + }, + 'el-checkbox-group': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + const min = el.min ? `:min="${el.min}"` : '' + const max = el.max ? `:max="${el.max}"` : '' + let child = buildElCheckboxGroupChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.__config__.tag} ${vModel} ${min} ${max} ${size} ${disabled}>${child}` + }, + 'el-switch': el => { + const { disabled, vModel } = attrBuilder(el) + const activeText = el['active-text'] ? `active-text="${el['active-text']}"` : '' + const inactiveText = el['inactive-text'] ? `inactive-text="${el['inactive-text']}"` : '' + const activeColor = el['active-color'] ? `active-color="${el['active-color']}"` : '' + const inactiveColor = el['inactive-color'] ? `inactive-color="${el['inactive-color']}"` : '' + const activeValue = el['active-value'] !== true ? `:active-value='${JSON.stringify(el['active-value'])}'` : '' + const inactiveValue = el['inactive-value'] !== false ? `:inactive-value='${JSON.stringify(el['inactive-value'])}'` : '' + + return `<${el.__config__.tag} ${vModel} ${activeText} ${inactiveText} ${activeColor} ${inactiveColor} ${activeValue} ${inactiveValue} ${disabled}>` + }, + 'el-cascader': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const options = el.options ? `:options="${el.__vModel__}Options"` : '' + const props = el.props ? `:props="${el.__vModel__}Props"` : '' + const showAllLevels = el['show-all-levels'] ? '' : ':show-all-levels="false"' + const filterable = el.filterable ? 'filterable' : '' + const separator = el.separator === '/' ? '' : `separator="${el.separator}"` + + return `<${el.__config__.tag} ${vModel} ${options} ${props} ${width} ${showAllLevels} ${placeholder} ${separator} ${filterable} ${clearable} ${disabled}>` + }, + 'el-slider': el => { + const { disabled, vModel } = attrBuilder(el) + const min = el.min ? `:min='${el.min}'` : '' + const max = el.max ? `:max='${el.max}'` : '' + const step = el.step ? `:step='${el.step}'` : '' + const range = el.range ? 'range' : '' + const showStops = el['show-stops'] ? `:show-stops="${el['show-stops']}"` : '' + + return `<${el.__config__.tag} ${min} ${max} ${step} ${vModel} ${range} ${showStops} ${disabled}>` + }, + 'el-time-picker': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : '' + const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : '' + const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : '' + const isRange = el['is-range'] ? 'is-range' : '' + const format = el.format ? `format="${el.format}"` : '' + const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : '' + const pickerOptions = el['picker-options'] ? `:picker-options='${JSON.stringify(el['picker-options'])}'` : '' + + return `<${el.__config__.tag} ${vModel} ${isRange} ${format} ${valueFormat} ${pickerOptions} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${disabled}>` + }, + 'el-date-picker': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : '' + const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : '' + const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : '' + const format = el.format ? `format="${el.format}"` : '' + const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : '' + const type = el.type === 'date' ? '' : `type="${el.type}"` + const readonly = el.readonly ? 'readonly' : '' + + return `<${el.__config__.tag} ${type} ${vModel} ${format} ${valueFormat} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${readonly} ${disabled}>` + }, + 'el-rate': el => { + const { disabled, vModel } = attrBuilder(el) + const max = el.max ? `:max='${el.max}'` : '' + const allowHalf = el['allow-half'] ? 'allow-half' : '' + const showText = el['show-text'] ? 'show-text' : '' + const showScore = el['show-score'] ? 'show-score' : '' + + return `<${el.__config__.tag} ${vModel} ${max} ${allowHalf} ${showText} ${showScore} ${disabled}>` + }, + 'el-color-picker': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + const showAlpha = el['show-alpha'] ? 'show-alpha' : '' + const colorFormat = el['color-format'] ? `color-format="${el['color-format']}"` : '' + + return `<${el.__config__.tag} ${vModel} ${size} ${showAlpha} ${colorFormat} ${disabled}>` + }, + 'el-upload': el => { + const disabled = el.disabled ? ':disabled=\'true\'' : '' + const action = el.action ? `:action="${el.__vModel__}Action"` : '' + const multiple = el.multiple ? 'multiple' : '' + const listType = el['list-type'] !== 'text' ? `list-type="${el['list-type']}"` : '' + const accept = el.accept ? `accept="${el.accept}"` : '' + const name = el.name !== 'file' ? `name="${el.name}"` : '' + const autoUpload = el['auto-upload'] === false ? ':auto-upload="false"' : '' + const beforeUpload = `:before-upload="${el.__vModel__}BeforeUpload"` + const fileList = `:file-list="${el.__vModel__}fileList"` + const ref = `ref="${el.__vModel__}"` + let child = buildElUploadChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.__config__.tag} ${ref} ${fileList} ${action} ${autoUpload} ${multiple} ${beforeUpload} ${listType} ${accept} ${name} ${disabled}>${child}` + }, + tinymce: el => { + const { tag, vModel, placeholder } = attrBuilder(el) + const height = el.height ? `:height="${el.height}"` : '' + const branding = el.branding ? `:branding="${el.branding}"` : '' + return `<${tag} ${vModel} ${placeholder} ${height} ${branding}>` + } +} + +function attrBuilder(el) { + return { + vModel: `v-model="${confGlobal.formModel}.${el.__vModel__}"`, + clearable: el.clearable ? 'clearable' : '', + placeholder: el.placeholder ? `placeholder="${el.placeholder}"` : '', + width: el.style && el.style.width ? ':style="{width: \'100%\'}"' : '', + disabled: el.disabled ? ':disabled=\'true\'' : '' + } +} + +// el-buttin 子级 +function buildElButtonChild(conf) { + const children = [] + if (conf.__config__.defaultValue) { + children.push(conf.__config__.defaultValue) + } + return children.join('\n') +} + +// el-input innerHTML +function buildElInputChild(conf) { + const children = [] + if (conf.__slot__ && conf.__slot__.prepend) { + children.push(``) + } + if (conf.__slot__ && conf.__slot__.append) { + children.push(``) + } + return children.join('\n') +} + +function buildElSelectChild(conf) { + const children = [] + if (conf.__slot__.options && conf.__slot__.options.length) { + children.push(``) + } + return children.join('\n') +} + +function buildElRadioGroupChild(conf) { + const children = [] + if (conf.__slot__.options && conf.__slot__.options.length) { + const tag = conf.__config__.optionType === 'button' ? 'el-radio-button' : 'el-radio' + const border = conf.__config__.border ? 'border' : '' + children.push(`<${tag} v-for="(item, index) in ${conf.__vModel__}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}`) + } + return children.join('\n') +} + +function buildElCheckboxGroupChild(conf) { + const children = [] + if (conf.__slot__.options && conf.__slot__.options.length) { + const tag = conf.__config__.optionType === 'button' ? 'el-checkbox-button' : 'el-checkbox' + const border = conf.__config__.border ? 'border' : '' + children.push(`<${tag} v-for="(item, index) in ${conf.__vModel__}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}`) + } + return children.join('\n') +} + +function buildElUploadChild(conf) { + const list = [] + if (conf['list-type'] === 'picture-card') list.push('') + else list.push(`${conf.__config__.buttonText}`) + if (conf.__config__.showTip) list.push(`
    只能上传不超过 ${conf.__config__.fileSize}${conf.__config__.sizeUnit} 的${conf.accept}文件
    `) + return list.join('\n') +} + +export function makeUpHtml(conf, type) { + const htmlList = [] + confGlobal = conf + someSpanIsNot24 = conf.fields.some(item => item.span !== 24) + conf.fields.forEach(el => { + htmlList.push(layouts[el.__config__.layout](el)) + }) + const htmlStr = htmlList.join('\n') + + let temp = buildFormTemplate(conf, htmlStr, type) + if (type === 'dialog') { + temp = dialogWrapper(temp) + } + confGlobal = null + return temp +} + + diff --git a/src/utils/generator/icon.json b/src/utils/generator/icon.json new file mode 100644 index 0000000..2d9999a --- /dev/null +++ b/src/utils/generator/icon.json @@ -0,0 +1 @@ +["platform-eleme","eleme","delete-solid","delete","s-tools","setting","user-solid","user","phone","phone-outline","more","more-outline","star-on","star-off","s-goods","goods","warning","warning-outline","question","info","remove","circle-plus","success","error","zoom-in","zoom-out","remove-outline","circle-plus-outline","circle-check","circle-close","s-help","help","minus","plus","check","close","picture","picture-outline","picture-outline-round","upload","upload2","download","camera-solid","camera","video-camera-solid","video-camera","message-solid","bell","s-cooperation","s-order","s-platform","s-fold","s-unfold","s-operation","s-promotion","s-home","s-release","s-ticket","s-management","s-open","s-shop","s-marketing","s-flag","s-comment","s-finance","s-claim","s-custom","s-opportunity","s-data","s-check","s-grid","menu","share","d-caret","caret-left","caret-right","caret-bottom","caret-top","bottom-left","bottom-right","back","right","bottom","top","top-left","top-right","arrow-left","arrow-right","arrow-down","arrow-up","d-arrow-left","d-arrow-right","video-pause","video-play","refresh","refresh-right","refresh-left","finished","sort","sort-up","sort-down","rank","loading","view","c-scale-to-original","date","edit","edit-outline","folder","folder-opened","folder-add","folder-remove","folder-delete","folder-checked","tickets","document-remove","document-delete","document-copy","document-checked","document","document-add","printer","paperclip","takeaway-box","search","monitor","attract","mobile","scissors","umbrella","headset","brush","mouse","coordinate","magic-stick","reading","data-line","data-board","pie-chart","data-analysis","collection-tag","film","suitcase","suitcase-1","receiving","collection","files","notebook-1","notebook-2","toilet-paper","office-building","school","table-lamp","house","no-smoking","smoking","shopping-cart-full","shopping-cart-1","shopping-cart-2","shopping-bag-1","shopping-bag-2","sold-out","sell","present","box","bank-card","money","coin","wallet","discount","price-tag","news","guide","male","female","thumb","cpu","link","connection","open","turn-off","set-up","chat-round","chat-line-round","chat-square","chat-dot-round","chat-dot-square","chat-line-square","message","postcard","position","turn-off-microphone","microphone","close-notification","bangzhu","time","odometer","crop","aim","switch-button","full-screen","copy-document","mic","stopwatch","medal-1","medal","trophy","trophy-1","first-aid-kit","discover","place","location","location-outline","location-information","add-location","delete-location","map-location","alarm-clock","timer","watch-1","watch","lock","unlock","key","service","mobile-phone","bicycle","truck","ship","basketball","football","soccer","baseball","wind-power","light-rain","lightning","heavy-rain","sunrise","sunrise-1","sunset","sunny","cloudy","partly-cloudy","cloudy-and-sunny","moon","moon-night","dish","dish-1","food","chicken","fork-spoon","knife-fork","burger","tableware","sugar","dessert","ice-cream","hot-water","water-cup","coffee-cup","cold-drink","goblet","goblet-full","goblet-square","goblet-square-full","refrigerator","grape","watermelon","cherry","apple","pear","orange","coffee","ice-tea","ice-drink","milk-tea","potato-strips","lollipop","ice-cream-square","ice-cream-round"] \ No newline at end of file diff --git a/src/utils/generator/js.js b/src/utils/generator/js.js new file mode 100644 index 0000000..ccf18ab --- /dev/null +++ b/src/utils/generator/js.js @@ -0,0 +1,243 @@ +import { isArray } from 'util' +import { exportDefault, titleCase } from '@/utils' +import trigger from './ruleTrigger' + +const units = { + KB: '1024', + MB: '1024 / 1024', + GB: '1024 / 1024 / 1024' +} +let confGlobal +const inheritAttrs = { + file: '', + dialog: 'inheritAttrs: false,' +} + + +export function makeUpJs(conf, type) { + confGlobal = conf = JSON.parse(JSON.stringify(conf)) + const dataList = [] + const ruleList = [] + const optionsList = [] + const propsList = [] + const methodList = mixinMethod(type) + const uploadVarList = [] + + conf.fields.forEach(el => { + buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) + }) + + const script = buildexport( + conf, + type, + dataList.join('\n'), + ruleList.join('\n'), + optionsList.join('\n'), + uploadVarList.join('\n'), + propsList.join('\n'), + methodList.join('\n') + ) + confGlobal = null + return script +} + +function buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) { + buildData(el, dataList) + buildRules(el, ruleList) + + if (el.__slot__) { + if (el.__slot__.options && el.__slot__.options.length) { + buildOptions(el, optionsList) + } + } else { + if (el.options && el.options.length) { + buildOptions(el, optionsList) + if (el.__config__.dataType === 'dynamic') { + const model = `${el.__vModel__}Options` + const options = titleCase(model) + buildOptionMethod(`get${options}`, model, methodList) + } + } + } + + if (el.props && el.props.props) { + buildProps(el, propsList) + } + + if (el.action && el.__config__.tag === 'el-upload') { + uploadVarList.push( + `${el.__vModel__}Action: '${el.action}', + ${el.__vModel__}fileList: [],` + ) + methodList.push(buildBeforeUpload(el)) + if (!el['auto-upload']) { + methodList.push(buildSubmitUpload(el)) + } + } + + if (el.__config__.children) { + el.__config__.children.forEach(el2 => { + buildAttributes(el2, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) + }) + } +} + +function mixinMethod(type) { + const list = []; const + minxins = { + file: confGlobal.formBtns ? { + submitForm: `submitForm() { + this.$refs['${confGlobal.formRef}'].validate(valid => { + if(!valid) return + // TODO 提交表单 + }) + },`, + resetForm: `resetForm() { + this.$refs['${confGlobal.formRef}'].resetFields() + },` + } : null, + dialog: { + onOpen: 'onOpen() {},', + onClose: `onClose() { + this.$refs['${confGlobal.formRef}'].resetFields() + },`, + close: `close() { + this.$emit('update:visible', false) + },`, + handleConfirm: `handleConfirm() { + this.$refs['${confGlobal.formRef}'].validate(valid => { + if(!valid) return + this.close() + }) + },` + } + } + + const methods = minxins[type] + if (methods) { + Object.keys(methods).forEach(key => { + list.push(methods[key]) + }) + } + + return list +} + +function buildData(conf, dataList) { + if (conf.__vModel__ === undefined) return + let defaultValue + if (typeof (conf.__config__.defaultValue) === 'string' && !conf.multiple) { + defaultValue = `'${conf.__config__.defaultValue}'` + } else { + defaultValue = `${JSON.stringify(conf.__config__.defaultValue)}` + } + dataList.push(`${conf.__vModel__}: ${defaultValue},`) +} + +function buildRules(conf, ruleList) { + if (conf.__vModel__ === undefined) return + const rules = [] + if (trigger[conf.__config__.tag]) { + if (conf.__config__.required) { + const type = isArray(conf.__config__.defaultValue) ? 'type: \'array\',' : '' + let message = isArray(conf.__config__.defaultValue) ? `请至少选择一个${conf.__vModel__}` : conf.placeholder + if (message === undefined) message = `${conf.__config__.label}不能为空` + rules.push(`{ required: true, ${type} message: '${message}', trigger: '${trigger[conf.__config__.tag]}' }`) + } + if (conf.__config__.regList && isArray(conf.__config__.regList)) { + conf.__config__.regList.forEach(item => { + if (item.pattern) { + rules.push(`{ pattern: ${eval(item.pattern)}, message: '${item.message}', trigger: '${trigger[conf.__config__.tag]}' }`) + } + }) + } + ruleList.push(`${conf.__vModel__}: [${rules.join(',')}],`) + } +} + +function buildOptions(conf, optionsList) { + if (conf.__vModel__ === undefined) return + if (conf.__config__.dataType === 'dynamic') { conf.options = [] } + const options = conf.__config__.tag ==='el-cascader'?conf.options:conf.__slot__.options; + const str = `${conf.__vModel__}Options: ${JSON.stringify(options)},` + optionsList.push(str) +} + +function buildProps(conf, propsList) { + if (conf.__config__.dataType === 'dynamic') { + conf.valueKey !== 'value' && (conf.props.props.value = conf.valueKey) + conf.labelKey !== 'label' && (conf.props.props.label = conf.labelKey) + conf.childrenKey !== 'children' && (conf.props.props.children = conf.childrenKey) + } + const str = `${conf.__vModel__}Props: ${JSON.stringify(conf.props.props)},` + propsList.push(str) +} + +function buildBeforeUpload(conf) { + const unitNum = units[conf.__config__.sizeUnit]; let rightSizeCode = ''; let acceptCode = ''; const + returnList = [] + if (conf.__config__.fileSize) { + rightSizeCode = `let isRightSize = file.size / ${unitNum} < ${conf.__config__.fileSize} + if(!isRightSize){ + this.$message.error('文件大小超过 ${conf.__config__.fileSize}${conf.__config__.sizeUnit}') + }` + returnList.push('isRightSize') + } + if (conf.accept) { + acceptCode = `let isAccept = new RegExp('${conf.accept}').test(file.type) + if(!isAccept){ + this.$message.error('应该选择${conf.accept}类型的文件') + }` + returnList.push('isAccept') + } + const str = `${conf.__vModel__}BeforeUpload(file) { + ${rightSizeCode} + ${acceptCode} + return ${returnList.join('&&')} + },` + return returnList.length ? str : '' +} + +function buildSubmitUpload(conf) { + const str = `submitUpload() { + this.$refs['${conf.__vModel__}'].submit() + },` + return str +} + +function buildOptionMethod(methodName, model, methodList) { + const str = `${methodName}() { + // TODO 发起请求获取数据 + this.${model} + },` + methodList.push(str) +} + +function buildexport(conf, type, data, rules, selectOptions, uploadVar, props, methods) { + const str = `${exportDefault}{ + ${inheritAttrs[type]} + components: {}, + props: [], + data () { + return { + ${conf.formModel}: { + ${data} + }, + ${conf.formRules}: { + ${rules} + }, + ${uploadVar} + ${selectOptions} + ${props} + } + }, + computed: {}, + watch: {}, + created () {}, + mounted () {}, + methods: { + ${methods} + } +}` + return str +} diff --git a/src/utils/generator/parser.js b/src/utils/generator/parser.js new file mode 100644 index 0000000..406a098 --- /dev/null +++ b/src/utils/generator/parser.js @@ -0,0 +1,242 @@ +import { deepClone } from '@/utils'; +import render from '@/utils/generator/render'; +import axios from 'axios' +import Vue from 'vue'; +import store from '@/store' + +Vue.prototype.$axios = axios + +const ruleTrigger = { + 'el-input': 'blur', + 'el-input-number': 'blur', + 'el-select': 'change', + 'el-radio-group': 'change', + 'el-checkbox-group': 'change', + 'el-cascader': 'change', + 'el-time-picker': 'change', + 'el-date-picker': 'change', + 'el-rate': 'change', + 'el-upload': 'change' +} + +const layouts = { + colFormItem(h, scheme) { + const config = scheme.__config__ + const listeners = buildListeners.call(this, scheme) + + let labelWidth = config.labelWidth ? `${config.labelWidth}px` : null + if (config.showLabel === false) labelWidth = '0' + return ( + + + + + + ) + }, + rowFormItem(h, scheme) { + let child = renderChildren.apply(this, arguments) + if (scheme.type === 'flex') { + child = + {child} + + } + return ( + + + {child} + + + ) + } +} + +function renderFrom(h) { + const { formConfCopy } = this + + return ( + + + {renderFormItem.call(this, h, formConfCopy.fields)} + {formConfCopy.formBtns && formBtns.call(this, h)} + + + ) +} + +function formBtns(h) { + return + + 提交 + 重置 + + +} + +function renderFormItem(h, elementList) { + return elementList.map(scheme => { + const config = scheme.__config__ + const layout = layouts[config.layout] + + if (layout) { + return layout.call(this, h, scheme) + } + throw new Error(`没有与${config.layout}匹配的layout`) + }) +} + +function renderChildren(h, scheme) { + const config = scheme.__config__ + if (!Array.isArray(config.children)) return null + return renderFormItem.call(this, h, config.children) +} + +function setValue(event, config, scheme) { + this.$set(config, 'defaultValue', event) + this.$set(this[this.formConf.formModel], scheme.__vModel__, event) +} + +function buildListeners(scheme) { + const config = scheme.__config__ + const methods = this.formConf.__methods__ || {} + const listeners = {} + + // 给__methods__中的方法绑定this和event + Object.keys(methods).forEach(key => { + listeners[key] = event => methods[key].call(this, event) + }) + // 响应 render.js 中的 vModel $emit('input', val) + listeners.input = event => setValue.call(this, event, config, scheme) + + return listeners +} + +export default { + components: { + render + }, + props: { + formConf: { + type: Object, + required: true + } + }, + data() { + const data = { + formConfCopy: deepClone(this.formConf), + [this.formConf.formModel]: {}, + [this.formConf.formRules]: {} + } + this.initFormData(data.formConfCopy.fields, data[this.formConf.formModel]) + this.buildRules(data.formConfCopy.fields, data[this.formConf.formRules]) + return data + }, + methods: { + initFormData(componentList, formData) { + componentList.forEach(cur => { + this.buildOptionMethod(cur) + const config = cur.__config__; + if (cur.__vModel__) { + formData[cur.__vModel__] = config.defaultValue; + // 初始化文件列表 + if (cur.action && config.defaultValue) { + cur['file-list'] = config.defaultValue; + } + } + if (cur.action) { + cur['headers'] = { + Authorization: "Bearer " + store.getters.access_token, + } + cur['on-success'] = (res, file, fileList) => { + formData[cur.__vModel__] = fileList; + if (res.code === 200 && fileList) { + config.defaultValue = fileList; + fileList.forEach(val =>{ + val.url = val.response.data.url; + val.ossId = val.response.data.ossId; + }) + } + }; + // 点击文件列表中已上传的文件时的钩子 + cur['on-preview'] = (file) => { + this.$download.oss(file.ossId) + } + } + if (config.children) { + this.initFormData(config.children, formData); + } + }) + }, + // 特殊处理的 Option + buildOptionMethod(scheme) { + const config = scheme.__config__; + if (config && config.tag === 'el-cascader') { + if (config.dataType === 'dynamic') { + this.$axios({ + method: config.method, + url: config.url + }).then(resp => { + var { data } = resp + scheme[config.dataConsumer] = data[config.dataKey] + }); + } + } + }, + buildRules(componentList, rules) { + componentList.forEach(cur => { + const config = cur.__config__ + if (Array.isArray(config.regList)) { + if (config.required) { + const required = { required: config.required, message: cur.placeholder } + if (Array.isArray(config.defaultValue)) { + required.type = 'array' + required.message = `请至少选择一个${config.label}` + } + required.message === undefined && (required.message = `${config.label}不能为空`) + config.regList.push(required) + } + rules[cur.__vModel__] = config.regList.map(item => { + item.pattern && (item.pattern = eval(item.pattern)) + item.trigger = ruleTrigger && ruleTrigger[config.tag] + return item + }) + } + if (config.children) this.buildRules(config.children, rules) + }) + }, + resetForm() { + this.formConfCopy = deepClone(this.formConf) + this.$refs[this.formConf.formRef].resetFields() + }, + submitForm() { + this.$refs[this.formConf.formRef].validate(valid => { + if (!valid) return false + const params = { + formData: this.formConfCopy, + valData: this[this.formConf.formModel] + } + this.$emit('submit', params) + return true + }) + }, + // 传值给父组件 + getData(){ + debugger + this.$emit('getData', this[this.formConf.formModel]) + // this.$emit('getData',this.formConfCopy) + } + }, + render(h) { + return renderFrom.call(this, h) + } +} diff --git a/src/utils/generator/render.js b/src/utils/generator/render.js new file mode 100644 index 0000000..f6c1c1a --- /dev/null +++ b/src/utils/generator/render.js @@ -0,0 +1,121 @@ +import { deepClone } from '@/utils' + +const componentChild = {} +/** + * 将./slots中的文件挂载到对象componentChild上 + * 文件名为key,对应JSON配置中的__config__.tag + * 文件内容为value,解析JSON配置中的__slot__ + */ +const slotsFiles = require.context('./slots', false, /\.js$/) +const keys = slotsFiles.keys() || [] +keys.forEach(key => { + const tag = key.replace(/^\.\/(.*)\.\w+$/, '$1') + componentChild[tag] = slotsFiles(key).default +}) + +function vModel(dataObject, defaultValue) { + dataObject.props.value = defaultValue + + dataObject.on.input = val => { + this.$emit('input', val) + } +} + +function mountSlotFiles(h, confClone, children) { + const childObjs = componentChild[confClone.__config__.tag] + if (childObjs) { + Object.keys(childObjs).forEach(key => { + const childFunc = childObjs[key] + if (confClone.__slot__ && confClone.__slot__[key]) { + children.push(childFunc(h, confClone, key)) + } + }) + } +} + +function emitEvents(confClone) { + ['on', 'nativeOn'].forEach(attr => { + const eventKeyList = Object.keys(confClone[attr] || {}) + eventKeyList.forEach(key => { + const val = confClone[attr][key] + if (typeof val === 'string') { + confClone[attr][key] = event => this.$emit(val, event) + } + }) + }) +} + +function buildDataObject(confClone, dataObject) { + Object.keys(confClone).forEach(key => { + const val = confClone[key] + if (key === '__vModel__') { + vModel.call(this, dataObject, confClone.__config__.defaultValue) + } else if (dataObject[key] !== undefined) { + if (dataObject[key] === null + || dataObject[key] instanceof RegExp + || ['boolean', 'string', 'number', 'function'].includes(typeof dataObject[key])) { + dataObject[key] = val + } else if (Array.isArray(dataObject[key])) { + dataObject[key] = [...dataObject[key], ...val] + } else { + dataObject[key] = { ...dataObject[key], ...val } + } + } else { + dataObject.attrs[key] = val + } + }) + + // 清理属性 + clearAttrs(dataObject) +} + +function clearAttrs(dataObject) { + delete dataObject.attrs.__config__ + delete dataObject.attrs.__slot__ + delete dataObject.attrs.__methods__ +} + +function makeDataObject() { + // 深入数据对象: + // https://cn.vuejs.org/v2/guide/render-function.html#%E6%B7%B1%E5%85%A5%E6%95%B0%E6%8D%AE%E5%AF%B9%E8%B1%A1 + return { + class: {}, + attrs: {}, + props: {}, + domProps: {}, + nativeOn: {}, + on: {}, + style: {}, + directives: [], + scopedSlots: {}, + slot: null, + key: null, + ref: null, + refInFor: true + } +} + +export default { + props: { + conf: { + type: Object, + required: true + } + }, + render(h) { + const dataObject = makeDataObject() + const confClone = deepClone(this.conf) + const children = this.$slots.default || [] + + // 如果slots文件夹存在与当前tag同名的文件,则执行文件中的代码 + mountSlotFiles.call(this, h, confClone, children) + + // 将字符串类型的事件,发送为消息 + emitEvents.call(this, confClone) + + // 将json表单配置转化为vue render可以识别的 “数据对象(dataObject)” + buildDataObject.call(this, confClone, dataObject) + + return h(this.conf.__config__.tag, dataObject, children) + } +} diff --git a/src/utils/generator/ruleTrigger.js b/src/utils/generator/ruleTrigger.js new file mode 100644 index 0000000..3c161b5 --- /dev/null +++ b/src/utils/generator/ruleTrigger.js @@ -0,0 +1,16 @@ +/** + * 用于生成表单校验,指定正则规则的触发方式。 + * 未在此处声明无触发方式的组件将不生成rule!! + */ +export default { + 'el-input': 'blur', + 'el-input-number': 'blur', + 'el-select': 'change', + 'el-radio-group': 'change', + 'el-checkbox-group': 'change', + 'el-cascader': 'change', + 'el-time-picker': 'change', + 'el-date-picker': 'change', + 'el-rate': 'change', + tinymce: 'blur' +} diff --git a/src/utils/generator/slots/el-button.js b/src/utils/generator/slots/el-button.js new file mode 100644 index 0000000..a2d9684 --- /dev/null +++ b/src/utils/generator/slots/el-button.js @@ -0,0 +1,5 @@ +export default { + default(h, conf, key) { + return conf.__slot__[key] + } +} diff --git a/src/utils/generator/slots/el-checkbox-group.js b/src/utils/generator/slots/el-checkbox-group.js new file mode 100644 index 0000000..0a85c8e --- /dev/null +++ b/src/utils/generator/slots/el-checkbox-group.js @@ -0,0 +1,13 @@ +export default { + options(h, conf, key) { + const list = [] + conf.__slot__.options.forEach(item => { + if (conf.__config__.optionType === 'button') { + list.push({item.label}) + } else { + list.push({item.label}) + } + }) + return list + } +} diff --git a/src/utils/generator/slots/el-input.js b/src/utils/generator/slots/el-input.js new file mode 100644 index 0000000..8bd02db --- /dev/null +++ b/src/utils/generator/slots/el-input.js @@ -0,0 +1,8 @@ +export default { + prepend(h, conf, key) { + return + }, + append(h, conf, key) { + return + } +} diff --git a/src/utils/generator/slots/el-radio-group.js b/src/utils/generator/slots/el-radio-group.js new file mode 100644 index 0000000..c78506f --- /dev/null +++ b/src/utils/generator/slots/el-radio-group.js @@ -0,0 +1,13 @@ +export default { + options(h, conf, key) { + const list = [] + conf.__slot__.options.forEach(item => { + if (conf.__config__.optionType === 'button') { + list.push({item.label}) + } else { + list.push({item.label}) + } + }) + return list + } +} diff --git a/src/utils/generator/slots/el-select.js b/src/utils/generator/slots/el-select.js new file mode 100644 index 0000000..cbf4a20 --- /dev/null +++ b/src/utils/generator/slots/el-select.js @@ -0,0 +1,9 @@ +export default { + options(h, conf, key) { + const list = [] + conf.__slot__.options.forEach(item => { + list.push() + }) + return list + } +} diff --git a/src/utils/generator/slots/el-upload.js b/src/utils/generator/slots/el-upload.js new file mode 100644 index 0000000..8ce3c35 --- /dev/null +++ b/src/utils/generator/slots/el-upload.js @@ -0,0 +1,17 @@ +export default { + 'list-type': (h, conf, key) => { + const list = [] + const config = conf.__config__ + if (conf['list-type'] === 'picture-card') { + list.push() + } else { + list.push({config.buttonText}) + } + if (config.showTip) { + list.push( +
    只能上传不超过 {config.fileSize}{config.sizeUnit} 的{conf.accept}文件
    + ) + } + return list + } +} diff --git a/src/utils/index.js b/src/utils/index.js new file mode 100644 index 0000000..df5db12 --- /dev/null +++ b/src/utils/index.js @@ -0,0 +1,390 @@ +import { parseTime } from './ruoyi' + +/** + * 表格时间格式化 + */ +export function formatDate(cellValue) { + if (cellValue == null || cellValue == "") return ""; + var date = new Date(cellValue) + var year = date.getFullYear() + var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 + var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() + var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() + var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() + var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() + return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds +} + +/** + * @param {number} time + * @param {string} option + * @returns {string} + */ +export function formatTime(time, option) { + if (('' + time).length === 10) { + time = parseInt(time) * 1000 + } else { + time = +time + } + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + '月' + + d.getDate() + + '日' + + d.getHours() + + '时' + + d.getMinutes() + + '分' + ) + } +} + +/** + * @param {string} url + * @returns {Object} + */ +export function getQueryObject(url) { + url = url == null ? window.location.href : url + const search = url.substring(url.lastIndexOf('?') + 1) + const obj = {} + const reg = /([^?&=]+)=([^?&=]*)/g + search.replace(reg, (rs, $1, $2) => { + const name = decodeURIComponent($1) + let val = decodeURIComponent($2) + val = String(val) + obj[name] = val + return rs + }) + return obj +} + +/** + * @param {string} input value + * @returns {number} output value + */ +export function byteLength(str) { + // returns the byte length of an utf8 string + let s = str.length + for (var i = str.length - 1; i >= 0; i--) { + const code = str.charCodeAt(i) + if (code > 0x7f && code <= 0x7ff) s++ + else if (code > 0x7ff && code <= 0xffff) s += 2 + if (code >= 0xDC00 && code <= 0xDFFF) i-- + } + return s +} + +/** + * @param {Array} actual + * @returns {Array} + */ +export function cleanArray(actual) { + const newArray = [] + for (let i = 0; i < actual.length; i++) { + if (actual[i]) { + newArray.push(actual[i]) + } + } + return newArray +} + +/** + * @param {Object} json + * @returns {Array} + */ +export function param(json) { + if (!json) return '' + return cleanArray( + Object.keys(json).map(key => { + if (json[key] === undefined) return '' + return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) + }) + ).join('&') +} + +/** + * @param {string} url + * @returns {Object} + */ +export function param2Obj(url) { + const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') + if (!search) { + return {} + } + const obj = {} + const searchArr = search.split('&') + searchArr.forEach(v => { + const index = v.indexOf('=') + if (index !== -1) { + const name = v.substring(0, index) + const val = v.substring(index + 1, v.length) + obj[name] = val + } + }) + return obj +} + +/** + * @param {string} val + * @returns {string} + */ +export function html2Text(val) { + const div = document.createElement('div') + div.innerHTML = val + return div.textContent || div.innerText +} + +/** + * Merges two objects, giving the last one precedence + * @param {Object} target + * @param {(Object|Array)} source + * @returns {Object} + */ +export function objectMerge(target, source) { + if (typeof target !== 'object') { + target = {} + } + if (Array.isArray(source)) { + return source.slice() + } + Object.keys(source).forEach(property => { + const sourceProperty = source[property] + if (typeof sourceProperty === 'object') { + target[property] = objectMerge(target[property], sourceProperty) + } else { + target[property] = sourceProperty + } + }) + return target +} + +/** + * @param {HTMLElement} element + * @param {string} className + */ +export function toggleClass(element, className) { + if (!element || !className) { + return + } + let classString = element.className + const nameIndex = classString.indexOf(className) + if (nameIndex === -1) { + classString += '' + className + } else { + classString = + classString.substr(0, nameIndex) + + classString.substr(nameIndex + className.length) + } + element.className = classString +} + +/** + * @param {string} type + * @returns {Date} + */ +export function getTime(type) { + if (type === 'start') { + return new Date().getTime() - 3600 * 1000 * 24 * 90 + } else { + return new Date(new Date().toDateString()) + } +} + +/** + * @param {Function} func + * @param {number} wait + * @param {boolean} immediate + * @return {*} + */ +export function debounce(func, wait, immediate) { + let timeout, args, context, timestamp, result + + const later = function() { + // 据上一次触发时间间隔 + const last = +new Date() - timestamp + + // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait + if (last < wait && last > 0) { + timeout = setTimeout(later, wait - last) + } else { + timeout = null + // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用 + if (!immediate) { + result = func.apply(context, args) + if (!timeout) context = args = null + } + } + } + + return function(...args) { + context = this + timestamp = +new Date() + const callNow = immediate && !timeout + // 如果延时不存在,重新设定延时 + if (!timeout) timeout = setTimeout(later, wait) + if (callNow) { + result = func.apply(context, args) + context = args = null + } + + return result + } +} + +/** + * This is just a simple version of deep copy + * Has a lot of edge cases bug + * If you want to use a perfect deep copy, use lodash's _.cloneDeep + * @param {Object} source + * @returns {Object} + */ +export function deepClone(source) { + if (!source && typeof source !== 'object') { + throw new Error('error arguments', 'deepClone') + } + const targetObj = source.constructor === Array ? [] : {} + Object.keys(source).forEach(keys => { + if (source[keys] && typeof source[keys] === 'object') { + targetObj[keys] = deepClone(source[keys]) + } else { + targetObj[keys] = source[keys] + } + }) + return targetObj +} + +/** + * @param {Array} arr + * @returns {Array} + */ +export function uniqueArr(arr) { + return Array.from(new Set(arr)) +} + +/** + * @returns {string} + */ +export function createUniqueString() { + const timestamp = +new Date() + '' + const randomNum = parseInt((1 + Math.random()) * 65536) + '' + return (+(randomNum + timestamp)).toString(32) +} + +/** + * Check if an element has a class + * @param {HTMLElement} elm + * @param {string} cls + * @returns {boolean} + */ +export function hasClass(ele, cls) { + return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) +} + +/** + * Add class to element + * @param {HTMLElement} elm + * @param {string} cls + */ +export function addClass(ele, cls) { + if (!hasClass(ele, cls)) ele.className += ' ' + cls +} + +/** + * Remove class from element + * @param {HTMLElement} elm + * @param {string} cls + */ +export function removeClass(ele, cls) { + if (hasClass(ele, cls)) { + const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') + ele.className = ele.className.replace(reg, ' ') + } +} + +export function makeMap(str, expectsLowerCase) { + const map = Object.create(null) + const list = str.split(',') + for (let i = 0; i < list.length; i++) { + map[list[i]] = true + } + return expectsLowerCase + ? val => map[val.toLowerCase()] + : val => map[val] +} + +export const exportDefault = 'export default ' + +export const beautifierConf = { + html: { + indent_size: '2', + indent_char: ' ', + max_preserve_newlines: '-1', + preserve_newlines: false, + keep_array_indentation: false, + break_chained_methods: false, + indent_scripts: 'separate', + brace_style: 'end-expand', + space_before_conditional: true, + unescape_strings: false, + jslint_happy: false, + end_with_newline: true, + wrap_line_length: '110', + indent_inner_html: true, + comma_first: false, + e4x: true, + indent_empty_lines: true + }, + js: { + indent_size: '2', + indent_char: ' ', + max_preserve_newlines: '-1', + preserve_newlines: false, + keep_array_indentation: false, + break_chained_methods: false, + indent_scripts: 'normal', + brace_style: 'end-expand', + space_before_conditional: true, + unescape_strings: false, + jslint_happy: true, + end_with_newline: true, + wrap_line_length: '110', + indent_inner_html: true, + comma_first: false, + e4x: true, + indent_empty_lines: true + } +} + +// 首字母大小 +export function titleCase(str) { + return str.replace(/( |^)[a-z]/g, L => L.toUpperCase()) +} + +// 下划转驼峰 +export function camelCase(str) { + return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase()) +} + +export function isNumberStr(str) { + return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) +} + diff --git a/src/utils/loadBeautifier.js b/src/utils/loadBeautifier.js new file mode 100644 index 0000000..cec9ccd --- /dev/null +++ b/src/utils/loadBeautifier.js @@ -0,0 +1,28 @@ +import loadScript from './loadScript' +import ELEMENT from 'element-ui' +import pluginsConfig from './pluginsConfig' + +let beautifierObj + +export default function loadBeautifier(cb) { + const { beautifierUrl } = pluginsConfig + if (beautifierObj) { + cb(beautifierObj) + return + } + + const loading = ELEMENT.Loading.service({ + fullscreen: true, + lock: true, + text: '格式化资源加载中...', + spinner: 'el-icon-loading', + background: 'rgba(255, 255, 255, 0.5)' + }) + + loadScript(beautifierUrl, () => { + loading.close() + // eslint-disable-next-line no-undef + beautifierObj = beautifier + cb(beautifierObj) + }) +} diff --git a/src/utils/loadMonaco.js b/src/utils/loadMonaco.js new file mode 100644 index 0000000..9bb64f1 --- /dev/null +++ b/src/utils/loadMonaco.js @@ -0,0 +1,40 @@ +import loadScript from './loadScript' +import ELEMENT from 'element-ui' +import pluginsConfig from './pluginsConfig' + +// monaco-editor单例 +let monacoEidtor + +/** + * 动态加载monaco-editor cdn资源 + * @param {Function} cb 回调,必填 + */ +export default function loadMonaco(cb) { + if (monacoEidtor) { + cb(monacoEidtor) + return + } + + const { monacoEditorUrl: vs } = pluginsConfig + + // 使用element ui实现加载提示 + const loading = ELEMENT.Loading.service({ + fullscreen: true, + lock: true, + text: '编辑器资源初始化中...', + spinner: 'el-icon-loading', + background: 'rgba(255, 255, 255, 0.5)' + }) + + !window.require && (window.require = {}) + !window.require.paths && (window.require.paths = {}) + window.require.paths.vs = vs + + loadScript(`${vs}/loader.js`, () => { + window.require(['vs/editor/editor.main'], () => { + loading.close() + monacoEidtor = window.monaco + cb(monacoEidtor) + }) + }) +} diff --git a/src/utils/loadScript.js b/src/utils/loadScript.js new file mode 100644 index 0000000..18112fd --- /dev/null +++ b/src/utils/loadScript.js @@ -0,0 +1,60 @@ +const callbacks = {} + +/** + * 加载一个远程脚本 + * @param {String} src 一个远程脚本 + * @param {Function} callback 回调 + */ +function loadScript(src, callback) { + const existingScript = document.getElementById(src) + const cb = callback || (() => {}) + if (!existingScript) { + callbacks[src] = [] + const $script = document.createElement('script') + $script.src = src + $script.id = src + $script.async = 1 + document.body.appendChild($script) + const onEnd = 'onload' in $script ? stdOnEnd.bind($script) : ieOnEnd.bind($script) + onEnd($script) + } + + callbacks[src].push(cb) + + function stdOnEnd(script) { + script.onload = () => { + this.onerror = this.onload = null + callbacks[src].forEach(item => { + item(null, script) + }) + delete callbacks[src] + } + script.onerror = () => { + this.onerror = this.onload = null + cb(new Error(`Failed to load ${src}`), script) + } + } + + function ieOnEnd(script) { + script.onreadystatechange = () => { + if (this.readyState !== 'complete' && this.readyState !== 'loaded') return + this.onreadystatechange = null + callbacks[src].forEach(item => { + item(null, script) + }) + delete callbacks[src] + } + } +} + +/** + * 顺序加载一组远程脚本 + * @param {Array} list 一组远程脚本 + * @param {Function} cb 回调 + */ +export function loadScriptQueue(list, cb) { + const first = list.shift() + list.length ? loadScript(first, () => loadScriptQueue(list, cb)) : loadScript(first, cb) +} + +export default loadScript diff --git a/src/utils/loadTinymce.js b/src/utils/loadTinymce.js new file mode 100644 index 0000000..e2455fc --- /dev/null +++ b/src/utils/loadTinymce.js @@ -0,0 +1,29 @@ +import loadScript from './loadScript' +import ELEMENT from 'element-ui' +import pluginsConfig from './pluginsConfig' + +let tinymceObj + +export default function loadTinymce(cb) { + const { tinymceUrl } = pluginsConfig + + if (tinymceObj) { + cb(tinymceObj) + return + } + + const loading = ELEMENT.Loading.service({ + fullscreen: true, + lock: true, + text: '富文本资源加载中...', + spinner: 'el-icon-loading', + background: 'rgba(255, 255, 255, 0.5)' + }) + + loadScript(tinymceUrl, () => { + loading.close() + // eslint-disable-next-line no-undef + tinymceObj = tinymce + cb(tinymceObj) + }) +} diff --git a/src/utils/optionTranslate.js b/src/utils/optionTranslate.js new file mode 100644 index 0000000..9936014 --- /dev/null +++ b/src/utils/optionTranslate.js @@ -0,0 +1,69 @@ +/** + * 翻译表格选项和相关字段。 + * 功能:遍历option对象,将其属性值以及其column数组中的每个元素的特定属性值进行翻译。 + * + * @param {Object} option 包含表格配置的对象。 + * @param {Function} translate 翻译函数,通常是Vue实例的this.$t方法。 + */ +export function optionTranslate(option, translate) { + // 定义需要翻译的根属性列表 + const rootPropsToTranslate = ['indexLabel', 'emptyText', 'submitText'] + + // 直接翻译option对象的根属性 + rootPropsToTranslate.forEach((prop) => { + if (option[prop]) { + option[prop] = translate(option[prop]) + } + }) + + // 遍历column数组,翻译每个column的相关字段 + option.column.forEach((column) => { + // 翻译column的label + column.label = translate(column.label) + + // 定义column中需要翻译的属性列表 + const columnPropsToTranslate = ['placeholder', 'tip', 'loadText'] + + // 翻译column对象的属性 + columnPropsToTranslate.forEach((prop) => { + if (column[prop]) { + column[prop] = translate(column[prop]) + } + }) + + // 翻译dicData数组中的每个元素的label + if (column.dicData) { + column.dicData.forEach((dicItem) => { + dicItem.label = translate(dicItem.label) + }) + } + + // 如果存在formatter,创建一个新的翻译formatter + if (column.formatter) { + const originalFormatter = column.formatter + column.formatter = function (row, column, cellValue, index) { + return translate(originalFormatter(row, column, cellValue, index)) + } + } + + // 遍历并翻译rules和searchRules中的message + ;['rules', 'searchRules'].forEach((ruleType) => { + if (column[ruleType]) { + column[ruleType].forEach((rule) => { + if (rule.message) { + rule.message = translate(rule.message) + } + }) + } + }) + }) + + if (option.group) { + option.group.forEach((el) => { + el.label = translate(el.label) + el.column.forEach((key) => { + key.label = translate(key.label) + }) + }) + } +} diff --git a/src/utils/pluginsConfig.js b/src/utils/pluginsConfig.js new file mode 100644 index 0000000..e7f4882 --- /dev/null +++ b/src/utils/pluginsConfig.js @@ -0,0 +1,13 @@ +const CDN = 'https://lib.baomitu.com/' // CDN Homepage: https://cdn.baomitu.com/ +const publicPath = process.env.BASE_URL + +function splicingPluginUrl(PluginName, version, fileName) { + return `${CDN}${PluginName}/${version}/${fileName}` +} + +export default { + beautifierUrl: splicingPluginUrl('js-beautify', '1.13.5', 'beautifier.min.js'), + // monacoEditorUrl: splicingPluginUrl('monaco-editor', '0.19.3', 'min/vs'), // 使用 monaco-editor CDN 链接 + monacoEditorUrl: `${publicPath}libs/monaco-editor/vs`, // 使用 monaco-editor 本地代码 + tinymceUrl: splicingPluginUrl('tinymce', '5.7.0', 'tinymce.min.js') +} diff --git a/src/utils/ruoyi.js b/src/utils/ruoyi.js new file mode 100644 index 0000000..44bf9c4 --- /dev/null +++ b/src/utils/ruoyi.js @@ -0,0 +1,233 @@ + + +/** + * 通用js方法封装处理 + * Copyright (c) 2019 ruoyi + */ + +// 日期格式化 +export function parseTime(time, pattern) { + if (arguments.length === 0 || !time) { + return null + } + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { + time = parseInt(time) + } else if (typeof time === 'string') { + time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), ''); + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} + +// 表单重置 +export function resetForm(refName) { + if (this.$refs[refName]) { + this.$refs[refName].resetFields(); + } +} + +// 添加日期范围 +export function addDateRange(params, dateRange, propName) { + let search = params; + search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {}; + dateRange = Array.isArray(dateRange) ? dateRange : []; + if (typeof (propName) === 'undefined') { + search.params['beginTime'] = dateRange[0]; + search.params['endTime'] = dateRange[1]; + } else { + search.params['begin' + propName] = dateRange[0]; + search.params['end' + propName] = dateRange[1]; + } + return search; +} + +// 回显数据字典 +export function selectDictLabel(datas, value) { + if (value === undefined) { + return ""; + } + var actions = []; + Object.keys(datas).some((key) => { + if (datas[key].value == ('' + value)) { + actions.push(datas[key].label); + return true; + } + }) + if (actions.length === 0) { + actions.push(value); + } + return actions.join(''); +} + +// 回显数据字典(字符串、数组) +export function selectDictLabels(datas, value, separator) { + if (value === undefined || value.length ===0) { + return ""; + } + if (Array.isArray(value)) { + value = value.join(","); + } + var actions = []; + var currentSeparator = undefined === separator ? "," : separator; + var temp = value.split(currentSeparator); + Object.keys(value.split(currentSeparator)).some((val) => { + var match = false; + Object.keys(datas).some((key) => { + if (datas[key].value == ('' + temp[val])) { + actions.push(datas[key].label + currentSeparator); + match = true; + } + }) + if (!match) { + actions.push(temp[val] + currentSeparator); + } + }) + return actions.join('').substring(0, actions.join('').length - 1); +} + +// 字符串格式化(%s ) +export function sprintf(str) { + var args = arguments, flag = true, i = 1; + str = str.replace(/%s/g, function () { + var arg = args[i++]; + if (typeof arg === 'undefined') { + flag = false; + return ''; + } + return arg; + }); + return flag ? str : ''; +} + +// 转换字符串,undefined,null等转化为"" +export function parseStrEmpty(str) { + if (!str || str == "undefined" || str == "null") { + return ""; + } + return str; +} + +// 数据合并 +export function mergeRecursive(source, target) { + for (var p in target) { + try { + if (target[p].constructor == Object) { + source[p] = mergeRecursive(source[p], target[p]); + } else { + source[p] = target[p]; + } + } catch (e) { + source[p] = target[p]; + } + } + return source; +}; + +/** + * 构造树型结构数据 + * @param {*} data 数据源 + * @param {*} id id字段 默认 'id' + * @param {*} parentId 父节点字段 默认 'parentId' + * @param {*} children 孩子节点字段 默认 'children' + */ +export function handleTree(data, id, parentId, children) { + let config = { + id: id || 'id', + parentId: parentId || 'parentId', + childrenList: children || 'children' + }; + + var childrenListMap = {}; + var nodeIds = {}; + var tree = []; + + for (let d of data) { + let parentId = d[config.parentId]; + if (childrenListMap[parentId] == null) { + childrenListMap[parentId] = []; + } + nodeIds[d[config.id]] = d; + childrenListMap[parentId].push(d); + } + + for (let d of data) { + let parentId = d[config.parentId]; + if (nodeIds[parentId] == null) { + tree.push(d); + } + } + + for (let t of tree) { + adaptToChildrenList(t); + } + + function adaptToChildrenList(o) { + if (childrenListMap[o[config.id]] !== null) { + o[config.childrenList] = childrenListMap[o[config.id]]; + } + if (o[config.childrenList]) { + for (let c of o[config.childrenList]) { + adaptToChildrenList(c); + } + } + } + return tree; +} + +/** +* 参数处理 +* @param {*} params 参数 +*/ +export function tansParams(params) { + let result = '' + for (const propName of Object.keys(params)) { + const value = params[propName]; + var part = encodeURIComponent(propName) + "="; + if (value !== null && value !== "" && typeof (value) !== "undefined") { + if (typeof value === 'object') { + for (const key of Object.keys(value)) { + if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') { + let params = propName + '[' + key + ']'; + var subPart = encodeURIComponent(params) + "="; + result += subPart + encodeURIComponent(value[key]) + "&"; + } + } + } else { + result += part + encodeURIComponent(value) + "&"; + } + } + } + return result +} + +// 验证是否为blob格式 +export function blobValidate(data) { + return data.type !== 'application/json' +} diff --git a/src/utils/scroll-to.js b/src/utils/scroll-to.js new file mode 100644 index 0000000..c5d8e04 --- /dev/null +++ b/src/utils/scroll-to.js @@ -0,0 +1,58 @@ +Math.easeInOutQuad = function(t, b, c, d) { + t /= d / 2 + if (t < 1) { + return c / 2 * t * t + b + } + t-- + return -c / 2 * (t * (t - 2) - 1) + b +} + +// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts +var requestAnimFrame = (function() { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) } +})() + +/** + * Because it's so fucking difficult to detect the scrolling element, just move them all + * @param {number} amount + */ +function move(amount) { + document.documentElement.scrollTop = amount + document.body.parentNode.scrollTop = amount + document.body.scrollTop = amount +} + +function position() { + return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop +} + +/** + * @param {number} to + * @param {number} duration + * @param {Function} callback + */ +export function scrollTo(to, duration, callback) { + const start = position() + const change = to - start + const increment = 20 + let currentTime = 0 + duration = (typeof (duration) === 'undefined') ? 500 : duration + var animateScroll = function() { + // increment the time + currentTime += increment + // find the value with the quadratic in-out easing function + var val = Math.easeInOutQuad(currentTime, start, change, duration) + // move the document.body + move(val) + // do the animation unless its over + if (currentTime < duration) { + requestAnimFrame(animateScroll) + } else { + if (callback && typeof (callback) === 'function') { + // the animation is done so lets callback + callback() + } + } + } + animateScroll() +} diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 0000000..adfa254 --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,83 @@ +/** + * @param {string} path + * @returns {Boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} + +/** + * @param {string} url + * @returns {Boolean} + */ +export function validURL(url) { + const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ + return reg.test(url) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validLowerCase(str) { + const reg = /^[a-z]+$/ + return reg.test(str) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUpperCase(str) { + const reg = /^[A-Z]+$/ + return reg.test(str) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validAlphabets(str) { + const reg = /^[A-Za-z]+$/ + return reg.test(str) +} + +/** + * @param {string} email + * @returns {Boolean} + */ +export function validEmail(email) { + const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return reg.test(email) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function isString(str) { + if (typeof str === 'string' || str instanceof String) { + return true + } + return false +} + +/** + * @param {Array} arg + * @returns {Boolean} + */ +export function isArray(arg) { + if (typeof Array.isArray === 'undefined') { + return Object.prototype.toString.call(arg) === '[object Array]' + } + return Array.isArray(arg) +} diff --git a/src/views/activiti/detail.vue b/src/views/activiti/detail.vue new file mode 100644 index 0000000..82cd271 --- /dev/null +++ b/src/views/activiti/detail.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/views/frame/index.vue b/src/views/frame/index.vue new file mode 100644 index 0000000..9f36694 --- /dev/null +++ b/src/views/frame/index.vue @@ -0,0 +1,30 @@ + + diff --git a/src/views/gen/datasource.vue b/src/views/gen/datasource.vue new file mode 100644 index 0000000..dcd7ceb --- /dev/null +++ b/src/views/gen/datasource.vue @@ -0,0 +1,359 @@ + + + + + + + diff --git a/src/views/gen/design.vue b/src/views/gen/design.vue new file mode 100644 index 0000000..1895994 --- /dev/null +++ b/src/views/gen/design.vue @@ -0,0 +1,90 @@ + + + + diff --git a/src/views/gen/dynamic.vue b/src/views/gen/dynamic.vue new file mode 100644 index 0000000..f2584db --- /dev/null +++ b/src/views/gen/dynamic.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/src/views/gen/form.vue b/src/views/gen/form.vue new file mode 100644 index 0000000..875a853 --- /dev/null +++ b/src/views/gen/form.vue @@ -0,0 +1,156 @@ + + + + + + diff --git a/src/views/gen/index.vue b/src/views/gen/index.vue new file mode 100644 index 0000000..b97a5c6 --- /dev/null +++ b/src/views/gen/index.vue @@ -0,0 +1,372 @@ + + + + + + + diff --git a/src/views/gen/preview.vue b/src/views/gen/preview.vue new file mode 100644 index 0000000..971ed74 --- /dev/null +++ b/src/views/gen/preview.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/src/views/gen/table.vue b/src/views/gen/table.vue new file mode 100644 index 0000000..cb731ee --- /dev/null +++ b/src/views/gen/table.vue @@ -0,0 +1,76 @@ + + diff --git a/src/views/mes/abn/abn-work/dialog/content/create/appendix.vue b/src/views/mes/abn/abn-work/dialog/content/create/appendix.vue new file mode 100644 index 0000000..21300c9 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/create/appendix.vue @@ -0,0 +1,462 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/create/detail.vue b/src/views/mes/abn/abn-work/dialog/content/create/detail.vue new file mode 100644 index 0000000..0c36d83 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/create/detail.vue @@ -0,0 +1,272 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/create/do-bill.vue b/src/views/mes/abn/abn-work/dialog/content/create/do-bill.vue new file mode 100644 index 0000000..c5ba1f5 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/create/do-bill.vue @@ -0,0 +1,538 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/create/main.vue b/src/views/mes/abn/abn-work/dialog/content/create/main.vue new file mode 100644 index 0000000..219b59a --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/create/main.vue @@ -0,0 +1,519 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/customer/cp-instruct.vue b/src/views/mes/abn/abn-work/dialog/content/customer/cp-instruct.vue new file mode 100644 index 0000000..31e7160 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/customer/cp-instruct.vue @@ -0,0 +1,326 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/detail/abn-8D.vue b/src/views/mes/abn/abn-work/dialog/content/detail/abn-8D.vue new file mode 100644 index 0000000..0eb528f --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/detail/abn-8D.vue @@ -0,0 +1,83 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/detail/abn-process.vue b/src/views/mes/abn/abn-work/dialog/content/detail/abn-process.vue new file mode 100644 index 0000000..f7aa94d --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/detail/abn-process.vue @@ -0,0 +1,153 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/detail/detail.vue b/src/views/mes/abn/abn-work/dialog/content/detail/detail.vue new file mode 100644 index 0000000..512a81b --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/detail/detail.vue @@ -0,0 +1,53 @@ + + + \ No newline at end of file diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/abn-info.vue b/src/views/mes/abn/abn-work/dialog/content/hold/abn-info.vue new file mode 100644 index 0000000..ce396cf --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/abn-info.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-merge.vue b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-merge.vue new file mode 100644 index 0000000..85c8389 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-merge.vue @@ -0,0 +1,295 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-qty-ft.vue b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-qty-ft.vue new file mode 100644 index 0000000..28469be --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-qty-ft.vue @@ -0,0 +1,325 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-qty.vue b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-qty.vue new file mode 100644 index 0000000..bb4268a --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-qty.vue @@ -0,0 +1,237 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split-cp.vue b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split-cp.vue new file mode 100644 index 0000000..bd76aa8 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split-cp.vue @@ -0,0 +1,401 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split-ft.vue b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split-ft.vue new file mode 100644 index 0000000..25667fd --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split-ft.vue @@ -0,0 +1,299 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split.vue b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split.vue new file mode 100644 index 0000000..2da593b --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-split.vue @@ -0,0 +1,282 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-work.vue b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-work.vue new file mode 100644 index 0000000..12aae18 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/lot-hold-work.vue @@ -0,0 +1,810 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/content/hold/lot-process.vue b/src/views/mes/abn/abn-work/dialog/content/hold/lot-process.vue new file mode 100644 index 0000000..c88994f --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/content/hold/lot-process.vue @@ -0,0 +1,45 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/core/abn-detail.vue b/src/views/mes/abn/abn-work/dialog/core/abn-detail.vue new file mode 100644 index 0000000..46f74ef --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/core/abn-detail.vue @@ -0,0 +1,216 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/core/core.vue b/src/views/mes/abn/abn-work/dialog/core/core.vue new file mode 100644 index 0000000..f77df8f --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/core/core.vue @@ -0,0 +1,166 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/core/lot-release.vue b/src/views/mes/abn/abn-work/dialog/core/lot-release.vue new file mode 100644 index 0000000..11890cd --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/core/lot-release.vue @@ -0,0 +1,140 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/top-ui/abn-title.vue b/src/views/mes/abn/abn-work/dialog/top-ui/abn-title.vue new file mode 100644 index 0000000..374a7e7 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/top-ui/abn-title.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/views/mes/abn/abn-work/dialog/top-ui/lot-title.vue b/src/views/mes/abn/abn-work/dialog/top-ui/lot-title.vue new file mode 100644 index 0000000..38c0cf5 --- /dev/null +++ b/src/views/mes/abn/abn-work/dialog/top-ui/lot-title.vue @@ -0,0 +1,158 @@ + + + diff --git a/src/views/mes/abn/abn-work/index.vue b/src/views/mes/abn/abn-work/index.vue new file mode 100644 index 0000000..97071e8 --- /dev/null +++ b/src/views/mes/abn/abn-work/index.vue @@ -0,0 +1,1088 @@ + + + diff --git a/src/views/mes/abn/abn-work/init.js b/src/views/mes/abn/abn-work/init.js new file mode 100644 index 0000000..cfcc5d5 --- /dev/null +++ b/src/views/mes/abn/abn-work/init.js @@ -0,0 +1,324 @@ +const abn = 'abn' +export const receiptNoBox = [ + { label: 'mes.invalidate', value: '-1' }, + { label: 'mes.new', value: '0' }, + { label: 'mes.awaitingInspection', value: '1' }, + { label: 'mes.awaitingConfirmation', value: '2' }, + { label: 'mes.completed', value: '3' }, +] + +export const initData = {} +export const mainFormInit = { + item: null, + itemDesc: null, + itemRevision: null, + abnType: null, + operation: null, + reasonCode: null, + currentResponsible: null, + reasonCodeDesc: null, +} +export const mainFormKeys = ['item', 'abnType', 'operation', 'reasonCode', 'reasonCodeDesc', 'currentResponsible'] +export const searchFormInit = { + status: '2', + abnType: 'all', + abnNo: null, + item: null, + operation: null, + reasonCode: null, + currentResponsible: null, + shopOrder: null, + lotNo: null, + start: null, + end: null, +} +// 开单对象 +export const searchLotInit = { + item: null, + lotNo: null, + resource: null, + materialLot: null, + start: null, + end: null, +} +export const tableObj = { + search: [ + { prop: 'status', label: 'mes.status', width: '90' }, + { prop: 'abnType', label: 'mes.abn.tableObj.search.abnType', width: '130' }, + { prop: 'reasonCode', label: 'mes.abnormalReason', width: '150' }, + { prop: 'description', label: 'mes.abn.tableObj.search.description', width: '300' }, + { prop: 'operation', label: 'mes.process_occurred', width: '110' }, + { prop: 'item', label: 'mes.product_number', width: '140' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '180' }, + { prop: 'currentResponsible', label: 'mes.abn.tableObj.search.currentResponsible', width: '160' }, + { prop: 'creator', label: 'mes.billingPersonnel', width: '110' }, + { prop: 'newDateCreate', label: 'mes.newDateCreate', width: '120' }, + { prop: 'releasers', label: 'mes.abn.tableObj.search.releasers', width: '110' }, + { prop: 'newDateRelease', label: 'mes.abn.tableObj.search.newDateRelease', width: '130' }, + ], + bill: [ + { prop: 'shopOrder', label: 'mes.work_order', width: 130 }, + { prop: 'operation', label: 'mes.current_process', width: 120 }, + { prop: 'operationDesc', label: 'mes.operationDesc', width: 120 }, + { prop: 'newStatus', label: 'mes.currentStatus', width: 140 }, + ], + detail: [ + { prop: 'shopOrder', label: 'mes.work_order', width: 120 }, + { prop: 'operation', label: 'mes.process_occurred', width: 110 }, + { prop: 'operationDesc', label: 'mes.operationDesc', width: 190 }, + { prop: 'newHoldOption', label: 'mes.newHoldOption', width: 150 }, + { prop: 'futureHoldOperation', label: 'mes.abn.tableObj.detail.futureHoldOperation', width: 190 }, + { prop: 'newTriggerTime', label: 'mes.abn.tableObj.detail.newTriggerTime', width: 120 }, + { prop: 'creator', label: 'mes.abn.tableObj.detail.creator', width: 120 }, + { prop: 'creatorName', label: 'mes.abn.tableObj.detail.creatorName', width: 140 }, + { prop: 'dateCreate', label: 'mes.abn.tableObj.detail.dateCreate', width: '200' }, + ], + abnDetail: [ + { prop: 'lotNo', label: 'mes.prd.lotNo', width: 'auto' }, + { prop: 'item', label: 'mes.product_number', width: 'auto' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: 'auto' }, + { prop: 'shopOrder', label: 'mes.work_order', width: 'auto' }, + { prop: 'router', label: 'mes.abn.tableObj.abnDetail.router', width: 'auto' }, + { prop: 'operation', label: 'mes.abn.tableObj.abnDetail.operation', width: 'auto' }, + { prop: 'operationDesc', label: 'mes.operationDesc', width: 'auto' }, + { prop: 'holdOption', label: 'mes.newHoldOption', width: 'auto' }, + { prop: 'dispMethod', label: 'mes.abn.tableObj.abnDetail.dispMethod', width: 'auto' }, + { prop: 'dispUser', label: 'mes.abn.tableObj.abnDetail.dispUser', width: 'auto' }, + { prop: 'dispDateTime', label: 'mes.abn.tableObj.abnDetail.dispDateTime', width: '200' }, + ], +} +export const searchRules = { + status: [{ required: true, message: 'mes.pleaseEnter', trigger: 'blur' }], + abnType: [{ required: true, message: 'mes.pleaseEnter', trigger: 'blur' }], +} +// 建立异常单-主要 +export const mainRules = { + item: [{ required: true, message: 'mes.enter_product_number', trigger: 'blur' }], + abnType: [{ required: true, message: 'mes.abn.mainRules.abnType', trigger: 'blur' }], + operation: [{ required: true, message: 'mes.abn.mainRules.operation', trigger: 'blur' }], + reasonCode: [{ required: true, message: 'mes.abn.mainRules.reasonCode', trigger: 'blur' }], + currentResponsible: [{ required: true, message: 'mes.currentResponsible', trigger: 'blur' }], + reasonCodeDesc: [{ required: true, message: 'mes.abn.mainRules.reasonCodeDesc', trigger: 'blur' }], +} +// 产品编号 +export const itemDialogObj = { + condition: 'param', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.desc' }, + ], + queryParam: { + column: 'ITEM', + }, +} +// 产品编号-建立异常单-开窗 +export const itemFormDialogObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'revision', label: 'mes.revision' }, + { prop: 'description', label: 'mes.desc' }, + ], + queryParam: { + itemType: 'M', + }, +} +// 异常单号 +export const abnNoDialogObj = { + condition: 'param', + tableColumn: [ + { prop: 'abnNo', label: 'mes.abn.abnNo' }, + { prop: 'abnType', label: 'mes.type' }, + ], + queryParam: { + column: 'ABN_NO', + }, +} +// 发生工序 +export const operationDialogObj = { + condition: 'param', + tableColumn: [ + { prop: 'operation', label: 'mes.operationNo' }, + { prop: 'operationDesc', label: 'mes.operationDesc' }, + ], + queryParam: { + column: 'OPERATION', + }, +} +// 发生工序-表单 +export const operationFromDialogObj = { + title: 'mes.process_occurred', + condition: 'operation', + tableColumn: [ + { prop: 'operation', label: 'mes.operationNo' }, + { prop: 'description', label: 'mes.operationDesc' }, + ], + queryParam: {}, +} +// 异常原因 +export const reasonDialogObj = { + title: 'mes.abnormalReason', + condition: 'param', + tableColumn: [ + { prop: 'reasonCode', label: 'mes.reasonCode' }, + { prop: 'reasonCodeDesc', label: 'mes.desc' }, + ], + queryParam: { + column: 'REASON_CODE', + }, +} +// 异常原因-表单 +export const reasonFormDialogObj = { + title: 'mes.abnormalReason', + condition: 'reasonCode', + tableColumn: [ + { prop: 'reasonCode', label: 'mes.reasonCode' }, + { prop: 'description', label: 'mes.desc' }, + ], + queryParam: {}, +} +// 当前处置单位 +export const currentResponsibleDialogObj = { + title: 'mes.abn.tableObj.search.currentResponsible', + condition: 'param', + tableColumn: [ + { prop: 'roleCode', label: 'mes.abn.roleDialogObj.roleCode' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: { + column: 'CURRENT_RESPONSIBLE', + }, +} +// 转下一个处置单位 +export const changeResponsibleDialogObj = { + title: 'mes.abn.transferNext', + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.abn.roleDialogObj.roleCode' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: {}, + page: false, +} + +// 工单 +export const shopOrderDialogObj = { + condition: 'param', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'shopOrderType', label: 'mes.shopOrderType' }, + { prop: 'shopOrderItem', label: 'mes.product_number' }, + { prop: 'shopOrderItemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + column: 'SHOP_ORDER', + }, +} +// lotNo +export const lotNoDialogObj = { + condition: 'param', + tableColumn: [ + { prop: 'lotNo', label: 'mes.prd.lotNo' }, + { prop: 'lotStateQty', label: 'mes.abn.lotStateQty' }, + { prop: 'currentOperation', label: 'mes.current_process' }, + { prop: 'lotStatus', label: 'mes.status' }, + { prop: 'shopOrder', label: 'mes.work_order' }, + { prop: 'lotItem', label: 'mes.product_number' }, + { prop: 'lotItemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + column: 'LOT_NO', + }, +} +// 开单对象 lot +export const lotDialogObj = { + title: 'mes.prd.lotNo', + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.prd.lotNo' }, + { prop: 'qty', label: 'mes.abn.lotStateQty' }, + { prop: 'operation', label: 'mes.current_process' }, + { prop: 'newStatus', label: 'mes.status' }, + { prop: 'shopOrder', label: 'mes.work_order' }, + ], + queryParam: {}, + page: false, +} +// 开单对象 设备编号 +export const resrceDialogObj = { + title: 'mes.equipmentNumber', + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, + { prop: 'description', label: 'mes.equipmentNumberDesc' }, + { prop: 'eqpType', label: 'mes.equipmentCategory' }, + { prop: 'eqpTypeDesc', label: 'mes.equipmentCategoryDesc' }, + ], + queryParam: {}, +} +// 开单对象 未来工序 +export const nextStepDialogObj = { + condition: 'operationName', + tableColumn: [ + { prop: 'operationName', label: 'mes.process' }, + { prop: 'operationDesc', label: 'mes.desc' }, + ], + queryParam: {}, + page: false, +} +// 可轉移工序 開窗 +export const newOpObj = { + condition: 'operationName', + tableColumn: [ + { prop: 'operationName', label: 'mes.operationNo' }, + { prop: 'operationDesc', label: 'mes.desc' }, + ], + page: false, + queryParam: {}, +} +// 重工途程 開窗 +export const newRouterObj = { + condition: 'router', + tableColumn: [ + { prop: 'router', label: 'mes.abn.routerCode' }, + { prop: 'revision', label: 'mes.revision' }, + { prop: 'description', label: 'mes.desc' }, + ], + queryParam: {}, +} +// 倉庫開窗 開窗 +export const newInvObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'mes.desc' }, + ], + page: false, + queryParam: null, +} + +export const selectBox = { + status: [ + { label: 'mes.all', value: '2' }, + { label: 'mes.run', value: '0' }, + { label: 'mes.abn.status.dismiss', value: '1' }, + ], + currentStatus: [ + { label: 'mes.inQueue', value: 'Q' }, + { label: 'mes.inProcess', value: 'R' }, + { label: 'mes.finished', value: 'C' }, + { label: 'mes.withheld', value: 'H' }, + { label: 'mes.invalidateAfterSplitBatch', value: 'I' }, + { label: 'Scrap', value: 'S' }, + ], + work: [ + { label: 'mes.abn.work.holdInTime', value: '0' }, + { label: 'mes.abn.work.holdLater', value: '1' }, + ], + triggerTime: [ + { label: 'mes.abn.trigger.before', value: '0' }, + { label: 'mes.abn.trigger.after', value: '1' }, + ], +} diff --git a/src/views/mes/abn/first-responsible/index.vue b/src/views/mes/abn/first-responsible/index.vue new file mode 100644 index 0000000..541201e --- /dev/null +++ b/src/views/mes/abn/first-responsible/index.vue @@ -0,0 +1,695 @@ + + + diff --git a/src/views/mes/abn/first-responsible/init.js b/src/views/mes/abn/first-responsible/init.js new file mode 100644 index 0000000..fc5fdee --- /dev/null +++ b/src/views/mes/abn/first-responsible/init.js @@ -0,0 +1,66 @@ +export const initSearchForm = { + productType: null, + processType: null, +} +export const initData = { + productType: null, + processType: null, + firstResponsible: null, + firstResponsibleDesc: null, +} +export const formKeys = ['productType', 'processType', 'firstResponsible'] + +export const roleDialogObj = { + title: 'mes.abn.labelFPUnit', + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.abn.roleDialogObj.roleCode' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: { + descs: 'role_code', + }, + page: true, +} +export const productTypeDialogObj = { + title: 'mes.abn.labelProductType', + condition: 'fieldValue', + tableColumn: [{ prop: 'fieldValue', label: 'mes.abn.labelProductType' }], + queryParam: { + tableName: 'ITEM', + fieldName: 'PRODUCT_TYPE', + }, +} +export const processTypeDialogObj = { + title: 'mes.abn.labelProcessType', + condition: 'fieldValue', + tableColumn: [{ prop: 'fieldValue', label: 'mes.abn.labelProcessType' }], + queryParam: { + tableName: 'OPERATION', + fieldName: 'PROCESS_TYPE', + }, +} +export const rules = { + productType: [ + { + required: true, + message: 'mes.abn.enterProductType', + trigger: 'blur', + }, + ], + processType: [ + { + required: true, + message: 'mes.abn.enterProcessType', + trigger: 'blur', + }, + ], + firstResponsible: [ + { + required: true, + message: 'mes.currentResponsible', + trigger: 'blur', + }, + ], +} diff --git a/src/views/mes/abn/iqc-abn-work/dialog/abn-title.vue b/src/views/mes/abn/iqc-abn-work/dialog/abn-title.vue new file mode 100644 index 0000000..c7e2fcc --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/dialog/abn-title.vue @@ -0,0 +1,36 @@ + + diff --git a/src/views/mes/abn/iqc-abn-work/dialog/main/appendix.vue b/src/views/mes/abn/iqc-abn-work/dialog/main/appendix.vue new file mode 100644 index 0000000..1597280 --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/dialog/main/appendix.vue @@ -0,0 +1,396 @@ + + + diff --git a/src/views/mes/abn/iqc-abn-work/dialog/main/index.vue b/src/views/mes/abn/iqc-abn-work/dialog/main/index.vue new file mode 100644 index 0000000..adacbfa --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/dialog/main/index.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/mes/abn/iqc-abn-work/dialog/release/abn-8D.vue b/src/views/mes/abn/iqc-abn-work/dialog/release/abn-8D.vue new file mode 100644 index 0000000..cff387b --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/dialog/release/abn-8D.vue @@ -0,0 +1,126 @@ + + + diff --git a/src/views/mes/abn/iqc-abn-work/dialog/release/abn-dispose.vue b/src/views/mes/abn/iqc-abn-work/dialog/release/abn-dispose.vue new file mode 100644 index 0000000..975b6af --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/dialog/release/abn-dispose.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/mes/abn/iqc-abn-work/dialog/release/abn-info.vue b/src/views/mes/abn/iqc-abn-work/dialog/release/abn-info.vue new file mode 100644 index 0000000..4d5555a --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/dialog/release/abn-info.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/views/mes/abn/iqc-abn-work/dialog/release/index.vue b/src/views/mes/abn/iqc-abn-work/dialog/release/index.vue new file mode 100644 index 0000000..303184e --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/dialog/release/index.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/src/views/mes/abn/iqc-abn-work/dialog/release/release-history.vue b/src/views/mes/abn/iqc-abn-work/dialog/release/release-history.vue new file mode 100644 index 0000000..0e094e9 --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/dialog/release/release-history.vue @@ -0,0 +1,47 @@ + + + diff --git a/src/views/mes/abn/iqc-abn-work/index.vue b/src/views/mes/abn/iqc-abn-work/index.vue new file mode 100644 index 0000000..8a26acb --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/index.vue @@ -0,0 +1,423 @@ + + diff --git a/src/views/mes/abn/iqc-abn-work/init.js b/src/views/mes/abn/iqc-abn-work/init.js new file mode 100644 index 0000000..f37520b --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/init.js @@ -0,0 +1,202 @@ +import moment from 'moment' + +export const initSearch = { + status: '2', + supplierNo: null, + abnNo: null, + receiptNo: null, + item: null, + reasonCode: null, + jobNo: null, + currentResponsible: null, + start: moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'), + end: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'), +} +// 开单对象 +export const searchLotInit = { + item: null, + lotNo: null, + resource: null, + materialLot: null, + start: null, + end: null, +} +export const tableObj = [ + { prop: 'reasonCode', label: 'mes.abnormalReason', width: '130' }, + { prop: 'item', label: 'mes.materialNumber', width: '130' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc', width: '180' }, + { prop: 'jobNo', label: 'mes.abn.inspReportNo', width: '180' }, + { prop: 'supplierNo', label: 'mes.abn.supplierNo', width: '180' }, + { prop: 'receiptNo', label: 'mes.itemReceiptNo', width: '180' }, + { prop: 'currentResponsible', label: 'mes.abn.tableObj.search.currentResponsible', width: '150' }, +] + +// 建立异常单-主要 +export const mainRules = { + item: [{ required: true, message: 'mes.enter_product_number', trigger: 'blur' }], + abnType: [{ required: true, message: 'mes.abn.mainRules.abnType', trigger: 'blur' }], + operation: [{ required: true, message: 'mes.abn.mainRules.operation', trigger: 'blur' }], + reasonCode: [{ required: true, message: 'mes.abn.mainRules.reasonCode', trigger: 'blur' }], + currentResponsible: [{ required: true, message: 'mes.currentResponsible', trigger: 'blur' }], + reasonCodeDesc: [{ required: true, message: 'mes.abn.mainRules.reasonCodeDesc', trigger: 'blur' }], +} + +// 供应商编号 +export const supplierNoObj = { + condition: 'supplierNo', + tableColumn: [ + { prop: 'supplierNo', label: 'mes.abn.supplierNo' }, + { prop: 'supplierName', label: 'mes.abn.supplierName' }, + ], + queryParam: {}, +} +// 异常单号 +export const abnNoObj = { + condition: 'param', + tableColumn: [ + { prop: 'abnNo', label: 'mes.abn.abnNo' }, + { prop: 'newReasonCode', label: 'mes.abnormalReason' }, + ], + queryParam: { + abnType: '2', + column: 'ABN_NO', + }, +} +// 收料单号 +export const receiptNoObj = { + condition: 'param', + tableColumn: [ + { prop: 'receiptNo', label: 'mes.itemReceiptNo' }, + { prop: 'purchaseNo', label: 'mes.abn.purchaseNo' }, + { prop: 'supplierNo', label: 'mes.abn.supplierNo' }, + { prop: 'supplierName', label: 'mes.abn.supplierName' }, + ], + queryParam: { + abnType: '2', + column: 'RECEIPT_NO', + }, +} +// 料件编号 +export const itemObj = { + condition: 'param', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc' }, + ], + queryParam: { + abnType: '2', + column: 'ITEM', + }, +} +// 异常原因 +export const reasonCodeObj = { + title: 'mes.abnormalReason', + condition: 'param', + tableColumn: [ + { prop: 'reasonCode', label: 'mes.reasonCode' }, + { prop: 'reasonCodeDesc', label: 'mes.desc' }, + ], + queryParam: { + abnType: '2', + column: 'REASON_CODE', + }, +} +// 检验单号 +export const jobNoObj = { + condition: 'param', + tableColumn: [ + { prop: 'jobNo', label: 'mes.abn.inspReportNo' }, + { prop: 'qcPlan', label: 'mes.qcPlan' }, + { prop: 'revision', label: 'mes.revision' }, + { prop: 'qcPlanDesc', label: 'mes.qcPlanDesc' }, + ], + queryParam: { + abnType: '2', + column: 'JOB_NO', + }, +} +// 当前处置单位 +export const currentResponsibleObj = { + title: 'mes.abn.tableObj.search.currentResponsible', + condition: 'param', + tableColumn: [ + { prop: 'roleCode', label: 'mes.abn.roleDialogObj.roleCode' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: { + abnType: '2', + column: 'CURRENT_RESPONSIBLE', + }, +} + +// 转下一个处置单位 +export const nextResponsibleObj = { + title: 'mes.abn.transferNext', + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.abn.roleDialogObj.roleCode' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: {}, + page: false, +} + +export const selectBox = { + status: [ + { label: 'mes.all', value: '2' }, + { label: 'mes.run', value: '0' }, + { label: 'mes.abn.status.dismiss', value: '1' }, + ], + currentStatus: [ + { label: 'mes.inQueue', value: 'Q' }, + { label: 'mes.inProcess', value: 'R' }, + { label: 'mes.finished', value: 'C' }, + { label: 'mes.withheld', value: 'H' }, + { label: 'mes.invalidateAfterSplitBatch', value: 'I' }, + { label: 'Scrap', value: 'S' }, + ], + work: [ + { label: 'mes.abn.work.holdInTime', value: '0' }, + { label: 'mes.abn.work.holdLater', value: '1' }, + ], + triggerTime: [ + { label: 'mes.abn.trigger.before', value: '0' }, + { label: 'mes.abn.trigger.after', value: '1' }, + ], + releaseMethod: [ + { label: 'mes.abn.create', value: '0' }, + { label: 'mes.abn.noTransfer', value: '1' }, + { label: 'mes.abn.transferNext', value: '2' }, + { label: 'mes.abn.dismissIncident', value: '3' }, + ], +} + +export const statusObj = { + 0: 'mes.run', + 1: 'mes.abn.status.dismiss', + 2: 'mes.all', +} + +export const releaseMethodObj = { + 0: 'mes.abn.create', + 1: 'mes.abn.noTransfer', + 2: 'mes.abn.transferNext', + 3: 'mes.abn.dismissIncident', +} + +export const form8DInit = { + handle: null, + establishTeam: null, + describeProblem: null, + tempStrategy: null, + realReason: null, + lastingStrategy: null, + effectConfirmed: null, + preventRecurrence: null, + congratulTeam: null, + dispDescription: null, + dispMethod: '1', + currentResponsible: null, +} diff --git a/src/views/mes/abn/iqc-abn-work/search.vue b/src/views/mes/abn/iqc-abn-work/search.vue new file mode 100644 index 0000000..4057506 --- /dev/null +++ b/src/views/mes/abn/iqc-abn-work/search.vue @@ -0,0 +1,417 @@ + + + + + diff --git a/src/views/mes/alm/alarm-groups-basis/index.vue b/src/views/mes/alm/alarm-groups-basis/index.vue new file mode 100644 index 0000000..06e53df --- /dev/null +++ b/src/views/mes/alm/alarm-groups-basis/index.vue @@ -0,0 +1,554 @@ + + + diff --git a/src/views/mes/alm/alarm-groups-basis/tab/members.vue b/src/views/mes/alm/alarm-groups-basis/tab/members.vue new file mode 100644 index 0000000..6da7a20 --- /dev/null +++ b/src/views/mes/alm/alarm-groups-basis/tab/members.vue @@ -0,0 +1,454 @@ + + + diff --git a/src/views/mes/alm/alarm-sender-test/index.vue b/src/views/mes/alm/alarm-sender-test/index.vue new file mode 100644 index 0000000..81a9564 --- /dev/null +++ b/src/views/mes/alm/alarm-sender-test/index.vue @@ -0,0 +1,262 @@ + + + diff --git a/src/views/mes/alm/alarm-system-config/index.vue b/src/views/mes/alm/alarm-system-config/index.vue new file mode 100644 index 0000000..05fbd4d --- /dev/null +++ b/src/views/mes/alm/alarm-system-config/index.vue @@ -0,0 +1,114 @@ + + + diff --git a/src/views/mes/alm/alarm-tracking-log/index.vue b/src/views/mes/alm/alarm-tracking-log/index.vue new file mode 100644 index 0000000..01e789a --- /dev/null +++ b/src/views/mes/alm/alarm-tracking-log/index.vue @@ -0,0 +1,225 @@ + + + diff --git a/src/views/mes/alm/alarm-tracking/index.vue b/src/views/mes/alm/alarm-tracking/index.vue new file mode 100644 index 0000000..6d797ba --- /dev/null +++ b/src/views/mes/alm/alarm-tracking/index.vue @@ -0,0 +1,260 @@ + + + diff --git a/src/views/mes/alm/bot-basis/index.vue b/src/views/mes/alm/bot-basis/index.vue new file mode 100644 index 0000000..521ec65 --- /dev/null +++ b/src/views/mes/alm/bot-basis/index.vue @@ -0,0 +1,466 @@ + + + diff --git a/src/views/mes/alm/bot-channel-setting/index.vue b/src/views/mes/alm/bot-channel-setting/index.vue new file mode 100644 index 0000000..2c3fde0 --- /dev/null +++ b/src/views/mes/alm/bot-channel-setting/index.vue @@ -0,0 +1,520 @@ + + + diff --git a/src/views/mes/alm/equipment-setting/index.vue b/src/views/mes/alm/equipment-setting/index.vue new file mode 100644 index 0000000..0bf56e1 --- /dev/null +++ b/src/views/mes/alm/equipment-setting/index.vue @@ -0,0 +1,601 @@ + + + diff --git a/src/views/mes/alm/event-basis/index.vue b/src/views/mes/alm/event-basis/index.vue new file mode 100644 index 0000000..26e9bfd --- /dev/null +++ b/src/views/mes/alm/event-basis/index.vue @@ -0,0 +1,751 @@ + + + diff --git a/src/views/mes/alm/user/index.vue b/src/views/mes/alm/user/index.vue new file mode 100644 index 0000000..8b416d0 --- /dev/null +++ b/src/views/mes/alm/user/index.vue @@ -0,0 +1,528 @@ + + + diff --git a/src/views/mes/bpr/assign-duty/index.vue b/src/views/mes/bpr/assign-duty/index.vue new file mode 100644 index 0000000..1c5dc77 --- /dev/null +++ b/src/views/mes/bpr/assign-duty/index.vue @@ -0,0 +1,467 @@ + + + diff --git a/src/views/mes/bpr/assign-duty/init.js b/src/views/mes/bpr/assign-duty/init.js new file mode 100644 index 0000000..a5cb807 --- /dev/null +++ b/src/views/mes/bpr/assign-duty/init.js @@ -0,0 +1,82 @@ +export const page = { + total: 0, // 总页数 + currentPage: 1, // 当前页数 + pageSize: 20, // 每页显示多少条 +} + +export const initForm = { + workCenter: '', + resrce: '', + typeNo: '', + userNo: '', + start: '', + end: '', +} + +export const workCenterDialogObj = { + title: 'mes.workCenter', + condition: 'workCenter', + tableColumn: [ + { + prop: 'workCenter', + label: 'mes.workCenter', + }, + { + prop: 'description', + label: 'mes.desc', + }, + ], +} + +export const resrceDialogObj = { + title: 'mes.equipmentNumber', + condition: 'resrce', + tableColumn: [ + { + prop: 'eqpType', + label: 'mes.equipmentCategory', + }, + { + prop: 'eqpTypeDesc', + label: 'mes.equipmentCategoryDesc', + }, + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'mes.desc', + }, + ], +} + +export const eqpTypeDialogObj = { + title: 'mes.equipmentNumber', + condition: 'typeNo', + tableColumn: [ + { + prop: 'typeNo', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'mes.desc', + }, + ], +} + +export const userDialogObj = { + title: 'mes.userNo', + condition: 'username', + tableColumn: [ + { + prop: 'username', + label: 'mes.userNo', + }, + { + prop: 'name', + label: 'mes.full_name', + }, + ], +} diff --git a/src/views/mes/bpr/on-duty/index.vue b/src/views/mes/bpr/on-duty/index.vue new file mode 100644 index 0000000..1ff925c --- /dev/null +++ b/src/views/mes/bpr/on-duty/index.vue @@ -0,0 +1,329 @@ + + diff --git a/src/views/mes/bpr/on-duty/init.js b/src/views/mes/bpr/on-duty/init.js new file mode 100644 index 0000000..1a35a81 --- /dev/null +++ b/src/views/mes/bpr/on-duty/init.js @@ -0,0 +1,54 @@ +export const rules = { + userNo: [ + { + required: true, + message: 'mes.bpr.ruleUserNo', + trigger: ['blur', 'change'], + }, + ], + resrce: [ + { + required: true, + message: 'mes.enterEquipment', + trigger: ['blur', 'change'], + }, + ], +} + +export const initForm = { + userNo: '', + name: '', + resrce: '', + resrceDesc: '', +} + +export const resrceDialogObj = { + title: 'mes.equipmentNumber', + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'resrceDesc', + label: 'mes.equipmentDesc', + }, + { + prop: 'categoryNo', + label: 'mes.resrceCategory', + }, + { + prop: 'categoryNoDesc', + label: 'mes.equipmentMajorCategoryDescription', + }, + { + prop: 'eqpType', + label: 'mes.equipmentCategory', + }, + { + prop: 'eqpTypeDesc', + label: 'mes.equipmentCategoryDesc', + }, + ], +} diff --git a/src/views/mes/bpr/tool-mounted/index.vue b/src/views/mes/bpr/tool-mounted/index.vue new file mode 100644 index 0000000..d02f5b1 --- /dev/null +++ b/src/views/mes/bpr/tool-mounted/index.vue @@ -0,0 +1,371 @@ + + diff --git a/src/views/mes/bpr/tool-mounted/init.js b/src/views/mes/bpr/tool-mounted/init.js new file mode 100644 index 0000000..80c19e1 --- /dev/null +++ b/src/views/mes/bpr/tool-mounted/init.js @@ -0,0 +1,60 @@ +export const initForm = { + resrce: '', + resrceDesc: '', + toolNo: '', + toolDesc: '', +} + +export const resrceDialogObj = { + title: 'mes.equipment', + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'mes.desc', + }, + { + prop: 'eqpType', + label: 'mes.equipmentCategory', + }, + { + prop: 'eqpTypeDesc', + label: 'mes.equipmentCategoryDesc', + }, + ], +} + +export const toolDialogObj = { + title: 'mes.bpr.tool', + condition: 'toolNo', + tableColumn: [ + { + prop: 'categoryNo', + label: 'mes.toolMajorCategory', + }, + { + prop: 'categoryNoDesc', + label: 'mes.toolMajorCategoryDescription', + }, + { + prop: 'typeNo', + label: 'mes.toolCategory', + }, + { + prop: 'typeNoDesc', + label: 'mes.toolCategoryDescription', + }, + { + prop: 'toolNo', + label: 'mes.toolNumber', + }, + { + prop: 'description', + label: 'mes.bpr.toolNoDesc', + }, + ], +} diff --git a/src/views/mes/cal/instrument-group/index.vue b/src/views/mes/cal/instrument-group/index.vue new file mode 100644 index 0000000..e827db7 --- /dev/null +++ b/src/views/mes/cal/instrument-group/index.vue @@ -0,0 +1,943 @@ + + + + diff --git a/src/views/mes/cal/instrument-group/init.js b/src/views/mes/cal/instrument-group/init.js new file mode 100644 index 0000000..94936af --- /dev/null +++ b/src/views/mes/cal/instrument-group/init.js @@ -0,0 +1,52 @@ +export const inspectionPlanNumberDialogObj = { + title: 'mes.qcPlan', + condition: 'qcPlan', + tableColumn: [ + { + prop: 'qcPlan', + label: 'mes.qcPlan', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'revision', + label: 'crud.column.label.version', + }, + { + prop: 'userGroup', + label: 'mes.qcRole', + }, + ], + queryParam: { + currentRevision: 'Y', + inspecType: '3', + }, +} + +export const groupNoDialogObj = { + title: 'mes.groupNo', + condition: 'groupNo', + tableColumn: [ + { + prop: 'groupNo', + label: 'mes.groupNo', + }, + { + prop: 'groupName', + label: 'mes.groupName', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} + +export const initForm = { + groupNo: '', + groupName: '', + description: '', + inspectionPlanTableData: [], +} diff --git a/src/views/mes/ecn/ecn-view/changeView.vue b/src/views/mes/ecn/ecn-view/changeView.vue new file mode 100644 index 0000000..52de204 --- /dev/null +++ b/src/views/mes/ecn/ecn-view/changeView.vue @@ -0,0 +1,457 @@ + + diff --git a/src/views/mes/ecn/ecn-view/index.vue b/src/views/mes/ecn/ecn-view/index.vue new file mode 100644 index 0000000..8cf84a9 --- /dev/null +++ b/src/views/mes/ecn/ecn-view/index.vue @@ -0,0 +1,2768 @@ + + + + diff --git a/src/views/mes/ecn/ecn-view/init.js b/src/views/mes/ecn/ecn-view/init.js new file mode 100644 index 0000000..fc1f0bc --- /dev/null +++ b/src/views/mes/ecn/ecn-view/init.js @@ -0,0 +1,37 @@ +export const ecnTypeList = [ + { + value: '', + label: 'mes.selectMsg', + }, + { + value: 'PRODUCT', + label: 'mes.itemInfo', + }, + { + value: 'CUST_PART', + label: 'mes.userPart', + }, + { + value: 'SHOP_ORDER', + label: 'mes.work_order', + }, + { + value: 'LOT', + label: 'Lot', + }, +] + +export const ecnStatusList = [ + { + value: '0', + label: 'mes.disabled', + }, + { + value: '1', + label: 'mes.ecn.enabled', + }, + { + value: '2', + label: 'mes.ecn.invalid', + }, +] diff --git a/src/views/mes/hrs/qualification/index.vue b/src/views/mes/hrs/qualification/index.vue new file mode 100644 index 0000000..c2ed5e7 --- /dev/null +++ b/src/views/mes/hrs/qualification/index.vue @@ -0,0 +1,721 @@ + + + + diff --git a/src/views/mes/int/integrated-service-transaction-history-query/content/content-view.vue b/src/views/mes/int/integrated-service-transaction-history-query/content/content-view.vue new file mode 100644 index 0000000..f149835 --- /dev/null +++ b/src/views/mes/int/integrated-service-transaction-history-query/content/content-view.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/views/mes/int/integrated-service-transaction-history-query/content/search-ui.vue b/src/views/mes/int/integrated-service-transaction-history-query/content/search-ui.vue new file mode 100644 index 0000000..0640d57 --- /dev/null +++ b/src/views/mes/int/integrated-service-transaction-history-query/content/search-ui.vue @@ -0,0 +1,251 @@ + + + diff --git a/src/views/mes/int/integrated-service-transaction-history-query/content/transaction-history-view.vue b/src/views/mes/int/integrated-service-transaction-history-query/content/transaction-history-view.vue new file mode 100644 index 0000000..fa24dab --- /dev/null +++ b/src/views/mes/int/integrated-service-transaction-history-query/content/transaction-history-view.vue @@ -0,0 +1,347 @@ + + + + + diff --git a/src/views/mes/int/integrated-service-transaction-history-query/index.vue b/src/views/mes/int/integrated-service-transaction-history-query/index.vue new file mode 100644 index 0000000..41f4825 --- /dev/null +++ b/src/views/mes/int/integrated-service-transaction-history-query/index.vue @@ -0,0 +1,240 @@ + + + diff --git a/src/views/mes/int/integrated-service-transaction-history-query/init.js b/src/views/mes/int/integrated-service-transaction-history-query/init.js new file mode 100644 index 0000000..0b07e32 --- /dev/null +++ b/src/views/mes/int/integrated-service-transaction-history-query/init.js @@ -0,0 +1,65 @@ +import moment from 'moment' + +// 初始化搜尋 +export const initSearch = { + fromSystem: '', + toSystem: '', + state: '', + start: moment().subtract(30, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'), + end: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'), + functionName: '', + keyValue: '', + sid: '', +} + +export const historyFormInit = { + sid: '', + fromSystem: '', + toSystem: '', + functionName: '', + request: '', + dateCreate: '', + creator: '', + keyValue: '', + state: '', + response: '', + message: '', +} + +export const tableObj = [ + { prop: 'fromSystem', label: 'mes.int.requestSide', width: '120' }, + { prop: 'toSystem', label: 'mes.int.receiverSide', width: '120' }, + { prop: 'state', label: 'crud.column.label.status1', width: '80' }, + { prop: 'sid', label: 'mes.int.transactionNumber', width: '250' }, + { prop: 'functionName', label: 'mes.int.methodName', width: '250' }, + { prop: 'message', label: 'mes.int.message', width: '250' }, + { prop: 'keyValue', label: 'mes.int.keyword', width: '150' }, + { prop: 'dateCreate', label: 'mes.int.transactionTime', width: '180' }, + { prop: 'retryCount', label: 'mes.int.rethrowCount', width: '140' }, + { prop: 'logCreator', label: 'mes.int.rethrowPersonnel', width: '150' }, + { prop: 'dateExecute', label: 'mes.int.rethrowTime', width: '180' }, +] + +export const historyTableObj = [ + { prop: 'state', label: 'crud.column.label.status1', width: '100' }, + { prop: 'message', label: 'mes.int.message', width: '270' }, + { prop: 'request', label: 'mes.int.requestContent', width: '150' }, + { prop: 'response', label: 'mes.int.responseContent', width: '150' }, + { prop: 'logCreator', label: 'mes.int.rethrowPersonnel', width: '100' }, + { prop: 'dateExecute', label: 'mes.int.rethrowTime', width: '200' }, +] + +// 状态下拉选单 +export const selectBox = { + status: [ + { label: 'mes.executeSuccess', value: '0', color: 'success' }, + { label: 'mes.int.executionFailed', value: '1', color: 'primary' }, + ], +} + +// 方法名称开窗 +export const MethodNameObj = { + title: 'mes.int.methodName', + condition: 'functionName', + tableColumn: [{ prop: 'functionName', label: 'mes.int.methodName' }], +} diff --git a/src/views/mes/lms/label-maintenance/content/main.vue b/src/views/mes/lms/label-maintenance/content/main.vue new file mode 100644 index 0000000..d3a9e24 --- /dev/null +++ b/src/views/mes/lms/label-maintenance/content/main.vue @@ -0,0 +1,1108 @@ + + diff --git a/src/views/mes/lms/label-maintenance/index.vue b/src/views/mes/lms/label-maintenance/index.vue new file mode 100644 index 0000000..9bca87c --- /dev/null +++ b/src/views/mes/lms/label-maintenance/index.vue @@ -0,0 +1,354 @@ + + + diff --git a/src/views/mes/lms/label-maintenance/init.js b/src/views/mes/lms/label-maintenance/init.js new file mode 100644 index 0000000..effe2b3 --- /dev/null +++ b/src/views/mes/lms/label-maintenance/init.js @@ -0,0 +1,103 @@ +export const initSearch = { + labelType: '', + labelNo: '', + labelFile: '', +} + +export const initForm = { + labelType: '', + labelNo: '', + labelFile: '', + labelName: '', + description: '', + parameters: [], + objects: [], + printers: [], +} + +export const initDataset = { + datasetNo: '', + datasetName: '', + datasetMasterBo: '', +} + +export const datasetObj = { + title: 'mes.sys.dataset.fieldName', + condition: 'fieldName', + tableColumn: [ + { prop: 'fieldName', label: 'mes.sys.dataset.fieldName' }, + { prop: 'fieldText', label: 'mes.sys.dataset.fieldText' }, + ], + queryParam: {}, +} + +export const itemTypeObj = { + title: 'mes.itemType', + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'mes.itemType' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const segmentObj = { + title: 'mes.segment', + condition: 'segmentNo', + tableColumn: [ + { prop: 'segmentNo', label: 'mes.segment' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const carrierTypeObj = { + title: 'mes.carrierType', + condition: 'carrierType', + tableColumn: [ + { prop: 'carrierType', label: 'mes.carrierType' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const equipmentCategoryObj = { + title: 'crud.column.label.equipmentCategory', + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'crud.column.label.equipmentCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const toolCategoryObj = { + title: 'mes.toolCategory', + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'mes.toolCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const printerObj = { + title: 'mes.printerNo', + condition: 'printerNo', + tableColumn: [ + { prop: 'printerNo', label: 'mes.printerNo' }, + { prop: 'printerName', label: 'mes.printerName' }, + ], + queryParam: {}, +} + +export const datasetMasterObj = { + title: 'mes.sys.dataset.title', + condition: 'datasetNo', + tableColumn: [ + { prop: 'datasetNo', label: 'mes.sys.dataset.datasetNo' }, + { prop: 'datasetName', label: 'mes.sys.dataset.datasetName' }, + { prop: 'type', label: 'crud.column.label.type' }, + ], + queryParam: {}, +} diff --git a/src/views/mes/lms/label-print/FailureMessage.vue b/src/views/mes/lms/label-print/FailureMessage.vue new file mode 100644 index 0000000..c5acaa5 --- /dev/null +++ b/src/views/mes/lms/label-print/FailureMessage.vue @@ -0,0 +1,72 @@ + + + + diff --git a/src/views/mes/lms/label-print/init.js b/src/views/mes/lms/label-print/init.js new file mode 100644 index 0000000..08e591e --- /dev/null +++ b/src/views/mes/lms/label-print/init.js @@ -0,0 +1,16 @@ +export const tableObj = [ + { prop: 'labelNo', label: 'mes.labelNo', width: '160' }, + { prop: 'labelName', label: 'mes.labelName', width: '160' }, + { prop: 'printerNo', label: 'mes.printerNo', width: '200', isCustom: true }, + { prop: 'printerName', label: 'mes.printerName', width: '160' }, +] + +// 標籤機編號 +export const LabelingMachineObj = { + condition: 'printerNo', + tableColumn: [ + { prop: 'printerNo', label: 'mes.printerNo' }, + { prop: 'printerName', label: 'mes.printerName' }, + ], + queryParam: {}, +} diff --git a/src/views/mes/lms/label-print/main.vue b/src/views/mes/lms/label-print/main.vue new file mode 100644 index 0000000..779d5d3 --- /dev/null +++ b/src/views/mes/lms/label-print/main.vue @@ -0,0 +1,565 @@ + + + + diff --git a/src/views/mes/lms/label-printer/content/main.vue b/src/views/mes/lms/label-printer/content/main.vue new file mode 100644 index 0000000..5ef6b3f --- /dev/null +++ b/src/views/mes/lms/label-printer/content/main.vue @@ -0,0 +1,188 @@ + + diff --git a/src/views/mes/lms/label-printer/index.vue b/src/views/mes/lms/label-printer/index.vue new file mode 100644 index 0000000..6281dd5 --- /dev/null +++ b/src/views/mes/lms/label-printer/index.vue @@ -0,0 +1,272 @@ + + + diff --git a/src/views/mes/lms/label-printer/init.js b/src/views/mes/lms/label-printer/init.js new file mode 100644 index 0000000..03506fb --- /dev/null +++ b/src/views/mes/lms/label-printer/init.js @@ -0,0 +1,5 @@ +export const initForm = { + printerNo: '', + printerName: '', + description: '', +} diff --git a/src/views/mes/lms/label-reprinter/dialog/history.vue b/src/views/mes/lms/label-reprinter/dialog/history.vue new file mode 100644 index 0000000..0d213ad --- /dev/null +++ b/src/views/mes/lms/label-reprinter/dialog/history.vue @@ -0,0 +1,165 @@ + + + diff --git a/src/views/mes/lms/label-reprinter/dialog/print-content.vue b/src/views/mes/lms/label-reprinter/dialog/print-content.vue new file mode 100644 index 0000000..6a37773 --- /dev/null +++ b/src/views/mes/lms/label-reprinter/dialog/print-content.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/views/mes/lms/label-reprinter/index.vue b/src/views/mes/lms/label-reprinter/index.vue new file mode 100644 index 0000000..7872731 --- /dev/null +++ b/src/views/mes/lms/label-reprinter/index.vue @@ -0,0 +1,407 @@ + + + diff --git a/src/views/mes/lms/label-reprinter/init.js b/src/views/mes/lms/label-reprinter/init.js new file mode 100644 index 0000000..c1e77e1 --- /dev/null +++ b/src/views/mes/lms/label-reprinter/init.js @@ -0,0 +1,190 @@ +export const tableObj = [ + { prop: 'datePrint', label: 'mes.lms.label-reprinter.datePrint', width: '160' }, // 打印时间 + { prop: 'labelNo', label: 'mes.labelNo', width: '150' }, // 标签编号 + { prop: 'labelName', label: 'mes.labelName', width: '150' }, // 标签名称 + { prop: 'item', label: 'mes.materialNumber', width: '150' }, // 料件编号 + { prop: 'itemDesc', label: 'mes.materialBatchDesc', width: '200' }, // 料件说明 + { prop: 'objectNo', label: 'mes.materialBatchNumber', width: '140' }, // 料件批号 + { prop: 'shopOrder', label: 'mes.shopOrderNo', width: '150' }, // 工单编号 + { prop: 'lotNo', label: 'mes.prd.lotNo', width: '150' }, + { prop: 'segmentNo', label: 'mes.segment', width: '150' }, // 工段 + { prop: 'carrierNo', label: 'mes.carrierNumber', width: '150' }, // 载具编号 + { prop: 'resrce', label: 'mes.equipmentNumber', width: '150' }, // 设备编号 + { prop: 'toolNo', label: 'mes.toolNumber', width: '150' }, // 工具编号 + { prop: 'userPrint', label: 'mes.lms.label-reprinter.userPrint', width: '130' }, // 打印人员 + { prop: 'printerNo', label: 'mes.lms.label-maintenance.printer', width: '75' }, // 标签机 + { prop: 'datePrint', label: 'mes.lms.label-reprinter.datePrint', width: '150' }, // 打印时间 +] + +export const historyTableObj = [ + { prop: 'datePrintStr', label: 'mes.lms.label-reprinter.datePrint', width: '150' }, // 打印时间 + { prop: 'userPrint', label: 'mes.lms.label-reprinter.userPrint', width: '130' }, // 打印人员 + { prop: 'printerNo', label: 'mes.lms.label-maintenance.printer', width: '75' }, // 标签机 + { prop: 'transactionId', label: 'mes.lms.label-reprinter.transactionId', width: '230' }, // 交易码 + { prop: 'result', label: 'mes.printResult', width: '150' }, // 打印结果 + { prop: 'datePrint', label: 'mes.lms.label-reprinter.datePrint', width: '150' }, // 打印时间 +] + +export const initItemSearch = { + labelType: 'ITEM_LABEL', + labelNo: null, + item: null, + objectNo: null, + start: null, + end: null, +} + +export const initLotSearch = { + labelType: 'LOT_LABEL', + labelNo: null, + shopOrder: null, + lotNo: null, + start: null, + end: null, +} + +export const initCarrierSearch = { + labelType: 'CARRIER_LABEL', + labelNo: null, + carrierNumber: null, + start: null, + end: null, +} + +export const initEquipmentSearch = { + labelType: 'EQUIPMENT_LABEL', + labelNo: null, + resrceNumber: null, + start: null, + end: null, +} + +export const initToolSearch = { + labelType: 'TOOL_LABEL', + labelNo: null, + toolNumber: null, + start: null, + end: null, +} + +// 标签编号 +export const labelNoObj = { + title: 'mes.labelNo', // 标签编号 + condition: 'labelNo', + tableColumn: [ + { prop: 'labelNo', label: 'mes.labelNo' }, // 标签编号 + { prop: 'labelName', label: 'mes.labelName' }, // 料件说明 + { prop: 'description', label: 'common.description' }, // 说明 + ], + queryParam: { + labelType: null, + }, +} + +// 料件编号 +export const itemFormDialogObj = { + title: 'mes.materialNumber', // 料件编号 + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, // 料件编号 + { prop: 'itemType', label: 'mes.itemType' }, // 料件类别 + { prop: 'description', label: 'crud.column.label.description' }, // 描述 + ], +} + +// 工单编号 +export const shopOrderDialogObj = { + title: 'mes.shopOrderNo', // 工单编号 + condition: 'shopOrder', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, // 工单编号 + { prop: 'shopOrderType', label: 'mes.lms.label-reprinter.shopOrderType' }, // 工单类别 + { prop: 'item', label: 'mes.product_number' }, // 产品编号 + ], + queryParam: { + reprint: 'N', + labelType: 'LOT_LABEL', + }, +} + +//料件批号 +export const objectNoObj = { + condition: 'objectNo', + tableColumn: [ + { prop: 'objectNo', label: 'mes.materialBatchNumber' }, // 料件批号 + ], + queryParam: { + reprint: 'N', + labelType: 'ITEM_LABEL', + }, +} + +// Lot No +export const lotNoDialogObj = { + title: 'mes.prd.lotNo', + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.prd.lotNo' }, // Lot No + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, // 工单编号 + { prop: 'item', label: 'mes.product_number' }, // 产品编号 + ], + queryParam: { + reprint: 'N', + labelType: 'LOT_LABEL', + }, +} + +// 载具编号 +export const carrierNumberDialogObj = { + title: 'mes.carrierNumber', + condition: 'carrier', + tableColumn: [ + { prop: 'carrier', label: 'mes.carrierNumber' }, // 载具编号 + { prop: 'description', label: 'common.description' }, // 说明 + ], + queryParam: { + reprint: 'N', + labelType: 'CARRIER_LABEL', + }, +} + +// 设备编号 +export const resrceNumberDialogObj = { + title: 'mes.equipmentNumber', + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, // 设备编号 + { prop: 'description', label: 'common.description' }, // 说明 + ], + queryParam: { + reprint: 'N', + labelType: 'EQUIPMENT_LABEL', + }, +} + +// 工具编号 +export const toolNumberDialogObj = { + title: 'mes.toolNumber', + condition: 'toolNo', + tableColumn: [ + { prop: 'toolNo', label: 'mes.toolNumber' }, // 工具编号 + { prop: 'description', label: 'common.description' }, // 说明 + ], + queryParam: { + reprint: 'N', + labelType: 'TOOL_LABEL', + }, +} + +// 标签机 +export const LabelingMachineObj = { + title: 'mes.lms.label-maintenance.printer', // 标签机 + condition: 'printerNo', + tableColumn: [ + { prop: 'printerNo', label: 'mes.printerNo' }, // 标签机编号 + { prop: 'printerName', label: 'mes.printerName' }, // 标签机名称 + ], + queryParam: { + labelBo: null, + }, +} diff --git a/src/views/mes/lms/label-reprinter/top-ui/search-ui.vue b/src/views/mes/lms/label-reprinter/top-ui/search-ui.vue new file mode 100644 index 0000000..e0b0c82 --- /dev/null +++ b/src/views/mes/lms/label-reprinter/top-ui/search-ui.vue @@ -0,0 +1,539 @@ + + + diff --git a/src/views/mes/msa/maintain/cotent/analyze/bias.vue b/src/views/mes/msa/maintain/cotent/analyze/bias.vue new file mode 100644 index 0000000..32bebc8 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/analyze/bias.vue @@ -0,0 +1,726 @@ + + + + diff --git a/src/views/mes/msa/maintain/cotent/analyze/grr.vue b/src/views/mes/msa/maintain/cotent/analyze/grr.vue new file mode 100644 index 0000000..7a566d9 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/analyze/grr.vue @@ -0,0 +1,651 @@ + + + + + diff --git a/src/views/mes/msa/maintain/cotent/analyze/kappa.vue b/src/views/mes/msa/maintain/cotent/analyze/kappa.vue new file mode 100644 index 0000000..c12237c --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/analyze/kappa.vue @@ -0,0 +1,1000 @@ + + + + + diff --git a/src/views/mes/msa/maintain/cotent/analyze/stability.vue b/src/views/mes/msa/maintain/cotent/analyze/stability.vue new file mode 100644 index 0000000..01e1aa6 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/analyze/stability.vue @@ -0,0 +1,690 @@ + + + + + diff --git a/src/views/mes/msa/maintain/cotent/create/bias.vue b/src/views/mes/msa/maintain/cotent/create/bias.vue new file mode 100644 index 0000000..8de4451 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/create/bias.vue @@ -0,0 +1,424 @@ + + diff --git a/src/views/mes/msa/maintain/cotent/create/grr.vue b/src/views/mes/msa/maintain/cotent/create/grr.vue new file mode 100644 index 0000000..2249110 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/create/grr.vue @@ -0,0 +1,444 @@ + + diff --git a/src/views/mes/msa/maintain/cotent/create/kappa-standard.vue b/src/views/mes/msa/maintain/cotent/create/kappa-standard.vue new file mode 100644 index 0000000..84d068d --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/create/kappa-standard.vue @@ -0,0 +1,257 @@ + + + diff --git a/src/views/mes/msa/maintain/cotent/create/kappa.vue b/src/views/mes/msa/maintain/cotent/create/kappa.vue new file mode 100644 index 0000000..b801b22 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/create/kappa.vue @@ -0,0 +1,323 @@ + + diff --git a/src/views/mes/msa/maintain/cotent/create/stability.vue b/src/views/mes/msa/maintain/cotent/create/stability.vue new file mode 100644 index 0000000..cf97fb8 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/create/stability.vue @@ -0,0 +1,577 @@ + + diff --git a/src/views/mes/msa/maintain/cotent/master.vue b/src/views/mes/msa/maintain/cotent/master.vue new file mode 100644 index 0000000..23a2f53 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/master.vue @@ -0,0 +1,385 @@ + + diff --git a/src/views/mes/msa/maintain/cotent/search.vue b/src/views/mes/msa/maintain/cotent/search.vue new file mode 100644 index 0000000..b620766 --- /dev/null +++ b/src/views/mes/msa/maintain/cotent/search.vue @@ -0,0 +1,245 @@ + + + diff --git a/src/views/mes/msa/maintain/export.js b/src/views/mes/msa/maintain/export.js new file mode 100644 index 0000000..2ab6b6e --- /dev/null +++ b/src/views/mes/msa/maintain/export.js @@ -0,0 +1,770 @@ +import { isBlank } from '@/util/string' +import { copyJSON } from '@/util/util' +import ExcelJS from 'exceljs' +import * as FileSaver from 'file-saver' +import { object } from './init' +import { dateFormatCustom } from '@/util/date' + +/** + * 汇出 + */ +let alignment = { + vertical: 'middle', + horizontal: 'center', + wrapText: true, +} +// 一般外框 +let border = { + top: { style: 'thin' }, + left: { style: 'thin' }, + bottom: { style: 'thin' }, + right: { style: 'thin' }, +} +// 填充背景顏色 +let fill = { + ddd9c4: { + fgColor: { argb: 'DDD9C4' }, + bgColor: { argb: '000000' }, + type: 'pattern', + pattern: 'solid', + }, + deeaf6: { + fgColor: { argb: 'DEEAF6' }, + bgColor: { argb: '000000' }, + type: 'pattern', + pattern: 'solid', + }, +} +// 字体 +const MingLiu = '新細明體' +let font = { + name: MingLiu, + color: { argb: '000000' }, + size: 12, + bold: false, +} + +export default function execute(data) { + // 建立 excel 物件 + let wb = new ExcelJS.Workbook() + let obj = copyJSON(data) + + // 量测任务 + let task = wb.addWorksheet(this.$t('mes.msa.maintain.title'), { + views: [{ showGridLines: false }], + properties: { defaultColWidth: 23 }, + }) + setTaskSheet.call(this, task, obj) + // 偏差 + setBiasSheet.call(this, wb, obj) + // GRR + setGrrSheet.call(this, wb, obj) + // 稳定性 + setStabilitySheet.call(this, wb, obj) + // KAPPA + setKappaSheet.call(this, wb, obj) + + // 匯出 excel + let exportName = 'MSA_' + data.taskNo + doExport(exportName) + + async function doExport(name) { + const buffer = await wb.xlsx.writeBuffer() + const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' + const blob = new Blob([buffer], { type: fileType }) + FileSaver.saveAs(blob, name + '.xlsx') + } +} + +/** + * 量测任务页签 + * @param task + * @param obj + */ +function setTaskSheet(task, obj) { + obj.state = object.task.state[obj.state] + obj.dateCreate = object.dateFormatter(obj, undefined, obj.dateCreate, 0) + obj.dateComplete = object.dateFormatter(obj, undefined, obj.dateComplete, 0) + if (isBlank(obj.dateComplete)) { + obj.dateComplete = '' + } + + task.addRows( + getRows({ + columns: [ + { header: this.$t('mes.taskOrderNumber'), key: 'taskNo' }, + { header: this.$t('mes.resource'), key: 'resource' }, + { header: this.$t('mes.resourceDesc'), key: 'resourceDesc' }, + { header: this.$t('mes.msa.maintain.description'), key: 'description' }, + { header: this.$t('crud.column.label.status1'), key: 'state' }, + { header: this.$t('mes.documentStartDate'), key: 'dateCreate' }, + { header: this.$t('mes.completionDate'), key: 'dateComplete' }, + ], + obj, + }) + ) + setTitleStyle({ ws: task, row: [1] }) + setStyle(task) +} + +/** + * 偏差页签 + */ +function setBiasSheet(wb, obj) { + if (isBlank(obj.bias)) return + + let bias = wb.addWorksheet(this.$t('mes.msa.maintain.bias'), { + views: [{ showGridLines: false }], + properties: { defaultColWidth: 23 }, + }) + + let data = Object.assign({}, { ...obj.bias }) + if (!isBlank(data.biasResult)) { + data = Object.assign(data, { ...data.biasResult }) + } + + bias.addRows( + getRows({ + columns: [ + { header: this.$t('mes.inspectionItem'), key: 'qcItem' }, + { header: this.$t('mes.inspectionItemDescription'), key: 'qcItemDesc' }, + { header: this.$t('mes.materialNumber'), key: 'item' }, + { header: this.$t('mes.msa.maintain.referenceValue'), key: 'referenceValue' }, + { header: this.$t('mes.usl'), key: 'usl' }, + { header: this.$t('mes.lsl'), key: 'lsl' }, + { header: this.$t('mes.unit_of_measure'), key: 'unit' }, + { header: this.$t('mes.executor'), key: 'completeUser' }, + { + header: this.$t('mes.completionDate'), + key: 'completeDate', + format: (value) => { + return dateFormatCustom(new Date(value), 'yyyy/MM/dd') + }, + }, + ], + obj: data, + }) + ) + bias.addRows( + getRows({ + columns: [ + { header: this.$t('mes.measureTimes'), key: 'measureTimes' }, + { header: this.$t('mes.stdev'), key: 'stdev' }, + { header: this.$t('mes.msa.maintain.average'), key: 'average' }, + { header: this.$t('mes.msa.maintain.averageBias'), key: 'averageBias' }, + { header: this.$t('mes.msa.maintain.standardError'), key: 'standardError' }, + { header: this.$t('mes.msa.maintain.confidence'), key: 'confidence' }, + { header: this.$t('mes.upperLimit'), key: 'confidenceUl' }, + { header: this.$t('mes.lowerLimit'), key: 'confidenceLl' }, + { header: this.$t('mes.judgment'), key: 'result' }, + ], + setup: { + repeatTitleRow: 1, + }, + obj: data, + }) + ) + bias.getCell('F4').value = this.$t('mes.upperLimit') + bias.getCell('F5').value = data.confidenceUl + bias.getCell('G4').value = this.$t('mes.lowerLimit') + bias.getCell('G5').value = data.confidenceLl + bias.getCell('H3').value = this.$t('mes.judgment') + bias.getCell('H5').value = !isBlank(data.result) + ? this.$t(`mes.msa.maintain.analyzes.biasResult.${data.result}`) + : '' + + setTitleStyle({ + ws: bias, + row: [1, 3, 4], + setup: { + mergeCells: [ + { from: 'A3', to: 'A4' }, + { from: 'B3', to: 'B4' }, + { from: 'C3', to: 'C4' }, + { from: 'D3', to: 'D4' }, + { from: 'E3', to: 'E4' }, + { from: 'F3', to: 'G3' }, + { from: 'H3', to: 'I4' }, + { from: 'H5', to: 'I5' }, + { from: 'A7', to: 'A9' }, + { from: 'B7', to: 'C7' }, + { from: 'B8', to: 'C8' }, + ], + }, + }) + + let cellStyle = { + alignment, + font, + fill: fill.ddd9c4, + border, + } + let A7 = bias.getCell('A7') + A7.value = this.$t('mes.measureTimes') + setCellStyle(A7, cellStyle) + let B7 = bias.getCell('B7') + B7.value = this.$t('mes.measureUser') + setCellStyle(B7, cellStyle) + let B8 = bias.getCell('B8') + let B9 = bias.getCell('B9') + B9.value = this.$t('mes.msa.maintain.value') + setCellStyle(B9, cellStyle) + let C9 = bias.getCell('C9') + C9.value = this.$t('mes.msa.maintain.Bias') + setCellStyle(C9, cellStyle) + + let peopleData = data.biasPeopleList + B8.value = peopleData[0].measureUser + + let tableData = data.biasDataList + bias.addRows( + tableData.map((el) => { + return [el.serial, el.value, el.bias] + }) + ) + + let start = 10 + tableData.length + for (let i = 10; i < start; i++) { + setCellStyle(bias.getRow(i).getCell(1), cellStyle) + } + setStyle(bias) +} + +/** + * GRR页签 + */ +function setGrrSheet(wb, obj) { + if (isBlank(obj.grr)) return + + let grr = wb.addWorksheet(this.$t('mes.msa.maintain.grr'), { + views: [{ showGridLines: false }], + properties: { defaultColWidth: 23 }, + }) + + let data = Object.assign({}, { ...obj.grr }) + if (!isBlank(data.grrResult)) { + data = Object.assign(data, { ...data.grrResult }) + } + + grr.addRows( + getRows({ + columns: [ + { header: this.$t('mes.inspectionItem'), key: 'qcItem' }, + { header: this.$t('mes.inspectionItemDescription'), key: 'qcItemDesc' }, + { header: this.$t('mes.materialNumber'), key: 'item' }, + { header: this.$t('mes.lsl'), key: 'lsl' }, + { header: this.$t('mes.usl'), key: 'usl' }, + { header: this.$t('mes.unit_of_measure'), key: 'unit' }, + { header: this.$t('mes.executor'), key: 'completeUser' }, + { + header: this.$t('mes.completionDate'), + key: 'completeDate', + format: (value) => { + return dateFormatCustom(new Date(value), 'yyyy/MM/dd') + }, + }, + ], + obj: data, + }) + ) + grr.addRows( + getRows({ + columns: [ + { header: this.$t('mes.measureTimes'), key: 'measureTimes' }, + { header: this.$t('mes.msa.maintain.numberPeople'), key: 'numberPeople' }, + { header: this.$t('mes.sampleNumber'), key: 'sampleSize' }, + { header: this.$t('mes.tv'), key: 'tv' }, + { header: this.$t('mes.ev'), key: 'ev' }, + { header: this.$t('mes.pv'), key: 'pv' }, + { header: this.$t('mes.msa.maintain.av'), key: 'av' }, + { header: this.$t('mes.rr'), key: 'rr' }, + ], + obj: data, + }) + ) + grr.addRows( + getRows({ + columns: [ + { + header: this.$t('mes.msa.maintain.ndc'), + key: 'resultNdc', + format: (value) => { + return this.$t(`mes.msa.maintain.analyzes.grrResult.ndc.${value}`) + }, + }, + { + header: this.$t('mes.judgment'), + key: 'resultRr', + format: (value) => { + return this.$t(`mes.msa.maintain.analyzes.grrResult.rr.${value}`) + }, + }, + ], + obj: data, + }) + ) + grr.getCell('A6').value = data.ndc + '' + grr.getCell('B6').value = '' + let grrResult = !isBlank(data.resultRr) + ? `1.${this.$t(`mes.msa.maintain.analyzes.grrResult.rr.${data.resultRr}`)}` + : '' + let ndcResult = !isBlank(data.resultNdc) + ? `2.${this.$t(`mes.msa.maintain.analyzes.grrResult.ndc.${data.resultNdc}`)}` + : '' + grr.getCell('B6').value = `${grrResult} \t\n ${ndcResult}` + grr.getRow(6).height = 40 + + grr.getCell('A8').value = this.$t('mes.msa.maintain.sample') + + let peopleData = data.grrPeople + let tableData = data.grrData + + let Row8 = 8 + let Row9 = 9 + let Row10 = 10 + let Row11 = 11 + let Row12 = 12 + let nextColumn = 1 + let mergeStartColumn = 1 + let mergeEndColumn + let maxTableRow = 0 + for (const user of Object.keys(tableData)) { + let serialObject = tableData[user] + let serialKeys = Object.keys(serialObject) + let times = serialKeys.length + + mergeStartColumn = mergeStartColumn + 1 + mergeEndColumn = mergeStartColumn + (times - 1) + grr.mergeCells(Row8, mergeStartColumn, Row8, mergeEndColumn) + grr.mergeCells(Row9, mergeStartColumn, Row9, mergeEndColumn) + grr.mergeCells(Row10, mergeStartColumn, Row10, mergeEndColumn) + + for (let i = 1; i <= times; i++) { + nextColumn = nextColumn + 1 + grr.getRow(Row8).getCell(nextColumn).value = this.$t('mes.measureUser') + grr.getRow(Row9).getCell(nextColumn).value = peopleData[user] + grr.getRow(Row10).getCell(nextColumn).value = this.$t('mes.measureTimes') + grr.getRow(Row11).getCell(nextColumn).value = i + grr.getRow(Row12).getCell(nextColumn).value = this.$t('mes.msa.maintain.value') + + let tableStartRow = Row12 + const serial = serialKeys[i - 1] + const table = serialObject[serial] + table.forEach((el) => { + tableStartRow = tableStartRow + 1 + grr.getRow(tableStartRow).getCell(1).value = el.sample + grr.getRow(tableStartRow).getCell(nextColumn).value = el.value + }) + maxTableRow = tableStartRow + } + mergeStartColumn = mergeEndColumn + } + setTitleStyle({ + ws: grr, + row: [1, 3, 5, 8, 10, 11, 12], + setup: { + mergeCells: [ + { from: 'B5', to: 'H5' }, + { from: 'B6', to: 'H6' }, + { from: 'A8', to: 'A12' }, + ], + }, + }) + for (let i = 12; i <= maxTableRow; i++) { + setCellStyle(grr.getRow(i).getCell(1), { + alignment, + font, + fill: fill.ddd9c4, + border, + }) + } + setStyle(grr) +} + +/** + * 稳定性页签 + */ +function setStabilitySheet(wb, obj) { + if (isBlank(obj.stability)) return + + let stability = wb.addWorksheet(this.$t('mes.msa.maintain.stability'), { + views: [{ showGridLines: false }], + properties: { defaultColWidth: 23 }, + }) + + let data = Object.assign({}, { ...obj.stability }) + + stability.addRows( + getRows({ + columns: [ + { header: this.$t('mes.inspectionItem'), key: 'qcItem' }, + { header: this.$t('mes.inspectionItemDescription'), key: 'qcItemDesc' }, + { header: this.$t('mes.materialNumber'), key: 'item' }, + { header: this.$t('mes.measureTimes'), key: 'measureTimes' }, + { header: this.$t('mes.msa.maintain.frequencyTimes'), key: 'frequencyTimes' }, + { header: this.$t('mes.unit_of_measure'), key: 'unit' }, + { header: this.$t('mes.executor'), key: 'completeUser' }, + { + header: this.$t('mes.completionDate'), + key: 'completeDate', + format: (value) => { + return dateFormatCustom(new Date(value), 'yyyy/MM/dd') + }, + }, + ], + obj: data, + }) + ) + stability.getCell('A3').value = this.$t('mes.msa.maintain.xbar') + stability.getCell('D3').value = this.$t('mes.msa.maintain.r') + stability.addRows( + getRows({ + columns: [ + { header: this.$t('mes.msa.maintain.xbarUcl'), key: 'xbarUcl' }, + { header: this.$t('mes.msa.maintain.xbarCl'), key: 'xbarCl' }, + { header: this.$t('mes.msa.maintain.xbarLcl'), key: 'xbarLcl' }, + { header: this.$t('mes.msa.maintain.rucl'), key: 'rucl' }, + { header: this.$t('mes.msa.maintain.rcl'), key: 'rcl' }, + { header: this.$t('mes.msa.maintain.rlcl'), key: 'rlcl' }, + ], + obj: data, + }) + ) + stability.getCell('A7').value = this.$t('mes.msa.maintain.sample') + + let tableData = data.stabilityData + + let Row7 = 7 + let Row8 = 8 + let Row9 = 9 + let Row10 = 10 + let Row11 = 11 + let nextColumn = 1 + let maxTableRow = 0 + for (const frequency of Object.keys(tableData)) { + let object = tableData[frequency] + + nextColumn = nextColumn + 1 + stability.getRow(Row7).getCell(nextColumn).value = this.$t('mes.measureUser') + stability.getRow(Row8).getCell(nextColumn).value = object['measureUser'] + stability.getRow(Row9).getCell(nextColumn).value = this.$t('mes.msa.maintain.measureDate') + stability.getRow(Row10).getCell(nextColumn).value = !isBlank(object['measureDate']) + ? dateFormatCustom(new Date(object['measureDate']), 'yyyy/MM/dd') + : '' + stability.getRow(Row11).getCell(nextColumn).value = this.$t('mes.msa.maintain.value') + + let seq = 1 + let tableStartRow = Row11 + object['stabilityData'].forEach((el) => { + tableStartRow = tableStartRow + 1 + stability.getRow(tableStartRow).getCell(1).value = seq++ + stability.getRow(tableStartRow).getCell(nextColumn).value = el.value + }) + + let XbarRow = tableStartRow + 1 + let RRow = tableStartRow + 2 + stability.getRow(XbarRow).getCell(1).value = this.$t('mes.msa.maintain.xbar') + stability.getRow(XbarRow).getCell(nextColumn).value = object['xbarValue'] + stability.getRow(RRow).getCell(1).value = this.$t('mes.msa.maintain.r') + stability.getRow(RRow).getCell(nextColumn).value = object['rvalue'] + + maxTableRow = tableStartRow + } + setTitleStyle({ + ws: stability, + row: [1, 3, 4, 7, 9, 11], + setup: { + mergeCells: [ + { from: 'A3', to: 'C3' }, + { from: 'D3', to: 'F3' }, + { from: 'A7', to: 'A11' }, + ], + }, + }) + for (let i = 11; i <= maxTableRow + 2; i++) { + setCellStyle(stability.getRow(i).getCell(1), { + alignment, + font, + fill: fill.ddd9c4, + border, + }) + } + setStyle(stability) +} + +/** + * KAPPA页签 + */ +function setKappaSheet(wb, obj) { + if (isBlank(obj.kappa)) return + + let kappa = wb.addWorksheet(this.$t('mes.msa.maintain.kappa'), { + views: [{ showGridLines: false }], + properties: { defaultColWidth: 23 }, + }) + + let data = Object.assign({}, { ...obj.kappa }) + + kappa.addRows( + getRows({ + columns: [ + { header: this.$t('mes.inspectionItem'), key: 'qcItem' }, + { header: this.$t('mes.inspectionItemDescription'), key: 'qcItemDesc' }, + { header: this.$t('mes.materialNumber'), key: 'item' }, + { header: this.$t('mes.msa.maintain.numberPeople'), key: 'numberPeople' }, + { header: this.$t('mes.measureTimes'), key: 'measureTimes' }, + { header: this.$t('mes.sampleNumber'), key: 'sampleSize' }, + { header: this.$t('mes.executor'), key: 'completeUser' }, + { + header: this.$t('mes.completionDate'), + key: 'completeDate', + format: (value) => { + return dateFormatCustom(new Date(value), 'yyyy/MM/dd') + }, + }, + ], + obj: data, + }) + ) + kappa.addRow([]) + kappa.addRows([ + [this.$t('mes.effectiveness')], + [this.$t('mes.agreementQty')], + [this.$t('mes.totalQty')], + [this.$t('mes.effectiveness')], + [this.$t('mes.judgment')], + ]) + kappa.addRow([]) + kappa.addRows([ + [this.$t('mes.agreement')], + [this.$t('mes.msa.maintain.kappa')], + [this.$t('mes.judgment')], + [this.$t('mes.msa.maintain.miss')], + [this.$t('mes.msa.maintain.miss')], + [this.$t('mes.msa.maintain.falseAlarm')], + [this.$t('mes.msa.maintain.falseAlarm')], + ]) + + let resultData = data.kappaResult + + let Row4 = 4 + let Row5 = 5 + let Row6 = 6 + let Row7 = 7 + let Row8 = 8 + let Row10 = 10 + let Row11 = 11 + let Row12 = 12 + let Row13 = 13 + let Row14 = 14 + let Row15 = 15 + let Row16 = 16 + let nextColumn = 1 + for (const [user, object] of Object.entries(resultData)) { + nextColumn = nextColumn + 1 + kappa.getRow(Row4).getCell(nextColumn).value = user + kappa.getRow(Row5).getCell(nextColumn).value = object['agreementQty'] + kappa.getRow(Row6).getCell(nextColumn).value = object['totalQty'] + kappa.getRow(Row7).getCell(nextColumn).value = Math.round(object['effectiveness']) + '%' + kappa.getRow(Row8).getCell(nextColumn).value = this.$t( + `mes.msa.maintain.analyzes.kappaResult.resultEffectiveness.${object['resultEffectiveness']}` + ) + kappa.getRow(Row10).getCell(nextColumn).value = user + kappa.getRow(Row11).getCell(nextColumn).value = Math.round(object['kappa']) + '%' + kappa.getRow(Row12).getCell(nextColumn).value = this.$t( + `mes.msa.maintain.analyzes.kappaResult.resultKappa.${object['resultKappa']}` + ) + kappa.getRow(Row13).getCell(nextColumn).value = Math.round(object['miss']) + '%' + kappa.getRow(Row14).getCell(nextColumn).value = this.$t( + `mes.msa.maintain.analyzes.kappaResult.resultMiss.${object['resultMiss']}` + ) + kappa.getRow(Row15).getCell(nextColumn).value = Math.round(object['falseAlarm']) + '%' + kappa.getRow(Row16).getCell(nextColumn).value = this.$t( + `mes.msa.maintain.analyzes.kappaResult.resultFalseAlarm.${object['resultFalseAlarm']}` + ) + } + + kappa.addRow([]) + kappa.addRows([ + [this.$t('mes.msa.maintain.reproducibility')], + [this.$t('mes.msa.maintain.kappa')], + [this.$t('mes.judgment')], + ]) + + let reproducibilityData = data.kappaReproducibilityList + if (!isBlank(reproducibilityData) && reproducibilityData.length > 0) { + let Row18 = 18 + let Row19 = 19 + let Row20 = 20 + nextColumn = 1 + reproducibilityData.forEach((el) => { + nextColumn = nextColumn + 1 + kappa.getRow(Row18).getCell(nextColumn).value = el['inspector'] + kappa.getRow(Row19).getCell(nextColumn).value = Math.round(el['kappa']) + '%' + kappa.getRow(Row20).getCell(nextColumn).value = this.$t( + `mes.msa.maintain.analyzes.kappaResult.resultKappa.${el['resultKappa']}` + ) + }) + } + + kappa.getCell('A22').value = this.$t('mes.msa.maintain.sample') + kappa.getCell('B22').value = this.$t('mes.stand') + + let standardData = {} + data.kappaStandardList.forEach((el) => { + standardData[el.sample] = el.standard + }) + + let peopleData = data.kappaPeople + let tableData = data.kappaData + + let Row22 = 22 + let Row23 = 23 + let Row24 = 24 + let Row25 = 25 + let mergeStartColumn = 2 + let mergeEndColumn + let maxTableRow = 0 + nextColumn = 2 + for (const user of Object.keys(tableData)) { + let serialObject = tableData[user] + let serialKeys = Object.keys(serialObject) + let times = serialKeys.length + + mergeStartColumn = mergeStartColumn + 1 + mergeEndColumn = mergeStartColumn + (times - 1) + kappa.mergeCells(Row22, mergeStartColumn, Row22, mergeEndColumn) + kappa.mergeCells(Row23, mergeStartColumn, Row23, mergeEndColumn) + kappa.mergeCells(Row24, mergeStartColumn, Row24, mergeEndColumn) + + for (let i = 1; i <= times; i++) { + nextColumn = nextColumn + 1 + kappa.getRow(Row22).getCell(nextColumn).value = this.$t('mes.measureUser') + kappa.getRow(Row23).getCell(nextColumn).value = peopleData[user] + kappa.getRow(Row24).getCell(nextColumn).value = this.$t('mes.measureTimes') + kappa.getRow(Row25).getCell(nextColumn).value = i + + let tableStartRow = Row25 + const serial = serialKeys[i - 1] + const table = serialObject[serial] + table.forEach((el) => { + tableStartRow = tableStartRow + 1 + kappa.getRow(tableStartRow).getCell(1).value = el.sample + kappa.getRow(tableStartRow).getCell(2).value = standardData[el.sample] + kappa.getRow(tableStartRow).getCell(nextColumn).value = el.value + }) + maxTableRow = tableStartRow + } + mergeStartColumn = mergeEndColumn + } + + setTitleStyle({ + ws: kappa, + row: [1, 4, 10, 18, 22, 24, 25], + setup: { + mergeCells: [ + { from: 'A22', to: 'A25' }, + { from: 'B22', to: 'B25' }, + ], + }, + }) + setTitleStyle({ + ws: kappa, + row: [5, 7, 11, 13, 15, 19], + setup: { + fill: fill.deeaf6, + mergeCells: [ + { from: 'A13', to: 'A14' }, + { from: 'A15', to: 'A16' }, + ], + }, + }) + + let style = { + alignment, + font, + fill: fill.ddd9c4, + border, + } + for (let i = 26; i <= maxTableRow; i++) { + setCellStyle(kappa.getRow(i).getCell(1), style) + setCellStyle(kappa.getRow(i).getCell(2), style) + } + setStyle(kappa) +} + +function getRows({ columns, setup, obj }) { + let title = [] + let values = [] + columns.forEach((column) => { + title.push(column.header) + let value = isBlank(obj[column.key]) ? '' : obj[column.key] + if (!isBlank(column.format) && !isBlank(value)) { + value = column.format(value) + } + values.push(value) + }) + + let titles = [title] + if (!isBlank(setup)) { + if (!isBlank(setup.repeatTitleRow)) { + for (let i = 0; i < Number(setup.repeatTitleRow); i++) { + titles.push(title) + } + } + } + return [...titles, values] +} + +function setTitleStyle({ ws, row, setup = {} }) { + let background = fill.ddd9c4 + if (!isBlank(setup.fill)) { + background = setup.fill + } + + if (!isBlank(row) && row.length > 0) { + row.forEach((index) => { + ws.getRow(index).eachCell({ includeEmpty: true }, function (cell) { + cell.border = border + cell.alignment = alignment + cell.fill = background + cell.font = font + }) + }) + } + + if (!isBlank(setup)) { + if (!isBlank(setup.mergeCells)) { + setup.mergeCells.forEach((merge) => { + ws.mergeCells(merge.from, merge.to) + }) + } + } +} + +function setStyle(ws) { + ws.eachRow({ includeEmpty: true }, function (row) { + row.eachCell({ includeEmpty: true }, function (cell) { + setCellStyle(cell, { + border, + alignment, + font, + }) + }) + }) +} + +function setCellStyle(cell, { border, alignment, fill, font }) { + if (!isBlank(border)) { + cell.border = border + } + if (!isBlank(alignment)) { + cell.alignment = alignment + } + if (!isBlank(fill)) { + cell.fill = fill + } + if (!isBlank(font)) { + cell.font = font + } +} diff --git a/src/views/mes/msa/maintain/index.vue b/src/views/mes/msa/maintain/index.vue new file mode 100644 index 0000000..6fd5ab0 --- /dev/null +++ b/src/views/mes/msa/maintain/index.vue @@ -0,0 +1,578 @@ + + diff --git a/src/views/mes/msa/maintain/init.js b/src/views/mes/msa/maintain/init.js new file mode 100644 index 0000000..fb04bd6 --- /dev/null +++ b/src/views/mes/msa/maintain/init.js @@ -0,0 +1,340 @@ +import { isBlank } from '@/util/string' +import { dateFormatCustom } from '@/util/date' +import { copyJSON } from '@/util/util' + +export const initSearch = { + taskNo: '', + resource: '', + states: [], + from: '', + to: '', +} + +export const initBias = { + item: '', + qcItem: '', + controlMode: '', + lsl: '', + usl: '', + confidenceLevel: '95', + measureTimes: '', + referenceValue: '', + unit: '', + memo: '', +} + +export const initGrr = { + item: '', + qcItem: '', + controlMode: '', + lsl: '', + usl: '', + sampleSize: '', + measureTimes: '', + numberPeople: '', + unit: '', + memo: '', +} + +export const initStability = { + item: '', + qcItem: '', + controlMode: '', + xbarLcl: '', + xbarCl: '', + xbarUcl: '', + rlcl: '', + rcl: '', + rucl: '', + measureTimes: '', + frequencyTimes: '', + unit: '', + memo: '', +} + +export const initKappa = { + item: '', + qcItem: '', + sampleSize: '', + measureTimes: '', + numberPeople: '', + memo: '', + kappaStandardList: [], +} + +export const initForm = { + taskNo: '', + resourceBo: '', + resource: '', + resourceDesc: '', + description: '', + dateCreate: '', + state: '1', + analyze: { + bias: 0, + grr: 0, + stability: 0, + kappa: 0, + }, + analyzeItem: '{"bias":0,"grr":0,"stability":0,"kappa":0}', + bias: copyJSON(initBias), + grr: copyJSON(initGrr), + stability: copyJSON(initStability), + kappa: copyJSON(initKappa), + kappaStandard: [], +} + +export const taskTag = { + '-1': 'danger', + 1: 'success', + 2: 'success', + 3: '', +} + +export const analyzeTag = { + '-1': 'danger', + 1: 'success', + 2: 'success', + 3: '', +} + +export const biasResultColor = { + 1: 'primary', + 2: 'danger', + 3: 'primary', + 4: 'danger', + 5: 'primary', + 6: 'danger', +} + +export const object = { + task: { + state: { + '-1': 'mes.invalidate', + 1: 'mes.createNew', + 2: 'mes.inOperation', + 3: 'mes.finished', + }, + }, + analyze: { + state: { + '-1': 'mes.invalidate', + 1: 'mes.createNew', + 2: 'mes.inOperation', + 3: 'mes.finished', + }, + biasResult: { + 1: 'mes.mas.maintain.analyzes.biasResult.1', + 2: 'mes.mas.maintain.analyzes.biasResult.2', + 3: 'mes.mas.maintain.analyzes.biasResult.3', + 4: 'mes.mas.maintain.analyzes.biasResult.4', + 5: 'mes.mas.maintain.analyzes.biasResult.5', + 6: 'mes.mas.maintain.analyzes.biasResult.6', + }, + }, + taskStateFormatter: (row, column, value, index) => { + if (!isBlank(value)) { + return object.task.state[value] + } + return value + }, + analyzeStateFormatter: (row, column, value, index) => { + if (!isBlank(value)) { + return object.analyze.state[value] + } + return value + }, + dateFormatter: (row, column, value, index) => { + if (!isBlank(value)) { + return dateFormatCustom(new Date(value), 'yyyy/MM/dd hh:mm') + } + return value + }, +} + +export const masterColumn = [ + { prop: 'taskNo', label: 'mes.taskOrderNumber', width: '260', fixed: 'left' }, + { prop: 'resource', label: 'mes.resource', width: '280', fixed: 'left' }, + { prop: 'resourceDesc', label: 'mes.resourceDesc', width: '300' }, + { prop: 'description', label: 'mes.msa.maintain.description', width: '320' }, + // { prop: 'state', label: 'crud.column.label.status1', width: '100', format: object.taskStateFormatter }, + // { prop: 'dateCreate', label: 'mes.documentStartDate', width: '180', format: object.dateFormatter }, +] + +export const detailColumn = [ + { prop: 'analyze', label: 'mes.msa.maintain.analyze', width: '150', fixed: 'left' }, + { prop: 'qcItem', label: 'mes.inspectionItem', width: '240', fixed: 'left' }, + { prop: 'qcItemDesc', label: 'mes.inspectionItemDescription', width: '250' }, + { prop: 'item', label: 'mes.materialNumber', width: '250' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc', width: '280' }, + { prop: 'completeUser', label: 'mes.executor', width: '150' }, + // { prop: 'completeDate', label: 'mes.completionDate', width: '180', format: object.dateFormatter }, + // { prop: 'state', label: 'crud.column.label.status1', width: '100', format: object.analyzeStateFormatter }, +] + +export const resrceDialogObj = { + title: `mes.equipmentNumber`, + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: `mes.resource`, + }, + { + prop: 'description', + label: `mes.resourceDesc`, + }, + { + prop: 'eqpType', + label: `mes.eqpType`, + }, + { + prop: 'eqpTypeDesc', + label: `mes.categoryDescription`, + }, + ], + queryParam: { kind: '2' }, +} + +export const itemDialogObj = { + condition: 'item', + tableColumn: [ + { + prop: 'item', + label: 'mes.materialNumber', + }, + { + prop: 'description', + label: 'mes.materialBatchDesc', + }, + ], + queryParam: {}, +} + +export const qcItemDialogObj = { + condition: 'qcItem', + tableColumn: [ + { + prop: 'qcItem', + label: 'mes.inspectionItem', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'controlModeDesc', + label: 'mes.specificationControl', + }, + ], + queryParam: { + inspecType: '2', + status: '0', + }, +} + +export const qcItemDialogObjForKappa = { + condition: 'qcItem', + tableColumn: [ + { + prop: 'qcItem', + label: 'mes.inspectionItem', + }, + { + prop: 'description', + label: 'common.description', + }, + ], + queryParam: { + inspecType: '2', + status: '0', + }, +} + +export const taskNoDialogObj = { + condition: 'taskNo', + tableColumn: [ + { + prop: 'taskNo', + label: 'mes.taskOrderNumber', + }, + { + prop: 'description', + label: 'mes.msa.maintain.description', + }, + { + prop: 'state', + label: 'crud.column.label.status1', + }, + ], + queryParam: {}, +} + +export const resourceDialogObj = { + condition: 'resource', + tableColumn: [ + { + prop: 'resource', + label: 'mes.resource', + }, + { + prop: 'resourceDesc', + label: 'mes.resourceDesc', + }, + ], + queryParam: {}, +} + +export const userDialogObj = { + title: 'mes.measureUser', // 量测人员 + condition: 'username', + tableColumn: [ + { + prop: 'username', + label: 'mes.userNo', // 用户编号 + }, + { + prop: 'name', + label: 'mes.full_name', // 姓名 + }, + ], + queryParam: { + delFlag: 0, + }, +} + +export const masterButtons = [ + { + type: 'warning', + icon: 'el-icon-view', + key: 'view', + }, + { + type: 'primary', + icon: 'el-icon-edit', + key: 'edit', + }, + { + type: 'success', + icon: 'el-icon-check', + key: 'confirm', + }, + { + type: 'primary', + icon: 'el-icon-download', + key: 'export', + }, + { + type: 'danger', + icon: 'el-icon-delete', + key: 'remove', + }, +] + +export const disable = (state) => { + return state == 'view' +} + +export const controlModeDisable = (disabled, state) => { + return disabled || disable(state) +} diff --git a/src/views/mes/oee/eqp-status-basis/index.vue b/src/views/mes/oee/eqp-status-basis/index.vue new file mode 100644 index 0000000..d7d2a95 --- /dev/null +++ b/src/views/mes/oee/eqp-status-basis/index.vue @@ -0,0 +1,699 @@ + + + + diff --git a/src/views/mes/oee/eqp-status-change/index.vue b/src/views/mes/oee/eqp-status-change/index.vue new file mode 100644 index 0000000..20a2984 --- /dev/null +++ b/src/views/mes/oee/eqp-status-change/index.vue @@ -0,0 +1,566 @@ + + + diff --git a/src/views/mes/oee/eqp-status-change/init.js b/src/views/mes/oee/eqp-status-change/init.js new file mode 100644 index 0000000..f8fe95e --- /dev/null +++ b/src/views/mes/oee/eqp-status-change/init.js @@ -0,0 +1,100 @@ +export const initForm = { + workCenter: '', + typeNo: '', + resrce: '', + operation: '', +} + +export const page = { + currentPage: 1, + pageSizes: [8, 16, 24, 40, 80], + pageSize: 24, + total: 0, +} + +export const workCenterDialogObj = { + title: 'mes.workCenter', + condition: 'workCenter', + tableColumn: [ + { + prop: 'workCenter', + label: 'mes.workCenter', + }, + { + prop: 'description', + label: 'mes.desc', + }, + ], +} + +export const resrceDialogObj = { + title: 'mes.equipment', + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'mes.desc', + }, + { + prop: 'eqpType', + label: 'mes.equipmentCategory', + }, + ], +} + +export const eqpTypeDialogObj = { + title: 'mes.equipmentCategory', + condition: 'typeNo', + tableColumn: [ + { + prop: 'eqpCategory', + label: 'mes.resrceCategory', + }, + { + prop: 'typeNo', + label: 'mes.equipmentCategory', + }, + { + prop: 'description', + label: 'mes.desc', + }, + ], +} + +export const operationDialogObj = { + title: 'mes.process', + condition: 'operation', + tableColumn: [ + { + prop: 'operation', + label: 'mes.process', + }, + { + prop: 'description', + label: 'mes.desc', + }, + { + prop: 'segmentBasisBo', + label: 'mes.segment', + }, + ], +} + +export const reasonCodeDialogObj = { + title: 'mes.reasonCode', + condition: 'reasonCode', + tableColumn: [ + { + prop: 'reasonCode', + label: 'mes.reasonCode', + }, + { + prop: 'description', + label: 'mes.desc', + }, + ], +} diff --git a/src/views/mes/oee/eqp-status-unconvertible/index.vue b/src/views/mes/oee/eqp-status-unconvertible/index.vue new file mode 100644 index 0000000..10e988a --- /dev/null +++ b/src/views/mes/oee/eqp-status-unconvertible/index.vue @@ -0,0 +1,190 @@ + + + diff --git a/src/views/mes/ord/shop-order-release/index.vue b/src/views/mes/ord/shop-order-release/index.vue new file mode 100644 index 0000000..4c12b63 --- /dev/null +++ b/src/views/mes/ord/shop-order-release/index.vue @@ -0,0 +1,621 @@ + + diff --git a/src/views/mes/ord/shop-order-release/init.js b/src/views/mes/ord/shop-order-release/init.js new file mode 100644 index 0000000..30d7be3 --- /dev/null +++ b/src/views/mes/ord/shop-order-release/init.js @@ -0,0 +1,56 @@ +export const hotLotList = [ + { + value: 'Y', + label: 'mes.yes', + }, + { + value: 'N', + label: 'mes.no', + }, +] + +export const shopOrderDialogObj = { + title: 'mes.work_order', + condition: 'shopOrder', + tableColumn: [ + { + prop: 'shopOrder', + label: 'mes.shopOrderNo', + }, + { + prop: 'shopOrderType', + label: 'mes.shopOrderType', + }, + { + prop: 'status', + label: 'mes.ord.status', + }, + { + prop: 'qty', + label: 'mes.qtyToBuild', + }, + ], + queryParam: {}, +} + +export const routerDialogObj = { + title: 'mes.prdRouter', + condition: 'router', + tableColumn: [ + { prop: 'router', label: 'mes.ord.productionRoute', width: '200' }, + { prop: 'revision', label: 'mes.revision' }, + { prop: 'currentRevision', label: 'mes.currentRevision' }, + { prop: 'description', label: 'mes.description' }, + ], + queryParam: {}, +} + +export const invDialogObj = { + title: 'mes.lineSideWarehouse', + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.lineSideWarehouse' }, + { prop: 'description', label: 'mes.description' }, + ], + queryParam: {}, +} diff --git a/src/views/mes/ord/shop-order-reprint/index.vue b/src/views/mes/ord/shop-order-reprint/index.vue new file mode 100644 index 0000000..5e14769 --- /dev/null +++ b/src/views/mes/ord/shop-order-reprint/index.vue @@ -0,0 +1,379 @@ + + + + + diff --git a/src/views/mes/ord/shop-order/index.vue b/src/views/mes/ord/shop-order/index.vue new file mode 100644 index 0000000..ada61cf --- /dev/null +++ b/src/views/mes/ord/shop-order/index.vue @@ -0,0 +1,2033 @@ + + + diff --git a/src/views/mes/ord/shop-order/init.js b/src/views/mes/ord/shop-order/init.js new file mode 100644 index 0000000..a52e523 --- /dev/null +++ b/src/views/mes/ord/shop-order/init.js @@ -0,0 +1,268 @@ +export const shopOrderStatusList = [ + { + value: 'RELEASABLE', + label: 'mes.ord.releasable', + }, + { + value: 'HOLD', + label: 'mes.hold', + }, + { + value: 'CLOSED', + label: 'mes.closed', + }, +] + +export const lotStatusList = [ + { + value: 'Q', + label: 'mes.inQueue', // 排队中 + }, + { + value: 'R', + label: 'mes.inProcess', // 测试中 + }, + { + value: 'C', + label: 'mes.finished', // 完成 + }, + { + value: 'H', + label: 'mes.hold', // 保留 + }, + { + value: 'I', + label: 'mes.splitInvalid', // 失效(分批) + }, + { + value: 'S', + label: 'mes.void', // 报废 + }, +] + +/** + * 下达数据 + */ +export const releaseOption = { + align: 'center', + index: true, + border: true, + gutter: 0, + menuWidth: '180', + menuPosition: 'center', + column: [ + { + prop: 'shopOrder', + type: 'input', + label: 'mes.shopOrderNo', + disabled: true, + }, + { + prop: 'shopOrderType', + type: 'select', + label: 'mes.shopOrderType', + disabled: true, + }, + { + prop: 'status', + type: 'select', + label: 'mes.status', + disabled: true, + }, + { + prop: 'priority', + type: 'number', + label: 'mes.priorityOrder', + rules: [ + { + message: 'mes.ord.priorityRequired', + required: true, + }, + ], + display: true, + required: true, + value: 9999, + controlsPosition: 'right', + }, + { + prop: 'plannedWorkCenter', + label: 'mes.ord.planWorkCenter', + rules: [], + formslot: true, + }, + { + prop: 'plannedItem', + label: 'mes.ord.planItem', + span: 10, + formslot: true, + required: true, + rules: [ + { + message: 'mes.ord.rulePlanItem', + required: true, + }, + ], + }, + { + prop: 'plannedItemRevision', + type: 'input', + display: true, + labelWidth: 0, + span: 2, + placeholder: 'mes.revision', + clearable: false, + hide: 'true', + }, + { + prop: 'plannedBom', + label: 'mes.ord.planItemList', + span: 10, + formslot: true, + }, + { + prop: 'plannedBomRevision', + type: 'input', + display: true, + labelWidth: 0, + span: 2, + placeholder: 'mes.revision', + clearable: false, + hide: 'true', + }, + { + prop: 'plannedRouter', + label: 'mes.ord.planProductionRoute', + span: 10, + formslot: true, + }, + { + prop: 'plannedRouterRevision', + type: 'input', + display: true, + labelWidth: 0, + span: 2, + placeholder: 'mes.revision', + clearable: false, + hide: 'true', + }, + { + prop: 'qty', + type: 'number', + label: 'mes.ord.prdAmount', + disabled: true, + }, + { + prop: 'releasableQty', + type: 'input', + label: 'mes.ord.releasableAmount', + display: true, + disabled: true, + }, + { + prop: 'releaseQty', + type: 'number', + label: 'mes.ord.pendingReleaseAmount', + required: true, + rules: [ + { + message: 'mes.ord.pendingReleaseAmount', + required: true, + }, + ], + display: true, + }, + { + prop: 'plannedStartDate', + type: 'datetime', + label: 'mes.planStartDate', + width: '160', + format: 'yyyy-MM-dd HH:mm:ss', + display: true, + valueFormat: 'yyyy-MM-dd HH:mm:ss', + disabled: true, + }, + { + prop: 'plannedCompDate', + type: 'datetime', + label: 'mes.ord.planComDate', + width: '200', + format: 'yyyy-MM-dd HH:mm:ss', + display: true, + valueFormat: 'yyyy-MM-dd HH:mm:ss', + disabled: true, + }, + ], + stripe: true, + menuBtn: true, + menuAlign: 'center', + submitBtn: true, + emptyBtn: false, + indexLabel: 'el.table.index', + labelWidth: 100, + submitSize: 'medium', + menuPostion: 'center', + searchMenuSpan: 6, +} + +/** + * 下达之后回显数据 + */ +export const releasedOption = { + align: 'center', + index: true, + border: true, + gutter: 0, + menuWidth: '180', + menuPosition: 'center', + column: [ + { + prop: 'shopOrder', + type: 'input', + label: 'mes.work_order', + disabled: true, + span: 24, + }, + { + prop: 'qty', + type: 'input', + label: 'mes.quantity', + disabled: true, + span: 24, + }, + { + prop: 'sfcs', + type: 'input', + label: 'mes.ord.firstLastBatch', + disabled: true, + span: 24, + }, + { + prop: 'item', + type: 'input', + label: 'mes.item', + disabled: true, + span: 24, + }, + { + prop: 'router', + type: 'input', + label: 'mes.ord.productionRoute', + disabled: true, + span: 24, + }, + { + prop: 'operation', + type: 'input', + label: 'crud.menu', + disabled: true, + span: 24, + }, + ], + stripe: true, + menuBtn: false, + menuAlign: 'center', + labelWidth: 150, + submitSize: 'medium', + menuPostion: 'center', + searchMenuSpan: 6, +} diff --git a/src/views/mes/pms/eqp/eqp-group/index.vue b/src/views/mes/pms/eqp/eqp-group/index.vue new file mode 100644 index 0000000..39d2ba9 --- /dev/null +++ b/src/views/mes/pms/eqp/eqp-group/index.vue @@ -0,0 +1,603 @@ + + + diff --git a/src/views/mes/pms/eqp/eqp-group/tab/bom.vue b/src/views/mes/pms/eqp/eqp-group/tab/bom.vue new file mode 100644 index 0000000..ff2f023 --- /dev/null +++ b/src/views/mes/pms/eqp/eqp-group/tab/bom.vue @@ -0,0 +1,119 @@ + + + diff --git a/src/views/mes/pms/eqp/eqp-group/tab/broken.vue b/src/views/mes/pms/eqp/eqp-group/tab/broken.vue new file mode 100644 index 0000000..ce27f93 --- /dev/null +++ b/src/views/mes/pms/eqp/eqp-group/tab/broken.vue @@ -0,0 +1,321 @@ + + + diff --git a/src/views/mes/pms/eqp/eqp-group/tab/check.vue b/src/views/mes/pms/eqp/eqp-group/tab/check.vue new file mode 100644 index 0000000..9b2ce81 --- /dev/null +++ b/src/views/mes/pms/eqp/eqp-group/tab/check.vue @@ -0,0 +1,318 @@ + + + diff --git a/src/views/mes/pms/eqp/eqp-group/tab/list.vue b/src/views/mes/pms/eqp/eqp-group/tab/list.vue new file mode 100644 index 0000000..e15d6b4 --- /dev/null +++ b/src/views/mes/pms/eqp/eqp-group/tab/list.vue @@ -0,0 +1,322 @@ + + + diff --git a/src/views/mes/pms/eqp/eqp-group/tab/ma-item.vue b/src/views/mes/pms/eqp/eqp-group/tab/ma-item.vue new file mode 100644 index 0000000..70835d7 --- /dev/null +++ b/src/views/mes/pms/eqp/eqp-group/tab/ma-item.vue @@ -0,0 +1,518 @@ + + + diff --git a/src/views/mes/pms/eqp/eqp-group/tab/struct.vue b/src/views/mes/pms/eqp/eqp-group/tab/struct.vue new file mode 100644 index 0000000..6874876 --- /dev/null +++ b/src/views/mes/pms/eqp/eqp-group/tab/struct.vue @@ -0,0 +1,130 @@ + + + diff --git a/src/views/mes/pms/eqp/equip/attachment.vue b/src/views/mes/pms/eqp/equip/attachment.vue new file mode 100644 index 0000000..f66d905 --- /dev/null +++ b/src/views/mes/pms/eqp/equip/attachment.vue @@ -0,0 +1,285 @@ + + + diff --git a/src/views/mes/pms/eqp/equip/index.vue b/src/views/mes/pms/eqp/equip/index.vue new file mode 100644 index 0000000..7618439 --- /dev/null +++ b/src/views/mes/pms/eqp/equip/index.vue @@ -0,0 +1,666 @@ + + + diff --git a/src/views/mes/pms/insp/insp-order/content/custom-form.vue b/src/views/mes/pms/insp/insp-order/content/custom-form.vue new file mode 100644 index 0000000..65424fb --- /dev/null +++ b/src/views/mes/pms/insp/insp-order/content/custom-form.vue @@ -0,0 +1,185 @@ + + + diff --git a/src/views/mes/pms/insp/insp-order/content/equipment-list.vue b/src/views/mes/pms/insp/insp-order/content/equipment-list.vue new file mode 100644 index 0000000..fc28e03 --- /dev/null +++ b/src/views/mes/pms/insp/insp-order/content/equipment-list.vue @@ -0,0 +1,199 @@ + + diff --git a/src/views/mes/pms/insp/insp-order/content/head-form.vue b/src/views/mes/pms/insp/insp-order/content/head-form.vue new file mode 100644 index 0000000..406adeb --- /dev/null +++ b/src/views/mes/pms/insp/insp-order/content/head-form.vue @@ -0,0 +1,39 @@ + + + \ No newline at end of file diff --git a/src/views/mes/pms/insp/insp-order/content/member-log.vue b/src/views/mes/pms/insp/insp-order/content/member-log.vue new file mode 100644 index 0000000..01ccd6a --- /dev/null +++ b/src/views/mes/pms/insp/insp-order/content/member-log.vue @@ -0,0 +1,187 @@ + + + diff --git a/src/views/mes/pms/insp/insp-order/content/member.vue b/src/views/mes/pms/insp/insp-order/content/member.vue new file mode 100644 index 0000000..a72750b --- /dev/null +++ b/src/views/mes/pms/insp/insp-order/content/member.vue @@ -0,0 +1,97 @@ + + + diff --git a/src/views/mes/pms/insp/insp-order/content/order.vue b/src/views/mes/pms/insp/insp-order/content/order.vue new file mode 100644 index 0000000..77b59da --- /dev/null +++ b/src/views/mes/pms/insp/insp-order/content/order.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/views/mes/pms/insp/insp-order/index.vue b/src/views/mes/pms/insp/insp-order/index.vue new file mode 100644 index 0000000..031c240 --- /dev/null +++ b/src/views/mes/pms/insp/insp-order/index.vue @@ -0,0 +1,694 @@ + + + + diff --git a/src/views/mes/pms/insp/insp-order/init.js b/src/views/mes/pms/insp/insp-order/init.js new file mode 100644 index 0000000..02a3412 --- /dev/null +++ b/src/views/mes/pms/insp/insp-order/init.js @@ -0,0 +1,71 @@ +export const searchForm = { + orderName: '', + equipId: '', + equipName: '', + startFrom: '', + startTo: '', + endFrom: '', + endTo: '', + stateName: '', +} + +export const eqpDialogObj = { + condition: 'equipName', + title: 'mes.equipmentNumber', + tableColumn: [ + { prop: 'equipName', label: 'mes.equipmentNumber' }, + { prop: 'equipDescription', label: 'mes.desc' }, + { prop: 'equipGroupId', label: 'mes.pms.resrceGroup' }, + { prop: 'equipGroupName', label: 'mes.pms.resrceGroupName' }, + ], + queryParam: { current: 1, size: 15, withGroup: true }, +} + +export const searchKeys = ['orderName', 'equipName', 'startFrom', 'startTo', 'endFrom', 'endTo', 'stateName'] + +export const userDialogObj = { + title: 'mes.pms.user', + condition: 'id', + tableColumn: [ + { prop: 'id', label: 'mes.programNo' }, + { prop: 'fullName', label: 'mes.pms.userName' }, + ], + queryParam: {}, +} + +export const state = { + cancel: 'mes.cancel', + abort: 'mes.invalidate', + wait: 'mes.pms.waitProcess', + running: 'mes.pms.inProcess', + close: 'mes.finished', + review: 'mes.pms.compWaitConfirm', + state: [ + { + label: 'mes.pms.waitProcess', + value: 'wait', + }, + { + label: 'mes.pms.inProcess', + value: 'running', + }, + { + label: 'mes.finished', + value: 'close', + }, + { + label: 'mes.cancel', + value: 'cancel', + }, + { + label: 'mes.invalidate', + value: 'abort', + }, + ], +} + +export const access = { + WRITE: 'mes.pms.allUser', + SELF: 'mes.pms.workGroup', + DENY: 'mes.pms.indicatedGroup', +} diff --git a/src/views/mes/pms/insp/insp-schedule/content/equipment-list.vue b/src/views/mes/pms/insp/insp-schedule/content/equipment-list.vue new file mode 100644 index 0000000..8f324e8 --- /dev/null +++ b/src/views/mes/pms/insp/insp-schedule/content/equipment-list.vue @@ -0,0 +1,62 @@ + + diff --git a/src/views/mes/pms/insp/insp-schedule/content/equipment.vue b/src/views/mes/pms/insp/insp-schedule/content/equipment.vue new file mode 100644 index 0000000..afe7812 --- /dev/null +++ b/src/views/mes/pms/insp/insp-schedule/content/equipment.vue @@ -0,0 +1,343 @@ + + diff --git a/src/views/mes/pms/insp/insp-schedule/content/executing.vue b/src/views/mes/pms/insp/insp-schedule/content/executing.vue new file mode 100644 index 0000000..bc816ab --- /dev/null +++ b/src/views/mes/pms/insp/insp-schedule/content/executing.vue @@ -0,0 +1,215 @@ + + + diff --git a/src/views/mes/pms/insp/insp-schedule/content/freq.vue b/src/views/mes/pms/insp/insp-schedule/content/freq.vue new file mode 100644 index 0000000..86f97ef --- /dev/null +++ b/src/views/mes/pms/insp/insp-schedule/content/freq.vue @@ -0,0 +1,515 @@ + + + diff --git a/src/views/mes/pms/insp/insp-schedule/content/items.vue b/src/views/mes/pms/insp/insp-schedule/content/items.vue new file mode 100644 index 0000000..11a53d6 --- /dev/null +++ b/src/views/mes/pms/insp/insp-schedule/content/items.vue @@ -0,0 +1,125 @@ + + diff --git a/src/views/mes/pms/insp/insp-schedule/content/main-basis.vue b/src/views/mes/pms/insp/insp-schedule/content/main-basis.vue new file mode 100644 index 0000000..6e83902 --- /dev/null +++ b/src/views/mes/pms/insp/insp-schedule/content/main-basis.vue @@ -0,0 +1,561 @@ + + diff --git a/src/views/mes/pms/insp/insp-schedule/index.vue b/src/views/mes/pms/insp/insp-schedule/index.vue new file mode 100644 index 0000000..6071327 --- /dev/null +++ b/src/views/mes/pms/insp/insp-schedule/index.vue @@ -0,0 +1,680 @@ + + + diff --git a/src/views/mes/pms/insp/insp-schedule/init.js b/src/views/mes/pms/insp/insp-schedule/init.js new file mode 100644 index 0000000..998b359 --- /dev/null +++ b/src/views/mes/pms/insp/insp-schedule/init.js @@ -0,0 +1,41 @@ +const pms = 'pms' +export const initSearchForm = { schName: '' } + +export const initMain = { + schName: '', + revision: 1, + inspCategoryId: '', + schDescription: '', + runBeginTime: '', + equipGroupId: '', + runEndTime: '', + freqType: 'period', + freqUnit: '', + planType: 1, + tolBefore: 1, + tolAfter: 1, + freq: '', + inspWorkGroupId: '', + workHours: 4, + actionType: 'insp', +} + +export const select = { + states: [ + { id: 'on', name: 'On' }, + { id: 'off', name: 'Off' }, + ], + valueTypes: [ + { id: 'N', name: 'mes.number' }, + { id: 'T', name: 'mes.pms.text' }, + ], +} + +export const eqpDialogObj = { + condition: 'equipName', + tableColumn: [ + { prop: 'equipName', label: 'mes.equipmentNumber' }, + { prop: 'equipDescription', label: 'mes.desc' }, + ], + queryParam: { current: 1, size: 15, withGroup: true }, +} diff --git a/src/views/mes/pms/ma/order-confirm/dialog/items.vue b/src/views/mes/pms/ma/order-confirm/dialog/items.vue new file mode 100644 index 0000000..a11ef7c --- /dev/null +++ b/src/views/mes/pms/ma/order-confirm/dialog/items.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/views/mes/pms/ma/order-confirm/dialog/main.vue b/src/views/mes/pms/ma/order-confirm/dialog/main.vue new file mode 100644 index 0000000..d2a6f4c --- /dev/null +++ b/src/views/mes/pms/ma/order-confirm/dialog/main.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/views/mes/pms/ma/order-confirm/dialog/search-ui.vue b/src/views/mes/pms/ma/order-confirm/dialog/search-ui.vue new file mode 100644 index 0000000..a8bad6d --- /dev/null +++ b/src/views/mes/pms/ma/order-confirm/dialog/search-ui.vue @@ -0,0 +1,141 @@ + + + diff --git a/src/views/mes/pms/ma/order-confirm/index.vue b/src/views/mes/pms/ma/order-confirm/index.vue new file mode 100644 index 0000000..e42bca6 --- /dev/null +++ b/src/views/mes/pms/ma/order-confirm/index.vue @@ -0,0 +1,387 @@ + + + diff --git a/src/views/mes/pms/ma/order-confirm/init.js b/src/views/mes/pms/ma/order-confirm/init.js new file mode 100644 index 0000000..4bbc641 --- /dev/null +++ b/src/views/mes/pms/ma/order-confirm/init.js @@ -0,0 +1,85 @@ +export const init = { + sortItems: [ + { + maScheduleItemId: '1', + tableData: [ + { + equipName: '123', + equipDescription: '456', + maResult: 'OK', + }, + { + equipName: '123', + equipDescription: '456', + }, + { + equipName: '123', + equipDescription: '456', + }, + ], + }, + { + maScheduleItemId: '2', + tableData: [ + { + equipName: '789', + equipDescription: '000', + }, + { + equipName: '789', + equipDescription: '000', + }, + { + equipName: '789', + equipDescription: '000', + }, + ], + }, + ], +} +export const tableObj = [ + { prop: 'schName', label: 'mes.pms.maintenancePlanName', width: '200' }, + { prop: 'schDescription', label: 'mes.desc', width: '300' }, + { prop: 'equipName', label: 'mes.equipmentNumber', width: '200' }, + { prop: 'maWorkGroup.groupName', label: 'mes.pms.maintainWorkGroup', width: '200' }, + { prop: 'runner', label: 'mes.executor', width: '130' }, + { prop: 'runTime', label: 'mes.executeDate', width: '160' }, + { prop: 'completedTime', label: 'mes.pms.compDate', width: '160' }, + { prop: 'stateName', label: 'mes.pms.permission', width: '160' }, +] + +export const rulesMAIN = { + pmsSchedule: { + schName: [{ required: true, message: 'mes.pms.ruleMaintenancePlanName', trigger: 'blur' }], + schDescription: [{ required: true, message: 'mes.enterDescription', trigger: 'blur' }], + freq: [{ required: true, message: 'mes.pms.inputFrequecy', trigger: 'change' }], + }, +} + +export const selectBox = { + timeList: [ + { value: 'day', label: 'mes.pms.everyFewDays' }, + { value: 'hour', label: 'mes.pms.everyFewHours' }, + ], + dateList: [ + { value: 'day', label: 'mes.pms.dailyPlan' }, + { value: 'month', label: 'mes.pms.monthlyPlan' }, + { value: 'week', label: 'mes.pms.weeklyPlan' }, + { value: 'year', label: 'mes.pms.annualPlan2' }, + ], +} +export const state = { + order: [ + { value: 'wait', label: 'mes.pms.await' }, + { value: 'cancel', label: 'mes.cancel' }, + { value: 'abort', label: 'mes.pms.abandon' }, + { value: 'running', label: 'mes.pms.inExecute' }, + { value: 'review', label: 'mes.pms.audit' }, + { value: 'close', label: 'mes.pms.end' }, + ], + jurisdiction: [ + { value: 'everyone', label: 'mes.pms.allUser' }, + { value: 'self', label: 'mes.pms.workGroup' }, + { value: 'others', label: 'mes.pms.indicatedGroup' }, + ], +} diff --git a/src/views/mes/pms/ma/order-hist/dialog/items.vue b/src/views/mes/pms/ma/order-hist/dialog/items.vue new file mode 100644 index 0000000..884dd0b --- /dev/null +++ b/src/views/mes/pms/ma/order-hist/dialog/items.vue @@ -0,0 +1,91 @@ + + + diff --git a/src/views/mes/pms/ma/order-hist/dialog/main.vue b/src/views/mes/pms/ma/order-hist/dialog/main.vue new file mode 100644 index 0000000..abe5f77 --- /dev/null +++ b/src/views/mes/pms/ma/order-hist/dialog/main.vue @@ -0,0 +1,89 @@ + + + diff --git a/src/views/mes/pms/ma/order-hist/dialog/search-ui.vue b/src/views/mes/pms/ma/order-hist/dialog/search-ui.vue new file mode 100644 index 0000000..94458ff --- /dev/null +++ b/src/views/mes/pms/ma/order-hist/dialog/search-ui.vue @@ -0,0 +1,286 @@ + + + diff --git a/src/views/mes/pms/ma/order-hist/index.vue b/src/views/mes/pms/ma/order-hist/index.vue new file mode 100644 index 0000000..537f28c --- /dev/null +++ b/src/views/mes/pms/ma/order-hist/index.vue @@ -0,0 +1,446 @@ + + + diff --git a/src/views/mes/pms/ma/order-hist/init.js b/src/views/mes/pms/ma/order-hist/init.js new file mode 100644 index 0000000..07520fe --- /dev/null +++ b/src/views/mes/pms/ma/order-hist/init.js @@ -0,0 +1,99 @@ +const pms = 'pms' +export const init = { + sortItems: [ + { + maScheduleItemId: '1', + tableData: [ + { + equipName: '123', + equipDescription: '456', + maResult: 'OK', + }, + { + equipName: '123', + equipDescription: '456', + }, + { + equipName: '123', + equipDescription: '456', + }, + ], + }, + { + maScheduleItemId: '2', + tableData: [ + { + equipName: '789', + equipDescription: '000', + }, + { + equipName: '789', + equipDescription: '000', + }, + { + equipName: '789', + equipDescription: '000', + }, + ], + }, + ], +} +export const tableObj = [ + { prop: 'schName', label: 'mes.pms.maintenancePlanName', width: '130' }, + { prop: 'schDescription', label: 'mes.desc', width: '200' }, + { prop: 'equipName', label: 'mes.equipmentNumber', width: '120' }, + { prop: 'maWorkGroup.groupName', label: 'mes.pms.maintainWorkGroup', width: '130' }, + { prop: 'newStateName', label: 'mes.status', width: '100' }, + { prop: 'plannedBeginTime', label: 'mes.planStartTime', width: '160' }, + { prop: 'plannedEndTime', label: 'mes.pms.planEndDate', width: '160' }, + { prop: 'runTime', label: 'mes.executeDate', width: '160' }, + { prop: 'completedTime', label: 'mes.pms.compDate', width: '160' }, + { prop: 'runner', label: 'mes.executor', width: '130' }, + { prop: 'approvedTime', label: 'mes.pms.signOffTime', width: '160' }, + { prop: 'maResult', label: 'mes.pms.maintainResult', width: '170' }, + { prop: 'maMemo', label: 'mes.remark', width: '200' }, +] + +export const rulesMAIN = { + pmsSchedule: { + schName: [{ required: true, message: 'mes.pms.ruleMaintenancePlanName', trigger: 'blur' }], + schDescription: [{ required: true, message: 'mes.enterDescription', trigger: 'blur' }], + freq: [{ required: true, message: 'mes.pms.inputFrequecy', trigger: 'change' }], + }, +} + +export const selectBox = { + timeList: [ + { value: 'day', label: 'mes.pms.everyFewDays' }, + { value: 'hour', label: 'mes.pms.everyFewHours' }, + ], + dateList: [ + { value: 'day', label: 'mes.pms.dailyPlan' }, + { value: 'month', label: 'mes.pms.monthlyPlan' }, + { value: 'week', label: 'mes.pms.weeklyPlan' }, + { value: 'year', label: 'mes.pms.annualPlan2' }, + ], +} +export const state = { + order: [ + { value: 'wait', label: 'mes.pms.await' }, + { value: 'cancel', label: 'mes.cancel' }, + { value: 'abort', label: 'mes.pms.abandon' }, + { value: 'running', label: 'mes.pms.inExecute' }, + { value: 'review', label: 'mes.pms.audit' }, + { value: 'close', label: 'mes.pms.end' }, + ], + jurisdiction: [ + { value: 'everyone', label: 'mes.pms.allUser' }, + { value: 'self', label: 'mes.pms.workGroup' }, + { value: 'others', label: 'mes.pms.indicatedGroup' }, + ], + groupTypeList: [ + { label: 'mes.pms.repairWorkGroup', value: 'REPAIRWORK' }, + { label: 'mes.pms.repairPrdGroup', value: 'REPAIRMFG' }, + { label: 'mes.pms.repairQAGroup', value: 'REPAIRQA' }, + { label: 'mes.pms.maintainWork', value: 'MAWORK' }, + { label: 'mes.pms.inspWork', value: 'INSPWORK' }, + { label: 'mes.pms.patrolWork', value: 'PATROLWORK' }, + ], +} diff --git a/src/views/mes/pms/ma/order/core/order.vue b/src/views/mes/pms/ma/order/core/order.vue new file mode 100644 index 0000000..1b46357 --- /dev/null +++ b/src/views/mes/pms/ma/order/core/order.vue @@ -0,0 +1,180 @@ + + + diff --git a/src/views/mes/pms/ma/order/dialog/attachment.vue b/src/views/mes/pms/ma/order/dialog/attachment.vue new file mode 100644 index 0000000..ef54d74 --- /dev/null +++ b/src/views/mes/pms/ma/order/dialog/attachment.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/views/mes/pms/ma/order/dialog/items.vue b/src/views/mes/pms/ma/order/dialog/items.vue new file mode 100644 index 0000000..3630a51 --- /dev/null +++ b/src/views/mes/pms/ma/order/dialog/items.vue @@ -0,0 +1,348 @@ + + + diff --git a/src/views/mes/pms/ma/order/dialog/main.vue b/src/views/mes/pms/ma/order/dialog/main.vue new file mode 100644 index 0000000..81bea80 --- /dev/null +++ b/src/views/mes/pms/ma/order/dialog/main.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/mes/pms/ma/order/dialog/member-logs.vue b/src/views/mes/pms/ma/order/dialog/member-logs.vue new file mode 100644 index 0000000..788a709 --- /dev/null +++ b/src/views/mes/pms/ma/order/dialog/member-logs.vue @@ -0,0 +1,181 @@ + + + diff --git a/src/views/mes/pms/ma/order/dialog/member.vue b/src/views/mes/pms/ma/order/dialog/member.vue new file mode 100644 index 0000000..2e3c940 --- /dev/null +++ b/src/views/mes/pms/ma/order/dialog/member.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/views/mes/pms/ma/order/dialog/part-record.vue b/src/views/mes/pms/ma/order/dialog/part-record.vue new file mode 100644 index 0000000..78929c6 --- /dev/null +++ b/src/views/mes/pms/ma/order/dialog/part-record.vue @@ -0,0 +1,251 @@ + + + diff --git a/src/views/mes/pms/ma/order/dialog/search-ui.vue b/src/views/mes/pms/ma/order/dialog/search-ui.vue new file mode 100644 index 0000000..ee90315 --- /dev/null +++ b/src/views/mes/pms/ma/order/dialog/search-ui.vue @@ -0,0 +1,281 @@ + + + diff --git a/src/views/mes/pms/ma/order/index.vue b/src/views/mes/pms/ma/order/index.vue new file mode 100644 index 0000000..56551b7 --- /dev/null +++ b/src/views/mes/pms/ma/order/index.vue @@ -0,0 +1,564 @@ + + + diff --git a/src/views/mes/pms/ma/order/init.js b/src/views/mes/pms/ma/order/init.js new file mode 100644 index 0000000..1fdf524 --- /dev/null +++ b/src/views/mes/pms/ma/order/init.js @@ -0,0 +1,85 @@ +export const init = { + sortItems: [ + { + maScheduleItemId: '1', + tableData: [ + { + equipName: '123', + equipDescription: '456', + maResult: 'OK', + }, + { + equipName: '123', + equipDescription: '456', + }, + { + equipName: '123', + equipDescription: '456', + }, + ], + }, + { + maScheduleItemId: '2', + tableData: [ + { + equipName: '789', + equipDescription: '000', + }, + { + equipName: '789', + equipDescription: '000', + }, + { + equipName: '789', + equipDescription: '000', + }, + ], + }, + ], +} +export const tableObj = [ + { prop: 'minimumHours', label: 'mes.pms.maintainLowestHourLimit', width: '300' }, + { prop: 'equipName', label: 'mes.equipmentNumber', width: '200' }, + { prop: 'maWorkGroup.groupName', label: 'mes.pms.maintainWorkGroup', width: '200' }, + { prop: 'plannedBeginTime', label: 'mes.planStartTime', width: '160' }, + { prop: 'plannedEndTime', label: 'mes.pms.planEndDate', width: '160' }, + // { prop: "equipGroupName", label: "设备群组名称", width: "150" }, + { prop: 'runTime', label: 'mes.executeDate', width: '160' }, + { prop: 'stateName', label: 'mes.pms.statusAuth', width: '200' }, +] + +export const rulesMAIN = { + pmsSchedule: { + schName: [{ required: true, message: 'mes.pms.ruleMaintenancePlanName', trigger: 'blur' }], + schDescription: [{ required: true, message: 'mes.enterDescription', trigger: 'blur' }], + freq: [{ required: true, message: 'mes.pms.inputFrequecy', trigger: 'change' }], + }, +} + +export const selectBox = { + timeList: [ + { value: 'day', label: 'mes.pms.everyFewDays' }, + { value: 'hour', label: 'mes.pms.everyFewHours' }, + ], + dateList: [ + { value: 'day', label: 'mes.pms.dailyPlan' }, + { value: 'month', label: 'mes.pms.monthlyPlan' }, + { value: 'week', label: 'mes.pms.weeklyPlan' }, + { value: 'year', label: 'mes.pms.annualPlan' }, + ], +} +export const state = { + order: [ + { value: 'wait', label: 'mes.pms.await' }, + { value: 'cancel', label: 'mes.cancel' }, + { value: 'abort', label: 'mes.pms.abandon' }, + { value: 'running', label: 'mes.pms.inExecute' }, + { value: 'review', label: 'mes.pms.audit' }, + { value: 'close', label: 'mes.pms.end' }, + ], + jurisdiction: [ + { value: 'everyone', label: 'mes.pms.allUser' }, + { value: 'self', label: 'mes.pms.workGroup' }, + { value: 'others', label: 'mes.pms.indicatedGroup' }, + ], +} diff --git a/src/views/mes/pms/ma/schedule/dialog/list.vue b/src/views/mes/pms/ma/schedule/dialog/list.vue new file mode 100644 index 0000000..43f6cf6 --- /dev/null +++ b/src/views/mes/pms/ma/schedule/dialog/list.vue @@ -0,0 +1,357 @@ + + + diff --git a/src/views/mes/pms/ma/schedule/dialog/ma-item.vue b/src/views/mes/pms/ma/schedule/dialog/ma-item.vue new file mode 100644 index 0000000..bf35f19 --- /dev/null +++ b/src/views/mes/pms/ma/schedule/dialog/ma-item.vue @@ -0,0 +1,208 @@ + + + diff --git a/src/views/mes/pms/ma/schedule/dialog/main.vue b/src/views/mes/pms/ma/schedule/dialog/main.vue new file mode 100644 index 0000000..b77d618 --- /dev/null +++ b/src/views/mes/pms/ma/schedule/dialog/main.vue @@ -0,0 +1,618 @@ + + + diff --git a/src/views/mes/pms/ma/schedule/dialog/period.vue b/src/views/mes/pms/ma/schedule/dialog/period.vue new file mode 100644 index 0000000..87fda3e --- /dev/null +++ b/src/views/mes/pms/ma/schedule/dialog/period.vue @@ -0,0 +1,536 @@ + + + diff --git a/src/views/mes/pms/ma/schedule/dialog/plan.vue b/src/views/mes/pms/ma/schedule/dialog/plan.vue new file mode 100644 index 0000000..d4dab9b --- /dev/null +++ b/src/views/mes/pms/ma/schedule/dialog/plan.vue @@ -0,0 +1,306 @@ + + + diff --git a/src/views/mes/pms/ma/schedule/index.vue b/src/views/mes/pms/ma/schedule/index.vue new file mode 100644 index 0000000..53cdc5e --- /dev/null +++ b/src/views/mes/pms/ma/schedule/index.vue @@ -0,0 +1,697 @@ + + + diff --git a/src/views/mes/pms/ma/schedule/init.js b/src/views/mes/pms/ma/schedule/init.js new file mode 100644 index 0000000..f169b93 --- /dev/null +++ b/src/views/mes/pms/ma/schedule/init.js @@ -0,0 +1,63 @@ +export const initData = { + pmsSchedule: { + actionType: 'ma', + action: '1', + createdTime: null, + creator: null, + currentRevision: 'y', + equipGroupId: null, + equipId: null, + freq: null, + freqType: 'period', + freqUnit: 'day', + id: null, + revision: 1, + runBeginTime: '', + runEndTime: '', + schDescription: null, + schName: null, + stateName: 'edit', + tolAfter: 24, + tolBefore: 72, + updatedTime: null, + updater: null, + workHours: 8, + minimumHours: 0, + reminderHours: 0, + }, + scheduleEquips: [], + scheduleItems: [], + scheduleJobs: [], + items: null, + maWorkGroupId: null, + qaWorkGroupId: null, +} + +export const rulesMAIN = { + pmsSchedule: { + schName: [ + { required: true, message: 'mes.pms.ruleMaintenancePlanName', trigger: 'blur' }, // 请输入保养计划名称 + ], + schDescription: [ + { required: true, message: 'mes.enterDescription', trigger: 'blur' }, // 请输入说明 + ], + freq: [ + { required: true, message: 'mes.pms.inputFrequecy', trigger: 'change' }, // 请输入频率 + ], + }, +} + +export const selectBox = { + timeList: [ + { value: 'day', label: 'mes.pms.everyFewDays' }, // 每几日 + { value: 'hour', label: 'mes.pms.everyFewHours' }, // 每几小时 + ], + dateList: [ + { value: 'day', label: 'mes.pms.dailyPlan' }, // 日计划 + { value: 'week', label: 'mes.pms.weeklyPlan' }, // 周计划 + { value: 'month', label: 'mes.pms.monthlyPlan' }, // 月计划 + { value: 'season', label: 'mes.pms.seasonPlan' }, // 季度计划 + { value: 'half-year', label: 'mes.pms.halfYearPlan' }, // 半年度计划 + { value: 'year', label: 'mes.pms.annualPlan2' }, // 年度计划 + ], +} diff --git a/src/views/mes/pms/patrol/order/dialog/add.vue b/src/views/mes/pms/patrol/order/dialog/add.vue new file mode 100644 index 0000000..bc91204 --- /dev/null +++ b/src/views/mes/pms/patrol/order/dialog/add.vue @@ -0,0 +1,162 @@ + + + diff --git a/src/views/mes/pms/patrol/order/dialog/detail.vue b/src/views/mes/pms/patrol/order/dialog/detail.vue new file mode 100644 index 0000000..f12d426 --- /dev/null +++ b/src/views/mes/pms/patrol/order/dialog/detail.vue @@ -0,0 +1,213 @@ + + + diff --git a/src/views/mes/pms/patrol/order/dialog/order.vue b/src/views/mes/pms/patrol/order/dialog/order.vue new file mode 100644 index 0000000..f4fd960 --- /dev/null +++ b/src/views/mes/pms/patrol/order/dialog/order.vue @@ -0,0 +1,210 @@ + + + diff --git a/src/views/mes/pms/patrol/order/dialog/search-ui.vue b/src/views/mes/pms/patrol/order/dialog/search-ui.vue new file mode 100644 index 0000000..cce22c4 --- /dev/null +++ b/src/views/mes/pms/patrol/order/dialog/search-ui.vue @@ -0,0 +1,195 @@ + + + diff --git a/src/views/mes/pms/patrol/order/index.vue b/src/views/mes/pms/patrol/order/index.vue new file mode 100644 index 0000000..9620e92 --- /dev/null +++ b/src/views/mes/pms/patrol/order/index.vue @@ -0,0 +1,503 @@ + + + diff --git a/src/views/mes/pms/patrol/order/init.js b/src/views/mes/pms/patrol/order/init.js new file mode 100644 index 0000000..841d258 --- /dev/null +++ b/src/views/mes/pms/patrol/order/init.js @@ -0,0 +1,110 @@ +export const init = { + order: { + serialVersionUID: 1, + site: 'demoData', + id: 'demoData', + patrolSheetId: 'demoData', + patrolSheetRevision: 1, + stateName: 'demoData', + equipId: 'demoData', + patrolman: 'demoData', + patrolResult: 'demoData', + patrolMemo: 'demoData', + equipName: 'demoData', + equipDescription: 'demoData', + equipGroupId: 'demoData', + patrolName: 'demoData', + patrolDescription: 'demoData', + equipGroupName: 'demoData', + }, + orderItems: [ + { + serialVersionUID: 1, + site: 'demoData', + patrolOrderId: 'demoData', + patrolSheetItemId: 'demoData', + patrolResult: 'demoData', + patrolMemo: 'demoData', + pass: 'demoData', + targetValue: 'demoData', + maxValue: 'demoData', + minValue: 'demoData', + valueType: 'demoData', + itemName: 'demoData', + itemDescription: 'demoData', + seqNo: 1, + inspItemGroupId: 'demoData', + equipGroupStructId: 'demoData', + structCodeId: 'demoData', + structName: 'demoData', + groupName: 'demoData', + groupDescription: 'demoData', + }, + ], + patrolWorkGroup: { + serialVersionUID: 1, + site: 'demoData', + id: 'demoData', + workGroupId: 'demoData', + targetId: 'demoData', + targetName: 'demoData', + groupName: 'demoData', + groupDescription: 'demoData', + groupType: 'demoData', + }, +} +export const tableObj = [ + { prop: 'seq', label: 'common.seq', width: '80' }, // 序号 + { prop: 'order.id', label: 'mes.pms.patrolOrderNo', width: '270' }, // 巡检工单编号 + { prop: 'order.stateName', label: 'crud.column.label.status1', width: 'auto' }, // 状态 + { prop: 'order.patrolName', label: 'mes.pms.patrolListName', width: '130' }, // 巡检表名称 + { prop: 'order.equipName', label: 'mes.equipmentNumber', width: '130' }, // 设备编号 + { prop: 'order.patrolman', label: 'mes.pms.user', width: 'auto' }, // 用户 + { prop: 'order.patrolResult', label: 'mes.pms.patrolResult', width: '130' }, // 巡检结果 + { prop: 'order.patrolMemo', label: 'mes.remark', width: 'auto' }, // 备注 + { prop: 'order.createdTime', label: 'mes.pms.createTime', width: '160' }, // 建立时间 +] + +export const detailTableObj = [ + { prop: 'seqNo', label: 'common.seq', width: '90' }, // 序号 + { prop: 'itemName', label: 'mes.pms.inspItem', width: '180' }, // 点检项目 + { prop: 'targetValue', label: 'mes.pms.targetValue', width: '90' }, // 目标值 + { prop: 'maxValue', label: 'mes.pms.maxValue', width: '90' }, // 最大值 + { prop: 'minValue', label: 'mes.pms.minValue', width: '90' }, // 最小值 + { prop: 'patrolResult', label: 'mes.result2', width: '90' }, // 结果 + { prop: 'patrolMemo', label: 'mes.remark', width: 'auto' }, // 备注 +] + +export const rulesMAIN = { + pmsSchedule: { + schName: [ + { required: true, message: 'mes.pms.ruleMaintenancePlanName', trigger: 'blur' }, // 请输入保养计划名称 + ], + schDescription: [ + { required: true, message: 'mes.enterDescription', trigger: 'blur' }, // 请输入说明 + ], + freq: [ + { required: true, message: 'mes.pms.inputFrequecy', trigger: 'change' }, // 请输入频率 + ], + }, +} + +export const selectBox = { + timeList: [ + { value: 'day', label: 'mes.pms.everyFewDays' }, // 每几日 + { value: 'hour', label: 'mes.pms.everyFewHours' }, // 每几小时 + ], + dateList: [ + { value: 'day', label: 'mes.pms.dailyPlan' }, // 日计划 + { value: 'month', label: 'mes.pms.monthlyPlan' }, // 月计划 + { value: 'week', label: 'mes.pms.weeklyPlan' }, // 周计划 + { value: 'year', label: 'mes.pms.annualPlan2' }, // 年度计划 + ], +} +export const state = { + order: [ + { value: 'abort', label: 'mes.invalidate' }, // 作废 + { value: 'running', label: 'mes.pms.inProcess' }, // 处理中 + { value: 'close', label: 'mes.finished' }, // 完成 + ], +} diff --git a/src/views/mes/pms/patrol/sheet/dialog/main.vue b/src/views/mes/pms/patrol/sheet/dialog/main.vue new file mode 100644 index 0000000..695116b --- /dev/null +++ b/src/views/mes/pms/patrol/sheet/dialog/main.vue @@ -0,0 +1,189 @@ + + + diff --git a/src/views/mes/pms/patrol/sheet/dialog/sheet-item.vue b/src/views/mes/pms/patrol/sheet/dialog/sheet-item.vue new file mode 100644 index 0000000..4eae462 --- /dev/null +++ b/src/views/mes/pms/patrol/sheet/dialog/sheet-item.vue @@ -0,0 +1,237 @@ + + + diff --git a/src/views/mes/pms/patrol/sheet/index.vue b/src/views/mes/pms/patrol/sheet/index.vue new file mode 100644 index 0000000..643a0b1 --- /dev/null +++ b/src/views/mes/pms/patrol/sheet/index.vue @@ -0,0 +1,688 @@ + + + diff --git a/src/views/mes/pms/patrol/sheet/init.js b/src/views/mes/pms/patrol/sheet/init.js new file mode 100644 index 0000000..770a958 --- /dev/null +++ b/src/views/mes/pms/patrol/sheet/init.js @@ -0,0 +1,27 @@ + +export const initData = { + sheet: { + id: null, + revision: 1, + currentRevision: "y", + patrolName: null, + patrolDescription: null, + createdTime: null, + creator: null, + updatedTime: null, + updater: null, + equipGroupId: null, + equipId: null, + stateName: "edit", + freqUnit: "d", + freq: 7, + tolBefore: 24, + tolAfter: 72 + }, + scheduleEquips: [], + sheetItems: [], + scheduleJobs: [], + items: null, + patrolWorkGroupId: null, + qaWorkGroupId: null, +} diff --git a/src/views/mes/pms/repair/repair-order-ma/dialog/items.vue b/src/views/mes/pms/repair/repair-order-ma/dialog/items.vue new file mode 100644 index 0000000..42223ef --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-ma/dialog/items.vue @@ -0,0 +1,133 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-ma/dialog/main.vue b/src/views/mes/pms/repair/repair-order-ma/dialog/main.vue new file mode 100644 index 0000000..19cf3b8 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-ma/dialog/main.vue @@ -0,0 +1,278 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-ma/dialog/repair-hist.vue b/src/views/mes/pms/repair/repair-order-ma/dialog/repair-hist.vue new file mode 100644 index 0000000..94aee5a --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-ma/dialog/repair-hist.vue @@ -0,0 +1,177 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-ma/dialog/search-ui.vue b/src/views/mes/pms/repair/repair-order-ma/dialog/search-ui.vue new file mode 100644 index 0000000..edd1958 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-ma/dialog/search-ui.vue @@ -0,0 +1,171 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-ma/index.vue b/src/views/mes/pms/repair/repair-order-ma/index.vue new file mode 100644 index 0000000..4926285 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-ma/index.vue @@ -0,0 +1,574 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-ma/init.js b/src/views/mes/pms/repair/repair-order-ma/init.js new file mode 100644 index 0000000..0c5203c --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-ma/init.js @@ -0,0 +1,82 @@ +export const init = { + acceptTime: null, + brokenDescription: null, + brokenTime: null, + completedTime: null, + completer: null, + createDptId: null, + createdTime: null, + creator: null, + equipId: null, + expiredTime: null, + id: null, + orderName: null, + qa: null, + qaTime: null, + repairMemo: null, + repairResult: null, + repairedTime: null, + repairer: null, + seqNo: 0, + stateName: 'add', +} +export const initData = { + items: [], + mfgWorkGroupId: null, + order: {}, + qaWorkGroupId: null, + repairWorkGroupId: null, +} + +export const rulesMAIN = { + equipName: [ + { required: true, message: 'mes.enterEquipmentNumber', trigger: 'blur' }, // 请输入设备编号 + ], + brokenDescription: [ + { required: true, message: 'mes.pms.ruleErrDesc', trigger: 'blur' }, // 请输入故障说明 + ], + expiredTime: [ + { required: true, message: 'mes.pms.ruleRepairPeriod', trigger: 'blur' }, // 请输入维修期限 + ], + brokenTime: [ + { required: true, message: 'mes.pms.ruleErrTime', trigger: 'blur' }, // 请输入故障时间 + ], +} + +export const state = [ + { label: 'common.cancel', value: 'cancel' }, // 取消 + { label: 'mes.pms.stop', value: 'abort' }, // 中止 + { label: 'mes.pms.inQC', value: 'qa' }, // 品保中 + { label: 'mes.finished', value: 'close' }, // 完成 + { label: 'mes.edit', value: 'edit' }, // 编辑 + { label: 'mes.pms.inInvestigation', value: 'investigate' }, // 调查中 + { label: 'mes.pms.reRepair', value: 'rework' }, // 重新维修 + { label: 'mes.pms.inRepair', value: 'running' }, // 维修中 + { label: 'mes.pms.prdApproval', value: 'mfg' }, // 制造签核中 +] +export const stateTag = [ + { label: 'common.new', value: 'add', type: 'success' }, // 新增 + { label: 'common.cancel', value: 'cancel', type: 'warning' }, // 取消 + { label: 'mes.pms.stop', value: 'abort', type: 'danger' }, // 中止 + { label: 'mes.pms.inQC', value: 'qa', type: 'warning' }, // 品保中 + { label: 'mes.finished', value: 'close', type: 'success' }, // 完成 + { label: 'mes.edit', value: 'edit', type: 'primary' }, // 编辑 + { label: 'mes.pms.inInvestigation', value: 'investigate', type: 'warning' }, // 调查中 + { label: 'mes.pms.reRepair', value: 'rework', type: 'warning' }, // 重新维修 + { label: 'mes.pms.inRepair', value: 'running', type: 'danger' }, // 维修中 + { label: 'mes.pms.prdApproval', value: 'mfg', type: 'warning' }, // 制造签核中 +] + +export const tableObj = [ + { prop: 'equipName', label: 'mes.equipmentNumber', width: '200' }, // 设备编号 + { prop: 'equipDescription', label: 'mes.equipmentDesc', width: '300' }, // 设备说明 + { prop: 'brokenDescription', label: 'mes.pms.faultDesc', width: '300' }, // 故障说明 + { prop: 'repairResult', label: 'mes.pms.repairResult', width: '160' }, // 维修结果 + { prop: 'mfgWorkGroup.groupName', label: 'mes.pms.manufactureGroup', width: '300' }, // 制造群组(权限) + { prop: 'expiredTime', label: 'mes.pms.repairPeriod', width: '160' }, // 维修期限 + { prop: 'repairerFullName', label: 'mes.pms.repairUser', width: '160' }, // 维修人员 + { prop: 'acceptTime', label: 'mes.pms.repairStartTime', width: '160' }, // 开始维修时间 + { prop: 'repairedTime', label: 'mes.pms.repairCompTime', width: '160' }, // 完成维修时间 + { prop: 'qa', label: 'mes.pms.QCUser', width: '160' }, // 品保人员 + { prop: 'qaTime', label: 'mes.pms.QCTime', width: '160' }, // 品保时间 +] diff --git a/src/views/mes/pms/repair/repair-order-qc/dialog/items.vue b/src/views/mes/pms/repair/repair-order-qc/dialog/items.vue new file mode 100644 index 0000000..08ff31f --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-qc/dialog/items.vue @@ -0,0 +1,133 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-qc/dialog/main.vue b/src/views/mes/pms/repair/repair-order-qc/dialog/main.vue new file mode 100644 index 0000000..6b7bd86 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-qc/dialog/main.vue @@ -0,0 +1,279 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-qc/dialog/repair-hist.vue b/src/views/mes/pms/repair/repair-order-qc/dialog/repair-hist.vue new file mode 100644 index 0000000..6e917fc --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-qc/dialog/repair-hist.vue @@ -0,0 +1,180 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-qc/dialog/search-ui.vue b/src/views/mes/pms/repair/repair-order-qc/dialog/search-ui.vue new file mode 100644 index 0000000..95bda9d --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-qc/dialog/search-ui.vue @@ -0,0 +1,171 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-qc/index.vue b/src/views/mes/pms/repair/repair-order-qc/index.vue new file mode 100644 index 0000000..a352f9d --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-qc/index.vue @@ -0,0 +1,568 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-qc/init.js b/src/views/mes/pms/repair/repair-order-qc/init.js new file mode 100644 index 0000000..6ea83fe --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-qc/init.js @@ -0,0 +1,80 @@ +export const init = { + acceptTime: null, + brokenDescription: null, + brokenTime: null, + completedTime: null, + completer: null, + createDptId: null, + createdTime: null, + creator: null, + equipId: null, + expiredTime: null, + id: null, + orderName: null, + qa: null, + qaTime: null, + repairMemo: null, + repairResult: null, + repairedTime: null, + repairer: null, + seqNo: 0, + stateName: 'add', +} +export const initData = { + items: [], + mfgWorkGroupId: null, + order: {}, + qaWorkGroupId: null, + repairWorkGroupId: null, +} + +export const rulesMAIN = { + equipName: [ + { required: true, message: 'mes.enterEquipmentNumber', trigger: 'blur' }, // 请输入设备编号 + ], + brokenDescription: [ + { required: true, message: 'mes.pms.ruleErrDesc', trigger: 'blur' }, // 请输入故障说明 + ], + expiredTime: [ + { required: true, message: 'mes.pms.ruleRepairPeriod', trigger: 'blur' }, // 请输入维修期限 + ], + brokenTime: [ + { required: true, message: 'mes.pms.ruleErrTime', trigger: 'blur' }, // 请输入故障时间 + ], +} + +export const state = [ + { label: 'common.cancel', value: 'cancel' }, // 取消 + { label: 'mes.pms.stop', value: 'abort' }, // 中止 + { label: 'mes.pms.inQC', value: 'qa' }, // 品保中 + { label: 'mes.finished', value: 'close' }, // 完成 + { label: 'mes.edit', value: 'edit' }, // 编辑 + { label: 'mes.pms.inInvestigation', value: 'investigate' }, // 调查中 + { label: 'mes.pms.reRepair', value: 'rework' }, // 重新维修 + { label: 'mes.pms.inRepair', value: 'running' }, // 维修中 + { label: 'prdApproval', value: 'mfg' }, // 制造签核中 +] +export const stateTag = [ + { label: 'common.new', value: 'add', type: 'success' }, // 新增 + { label: 'common.cancel', value: 'cancel', type: 'warning' }, // 取消 + { label: 'mes.pms.stop', value: 'abort', type: 'danger' }, // 中止 + { label: 'mes.pms.inQC', value: 'qa', type: 'warning' }, // 品保中 + { label: 'mes.finished', value: 'close', type: 'success' }, // 完成 + { label: 'mes.edit', value: 'edit', type: 'primary' }, // 编辑 + { label: 'mes.pms.inInvestigation', value: 'investigate', type: 'warning' }, // 调查中 + { label: 'mes.pms.reRepair', value: 'rework', type: 'warning' }, // 重新维修 + { label: 'mes.pms.inRepair', value: 'running', type: 'danger' }, // 维修中 + { label: 'mes.pms.prdApproval', value: 'mfg', type: 'warning' }, // 制造签核中 +] + +export const tableObj = [ + { prop: 'equipName', label: 'mes.equipmentNumber', width: '200' }, // 设备编号 + { prop: 'equipDescription', label: 'mes.equipmentDesc', width: '300' }, // 设备说明 + { prop: 'brokenDescription', label: 'mes.pms.faultDesc', width: '300' }, // 故障说明 + { prop: 'repairResult', label: 'mes.pms.repairResult', width: '160' }, // 维修结果 + { prop: 'qaWorkGroup.groupName', label: 'mes.pms.manufactureGroup', width: '300' }, // 制造群组(权限) + { prop: 'expiredTime', label: 'mes.pms.repairPeriod', width: '160' }, // 维修期限 + { prop: 'repairerFullName', label: 'mes.pms.repairUser', width: '160' }, // 维修人员 + { prop: 'acceptTime', label: 'mes.pms.repairStartTime', width: '160' }, // 开始维修时间 + { prop: 'repairedTime', label: 'mes.pms.repairCompTime', width: '160' }, // 完成维修时间 +] diff --git a/src/views/mes/pms/repair/repair-order-run/dialog/items.vue b/src/views/mes/pms/repair/repair-order-run/dialog/items.vue new file mode 100644 index 0000000..46d6780 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-run/dialog/items.vue @@ -0,0 +1,136 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-run/dialog/main.vue b/src/views/mes/pms/repair/repair-order-run/dialog/main.vue new file mode 100644 index 0000000..61111ac --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-run/dialog/main.vue @@ -0,0 +1,229 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-run/dialog/repair-hist.vue b/src/views/mes/pms/repair/repair-order-run/dialog/repair-hist.vue new file mode 100644 index 0000000..68f9f6e --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-run/dialog/repair-hist.vue @@ -0,0 +1,351 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-run/dialog/search-ui.vue b/src/views/mes/pms/repair/repair-order-run/dialog/search-ui.vue new file mode 100644 index 0000000..d448f21 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-run/dialog/search-ui.vue @@ -0,0 +1,168 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-run/dialog/transfer-order.vue b/src/views/mes/pms/repair/repair-order-run/dialog/transfer-order.vue new file mode 100644 index 0000000..0438b08 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-run/dialog/transfer-order.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-run/index.vue b/src/views/mes/pms/repair/repair-order-run/index.vue new file mode 100644 index 0000000..2570b4a --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-run/index.vue @@ -0,0 +1,675 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order-run/init.js b/src/views/mes/pms/repair/repair-order-run/init.js new file mode 100644 index 0000000..ee776d7 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order-run/init.js @@ -0,0 +1,83 @@ +export const init = { + acceptTime: null, + brokenDescription: null, + brokenTime: null, + completedTime: null, + completer: null, + createDptId: null, + createdTime: null, + creator: null, + equipId: null, + expiredTime: null, + id: null, + orderName: null, + qa: null, + qaTime: null, + repairMemo: null, + repairResult: null, + repairedTime: null, + repairer: null, + seqNo: 0, + stateName: 'add', + transferWorkGroup: null, + remark: null, +} +export const initData = { + items: [], + mfgWorkGroupId: null, + order: {}, + qaWorkGroupId: null, + repairWorkGroupId: null, +} + +export const rulesMAIN = { + equipName: [ + { required: true, message: 'mes.enterEquipmentNumber', trigger: 'blur' }, // 请输入设备编号 + ], + brokenDescription: [ + { required: true, message: 'mes.pms.ruleErrDesc', trigger: 'blur' }, // 请输入故障说明 + ], + expiredTime: [ + { required: true, message: 'mes.pms.ruleRepairPeriod', trigger: 'blur' }, // 请输入维修期限 + ], + brokenTime: [ + { required: true, message: 'mes.pms.ruleErrTime', trigger: 'blur' }, // 请输入故障时间 + ], +} + +export const state = [ + { label: 'common.cancel', value: 'cancel' }, // 取消 + { label: 'mes.pms.stop', value: 'abort' }, // 中止 + { label: 'mes.pms.inQC', value: 'qa' }, // 品保中 + { label: 'mes.finished', value: 'close' }, // 完成 + { label: 'mes.edit', value: 'edit' }, // 编辑 + { label: 'mes.pms.inInvestigation', value: 'investigate' }, // 调查中 + { label: 'mes.pms.reRepair', value: 'rework' }, // 重新维修 + { label: 'mes.pms.inRepair', value: 'running' }, // 维修中 + { label: 'mes.pms.prdApproval', value: 'mfg' }, // 制造签核中 +] +export const stateTag = [ + { label: 'common.new', value: 'add', type: 'success' }, // 新增 + { label: 'common.cancel', value: 'cancel', type: 'warning' }, // 取消 + { label: 'mes.pms.stop', value: 'abort', type: 'danger' }, // 中止 + { label: 'mes.pms.inQC', value: 'qa', type: 'warning' }, // 品保中 + { label: 'mes.finished', value: 'close', type: 'success' }, // 完成 + { label: 'mes.edit', value: 'edit', type: 'primary' }, // 编辑 + { label: 'mes.pms.inInvestigation', value: 'investigate', type: 'warning' }, // 调查中 + { label: 'mes.pms.reRepair', value: 'rework', type: 'warning' }, // 重新维修 + { label: 'mes.pms.inRepair', value: 'running', type: 'danger' }, // 维修中 + { label: 'mes.pms.prdApproval', value: 'mfg', type: 'warning' }, // 制造签核中 +] + +export const tableObj = [ + { prop: 'equipName', label: 'mes.equipmentNumber', width: '200' }, // 设备编号 + { prop: 'equipDescription', label: 'mes.equipmentDesc', width: '300' }, // 设备说明 + { prop: 'brokenDescription', label: 'mes.pms.faultDesc', width: '300' }, // 故障说明 + { prop: 'creatorFullName', label: 'mes.pms.repairRequestUser', width: '160' }, // 报修人员 + { prop: 'createdTime', label: 'mes.pms.repairRequestTime', width: '160' }, // 报修时间 + { prop: 'repairerFullName', label: 'mes.pms.repairUser', width: '160' }, // 维修人员 + { prop: 'acceptTime', label: 'mes.pms.repairStartTime', width: '160' }, // 开始维修时间 + { prop: 'expiredTime', label: 'mes.pms.repairPeriod', width: '160' }, // 维修期限 + { prop: 'repairWorkGroup.groupName', label: 'mes.pms.repairWorkGroup2', width: '160' }, // 维修工作群组 + { prop: 'stateName', label: 'mes.pms.statusAuth', width: '180' }, // 状态(权限) +] diff --git a/src/views/mes/pms/repair/repair-order/dialog/attachment.vue b/src/views/mes/pms/repair/repair-order/dialog/attachment.vue new file mode 100644 index 0000000..66bca03 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/dialog/attachment.vue @@ -0,0 +1,303 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/dialog/items.vue b/src/views/mes/pms/repair/repair-order/dialog/items.vue new file mode 100644 index 0000000..149c532 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/dialog/items.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/dialog/main.vue b/src/views/mes/pms/repair/repair-order/dialog/main.vue new file mode 100644 index 0000000..118429c --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/dialog/main.vue @@ -0,0 +1,410 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/dialog/search-ui.vue b/src/views/mes/pms/repair/repair-order/dialog/search-ui.vue new file mode 100644 index 0000000..fd946ce --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/dialog/search-ui.vue @@ -0,0 +1,233 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/index.vue b/src/views/mes/pms/repair/repair-order/index.vue new file mode 100644 index 0000000..0baac57 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/index.vue @@ -0,0 +1,943 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/init.js b/src/views/mes/pms/repair/repair-order/init.js new file mode 100644 index 0000000..f710a95 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/init.js @@ -0,0 +1,94 @@ +export const init = { + acceptTime: null, + brokenDescription: null, + brokenTime: null, + completedTime: null, + completer: null, + createDptId: null, + createdTime: null, + creator: null, + equipId: null, + expiredTime: null, + id: null, + orderName: null, + qa: null, + qaTime: null, + repairMemo: null, + repairResult: null, + repairedTime: null, + repairer: null, + seqNo: 0, + stateName: 'add', + mfgWorkGroupId: null, + qaWorkGroupId: null, + repairWorkGroupId: null, +} +export const initData = { + items: [], + mfgWorkGroupId: null, + order: {}, + qaWorkGroupId: null, + repairWorkGroupId: null, +} + +export const rulesMAIN = { + equipName: [ + { required: true, message: 'mes.enterEquipmentNumber', trigger: 'blur' }, // 请输入设备编号 + ], + brokenDescription: [ + { required: true, message: 'mes.pms.ruleErrDesc', trigger: 'blur' }, // 请输入故障说明 + ], + expiredTime: [ + { required: true, message: 'mes.pms.ruleRepairPeriod', trigger: 'blur' }, // 请输入维修期限 + ], + brokenTime: [ + { required: true, message: 'mes.pms.ruleErrTime', trigger: 'blur' }, // 请输入故障时间 + ], + machineReasonCodeBo: [ + { required: true, message: 'mes.pms.inputMachineReason', trigger: 'blur' }, // 请输入机时原因代码 + ], +} + +export const state = [ + { label: 'common.cancel', value: 'cancel' }, // 取消 + { label: 'mes.pms.stop', value: 'abort' }, // 中止 + { label: 'mes.pms.inQC', value: 'qa' }, // 品保中 + { label: 'mes.finished', value: 'close' }, // 完成 + { label: 'mes.edit', value: 'edit' }, // 编辑 + { label: 'mes.pms.inInvestigation', value: 'investigate' }, // 调查中 + { label: 'mes.pms.reRepair', value: 'rework' }, // 重新维修 + { label: 'mes.pms.inRepair', value: 'running' }, // 维修中 + { label: 'mes.pms.prdApproval', value: 'mfg' }, // 制造签核中 +] +export const stateItem = [ + { label: 'mes.pms.awaitRepair', value: 'wait' }, // 待维修 + { label: 'mes.pms.reRepair', value: 'rework' }, // 重新维修 + { label: 'mes.finished', value: 'completed' }, // 完成 +] +export const stateTag = [ + { label: 'common.new', value: 'add', type: 'success' }, // 新增 + { label: 'common.cancel', value: 'cancel', type: 'warning' }, // 取消 + { label: 'mes.pms.stop', value: 'abort', type: 'danger' }, // 中止 + { label: 'mes.pms.inQC', value: 'qa', type: 'warning' }, // 品保中 + { label: 'mes.finished', value: 'close', type: 'success' }, // 完成 + { label: 'mes.edit', value: 'edit', type: 'primary' }, // 编辑 + { label: 'mes.pms.inInvestigation', value: 'investigate', type: 'warning' }, // 调查中 + { label: 'mes.pms.reRepair', value: 'rework', type: 'warning' }, // 重新维修 + { label: 'mes.pms.inRepair', value: 'running', type: 'danger' }, // 维修中 + { label: 'mes.pms.prdApproval', value: 'mfg', type: 'warning' }, // 制造签核中 +] + +export const tableObj = { + column1: [ + { prop: 'brokenDescription', label: 'mes.pms.faultDesc', width: '200', fixed: 'left' }, // 故障说明 + { prop: 'equipName', label: 'mes.equipmentNumber', width: '150', fixed: 'left' }, // 设备编号 + { prop: 'equipDescription', label: 'mes.equipmentDesc', width: '200' }, // 设备说明 + { prop: 'stateName', label: 'crud.column.label.status1', width: '120' }, // 状态 + ], + column2: [ + { prop: 'creatorFullName', label: 'mes.pms.repairRequestUser', width: '180' }, // 报修人员 + { prop: 'creatorMobile', label: 'mes.pms.mobile', width: '160' }, // 手机号码 + { prop: 'brokenTime', label: 'mes.pms.faultTime', width: '160' }, // 故障时间 + { prop: 'createdTime', label: 'mes.pms.repairRequestTime', width: '180' }, // 报修时间 + ], +} diff --git a/src/views/mes/pms/repair/repair-order/repair-info/items.vue b/src/views/mes/pms/repair/repair-order/repair-info/items.vue new file mode 100644 index 0000000..0755545 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/repair-info/items.vue @@ -0,0 +1,133 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/repair-info/link-open.vue b/src/views/mes/pms/repair/repair-order/repair-info/link-open.vue new file mode 100644 index 0000000..88d5452 --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/repair-info/link-open.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/repair-info/lot-no.vue b/src/views/mes/pms/repair/repair-order/repair-info/lot-no.vue new file mode 100644 index 0000000..f01c53e --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/repair-info/lot-no.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/repair-info/main.vue b/src/views/mes/pms/repair/repair-order/repair-info/main.vue new file mode 100644 index 0000000..464f84f --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/repair-info/main.vue @@ -0,0 +1,252 @@ + + + diff --git a/src/views/mes/pms/repair/repair-order/repair-info/repair-hist.vue b/src/views/mes/pms/repair/repair-order/repair-info/repair-hist.vue new file mode 100644 index 0000000..a8a229a --- /dev/null +++ b/src/views/mes/pms/repair/repair-order/repair-info/repair-hist.vue @@ -0,0 +1,176 @@ + + + diff --git a/src/views/mes/pms/system/broken-code/index.vue b/src/views/mes/pms/system/broken-code/index.vue new file mode 100644 index 0000000..a270b50 --- /dev/null +++ b/src/views/mes/pms/system/broken-code/index.vue @@ -0,0 +1,495 @@ + + + diff --git a/src/views/mes/pms/system/insp-category/index.vue b/src/views/mes/pms/system/insp-category/index.vue new file mode 100644 index 0000000..da337b6 --- /dev/null +++ b/src/views/mes/pms/system/insp-category/index.vue @@ -0,0 +1,535 @@ + + + diff --git a/src/views/mes/pms/system/insp-item-group/index.vue b/src/views/mes/pms/system/insp-item-group/index.vue new file mode 100644 index 0000000..54ad6fb --- /dev/null +++ b/src/views/mes/pms/system/insp-item-group/index.vue @@ -0,0 +1,521 @@ + + + diff --git a/src/views/mes/pms/system/ma-item-group/index.vue b/src/views/mes/pms/system/ma-item-group/index.vue new file mode 100644 index 0000000..d23eaa4 --- /dev/null +++ b/src/views/mes/pms/system/ma-item-group/index.vue @@ -0,0 +1,531 @@ + + + diff --git a/src/views/mes/pms/system/part-category/index.vue b/src/views/mes/pms/system/part-category/index.vue new file mode 100644 index 0000000..9d021a1 --- /dev/null +++ b/src/views/mes/pms/system/part-category/index.vue @@ -0,0 +1,543 @@ + + + diff --git a/src/views/mes/pms/system/part/index.vue b/src/views/mes/pms/system/part/index.vue new file mode 100644 index 0000000..bc1584b --- /dev/null +++ b/src/views/mes/pms/system/part/index.vue @@ -0,0 +1,625 @@ + + + diff --git a/src/views/mes/pms/system/struct-code/index.vue b/src/views/mes/pms/system/struct-code/index.vue new file mode 100644 index 0000000..3b5fd2e --- /dev/null +++ b/src/views/mes/pms/system/struct-code/index.vue @@ -0,0 +1,522 @@ + + + diff --git a/src/views/mes/pms/system/user/index.vue b/src/views/mes/pms/system/user/index.vue new file mode 100644 index 0000000..525ddb9 --- /dev/null +++ b/src/views/mes/pms/system/user/index.vue @@ -0,0 +1,601 @@ + + + diff --git a/src/views/mes/pms/system/work-group/index.vue b/src/views/mes/pms/system/work-group/index.vue new file mode 100644 index 0000000..85705f1 --- /dev/null +++ b/src/views/mes/pms/system/work-group/index.vue @@ -0,0 +1,724 @@ + + + diff --git a/src/views/mes/pod/index.vue b/src/views/mes/pod/index.vue new file mode 100644 index 0000000..5eb96ab --- /dev/null +++ b/src/views/mes/pod/index.vue @@ -0,0 +1,776 @@ + + + + + diff --git a/src/views/mes/pod/init.js b/src/views/mes/pod/init.js new file mode 100644 index 0000000..86e653b --- /dev/null +++ b/src/views/mes/pod/init.js @@ -0,0 +1,72 @@ +export const lineDialogObj = { + condition: 'workCenter', + tableColumn: [ + { prop: 'workCenter', label: 'mes.productionLine' }, + { prop: 'description', label: 'mes.description' }, + ], + title: 'mes.productionLine', +} + +export const operationDialogObj = { + condition: 'operation', + tableColumn: [ + { prop: 'operation', label: 'mes.process', width: '200' }, + { prop: 'description', label: 'mes.description' }, + ], + title: 'mes.process', +} + +export const resourceDialogObj = { + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.pms.resource', width: '200' }, + { prop: 'description', label: 'mes.description' }, + ], + title: 'mes.pms.resource', +} + +export const workCenterDialogObj = { + title: 'mes.workCenter', + condition: 'workCenter', + tableColumn: [ + { prop: 'workCenter', label: 'mes.workCenter' }, + { prop: 'description', label: 'mes.description' }, + ], +} + +export const lotNoDialogObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.pod.productionItem', width: '150' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '150' }, + { prop: 'item', label: 'mes.item', width: '220' }, + { prop: 'qty', label: 'mes.quantity' }, + { prop: 'stateStatus', label: 'mes.status' }, + ], + title: 'mes.pod.productionItem', +} + +export const workstationData = { + podConfig: {}, + podPanelList: { + moduleNo: '', + moduleName: '', + }, +} + +export const page = { + total: 0, // 总页数 + currentPage: 1, // 当前页数 + pageSize: 20, // 每页显示多少条 +} + +export const lotStateList = [ + { + id: 'Q', + name: 'mes.inQueue', + }, + { + id: 'R', + name: 'mes.inProcess', + }, +] diff --git a/src/views/mes/pod/pod-module/index.vue b/src/views/mes/pod/pod-module/index.vue new file mode 100644 index 0000000..abdf0a6 --- /dev/null +++ b/src/views/mes/pod/pod-module/index.vue @@ -0,0 +1,369 @@ + + + + + diff --git a/src/views/mes/pod/pod-module/init.js b/src/views/mes/pod/pod-module/init.js new file mode 100644 index 0000000..610df9c --- /dev/null +++ b/src/views/mes/pod/pod-module/init.js @@ -0,0 +1,21 @@ +export const podModuleDialogObj = { + condition: 'searchText', + tableColumn: [ + { prop: 'moduleNo', label: 'mes.pod.componentNumber' }, + { prop: 'description', label: 'mes.description' }, + { prop: 'revision', label: 'mes.pod.componentVersion' }, + { prop: 'currentRevision', label: 'mes.pod.isCurrentVersion' }, + ], + title: 'mes.pod.componentNumber', +} + +export const initData = { + moduleNo: '', + revision: '', + currentRevision: 'Y', + description: '', + moduleType: 'T', + content: '', + dataMode: 'SQL', + dataContent: '', +} diff --git a/src/views/mes/pod/workstation/index.vue b/src/views/mes/pod/workstation/index.vue new file mode 100644 index 0000000..ae5e1cc --- /dev/null +++ b/src/views/mes/pod/workstation/index.vue @@ -0,0 +1,848 @@ + + + + + diff --git a/src/views/mes/pod/workstation/init.js b/src/views/mes/pod/workstation/init.js new file mode 100644 index 0000000..102d17a --- /dev/null +++ b/src/views/mes/pod/workstation/init.js @@ -0,0 +1,94 @@ +export const workstationDialogObj = { + condition: 'searchText', + tableColumn: [ + { prop: 'workstationType', label: 'mes.type' }, + { prop: 'workstation', label: 'mes.pod.operationPanel' }, + { prop: 'description', label: 'mes.description' }, + ], + title: 'mes.type', +} + +//产线 +export const lineDialogObj = { + condition: 'line', + tableColumn: [ + { prop: 'workCenter', label: 'mes.productionLine', width: '200' }, + { prop: 'description', label: 'mes.description' }, + ], + title: 'mes.productionLine', +} + +//工作中心 +export const workCenterDialogObj = { + condition: 'workCenter', + tableColumn: [ + { + prop: 'workCenter', + label: 'mes.workCenter', + }, + { + prop: 'description', + label: 'mes.description', + }, + ], + title: 'mes.workCenter', +} + +export const resourceDialogObj = { + condition: 'resrce', + tableColumn: [ + { + prop: 'eqpType', + label: 'mes.equipmentCategory', + }, + { + prop: 'eqpTypeDesc', + label: 'mes.equipmentCategoryDesc', + }, + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'mes.equipmentDesc', + }, + ], + title: 'mes.equipmentCategory', +} + +export const initData = { + workstation: '', + description: '', + status: 'ENABLED', + workstationType: 'O', + podPanelList: [], + podButtonList: [], + podConfig: { + displaySize: 'medium', + showQty: 'N', + defaultOperation: '', + defaultResource: '', + defaultLine: '', + defaultWorkCenter: '', + canChangeOperation: 'Y', + canChangeResource: 'Y', + canChangeLine: 'Y', + canChangeWorkCenter: 'Y', + }, +} + +export const workstationTypeList = [ + { + id: 'O', + name: 'mes.process', + }, + { + id: 'L', + name: 'mes.productionLine', + }, + { + id: 'W', + name: 'mes.workCenter', + }, +] diff --git a/src/views/mes/prd/bom/index.vue b/src/views/mes/prd/bom/index.vue new file mode 100644 index 0000000..747eb5d --- /dev/null +++ b/src/views/mes/prd/bom/index.vue @@ -0,0 +1,1629 @@ + + + diff --git a/src/views/mes/prd/bom/init.js b/src/views/mes/prd/bom/init.js new file mode 100644 index 0000000..1222cce --- /dev/null +++ b/src/views/mes/prd/bom/init.js @@ -0,0 +1,80 @@ +export const keys = { + head: ['bom', 'revision', 'status'], + formComponentDetail: ['seq', 'component', 'bomComponentType', 'operation', 'qty', 'unitQty'], +} + +export const itemDialogObj = { + title: 'mes.prd.item', // 料件 + condition: 'item', + tableColumn: [], +} + +export const operationDialogObj = { + title: 'mes.process', // 工序 + condition: 'operation', + tableColumn: [ + { + prop: 'operation', + label: 'mes.operationNo', // 工序编号 + width: '200', + }, + { + prop: 'description', + label: 'common.description', // 说明 + }, + ], +} + +export const componentDialogObj = { + condition: 'item', + title: 'mes.materialNumber', // 料件编号 + tableColumn: [ + { + prop: 'item', + label: 'mes.materialNumber', // 料件编号 + width: '200', + }, + { + prop: 'revision', + label: 'mes.revision', // 版本 + width: '80', + }, + { + prop: 'description', + label: 'common.description', // 说明 + }, + { + prop: 'typeNo', + label: 'mes.itemType', // 料件类别 + }, + { + prop: 'typeNoDesc', + label: 'mes.prd.itemTypeDesc', // 料件类别说明 + }, + ], +} + +export const initHead = { + bom: '', + revision: '', + currentRevisionCheck: false, + description: '', + status: 'RELEASABLE', + bomComponentList: [], + customFields: [], +} + +export const initDetail = { + seq: '', + component: '', + revision: '', + componentDesc: '', + bomComponentType: '', + operation: '', + qty: '', + unitQty: '', + alternateComponentList: [], + customFields: [], + parentItem: '', + parentItemDesc: '', +} diff --git a/src/views/mes/prd/carrier/carrier-basis/index.vue b/src/views/mes/prd/carrier/carrier-basis/index.vue new file mode 100644 index 0000000..d9bc869 --- /dev/null +++ b/src/views/mes/prd/carrier/carrier-basis/index.vue @@ -0,0 +1,956 @@ + + + diff --git a/src/views/mes/prd/carrier/carrier-basis/init.js b/src/views/mes/prd/carrier/carrier-basis/init.js new file mode 100644 index 0000000..9db4a96 --- /dev/null +++ b/src/views/mes/prd/carrier/carrier-basis/init.js @@ -0,0 +1,17 @@ +export const initDataes = { + carrier: null, + description: null, + carrierType: null, + carrierTypeDesc: null, +} + +export const carrierDialogObj = { + title: 'mes.carrierNumber', // 载具编号 + condition: 'carrier', + tableColumn: [ + { prop: 'carrier', label: 'mes.carrierNumber' }, // 载具编号 + { prop: 'description', label: 'mes.carrierNoDesc' }, // 载具说明 + { prop: 'carrierType', label: 'mes.carrierType' }, // 载具类型 + { prop: 'carrierTypeDesc', label: 'mes.prd.carrierTypeDesc' }, // 载具类型说明 + ], +} diff --git a/src/views/mes/prd/carrier/carrier-member/index.vue b/src/views/mes/prd/carrier/carrier-member/index.vue new file mode 100644 index 0000000..bc5ea28 --- /dev/null +++ b/src/views/mes/prd/carrier/carrier-member/index.vue @@ -0,0 +1,818 @@ + + + diff --git a/src/views/mes/prd/carrier/carrier-type/index.vue b/src/views/mes/prd/carrier/carrier-type/index.vue new file mode 100644 index 0000000..6efc8df --- /dev/null +++ b/src/views/mes/prd/carrier/carrier-type/index.vue @@ -0,0 +1,1065 @@ + + + diff --git a/src/views/mes/prd/carrier/carrier-type/init.js b/src/views/mes/prd/carrier/carrier-type/init.js new file mode 100644 index 0000000..d06178c --- /dev/null +++ b/src/views/mes/prd/carrier/carrier-type/init.js @@ -0,0 +1,16 @@ +export const initDatas = { + carrierType: null, + carrierDesc: null, +} + +export const carrierTypeDialogObj = { + title: 'mes.carrierType', // 载具类型 + condition: 'carrierType', + tableColumn: [ + { prop: 'carrierType', label: 'mes.carrierType' }, // 载具类型 + { prop: 'description', label: 'mes.prd.carrierTypeDesc' }, // 载具类型说明 + ], + queryParam: { + loading: false + } +} diff --git a/src/views/mes/prd/component-serial-number-rule-maintenance/dialog/main.vue b/src/views/mes/prd/component-serial-number-rule-maintenance/dialog/main.vue new file mode 100644 index 0000000..ab775db --- /dev/null +++ b/src/views/mes/prd/component-serial-number-rule-maintenance/dialog/main.vue @@ -0,0 +1,131 @@ + + + + diff --git a/src/views/mes/prd/component-serial-number-rule-maintenance/index.vue b/src/views/mes/prd/component-serial-number-rule-maintenance/index.vue new file mode 100644 index 0000000..bb36ba0 --- /dev/null +++ b/src/views/mes/prd/component-serial-number-rule-maintenance/index.vue @@ -0,0 +1,488 @@ + + + + + diff --git a/src/views/mes/prd/component-serial-number-rule-maintenance/init.js b/src/views/mes/prd/component-serial-number-rule-maintenance/init.js new file mode 100644 index 0000000..f69c52e --- /dev/null +++ b/src/views/mes/prd/component-serial-number-rule-maintenance/init.js @@ -0,0 +1,18 @@ +export const initformObj = { + item: '', +} + +export const itemDialogObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, // 料件編號 + { prop: 'description', label: 'mes.materialBatchDesc' }, // 料件說明 + { prop: 'typeNo', label: 'mes.itemType' }, // 料件類別 + { prop: 'typeNoDesc', label: 'mes.prd.itemTypeDesc' }, // 料件類別說明 + ], + queryParam: { + fieldName: 'INPUT_SN', + fieldValue: 'Y', + currentRevision: 'Y', + }, +} diff --git a/src/views/mes/prd/custom-field-def/index.vue b/src/views/mes/prd/custom-field-def/index.vue new file mode 100644 index 0000000..0390812 --- /dev/null +++ b/src/views/mes/prd/custom-field-def/index.vue @@ -0,0 +1,344 @@ + + + diff --git a/src/views/mes/prd/customer-basis/index.vue b/src/views/mes/prd/customer-basis/index.vue new file mode 100644 index 0000000..96258ba --- /dev/null +++ b/src/views/mes/prd/customer-basis/index.vue @@ -0,0 +1,700 @@ + + + diff --git a/src/views/mes/prd/item-type/index.vue b/src/views/mes/prd/item-type/index.vue new file mode 100644 index 0000000..3c13d2e --- /dev/null +++ b/src/views/mes/prd/item-type/index.vue @@ -0,0 +1,526 @@ + + + diff --git a/src/views/mes/prd/item/index.vue b/src/views/mes/prd/item/index.vue new file mode 100644 index 0000000..1e5f165 --- /dev/null +++ b/src/views/mes/prd/item/index.vue @@ -0,0 +1,1458 @@ + + + diff --git a/src/views/mes/prd/item/init.js b/src/views/mes/prd/item/init.js new file mode 100644 index 0000000..a31cace --- /dev/null +++ b/src/views/mes/prd/item/init.js @@ -0,0 +1,61 @@ +export const initData = { + item: null, + revision: null, + checkVer: false, + description: null, + itemType: 'M', + typeNo: null, + typeNoDesc: null, + bom: null, + bomDesc: null, + router: null, + routerDesc: null, + unitOfMeasure: null, + customFields: [], + qmsQcPlanTargetList: [], + itemSupplierList: [], +} + +export const itemTypeDialogObj = { + title: 'mes.itemType', // 料件类别 + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'mes.itemType' }, // 料件类别 + { prop: 'description', label: 'common.description' }, // 说明 + ], +} +export const routerDialogObj = { + title: 'mes.routerInfo', // 途程 + condition: 'router', + tableColumn: [ + { prop: 'router', label: 'mes.routerInfo' }, // 途程 + { prop: 'revision', label: 'mes.revision' }, // 版本 + { prop: 'segmentBasis', label: 'mes.segment' }, // 工段 + { prop: 'description', label: 'common.description' }, // 说明 + ], + queryParam: { + currentRevision: 'Y', + routerType: 0, + }, +} +export const qcPlanObj = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.qcPlan' }, //检验计划编号 + { prop: 'description', label: 'mes.qcPlanDesc' }, // 检验计划说明 + { prop: 'userGroup', label: 'mes.qcRole' }, // 检验人员群组 + ], + queryParam: { + currentRevision: 'Y', + inspecType: '1', + }, +} +export const supplierObj = { + condition: 'supplierNo', + tableColumn: [ + { prop: 'supplierNo', label: 'mes.abn.supplierNo' }, // 供应商编号 + { prop: 'supplierName', label: 'mes.abn.supplierName' }, // 供应商名称 + { prop: 'contactPerson', label: 'mes.prd.contactPerson' }, // 联络人 + ], + queryParam: {}, +} diff --git a/src/views/mes/prd/lot-laws/index.vue b/src/views/mes/prd/lot-laws/index.vue new file mode 100644 index 0000000..34f74a5 --- /dev/null +++ b/src/views/mes/prd/lot-laws/index.vue @@ -0,0 +1,1499 @@ + + diff --git a/src/views/mes/prd/lot-laws/init.js b/src/views/mes/prd/lot-laws/init.js new file mode 100644 index 0000000..ed06d29 --- /dev/null +++ b/src/views/mes/prd/lot-laws/init.js @@ -0,0 +1,133 @@ +export const operatorList = [ + { + label: '<', + value: '<', + }, + { + label: '<=', + value: '<=', + }, + { + label: '>', + value: '>', + }, + { + label: '>=', + value: '>=', + }, + { + label: '=', + value: '=', + }, +] + +export const binKey = [ + 'WAFER-VAR-003', + 'WAFER-VAR-004', + 'WAFER-VAR-005', + 'WAFER-VAR-006', + 'WAFER-VAR-007', + 'WAFER-VAR-008', + 'WAFER-VAR-009', + 'WAFER-VAR-010', + 'FT-VAR-002', + 'FT-VAR-003', + 'FT-VAR-004', + 'FT-VAR-005', + 'FT-VAR-006', + 'FT-VAR-007', +] + +export const lotKey = ['LOT-VAR-005'] + +export const requiredKeys = { + form: ['ruleNo'], + formSetup: ['seq'], +} + +export const initForm = { + ruleNo: '', + description: '', + kind: 'L', + detail: [], + actionPoint: '0', +} + +export const initLogic = { + seq: '', + rule: '', + setup: [], + action: '', + message: '', +} + +export const initSetup = { + logicSeq: 1, + variableNo: '', + operator: '', + checkValue: '', + logic: '', + startOp: '', + startOpTime: 'START', + endOp: '', + endOpTime: 'START', + bin: [], + choiceOperation: false, + choiceBin: false, +} + +export const operationDialogObj = { + condition: 'operation', + tableColumn: [ + { + prop: 'operation', + label: 'mes.operationNo', // 工序编号 + width: '200', + }, + { + prop: 'description', + label: 'common.description', // 说明 + }, + { + prop: 'segmentBasisBo', + label: 'mes.prd.segmentNo', // 工段编号 + width: '200', + }, + ], +} +export const eventDialogObj = { + condition: 'eventId', + tableColumn: [ + { prop: 'eventId', label: 'mes.prd.eventNo' }, // 事件编号 + { prop: 'eventName', label: 'mes.prd.eventName' }, // 事件名称 + { prop: 'eventDesc', label: 'mes.prd.eventDesc' }, // 事件说明 + ], + queryParam: {}, + page: false, +} + +export const kinds = [ + { + label: 'L', + value: 'L', + }, + { + label: 'W', + value: 'W', + }, + { + label: 'F', + value: 'F', + }, +] + +export const actionPoints = [ + { + label: 'mes.checkIn', // 进站 + value: '0', + }, + { + label: 'mes.checkOut', // 出站 + value: '1', + }, +] diff --git a/src/views/mes/prd/nc-basis/index.vue b/src/views/mes/prd/nc-basis/index.vue new file mode 100644 index 0000000..bba7b99 --- /dev/null +++ b/src/views/mes/prd/nc-basis/index.vue @@ -0,0 +1,990 @@ + + + diff --git a/src/views/mes/prd/nc-group/index.vue b/src/views/mes/prd/nc-group/index.vue new file mode 100644 index 0000000..b870039 --- /dev/null +++ b/src/views/mes/prd/nc-group/index.vue @@ -0,0 +1,723 @@ + + + diff --git a/src/views/mes/prd/next-number/index.vue b/src/views/mes/prd/next-number/index.vue new file mode 100644 index 0000000..3ffe081 --- /dev/null +++ b/src/views/mes/prd/next-number/index.vue @@ -0,0 +1,731 @@ + + + + + diff --git a/src/views/mes/prd/op-line-confing/index.vue b/src/views/mes/prd/op-line-confing/index.vue new file mode 100644 index 0000000..946bf16 --- /dev/null +++ b/src/views/mes/prd/op-line-confing/index.vue @@ -0,0 +1,790 @@ + + + + diff --git a/src/views/mes/prd/op-line-confing/init.js b/src/views/mes/prd/op-line-confing/init.js new file mode 100644 index 0000000..efeb9b1 --- /dev/null +++ b/src/views/mes/prd/op-line-confing/init.js @@ -0,0 +1,51 @@ +// 開線檢編號 obj +export const lineOpenDialogObj = { + title: 'mes.prd.startLineInspectionNumber', + condition: 'lineOpCheckId', + tableColumn: [ + { + prop: 'lineOpCheckId', + label: 'mes.prd.startLineInspectionNumber', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'status', + label: 'crud.column.label.status1', + }, + ], + queryParam: {}, +} + +export const initForm = { + lineOpCheckId: '', + type: '', + status: '', + lineOpCheckLists: [], + lineOpCheckMembers: [], + customFields: [], +} + +export const statusList = [ + { + value: '0', + label: 'mes.enabledFlag', // 啟用 + }, + { + value: '1', + label: 'mes.prd.deactivate', //停用 + }, +] + +export const typeList = [ + { + value: 'L', + label: 'mes.productionLine', //產線 + }, + { + value: 'S', + label: 'mes.process', //工序 + }, +] diff --git a/src/views/mes/prd/operation/index.vue b/src/views/mes/prd/operation/index.vue new file mode 100644 index 0000000..b748567 --- /dev/null +++ b/src/views/mes/prd/operation/index.vue @@ -0,0 +1,751 @@ + + + diff --git a/src/views/mes/prd/parameter-basis/index.vue b/src/views/mes/prd/parameter-basis/index.vue new file mode 100644 index 0000000..d6b7a81 --- /dev/null +++ b/src/views/mes/prd/parameter-basis/index.vue @@ -0,0 +1,1175 @@ + + diff --git a/src/views/mes/prd/pdcbasis/index.vue b/src/views/mes/prd/pdcbasis/index.vue new file mode 100644 index 0000000..e11a192 --- /dev/null +++ b/src/views/mes/prd/pdcbasis/index.vue @@ -0,0 +1,805 @@ + + + + diff --git a/src/views/mes/prd/pdcbasis/init.js b/src/views/mes/prd/pdcbasis/init.js new file mode 100644 index 0000000..f77059d --- /dev/null +++ b/src/views/mes/prd/pdcbasis/init.js @@ -0,0 +1,27 @@ +export const initData = { + pdcNo: null, + status: '0', + description: null, + customFields: [], + parameterBasesList: [], +} + +export const pdcDialogObj = { + title: 'mes.prd.PDCDataFields', // PDC主数据 + condition: 'pdcNo', + tableColumn: [ + { prop: 'pdcNo', label: 'mes.prd.PDCNo' }, // PDC编号 + { prop: 'description', label: 'common.description' }, // 说明 + { prop: 'status', label: 'crud.column.label.status1' }, // 状态 + ], +} + +export const pdcParameterDialogObj = { + title: 'mes.prd.paramDataFields', // 参数主数据 + condition: 'parameterNo', + tableColumn: [ + { prop: 'parameterNo', label: 'mes.ecn.paramNo' }, // 参数编号 + { prop: 'description', label: 'common.description' }, // 说明 + { prop: 'dataType', label: 'mes.prd.dataType' }, // 型别 + ], +} diff --git a/src/views/mes/prd/product-config/content/custPart.vue b/src/views/mes/prd/product-config/content/custPart.vue new file mode 100644 index 0000000..32ac33d --- /dev/null +++ b/src/views/mes/prd/product-config/content/custPart.vue @@ -0,0 +1,228 @@ + + + diff --git a/src/views/mes/prd/product-config/content/eqp.vue b/src/views/mes/prd/product-config/content/eqp.vue new file mode 100644 index 0000000..bad264a --- /dev/null +++ b/src/views/mes/prd/product-config/content/eqp.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/views/mes/prd/product-config/content/formula.vue b/src/views/mes/prd/product-config/content/formula.vue new file mode 100644 index 0000000..158ae07 --- /dev/null +++ b/src/views/mes/prd/product-config/content/formula.vue @@ -0,0 +1,292 @@ + + + diff --git a/src/views/mes/prd/product-config/content/main.vue b/src/views/mes/prd/product-config/content/main.vue new file mode 100644 index 0000000..9b3448d --- /dev/null +++ b/src/views/mes/prd/product-config/content/main.vue @@ -0,0 +1,258 @@ + + + diff --git a/src/views/mes/prd/product-config/content/map-offset.vue b/src/views/mes/prd/product-config/content/map-offset.vue new file mode 100644 index 0000000..09d4115 --- /dev/null +++ b/src/views/mes/prd/product-config/content/map-offset.vue @@ -0,0 +1,274 @@ + + + + + diff --git a/src/views/mes/prd/product-config/content/opDesc.vue b/src/views/mes/prd/product-config/content/opDesc.vue new file mode 100644 index 0000000..5d6b58f --- /dev/null +++ b/src/views/mes/prd/product-config/content/opDesc.vue @@ -0,0 +1,119 @@ + + + diff --git a/src/views/mes/prd/product-config/content/parameter.vue b/src/views/mes/prd/product-config/content/parameter.vue new file mode 100644 index 0000000..4bcbd17 --- /dev/null +++ b/src/views/mes/prd/product-config/content/parameter.vue @@ -0,0 +1,392 @@ + + + diff --git a/src/views/mes/prd/product-config/content/pdc.vue b/src/views/mes/prd/product-config/content/pdc.vue new file mode 100644 index 0000000..52f7e03 --- /dev/null +++ b/src/views/mes/prd/product-config/content/pdc.vue @@ -0,0 +1,649 @@ + + + diff --git a/src/views/mes/prd/product-config/content/prd-customData.vue b/src/views/mes/prd/product-config/content/prd-customData.vue new file mode 100644 index 0000000..9f5b235 --- /dev/null +++ b/src/views/mes/prd/product-config/content/prd-customData.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/views/mes/prd/product-config/content/productLine.vue b/src/views/mes/prd/product-config/content/productLine.vue new file mode 100644 index 0000000..0157ec9 --- /dev/null +++ b/src/views/mes/prd/product-config/content/productLine.vue @@ -0,0 +1,311 @@ + + + diff --git a/src/views/mes/prd/product-config/content/qcPlan.vue b/src/views/mes/prd/product-config/content/qcPlan.vue new file mode 100644 index 0000000..9b679f7 --- /dev/null +++ b/src/views/mes/prd/product-config/content/qcPlan.vue @@ -0,0 +1,237 @@ + + + diff --git a/src/views/mes/prd/product-config/content/recipe.vue b/src/views/mes/prd/product-config/content/recipe.vue new file mode 100644 index 0000000..adcf30f --- /dev/null +++ b/src/views/mes/prd/product-config/content/recipe.vue @@ -0,0 +1,846 @@ + + + diff --git a/src/views/mes/prd/product-config/content/rule.vue b/src/views/mes/prd/product-config/content/rule.vue new file mode 100644 index 0000000..5415f78 --- /dev/null +++ b/src/views/mes/prd/product-config/content/rule.vue @@ -0,0 +1,222 @@ + + + diff --git a/src/views/mes/prd/product-config/content/tool.vue b/src/views/mes/prd/product-config/content/tool.vue new file mode 100644 index 0000000..0764c25 --- /dev/null +++ b/src/views/mes/prd/product-config/content/tool.vue @@ -0,0 +1,277 @@ + + + diff --git a/src/views/mes/prd/product-config/dialog/addOP.vue b/src/views/mes/prd/product-config/dialog/addOP.vue new file mode 100644 index 0000000..195367e --- /dev/null +++ b/src/views/mes/prd/product-config/dialog/addOP.vue @@ -0,0 +1,186 @@ + + + diff --git a/src/views/mes/prd/product-config/dialog/copy.vue b/src/views/mes/prd/product-config/dialog/copy.vue new file mode 100644 index 0000000..676ee75 --- /dev/null +++ b/src/views/mes/prd/product-config/dialog/copy.vue @@ -0,0 +1,207 @@ + + + diff --git a/src/views/mes/prd/product-config/dialog/icon.vue b/src/views/mes/prd/product-config/dialog/icon.vue new file mode 100644 index 0000000..ddb63ae --- /dev/null +++ b/src/views/mes/prd/product-config/dialog/icon.vue @@ -0,0 +1,130 @@ + + + diff --git a/src/views/mes/prd/product-config/index.vue b/src/views/mes/prd/product-config/index.vue new file mode 100644 index 0000000..e376a15 --- /dev/null +++ b/src/views/mes/prd/product-config/index.vue @@ -0,0 +1,2422 @@ + + + diff --git a/src/views/mes/prd/product-config/init.js b/src/views/mes/prd/product-config/init.js new file mode 100644 index 0000000..3ee6b99 --- /dev/null +++ b/src/views/mes/prd/product-config/init.js @@ -0,0 +1,118 @@ +export const flagObj = { + searchCheck: true, + repeatFlag: false, + checkFlag: false, +} +export const addOPInitData = { + segmentBasis: null, + productOp: [], +} +export const copyFormObjInit = { + status: null, + item: null, + revision: null, + description: null, + newItem: null, + newRevision: null, + newDescription: null, +} +export const iconInitData = { + list: [], +} +export const searchInitData = { + handle: null, + item: '', + revision: '', + description: '', + status: null, +} +export const initData = { + handle: null, + bom: null, + bomBo: null, + itemBo: null, + bomDesc: null, + router: null, + routerBo: null, + routerDesc: null, + updater: null, + dateUpdate: null, + status: null, + lotSize: null, +} +export const opInitData = { + handle: null, + operationBo: null, + productConfigBo: null, + operation: null, + operationDesc: null, + description: null, +} +export const parameterInitData = { + handle: null, + parameterBasisBo: null, +} +export const ruleInitData = { + handle: null, + productOpBo: null, +} +export const productLineInitData = { + handle: null, + productConfigBo: null, +} +export const custInitData = { + handle: null, + productConfigBo: null, +} +export const eqpInitData = { + handle: null, + productOpBo: null, +} +export const toolInitData = { + handle: null, + productConfigBo: null, +} +export const formulaInitData = { + handle: null, + productConfigBo: null, +} +export const qcPlanInitData = { + handle: null, + qcPlanBo: null, +} + +export const pdcInitData = { + handle: null, + productOpBo: null, +} + +export const recipeInitData = { + handle: null, + recipeBo: null, +} +export const mapOffsetInitData = { + productOpBo: null, +} +export const fieldsInitData = { + customFields: [], +} +export const selectBox = { + segmentBasis: [], +} +export const defaultProps = { + children: 'children', + label: 'label', +} +export const itemDialogObj = { + title: 'mes.materialNumber', + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, // 料件编号 + { prop: 'revision', label: 'mes.revision' }, // 版本 + { prop: 'description', label: 'common.description' }, // 说明 + ], + queryParam: { + currentRevision: 'Y', + itemType: 'M', + }, +} diff --git a/src/views/mes/prd/reason-code/index.vue b/src/views/mes/prd/reason-code/index.vue new file mode 100644 index 0000000..9434b53 --- /dev/null +++ b/src/views/mes/prd/reason-code/index.vue @@ -0,0 +1,500 @@ + + diff --git a/src/views/mes/prd/reason-code/init.js b/src/views/mes/prd/reason-code/init.js new file mode 100644 index 0000000..26a2f70 --- /dev/null +++ b/src/views/mes/prd/reason-code/init.js @@ -0,0 +1,12 @@ +export const initForm = { + reasonCode: '', + description: '', + category: '', + customFields: [] +} + +export const page = { + total: 0, // 总页数 + currentPage: 1, // 当前页数 + pageSize: 20 // 每页显示多少条 +} diff --git a/src/views/mes/prd/recipe-config/dialog/action.vue b/src/views/mes/prd/recipe-config/dialog/action.vue new file mode 100644 index 0000000..9041de1 --- /dev/null +++ b/src/views/mes/prd/recipe-config/dialog/action.vue @@ -0,0 +1,363 @@ + + + + + diff --git a/src/views/mes/prd/recipe-config/dialog/process-step-param.vue b/src/views/mes/prd/recipe-config/dialog/process-step-param.vue new file mode 100644 index 0000000..26a7f60 --- /dev/null +++ b/src/views/mes/prd/recipe-config/dialog/process-step-param.vue @@ -0,0 +1,543 @@ + + + + + diff --git a/src/views/mes/prd/recipe-config/index.vue b/src/views/mes/prd/recipe-config/index.vue new file mode 100644 index 0000000..5219806 --- /dev/null +++ b/src/views/mes/prd/recipe-config/index.vue @@ -0,0 +1,1258 @@ + + + diff --git a/src/views/mes/prd/recipe-config/init.js b/src/views/mes/prd/recipe-config/init.js new file mode 100644 index 0000000..c0ad15c --- /dev/null +++ b/src/views/mes/prd/recipe-config/init.js @@ -0,0 +1,62 @@ +export const initData = { + revision: null, + checkVer: false, + description: null, + status: '0', + type: null, + recipeNo: null, + unitOfMeasure: null, + version: null, + currentRevision: null, + customFields: [], + parameterBases: [], + recipeSteps: [], +} +export const initParamData = { + parameterTable: [], +} + +export const initActionForm = { + item: '', + stad_qty: '', + unit_qty: '', + command_id: '', + event_id: '', + system_name: '', + message_id: '', +} + +export const parameterNoObj = { + title: 'mes.ecn.paramNo', // 参数编号 + condition: 'parameterNo', + tableColumn: [ + { prop: 'parameterNo', label: 'mes.ecn.paramNo' }, // 参数编号 + { prop: 'description', label: 'common.description' }, // 说明 + { prop: 'dataType', label: 'mes.prd.dataType' }, // 型别 + ], + queryParam: {}, +} + +export const recipeNoObj = { + title: 'mes.prd.RecipeNo', // recipe编号 + condition: 'recipeNo', + tableColumn: [ + { prop: 'recipeNo', label: 'mes.prd.RecipeNo' }, // recipe编号 + { prop: 'description', label: 'common.description' }, // 说明 + ], +} + +export const itemObj = { + title: 'mes.materialNumber', // recipe编号 + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, // 料件編號 + { prop: 'revision', label: 'mes.revision' }, // 版本 + { prop: 'description', label: 'common.description' }, // 说明 + { prop: 'itemType', label: 'crud.column.label.type' }, // 類型 + { prop: 'typeNo', label: 'mes.itemType' }, // 料件類別 + ], + queryParam: { + currentRevision: 'Y', + }, +} diff --git a/src/views/mes/prd/router/index.vue b/src/views/mes/prd/router/index.vue new file mode 100644 index 0000000..bc916c0 --- /dev/null +++ b/src/views/mes/prd/router/index.vue @@ -0,0 +1,876 @@ + + + + diff --git a/src/views/mes/prd/segment-basis/index.vue b/src/views/mes/prd/segment-basis/index.vue new file mode 100644 index 0000000..5f5a244 --- /dev/null +++ b/src/views/mes/prd/segment-basis/index.vue @@ -0,0 +1,543 @@ + + + + diff --git a/src/views/mes/prd/vendor-maintenance/dialog/add.vue b/src/views/mes/prd/vendor-maintenance/dialog/add.vue new file mode 100644 index 0000000..832fade --- /dev/null +++ b/src/views/mes/prd/vendor-maintenance/dialog/add.vue @@ -0,0 +1,281 @@ + + + diff --git a/src/views/mes/prd/vendor-maintenance/index.vue b/src/views/mes/prd/vendor-maintenance/index.vue new file mode 100644 index 0000000..23cc2b1 --- /dev/null +++ b/src/views/mes/prd/vendor-maintenance/index.vue @@ -0,0 +1,492 @@ + + + diff --git a/src/views/mes/prd/vendor-maintenance/init.js b/src/views/mes/prd/vendor-maintenance/init.js new file mode 100644 index 0000000..8ef776f --- /dev/null +++ b/src/views/mes/prd/vendor-maintenance/init.js @@ -0,0 +1,12 @@ +export const searchFormInti = { + supplierNo: '' +} + +export const addInti = { + handle: '', + supplierNo: '', + supplierName: '', + address: '', + contactPerson: '', + tel: '' +} \ No newline at end of file diff --git a/src/views/mes/prd/work-group/user-work-shift/index.vue b/src/views/mes/prd/work-group/user-work-shift/index.vue new file mode 100644 index 0000000..141b562 --- /dev/null +++ b/src/views/mes/prd/work-group/user-work-shift/index.vue @@ -0,0 +1,621 @@ + + + + + diff --git a/src/views/mes/prd/work-group/work-group-active/index.vue b/src/views/mes/prd/work-group/work-group-active/index.vue new file mode 100644 index 0000000..b4a75be --- /dev/null +++ b/src/views/mes/prd/work-group/work-group-active/index.vue @@ -0,0 +1,917 @@ + + + + diff --git a/src/views/mes/prd/work-group/work-group-calendar/index.vue b/src/views/mes/prd/work-group/work-group-calendar/index.vue new file mode 100644 index 0000000..63c142d --- /dev/null +++ b/src/views/mes/prd/work-group/work-group-calendar/index.vue @@ -0,0 +1,1001 @@ + + + diff --git a/src/views/mes/prd/work-group/work-group-type/index.vue b/src/views/mes/prd/work-group/work-group-type/index.vue new file mode 100644 index 0000000..f938d2e --- /dev/null +++ b/src/views/mes/prd/work-group/work-group-type/index.vue @@ -0,0 +1,731 @@ + + + + diff --git a/src/views/mes/prd/workShift/index.vue b/src/views/mes/prd/workShift/index.vue new file mode 100644 index 0000000..e6e77e2 --- /dev/null +++ b/src/views/mes/prd/workShift/index.vue @@ -0,0 +1,1220 @@ + + + diff --git a/src/views/mes/qms/inspec-freq/index.vue b/src/views/mes/qms/inspec-freq/index.vue new file mode 100644 index 0000000..79a21f8 --- /dev/null +++ b/src/views/mes/qms/inspec-freq/index.vue @@ -0,0 +1,920 @@ + + + + diff --git a/src/views/mes/qms/inspec-freq/init.js b/src/views/mes/qms/inspec-freq/init.js new file mode 100644 index 0000000..91d0ec6 --- /dev/null +++ b/src/views/mes/qms/inspec-freq/init.js @@ -0,0 +1,84 @@ +export const initForm = { + inspecType: '', + inspecNo: '', + description: '', +} + +export const freqData = [ + { + item: 'inspec.chk.sfc', + prefix: 'mes.qms.firstProductionBatchOfWorkOrder', + visible: false, + hourValue: '', + width: 'width: 100px;', + }, + { + item: 'inspec.chk.daily.first.sfc', + prefix: 'mes.qms.firstProductionBatchOfTheDay', + visible: false, + hourValue: '', + width: 'width: 100px;', + }, + { + item: 'inspec.chk.change.mould', + prefix: 'mes.qms.firstProductionBatchAfterEquipmentMoldChange', + visible: false, + hourValue: '', + width: 'width: 100px;', + }, + { + item: 'inspec.chk.mainten.first.sfc', + prefix: 'mes.qms.firstProductionBatchAfterEquipmentMaintenance', + visible: false, + hourValue: '', + width: 'width: 100px;', + }, + { + item: 'inspec.chk.stop.after.sfc', + prefix: 'mes.qms.equipmentDowntime', + suffix: 'mes.qms.firstProductionBatchAfterHoursOfReactivation', + visible: true, + hourValue: '', + width: 'width: 100px;', + }, + { + item: 'inspec.chk.interval.hour', + prefix: 'mes.qms.interval', + suffix: 'mes.qms.hoursMachinePlusMaterial', + visible: true, + hourValue: '', + width: 'width: 100px;', + }, + { + item: 'inspec.chk.interval.hour2', + prefix: 'mes.qms.interval', + suffix: 'mes.qms.hoursMachinePlusInspectionPlan', + visible: true, + hourValue: '', + width: 'width: 100px;', + }, + { + item: 'inspec.chk.several.sfc', + prefix: 'mes.qms.every', + suffix: 'mes.qms.perBatchOrSfc', + visible: true, + hourValue: '', + width: 'width: 100px;', + }, + { + item: 'inspec.chk.daily.fixed.time', + prefix: 'mes.qms.fixedTimeEveryDay', + suffix: '', + visible: true, + hourValue: '', + width: 'width: 300px;', + }, + { + item: 'inspec.chk.each.pcs', + prefix: 'mes.qms.every', + suffix: 'mes.qms.pcsWorkstationPlusResource', + visible: true, + hourValue: '', + width: 'width: 100px;', + }, +] diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-attachment.vue b/src/views/mes/qms/inspec-instrument/content/inspec-attachment.vue new file mode 100644 index 0000000..9052efd --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-attachment.vue @@ -0,0 +1,447 @@ + + + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-close.vue b/src/views/mes/qms/inspec-instrument/content/inspec-close.vue new file mode 100644 index 0000000..6952872 --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-close.vue @@ -0,0 +1,159 @@ + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-count.vue b/src/views/mes/qms/inspec-instrument/content/inspec-count.vue new file mode 100644 index 0000000..94d895f --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-count.vue @@ -0,0 +1,414 @@ + + + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-job.vue b/src/views/mes/qms/inspec-instrument/content/inspec-job.vue new file mode 100644 index 0000000..7df2100 --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-job.vue @@ -0,0 +1,270 @@ + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-judge.vue b/src/views/mes/qms/inspec-instrument/content/inspec-judge.vue new file mode 100644 index 0000000..aea6c19 --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-judge.vue @@ -0,0 +1,237 @@ + + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-measure.vue b/src/views/mes/qms/inspec-instrument/content/inspec-measure.vue new file mode 100644 index 0000000..0c13c79 --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-measure.vue @@ -0,0 +1,355 @@ + + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-result.vue b/src/views/mes/qms/inspec-instrument/content/inspec-result.vue new file mode 100644 index 0000000..a016204 --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-result.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-text.vue b/src/views/mes/qms/inspec-instrument/content/inspec-text.vue new file mode 100644 index 0000000..94a439e --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-text.vue @@ -0,0 +1,187 @@ + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec-view.vue b/src/views/mes/qms/inspec-instrument/content/inspec-view.vue new file mode 100644 index 0000000..323edc9 --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec-view.vue @@ -0,0 +1,221 @@ + + + diff --git a/src/views/mes/qms/inspec-instrument/content/inspec.js b/src/views/mes/qms/inspec-instrument/content/inspec.js new file mode 100644 index 0000000..ac9362f --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/content/inspec.js @@ -0,0 +1,81 @@ +export const jobForm = { + inspecType: '', + qcPlan: '', + lotNo: '', + operation: '', + resrce: '', + status: '1', +} +export const judgeForm = { + jobNo: null, + newResult: null, + result: null, + judgeRemark: null, + judgeUser: null, + createAbn: null, + abnGroup: null, + reasonCode: null, + storageQty: '0', + returnQty: '0', + destructiveQty: '0', + testsampleQty: '0', +} + +export const closeForm = { + remark: null, + userName: null, + name: null, + closeDate: null, + destructiveQty: '0', + testsampleQty: '0', +} +export const textForm = { + qcItem: '', + qcItemDesc: '', + contentDesc: '', + content: '', + contentResult: { content: '' }, + factorList: [ + { + description: 'mes.process', + value: 'OP1', + }, + ], +} + +export const measureForm = { + qcItem: '', + qcItemDesc: '', + sampleSize: 5, + areaQty: 3, + dieQty: 2, + maxValue: 4, + centerValue: 2, + minValue: 0, + areaInfo: '', + resultList: [], + factorList: [ + { + description: 'mes.equipment', + value: 'Resource1', + }, + ], +} +export const countForm = { + qcItem: '', + qcItemDesc: '', + sampleSize: 5, + areaQty: 3, + dieQty: 2, + maxValue: 4, + centerValue: 2, + minValue: 0, + areaInfo: '{ "1":"T1", "2":"T2", "3":"T3" }', + resultList: [], + factorList: [ + { + description: 'mes.equipment', + value: 'Resource1', + }, + ], +} diff --git a/src/views/mes/qms/inspec-instrument/index.vue b/src/views/mes/qms/inspec-instrument/index.vue new file mode 100644 index 0000000..4b0af9c --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/index.vue @@ -0,0 +1,1085 @@ + + + diff --git a/src/views/mes/qms/inspec-instrument/init.js b/src/views/mes/qms/inspec-instrument/init.js new file mode 100644 index 0000000..272b76f --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/init.js @@ -0,0 +1,161 @@ +export const init = { + inspecType: '', + qcPlan: '', + lotNo: '', + operation: '', + resrce: '', + status: '1', +} + +export const searchRules = { + from: [{ required: true, message: '', trigger: ['change', 'blur'] }], +} +export const tableObj = [ + { prop: 'qcPlan', label: 'mes.qcPlan', width: '200' }, // 检验计划编号 + { prop: 'groupNo', label: 'mes.qms.instrumentGroup', width: '200' }, // 仪器群组 + { prop: 'resrce', label: 'mes.resrce', width: '200' }, // 仪器设备 + { prop: 'qcFreq', label: 'mes.qms.billingFrequency', width: '200' }, // 开单频率 +] +export const qcTableObj = [ + { prop: 'newItemType', label: 'mes.qms.qualityControlMethod', width: '100' }, + { prop: 'qcItem', label: 'mes.qcItem', width: '200' }, + { prop: 'qcItemDesc', label: 'mes.inspectionItemDescription', width: '300' }, + { prop: 'newResult', label: 'mes.inspectionResult', width: '100' }, +] + +// 检验计划 +export const qcPlanObj = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.inspectionPlan' }, + { prop: 'description', label: 'mes.qcPlanDesc' }, + { prop: 'revision', label: 'mes.revision' }, + ], + queryParam: { + inspecType: '3', + currentRevision: 'Y', + }, +} +// 检验计划 +export const qcPlanSearchObj = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.inspectionPlan' }, + { prop: 'description', label: 'mes.qcPlanDesc' }, + ], + queryParam: { + inspecType: '3', + currentRevision: 'Y', + }, +} +// 检验人员群组 +export const userGroupSearchObj = { + title: 'mes.qcRole', + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.abn.roleDialogObj.roleCode' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: { + delFlag: '1', + }, +} + +// 仪器群组 +export const instrumentGroupObj = { + title: 'mes.qms.instrumentGroup', + condition: 'groupNo', + tableColumn: [ + { prop: 'groupNo', label: 'mes.groupNo' }, + { prop: 'groupName', label: 'mes.groupName' }, + { prop: 'description', label: 'common.description' }, + ], +} + +// 仪器设备 +export const eqpObj = { + title: 'mes.resrce', + condition: 'resrce', + tableColumn: [ + { prop: 'groupNo', label: 'mes.groupNo' }, + { prop: 'groupName', label: 'mes.groupName' }, + { prop: 'resrce', label: 'mes.pms.resrceName' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + groupNo: null, + creator: null, + kind: '2', + }, +} + +export const resultList = [ + { value: '0', label: 'NG' }, + { value: '1', label: 'OK' }, + // { value: '2', label: 'mes.specialProcurement' }, + // { value: '3', label: 'mes.return' }, + // { value: '4', label: 'mes.reinspection' }, +] +export const resultObj = { + 0: 'NG', + 1: 'OK', + 2: 'mes.specialProcurement', + 3: 'mes.return', + 4: 'mes.reinspection', +} +export const abnStatusObj = { + 0: 'mes.run', + 1: 'mes.abn.status.dismiss', +} + +export const sampleType = { + 0: 'mes.fixedSamplingNumber', + 1: 'mes.fixedSamplingRatio', + 2: 'AQL', + 3: 'mes.table1916', + 4: 'mes.custom', +} + +export const controlMode = { + 0: 'mes.qms.upperLimitControl', + 1: 'mes.qms.lowerLimitControl', + 2: 'mes.qms.doubleSidedControl', +} + +export const inspecJobStatusObj = { + 1: 'mes.createNew', + 2: 'mes.inOperation', + 3: 'mes.completed', + 4: 'mes.closed', + 5: 'mes.qms.judged', +} + +export const abnGroupObj = { + title: 'mes.qms.abnormalOrderGroup', + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.qms.roleIdentifier' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: {}, +} + +// 异常原因 +export const reasonCodeObj = { + title: 'mes.abnormalReason', + condition: 'reasonCode', + tableColumn: [ + { prop: 'reasonCode', label: 'mes.reasonCode' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + category: 'H', + }, +} + +export const calTypeList = [ + { value: '0', label: 'mes.qms.internalCalibration' }, // 內校 + { value: '1', label: 'mes.qms.externalCalibration' }, // 外校 +] diff --git a/src/views/mes/qms/inspec-instrument/ui/job-title.vue b/src/views/mes/qms/inspec-instrument/ui/job-title.vue new file mode 100644 index 0000000..31bada6 --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/ui/job-title.vue @@ -0,0 +1,51 @@ + + + + diff --git a/src/views/mes/qms/inspec-instrument/ui/search-ui.vue b/src/views/mes/qms/inspec-instrument/ui/search-ui.vue new file mode 100644 index 0000000..028c7f2 --- /dev/null +++ b/src/views/mes/qms/inspec-instrument/ui/search-ui.vue @@ -0,0 +1,284 @@ + + + diff --git a/src/views/mes/qms/inspec/content/inspec-close.vue b/src/views/mes/qms/inspec/content/inspec-close.vue new file mode 100644 index 0000000..6748b26 --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-close.vue @@ -0,0 +1,130 @@ + + diff --git a/src/views/mes/qms/inspec/content/inspec-count.vue b/src/views/mes/qms/inspec/content/inspec-count.vue new file mode 100644 index 0000000..d38dbbb --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-count.vue @@ -0,0 +1,670 @@ + + + + diff --git a/src/views/mes/qms/inspec/content/inspec-factor.vue b/src/views/mes/qms/inspec/content/inspec-factor.vue new file mode 100644 index 0000000..5710e5a --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-factor.vue @@ -0,0 +1,242 @@ + + diff --git a/src/views/mes/qms/inspec/content/inspec-job.vue b/src/views/mes/qms/inspec/content/inspec-job.vue new file mode 100644 index 0000000..a06f891 --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-job.vue @@ -0,0 +1,370 @@ + + diff --git a/src/views/mes/qms/inspec/content/inspec-judge.vue b/src/views/mes/qms/inspec/content/inspec-judge.vue new file mode 100644 index 0000000..cc9c4ba --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-judge.vue @@ -0,0 +1,269 @@ + + diff --git a/src/views/mes/qms/inspec/content/inspec-measure.vue b/src/views/mes/qms/inspec/content/inspec-measure.vue new file mode 100644 index 0000000..b8ec237 --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-measure.vue @@ -0,0 +1,436 @@ + + + diff --git a/src/views/mes/qms/inspec/content/inspec-result.vue b/src/views/mes/qms/inspec/content/inspec-result.vue new file mode 100644 index 0000000..3b9c756 --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-result.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/views/mes/qms/inspec/content/inspec-text.vue b/src/views/mes/qms/inspec/content/inspec-text.vue new file mode 100644 index 0000000..19f52b5 --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-text.vue @@ -0,0 +1,198 @@ + + diff --git a/src/views/mes/qms/inspec/content/inspec-view.vue b/src/views/mes/qms/inspec/content/inspec-view.vue new file mode 100644 index 0000000..e44529c --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec-view.vue @@ -0,0 +1,249 @@ + + + diff --git a/src/views/mes/qms/inspec/content/inspec.js b/src/views/mes/qms/inspec/content/inspec.js new file mode 100644 index 0000000..8f57b44 --- /dev/null +++ b/src/views/mes/qms/inspec/content/inspec.js @@ -0,0 +1,86 @@ +export const jobForm = { + inspecType: '', + qcPlan: '', + lotNo: '', + operation: '', + resrce: '', + status: '1', +} +export const judgeForm = { + jobNo: null, + newResult: null, + result: null, + waiver: null, + judgeRemark: null, + judgeUser: null, + createAbn: null, + abnGroup: null, + reasonCode: null, +} + +export const closeForm = { + remark: null, + userName: null, + name: null, + closeDate: null, +} +export const textForm = { + qcItem: '', + qcItemDesc: '', + contentDesc: '', + content: '', + contentResult: { content: '' }, + factorList: [ + { + description: 'mes.process', + value: 'OP1', + }, + ], +} + +export const measureForm = { + qcItem: '', + qcItemDesc: '', + sampleSize: 5, + areaQty: 3, + dieQty: 2, + maxValue: 4, + centerValue: 2, + minValue: 0, + areaInfo: '{ "1":"T1", "2":"T2", "3":"T3" }', + resultList: [], + factorList: [ + { + description: 'mes.equipment', + value: 'Resource1', + }, + ], +} + +export const countForm = { + qcItem: '', + qcItemDesc: '', + sampleSize: 5, + areaQty: 3, + dieQty: 2, + maxValue: 4, + centerValue: 2, + minValue: 0, + areaInfo: '{ "1":"T1", "2":"T2", "3":"T3" }', + resultList: [], + factorList: [ + { + description: 'mes.equipment', + value: 'Resource1', + }, + ], +} + +export const type = { + inspecType: [ + { + key: '0', + label: '生产', + }, + ], +} diff --git a/src/views/mes/qms/inspec/index.vue b/src/views/mes/qms/inspec/index.vue new file mode 100644 index 0000000..e6ebe31 --- /dev/null +++ b/src/views/mes/qms/inspec/index.vue @@ -0,0 +1,925 @@ + + + diff --git a/src/views/mes/qms/inspec/init.js b/src/views/mes/qms/inspec/init.js new file mode 100644 index 0000000..e7dbe3f --- /dev/null +++ b/src/views/mes/qms/inspec/init.js @@ -0,0 +1,172 @@ +export const init = { + inspecType: '', + qcPlan: '', + lotNo: '', + operation: '', + resrce: '', + status: '1', +} + +export const searchRules = {} + +export const tableObj = [ + { prop: 'qcPlan', label: 'mes.qcPlan', width: '200' }, + { prop: 'item', label: 'mes.product_number', width: '200' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '200' }, + { prop: 'lotNo', label: 'mes.ord.prdBatch', width: '200' }, + { prop: 'operation', label: 'mes.process', width: '120' }, + { prop: 'resrce', label: 'mes.equipment', width: '120' }, + { prop: 'newStatus', label: 'crud.column.label.status1', width: '120' }, + { prop: 'dateCreate', label: 'mes.qms.issuanceTime', width: '180' }, + { prop: 'completeDateTime', label: 'mes.pms.compDate', width: '180' }, + { prop: 'judgeDateTime', label: 'mes.judgeDateTime', width: '180' }, + { prop: 'newResult', label: 'mes.judgeResult', width: '130' }, +] +export const qcTableObj = [ + { prop: 'newItemType', label: 'mes.qms.qualityControlMethod', width: '200' }, + { prop: 'qcItem', label: 'mes.qcItem', width: '200' }, + { prop: 'qcItemDesc', label: 'mes.inspectionItemDescription', width: '300' }, + { prop: 'samplePlan', label: 'mes.samplingRule', width: '200' }, + { prop: 'newSamplePlanType', label: 'mes.samplingMethod', width: '140' }, + { prop: 'sampleSize', label: 'mes.qms.samplingQuantity', width: '120' }, + { prop: 'showResult', label: 'mes.inspectionResult', width: '180' }, + { prop: 'inspecDateTime', label: 'mes.pms.compDate', width: '180' }, + { prop: 'inspecUser', label: 'mes.inspectionPersonnel', width: '180' }, +] +export const lotStatus = { + Q: 'mes.qms.queue', + R: 'mes.production', +} +// 检验计划 +export const qcPlanObj = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.inspectionPlan' }, + { prop: 'description', label: 'mes.qcPlanDesc' }, + { prop: 'revision', label: 'mes.revision' }, + ], + queryParam: { + inspecType: '0', + currentRevision: 'Y', + }, +} +export const qcPlanSearchObj = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.inspectionPlan' }, + { prop: 'description', label: 'mes.qcPlanDesc' }, + ], + queryParam: { + inspecType: '0', + currentRevision: 'Y', + }, +} + +// 产品编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} +// 生产批 +export const lotNoObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.productionBatchNumber' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + { prop: 'shopOrder', label: 'mes.work_order' }, + { prop: 'newStatus', label: 'crud.column.label.status1' }, + ], + queryParam: { + statusList: 'Q,R', + }, +} +// 工序 +export const opObj = { + condition: 'operation', + tableColumn: [ + { prop: 'operation', label: 'mes.process' }, + { prop: 'description', label: 'common.description' }, + { prop: 'type', label: 'crud.column.label.type' }, + ], + queryParam: {}, +} +// 设备编号-搜索 +export const eqpObjSearch = { + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, + { prop: 'description', label: 'common.description' }, + { prop: 'eqpCategory', label: 'mes.resrceCategory' }, + { prop: 'eqpCategoryDesc', label: 'mes.equipmentMajorCategoryDescription' }, + { prop: 'eqpType', label: 'crud.column.label.equipmentCategory' }, + { prop: 'eqpTypeDesc', label: 'mes.equipmentCategoryDesc' }, + ], + queryParam: {}, +} +// 设备编号 +export const eqpObj = { + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, + { prop: 'description', label: 'common.description' }, + { prop: 'categoryNo', label: 'mes.resrceCategory' }, + { prop: 'categoryDesc', label: 'mes.equipmentMajorCategoryDescription' }, + { prop: 'typeNo', label: 'crud.column.label.equipmentCategory' }, + { prop: 'typeDesc', label: 'mes.equipmentCategoryDesc' }, + ], + queryParam: { + operation: null, + }, +} + +// 工单 +export const shopOrderObj = { + condition: 'shopOrder', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'shopOrderType', label: 'mes.shopOrderType' }, + ], + queryParam: {}, +} +// 工单 +export const shopOrderSearchObj = { + condition: 'shopOrder', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.work_order' }, + { prop: 'plannedItem', label: 'mes.product_number' }, + { prop: 'plannedItemDescription', label: 'mes.itemDesc' }, + { prop: 'shopOrderType', label: 'mes.shopOrderType' }, + ], + queryParam: {}, +} + +// 异常原因 +export const reasonCodeObj = { + condition: 'reasonCode', + tableColumn: [ + { prop: 'reasonCode', label: 'mes.reasonCode' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + category: 'H', + }, +} + +export const sampleType = { + 0: 'mes.fixedSamplingNumber', + 1: 'mes.fixedSamplingRatio', + 2: 'AQL', + 3: 'mes.table1916', + 4: 'mes.custom', +} + +export const controlMode = { + 0: 'mes.qms.upperLimitControl', + 1: 'mes.qms.lowerLimitControl', + 2: 'mes.qms.doubleSidedControl', +} diff --git a/src/views/mes/qms/inspec/ui/job-title.vue b/src/views/mes/qms/inspec/ui/job-title.vue new file mode 100644 index 0000000..8423e91 --- /dev/null +++ b/src/views/mes/qms/inspec/ui/job-title.vue @@ -0,0 +1,37 @@ + + + + diff --git a/src/views/mes/qms/inspec/ui/lot-no.vue b/src/views/mes/qms/inspec/ui/lot-no.vue new file mode 100644 index 0000000..8f82bfd --- /dev/null +++ b/src/views/mes/qms/inspec/ui/lot-no.vue @@ -0,0 +1,269 @@ + + + + + diff --git a/src/views/mes/qms/inspec/ui/search-ui.vue b/src/views/mes/qms/inspec/ui/search-ui.vue new file mode 100644 index 0000000..b620c45 --- /dev/null +++ b/src/views/mes/qms/inspec/ui/search-ui.vue @@ -0,0 +1,440 @@ + + + diff --git a/src/views/mes/qms/iqc-inspec/content/inspec-close.vue b/src/views/mes/qms/iqc-inspec/content/inspec-close.vue new file mode 100644 index 0000000..1062b80 --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/content/inspec-close.vue @@ -0,0 +1,178 @@ + + diff --git a/src/views/mes/qms/iqc-inspec/content/inspec-count.vue b/src/views/mes/qms/iqc-inspec/content/inspec-count.vue new file mode 100644 index 0000000..be839ec --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/content/inspec-count.vue @@ -0,0 +1,431 @@ + + + + diff --git a/src/views/mes/qms/iqc-inspec/content/inspec-judge.vue b/src/views/mes/qms/iqc-inspec/content/inspec-judge.vue new file mode 100644 index 0000000..30dd30d --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/content/inspec-judge.vue @@ -0,0 +1,458 @@ + + diff --git a/src/views/mes/qms/iqc-inspec/content/inspec-measure.vue b/src/views/mes/qms/iqc-inspec/content/inspec-measure.vue new file mode 100644 index 0000000..4001eea --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/content/inspec-measure.vue @@ -0,0 +1,307 @@ + + + diff --git a/src/views/mes/qms/iqc-inspec/content/inspec-result.vue b/src/views/mes/qms/iqc-inspec/content/inspec-result.vue new file mode 100644 index 0000000..a016204 --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/content/inspec-result.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/views/mes/qms/iqc-inspec/content/inspec-text.vue b/src/views/mes/qms/iqc-inspec/content/inspec-text.vue new file mode 100644 index 0000000..edba4d0 --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/content/inspec-text.vue @@ -0,0 +1,195 @@ + + diff --git a/src/views/mes/qms/iqc-inspec/content/inspec-view.vue b/src/views/mes/qms/iqc-inspec/content/inspec-view.vue new file mode 100644 index 0000000..c61370d --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/content/inspec-view.vue @@ -0,0 +1,276 @@ + + + diff --git a/src/views/mes/qms/iqc-inspec/content/inspec.js b/src/views/mes/qms/iqc-inspec/content/inspec.js new file mode 100644 index 0000000..ac9362f --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/content/inspec.js @@ -0,0 +1,81 @@ +export const jobForm = { + inspecType: '', + qcPlan: '', + lotNo: '', + operation: '', + resrce: '', + status: '1', +} +export const judgeForm = { + jobNo: null, + newResult: null, + result: null, + judgeRemark: null, + judgeUser: null, + createAbn: null, + abnGroup: null, + reasonCode: null, + storageQty: '0', + returnQty: '0', + destructiveQty: '0', + testsampleQty: '0', +} + +export const closeForm = { + remark: null, + userName: null, + name: null, + closeDate: null, + destructiveQty: '0', + testsampleQty: '0', +} +export const textForm = { + qcItem: '', + qcItemDesc: '', + contentDesc: '', + content: '', + contentResult: { content: '' }, + factorList: [ + { + description: 'mes.process', + value: 'OP1', + }, + ], +} + +export const measureForm = { + qcItem: '', + qcItemDesc: '', + sampleSize: 5, + areaQty: 3, + dieQty: 2, + maxValue: 4, + centerValue: 2, + minValue: 0, + areaInfo: '', + resultList: [], + factorList: [ + { + description: 'mes.equipment', + value: 'Resource1', + }, + ], +} +export const countForm = { + qcItem: '', + qcItemDesc: '', + sampleSize: 5, + areaQty: 3, + dieQty: 2, + maxValue: 4, + centerValue: 2, + minValue: 0, + areaInfo: '{ "1":"T1", "2":"T2", "3":"T3" }', + resultList: [], + factorList: [ + { + description: 'mes.equipment', + value: 'Resource1', + }, + ], +} diff --git a/src/views/mes/qms/iqc-inspec/index.vue b/src/views/mes/qms/iqc-inspec/index.vue new file mode 100644 index 0000000..75fc71a --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/index.vue @@ -0,0 +1,897 @@ + + + diff --git a/src/views/mes/qms/iqc-inspec/init.js b/src/views/mes/qms/iqc-inspec/init.js new file mode 100644 index 0000000..8c137b2 --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/init.js @@ -0,0 +1,157 @@ +export const init = { + inspecType: '', + qcPlan: '', + lotNo: '', + operation: '', + resrce: '', + status: '1', +} + +export const searchRules = { + from: [{ required: true, message: '', trigger: ['change', 'blur'] }], +} +export const tableObj = [ + { prop: 'qcPlan', label: 'mes.qcPlan', width: '200' }, + { prop: 'item', label: 'mes.itemCode', width: '200' }, + { prop: 'receiptNo', label: 'mes.itemReceiptNo', width: '200' }, + { prop: 'seq', label: 'mes.itemNumber', width: '100' }, + { prop: 'populationQty', label: 'mes.ecn.receiptAmount', width: '120' }, + { prop: 'newStatus', label: 'crud.column.label.status1', width: '120' }, +] +export const qcTableObj = [ + { prop: 'newItemType', label: 'mes.qms.qualityControlMethod', width: '100' }, + { prop: 'qcItem', label: 'mes.qcItem', width: '200' }, + { prop: 'qcItemDesc', label: 'mes.inspectionItemDescription', width: '300' }, + { prop: 'samplePlan', label: 'mes.samplingRule', width: '150' }, + { prop: 'newSamplePlanType', label: 'mes.samplingMethod', width: '120' }, + { prop: 'sampleSize', label: 'mes.qms.samplingQuantity', width: '100' }, + { prop: 'showResult', label: 'mes.inspectionResult', width: '100' }, +] + +// 检验计划 +export const qcPlanObj = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.inspectionPlan' }, + { prop: 'description', label: 'mes.qcPlanDesc' }, + { prop: 'revision', label: 'mes.revision' }, + ], + queryParam: { + inspecType: '0', + currentRevision: 'Y', + }, +} +// 检验计划 +export const qcPlanSearchObj = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.inspectionPlan' }, + { prop: 'description', label: 'mes.qcPlanDesc' }, + ], + queryParam: { + inspecType: '1', + currentRevision: 'Y', + }, +} +// 检验人员群组 +export const userGroupSearchObj = { + title: 'mes.qcRole', + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.abn.roleDialogObj.roleCode' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: { + delFlag: '1', + }, +} +// 物料编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.itemCode' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + itemType: 'p', + }, +} + +// 收料单号 +export const receiptNoObj = { + condition: 'receiptNo', + tableColumn: [ + { prop: 'receiptNo', label: 'mes.itemReceiptNo' }, + { prop: 'purchaseNo', label: 'mes.abn.purchaseNo' }, + { prop: 'supplierNo', label: 'mes.abn.supplierNo' }, + { prop: 'supplierName', label: 'mes.abn.supplierName' }, + ], + queryParam: {}, + page: false, +} + +export const resultList = [ + { value: '0', label: 'NG' }, + { value: '1', label: 'OK' }, + { value: '2', label: 'mes.specialProcurement' }, + { value: '3', label: 'mes.return' }, + { value: '4', label: 'mes.reinspection' }, +] +export const resultObj = { + 0: 'NG', + 1: 'OK', + 2: 'mes.specialProcurement', + 3: 'mes.return', + 4: 'mes.reinspection', +} +export const abnStatusObj = { + 0: 'mes.run', + 1: 'mes.abn.status.dismiss', +} + +export const sampleType = { + 0: 'mes.fixedSamplingNumber', + 1: 'mes.fixedSamplingRatio', + 2: 'AQL', + 3: 'mes.table1916', + 4: 'mes.custom', +} + +export const controlMode = { + 0: 'mes.qms.upperLimitControl', + 1: 'mes.qms.lowerLimitControl', + 2: 'mes.qms.doubleSidedControl', +} + +export const inspecJobStatusObj = { + 1: 'mes.createNew', + 2: 'mes.inOperation', + 3: 'mes.completed', + 4: 'mes.closed', + 5: 'mes.qms.judged', +} + +export const abnGroupObj = { + title: 'mes.qms.abnormalOrderGroup', + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.qms.roleIdentifier' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: {}, +} + +// 异常原因 +export const reasonCodeObj = { + title: 'mes.abnormalReason', + condition: 'reasonCode', + tableColumn: [ + { prop: 'reasonCode', label: 'mes.reasonCode' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + category: 'H', + }, +} diff --git a/src/views/mes/qms/iqc-inspec/ui/job-title.vue b/src/views/mes/qms/iqc-inspec/ui/job-title.vue new file mode 100644 index 0000000..dba2d60 --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/ui/job-title.vue @@ -0,0 +1,51 @@ + + + + diff --git a/src/views/mes/qms/iqc-inspec/ui/search-ui.vue b/src/views/mes/qms/iqc-inspec/ui/search-ui.vue new file mode 100644 index 0000000..5d1b068 --- /dev/null +++ b/src/views/mes/qms/iqc-inspec/ui/search-ui.vue @@ -0,0 +1,353 @@ + + + diff --git a/src/views/mes/qms/qc-item/content/master.vue b/src/views/mes/qms/qc-item/content/master.vue new file mode 100644 index 0000000..7789e97 --- /dev/null +++ b/src/views/mes/qms/qc-item/content/master.vue @@ -0,0 +1,609 @@ + + + diff --git a/src/views/mes/qms/qc-item/index.vue b/src/views/mes/qms/qc-item/index.vue new file mode 100644 index 0000000..8b058b9 --- /dev/null +++ b/src/views/mes/qms/qc-item/index.vue @@ -0,0 +1,490 @@ + + + + diff --git a/src/views/mes/qms/qc-item/init.js b/src/views/mes/qms/qc-item/init.js new file mode 100644 index 0000000..bf469c8 --- /dev/null +++ b/src/views/mes/qms/qc-item/init.js @@ -0,0 +1,119 @@ +export const initForm = { + qcItem: '', + description: '', + itemType: '1', + eqpCategory: '', + eqpCategoryBo: '', + inspecType: '0', + status: '0', + controlMode: '', + chartControl: '', + sampleSize: '', + factors: [], +} + +export const type = { + itemType: [ + { + value: '0', + label: 'mes.qms.count', + }, + { + value: '1', + label: 'mes.qms.measurement', + }, + { + value: '2', + label: 'mes.qms.textContent', + }, + ], + status: [ + { + value: '0', + label: 'mes.qms.issuable', + }, + { + value: '1', + label: 'mes.qms.disabled', + }, + ], + controlMode: [ + { + value: '0', + label: 'mes.qms.upperLimitControl', + }, + { + value: '1', + label: 'mes.qms.lowerLimitControl', + }, + { + value: '2', + label: 'mes.qms.doubleSidedControl', + }, + ], + controlMap: { + 1: [ + { + key: '', + label: '', + }, + { + key: 'XBAR-R', + label: 'mes.qms.xbarR', + }, + { + key: 'XBAR-S', + label: 'mes.qms.xbarS', + }, + { + key: 'X-RM', + label: 'mes.qms.xRm', + }, + ], + 0: [ + { + key: '', + label: '', + }, + { + key: 'P-CHART', + label: 'mes.qms.pChart', + }, + ], + }, +} + +export const dialogObj = { + title: 'mes.qms.instrumentType', + condition: 'categoryNo', + tableColumn: [ + { + prop: 'categoryNo', + label: 'mes.resrceCategory', + }, + { + prop: 'description', + label: 'common.description', + }, + ], + queryParam: { + kind: '2', + }, +} + +const status = { + 0: 'mes.qms.issuable', + 1: 'mes.qms.disabled', +} + +const itemType = { + 0: 'mes.qms.count', + 1: 'mes.qms.measurement', + 2: 'mes.qms.textContent', +} + +const controlMode = { + 0: 'mes.qms.upperLimitControl', + 1: 'mes.qms.lowerLimitControl', + 2: 'mes.qms.doubleSidedControl', +} diff --git a/src/views/mes/qms/qc-plan/content/master.vue b/src/views/mes/qms/qc-plan/content/master.vue new file mode 100644 index 0000000..6f54382 --- /dev/null +++ b/src/views/mes/qms/qc-plan/content/master.vue @@ -0,0 +1,1135 @@ + + + diff --git a/src/views/mes/qms/qc-plan/index.vue b/src/views/mes/qms/qc-plan/index.vue new file mode 100644 index 0000000..a5a63bd --- /dev/null +++ b/src/views/mes/qms/qc-plan/index.vue @@ -0,0 +1,491 @@ + + + diff --git a/src/views/mes/qms/qc-plan/init.js b/src/views/mes/qms/qc-plan/init.js new file mode 100644 index 0000000..ac3cb61 --- /dev/null +++ b/src/views/mes/qms/qc-plan/init.js @@ -0,0 +1,72 @@ +export const initForm = { + qcPlan: null, + toSpc: '0', + revision: null, + currentRevision: 'N', + description: null, + inspecType: '0', + inspecFreqNo: null, + userGroup: null, + qcPlanDetailList: [], + customFields: [], + calibrationType: '', + calibrationFreq: '', +} + +export const qcPlanObj = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.qcPlan' }, + { prop: 'description', label: 'common.description' }, + { prop: 'inspecType', label: 'mes.inspecType' }, + ], + queryParam: {}, +} +export const inspecFreqObj = { + condition: 'inspecNo', + tableColumn: [ + { prop: 'inspecNo', label: 'mes.qms.inspectionFrequencyNumber' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} +export const userGroupObj = { + condition: 'userGroup', + tableColumn: [ + { prop: 'userGroup', label: 'mes.qcRole' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: {}, +} +export const userGroupObjP = { + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.qcRole' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + { prop: 'roleDesc', label: 'mes.abn.roleDialogObj.roleDesc' }, + ], + queryParam: {}, +} +export const qcItemObj = { + condition: 'qcItem', + tableColumn: [ + { prop: 'qcItem', label: 'mes.qcItem' }, + { prop: 'description', label: 'common.description' }, + { prop: 'newItemType', label: 'mes.qms.qualityControlMethod' }, + { prop: 'newControlMode', label: 'mes.specificationControl' }, + { prop: 'chartControl', label: 'mes.qms.controlChart' }, + ], + queryParam: { + status: '0', + }, +} +export const sampleRuleObj = { + condition: 'samplePlan', + tableColumn: [ + { prop: 'samplePlan', label: 'mes.samplingRule' }, + { prop: 'description', label: 'common.description' }, + // { prop: 'samplePlanTypeDesc', label: 'mes.samplingMethod' }, + ], + queryParam: {}, +} diff --git a/src/views/mes/qms/sample-rule/index.vue b/src/views/mes/qms/sample-rule/index.vue new file mode 100644 index 0000000..b64b93e --- /dev/null +++ b/src/views/mes/qms/sample-rule/index.vue @@ -0,0 +1,1105 @@ + + + diff --git a/src/views/mes/qms/sample-rule/init.js b/src/views/mes/qms/sample-rule/init.js new file mode 100644 index 0000000..1bd4abf --- /dev/null +++ b/src/views/mes/qms/sample-rule/init.js @@ -0,0 +1,54 @@ +export const init = { + customizeList: [], + samplePlan: null, + description: '', + samplePlanType: '0', + fixedNumber: '', + fixedPercentage: '', + qcLevel: '', + allowLevel: '', + sampleRatio: '', + judgeMode: '', + kind: 'L', + areaQty: '', + dieQty: '', + areaInfo: null, + areaInfoData: [], + customizeList: [], +} +export const selectBox = { + qcLevel: [ + { value: '0', label: 'I' }, + { value: '1', label: 'II' }, + { value: '2', label: 'III' }, + { value: '3', label: 'S-1' }, + { value: '4', label: 'S-2' }, + { value: '5', label: 'S-3' }, + { value: '6', label: 'S-4' }, + ], + for1916: [ + { value: '0', label: 'I' }, + { value: '1', label: 'II' }, + { value: '2', label: 'III' }, + { value: '3', label: 'IV' }, + { value: '4', label: 'V' }, + { value: '5', label: 'VI' }, + { value: '6', label: 'VII' }, + ], + samplePlanType: [ + { value: '0', label: 'mes.fixedSamplingNumber' }, + { value: '1', label: 'mes.fixedSamplingRatio' }, + { value: '2', label: 'mes.milStd105eTableAql' }, + { value: '3', label: 'mes.table1916' }, + { value: '4', label: 'mes.custom' }, + ], + allowLevel: [ + { value: '0', label: 'mes.qms.normal' }, + { value: '1', label: 'mes.qms.tightened' }, + { value: '2', label: 'mes.qms.reduced' }, + ], + judgeMode: [ + { value: '0', label: 'mes.qms.basedOnOriginalSamplingTable' }, + { value: '1', label: 'mes.qms.fixedZeroAcceptOneReject' }, + ], +} diff --git a/src/views/mes/rpt/content/dialog.vue b/src/views/mes/rpt/content/dialog.vue new file mode 100644 index 0000000..f07be12 --- /dev/null +++ b/src/views/mes/rpt/content/dialog.vue @@ -0,0 +1,253 @@ + + diff --git a/src/views/mes/rpt/content/init.js b/src/views/mes/rpt/content/init.js new file mode 100644 index 0000000..c23348a --- /dev/null +++ b/src/views/mes/rpt/content/init.js @@ -0,0 +1,165 @@ +export const qcPlanDialogObject = { + condition: 'qcPlan', + tableColumn: [ + { prop: 'qcPlan', label: 'mes.qcPlan' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + currentRevision: 'Y', + inspecType: '', + }, +} + +export const qcItemDialogObject = { + condition: 'qcItem', + tableColumn: [ + { + prop: 'qcItem', + label: 'mes.qcItem', + }, + { + prop: 'description', + label: 'common.description', + }, + ], + queryParam: { + inspecType: '', + itemType: '1', + }, +} + +export const roleDialogObject = { + condition: 'roleCode', + tableColumn: [ + { prop: 'roleCode', label: 'mes.qms.roleIdentifier' }, + { prop: 'roleName', label: 'mes.abn.roleDialogObj.roleName' }, + ], + queryParam: {}, +} + +export const itemDialogObject = { + condition: 'item', + tableColumn: [ + { + prop: 'item', + label: 'mes.materialNumber', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'typeNo', + label: 'mes.itemType', + }, + ], + queryParam: {}, +} + +export const operationDialogObject = { + condition: 'operation', + tableColumn: [ + { + prop: 'operation', + label: 'mes.process', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'type', + label: 'mes.prd.operationType', + }, + ], + queryParam: {}, +} + +export const epqTypeDialogObject = { + condition: 'typeNo', + tableColumn: [ + { + prop: 'typeNo', + label: `crud.column.label.equipmentCategory`, + }, + { + prop: 'description', + label: `mes.equipmentCategoryDesc`, + }, + { + prop: 'eqpCategory', + label: `mes.resrceCategory`, + }, + { + prop: 'eqpCategoryDesc', + label: `mes.equipmentMajorCategoryDescription`, + }, + { + prop: 'eqpCategoryKind', + label: `mes.smd.equipmentType`, + }, + ], + queryParam: { + neKind: '1', + }, +} + +export const resrceDialogObject = { + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'mes.equipmentDesc', + }, + { + prop: 'eqpType', + label: `crud.column.label.equipmentCategory`, + }, + { + prop: 'eqpTypeDesc', + label: `mes.equipmentCategoryDesc`, + }, + { + prop: 'eqpCategory', + label: `mes.resrceCategory`, + }, + { + prop: 'eqpCategoryDesc', + label: `mes.equipmentMajorCategoryDescription`, + }, + ], + queryParam: { + neKind: '1', + }, +} + +export const ncBasisDialogObject = { + condition: 'ncCode', + tableColumn: [ + { + prop: 'ncCode', + label: 'mes.ncCode', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'type', + label: 'mes.eqpType', + }, + { + prop: 'severity', + label: 'mes.prd.severity', + }, + { + prop: 'duty', + label: 'mes.prd.duty', + }, + ], + queryParam: {}, +} diff --git a/src/views/mes/rpt/rpt0301/index.vue b/src/views/mes/rpt/rpt0301/index.vue new file mode 100644 index 0000000..0107496 --- /dev/null +++ b/src/views/mes/rpt/rpt0301/index.vue @@ -0,0 +1,407 @@ + + + diff --git a/src/views/mes/rpt/rpt0301/init.js b/src/views/mes/rpt/rpt0301/init.js new file mode 100644 index 0000000..f89e10c --- /dev/null +++ b/src/views/mes/rpt/rpt0301/init.js @@ -0,0 +1,89 @@ +export const initSearchForm = { + inspecType: '', + item: '', + ncCode: '', + qcPlan: '', + operation: '', + qcItem: '', + typeNo: '', + roleCode: '', + resrce: '', + size: '', + from: '', + to: '', +} + +export const column = [ + { prop: 'seq', label: 'common.seq', width: '100' }, + { prop: 'ncCode', label: 'mes.ncCode', width: '350' }, + { prop: 'ncCodeDesc', label: 'common.description' }, + { prop: 'count', label: 'common.quantity' }, +] + +export const pieOption = { + tooltip: { + trigger: 'item', + formatter: '{b}: {c}%', + }, + legend: { + top: 'bottom', + left: 'center', + }, + color: [ + '#5470c6', + '#91cc75', + '#fac858', + '#ee6666', + '#73c0de', + '#3ba272', + '#fc8452', + '#9a60b4', + '#ea7ccc', + '#cd2990', + '#0000ff', + '#ff0000', + '#ffdab9', + ], + series: [ + { + type: 'pie', + radius: '50%', + data: [], + label: { + formatter: '{c}%', + }, + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)', + }, + }, + }, + ], +} + +export const barOption = { + tooltip: { + trigger: 'item', + formatter: '{b}: {c}', + }, + color: ['#5470c6'], + xAxis: { + type: 'category', + data: [], + axisLabel: { + interval: 0, + rotate: 60, + }, + }, + yAxis: { + type: 'value', + }, + series: [ + { + type: 'bar', + data: [], + }, + ], +} diff --git a/src/views/mes/rpt/rpt0302/index.vue b/src/views/mes/rpt/rpt0302/index.vue new file mode 100644 index 0000000..6fa5275 --- /dev/null +++ b/src/views/mes/rpt/rpt0302/index.vue @@ -0,0 +1,393 @@ + + + diff --git a/src/views/mes/rpt/rpt0302/init.js b/src/views/mes/rpt/rpt0302/init.js new file mode 100644 index 0000000..d53b0e8 --- /dev/null +++ b/src/views/mes/rpt/rpt0302/init.js @@ -0,0 +1,63 @@ +export const initSearchForm = { + inspecType: '', + item: '', + ncCode: '', + qcPlan: '', + operation: '', + qcItem: '', + typeNo: '', + roleCode: '', + resrce: '', + size: '', + from: '', + to: '', +} + +export const column = [ + { prop: 'seq', label: 'common.seq', width: '100' }, + { prop: 'qcItem', label: 'mes.qcItem', width: '350' }, + { prop: 'qcItemDesc', label: 'common.description' }, + { prop: 'ok', label: 'mes.rpt.ok', width: '120' }, + { prop: 'ng', label: 'mes.rpt.ng', width: '120' }, +] + +export const barOption = { + tooltip: { + trigger: 'item', + formatter: function (params) { + return ( + '
    ' + + params.name + + '
    ' + + params.seriesName + + ': ' + + params.value + + '
    ' + ) + }, + }, + color: ['#5470c6', '#ffa500'], + xAxis: { + type: 'category', + data: [], + axisLabel: { + interval: 0, + rotate: 60, + }, + }, + yAxis: { + type: 'value', + }, + series: [ + { + name: '', + type: 'bar', + data: [], + }, + { + name: '', + type: 'bar', + data: [], + }, + ], +} diff --git a/src/views/mes/rpt/rpt0303/index.vue b/src/views/mes/rpt/rpt0303/index.vue new file mode 100644 index 0000000..1eae147 --- /dev/null +++ b/src/views/mes/rpt/rpt0303/index.vue @@ -0,0 +1,184 @@ + + diff --git a/src/views/mes/rpt/xreport_viewer/index.vue b/src/views/mes/rpt/xreport_viewer/index.vue new file mode 100644 index 0000000..463bd7c --- /dev/null +++ b/src/views/mes/rpt/xreport_viewer/index.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/views/mes/smd/container/component/create.vue b/src/views/mes/smd/container/component/create.vue new file mode 100644 index 0000000..8ae1940 --- /dev/null +++ b/src/views/mes/smd/container/component/create.vue @@ -0,0 +1,423 @@ + + + diff --git a/src/views/mes/smd/container/index.vue b/src/views/mes/smd/container/index.vue new file mode 100644 index 0000000..c81245c --- /dev/null +++ b/src/views/mes/smd/container/index.vue @@ -0,0 +1,293 @@ + diff --git a/src/views/mes/smd/container/init.js b/src/views/mes/smd/container/init.js new file mode 100644 index 0000000..f2f5348 --- /dev/null +++ b/src/views/mes/smd/container/init.js @@ -0,0 +1,27 @@ +export const dialog = { + item: { + title: 'mes.product_number', + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'description', label: 'mes.itemDesc' }, + { prop: 'typeNo', label: 'mes.itemType' }, + { prop: 'typeNoDesc', label: 'mes.prd.itemTypeDesc' } + ], + queryParam: { + currentRevision: 'Y', + itemType: 'M' + } + }, + container: { + title: 'mes.containerType', + condition: 'containerType', + tableColumn: [ + { prop: 'containerType', label: 'mes.containerType' }, + { prop: 'description', label: 'common.description' } + ], + queryParam: { + neContainerType: '' + } + } +} \ No newline at end of file diff --git a/src/views/mes/smd/eqp-category/index.vue b/src/views/mes/smd/eqp-category/index.vue new file mode 100644 index 0000000..a2d47f0 --- /dev/null +++ b/src/views/mes/smd/eqp-category/index.vue @@ -0,0 +1,630 @@ + + + diff --git a/src/views/mes/smd/eqp-combine/index.vue b/src/views/mes/smd/eqp-combine/index.vue new file mode 100644 index 0000000..b2ee7e4 --- /dev/null +++ b/src/views/mes/smd/eqp-combine/index.vue @@ -0,0 +1,230 @@ + + + diff --git a/src/views/mes/smd/eqp-tool/index.vue b/src/views/mes/smd/eqp-tool/index.vue new file mode 100644 index 0000000..fabfc80 --- /dev/null +++ b/src/views/mes/smd/eqp-tool/index.vue @@ -0,0 +1,533 @@ + + + diff --git a/src/views/mes/smd/eqp-type/index.vue b/src/views/mes/smd/eqp-type/index.vue new file mode 100644 index 0000000..11ce074 --- /dev/null +++ b/src/views/mes/smd/eqp-type/index.vue @@ -0,0 +1,1274 @@ + + + diff --git a/src/views/mes/smd/equipment/index.vue b/src/views/mes/smd/equipment/index.vue new file mode 100644 index 0000000..260897f --- /dev/null +++ b/src/views/mes/smd/equipment/index.vue @@ -0,0 +1,848 @@ + + + diff --git a/src/views/mes/smd/fab-basis/index.vue b/src/views/mes/smd/fab-basis/index.vue new file mode 100644 index 0000000..3eeda09 --- /dev/null +++ b/src/views/mes/smd/fab-basis/index.vue @@ -0,0 +1,608 @@ + + + + diff --git a/src/views/mes/smd/inv-basis/index.vue b/src/views/mes/smd/inv-basis/index.vue new file mode 100644 index 0000000..c2054bd --- /dev/null +++ b/src/views/mes/smd/inv-basis/index.vue @@ -0,0 +1,867 @@ + + + diff --git a/src/views/mes/smd/site/index.vue b/src/views/mes/smd/site/index.vue new file mode 100644 index 0000000..e2ad171 --- /dev/null +++ b/src/views/mes/smd/site/index.vue @@ -0,0 +1,375 @@ + + + diff --git a/src/views/mes/smd/tool-basis/index.vue b/src/views/mes/smd/tool-basis/index.vue new file mode 100644 index 0000000..86f7b70 --- /dev/null +++ b/src/views/mes/smd/tool-basis/index.vue @@ -0,0 +1,797 @@ + + + diff --git a/src/views/mes/smd/tool-category/index.vue b/src/views/mes/smd/tool-category/index.vue new file mode 100644 index 0000000..521130e --- /dev/null +++ b/src/views/mes/smd/tool-category/index.vue @@ -0,0 +1,525 @@ + + + diff --git a/src/views/mes/smd/tool-type/index.vue b/src/views/mes/smd/tool-type/index.vue new file mode 100644 index 0000000..834e959 --- /dev/null +++ b/src/views/mes/smd/tool-type/index.vue @@ -0,0 +1,649 @@ + + + diff --git a/src/views/mes/smd/work-calender/index.vue b/src/views/mes/smd/work-calender/index.vue new file mode 100644 index 0000000..45fe2e3 --- /dev/null +++ b/src/views/mes/smd/work-calender/index.vue @@ -0,0 +1,716 @@ + + + diff --git a/src/views/mes/smd/work-center/index.vue b/src/views/mes/smd/work-center/index.vue new file mode 100644 index 0000000..e4c87e5 --- /dev/null +++ b/src/views/mes/smd/work-center/index.vue @@ -0,0 +1,1516 @@ + + + + + diff --git a/src/views/mes/smd/work-type/index.vue b/src/views/mes/smd/work-type/index.vue new file mode 100644 index 0000000..141e1d8 --- /dev/null +++ b/src/views/mes/smd/work-type/index.vue @@ -0,0 +1,714 @@ + + + diff --git a/src/views/mes/sys/data-source/content/main.vue b/src/views/mes/sys/data-source/content/main.vue new file mode 100644 index 0000000..419fdbc --- /dev/null +++ b/src/views/mes/sys/data-source/content/main.vue @@ -0,0 +1,358 @@ + + diff --git a/src/views/mes/sys/data-source/index.vue b/src/views/mes/sys/data-source/index.vue new file mode 100644 index 0000000..e61822e --- /dev/null +++ b/src/views/mes/sys/data-source/index.vue @@ -0,0 +1,237 @@ + + + diff --git a/src/views/mes/sys/data-source/init.js b/src/views/mes/sys/data-source/init.js new file mode 100644 index 0000000..73c2f98 --- /dev/null +++ b/src/views/mes/sys/data-source/init.js @@ -0,0 +1,67 @@ +export const dsType = [ + { + label: 'MySQL', + value: 'mysql', + }, + { + label: 'Oracle', + value: 'oracle', + }, + { + label: 'SQLServer', + value: 'mssql', + }, +] + +export const tableOption = { + index: true, // 是否有序号 + stripe: true, // 是否为斑马纹 + height: 'calc(100vh - 380px)', // 表格的高度 + emptyText: 'el.table.emptyText', // 空数据时显示的文本内容 + searchSpan: 6, // 搜索项框栅列 + searchMenuSpan: 12, // 搜索按鈕柵列 + searchMenuPosition: 'right', // 表格搜索按钮位置 + searchLabelWidth: 155, // 搜索项标题宽度 + labelSuffix: ':', // 搜索項後綴符號 + indexLabel: 'common.seq', // 序号列标题 + align: 'center', // 表格对齐方式 + column: [ + { + type: 'input', + label: 'mes.sys.dataset.datasourceBo', + prop: 'name', + search: true, + }, + { + label: 'mes.sys.databaseType', + prop: 'dsType', + search: true, + }, + { + label: 'mes.sys.host', + prop: 'host', + }, + { + label: 'mes.sys.port', + prop: 'port', + }, + { + label: 'mes.sys.database', + prop: 'dsName', + }, + { + label: 'mes.username', + prop: 'username', + }, + ], +} + +export const initForm = { + name: '', + dsType: 'mysql', + host: '', + port: '', + dsName: '', + username: '', + password: '', +} diff --git a/src/views/mes/sys/dataset/content/main.vue b/src/views/mes/sys/dataset/content/main.vue new file mode 100644 index 0000000..fce1182 --- /dev/null +++ b/src/views/mes/sys/dataset/content/main.vue @@ -0,0 +1,360 @@ + + diff --git a/src/views/mes/sys/dataset/index.vue b/src/views/mes/sys/dataset/index.vue new file mode 100644 index 0000000..5fc73ff --- /dev/null +++ b/src/views/mes/sys/dataset/index.vue @@ -0,0 +1,371 @@ + + + diff --git a/src/views/mes/sys/dataset/init.js b/src/views/mes/sys/dataset/init.js new file mode 100644 index 0000000..b224a48 --- /dev/null +++ b/src/views/mes/sys/dataset/init.js @@ -0,0 +1,71 @@ +export const initSearch = { + datasetNo: '', + type: '', + datasourceName: '', +} + +export const columns = [ + { prop: 'fieldName', label: 'mes.sys.dataset.fieldName', width: '130' }, + { prop: 'fieldText', label: 'mes.sys.dataset.fieldText', width: '150' }, + { prop: 'fieldType', label: 'mes.sys.dataset.fieldType', width: '100' }, +] + +export const buttons = [ + { + content: 'mes.view', + type: 'warning', + icon: 'el-icon-view', + key: 'view', + }, + { + content: 'mes.edit', + type: 'primary', + icon: 'el-icon-edit', + key: 'edit', + }, + { + content: 'common.copy', + type: 'success', + icon: 'el-icon-document-copy', + key: 'copy', + }, + { + content: 'mes.delete', + type: 'danger', + icon: 'el-icon-delete', + key: 'delete', + }, +] + +export const initForm = { + datasetNo: '', + datasetName: '', + type: '', + datasourceBo: '', + sqlScript: '', + httpMethod: '', + apiUrl: '', + details: [], +} + +export const fieldTypeList = [ + { + label: 'mes.sys.dataset.string', + value: '0', + }, + { + label: 'mes.number', + value: '1', + }, + { + label: 'mes.sys.dataset.date', + value: '2', + }, +] + +export const fieldType = { + 0: 'mes.sys.dataset.string', + 1: 'mes.number', + 2: 'mes.sys.dataset.date', + 3: 'mes.time', +} diff --git a/src/views/mes/sys/request/index.vue b/src/views/mes/sys/request/index.vue new file mode 100644 index 0000000..f6deee9 --- /dev/null +++ b/src/views/mes/sys/request/index.vue @@ -0,0 +1,236 @@ + + \ No newline at end of file diff --git a/src/views/mes/sys/service-management/index.vue b/src/views/mes/sys/service-management/index.vue new file mode 100644 index 0000000..3ffb579 --- /dev/null +++ b/src/views/mes/sys/service-management/index.vue @@ -0,0 +1,826 @@ + + + diff --git a/src/views/mes/sys/service-management/init.js b/src/views/mes/sys/service-management/init.js new file mode 100644 index 0000000..b7561a5 --- /dev/null +++ b/src/views/mes/sys/service-management/init.js @@ -0,0 +1,7 @@ +export const initSearch = { + serviceNo: '', + serviceType: '', + programPath: '', + enabledFlag: '', + description: '', +} \ No newline at end of file diff --git a/src/views/mes/sys/transaction-log/index.vue b/src/views/mes/sys/transaction-log/index.vue new file mode 100644 index 0000000..7e68e99 --- /dev/null +++ b/src/views/mes/sys/transaction-log/index.vue @@ -0,0 +1,459 @@ + + + diff --git a/src/views/mes/tds/allocation-table/index.vue b/src/views/mes/tds/allocation-table/index.vue new file mode 100644 index 0000000..b935ce7 --- /dev/null +++ b/src/views/mes/tds/allocation-table/index.vue @@ -0,0 +1,539 @@ + + + diff --git a/src/views/mes/tds/allocation-table/init.js b/src/views/mes/tds/allocation-table/init.js new file mode 100644 index 0000000..e057302 --- /dev/null +++ b/src/views/mes/tds/allocation-table/init.js @@ -0,0 +1,7 @@ +export const init = { + operation: null, + description: null, +} +export const initSearch = { + // eqpCategory: "TESTER", +} diff --git a/src/views/mes/tds/allocation-table/search-ui.vue b/src/views/mes/tds/allocation-table/search-ui.vue new file mode 100644 index 0000000..9c6a76c --- /dev/null +++ b/src/views/mes/tds/allocation-table/search-ui.vue @@ -0,0 +1,225 @@ + + + diff --git a/src/views/mes/tds/dispatch-gantt/base-dispatch-component.js b/src/views/mes/tds/dispatch-gantt/base-dispatch-component.js new file mode 100644 index 0000000..7f0d48d --- /dev/null +++ b/src/views/mes/tds/dispatch-gantt/base-dispatch-component.js @@ -0,0 +1,752 @@ +import { isBlank } from '@/utils/ganttUtil' + +export default { + data() { + return { + y_pos: 0, + dispatchConditions: {}, + scaleList: [ + { value: 'minute', label: 'mes.tds.minute' }, + { value: 'hour', label: 'mes.tds.hour' }, + { value: 'week', label: 'mes.tds.week' }, + { value: 'month', label: 'mes.tds.month' }, + { value: 'year', label: 'mes.tds.year' }, + ], + events: [], + taskLayers: [], + } + }, + mounted() { + // this.initConfig(); + }, + methods: { + initConfig() { + let me = this + gantt.config.row_height = 30 + gantt.config.scale_height = 40 + gantt.config.min_column_width = 300 + gantt.config.auto_types = true + gantt.config.show_progress = true // 开启进度显示 + gantt.config.drag_progress = false // 取消进度拖动 + gantt.config.auto_scheduling = true + gantt.config.auto_scheduling_compatibility = true + gantt.config.show_links = false //取消连线 + gantt.locale.labels.section_split = 'Display' + gantt.config.open_split_tasks = true // 任务是否可展开 + gantt.config.xml_date = '%Y-%m-%d %H:%i%s' + gantt.config.api_date = '%Y-%m-%d %H:%i%s' + gantt.config.drag_resize = false // 禁用任务拖动改变大小 + gantt.config.multiselect = false // 开启任务多选 + gantt.config.round_dnd_dates = false //取消拖动时根据日自动变化 + gantt.config.min_duration = 1 * 1000 //设置最小duration时间,默认60*60*60,如不设置最小duriation无法拖动 + gantt.config.static_background_line = true + gantt.config.show_task_cells = false // 禁用单元格显示,显示到分钟效能问题 + gantt.config.duration_unit = 'day' // 默认时间间隔单位 + /*gantt.config.duration_unit = 'day'; + gantt.config.scales = [{ unit: 'day', format: '%Y-%m-%d' }];*/ + gantt.config.scale_unit = 'hour' + gantt.config.duration_unit = 'minute' + gantt.config.duration_step = 1 + gantt.config.time_step = 1 //自动resize的步数5分钟 + gantt.templates.date_scale = null //清空template + gantt.config.date_scale = '%H' + gantt.config.min_column_width = 15 + gantt.config.scale_height = 45 + gantt.locale.labels.section_custom = '' + //gantt.config.show_task_cells = false; + gantt.config.subscales = [{ unit: 'day', step: 1, date: '%Y-%m-%d' }] + + // 甘特图布局,grid滚动条 + gantt.config.layout = { + css: 'gantt_container', + cols: [ + { + width: 350, + min_width: 200, + rows: [ + { view: 'grid', scrollX: 'gridScroll', scrollable: true, scrollY: 'scrollVer' }, + { view: 'scrollbar', id: 'gridScroll', group: 'horizontal' }, + ], + }, + { resizer: true, width: 1 }, + { + rows: [ + { view: 'timeline', scrollX: 'scrollHor', scrollY: 'scrollVer' }, + { view: 'scrollbar', id: 'scrollHor', group: 'horizontal' }, + ], + }, + { view: 'scrollbar', id: 'scrollVer' }, + ], + } + + gantt.templates.task_class = function (start, end, task) { + // 隐藏原始任务,只显示PlaceHolder + //if (allowsVerticalDrag() && me.dragging_task && task.id == me.dragging_task) return 'dragging_task'; + var now = new Date() + var taskClass = 'task_normal' + if (task.productStatus == '2') { + // 红色:停线 + taskClass = 'task_red' + } else if (task.productStatus == '1') { + // 黄色:生产中 + taskClass = 'task_yellow' + } else if (task.productStatus == '3') { + // 绿色:计划正常完成 + taskClass = 'task_green' + } else if (task.productStatus === '4') { + // 灰色:取消 + taskClass = 'task_gray' + } + if (task.locked === 'Y') { + taskClass += ' task_locked' + } + if (task.status == 'unsaved') { + taskClass += ' task_unsaved' + } + + // 高亮显示Text + if (gantt.getSelectedId()) { + var selectedTask = gantt.getTask(gantt.getSelectedId()) + if (task.shopOrder == selectedTask.shopOrder) { + taskClass += ' task_highlight' + } + } + return taskClass + } + + /////////TOOL TIP FORMAT + gantt.templates.tooltip_text = function (start, end, task) { + if (task.type == 'project') { + return '' + } else { + return ( + "" + + me.$t('mes.productionLine') + + ':' + + task.productionLine + + "
    " + + me.$t('mes.shopOrder') + + ':' + + task.shopOrder + + "
    " + + me.$t('mes.tds.productionCode') + + ':' + + task.itemCode + + "
    " + + me.$t('mes.tds.productionDesc') + + ':' + + task.itemDesc + + "
    " + + me.$t('mes.qtyToBuild') + + ':' + + task.qtyToBuild + + "
    " + + me.$t('mes.productionOptions') + + ':' + + task.productionOptions + + "
    " + + me.$t('mes.dispatchQuantity') + + ':' + + task.tempQty + + "
    " + + me.$t('mes.tds.dispatchStartDateTime') + + ':' + + gantt.date.date_to_str('%Y-%m-%d %H:%i')(task.start_date) + + "
    " + + me.$t('mes.tds.dispatchEndDateTime') + + ':' + + gantt.date.date_to_str('%Y-%m-%d %H:%i')(task.end_date) + ) + } + } + //****************gantt事件监听************************************************************************************ + const onTaskSelected = gantt.attachEvent('onTaskSelected', function (id, e) { + var task = gantt.getTask(id) + if (task.type !== 'project') { + gantt.refreshData() + } + return true + }) + me.events.push(onTaskSelected) + + const onTaskUnSelected = gantt.attachEvent('onTaskUnSelected', function (id, e) { + gantt.refreshData() + return true + }) + me.events.push(onTaskUnSelected) + + // 取消连线 + const onBeforeLinkAdd = gantt.attachEvent('onBeforeLinkAdd', function (id, link) { + return false + }) + me.events.push(onBeforeLinkAdd) + }, + showRestArea() { + // 显示休息时间, addTaskLayer需放到gantt.init之后 + gantt.addTaskLayer(function draw_weekends(task) { + let calendar = gantt.getCalendar(task['calendar_id']) + if (!calendar) { + return '' + } + + let main_div = document.createElement('div') + main_div.id = 'weekends_layer_main' + + let state = gantt.getState() + let millSeconds = + new Date(state.max_date.toLocaleDateString()).getTime() + + 24 * 60 * 60 * 1000 - + new Date(state.min_date.toLocaleDateString()).getTime() + let days = millSeconds / (24 * 60 * 60 * 1000) + let currentDate = new Date(new Date(state.min_date.toLocaleDateString()).getTime()) + + //var restMinutes = calendar.getRestMinutes(); + //var workDays = calendar.getWorkDays(); + + for (let i = 0; i < days; i++) { + let workHours = calendar._parseHours(calendar.getWorkHours(currentDate)) + let markStartDate = null, + markEndDate = null + if (!workHours || workHours.length == 0) { + markStartDate = new Date(currentDate.getTime()) + markEndDate = new Date(currentDate.getTime() + 24 * 60 * 60 * 1000) + let sizes = gantt.getTaskPosition(task, markStartDate, markEndDate) + let el = document.createElement('div') + + el.className = 'weekend_task_layer' + el.style.left = sizes.left + 'px' + el.style.width = sizes.width + 'px' + el.style.top = sizes.top + 'px' + el.style.height = gantt.config.row_height + 'px' + + //here we append the weekend div to the main div + main_div.appendChild(el) + } + for (let j = 0; j < workHours.length; j++) { + let workHour = workHours[j] + if (j == 0 && workHour.start > 0) { + markStartDate = new Date(currentDate.getTime()) + markEndDate = new Date(currentDate.getTime() + workHours[j].start * 1000) + + let sizes = gantt.getTaskPosition(task, markStartDate, markEndDate) + let el = document.createElement('div') + + el.className = 'weekend_task_layer' + el.style.left = sizes.left + 'px' + el.style.width = sizes.width + 'px' + el.style.top = sizes.top + 'px' + el.style.height = gantt.config.row_height + 'px' + + //here we append the weekend div to the main div + main_div.appendChild(el) + } + if (j != workHours.length - 1) { + markStartDate = new Date(currentDate.getTime() + workHour.end * 1000) + markEndDate = new Date(currentDate.getTime() + workHours[j + 1].start * 1000) + + let sizes = gantt.getTaskPosition(task, markStartDate, markEndDate) + let el = document.createElement('div') + + el.className = 'weekend_task_layer' + el.style.left = sizes.left + 'px' + el.style.width = sizes.width + 'px' + el.style.top = sizes.top + 'px' + el.style.height = gantt.config.row_height + 'px' + + //here we append the weekend div to the main div + main_div.appendChild(el) + } + if (j == workHours.length - 1 && workHour.end < 24 * 60 * 60) { + markStartDate = new Date(currentDate.getTime() + workHour.end * 1000) + markEndDate = new Date(currentDate.getTime() + 24 * 60 * 60 * 1000) + + let sizes = gantt.getTaskPosition(task, markStartDate, markEndDate) + let el = document.createElement('div') + + el.className = 'weekend_task_layer' + el.style.left = sizes.left + 'px' + el.style.width = sizes.width + 'px' + el.style.top = sizes.top + 'px' + el.style.height = gantt.config.row_height + 'px' + + //here we append the weekend div to the main div + main_div.appendChild(el) + } + } + currentDate.setDate(currentDate.getDate() + 1) + } + return main_div + }) + }, + showUpdownTaskLayer() { + // 上下拖动时虚拟移动块显示 + let me = this + let el + const highlightTaskLayer = gantt.addTaskLayer({ + renderer: { + render: function highlight_area() { + if (!me.allowsVerticalDrag()) { + return + } + let task = gantt.getTask(me.dragging_task) + let sizes = gantt.getTaskPosition(task, task.start_date, task.end_date) + el = el || document.createElement('div') + let top = 15 + el.className = 'gantt_task_line' + el.style.top = me.y_pos - top + 'px' + if (task.type == gantt.config.types.milestone) { + el.style.left = sizes.left - 15 + 'px' + el.style.width = '30px' + el.style.height = '30px' + el.style.transform = 'rotate(45deg)' + el.style.background = '#D33DAF' + } else { + el.style.left = sizes.left + 'px' + el.style.width = sizes.width + 'px' + el.style.height = sizes.height + 'px' + } + el.style.zIndex = 9999 + el.style.opacity = 0.5 + if (me.dragging_task) return el + }, + // 滚动条滑动至任务不可见时无法显示拖动块问题 + getRectangle: function (task, view) { + var position = gantt.getTaskPosition(task, task.planned_start, task.planned_end) + position.top = me.y_pos - top + return position + }, + }, + filter: function (task) { + return me.dragging_task == gantt.getState().drag_id + }, + }) + }, + showInsertTaskLayer() { + // 插单位置显示 + let me = this + let wrapper, append1, append2 + const insertTaskDragLayer = gantt.addTaskLayer({ + renderer: { + render: function show_dates() { + if (!me.allowsInsertTaskDrag()) { + return + } + var task = gantt.getTask(me.dragging_task) + var sizes = gantt.getTaskPosition(task, task.start_date, task.end_date), + wrapper = wrapper || document.createElement('div'), + append1 = append1 || document.createElement('div'), + append2 = append2 || document.createElement('div') + + var left = sizes.left + var top = sizes.top + var target_index = Math.floor(me.y_pos / gantt.config.row_height) + var target_task = gantt.getTaskByIndex(target_index) + if (target_task && me.allowsVerticalDrag()) { + top = gantt.getTaskPosition(target_task, target_task.start_date, target_task.end_date).top + } + var insertBeforeTask = me.getFirstTaskByTime(task.start_date, task, target_task) + if (insertBeforeTask != null) { + // 插单到对应insertBeforeTask任务之前,任务重叠时置于重叠任务开始时间之前 + var insertBeforeTaskPosition = gantt.getTaskPosition( + insertBeforeTask, + insertBeforeTask.start_date, + insertBeforeTask.end_date + ) + if ( + (me.allowsVerticalDrag() && insertBeforeTask.parent != task.parent) || + (!me.allowsVerticalDrag() && insertBeforeTask.parent == task.parent) + ) { + left = insertBeforeTaskPosition.left + top = insertBeforeTaskPosition.top + } + } + + me.addElement( + { + css: 'drag_move_vertical', + left: left - 1 + 'px', + top: top + 'px', + width: '1px', + height: gantt.config.row_height + 'px', + wrapper: wrapper, + }, + append1 + ) + + me.addElement( + { + css: 'drag_move_horizontal', + left: left - 3 + 'px', + top: top + 'px', + width: '5px', + height: gantt.config.row_height + 'px', + wrapper: wrapper, + }, + append2 + ) + + return wrapper + }, + // 滚动条滑动至任务不可见时无法显示拖动块问题 + getRectangle: function (task, view) { + var position = gantt.getTaskPosition(task, task.planned_start, task.planned_end) + position.top = me.y_pos - top + return position + }, + }, + filter: function (task) { + return /*gantt.config.show_drag_vertical && */ me.dragging_task == gantt.getState().drag_id + }, + }) + }, + onBeforeRowDragEndEvent() { + let me = this + // grid中上下拖动任务 + const onBeforeRowDragEnd = gantt.attachEvent('onBeforeRowDragEnd', function (id, parent, tindex) { + var task = gantt.getTask(id) + if (parent == '0') { + return false + } + if (!validateBusyTasks(id)) { + return false + } + if (task.parent == parent) { + return false + } + return me.processTaskChange(task, parent, id, true) + }) + me.events.push(onBeforeRowDragEnd) + }, + onBeforeLightboxEvent() { + let me = this + // 默认任务弹出框显示前时间监听,返回false禁用弹出,使用自定义弹出框 + const onBeforeLightbox = gantt.attachEvent('onBeforeLightbox', function (id) { + if (!me.readonly) { + me.modifyTask(id) + } + return false + }) + me.events.push(onBeforeLightbox) + }, + onBeforeTaskChangedEvent() { + let me = this + // 任务变动,同一线体 + const onBeforeTaskChanged = gantt.attachEvent('onBeforeTaskChanged', function (id, mode, task) { + if (mode == gantt.config.drag_mode.move || mode == gantt.config.drag_mode.resize) { + var validated = me.validateBusyTasks(id) + if (!validated) { + return false + } + // 调用后台dragGanttChart校验并计算 + return me.processTaskChange(task, task.parent, id, true) + } + return true + }) + me.events.push(onBeforeTaskChanged) + }, + onContextMenuEvent() { + let me = this + // 右键菜单 + const onContextMenu = gantt.attachEvent('onContextMenu', function (taskId, linkId, event) { + if (me.readonly) { + return false + } + me.contextMenuVisible = true + if (taskId) { + me.currentTaskId = taskId + event.preventDefault() // 阻止浏览器默认右键菜单 + const menuElement = document.getElementById('gantt-context-menu') + const menuPosition = { + left: event.pageX, + top: event.pageY, + } + // 设置菜单位置 + Object.assign(menuElement.style, { + position: 'fixed', + left: `${menuPosition.left}px`, + top: `${menuPosition.top}px`, + width: null, + }) + // 可选:根据taskId和linkId动态更新菜单项 + // this.updateDynamicMenuItems(taskId, linkId); + } else if (linkId) { + } + if (taskId || linkId) { + return false + } + return true + }) + me.events.push(onContextMenu) + }, + onAfterTaskUpdateEvent() { + let me = this + // 拖动后更新后台 + const onAfterTaskUpdate = gantt.attachEvent('onAfterTaskUpdate', function (id, item) { + if (item.type == 'shop_order') { + // updateShopOrderSchedule(item, "U"); + } else if (item.type == 'pm') { + // updatePmSchedule(item); + } else if (item.type == 'spec_change') { + } + return false + }) + me.events.push(onAfterTaskUpdate) + }, + onBeforeTaskDisplayEvent() { + let me = this + // 过滤---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + const onBeforeTaskDisplay = gantt.attachEvent('onBeforeTaskDisplay', function (id, task) { + var filterValue = me.dispatchConditions.filterText + if (isBlank(filterValue)) { + return true + } + var parentId = task.parent || '' + + if (id.indexOf(filterValue.toUpperCase()) > -1 || parentId.indexOf(filterValue.toUpperCase()) > -1) { + return true + } + /* + if(filterTypeValue == "RESOURCE") { + if(id.indexOf(filterValue.toUpperCase()) > -1 || parentId.indexOf(filterValue.toUpperCase()) > -1) { + return true; + } + } else if(filterTypeValue == "SHOP_ORDER") { + if(shopOrder.indexOf(filterValue.toUpperCase()) > -1 || (task.parent == "0" && gantt.getTaskBy("parent", id).filter((item) => {return item.shopOrder.indexOf(filterValue.toUpperCase()) > -1}).length > 0)) { + return true; + } + } + */ + return false + }) + me.events.push(onBeforeTaskDisplay) + }, + onAfterTaskDragEvent() { + let me = this + // **********************************vertical drag********************************** + const onAfterTaskDragEvent = gantt.attachEvent('onAfterTaskDrag', function (id, mode, e) { + var modes = gantt.config.drag_mode + if (!me.allowsVerticalDrag()) { + return + } + me.verticleModeRealUpdate = true + if (mode == modes.move) { + if (me.dragging_task && id == me.dragging_task) { + var target_index = Math.floor(me.y_pos / gantt.config.row_height) + + var target_task = gantt.getTaskByIndex(target_index) + if (!target_task) target_task = gantt.getTaskByIndex(gantt.getVisibleTaskCount() - 1) + + if (target_task.id == id || target_task.type != 'project') { + me.dragging_task = 0 + gantt.refreshTask(id) + return true + } + var task = gantt.getTask(id) + if (task.parent) { + var original_parent = gantt.getTask(task.parent) + var children = gantt.getChildren(task.parent) + if (children.length == 1) original_parent.type = gantt.config.types.task + } + task.parent = target_task.id + task.calendar_id = target_task.calendar_id + gantt.updateTask(target_task.id) + gantt.updateTask(id) + gantt.render() + } + me.dragging_task = 0 + me.verticleModeRealUpdate = false + gantt.refreshTask(id) + } + }) + me.events.push(onAfterTaskDragEvent) + }, + onMouseMoveEvent() { + // 计算y_pos值 + let me = this + const onMouseMove = gantt.attachEvent('onMouseMove', function (id, e) { + // gantt.$task_scale.offsetHeight: 时间scale高度。gantt.$container.offsetParent.offsetTop:工具栏高度 + let avueHeaderEl = document.getElementsByClassName('avue-header') + // let avueTagsEl = document.getElementsByClassName('avue-tags'); + let header = avueHeaderEl && avueHeaderEl.length > 0 ? avueHeaderEl[0].clientHeight : 0 + // let avueTags = avueTagsEl && avueTagsEl.length > 0 ? avueTagsEl[0].clientHeight : 0; + me.y_pos = + e.clientY + + gantt.getScrollState().y - + gantt.$task_scale.offsetHeight - + gantt.$container.offsetParent.offsetTop - + header + + if (me.dragging_task) { + var taskNode = gantt.getTaskNode(me.dragging_task) + if (taskNode) { + taskNode.style.zIndex = 999 + } + } + }) + me.events.push(onMouseMove) + }, + onBeforeTaskDragEvent() { + //hide the task bar + let me = this + const onBeforeTaskDrag = gantt.attachEvent('onBeforeTaskDrag', function (id, mode, e) { + var modes = gantt.config.drag_mode + if (mode == modes.move) { + me.dragging_task = id + gantt.refreshTask(id) + } + return true + }) + me.events.push(onBeforeTaskDrag) + }, + zoomIn() { + this.zoomInOut('in') + }, + + zoomOut() { + this.zoomInOut('out') + }, + onScaleValueChanged(value) { + this.setScaleConfig(value) + gantt.render() + }, + // 动态时间视图设置 + setScaleConfig(value) { + switch (value) { + case 'minute': + gantt.config.readonly = false + gantt.config.xml_date = '%d-%m-%Y %H:%i' + gantt.config.scale_unit = 'hour' + gantt.config.duration_unit = 'minute' + gantt.config.step = 1 + gantt.config.duration_step = 1 + gantt.config.time_step = 1 //自动resize的步数1分钟 + gantt.config.date_scale = '%Y-%m-%d(%H)' + gantt.config.min_column_width = 20 + gantt.config.scale_height = 75 + + //gantt.config.show_task_cells = false; + gantt.config.subscales = [ + { unit: 'day', step: 1, date: '%j %F, %l' }, + { unit: 'minute', step: 5, date: '%i' }, + ] + break + case 'hour': + gantt.config.readonly = false + gantt.config.scale_unit = 'hour' + gantt.config.duration_unit = 'minute' + gantt.config.duration_step = 1 + gantt.config.time_step = 1 //自动resize的步数5分钟 + gantt.templates.date_scale = null //清空template + gantt.config.date_scale = '%H' + gantt.config.min_column_width = 40 + gantt.config.scale_height = 45 + //gantt.config.show_task_cells = false; + gantt.config.subscales = [{ unit: 'day', step: 1, date: '%Y-%m-%d' }] + break + case 'day': + gantt.config.readonly = false + gantt.config.scale_unit = 'day' + gantt.config.duration_unit = 'minute' + gantt.config.duration_step = 1 + gantt.config.time_step = 1 //自动resize的步数5分钟 + gantt.templates.date_scale = null //清空template + gantt.config.date_scale = '%d' + gantt.config.min_column_width = 15 + gantt.config.scale_height = 45 + //gantt.config.show_task_cells = false; + gantt.config.subscales = [ + { unit: 'month', step: 1, date: '%Y-%m' }, + { unit: 'hour', step: 1, date: '%H' }, + ] + break + case 'week': + gantt.config.readonly = false + gantt.config.scale_unit = 'week' + gantt.config.duration_unit = 'minute' + gantt.config.step = 1 + gantt.config.duration_step = 1 + gantt.config.time_step = 1 //自动resize的步数5分钟 + gantt.config.min_column_width = 15 + gantt.config.scale_height = 50 + + gantt.templates.date_scale = function (date) { + var dateToStr = gantt.date.date_to_str('%Y-%m-%d') + var startDate = gantt.date.week_start(new Date(date)) + var endDate = gantt.date.add(gantt.date.add(startDate, 1, 'week'), -1, 'day') + return dateToStr(startDate) + ' - ' + dateToStr(endDate) + } + //gantt.config.show_task_cells = false; + gantt.config.subscales = [ + { unit: 'day', step: 1, date: '%Y-%m-%d(%D)' }, + { unit: 'hour', step: 1, date: '%H' }, + ] + break + case 'month': + gantt.config.readonly = false + gantt.config.scale_unit = 'month' + gantt.config.date_scale = '%Y-%m' + gantt.config.duration_step = 1 + gantt.config.time_step = 1 //自动resize的步数5分钟 + //gantt.config.show_task_cells = false; + gantt.config.subscales = [{ unit: 'day', step: 1, date: '%d' }] + gantt.config.scale_height = 50 + gantt.templates.date_scale = null + break + case 'year': + gantt.config.readonly = true + gantt.config.scale_unit = 'year' + gantt.config.step = 1 + gantt.config.date_scale = '%Y' + gantt.config.min_column_width = 50 + + gantt.config.scale_height = 90 + gantt.templates.date_scale = null + + function quarterLabel(date) { + var month = date.getMonth() + var q_num + if (month >= 9) { + q_num = 4 + } else if (month >= 6) { + q_num = 3 + } else if (month >= 3) { + q_num = 2 + } else { + q_num = 1 + } + return 'Q' + q_num + } + gantt.config.subscales = [ + { unit: 'quarter', step: 1, template: quarterLabel }, + { unit: 'month', step: 1, date: '%M' }, + ] + break + } + }, + zoomInOut(direction = 'in') { + const currentScale = this.dispatchConditions.scale + const scaleData = this.scaleList + + // 检查边界条件 + let index = scaleData.findIndex((item) => item.value === currentScale) + if (index === -1) { + console.error('Current scale not found in scaleData') + return + } + + // 确保索引在有效范围内 + index = direction === 'in' ? index + 1 : index - 1 + if (index < 0 || index >= scaleData.length) { + console.log(`No ${direction === 'in' ? 'larger' : 'smaller'} scale available`) + return + } + + const nextScale = scaleData[index].value + + // 更新配置并渲染 + this.setScaleConfig(nextScale) + this.dispatchConditions.scale = nextScale + gantt.render() + }, + }, +} diff --git a/src/views/mes/tds/dispatch-gantt/content/dispatch-edit.vue b/src/views/mes/tds/dispatch-gantt/content/dispatch-edit.vue new file mode 100644 index 0000000..de4ef1e --- /dev/null +++ b/src/views/mes/tds/dispatch-gantt/content/dispatch-edit.vue @@ -0,0 +1,382 @@ + + diff --git a/src/views/mes/tds/dispatch-gantt/content/dispatch-list-shop-order-dialog.vue b/src/views/mes/tds/dispatch-gantt/content/dispatch-list-shop-order-dialog.vue new file mode 100644 index 0000000..8712d6d --- /dev/null +++ b/src/views/mes/tds/dispatch-gantt/content/dispatch-list-shop-order-dialog.vue @@ -0,0 +1,253 @@ + + + + diff --git a/src/views/mes/tds/dispatch-gantt/content/manual-dispatch-line.vue b/src/views/mes/tds/dispatch-gantt/content/manual-dispatch-line.vue new file mode 100644 index 0000000..c9b0ac5 --- /dev/null +++ b/src/views/mes/tds/dispatch-gantt/content/manual-dispatch-line.vue @@ -0,0 +1,479 @@ + + diff --git a/src/views/mes/tds/dispatch-gantt/gantt-report-so.vue b/src/views/mes/tds/dispatch-gantt/gantt-report-so.vue new file mode 100644 index 0000000..9618160 --- /dev/null +++ b/src/views/mes/tds/dispatch-gantt/gantt-report-so.vue @@ -0,0 +1,749 @@ + + + + + diff --git a/src/views/mes/tds/dispatch-gantt/index.vue b/src/views/mes/tds/dispatch-gantt/index.vue new file mode 100644 index 0000000..ca12de5 --- /dev/null +++ b/src/views/mes/tds/dispatch-gantt/index.vue @@ -0,0 +1,1971 @@ + + + + + diff --git a/src/views/mes/tds/dispatch-list/dialog/search-ui.vue b/src/views/mes/tds/dispatch-list/dialog/search-ui.vue new file mode 100644 index 0000000..91479c1 --- /dev/null +++ b/src/views/mes/tds/dispatch-list/dialog/search-ui.vue @@ -0,0 +1,196 @@ + + + diff --git a/src/views/mes/tds/dispatch-list/index.vue b/src/views/mes/tds/dispatch-list/index.vue new file mode 100644 index 0000000..ff7ba0a --- /dev/null +++ b/src/views/mes/tds/dispatch-list/index.vue @@ -0,0 +1,134 @@ + + + diff --git a/src/views/mes/tds/dispatch-list/init.js b/src/views/mes/tds/dispatch-list/init.js new file mode 100644 index 0000000..44a6e08 --- /dev/null +++ b/src/views/mes/tds/dispatch-list/init.js @@ -0,0 +1,9 @@ +export const init = {} + +export const tableObj = [ + { prop: 'lotNo', label: 'mes.productionBatchNumber', width: 'auto' }, + { prop: 'customerBatch', label: 'mes.userLot', width: 'auto' }, + { prop: 'qty', label: 'mes.batchSize', width: '100' }, + { prop: 'workingHour', label: 'mes.tds.standardWorkingHours', width: '200' }, + { prop: 'completeDate', label: 'mes.tds.arrivalTime', width: '180' }, +] diff --git a/src/views/mes/tds/dispatch-rules/index.vue b/src/views/mes/tds/dispatch-rules/index.vue new file mode 100644 index 0000000..2b01902 --- /dev/null +++ b/src/views/mes/tds/dispatch-rules/index.vue @@ -0,0 +1,256 @@ + + + diff --git a/src/views/mes/tds/dispatch-rules/init.js b/src/views/mes/tds/dispatch-rules/init.js new file mode 100644 index 0000000..6057a2c --- /dev/null +++ b/src/views/mes/tds/dispatch-rules/init.js @@ -0,0 +1,4 @@ +export const init = { + operation: null, + description: null +} diff --git a/src/views/mes/tds/production-capacity/content/dialog.vue b/src/views/mes/tds/production-capacity/content/dialog.vue new file mode 100644 index 0000000..401f03a --- /dev/null +++ b/src/views/mes/tds/production-capacity/content/dialog.vue @@ -0,0 +1,143 @@ + + diff --git a/src/views/mes/tds/production-capacity/content/main-basis.vue b/src/views/mes/tds/production-capacity/content/main-basis.vue new file mode 100644 index 0000000..edfa33f --- /dev/null +++ b/src/views/mes/tds/production-capacity/content/main-basis.vue @@ -0,0 +1,387 @@ + + diff --git a/src/views/mes/tds/production-capacity/index.vue b/src/views/mes/tds/production-capacity/index.vue new file mode 100644 index 0000000..4dccca9 --- /dev/null +++ b/src/views/mes/tds/production-capacity/index.vue @@ -0,0 +1,436 @@ + + + + + diff --git a/src/views/mes/tds/production-capacity/init.js b/src/views/mes/tds/production-capacity/init.js new file mode 100644 index 0000000..5d5e836 --- /dev/null +++ b/src/views/mes/tds/production-capacity/init.js @@ -0,0 +1,65 @@ +export const dispatchCategoryList = [ + { value: '0', label: 'mes.productionLine' }, + { value: '1', label: 'mes.equipment' }, +] + +export const initQueryParam = { + current: 1, + size: 20, + dispatchCategory: '0', + productionLine: '', + productionOptions: 'NONE', + resourceType: '', + resrce: '', + item: '', +} + +export const iniCopy = { + handle: '', + productionLine: '', + resourceType: '', + resrce: '', + item: '', + itemBo: '', + itemDesc: '', + productionLineDesc: '', + resourceDesc: '', + eqpTypeDesc: '', +} + +export const initForm = { + ...iniCopy, + dispatchCategory: '0', + productionOptions: 'NONE', + leadTime: '0', + specChangeTime: '0', + priority: '1', + uph: '', + productionOptionsList: [], +} + +// 设备弹窗配置 +export const resrceDialogObj = { + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.equipment' }, + { prop: 'description', label: 'mes.desc' }, + ], + queryParam: {}, +} + +// 工作中心-无分页 +export const wcDialogObj = { + condition: 'workCenter', + tableColumn: [ + { prop: 'workCenter', label: 'mes.productionLine' }, + { prop: 'description', label: 'mes.desc' }, + ], + queryParam: {}, + page: false, +} + +export const emptyProductionOption = { + value: 'NONE', + label: 'NONE', +} diff --git a/src/views/mes/tds/std-working-hours/content/dialog.vue b/src/views/mes/tds/std-working-hours/content/dialog.vue new file mode 100644 index 0000000..ca366cb --- /dev/null +++ b/src/views/mes/tds/std-working-hours/content/dialog.vue @@ -0,0 +1,110 @@ + + diff --git a/src/views/mes/tds/std-working-hours/content/main-basis.vue b/src/views/mes/tds/std-working-hours/content/main-basis.vue new file mode 100644 index 0000000..eb2ab91 --- /dev/null +++ b/src/views/mes/tds/std-working-hours/content/main-basis.vue @@ -0,0 +1,265 @@ + + diff --git a/src/views/mes/tds/std-working-hours/index.vue b/src/views/mes/tds/std-working-hours/index.vue new file mode 100644 index 0000000..df8a420 --- /dev/null +++ b/src/views/mes/tds/std-working-hours/index.vue @@ -0,0 +1,315 @@ + + + + diff --git a/src/views/mes/tds/std-working-hours/init.js b/src/views/mes/tds/std-working-hours/init.js new file mode 100644 index 0000000..f1d5b40 --- /dev/null +++ b/src/views/mes/tds/std-working-hours/init.js @@ -0,0 +1,121 @@ +export const tableOption = { + header: false, + menuWidth: 180, + menuPosition: 'center', + indexLabel: 'common.seq', + index: true, + stripe: true, + menuAlign: 'center', + align: 'center', + emptyText: 'mes.tds.noData', + highlightCurrentRow: true, + column: [ + { + label: 'mes.process', + prop: 'operation', + width: 110, + }, + { + label: 'mes.operationDesc', + prop: 'operationDesc', + }, + { + label: 'mes.product_number', + prop: 'item', + }, + { + label: 'crud.column.label.equipmentCategory', + prop: 'typeNo', + formatter: (val, value, label) => { + if (val.eqpTypeBo == '*') { + val.typeNo = val.eqpTypeBo + return val.eqpTypeBo + } + return value + }, + }, + { + label: 'mes.tds.workingTimeCalculationType', + prop: 'workingHoursMode', + width: 220, + formatter: (val, value, label) => { + return mode[value] + }, + }, + { + label: 'mes.tds.leadTime', + prop: 'leadTime', + width: 100, + }, + { + label: 'mes.tds.lineChangeTime', + prop: 'changeoverTime', + width: 140, + }, + { + label: 'mes.tds.productionTime', + prop: 'productionTime', + width: 130, + }, + { + label: 'UPH', + prop: 'uph', + width: 100, + }, + ], +} + +export const page = { + total: 0, // 总页数 + currentPage: 1, // 当前页数 + pageSize: 20, // 每页显示多少条 +} + +export const initSearchForm = { + workingHoursMode: '', + operation: '', + item: '', + typeNo: '', +} + +export const iniCopy = { + handle: '', + operation: '', + operationBo: '', + operationDesc: '', + item: '', + itemDesc: '', + typeNo: '', + eqpTypeBo: '', + eqpTypeDesc: '', +} + +export const initForm = { + ...iniCopy, + leadTime: '0', + changeoverTime: '0', + workingHoursMode: '1', + productionTime: '', + uph: '', +} + +export const workingHoursMode = [ + { + key: '0', + label: 'mes.tds.fixedValue', + }, + { + key: '1', + label: 'UPH', + }, + { + key: '2', + label: 'mes.tds.testProcess', + }, +] + +let mode = { + 0: 'mes.tds.fixedValue', + 1: 'UPH', + 2: 'mes.tds.testProcess', +} diff --git a/src/views/mes/tds/test-list/index.vue b/src/views/mes/tds/test-list/index.vue new file mode 100644 index 0000000..e2c7f15 --- /dev/null +++ b/src/views/mes/tds/test-list/index.vue @@ -0,0 +1,366 @@ + + + diff --git a/src/views/mes/tds/test-list/init.js b/src/views/mes/tds/test-list/init.js new file mode 100644 index 0000000..17b9832 --- /dev/null +++ b/src/views/mes/tds/test-list/init.js @@ -0,0 +1,23 @@ +export const init = {} +export const initSearch = {} + +export const tableObj = [ + { prop: 'seq', label: 'mes.itemNumber', width: '75' }, + { prop: 'newTaskType', label: 'mes.tds.taskCategory', width: '120' }, + { prop: 'item', label: 'mes.tds.productModelOrPID', width: '200' }, + { prop: 'operation', label: 'mes.process', width: '75' }, + { prop: 'site', label: 'mes.tds.arrived', width: '75' }, + { prop: 'lotNo', label: 'mes.productionBatchNumber', width: '200' }, + { prop: 'customerName', label: 'mes.customerName', width: '150' }, + { prop: 'qty', label: 'mes.tds.inputNumber', width: '120' }, + { prop: 'testHours', label: 'mes.tds.testingHoursOrHrs', width: '120' }, + { prop: 'leadTime', label: 'mes.tds.additionalOperationTimeOrHrs', width: '200' }, + { prop: 'changeoverTime', label: 'mes.tds.lineChangeTimeOrHrs', width: '160' }, + { prop: 'schedulingStart', label: 'mes.tds.scheduleStartTime', width: '160' }, + { prop: 'schedulingComplete', label: 'mes.tds.scheduleEndTime', width: '160' }, + { prop: 'eventTime', label: 'mes.checkInTime', width: '120' }, + { prop: 'packageType', label: 'mes.tds.packageType', width: '120' }, + { prop: 'packageSize', label: 'Size', width: '75' }, + { prop: 'packagePin', label: 'Pin', width: '50' }, + { prop: 'temperature', label: 'mes.tds.temperature', width: '120' }, +] diff --git a/src/views/mes/tds/test-list/search-ui.vue b/src/views/mes/tds/test-list/search-ui.vue new file mode 100644 index 0000000..6ca2764 --- /dev/null +++ b/src/views/mes/tds/test-list/search-ui.vue @@ -0,0 +1,200 @@ + + + diff --git a/src/views/mes/tds/test-sup/index.vue b/src/views/mes/tds/test-sup/index.vue new file mode 100644 index 0000000..b47117e --- /dev/null +++ b/src/views/mes/tds/test-sup/index.vue @@ -0,0 +1,780 @@ + + + diff --git a/src/views/mes/tds/test-sup/init.js b/src/views/mes/tds/test-sup/init.js new file mode 100644 index 0000000..6688636 --- /dev/null +++ b/src/views/mes/tds/test-sup/init.js @@ -0,0 +1,101 @@ +export const init = { + tasksType: null, + dateRequired: null, + hoursRequired: null, + tasksNo: null, + applicant: null, + customerName: null, + memo: null, +} +export const initSearch = {} + +export const ruleSearch = { + segmentNo: [{ required: true, message: '请输入工段', trigger: 'blur' }], + workCenter: [{ required: true, message: 'rules.enterWorkCenter', trigger: 'blur' }], + eqpCategory: [{ required: true, message: '请输入设备大类', trigger: 'blur' }], + eqpType: [{ required: true, message: '请输入设备类别', trigger: 'blur' }], + eqpNo: [{ required: true, message: '请输入设备编号', trigger: 'blur' }], +} +export const ruleNonPrd = { + tasksType: [{ required: true, message: '请输入任务类别', trigger: 'blur' }], + dateRequired: [{ required: true, message: '请输入需求时间', trigger: 'blur' }], + tasksNo: [{ required: true, message: '请输入任务单号', trigger: 'blur' }], + hoursRequired: [{ required: true, message: '请输入需求时数', trigger: 'blur' }], +} +export const wcDialogObj = { + condition: 'workCenter', + tableColumn: [ + { prop: 'workCenter', label: 'mes.workCenter' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + page: false, +} +export const eqpDialogObj = { + condition: 'categoryNo', + tableColumn: [ + { prop: 'categoryNo', label: 'mes.tds.equipmentMajorCategoryNumber' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + page: false, +} +export const eqpTypeDialogObj = { + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'crud.column.label.equipmentCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + page: false, +} +export const eqpNoDialogObj = { + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, + page: false, +} +export const tableHeader = [ + // { prop: "seq", label: "mes.itemNumber", width: '75' }, + { prop: 'newTaskType', label: 'mes.tds.taskCategory', width: '120' }, + { prop: 'item', label: 'mes.tds.productModelOrPID', width: '220' }, + { prop: 'operation', label: 'mes.process', width: '75' }, + { prop: 'site', label: 'mes.tds.arrived', width: '80' }, + { prop: 'lotNo', label: 'mes.productionBatchNumber', width: '200' }, + { prop: 'customerName', label: 'mes.customerName', width: '150' }, + { prop: 'qty', label: 'mes.tds.inputNumber', width: '120' }, + { prop: 'testHours', label: 'mes.tds.testingHoursOrHrs', width: '160' }, + { prop: 'leadTime', label: 'mes.tds.additionalOperationTimeOrHrs', width: '220' }, + { prop: 'changeoverTime', label: 'mes.tds.lineChangeTimeOrHrs', width: '160' }, + { prop: 'schedulingStart', label: 'mes.tds.scheduleStartTime', width: '180' }, + { prop: 'schedulingComplete', label: 'mes.tds.scheduleEndTime', width: '180' }, + { prop: 'eventTime', label: 'mes.checkInTime', width: '160' }, + { prop: 'packageType', label: 'mes.tds.packageType', width: '160' }, + { prop: 'packageSize', label: 'Size', width: '75' }, + { prop: 'packagePin', label: 'Pin', width: '50' }, + { prop: 'temperature', label: 'mes.tds.temperature', width: '160' }, +] +export const tableHeader2 = [ + { prop: 'customerName', label: 'mes.customerName', width: '100' }, + { prop: 'lotNo', label: 'mes.productionBatchNumber', width: '200' }, + { prop: 'item', label: 'mes.tds.productModelOrPID', width: '200' }, + { prop: 'operation', label: 'mes.process', width: '100' }, + { prop: 'priority', label: 'mes.priorityOrder', width: '100' }, + { prop: 'temperature', label: 'mes.tds.temperature', width: '100' }, + { prop: 'qty', label: 'common.quantity', width: '100' }, + { prop: 'testHour', label: 'mes.tds.testingHoursOrHrs', width: '100' }, +] +export const status = [ + { value: 'R', label: 'mes.inProcess' }, + { value: 'Q', label: 'mes.tds.arrived' }, + { value: 'NA', label: 'mes.tds.notArrived' }, +] + +export const sortList = [ + { value: '1', label: 'mes.tds.customerProductProcessOrderNumber' }, + { value: '2', label: 'mes.tds.priorityDeliveryDateProductProcessOrderNumber' }, + { value: '3', label: 'mes.tds.temperaturePriorityCustomerProductProcessOrderNumber' }, +] diff --git a/src/views/mes/tds/test-sup/search-ui.vue b/src/views/mes/tds/test-sup/search-ui.vue new file mode 100644 index 0000000..6ca235b --- /dev/null +++ b/src/views/mes/tds/test-sup/search-ui.vue @@ -0,0 +1,355 @@ + + + diff --git a/src/views/mes/tms/claim-master/addView.vue b/src/views/mes/tms/claim-master/addView.vue new file mode 100644 index 0000000..c22e0ce --- /dev/null +++ b/src/views/mes/tms/claim-master/addView.vue @@ -0,0 +1,371 @@ + + diff --git a/src/views/mes/tms/claim-master/claimView.vue b/src/views/mes/tms/claim-master/claimView.vue new file mode 100644 index 0000000..ccaaa7e --- /dev/null +++ b/src/views/mes/tms/claim-master/claimView.vue @@ -0,0 +1,164 @@ + + + diff --git a/src/views/mes/tms/claim-master/index.vue b/src/views/mes/tms/claim-master/index.vue new file mode 100644 index 0000000..500f9f5 --- /dev/null +++ b/src/views/mes/tms/claim-master/index.vue @@ -0,0 +1,417 @@ + + + diff --git a/src/views/mes/tms/storage-return-master/addView.vue b/src/views/mes/tms/storage-return-master/addView.vue new file mode 100644 index 0000000..f2a9a10 --- /dev/null +++ b/src/views/mes/tms/storage-return-master/addView.vue @@ -0,0 +1,432 @@ + + diff --git a/src/views/mes/tms/storage-return-master/index.vue b/src/views/mes/tms/storage-return-master/index.vue new file mode 100644 index 0000000..86f5b3e --- /dev/null +++ b/src/views/mes/tms/storage-return-master/index.vue @@ -0,0 +1,476 @@ + + + + diff --git a/src/views/mes/tms/storage-return-master/returnView.vue b/src/views/mes/tms/storage-return-master/returnView.vue new file mode 100644 index 0000000..148a145 --- /dev/null +++ b/src/views/mes/tms/storage-return-master/returnView.vue @@ -0,0 +1,164 @@ + + + diff --git a/src/views/mes/tms/tool-life-span/index.vue b/src/views/mes/tms/tool-life-span/index.vue new file mode 100644 index 0000000..3c8c711 --- /dev/null +++ b/src/views/mes/tms/tool-life-span/index.vue @@ -0,0 +1,1077 @@ + + + + diff --git a/src/views/mes/tms/tool-maintain/content/attachment.vue b/src/views/mes/tms/tool-maintain/content/attachment.vue new file mode 100644 index 0000000..058096d --- /dev/null +++ b/src/views/mes/tms/tool-maintain/content/attachment.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/views/mes/tms/tool-maintain/content/custom-form.vue b/src/views/mes/tms/tool-maintain/content/custom-form.vue new file mode 100644 index 0000000..c101ff2 --- /dev/null +++ b/src/views/mes/tms/tool-maintain/content/custom-form.vue @@ -0,0 +1,255 @@ + + + diff --git a/src/views/mes/tms/tool-maintain/content/maintain.vue b/src/views/mes/tms/tool-maintain/content/maintain.vue new file mode 100644 index 0000000..d31fbcb --- /dev/null +++ b/src/views/mes/tms/tool-maintain/content/maintain.vue @@ -0,0 +1,311 @@ + + + diff --git a/src/views/mes/tms/tool-maintain/index.vue b/src/views/mes/tms/tool-maintain/index.vue new file mode 100644 index 0000000..7bd558a --- /dev/null +++ b/src/views/mes/tms/tool-maintain/index.vue @@ -0,0 +1,403 @@ + + + diff --git a/src/views/mes/tms/tool-maintain/init.js b/src/views/mes/tms/tool-maintain/init.js new file mode 100644 index 0000000..0f702f4 --- /dev/null +++ b/src/views/mes/tms/tool-maintain/init.js @@ -0,0 +1,110 @@ +import { dateFormatCustom } from '@/util/date' + +export const init = { + maintenanceNo: 'N/A', + dateCreate: dateFormatCustom(new Date(), 'yyyy-MM-dd hh:mm:ss'), + status: 0, + creator: '', +} + +export const searchForm = { + maintenanceNo: '', + toolNo: '', + toolCategory: '', + toolType: '', + start: '', + end: '', +} + +export const searchRules = { + start: [{ required: true, message: null, trigger: 'blur' }], +} + +export const maintainNoDialogObj = { + title: 'mes.tms.maintenanceOrderNumber', + condition: 'maintenanceNo', + tableColumn: [ + { prop: 'maintenanceNo', label: 'mes.tms.maintenanceOrderNumber' }, + { prop: 'dateCreate', label: 'mes.billingDate' }, + { prop: 'status', label: 'crud.column.label.status1' }, + ], + queryParam: {}, +} + +export const toolDialogObj = { + title: 'mes.toolNumber', + condition: 'toolNo', + tableColumn: [ + { prop: 'toolNo', label: 'mes.toolNumber' }, + { prop: 'description', label: 'mes.bpr.toolNoDesc' }, + { prop: 'typeNo', label: 'mes.toolCategory' }, + { prop: 'typeNoDesc', label: 'mes.toolCategoryDescription' }, + { prop: 'categoryNo', label: 'mes.toolMajorCategory' }, + { prop: 'categoryNoDesc', label: 'mes.toolMajorCategoryDescription' }, + ], + queryParam: {}, +} + +export const toolCategoryDialogObj = { + title: 'mes.toolMajorCategory', + condition: 'categoryNo', + tableColumn: [ + { prop: 'categoryNo', label: 'mes.toolMajorCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const toolTypeDialogObj = { + title: 'mes.toolCategory', + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'mes.toolCategory' }, + { prop: 'description', label: 'common.description' }, + { prop: 'categoryNo', label: 'mes.toolMajorCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const select = { + status: [ + {}, + { label: 'mes.tms.unfinished', value: '0' }, + { label: 'mes.completed', value: '1' }, + { label: 'mes.tms.scrapped', value: '2' }, + ], + maintain: { + 0: { + label: 'mes.tms.unfinished', + type: 'success', + }, + 1: { + label: 'mes.completed', + type: 'success', + }, + 2: { + label: 'mes.tms.scrapped', + type: 'danger', + }, + }, + maintainList: [ + { + value: '0', + label: 'mes.tms.unfinished', + }, + { + value: '1', + label: 'mes.completed', + }, + { + value: '2', + label: 'mes.tms.scrapped', + }, + ], + dispMethod: [ + { label: 'mes.none', value: '0' }, + { label: 'mes.tms.resetLife', value: '1' }, + { label: 'mes.tms.toolScrap', value: '2' }, + ], +} diff --git a/src/views/mes/tms/tool-receipt/content/attachment.vue b/src/views/mes/tms/tool-receipt/content/attachment.vue new file mode 100644 index 0000000..52c420e --- /dev/null +++ b/src/views/mes/tms/tool-receipt/content/attachment.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/views/mes/tms/tool-receipt/content/custom-form.vue b/src/views/mes/tms/tool-receipt/content/custom-form.vue new file mode 100644 index 0000000..1c411e7 --- /dev/null +++ b/src/views/mes/tms/tool-receipt/content/custom-form.vue @@ -0,0 +1,272 @@ + + + diff --git a/src/views/mes/tms/tool-receipt/content/detail-add.vue b/src/views/mes/tms/tool-receipt/content/detail-add.vue new file mode 100644 index 0000000..623200f --- /dev/null +++ b/src/views/mes/tms/tool-receipt/content/detail-add.vue @@ -0,0 +1,135 @@ + + + diff --git a/src/views/mes/tms/tool-receipt/content/detail-confirm.vue b/src/views/mes/tms/tool-receipt/content/detail-confirm.vue new file mode 100644 index 0000000..ebc88e8 --- /dev/null +++ b/src/views/mes/tms/tool-receipt/content/detail-confirm.vue @@ -0,0 +1,212 @@ + + + diff --git a/src/views/mes/tms/tool-receipt/content/detail-iqc.vue b/src/views/mes/tms/tool-receipt/content/detail-iqc.vue new file mode 100644 index 0000000..629f638 --- /dev/null +++ b/src/views/mes/tms/tool-receipt/content/detail-iqc.vue @@ -0,0 +1,134 @@ + + + diff --git a/src/views/mes/tms/tool-receipt/content/master-add.vue b/src/views/mes/tms/tool-receipt/content/master-add.vue new file mode 100644 index 0000000..d6cfb54 --- /dev/null +++ b/src/views/mes/tms/tool-receipt/content/master-add.vue @@ -0,0 +1,110 @@ + + + diff --git a/src/views/mes/tms/tool-receipt/index.vue b/src/views/mes/tms/tool-receipt/index.vue new file mode 100644 index 0000000..a1e5c15 --- /dev/null +++ b/src/views/mes/tms/tool-receipt/index.vue @@ -0,0 +1,783 @@ + + + diff --git a/src/views/mes/tms/tool-receipt/init.js b/src/views/mes/tms/tool-receipt/init.js new file mode 100644 index 0000000..d6df237 --- /dev/null +++ b/src/views/mes/tms/tool-receipt/init.js @@ -0,0 +1,110 @@ +import { dateFormatCustom } from '@/util/date' + +export const searchForm = { + receiptNo: '', + qcNo: '', + toolCategory: '', + vendorNo: '', + toolType: '', + start: '', + end: '', +} + +export const detailForm = { + seq: '', + toolNo: '', + description: '', + vendorNo: '', + receiptUser: '', + receiptDate: dateFormatCustom(new Date(), 'yyyy/MM/dd hh:mm:ss'), + editSeq: false, +} + +export const iqcForm = { + qcNo: '', + qcResult: 0, + waiver: 'N', + qcUser: '', + qcDate: dateFormatCustom(new Date(), 'yyyy/MM/dd hh:mm:ss'), +} + +export const confirmForm = { + invNo: '', + storageNo: '', + action: 0, + qcResult: '', + resultType: 'success', + waiverDescription: '', + confirmUser: '', + confirmDate: dateFormatCustom(new Date(), 'yyyy/MM/dd hh:mm:ss'), +} + +export const searchRules = { + start: [{ required: true, message: null, trigger: 'blur' }], +} + +export const iqcRules = {} + +export const receiptNoDialogObj = { + title: 'mes.tms.receivingOrderNumber', + condition: 'receiptNo', + tableColumn: [ + { prop: 'receiptNo', label: 'mes.tms.receivingOrderNumber' }, + { prop: 'dateCreate', label: 'mes.pms.date' }, + { prop: 'status', label: 'crud.column.label.status1' }, + ], + queryParam: {}, +} + +export const qcNoDialogObj = { + title: 'mes.abn.inspReportNo', + condition: 'qcNo', + tableColumn: [ + { prop: 'qcNo', label: 'mes.abn.inspReportNo' }, + { prop: 'toolNo', label: 'mes.toolNumber' }, + { prop: 'toolDesc', label: 'mes.bpr.toolNoDesc' }, + ], + queryParam: {}, +} + +export const toolCategoryDialogObj = { + title: 'mes.toolMajorCategory', + condition: 'categoryNo', + tableColumn: [ + { prop: 'categoryNo', label: 'mes.toolMajorCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const toolTypeDialogObj = { + title: 'mes.toolCategory', + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'mes.toolCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const vendorDialogObj = { + title: 'mes.tms.toolVendor', + condition: 'vendorNo', + tableColumn: [{ prop: 'vendorNo', label: 'mes.tms.toolVendor' }], + queryParam: {}, +} + +export const select = { + status: [ + { label: 'mes.invalidate', value: '-1' }, + { label: 'common.new', value: '0' }, + { label: 'mes.awaitingInspection', value: '1' }, + { label: 'mes.awaitingConfirmation', value: '2' }, + { label: 'mes.completed', value: '3' }, + ], + qcResult: [ + { label: 'PASS', value: '0' }, + { label: 'NG', value: '1' }, + { label: 'mes.wms.specialProcurement', value: '2' }, + ], +} diff --git a/src/views/mes/tms/tool-repair/content/attachment.vue b/src/views/mes/tms/tool-repair/content/attachment.vue new file mode 100644 index 0000000..9a0a9f4 --- /dev/null +++ b/src/views/mes/tms/tool-repair/content/attachment.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/views/mes/tms/tool-repair/content/custom-form.vue b/src/views/mes/tms/tool-repair/content/custom-form.vue new file mode 100644 index 0000000..5f464af --- /dev/null +++ b/src/views/mes/tms/tool-repair/content/custom-form.vue @@ -0,0 +1,256 @@ + + + diff --git a/src/views/mes/tms/tool-repair/content/repair.vue b/src/views/mes/tms/tool-repair/content/repair.vue new file mode 100644 index 0000000..abeaae4 --- /dev/null +++ b/src/views/mes/tms/tool-repair/content/repair.vue @@ -0,0 +1,303 @@ + + + diff --git a/src/views/mes/tms/tool-repair/index.vue b/src/views/mes/tms/tool-repair/index.vue new file mode 100644 index 0000000..2aa8fba --- /dev/null +++ b/src/views/mes/tms/tool-repair/index.vue @@ -0,0 +1,402 @@ + + + diff --git a/src/views/mes/tms/tool-repair/init.js b/src/views/mes/tms/tool-repair/init.js new file mode 100644 index 0000000..0ebbbdd --- /dev/null +++ b/src/views/mes/tms/tool-repair/init.js @@ -0,0 +1,106 @@ +import { dateFormatCustom } from '@/util/date' + +export const init = { + repairNo: 'N/A', + dateCreate: dateFormatCustom(new Date(), 'yyyy-MM-dd hh:mm:ss'), + status: 0, + creator: '', +} + +export const searchForm = { + repairNo: '', + toolNo: '', + toolCategory: '', + toolType: '', + start: '', + end: '', +} + +export const searchRules = { + start: [{ required: true, message: null, trigger: 'blur' }], +} + +export const repairNoDialogObj = { + condition: 'repairNo', + tableColumn: [ + { prop: 'repairNo', label: 'mes.tms.maintenanceOrderNumber' }, + { prop: 'dateCreate', label: 'mes.billingDate' }, + { prop: 'status', label: 'crud.column.label.status1' }, + ], + queryParam: {}, +} + +export const toolDialogObj = { + condition: 'toolNo', + tableColumn: [ + { prop: 'toolNo', label: 'mes.toolNumber' }, + { prop: 'description', label: 'mes.bpr.toolNoDesc' }, + { prop: 'typeNo', label: 'mes.toolCategory' }, + { prop: 'typeNoDesc', label: 'mes.toolCategoryDescription' }, + { prop: 'categoryNo', label: 'mes.toolMajorCategory' }, + { prop: 'categoryNoDesc', label: 'mes.toolMajorCategoryDescription' }, + ], + queryParam: {}, +} + +export const toolCategoryDialogObj = { + condition: 'categoryNo', + tableColumn: [ + { prop: 'categoryNo', label: 'mes.toolMajorCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const toolTypeDialogObj = { + condition: 'typeNo', + tableColumn: [ + { prop: 'typeNo', label: 'mes.toolCategory' }, + { prop: 'description', label: 'common.description' }, + { prop: 'categoryNo', label: 'mes.toolMajorCategory' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: {}, +} + +export const select = { + status: [ + {}, + { label: 'mes.tms.unfinished', value: '0' }, + { label: 'mes.completed', value: '1' }, + { label: 'mes.tms.scrapped', value: '2' }, + ], + repair: { + 0: { + label: 'mes.tms.unfinished', + type: 'success', + }, + 1: { + label: 'mes.completed', + type: 'success', + }, + 2: { + label: 'mes.tms.scrapped', + type: 'danger', + }, + }, + dispMethod: [ + { label: 'mes.none', value: '0' }, + { label: 'mes.tms.resetLife', value: '1' }, + { label: 'mes.tms.toolScrap', value: '2' }, + ], + maintainList: [ + { + value: '0', + label: 'mes.tms.unfinished', + }, + { + value: '1', + label: 'mes.completed', + }, + { + value: '2', + label: 'mes.tms.scrapped', + }, + ], +} diff --git a/src/views/mes/tms/tool-status-basis/index.vue b/src/views/mes/tms/tool-status-basis/index.vue new file mode 100644 index 0000000..bdad0af --- /dev/null +++ b/src/views/mes/tms/tool-status-basis/index.vue @@ -0,0 +1,657 @@ + + + + diff --git a/src/views/mes/tms/tool-status-change/index.vue b/src/views/mes/tms/tool-status-change/index.vue new file mode 100644 index 0000000..6126ceb --- /dev/null +++ b/src/views/mes/tms/tool-status-change/index.vue @@ -0,0 +1,711 @@ + + + diff --git a/src/views/mes/tms/tool-status-change/init.js b/src/views/mes/tms/tool-status-change/init.js new file mode 100644 index 0000000..94a6bc5 --- /dev/null +++ b/src/views/mes/tms/tool-status-change/init.js @@ -0,0 +1,107 @@ +export const initForm = { + categoryNo: '', + typeNo: '', + toolNo: '', + statusCode: '', +} + +export const page = { + currentPage: 1, + pageSizes: [8, 16, 24, 40, 80], + pageSize: 40, + total: 0, +} + +export const toolCategoryDialogObj = { + condition: 'categoryNo', + tableColumn: [ + { + prop: 'categoryNo', + label: 'mes.tms.toolMajorCategoryNumber', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} + +export const statusCodeDialogObj = { + condition: 'searchText', + tableColumn: [ + { + prop: 'statusCode', + label: 'mes.statusCode', + }, + { + prop: 'statusName', + label: 'common.description', + }, + ], +} + +export const toolTypeDialogObj = { + condition: 'typeNo', + tableColumn: [ + { + prop: 'categoryNo', + label: 'mes.tms.toolMajorCategoryNumber', + }, + { + prop: 'categoryNoDesc', + label: 'mes.toolMajorCategoryDescription', + }, + { + prop: 'typeNo', + label: 'mes.tms.toolCategoryNumber', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} + +export const toolNoDialogObj = { + condition: 'toolNo', + tableColumn: [ + { + prop: 'categoryNo', + label: 'mes.tms.toolMajorCategoryNumber', + }, + { + prop: 'categoryNoDesc', + label: 'mes.toolMajorCategoryDescription', + }, + { + prop: 'typeNo', + label: 'mes.tms.toolCategoryNumber', + }, + { + prop: 'typeNoDesc', + label: 'mes.toolCategoryDescription', + }, + { + prop: 'toolNo', + label: 'mes.toolNumber', + }, + { + prop: 'description', + label: 'mes.bpr.toolNoDesc', + }, + ], +} + +export const reasonCodeDialogObj = { + condition: 'reasonCode', + tableColumn: [ + { + prop: 'reasonCode', + label: 'mes.reasonCode', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} diff --git a/src/views/mes/tms/tool-status-unconvertible/index.vue b/src/views/mes/tms/tool-status-unconvertible/index.vue new file mode 100644 index 0000000..1cc086d --- /dev/null +++ b/src/views/mes/tms/tool-status-unconvertible/index.vue @@ -0,0 +1,229 @@ + + + diff --git a/src/views/mes/wip/add-remove-component-operation/dialog/master.vue b/src/views/mes/wip/add-remove-component-operation/dialog/master.vue new file mode 100644 index 0000000..ad03e1e --- /dev/null +++ b/src/views/mes/wip/add-remove-component-operation/dialog/master.vue @@ -0,0 +1,568 @@ + + + + diff --git a/src/views/mes/wip/add-remove-component-operation/index.vue b/src/views/mes/wip/add-remove-component-operation/index.vue new file mode 100644 index 0000000..bd27ec9 --- /dev/null +++ b/src/views/mes/wip/add-remove-component-operation/index.vue @@ -0,0 +1,360 @@ + + + + diff --git a/src/views/mes/wip/add-remove-component-operation/init.js b/src/views/mes/wip/add-remove-component-operation/init.js new file mode 100644 index 0000000..7c77076 --- /dev/null +++ b/src/views/mes/wip/add-remove-component-operation/init.js @@ -0,0 +1,99 @@ +export const initFormObj = { + productionItem: '', + qty: '', + shopOrder: '', + item: '', + itemDesc: '', + bom: '', + bomRevision: '', + operation: '', + operationDesc: '', + resrce: '', + resrceDesc: '', +} + +export const MasterTableColumns = { + removeColumns: [ + { prop: 'item', label: 'mes.materialNumber', align: 'center' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc', align: 'center' }, + { prop: 'materialLot', label: 'mes.materialBatchNumber', align: 'center' }, + { prop: 'operation', label: 'mes.ord.feedPoint', align: 'center' }, + { prop: 'totalQty', label: 'mes.wip.assembledQuantity', align: 'center' }, + { + prop: 'invNo', + label: 'mes.wms.tableObj.transferInWarehouse', + align: 'center', + }, + { prop: 'removeQty', label: 'mes.wip.removalQuantity', align: 'center' }, + ], + addColumns: [ + { prop: 'item', label: 'mes.materialNumber', align: 'center' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc', align: 'center' }, + { + prop: 'materialBatchNo', + label: 'mes.materialBatchNumber', + align: 'center', + }, + { prop: 'warehouse', label: 'mes.wms.warehouse', align: 'center' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', align: 'center' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', align: 'center' }, + { prop: 'storageNo', label: 'mes.storageNo', align: 'center' }, + { prop: 'addQty', label: 'mes.wip.additionQuantity', align: 'center' }, + ], +} + +// 生產物開窗 obj +export const productionItemObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.wms.tableObj.lotNo' }, + { prop: 'qty', label: 'mes.quantity' }, + { prop: 'shopOrder', label: 'mes.shopOrder' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: {}, +} +// 轉入倉庫開窗 obj +export const transferInWarehouseObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'mes.wip.warehouseDescription' }, + ], + queryParam: { + kind: '0', + }, +} + +// 料件批號開窗 obj +export const materialBatchNoObj = { + condition: 'materialLot', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc' }, + { prop: 'materialLot', label: 'mes.materialBatchNumber' }, + ], + queryParam: { + bom: '', + bomRevision: '', + status: '0', + kind: '0', + }, + title: 'mes.materialBatchNumber', +} +// 倉庫開窗 obj +export const warehouseObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'invDesc', label: 'mes.wip.warehouseDescription' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo' }, + { prop: 'locationNo', label: 'mes.smd.storageLocationNumber' }, + { prop: 'storageNo', label: 'mes.storageNo' }, + ], + queryParam: { + kind: '0', + status: '0', + }, +} diff --git a/src/views/mes/wip/component-replacement-operation/content/finish.vue b/src/views/mes/wip/component-replacement-operation/content/finish.vue new file mode 100644 index 0000000..04fa7f4 --- /dev/null +++ b/src/views/mes/wip/component-replacement-operation/content/finish.vue @@ -0,0 +1,313 @@ + + + + + diff --git a/src/views/mes/wip/component-replacement-operation/content/materialLot.vue b/src/views/mes/wip/component-replacement-operation/content/materialLot.vue new file mode 100644 index 0000000..cdb4171 --- /dev/null +++ b/src/views/mes/wip/component-replacement-operation/content/materialLot.vue @@ -0,0 +1,754 @@ + + + + + diff --git a/src/views/mes/wip/component-replacement-operation/content/sn.vue b/src/views/mes/wip/component-replacement-operation/content/sn.vue new file mode 100644 index 0000000..34af427 --- /dev/null +++ b/src/views/mes/wip/component-replacement-operation/content/sn.vue @@ -0,0 +1,608 @@ + + + + + diff --git a/src/views/mes/wip/component-replacement-operation/index.vue b/src/views/mes/wip/component-replacement-operation/index.vue new file mode 100644 index 0000000..efed5d1 --- /dev/null +++ b/src/views/mes/wip/component-replacement-operation/index.vue @@ -0,0 +1,339 @@ + + + + + diff --git a/src/views/mes/wip/component-replacement-operation/init.js b/src/views/mes/wip/component-replacement-operation/init.js new file mode 100644 index 0000000..71d20a0 --- /dev/null +++ b/src/views/mes/wip/component-replacement-operation/init.js @@ -0,0 +1,108 @@ +// 生產物開窗 obj +export const productionItemObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.wms.tableObj.lotNo' }, + { prop: 'qty', label: 'mes.quantity' }, + { prop: 'shopOrder', label: 'mes.shopOrder' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + stateStatus: 'R', + operationType: '2', + lotSize: 1, + }, +} + +export const initFormObj = { + lotNo: '', + shopOrder: '', + bom: '', + bomRevision: '', + item: '', + itemDesc: '', + operation: '', + operationDesc: '', + qty: '', + resource: '', + resourceDesc: '', +} + +// 轉入倉庫開窗 obj +export const transferInWarehouseObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'mes.wip.warehouseDescription' }, + { prop: 'newInvKind', label: 'mes.wms.tableObj.kind' }, + ], + queryParam: { + kind: '', + }, +} +// 轉出倉庫開窗 obj +export const transferOutWarehouseObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'mes.wip.warehouseDescription' }, + { prop: 'newInvKind', label: 'mes.wms.tableObj.kind' }, + ], + queryParam: { + kind: '', + }, +} +// 舊序號開窗 obj +export const oldSeqObj = { + condition: 'sn', + tableColumn: [ + { prop: 'sn', label: 'mes.oldSerialNumber' }, + { prop: 'seq', label: 'crud.column.index' }, + ], + queryParam: { + item: '', + materialLot: '', + operation: '', + }, +} +// 維修人員開窗 obj +export const repairUserObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'username', label: 'admin.username' }, + { prop: 'name', label: 'admin.realname' }, + ], + queryParam: { + lock_flag: '0', + del_flag: '0', + }, +} +// 新料件批號 obj +export const newMaterialLotObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'materialLot', label: 'mes.materialBatchNumber' }, + { prop: 'item', label: 'mes.materialNumber' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc' }, + { prop: 'qtyOnHand', label: 'mes.quantity' }, + ], + queryParam: { + bomBo: '', + item: '', + operation: '', + }, +} + +// 完成人員開窗 obj +export const finishUserObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'username', label: 'admin.username' }, + { prop: 'name', label: 'admin.realname' }, + ], + queryParam: { + lock_flag: '0', + del_flag: '0', + }, +} diff --git a/src/views/mes/wip/eqp-pod-old/dialog/component/batchID.vue b/src/views/mes/wip/eqp-pod-old/dialog/component/batchID.vue new file mode 100644 index 0000000..2d7ca0c --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/component/batchID.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/component/custom.vue b/src/views/mes/wip/eqp-pod-old/dialog/component/custom.vue new file mode 100644 index 0000000..8c21289 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/component/custom.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/content/inv-basis.vue b/src/views/mes/wip/eqp-pod-old/dialog/content/inv-basis.vue new file mode 100644 index 0000000..22c6826 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/content/inv-basis.vue @@ -0,0 +1,267 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/content/lot-logOut.vue b/src/views/mes/wip/eqp-pod-old/dialog/content/lot-logOut.vue new file mode 100644 index 0000000..f0ca648 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/content/lot-logOut.vue @@ -0,0 +1,59 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/content/lot-m.vue b/src/views/mes/wip/eqp-pod-old/dialog/content/lot-m.vue new file mode 100644 index 0000000..8da1228 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/content/lot-m.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/content/lot-s.vue b/src/views/mes/wip/eqp-pod-old/dialog/content/lot-s.vue new file mode 100644 index 0000000..cfccf8b --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/content/lot-s.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/content/on-duty-list.vue b/src/views/mes/wip/eqp-pod-old/dialog/content/on-duty-list.vue new file mode 100644 index 0000000..dda98a4 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/content/on-duty-list.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/content/pdcDataCollect.vue b/src/views/mes/wip/eqp-pod-old/dialog/content/pdcDataCollect.vue new file mode 100644 index 0000000..18df752 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/content/pdcDataCollect.vue @@ -0,0 +1,776 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/content/tool-list.vue b/src/views/mes/wip/eqp-pod-old/dialog/content/tool-list.vue new file mode 100644 index 0000000..de0fe79 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/content/tool-list.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/lot-check/index.vue b/src/views/mes/wip/eqp-pod-old/dialog/lot-check/index.vue new file mode 100644 index 0000000..d1682eb --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/lot-check/index.vue @@ -0,0 +1,969 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/lot-check/init.js b/src/views/mes/wip/eqp-pod-old/dialog/lot-check/init.js new file mode 100644 index 0000000..0df6ddf --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/lot-check/init.js @@ -0,0 +1,256 @@ +export const initForm = { + categoryNo: '', + lotNo: '', + qty: '', + batchId: '', + description: '', +} + +export const page = { + currentPage: 1, + pageSizes: [6, 12, 18], + pageSize: 12, + total: 0, +} + +export const lotDialogObj = { + title: 'mes.productionBatchNumber', + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.productionBatchNumber' }, + { prop: 'stateQty', label: 'common.quantity' }, + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + stateStatus: 'Q', + operation: null, + }, +} +export const waferDialogObj = { + title: 'mes.abn.partNo', + condition: 'waferNo', + tableColumn: [ + { prop: 'waferNo', label: 'mes.abn.partNo' }, + { prop: 'custPart', label: 'mes.userPart' }, + { prop: 'materialLot', label: 'mes.userLot' }, + ], + queryParam: { + lotStateBo: null, + }, +} + +export const tableDataObj = { + out: [ + { prop: 'lotNo', label: 'mes.prd.lotNo', width: '300' }, + { prop: 'shopOrder', label: 'mes.shopOrderNo', width: 'auto' }, + { prop: 'stateQty', label: 'common.quantity', width: '200' }, + ], + CP: [ + { prop: 'waferId', label: 'mes.abn.markingNo', width: '200' }, + { prop: 'waferNo', label: 'mes.abn.partNo', width: 'auto' }, + { prop: 'goodDieQty', label: 'Good Die', width: '200' }, + { prop: 'failDieQty', label: 'Fail Die', width: '200' }, + ], + CPout: [ + { prop: 'waferId', label: 'mes.abn.markingNo', width: '200' }, + { prop: 'waferNo', label: 'mes.abn.partNo', width: 'auto' }, + ], + BINSout: [ + { prop: 'binNo', label: 'CAT', width: '100' }, + { prop: 'ncCode', label: 'mes.ncCode', width: '170' }, + { prop: 'ncDesc', label: 'mes.wip.nonConformingCodeDescription', width: 'auto' }, + { prop: 'newType', label: 'mes.prd.severity', width: '75' }, + { prop: 'qty', label: 'common.quantity', width: '100' }, + ], + FT: [ + { prop: 'BIN1.qty', label: 'CAT1', width: 'auto' }, + { prop: 'BIN2.qty', label: 'CAT2', width: 'auto' }, + { prop: 'BIN3.qty', label: 'CAT3', width: 'auto' }, + { prop: 'BIN4.qty', label: 'CAT4', width: 'auto' }, + { prop: 'BIN5.qty', label: 'CAT5', width: 'auto' }, + { prop: 'BIN6.qty', label: 'CAT6', width: 'auto' }, + { prop: 'BIN7.qty', label: 'CAT7', width: 'auto' }, + { prop: 'BIN8.qty', label: 'CAT8', width: 'auto' }, + ], + FTqty: [ + { prop: 'BIN1', label: 'CAT1', width: 'auto', key: 'qty' }, + { prop: 'BIN2', label: 'CAT2', width: 'auto', key: 'qty' }, + { prop: 'BIN3', label: 'CAT3', width: 'auto', key: 'qty' }, + { prop: 'BIN4', label: 'CAT4', width: 'auto', key: 'qty' }, + { prop: 'BIN5', label: 'CAT5', width: 'auto', key: 'qty' }, + { prop: 'BIN6', label: 'CAT6', width: 'auto', key: 'qty' }, + { prop: 'BIN7', label: 'CAT7', width: 'auto', key: 'qty' }, + { prop: 'BIN8', label: 'CAT8', width: 'auto', key: 'qty' }, + ], + FTout: [ + { prop: 'BIN1.qty', label: 'CAT1', width: 'auto', key: 'BIN1' }, + { prop: 'BIN2.qty', label: 'CAT2', width: 'auto', key: 'BIN2' }, + { prop: 'BIN3.qty', label: 'CAT3', width: 'auto', key: 'BIN3' }, + { prop: 'BIN4.qty', label: 'CAT4', width: 'auto', key: 'BIN4' }, + { prop: 'BIN5.qty', label: 'CAT5', width: 'auto', key: 'BIN5' }, + { prop: 'BIN6.qty', label: 'CAT6', width: 'auto', key: 'BIN6' }, + { prop: 'BIN7.qty', label: 'CAT7', width: 'auto', key: 'BIN7' }, + { prop: 'BIN8.qty', label: 'CAT8', width: 'auto', key: 'BIN8' }, + { prop: 'R.qty', label: 'R', width: 'auto' }, + { prop: 'SCRAP.qty', label: 'SCRAP', width: 'auto' }, + { prop: 'LOSS.qty', label: 'LOSS', width: 'auto' }, + ], + FtTestResult: [ + { prop: 'testProgram', label: 'mes.testProgram', width: '180' }, + { prop: 'BIN1.qty', label: 'CAT1', width: 'auto', key: 'BIN1' }, + { prop: 'BIN2.qty', label: 'CAT2', width: 'auto', key: 'BIN2' }, + { prop: 'BIN3.qty', label: 'CAT3', width: 'auto', key: 'BIN3' }, + { prop: 'BIN4.qty', label: 'CAT4', width: 'auto', key: 'BIN4' }, + { prop: 'BIN5.qty', label: 'CAT5', width: 'auto', key: 'BIN5' }, + { prop: 'BIN6.qty', label: 'CAT6', width: 'auto', key: 'BIN6' }, + { prop: 'BIN7.qty', label: 'CAT7', width: 'auto', key: 'BIN7' }, + { prop: 'BIN8.qty', label: 'CAT8', width: 'auto', key: 'BIN8' }, + { prop: 'R.qty', label: 'R', width: 'auto' }, + { prop: 'SCRAP.qty', label: 'SCRAP', width: 'auto' }, + { prop: 'LOSS.qty', label: 'LOSS', width: 'auto' }, + ], + EQCSix: [ + { prop: 'BIN1', label: 'CAT1', width: 'auto', key: 'qty' }, + { prop: 'BIN2', label: 'CAT2', width: 'auto', key: 'qty' }, + { prop: 'BIN3', label: 'CAT3', width: 'auto', key: 'qty' }, + { prop: 'BIN4', label: 'CAT4', width: 'auto', key: 'qty' }, + { prop: 'BIN5', label: 'CAT5', width: 'auto', key: 'qty' }, + { prop: 'BIN6', label: 'CAT6', width: 'auto', key: 'qty' }, + { prop: 'BIN7', label: 'CAT7', width: 'auto', key: 'qty' }, + { prop: 'BIN8', label: 'CAT8', width: 'auto', key: 'qty' }, + ], + EQCtest: [ + { prop: 'BIN1', label: 'CAT1', width: 'auto', key: 'qty' }, + { prop: 'BIN2', label: 'CAT2', width: 'auto', key: 'qty' }, + { prop: 'BIN3', label: 'CAT3', width: 'auto', key: 'qty' }, + { prop: 'BIN4', label: 'CAT4', width: 'auto', key: 'qty' }, + { prop: 'BIN5', label: 'CAT5', width: 'auto', key: 'qty' }, + { prop: 'BIN6', label: 'CAT6', width: 'auto', key: 'qty' }, + { prop: 'BIN7', label: 'CAT7', width: 'auto', key: 'qty' }, + { prop: 'BIN8', label: 'CAT8', width: 'auto', key: 'qty' }, + { prop: 'SCRAP', label: 'SCRAP', width: 'auto', key: 'qty' }, + { prop: 'LOSS', label: 'LOSS', width: 'auto', key: 'qty' }, + ], + EQCout: [ + { prop: 'BIN1.qty', label: 'CAT1', width: 'auto' }, + { prop: 'BIN2.qty', label: 'CAT2', width: 'auto' }, + { prop: 'BIN3.qty', label: 'CAT3', width: 'auto' }, + { prop: 'BIN4.qty', label: 'CAT4', width: 'auto' }, + { prop: 'BIN5.qty', label: 'CAT5', width: 'auto' }, + { prop: 'BIN6.qty', label: 'CAT6', width: 'auto' }, + { prop: 'BIN7.qty', label: 'CAT7', width: 'auto' }, + { prop: 'BIN8.qty', label: 'CAT8', width: 'auto' }, + { prop: 'SCRAP.qty', label: 'SCRAP', width: 'auto' }, + { prop: 'LOSS.qty', label: 'LOSS', width: 'auto' }, + ], + parameter: [ + { prop: 'parameter', label: 'mes.wip.operationParameter', width: '400' }, + { prop: 'content', label: 'mes.wip.parameterContent', width: 'auto' }, + { prop: 'ecnNo', label: 'mes.ecn.ecn', width: 'auto' }, + ], + BOM: [ + { prop: 'component', label: 'mes.materialNumber', width: '300' }, + { prop: 'componentDesc', label: 'mes.materialBatchDesc', width: 'auto' }, + { prop: 'standard', label: 'mes.wip.standardUsage', width: '200' }, + ], + BOMOut: [ + { prop: 'component', label: 'mes.materialNumber', width: '200' }, + { prop: 'componentDesc', label: 'mes.materialBatchDesc', width: 'auto' }, + { prop: 'standard', label: 'mes.wip.standardUsage', width: '130' }, + { prop: 'materialLot', label: 'mes.materialBatchNumber', width: 'auto' }, + { prop: 'qtyOnHand', label: 'mes.abn.lotStateQty', width: '120' }, + ], + onDuty: [ + { prop: 'userNo', label: 'mes.wip.onDutyPerson' }, + { prop: 'name', label: 'admin.realname', width: 'auto' }, + { prop: 'clockInTime', label: 'mes.bpr.timeOnDuty', width: 'auto' }, + ], + resrce: [ + { prop: 'resrce', label: 'mes.equipmentNumber', width: '250' }, + { prop: 'description', label: 'mes.equipmentDesc', width: 'auto' }, + { prop: 'eqpCategory', label: 'mes.resrceCategory', width: '250' }, + { prop: 'eqpType', label: 'crud.column.label.equipmentCategory', width: '250' }, + ], + tool: [ + { prop: 'resrce', label: 'mes.equipmentNumber', width: 'auto' }, + { prop: 'toolNo', label: 'mes.toolNumber', width: 'auto' }, + { prop: 'toolNoDesc', label: 'mes.bpr.toolNoDesc', width: 'auto' }, + { prop: 'categoryNo', label: 'mes.toolMajorCategory', width: 'auto' }, + { prop: 'typeNo', label: 'mes.toolCategory', width: 'auto' }, + { prop: 'dateCreate', label: 'mes.bpr.triggerDateCreate', width: 'auto' }, + ], + basis: [ + { prop: 'ncCode', label: 'mes.ncCode', width: '170' }, + { prop: 'ncCodeDesc', label: 'mes.wip.nonConformingCodeDescription', width: 'auto' }, + { prop: 'newType', label: 'mes.prd.severity', width: '75' }, + ], + waferS: [ + { prop: 'waferNo', label: 'mes.abn.partNo', width: 'auto' }, + { prop: 'ncCode', label: 'mes.ncCode', width: '170' }, + { prop: 'ncDesc', label: 'mes.wip.nonConformingCodeDescription', width: 'auto' }, + { prop: 'newType', label: 'mes.eqpType', width: '90' }, + ], + basisBin: [ + { prop: 'ncCode', label: 'mes.ncCode', width: '170' }, + { prop: 'description', label: 'mes.wip.nonConformingCodeDescription', width: 'auto' }, + { prop: 'newType', label: 'mes.prd.severity', width: '75' }, + ], + basisCP: [ + { prop: 'ncCode', label: 'mes.ncCode', width: '170' }, + { prop: 'description', label: 'mes.wip.nonConformingCodeDescription', width: 'auto' }, + { prop: 'newType', label: 'mes.prd.severity', width: '75' }, + ], + burnIn: [ + { prop: 'customerInfo.customPart', label: 'mes.userPart', width: '180' }, + { prop: 'customerInfo.customLot', label: 'mes.userLot', width: '180' }, + { prop: 'customerInfo.customNo', label: 'mes.customer_id', width: '180' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '180' }, + { prop: 'stateQty', label: 'mes.dieCount', width: 'auto' }, + { prop: 'bin.BIN1.qty', label: 'CAT1', width: 'auto' }, + { prop: 'bin.BIN2.qty', label: 'CAT2', width: 'auto' }, + { prop: 'bin.BIN3.qty', label: 'CAT3', width: 'auto' }, + { prop: 'bin.BIN4.qty', label: 'CAT4', width: 'auto' }, + { prop: 'bin.BIN5.qty', label: 'CAT5', width: 'auto' }, + { prop: 'bin.BIN6.qty', label: 'CAT6', width: 'auto' }, + { prop: 'bin.BIN7.qty', label: 'CAT7', width: 'auto' }, + { prop: 'bin.BIN8.qty', label: 'CAT8', width: 'auto' }, + ], + burnInOut: [ + { prop: 'customerInfo.customPart', label: 'mes.userPart', width: '180' }, + { prop: 'customerInfo.customLot', label: 'mes.userLot', width: '180' }, + { prop: 'customerInfo.customNo', label: 'mes.customer_id', width: '180' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '180' }, + { prop: 'stateQty', label: 'mes.dieCount', width: 'auto' }, + ], + burnInBin: [ + { prop: 'BIN1', label: 'CAT1', width: 'auto' }, + { prop: 'BIN2', label: 'CAT2', width: 'auto' }, + { prop: 'BIN3', label: 'CAT3', width: 'auto' }, + { prop: 'BIN4', label: 'CAT4', width: 'auto' }, + { prop: 'BIN5', label: 'CAT5', width: 'auto' }, + { prop: 'BIN6', label: 'CAT6', width: 'auto' }, + { prop: 'BIN7', label: 'CAT7', width: 'auto' }, + { prop: 'BIN8', label: 'CAT8', width: 'auto' }, + { prop: 'SCRAP', label: 'SCRAP', width: 'auto' }, + { prop: 'LOSS', label: 'LOSS', width: 'auto' }, + ], +} +export const checkBox = { + FT: [ + { key: 'BIN1' }, + { key: 'BIN2' }, + { key: 'BIN3' }, + { key: 'BIN4' }, + { key: 'BIN5' }, + { key: 'BIN6' }, + { key: 'BIN7' }, + { key: 'BIN8' }, + { key: 'R' }, + { key: 'SCRAP' }, + { key: 'LOSS' }, + ], + BurnIn: ['BIN1', 'BIN2', 'BIN3', 'BIN4', 'BIN5', 'BIN6', 'BIN7', 'BIN8', 'SCRAP', 'LOSS'], + custOut: ['BIN1', 'BIN2', 'BIN3', 'BIN4', 'BIN5', 'BIN6', 'BIN7', 'BIN8', 'R', 'SCRAP', 'LOSS'], +} diff --git a/src/views/mes/wip/eqp-pod-old/dialog/top-ui/lot-title.vue b/src/views/mes/wip/eqp-pod-old/dialog/top-ui/lot-title.vue new file mode 100644 index 0000000..e634389 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/top-ui/lot-title.vue @@ -0,0 +1,430 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/dialog/top-ui/splitMerge-title.vue b/src/views/mes/wip/eqp-pod-old/dialog/top-ui/splitMerge-title.vue new file mode 100644 index 0000000..892760a --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/dialog/top-ui/splitMerge-title.vue @@ -0,0 +1,233 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/index.vue b/src/views/mes/wip/eqp-pod-old/index.vue new file mode 100644 index 0000000..214caba --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/index.vue @@ -0,0 +1,785 @@ + + + diff --git a/src/views/mes/wip/eqp-pod-old/init.js b/src/views/mes/wip/eqp-pod-old/init.js new file mode 100644 index 0000000..bc36496 --- /dev/null +++ b/src/views/mes/wip/eqp-pod-old/init.js @@ -0,0 +1,136 @@ +export const initForm = { + lotNo: '', + workCenter: '', + eqpType: '', + operation: '', + batchId: '', + operationHandle: '', + resource: '', + resourceDesc: '', + operationDesc: '', + waferMap: null, +} + +export const page = { + currentPage: 1, + pageSizes: [6, 12, 18], + pageSize: 12, + total: 0, +} + +export const workCenterDialogObj = { + title: 'mes.workCenter', + condition: 'workCenter', + tableColumn: [ + { + prop: 'workCenter', + label: 'mes.workCenter', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} +export const commandList = { + list: [ + //清单群组 + { key: 'on-duty-list', value: 'mes.wip.onDutyChecklist' }, + { key: 'tool-list', value: 'mes.wip.toolChecklist' }, + ], + report: [ + //报工群组 + { key: 'in', value: 'mes.wip.enterStationOperation' }, + { key: 'out', value: 'mes.wip.exitStationOperation' }, + // { key: 'error', value: '异常单' }, + ], + beforePrd: [ + //生产前准备 + { key: 'on-duty-person', value: 'mes.wip.personnelOnOffDuty' }, + { key: 'tool-mounted', value: 'mes.wip.toolOnOffMachine' }, + { key: 'eqp-status-change', value: 'mes.wip.equipmentStatusChange' }, + ], +} +export const opTitle = { + LOT_S: 'mes.wip.singleBatchLot', + PACK: 'mes.wip.singleBatchLot', + LOT_M: 'mes.wip.multiBatchLot', + CP: 'CP', + QVM: 'QVM', + FT: 'FT', + EQC: 'EQC', + BIN_S: 'mes.wip.singleBatchCat', + BIN_Q: 'mes.wip.singleBatchCatSampling', + BURNIN: 'BurnIn', + WAFER_S: 'Wafer', + TAPREEL: 'Tape Reel', +} +export const resrceDialogObj = { + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'eqpType', + label: 'crud.column.label.equipmentCategory', + }, + ], +} + +export const eqpTypeDialogObj = { + title: 'crud.column.label.equipmentCategory', + condition: 'typeNo', + tableColumn: [ + { + prop: 'eqpCategory', + label: 'mes.resrceCategory', + }, + { + prop: 'typeNo', + label: 'crud.column.label.equipmentCategory', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} + +export const operationDialogObj = { + title: 'mes.process', + condition: 'operation', + tableColumn: [ + { + prop: 'operation', + label: 'mes.process', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'segmentBasisBo', + label: 'mes.segment', + }, + ], +} + +export const reasonCodeDialogObj = { + condition: 'reasonCode', + tableColumn: [ + { + prop: 'reasonCode', + label: 'mes.reasonCode', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} diff --git a/src/views/mes/wip/eqp-pod/dialog/complete/lot-m.vue b/src/views/mes/wip/eqp-pod/dialog/complete/lot-m.vue new file mode 100644 index 0000000..893acb6 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/dialog/complete/lot-m.vue @@ -0,0 +1,331 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/dialog/complete/lot-s.vue b/src/views/mes/wip/eqp-pod/dialog/complete/lot-s.vue new file mode 100644 index 0000000..1babf1c --- /dev/null +++ b/src/views/mes/wip/eqp-pod/dialog/complete/lot-s.vue @@ -0,0 +1,333 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/dialog/on-duty-list.vue b/src/views/mes/wip/eqp-pod/dialog/on-duty-list.vue new file mode 100644 index 0000000..35ce6dd --- /dev/null +++ b/src/views/mes/wip/eqp-pod/dialog/on-duty-list.vue @@ -0,0 +1,57 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/dialog/start/lot-m.vue b/src/views/mes/wip/eqp-pod/dialog/start/lot-m.vue new file mode 100644 index 0000000..501dfb1 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/dialog/start/lot-m.vue @@ -0,0 +1,347 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/dialog/start/lot-s.vue b/src/views/mes/wip/eqp-pod/dialog/start/lot-s.vue new file mode 100644 index 0000000..fa07c17 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/dialog/start/lot-s.vue @@ -0,0 +1,329 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/dialog/tool-list.vue b/src/views/mes/wip/eqp-pod/dialog/tool-list.vue new file mode 100644 index 0000000..c0e1fd4 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/dialog/tool-list.vue @@ -0,0 +1,58 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/index.vue b/src/views/mes/wip/eqp-pod/index.vue new file mode 100644 index 0000000..d09423c --- /dev/null +++ b/src/views/mes/wip/eqp-pod/index.vue @@ -0,0 +1,924 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/init.js b/src/views/mes/wip/eqp-pod/init.js new file mode 100644 index 0000000..db4275f --- /dev/null +++ b/src/views/mes/wip/eqp-pod/init.js @@ -0,0 +1,129 @@ +// 工作中心開窗資料 +export const workCenterDialogObj = { + title: 'mes.workCenter', + condition: 'workCenter', + tableColumn: [ + { + prop: 'workCenter', + label: 'mes.workCenter', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} + +// 設備類別開窗資料 +export const eqpTypeDialogObj = { + title: 'crud.column.label.equipmentCategory', + condition: 'typeNo', + tableColumn: [ + { + prop: 'eqpCategory', + label: 'mes.resrceCategory', + }, + { + prop: 'typeNo', + label: 'crud.column.label.equipmentCategory', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} + +// 工序開窗資料 +export const operationDialogObj = { + title: 'mes.process', + condition: 'operation', + tableColumn: [ + { + prop: 'operation', + label: 'mes.process', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'segmentBasisBo', + label: 'mes.segment', + }, + ], +} + +// 分頁 +export const page = { + currentPage: 1, + pageSizes: [6, 12, 18], + pageSize: 12, + total: 0, +} + +// lotNo開窗資料 +export const lotDialogObj = { + title: 'mes.productionBatchNumber', + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.productionBatchNumber' }, + { prop: 'stateQty', label: 'common.quantity' }, + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: {}, +} + +// 共用 tableDataObj +export const tableDataObj = { + // 參數清單 + parameter: [ + { prop: 'parameter', label: 'mes.wip.operationParameter' }, + { prop: 'content', label: 'mes.wip.parameterContent' }, + { prop: 'ecnNo', label: 'mes.ecn.ecn' }, + ], + // 用料清單 + BOM: [ + { prop: 'component', label: 'mes.materialNumber' }, + { prop: 'componentDesc', label: 'mes.materialBatchDesc' }, + { prop: 'standard', label: 'mes.wip.standardUsage' }, + ], + // 用料清單(出站) + BOMOut: [ + { prop: 'component', label: 'mes.materialNumber' }, + { prop: 'componentDesc', label: 'mes.materialBatchDesc' }, + { prop: 'standard', label: 'mes.wip.standardUsage' }, + { prop: 'materialLot', label: 'mes.materialBatchNumber' }, + { prop: 'qtyOnHand', label: 'mes.abn.lotStateQty' }, + ], + // 上崗人員 + onDuty: [ + { prop: 'userNo', label: 'mes.wip.onDutyPerson' }, + { prop: 'name', label: 'admin.realname' }, + { prop: 'clockInTime', label: 'mes.bpr.timeOnDuty' }, + ], + // 附屬設備 + resrce: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, + { prop: 'description', label: 'mes.equipmentDesc' }, + { prop: 'eqpCategory', label: 'mes.resrceCategory' }, + { prop: 'eqpType', label: 'crud.column.label.equipmentCategory' }, + ], + // 上機工具 + tool: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, + { prop: 'toolNo', label: 'mes.toolNumber' }, + { prop: 'toolNoDesc', label: 'mes.bpr.toolNoDesc' }, + { prop: 'categoryNo', label: 'mes.toolMajorCategory' }, + { prop: 'typeNo', label: 'mes.toolCategory' }, + { prop: 'dateCreate', label: 'mes.bpr.triggerDateCreate' }, + ], + // 多批出站 + out: [ + { prop: 'lotNo', label: 'mes.prd.lotNo' }, + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'stateQty', label: 'common.quantity' }, + ], +} diff --git a/src/views/mes/wip/eqp-pod/shared-components/auxiliary-eqp-checklist.vue b/src/views/mes/wip/eqp-pod/shared-components/auxiliary-eqp-checklist.vue new file mode 100644 index 0000000..de0970e --- /dev/null +++ b/src/views/mes/wip/eqp-pod/shared-components/auxiliary-eqp-checklist.vue @@ -0,0 +1,39 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/shared-components/bom-checklist.vue b/src/views/mes/wip/eqp-pod/shared-components/bom-checklist.vue new file mode 100644 index 0000000..81fe789 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/shared-components/bom-checklist.vue @@ -0,0 +1,93 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/shared-components/lot-title.vue b/src/views/mes/wip/eqp-pod/shared-components/lot-title.vue new file mode 100644 index 0000000..9272b86 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/shared-components/lot-title.vue @@ -0,0 +1,189 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/shared-components/machine-tool-checklist.vue b/src/views/mes/wip/eqp-pod/shared-components/machine-tool-checklist.vue new file mode 100644 index 0000000..1eadff3 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/shared-components/machine-tool-checklist.vue @@ -0,0 +1,39 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/shared-components/on-duty-checklist.vue b/src/views/mes/wip/eqp-pod/shared-components/on-duty-checklist.vue new file mode 100644 index 0000000..dbded19 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/shared-components/on-duty-checklist.vue @@ -0,0 +1,39 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/shared-components/params-checklist.vue b/src/views/mes/wip/eqp-pod/shared-components/params-checklist.vue new file mode 100644 index 0000000..5bd66bc --- /dev/null +++ b/src/views/mes/wip/eqp-pod/shared-components/params-checklist.vue @@ -0,0 +1,75 @@ + + + + diff --git a/src/views/mes/wip/eqp-pod/shared-components/pdcDataCollect.vue b/src/views/mes/wip/eqp-pod/shared-components/pdcDataCollect.vue new file mode 100644 index 0000000..18df752 --- /dev/null +++ b/src/views/mes/wip/eqp-pod/shared-components/pdcDataCollect.vue @@ -0,0 +1,776 @@ + + + + diff --git a/src/views/mes/wip/lot-merge/index.vue b/src/views/mes/wip/lot-merge/index.vue new file mode 100644 index 0000000..5be9ec4 --- /dev/null +++ b/src/views/mes/wip/lot-merge/index.vue @@ -0,0 +1,379 @@ + + + diff --git a/src/views/mes/wip/lot-merge/init.js b/src/views/mes/wip/lot-merge/init.js new file mode 100644 index 0000000..db1c842 --- /dev/null +++ b/src/views/mes/wip/lot-merge/init.js @@ -0,0 +1,88 @@ +export const initForm = { + lotNo: '', + shopOrder: '', + qty: '', + segment: '', + item: '', + router: '', + operation: '', + custom: '', + customPart: '', + customLot: '', +} + +export const routerDialogObj = { + title: 'mes.abn.routerCode', + condition: 'router', + tableColumn: [ + { + prop: 'router', + label: 'mes.abn.routerCode', + }, + { + prop: 'revision', + label: 'mes.wip.routeVersion', + }, + { + prop: 'description', + label: 'mes.ecn.routerDesc', + }, + { + prop: 'newType', + label: 'mes.routeType', + }, + { + prop: 'segmentNo', + label: 'mes.segment', + }, + ], +} + +export const operationDialogObj = { + page: false, + title: 'mes.process', + condition: 'operation', + tableColumn: [ + { + prop: 'operationName', + label: 'mes.process', + }, + { + prop: 'operationDesc', + label: 'mes.operationDesc', + }, + { + prop: 'stepId', + label: 'mes.wip.step', + }, + ], +} +export const itemDialogObj = { + title: 'mes.materialNumber', + condition: 'item', + tableColumn: [ + { + prop: 'item', + label: 'mes.materialNumber', + }, + { + prop: 'revision', + label: 'mes.revision', + }, + { + prop: 'description', + label: 'common.description', + }, + ], +} +export const customDialogObj = { + page: false, + title: 'mes.userPart', + condition: 'custPart', + tableColumn: [ + { + prop: 'custPart', + label: 'mes.userPart', + }, + ], +} diff --git a/src/views/mes/wip/lot-split/index.vue b/src/views/mes/wip/lot-split/index.vue new file mode 100644 index 0000000..6e5b0dd --- /dev/null +++ b/src/views/mes/wip/lot-split/index.vue @@ -0,0 +1,327 @@ + + diff --git a/src/views/mes/wip/lot-split/init.js b/src/views/mes/wip/lot-split/init.js new file mode 100644 index 0000000..09ae969 --- /dev/null +++ b/src/views/mes/wip/lot-split/init.js @@ -0,0 +1,59 @@ +export const initForm = { + lotNo: '', + qty: '', +} + +export const initData = { + toLotNo: '', + toLotQty: '', + action: '', + toRouter: '', + toOperation: '', +} + +export const routerDialogObj = { + title: 'mes.routerInfo', + condition: 'router', + tableColumn: [ + { + prop: 'router', + label: 'mes.abn.routerCode', + }, + { + prop: 'revision', + label: 'mes.wip.routeVersion', + }, + { + prop: 'description', + label: 'mes.ecn.routerDesc', + }, + { + prop: 'routerType', + label: 'mes.routeType', + }, + { + prop: 'segmentNo', + label: 'mes.segment', + }, + ], +} + +export const operationDialogObj = { + title: 'mes.process', + page: false, + condition: 'operation', + tableColumn: [ + { + prop: 'operationName', + label: 'mes.process', + }, + { + prop: 'operationDesc', + label: 'mes.operationDesc', + }, + { + prop: 'stepId', + label: 'mes.wip.step', + }, + ], +} diff --git a/src/views/mes/wip/non-production-line-dashboard/index.vue b/src/views/mes/wip/non-production-line-dashboard/index.vue new file mode 100644 index 0000000..fe77827 --- /dev/null +++ b/src/views/mes/wip/non-production-line-dashboard/index.vue @@ -0,0 +1,665 @@ + + + + diff --git a/src/views/mes/wip/non-production-line-dashboard/init.js b/src/views/mes/wip/non-production-line-dashboard/init.js new file mode 100644 index 0000000..6332cb9 --- /dev/null +++ b/src/views/mes/wip/non-production-line-dashboard/init.js @@ -0,0 +1,59 @@ +import i18n from '@/i18n' + +export const initFormObj = { + workCenter: '', + operation: '', +} + +export const rules = { + workCenter: [ + { + required: true, + message: i18n.t('mes.smd.enterWorkCenter'), + trigger: 'blur', + }, + ], + operation: [ + { + required: true, + message: i18n.t('rules.enterProcess'), + trigger: 'blur', + }, + ], +} + +export const workCenterDialogObj = { + condition: 'workCenter', + tableColumn: [ + { + prop: 'workCenter', + label: 'mes.workCenter', + }, + { + prop: 'description', + label: 'common.description', + }, + ], + queryParam: { + wcType: '0', + }, +} + +export const operationDialogObj = { + title: 'mes.process', + condition: 'operation', + tableColumn: [ + { + prop: 'operation', + label: 'mes.process', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'segmentBasisBo', + label: 'mes.segment', + }, + ], +} diff --git a/src/views/mes/wip/operation/complete/pack/index.vue b/src/views/mes/wip/operation/complete/pack/index.vue new file mode 100644 index 0000000..02d2a07 --- /dev/null +++ b/src/views/mes/wip/operation/complete/pack/index.vue @@ -0,0 +1,908 @@ + + + + diff --git a/src/views/mes/wip/operation/complete/pack/init.js b/src/views/mes/wip/operation/complete/pack/init.js new file mode 100644 index 0000000..a0ca13e --- /dev/null +++ b/src/views/mes/wip/operation/complete/pack/init.js @@ -0,0 +1,22 @@ +// 容器類別 +export const containerTypeObj = { + condition: 'containerType', + tableColumn: [ + { prop: 'containerType', label: 'mes.containerType' }, + { prop: 'description', label: 'mes.containerCategoryDescription' }, + ], + queryParam: {}, +} + +// 容器編號 +export const containerNoObj = { + condition: 'containerNo', + tableColumn: [ + { prop: 'containerNo', label: 'mes.containerNumber' }, + { prop: 'containerType', label: 'mes.containerType' }, + { prop: 'containerTypeDesc', label: 'mes.containerCategoryDescription' }, + ], + queryParam: { + status: '0', + }, +} diff --git a/src/views/mes/wip/operation/complete/packaging-outbound/index.vue b/src/views/mes/wip/operation/complete/packaging-outbound/index.vue new file mode 100644 index 0000000..395ab39 --- /dev/null +++ b/src/views/mes/wip/operation/complete/packaging-outbound/index.vue @@ -0,0 +1,528 @@ + + + + + diff --git a/src/views/mes/wip/operation/complete/repair/index.vue b/src/views/mes/wip/operation/complete/repair/index.vue new file mode 100644 index 0000000..6966427 --- /dev/null +++ b/src/views/mes/wip/operation/complete/repair/index.vue @@ -0,0 +1,527 @@ + + + diff --git a/src/views/mes/wip/operation/complete/repair/init.js b/src/views/mes/wip/operation/complete/repair/init.js new file mode 100644 index 0000000..1cec5c1 --- /dev/null +++ b/src/views/mes/wip/operation/complete/repair/init.js @@ -0,0 +1,81 @@ +import { isBlank } from '@/util/string' + +export const tableColumn = [ + { + prop: 'ncCode', + label: 'mes.ncCode' + }, + { + prop: 'ncCodeDesc', + label: 'mes.ncCodeDesc', + width: 250 + }, + { + prop: 'operation', + label: 'mes.process' + }, + { + prop: 'endTime', + label: 'mes.recordTime', + width: 220 + }, + { + prop: 'severity', + label: 'mes.prd.severity', + width: 150, + formatter: (row, value, map) => { + let dict = map.filter(i => i.value == value) + if (!isBlank(dict) && dict.length > 0) { + return dict[0].label + } + return value + + } + }, + { + prop: 'qty', + label: 'common.quantity' + }, +] + +export const dialog = { + lot: { + title: 'mes.faeCompleteTitle', + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.prd.lotNo' }, + { prop: 'stateQty', label: 'common.quantity' }, + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + resource: null, + operation: null, + stateStatus: null + } + }, + inv: { + title: '', + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + kind: null + } + }, + transfer: { + title: 'mes.transferOperation', + condition: 'operationName', + tableColumn: [ + { prop: 'operation.operation', label: 'mes.process' }, + { prop: 'operation.description', label: 'mes.operationDesc' }, + ], + queryParam: { + lotNo: null + }, + page: false + } +} \ No newline at end of file diff --git a/src/views/mes/wip/operation/complete/sn/index.vue b/src/views/mes/wip/operation/complete/sn/index.vue new file mode 100644 index 0000000..595be35 --- /dev/null +++ b/src/views/mes/wip/operation/complete/sn/index.vue @@ -0,0 +1,913 @@ + + + + + diff --git a/src/views/mes/wip/operation/init.js b/src/views/mes/wip/operation/init.js new file mode 100644 index 0000000..275d298 --- /dev/null +++ b/src/views/mes/wip/operation/init.js @@ -0,0 +1,37 @@ +export const tableObj = { + ParamsTableObj: [ + { prop: 'parameter', label: 'mes.wip.operationParameter', width: '300' }, + { prop: 'content', label: 'mes.wip.parameterContent' }, + { prop: 'ecnNo', label: 'mes.ecn.ecn', width: '200' }, + ], + BOMTableObj: [ + { prop: 'component', label: 'mes.materialNumber', width: '300' }, + { prop: 'componentDesc', label: 'mes.materialBatchDesc' }, + { prop: 'standard', label: 'mes.wip.standardUsage', width: '200' }, + ], + onDutyTableObj: [ + { prop: 'userNo', label: 'mes.wip.onDutyPerson', width: '300' }, + { prop: 'name', label: 'admin.realname' }, + { prop: 'clockInTime', label: 'mes.bpr.timeOnDuty', width: '200' }, + ], + singOutTableObj: [ + { prop: 'lotNo', label: 'mes.prd.lotNo', width: '300' }, + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'stateQty', label: 'common.quantity', width: '200' }, + ], +} + +export const lotDialogObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.prd.lotNo' }, + { prop: 'stateQty', label: 'common.quantity' }, + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + stateStatus: 'Q', + operation: null, + }, +} diff --git a/src/views/mes/wip/operation/log-out/index.vue b/src/views/mes/wip/operation/log-out/index.vue new file mode 100644 index 0000000..1e17a19 --- /dev/null +++ b/src/views/mes/wip/operation/log-out/index.vue @@ -0,0 +1,271 @@ + + + + diff --git a/src/views/mes/wip/operation/minix.js b/src/views/mes/wip/operation/minix.js new file mode 100644 index 0000000..2427319 --- /dev/null +++ b/src/views/mes/wip/operation/minix.js @@ -0,0 +1,579 @@ +import { getLotInfo, validationComplete, validationStart } from '@/api/mes/wip/lot-check' +import { copyJSON } from '@/util/util' +import { isBlank } from '@/util/string' +import { + complete, + completeByCarrier, + signOut, + start, + startByCarrier, + validateCheck, + validationCompleteByCarrier, + validationStartByCarrier, + warehouseIn +} from '@/api/mes/wip' +import { hideLoading } from '@/const/loading' + +export const common = { + data() { + return { + operationType: { + start: this.$t('mes.checkIn'), + complete: this.$t('mes.checkOut') + } + } + }, + methods: { + /** + * 取得&檢查生產批 + * + * @param obj { + * lotNo: 'String', // 生產批 + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * multi: false, // 是否多批(出站使用) + * action: 'complete', // start: 進站, complete: 執行出站檢查, split: 分批, merge: 併批, signOut: 登出, pdc: pdc + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + getLotAndCheck(obj, resolve, reject) { + getLotInfo(obj).then(resp => { + if (resolve) { + resolve(resp) + } + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 進站查核 + * + * @param obj { + * lotNo: 'String', // 生產批 + * lotNoList: 'Array', // 生產批(多批) + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * workCenter: 'String', // 工作中心(產線) + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + validationStart(obj, resolve, reject) { + let params = copyJSON(obj) + validationStart(params).then(resp => { + let valid = resp.data.data + + this.process({ params, valid, type: 'start' }, resolve) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 進站 + * + * @param obj { + * lotNo: 'String', // 生產批 + * lotNoList: 'Array', // 生產批(多批) + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * note: 'String' // 備註 + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + start(obj, resolve, reject) { + start(obj).then(resp => { + let msg = this.$t('mes.wip.checkInSuccess', { lotNo: obj.lotNo }) + + let result = resp.data.data + if (result) { + let holds = result.holdLotStateList + if (holds !== null && holds.length > 0) { + holds.forEach((el) => { + msg += this.$t('mes.lotNoDetained', { lotNo: el.lotNo, abnNo: el.abnNo }) + }) + } + } + + this.$alert(`${msg}`, this.$t('common.prompt'), { + confirmButtonText: this.$t('common.confirm'), + dangerouslyUseHTMLString: true, + type: 'success', + showClose: false, + }).then(() => { + if (resolve) { + resolve(resp) + } + }) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 出站查核 + * + * @param obj { + * lotNo: 'String', // 生產批 + * lotNoList: 'Array', // 生產批(多批) + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * workCenter: 'String', // 工作中心(產線) + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + validationComplete(obj, resolve, reject) { + let params = copyJSON(obj) + validationComplete(params).then(resp => { + let valid = resp.data.data + + params['validationLotResponseList'] = valid.validationLotResponseList + this.process({ params, valid, type: 'complete' }, resolve) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 出站 + * + * @param obj { + * lotNo: 'String', // 生產批 + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * validationLotResponseList: 'Array', // 出站生產批查核陣列 + * componentFeedingList: 'Array', // 扣料清單 + * batchId: 'String', // 批次ID(多批出站才會有) + * note: 'String', // 備註 + * assignOperation: 'String', // 指定下一站工序 + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + complete(obj, resolve, reject) { + complete(obj).then(resp => { + let msg = this.$t('mes.wip.checkOutSuccess', { lotNo: this.lotNo }) + + let result = resp.data.data + if (result) { + let holds = result.holdLotStateList + if (holds !== null && holds.length > 0) { + holds.forEach((el) => { + msg += this.$t('mes.lotNoDetained', { lotNo: el.lotNo, abnNo: el.abnNo }) + }) + } + } + + this.$alert(`${msg}`, this.$t('common.prompt'), { + confirmButtonText: this.$t('common.confirm'), + dangerouslyUseHTMLString: true, + type: 'success', + showClose: false, + }).then(() => { + if (resolve) { + resolve(resp) + } + }) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 登出 + * + * @param obj { + * lotNoList: 'Array', // 生產批 + * operation: 'String', // 工序 + * resource: 'String' // 設備 + * } + * @param resolve + * @param reject + */ + signOut(obj, resolve, reject) { + signOut(obj).then(resp => { + this.$alert( + this.$t('mes.wip.logOutSuccess', { lotNo: obj.lotNoList[0] }), + this.$t('common.prompt'), + { + confirmButtonText: this.$t('common.confirm'), + type: 'success', + showClose: false, + } + ).then(() => { + if (resolve) { + resolve(resp) + } + }) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 生產批入庫 + * @param obj { + * lotNoList: 'Array', // 生產批 + * invNo: 'String', // 倉庫編號 + * warehouseInType: 'String', // 入庫狀態: products(良品), defective(不良品) + * note: 'String' // 備註 + * } + * @param resolve + * @param reject + */ + warehouseIn(obj, resolve, reject) { + warehouseIn(obj).then(resp => { + let msg = 'mes.warehouseInGoods' + if (obj.warehouseInType === 'defective') { + msg = 'mes.warehouseInDefective' + } + + this.$alert(this.$t(msg), this.$t('common.prompt'), { + confirmButtonText: this.$t('common.confirm'), + dangerouslyUseHTMLString: true, + type: 'success', + showClose: false, + }).then(() => { + if (resolve) { + resolve() + } + }) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 是否執行進出站查核 + * + * @param obj { + * lotNo: 'String', // 生產批 + * operation: 'String', // 工序 + * workCenter: 'String' // 工作中心(產線) + * } + * @param resolve + * @param reject + */ + validateCheck(obj, resolve, reject) { + validateCheck(obj).then(resp => { + if (resolve) { + resolve(resp) + } + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 載具進站查核 + * + * @param obj { + * carrier: 'String', // 載具 + * carrierList: 'Array', // 載具(多批) + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * workCenter: 'String', // 工作中心(產線) + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + validationStartByCarrier(obj, resolve, reject) { + let params = copyJSON(obj) + validationStartByCarrier(params).then(resp => { + let valid = resp.data.data + + this.process({ params, valid, type: 'start' }, resolve) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 載具進站 + * + * @param obj { + * carrier: 'String', // 載具 + * carrierList: 'Array', // 載具(多批) + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * note: 'String', // 備註 + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + startByCarrier(obj, resolve, reject) { + startByCarrier(obj).then(resp => { + let msg = this.$t('mes.wip.checkInSuccess', { lotNo: obj.lotNo }) + + let result = resp.data.data + if (result) { + let holds = result.holdLotStateList + if (holds !== null && holds.length > 0) { + holds.forEach((el) => { + msg += this.$t('mes.lotNoDetained', { lotNo: el.lotNo, abnNo: el.abnNo }) + }) + } + } + + this.$alert(`${msg}`, this.$t('common.prompt'), { + confirmButtonText: this.$t('common.confirm'), + dangerouslyUseHTMLString: true, + type: 'success', + showClose: false, + }).then(() => { + if (resolve) { + resolve(resp) + } + }) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 載具出站查核 + * + * @param obj { + * carrier: 'String', // 載具 + * carrierList: 'Array', // 載具(多批) + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * workCenter: 'String', // 工作中心(產線) + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + validationCompleteByCarrier(obj, resolve, reject) { + let params = copyJSON(obj) + validationCompleteByCarrier(params).then(resp => { + let valid = resp.data.data + + params['validationLotResponseList'] = valid.validationLotResponseList + this.process({ params, valid, type: 'complete' }, resolve) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + /** + * 載具出站 + * + * @param obj { + * carrier: 'String', // 載具 + * carrierList: 'Array', // 載具(多批) + * operation: 'String', // 工序 + * resource: 'String', // 設備 + * validationLotResponseList: 'Array', // 出站生產批查核陣列 + * componentFeedingList: 'Array', // 扣料清單 + * note: 'String', // 備註 + * assignOperation: 'String', // 指定下一站工序 + * resourceList: 'Array' // 設備(多設備) + * } + * @param resolve + * @param reject + */ + completeByCarrier(obj, resolve, reject) { + completeByCarrier(obj).then(resp => { + let msg = this.$t('mes.wip.checkOutSuccess', { lotNo: this.lotNo }) + + let result = resp.data.data + if (result) { + let holds = result.holdLotStateList + if (holds !== null && holds.length > 0) { + holds.forEach((el) => { + msg += this.$t('mes.lotNoDetained', { lotNo: el.lotNo, abnNo: el.abnNo }) + }) + } + } + + this.$alert(`${msg}`, this.$t('common.prompt'), { + confirmButtonText: this.$t('common.confirm'), + dangerouslyUseHTMLString: true, + type: 'success', + showClose: false, + }).then(() => { + if (resolve) { + resolve(resp) + } + }) + }).catch(err => { + if (reject) { + reject(err) + } + }) + }, + process(obj, resolve) { + let { params, valid, type } = obj + + //H : 扣留整批 + // HO : 扣留單片 + // N : 提示 + // W : 警告 + // A : 报警 + // P : 指定路径 + if (valid.action == 'H' || valid.action == 'A' || valid.action == 'W') { + params['hold'] = valid.action == 'H' + + this.next({ params, valid, type }, resolve) + return + } + + // 工具報警 + if (!isBlank(valid.toolLifeWarning) && valid.toolLifeWarning.length > 0) { + let notify = [] + let warning = [] + valid.toolLifeWarning.forEach((el) => { + // 通知 + if (el.warning == '0') { + notify.push(el.msg) + } + //警告 + if (el.warning == '1') { + warning.push(el.msg) + } + }) + + let msg = notify.concat(warning) + let html = '' + if (msg.length > 0) { + html = msg.join('
    ') + } + + if (warning.length > 0) { + this.$alert(`${html}`, this.$t('common.alert.warningTitle'), { + confirmButtonText: this.$t('common.confirm'), + dangerouslyUseHTMLString: true, + type: 'warning', + showClose: false, + }).then(() => { + hideLoading() + }) + return + } + + // 工具通知 + if (notify.length > 0) { + if (valid.action == 'N') { + this.next({ params, valid, type }, resolve) + return + } + + this.$confirm( + this.$t('mes.wip.confirmOperation', { message: html, opKey: this.operationType[type] }), + this.$t('common.prompt'), + { + confirmButtonText: this.$t('common.promptMessage.yes'), + cancelButtonText: this.$t('common.promptMessage.no'), + dangerouslyUseHTMLString: true, + type: 'warning', + showClose: false, + } + ).then(() => { + if (resolve) { + resolve(params) + } + }).catch(() => { + hideLoading() + }) + return + } + } + + if (!isBlank(valid.message)) { + this.next({ params: params, valid, type }, resolve) + return + } + + if (resolve) { + resolve(params) + } + }, + next(obj, callback) { + let { params, valid, type } = obj + + switch (valid.action) { + case 'H': + if (callback) { + callback(params) + } + break + case 'A': + this.$alert(`${valid.message}`, this.$t('mes.wip.alarm'), { + confirmButtonText: this.$t('common.confirm'), + type: 'error', + showClose: false, + }).then(() => { + hideLoading() + }) + break + case 'W': + this.$alert(`${valid.message}`, this.$t('common.alert.warningTitle'), { + confirmButtonText: this.$t('common.confirm'), + type: 'warning', + showClose: false, + }).then(() => { + hideLoading() + }) + break + case 'N': + this.$confirm( + this.$t('mes.wip.confirmOperation', { message: valid.message, opKey: this.operationType[type] }), + this.$t('common.prompt'), + { + confirmButtonText: this.$t('common.promptMessage.yes'), + cancelButtonText: this.$t('common.promptMessage.no'), + dangerouslyUseHTMLString: true, + type: 'warning', + showClose: false, + } + ).then(() => { + if (callback) { + callback(params) + } + }).catch(() => { + hideLoading() + }) + break + case 'P': + if (type === 'start') { + this.$alert(this.$t('mes.wip.checkInControlRule'), this.$t('common.promptMessage.error'), { + confirmButtonText: this.$t('common.confirm'), + type: 'error', + showClose: false, + }).then(() => { + hideLoading() + }) + break + } + + if (callback) { + callback(params) + } + break + } + } + } +} diff --git a/src/views/mes/wip/operation/nc/index.vue b/src/views/mes/wip/operation/nc/index.vue new file mode 100644 index 0000000..1d0fac4 --- /dev/null +++ b/src/views/mes/wip/operation/nc/index.vue @@ -0,0 +1,400 @@ + + + + diff --git a/src/views/mes/wip/operation/nc/init.js b/src/views/mes/wip/operation/nc/init.js new file mode 100644 index 0000000..9bbc968 --- /dev/null +++ b/src/views/mes/wip/operation/nc/init.js @@ -0,0 +1,28 @@ +export const initSearchForm = { + lotNo: '', + qty: '', +} + +export const tableDataObj = { + nc: [ + { prop: 'ncCode', label: 'mes.ncCode', width: '170' }, + { prop: 'ncCodeDesc', label: 'mes.wip.nonConformingCodeDescription', width: 'auto' }, + { prop: 'severity', label: 'mes.prd.severity', width: '75' }, + ], +} + +export const lotDialogObj = { + title: 'mes.productionBatchNumber', + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.productionBatchNumber' }, + { prop: 'stateQty', label: 'common.quantity' }, + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + stateStatus: 'R', + operation: null, + }, +} diff --git a/src/views/mes/wip/operation/on-duty-list/index.vue b/src/views/mes/wip/operation/on-duty-list/index.vue new file mode 100644 index 0000000..2e28279 --- /dev/null +++ b/src/views/mes/wip/operation/on-duty-list/index.vue @@ -0,0 +1,77 @@ + + + + diff --git a/src/views/mes/wip/operation/start/sn-preliminary-work/index.vue b/src/views/mes/wip/operation/start/sn-preliminary-work/index.vue new file mode 100644 index 0000000..193ec6f --- /dev/null +++ b/src/views/mes/wip/operation/start/sn-preliminary-work/index.vue @@ -0,0 +1,522 @@ + + + + + diff --git a/src/views/mes/wip/operation/start/sn-preliminary-work/init.js b/src/views/mes/wip/operation/start/sn-preliminary-work/init.js new file mode 100644 index 0000000..38118f0 --- /dev/null +++ b/src/views/mes/wip/operation/start/sn-preliminary-work/init.js @@ -0,0 +1,14 @@ +// 工單開窗 obj +export const shopOrderObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'crud.column.label.workOrderNumber' }, + { prop: 'qty', label: 'mes.quantity' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + stateStatus: 'Q', + operation: '', + }, +} diff --git a/src/views/mes/wip/operation/start/sn-transfer-workorder/index.vue b/src/views/mes/wip/operation/start/sn-transfer-workorder/index.vue new file mode 100644 index 0000000..65455ba --- /dev/null +++ b/src/views/mes/wip/operation/start/sn-transfer-workorder/index.vue @@ -0,0 +1,524 @@ + + + + + diff --git a/src/views/mes/wip/operation/start/sn-transfer-workorder/init.js b/src/views/mes/wip/operation/start/sn-transfer-workorder/init.js new file mode 100644 index 0000000..38118f0 --- /dev/null +++ b/src/views/mes/wip/operation/start/sn-transfer-workorder/init.js @@ -0,0 +1,14 @@ +// 工單開窗 obj +export const shopOrderObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'crud.column.label.workOrderNumber' }, + { prop: 'qty', label: 'mes.quantity' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + stateStatus: 'Q', + operation: '', + }, +} diff --git a/src/views/mes/wip/operation/start/sn/index.vue b/src/views/mes/wip/operation/start/sn/index.vue new file mode 100644 index 0000000..cbed11c --- /dev/null +++ b/src/views/mes/wip/operation/start/sn/index.vue @@ -0,0 +1,574 @@ + + + + + diff --git a/src/views/mes/wip/option-line/dialog/master.vue b/src/views/mes/wip/option-line/dialog/master.vue new file mode 100644 index 0000000..4542258 --- /dev/null +++ b/src/views/mes/wip/option-line/dialog/master.vue @@ -0,0 +1,601 @@ + + + + diff --git a/src/views/mes/wip/option-line/dialog/result.vue b/src/views/mes/wip/option-line/dialog/result.vue new file mode 100644 index 0000000..56b3ce4 --- /dev/null +++ b/src/views/mes/wip/option-line/dialog/result.vue @@ -0,0 +1,355 @@ + + + + diff --git a/src/views/mes/wip/option-line/index.vue b/src/views/mes/wip/option-line/index.vue new file mode 100644 index 0000000..5ea2ebb --- /dev/null +++ b/src/views/mes/wip/option-line/index.vue @@ -0,0 +1,790 @@ + + + + diff --git a/src/views/mes/wip/option-line/init.js b/src/views/mes/wip/option-line/init.js new file mode 100644 index 0000000..b639bcc --- /dev/null +++ b/src/views/mes/wip/option-line/init.js @@ -0,0 +1,101 @@ +export const prdLineObj = { + condition: 'workCenter', + tableColumn: [ + { prop: 'workCenter', label: 'mes.workCenter' }, + { prop: 'description', label: 'common.description' }, + { prop: 'fabNo', label: 'mes.workshopCode' }, + { prop: 'allowMix', label: 'mes.prd.mixingLinesAllowed' }, + { prop: 'prdLineType', label: 'mes.prdLineType' }, + ], + queryParam: { + wcType: '1', + }, +} +export const shopOrderObj = { + condition: 'searchText', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'shopOrderType', label: 'mes.shopOrderType' }, + { prop: 'itemCode', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: {}, +} + +export const initSearchForm = { + prdLine: '', + desc: '', + allowMix: '', + prdLineType: '', +} + +export const initMasterForm = { + shopOrder: '', + itemCode: '', + itemDesc: '', + router: '', + routerRevision: '', + routerDesc: '', + qtyToBuild: '', + availableQty: '', + qty: '', + startDateTime: '', + endDateTime: '', +} + +export const detailTableObj = [ + { prop: 'sequence', label: 'crud.column.index', width: '200' }, + { prop: 'operation', label: 'mes.process', width: '200' }, + { prop: 'operationDesc', label: 'mes.operationDesc', width: '200' }, + { prop: 'resource', label: 'mes.equipment', width: '200' }, + { prop: 'resourceDesc', label: 'mes.equipmentDesc', width: '200' }, +] + +export const status = { + 0: { + label: 'mes.wip.notStarted', + color: '#0000FF', + }, + 1: { + label: 'mes.inProcess', + color: '#008000', + }, + 2: { + label: 'mes.wip.lineStopped', + color: '#D9001B', + }, + 3: { + label: 'mes.completed', + color: '#008000', + }, + 4: { + label: 'mes.cancel', + color: '#8400FF', + }, +} + +// { +// value: '0', +// label: '未開線', +// color: '#0000FF', +// }, +// { +// value: '1', +// label: '生產中', +// color: '#008000', +// }, +// { +// value: '2', +// label: '停線', +// color: '#D9001B', +// }, +// { +// value: '3', +// label: '已完成', +// color: '#008000', +// }, +// { +// value: '4', +// label: '取消', +// color: '#8400FF', +// }, diff --git a/src/views/mes/wip/option-line/search.vue b/src/views/mes/wip/option-line/search.vue new file mode 100644 index 0000000..fa999db --- /dev/null +++ b/src/views/mes/wip/option-line/search.vue @@ -0,0 +1,174 @@ + + + + diff --git a/src/views/mes/wip/product-loading-operation/index.vue b/src/views/mes/wip/product-loading-operation/index.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/mes/wip/production-report-pod/index.vue b/src/views/mes/wip/production-report-pod/index.vue new file mode 100644 index 0000000..2076399 --- /dev/null +++ b/src/views/mes/wip/production-report-pod/index.vue @@ -0,0 +1,695 @@ + + + + + diff --git a/src/views/mes/wip/production-report-pod/init.js b/src/views/mes/wip/production-report-pod/init.js new file mode 100644 index 0000000..2092f38 --- /dev/null +++ b/src/views/mes/wip/production-report-pod/init.js @@ -0,0 +1,34 @@ +import i18n from '@/i18n' + +export const initFormObj = { + productionLine: '', + prdLineDesc: '', + productionItem: '', + prdLineType: '', + allowedMix: '', +} + +// 產線開窗obj +export const productionLineObj = { + condition: 'workCenter', + tableColumn: [ + { prop: 'workCenter', label: 'mes.productionLine' }, + { prop: 'description', label: 'mes.productionLineDescription' }, + { prop: 'prdLineType', label: 'mes.prdLineType' }, + { prop: 'allowMix', label: 'mes.prd.mixingLinesAllowed' }, + ], + queryParam: { + wcType: '1', + }, +} + +// 規則 +export const rule = { + productionLine: [ + { + required: true, + message: i18n.t('mes.pleaseEnter') + i18n.t('mes.productionLine'), + trigger: 'blur', + }, + ], +} diff --git a/src/views/mes/wms-nalinv/carrier-type/index.vue b/src/views/mes/wms-nalinv/carrier-type/index.vue new file mode 100644 index 0000000..fbf4a1a --- /dev/null +++ b/src/views/mes/wms-nalinv/carrier-type/index.vue @@ -0,0 +1,197 @@ + + + diff --git a/src/views/mes/wms-nalinv/carrier/index.vue b/src/views/mes/wms-nalinv/carrier/index.vue new file mode 100644 index 0000000..a3e80f8 --- /dev/null +++ b/src/views/mes/wms-nalinv/carrier/index.vue @@ -0,0 +1,317 @@ + + + diff --git a/src/views/mes/wms-nalinv/customer/index.vue b/src/views/mes/wms-nalinv/customer/index.vue new file mode 100644 index 0000000..ee1536d --- /dev/null +++ b/src/views/mes/wms-nalinv/customer/index.vue @@ -0,0 +1,160 @@ + + + diff --git a/src/views/mes/wms-nalinv/numbering-rule/index.vue b/src/views/mes/wms-nalinv/numbering-rule/index.vue new file mode 100644 index 0000000..e953cfe --- /dev/null +++ b/src/views/mes/wms-nalinv/numbering-rule/index.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/src/views/mes/wms-nalinv/storage-location-type/index.vue b/src/views/mes/wms-nalinv/storage-location-type/index.vue new file mode 100644 index 0000000..95be8ff --- /dev/null +++ b/src/views/mes/wms-nalinv/storage-location-type/index.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/views/mes/wms-nalinv/storage-location/index.vue b/src/views/mes/wms-nalinv/storage-location/index.vue new file mode 100644 index 0000000..6acb2a4 --- /dev/null +++ b/src/views/mes/wms-nalinv/storage-location/index.vue @@ -0,0 +1,434 @@ + + + diff --git a/src/views/mes/wms-nalinv/storagebin-type/index.vue b/src/views/mes/wms-nalinv/storagebin-type/index.vue new file mode 100644 index 0000000..9099e5d --- /dev/null +++ b/src/views/mes/wms-nalinv/storagebin-type/index.vue @@ -0,0 +1,219 @@ + + + diff --git a/src/views/mes/wms-nalinv/storagebin/index.vue b/src/views/mes/wms-nalinv/storagebin/index.vue new file mode 100644 index 0000000..9a9e493 --- /dev/null +++ b/src/views/mes/wms-nalinv/storagebin/index.vue @@ -0,0 +1,419 @@ + + + diff --git a/src/views/mes/wms-nalinv/vendor/index.vue b/src/views/mes/wms-nalinv/vendor/index.vue new file mode 100644 index 0000000..0be5657 --- /dev/null +++ b/src/views/mes/wms-nalinv/vendor/index.vue @@ -0,0 +1,161 @@ + + + diff --git a/src/views/mes/wms-nalinv/warehouse/index.vue b/src/views/mes/wms-nalinv/warehouse/index.vue new file mode 100644 index 0000000..64b8610 --- /dev/null +++ b/src/views/mes/wms-nalinv/warehouse/index.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/views/mes/wms/completion-warehouse/dialog/detail.vue b/src/views/mes/wms/completion-warehouse/dialog/detail.vue new file mode 100644 index 0000000..8b20b03 --- /dev/null +++ b/src/views/mes/wms/completion-warehouse/dialog/detail.vue @@ -0,0 +1,718 @@ + + + diff --git a/src/views/mes/wms/completion-warehouse/dialog/lotno.vue b/src/views/mes/wms/completion-warehouse/dialog/lotno.vue new file mode 100644 index 0000000..945bdc4 --- /dev/null +++ b/src/views/mes/wms/completion-warehouse/dialog/lotno.vue @@ -0,0 +1,362 @@ + + + diff --git a/src/views/mes/wms/completion-warehouse/index.vue b/src/views/mes/wms/completion-warehouse/index.vue new file mode 100644 index 0000000..3aebad9 --- /dev/null +++ b/src/views/mes/wms/completion-warehouse/index.vue @@ -0,0 +1,446 @@ + + + diff --git a/src/views/mes/wms/completion-warehouse/init.js b/src/views/mes/wms/completion-warehouse/init.js new file mode 100644 index 0000000..0fab7b1 --- /dev/null +++ b/src/views/mes/wms/completion-warehouse/init.js @@ -0,0 +1,178 @@ +import moment from 'moment' + +// detailVisible +// detailForm +export const detailFormInit = { + newInvBasis: null, + materialLot: null, + newInvOutBasis: null, + stockinNo: null, + issueShopOrder: null, + dateCreate: null, + type: '', + invNo: '', +} + +export const lotNoFormInit = { + materialLot: null, + item: null, + description: null, + shopOrder: null, + rackNo: null, + locationNo: null, + storageNo: null, +} + +export const searchFormInit = { + stockinNo: null, + stockinType: '', + outInvNo: null, + inInvNo: null, + start: moment().subtract(30, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'), + end: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'), + status: null, +} + +export const tableObj = [ + { prop: 'lotNo', label: 'mes.wms.tableObj.lotNo', width: '160', fixed: true }, + { prop: 'item', label: 'mes.product_number', width: '160', fixed: true }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '200' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '160' }, + { prop: 'warehouseQty', label: 'mes.wms.tableObj.warehouseQty', width: '160' }, + { prop: 'dateMfg', label: 'mes.dateMfg', width: '160' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '120' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '120' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '120' }, +] + +export const detailTableObj = [ + { prop: 'materialLot', label: 'mes.wms.tableObj.lotNo', width: '160', fixed: true }, + { prop: 'item', label: 'mes.product_number', width: '160', fixed: true }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '200' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '200' }, + { prop: 'qtyOnHand', label: 'mes.wms.tableObj.warehouseQty', width: '200' }, + { prop: 'dateMfg', label: 'mes.dateMfg', width: '200' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '120' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '180' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '120' }, +] + +export const lotTableObj = [ + { prop: 'materialLot', label: 'mes.wms.tableObj.lotNo', width: '180' }, + { prop: 'item', label: 'mes.product_number', width: '200' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '200' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '165' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '180' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '180' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '180' }, +] + +export const selectBox = { + status: [ + { label: 'common.new', value: '0', color: 'success' }, + { label: 'mes.wms.alreadyInbound', value: '1', color: 'primary' }, + { label: 'mes.invalidate', value: '-1', color: 'danger' }, + ], + type: [ + { label: 'mes.qualityGoodsInbound', value: '0' }, + { label: 'mes.wms.defectiveGoodsInbound', value: '1' }, + ], +} + +export const status = { + 0: { label: 'common.new', color: 'success' }, + 1: { label: 'mes.wms.alreadyInbound', color: 'primary' }, +} + +// 入庫倉庫编号 +export const inOfwarehouseInvNoObj = { + title: 'mes.wms.inInvNo', + condition: 'invNo', + tableColumn: [ + { + prop: 'invNo', + label: 'mes.invNo', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'kind', + label: 'mes.wms.tableObj.kind', + }, + ], + queryParam: {}, +} + +// 出庫倉庫編號 +export const outOfwarehouseInvNoObj = { + title: 'mes.wms.outInvNo', + condition: 'invNo', + tableColumn: [ + { + prop: 'invNo', + label: 'mes.invNo', + }, + { + prop: 'description', + label: 'common.description', + }, + { + prop: 'kind', + label: 'mes.wms.tableObj.kind', + }, + ], + queryParam: {}, +} + +// 入庫单号 +export const stockinNoObj = { + title: 'mes.stockinNo', + condition: 'stockinNo', + tableColumn: [ + { + prop: 'stockinNo', + label: 'mes.stockinNo', + }, + { + prop: 'stockinType', + label: 'mes.wms.stockinType', + }, + { + prop: 'outInvNo', + label: 'mes.wms.outInv', + }, + { + prop: 'outInvDesc', + label: 'mes.wms.outInvDesc', + }, + ], + queryParam: {}, +} + +// 產品编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'description', label: 'mes.itemDesc' }, + ], + queryParam: { + itemType: 'M', + }, +} + +//工单 +export const shopOrderObj = { + title: 'mes.work_order', + condition: 'shopOrder', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + kind: '', + }, +} diff --git a/src/views/mes/wms/completion-warehouse/top-ui/search-ui.vue b/src/views/mes/wms/completion-warehouse/top-ui/search-ui.vue new file mode 100644 index 0000000..7c274e6 --- /dev/null +++ b/src/views/mes/wms/completion-warehouse/top-ui/search-ui.vue @@ -0,0 +1,341 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-temporary-warehouse/dialog/down.vue b/src/views/mes/wms/defective-goods-in-temporary-warehouse/dialog/down.vue new file mode 100644 index 0000000..d2ecd0f --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-temporary-warehouse/dialog/down.vue @@ -0,0 +1,191 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-temporary-warehouse/dialog/up.vue b/src/views/mes/wms/defective-goods-in-temporary-warehouse/dialog/up.vue new file mode 100644 index 0000000..0223897 --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-temporary-warehouse/dialog/up.vue @@ -0,0 +1,622 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-temporary-warehouse/index.vue b/src/views/mes/wms/defective-goods-in-temporary-warehouse/index.vue new file mode 100644 index 0000000..75cbbbe --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-temporary-warehouse/index.vue @@ -0,0 +1,405 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-temporary-warehouse/init.js b/src/views/mes/wms/defective-goods-in-temporary-warehouse/init.js new file mode 100644 index 0000000..c6b0e3b --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-temporary-warehouse/init.js @@ -0,0 +1,175 @@ +export const upInit = { + rackNo: null, + locationNo: null, + storageNo: null, +} + +export const splitInit = { + qty: null, + batchValue: '0', + splitValue: '0', +} + +export const initSearch = { + storageNoType: '1', + item: null, + rackNo: null, + invNo: null, + materialLot: null, + locationNo: null, + shopOrder: null, + invStorage: null, +} + +export const tableObj = [ + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const invTableObj = [ + { prop: 'materialLot', label: 'mes.wms.tableObj.lotNo', width: '150' }, + { prop: 'item', label: 'mes.product_number', width: '180' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '200' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '100' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const excelArr = [ + 'mes.wms.tableObj.lotNo', + 'mes.product_number', + 'mes.itemDesc', + 'mes.work_order', + 'crud.column.label.status1', + 'common.quantity', + 'mes.wms.tableObj.rackNo', + 'mes.wms.tableObj.locationNo', + 'mes.storageNo', +] + +// 產品编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + itemType: '', + }, +} + +// 仓库编号 +export const invNoObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + kind: '9', + }, +} + +//Lot No +export const materialLotObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.wms.tableObj.lotNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + lotNo: '', + invKind: 'D', + }, +} +//工单 +export const shopOrderObj = { + condition: 'shopOrder', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + kind: '9', + }, +} + +//货架编号 +export const rackNoObj = { + condition: 'rackNo', + tableColumn: [{ prop: 'rackNo', label: 'mes.wms.tableObj.rackNo' }], + queryParam: {}, +} + +//货位 +export const locationNoObj = { + condition: 'locationNo', + tableColumn: [{ prop: 'locationNo', label: 'mes.wms.tableObj.locationNo' }], + queryParam: {}, +} + +//储位 +export const storageNoObj = { + condition: 'storageNo', + tableColumn: [{ prop: 'storageNo', label: 'mes.storageNo' }], + queryParam: {}, +} + +export const statusObj = { + '-1': 'crud.column.fixed', + 0: 'mes.enabledFlag', + 1: 'mes.ecn.inTransfer', + 2: 'mes.ecn.inMaterialIssuing', + 3: 'mes.wms.inventoryInProgress', + 4: 'mes.finished', + 5: 'mes.ecn.awaitingStorage', +} + +export const statusList = [ + { value: '-1', label: 'crud.column.fixed' }, + { value: 0, label: 'mes.enabledFlag' }, + { value: 1, label: 'mes.ecn.inTransfer' }, + { value: 2, label: 'mes.ecn.inMaterialIssuing' }, + { value: 3, label: 'mes.wms.inventoryInProgress' }, + { value: 4, label: 'mes.finished' }, + { value: 5, label: 'mes.ecn.awaitingStorage' }, +] + +export const typeObj = { + 0: { label: 'mes.wms.alreadyListed', color: 'primary' }, + 1: { label: 'mes.wms.notListed', color: 'success' }, +} + +export const typeArr = [ + { label: 'mes.wms.alreadyListed', value: '0' }, + { label: 'mes.wms.notListed', value: '1' }, +] + +export const invType = { + 0: 'mes.wms.intType.0', + 1: 'mes.wms.intType.1' +} + +export const selectBox = { + batchRule: [ + { label: 'mes.useOriginalBatchNumber', value: '0' }, + { label: 'mes.generateNewBatchNumber', value: '1' }, + ], + splitRule: [ + { label: 'mes.batchNumber', value: '0' }, + { label: 'mes.batchSize', value: '1' }, + ], +} + +export const custKey = { + rackNo: 'mes.wms.tableObj.rackNo', + locationNo: 'mes.wms.tableObj.locationNo', + storageNo: 'mes.storageNo', +} diff --git a/src/views/mes/wms/defective-goods-in-temporary-warehouse/search-ui.vue b/src/views/mes/wms/defective-goods-in-temporary-warehouse/search-ui.vue new file mode 100644 index 0000000..e212ce0 --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-temporary-warehouse/search-ui.vue @@ -0,0 +1,373 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-warehouse/dialog/down.vue b/src/views/mes/wms/defective-goods-in-warehouse/dialog/down.vue new file mode 100644 index 0000000..403856c --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-warehouse/dialog/down.vue @@ -0,0 +1,191 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-warehouse/dialog/split.vue b/src/views/mes/wms/defective-goods-in-warehouse/dialog/split.vue new file mode 100644 index 0000000..d444599 --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-warehouse/dialog/split.vue @@ -0,0 +1,715 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-warehouse/dialog/up.vue b/src/views/mes/wms/defective-goods-in-warehouse/dialog/up.vue new file mode 100644 index 0000000..fc6e909 --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-warehouse/dialog/up.vue @@ -0,0 +1,650 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-warehouse/index.vue b/src/views/mes/wms/defective-goods-in-warehouse/index.vue new file mode 100644 index 0000000..05a74ce --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-warehouse/index.vue @@ -0,0 +1,425 @@ + + + diff --git a/src/views/mes/wms/defective-goods-in-warehouse/init.js b/src/views/mes/wms/defective-goods-in-warehouse/init.js new file mode 100644 index 0000000..2acbcd1 --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-warehouse/init.js @@ -0,0 +1,178 @@ +export const upInit = { + rackNo: null, + locationNo: null, + storageNo: null, +} + +export const splitInit = { + qty: null, + batchValue: '0', + splitValue: '0', +} + +export const initSearch = { + storageNoType: '1', + item: null, + rackNo: null, + invNo: null, + lotNo: null, + locationNo: null, + shopOrder: null, + invStorage: null, +} + +export const tableObj = [ + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const invTableObj = [ + { prop: 'materialLot', label: 'mes.wms.tableObj.lotNo', width: '150' }, + { prop: 'item', label: 'mes.product_number', width: '180' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '200' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '100' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const excelArr = [ + 'mes.wms.tableObj.lotNo', + 'mes.product_number', + 'mes.itemDesc', + 'mes.work_order', + 'crud.column.label.status1', + 'common.quantity', + 'mes.wms.tableObj.rackNo', + 'mes.wms.tableObj.locationNo', + 'mes.storageNo', +] + +// 產品编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + itemType: '', + }, +} + +// 仓库编号 +export const invNoObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + kind: 'D', + }, +} + +//Lot No +export const materialLotObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.wms.tableObj.lotNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + lotNo: '', + invKind: 'D', + }, +} + +//工单 +export const shopOrderObj = { + condition: 'shopOrder', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.shopOrderNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + kind: 'D', + }, +} + +//货架编号 +export const rackNoObj = { + condition: 'rackNo', + tableColumn: [{ prop: 'rackNo', label: 'mes.wms.tableObj.rackNo' }], + queryParam: {}, +} + +//货位 +export const locationNoObj = { + condition: 'locationNo', + tableColumn: [{ prop: 'locationNo', label: 'mes.wms.tableObj.locationNo' }], + queryParam: {}, +} + +//储位 +export const storageNoObj = { + condition: 'storageNo', + tableColumn: [{ prop: 'storageNo', label: 'mes.storageNo' }], + queryParam: {}, +} + +export const statusObj = { + '-1': 'crud.column.fixed', + 0: 'mes.enabledFlag', + 1: 'mes.ecn.inTransfer', + 2: 'mes.ecn.inMaterialIssuing', + 3: 'mes.wms.inventoryInProgress', + 4: 'mes.finished', + 5: 'mes.ecn.awaitingStorage', + 6: 'mes.ecn.inReturnStorage', +} + +export const statusList = [ + { value: '-1', label: 'crud.column.fixed' }, + { value: 0, label: 'mes.enabledFlag' }, + { value: 1, label: 'mes.ecn.inTransfer' }, + { value: 2, label: 'mes.ecn.inMaterialIssuing' }, + { value: 3, label: 'mes.wms.inventoryInProgress' }, + { value: 4, label: 'mes.finished' }, + { value: 5, label: 'mes.ecn.awaitingStorage' }, + { value: 6, label: 'mes.ecn.inReturnStorage' }, +] + +export const typeObj = { + 0: { label: 'mes.wms.alreadyListed', color: 'primary' }, + 1: { label: 'mes.wms.notListed', color: 'success' }, +} + +export const typeArr = [ + { label: 'mes.wms.alreadyListed', value: '0' }, + { label: 'mes.wms.notListed', value: '1' }, +] + +export const invType = { + 0: 'mes.wms.intType.0', + 1: 'mes.wms.intType.1' +} + +export const selectBox = { + batchRule: [ + { label: 'mes.useOriginalBatchNumber', value: '0' }, + { label: 'mes.generateNewBatchNumber', value: '1' }, + ], + splitRule: [ + { label: 'mes.batchNumber', value: '0' }, + { label: 'mes.batchSize', value: '1' }, + ], +} + +export const custKey = { + rackNo: 'mes.wms.tableObj.rackNo', + locationNo: 'mes.wms.tableObj.locationNo', + storageNo: 'mes.storageNo', +} diff --git a/src/views/mes/wms/defective-goods-in-warehouse/search-ui.vue b/src/views/mes/wms/defective-goods-in-warehouse/search-ui.vue new file mode 100644 index 0000000..26326c8 --- /dev/null +++ b/src/views/mes/wms/defective-goods-in-warehouse/search-ui.vue @@ -0,0 +1,380 @@ + + + diff --git a/src/views/mes/wms/eqp-blanking/content/blanking.vue b/src/views/mes/wms/eqp-blanking/content/blanking.vue new file mode 100644 index 0000000..306cb68 --- /dev/null +++ b/src/views/mes/wms/eqp-blanking/content/blanking.vue @@ -0,0 +1,514 @@ + + + + + diff --git a/src/views/mes/wms/eqp-blanking/index.vue b/src/views/mes/wms/eqp-blanking/index.vue new file mode 100644 index 0000000..b010c24 --- /dev/null +++ b/src/views/mes/wms/eqp-blanking/index.vue @@ -0,0 +1,611 @@ + + + diff --git a/src/views/mes/wms/eqp-blanking/init.js b/src/views/mes/wms/eqp-blanking/init.js new file mode 100644 index 0000000..45d63e6 --- /dev/null +++ b/src/views/mes/wms/eqp-blanking/init.js @@ -0,0 +1,100 @@ +export const init = { + invNo: null, + newInvNo: null, + storageNo: null, + newStorageNo: null, + resrce: null, + item: null, + materialLot: null, + originalQty: null, + qtyOnHand: '0', + qty: '0', +} + +export const initSearchForm = { + invNo: null, + item: null, + resrce: null, + start: null, + end: null, + materialLot: null, +} + +export const dialog = { + resrceDialogObj: { + title: 'mes.equipment', + condition: 'resrce', + tableColumn: [ + { prop: 'resrce', label: 'mes.equipmentNumber' }, + { prop: 'resrceDesc', label: 'mes.equipmentNumberDesc' }, + { prop: 'typeNo', label: 'crud.column.label.equipmentCategory' }, + { prop: 'typeNoDesc', label: 'mes.equipmentCategoryDesc' }, + ], + queryParam: {}, + }, + itemDialogObj: { + title: 'mes.materialNumber', + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, + { prop: 'itemDesc', label: 'common.description' }, + ], + queryParam: {}, + }, + invDialogObj: { + title: 'mes.wms.warehouse', + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'invDesc', label: 'common.description' }, + ], + queryParam: {}, + }, + lotDialogObj: { + title: 'mes.materialBatchNumber', + condition: 'materialLot', + tableColumn: [{ prop: 'materialLot', label: 'mes.materialBatchNumber' }], + queryParam: {}, + page: false, + }, + shopOrderDialogObj: { + title: 'mes.work_order', + condition: 'shopOrder', + tableColumn: [ + { prop: 'shopOrder', label: 'mes.work_order' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'common.description' }, + ], + queryParam: {}, + }, + newInvDialogObj: { + title: 'mes.wms.warehouse', + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + invNo: '', + kind: '0', + }, + }, + storageNoDialogObj: { + title: 'mes.storageNo', + condition: 'storageNo', + tableColumn: [{ prop: 'storageNo', label: 'mes.storageNo' }], + queryParam: {}, + }, + rackNoDialogObj: { + title: 'mes.wms.tableObj.rack', + condition: 'rackNo', + tableColumn: [{ prop: 'rackNo', label: 'mes.wms.tableObj.rack' }], + queryParam: {}, + }, + locationNoDialogObj: { + title: 'mes.wms.tableObj.locationNo', + condition: 'locationNo', + tableColumn: [{ prop: 'locationNo', label: 'mes.wms.tableObj.locationNo' }], + queryParam: {}, + }, +} diff --git a/src/views/mes/wms/eqpOff/index.vue b/src/views/mes/wms/eqpOff/index.vue new file mode 100644 index 0000000..878f270 --- /dev/null +++ b/src/views/mes/wms/eqpOff/index.vue @@ -0,0 +1,915 @@ + + + diff --git a/src/views/mes/wms/finished-goods-warehouse/dialog/down.vue b/src/views/mes/wms/finished-goods-warehouse/dialog/down.vue new file mode 100644 index 0000000..4fc9ee9 --- /dev/null +++ b/src/views/mes/wms/finished-goods-warehouse/dialog/down.vue @@ -0,0 +1,194 @@ + + + diff --git a/src/views/mes/wms/finished-goods-warehouse/dialog/split.vue b/src/views/mes/wms/finished-goods-warehouse/dialog/split.vue new file mode 100644 index 0000000..4fbc0e0 --- /dev/null +++ b/src/views/mes/wms/finished-goods-warehouse/dialog/split.vue @@ -0,0 +1,703 @@ + + + diff --git a/src/views/mes/wms/finished-goods-warehouse/dialog/up.vue b/src/views/mes/wms/finished-goods-warehouse/dialog/up.vue new file mode 100644 index 0000000..cf20c1c --- /dev/null +++ b/src/views/mes/wms/finished-goods-warehouse/dialog/up.vue @@ -0,0 +1,651 @@ + + + diff --git a/src/views/mes/wms/finished-goods-warehouse/index.vue b/src/views/mes/wms/finished-goods-warehouse/index.vue new file mode 100644 index 0000000..fc60af9 --- /dev/null +++ b/src/views/mes/wms/finished-goods-warehouse/index.vue @@ -0,0 +1,457 @@ + + + diff --git a/src/views/mes/wms/finished-goods-warehouse/init.js b/src/views/mes/wms/finished-goods-warehouse/init.js new file mode 100644 index 0000000..6dc8354 --- /dev/null +++ b/src/views/mes/wms/finished-goods-warehouse/init.js @@ -0,0 +1,192 @@ +import moment from 'moment' + +export const initSearch = { + storageNoType: '1', + shopOrder: null, + startDate: moment().subtract(30, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'), + invNo: null, + rackNo: null, + endDate: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'), + item: null, + locationNo: null, + materialLot: null, + storageNo: null, +} + +export const upInit = { + rackNo: null, + locationNo: null, + storageNo: null, +} + +export const splitInit = { + qty: null, + batchValue: '0', + splitValue: '0', +} + +export const typeArr = [ + { label: 'mes.wms.alreadyListed', value: '0' }, + { label: 'mes.wms.notListed', value: '1' }, +] + +export const tableObj = [ + { prop: 'materialLot', label: 'mes.wms.tableObj.lotNo', width: '150' }, + { prop: 'item', label: 'mes.product_number', width: '170' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '210' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '120' }, + { prop: 'dateMfg', label: 'mes.dateMfg', width: '170' }, + { prop: 'status', label: 'crud.column.label.status1', width: '80' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const detailTableObj = [ + { prop: 'materialLot', label: 'mes.wms.tableObj.lotNo', width: '150' }, + { prop: 'item', label: 'mes.product_number', width: '170' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '210' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '120' }, + { prop: 'dateMfgStr', label: 'mes.dateMfg', width: '170' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const statusObj = { + '-1': 'crud.column.fixed', + 0: 'mes.enabledFlag', + 1: 'mes.ecn.inTransfer', + 2: 'mes.ecn.inMaterialIssuing', + 3: 'mes.wms.inventoryInProgress', + 4: 'mes.finished', + 5: 'mes.ecn.awaitingStorage', +} + +export const statusList = [ + { value: '-1', label: 'crud.column.fixed' }, + { value: 0, label: 'mes.enabledFlag' }, + { value: 1, label: 'mes.ecn.inTransfer' }, + { value: 2, label: 'mes.ecn.inMaterialIssuing' }, + { value: 3, label: 'mes.wms.inventoryInProgress' }, + { value: 4, label: 'mes.finished' }, + { value: 5, label: 'mes.ecn.awaitingStorage' }, +] + +export const selectBox = { + batchRule: [ + { label: 'mes.useOriginalBatchNumber', value: '0' }, + { label: 'mes.generateNewBatchNumber', value: '1' }, + ], + splitRule: [ + { label: 'mes.batchNumber', value: '0' }, + { label: 'mes.batchSize', value: '1' }, + ], +} + +// 产品编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'description', label: 'mes.itemDesc' }, + ], +} + +// 仓库编号 +export const invNoObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + kind: 'H', + }, +} + +//lot No +export const materialLotObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.wms.tableObj.lotNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + invKind: 'H', + lotNo: null, + }, +} + +//货架编号 +export const rackNoObj = { + condition: 'rackNo', + tableColumn: [{ prop: 'rackNo', label: 'mes.wms.tableObj.rackNo' }], + queryParam: {}, +} + +//货位 +export const locationNoObj = { + condition: 'locationNo', + tableColumn: [{ prop: 'locationNo', label: 'mes.wms.tableObj.locationNo' }], + queryParam: {}, +} + +//储位 +export const storageNoObj = { + condition: 'storageNo', + tableColumn: [{ prop: 'storageNo', label: 'mes.storageNo' }], + queryParam: {}, +} + +// 工单 +export const shopOrderObj = { + title: 'mes.work_order', + condition: 'shopOrder', + tableColumn: [ + { + prop: 'shopOrder', + label: 'mes.shopOrderNo', + }, + { prop: 'item', label: 'mes.product_number' }, + { + prop: 'itemDesc', + label: 'mes.itemDesc', + }, + ], + queryParam: { + kind: 'H', + }, +} + +export const resrceObj = { + title: 'mes.equipmentNumber', + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'mes.equipmentDesc', + }, + { + prop: 'typeNo', + label: 'crud.column.label.equipmentCategory', + }, + { + prop: 'categoryDesc', + label: 'mes.equipmentCategoryDesc', + }, + ], +} + +export const custKey = { + rackNo: '货架编号', + locationNo: '货位', + storageNo: '储位', +} diff --git a/src/views/mes/wms/finished-goods-warehouse/top-ui/search-ui.vue b/src/views/mes/wms/finished-goods-warehouse/top-ui/search-ui.vue new file mode 100644 index 0000000..846bb4c --- /dev/null +++ b/src/views/mes/wms/finished-goods-warehouse/top-ui/search-ui.vue @@ -0,0 +1,398 @@ + + + diff --git a/src/views/mes/wms/good-temp-warehouse/dialog/down.vue b/src/views/mes/wms/good-temp-warehouse/dialog/down.vue new file mode 100644 index 0000000..0006467 --- /dev/null +++ b/src/views/mes/wms/good-temp-warehouse/dialog/down.vue @@ -0,0 +1,194 @@ + + + diff --git a/src/views/mes/wms/good-temp-warehouse/dialog/up.vue b/src/views/mes/wms/good-temp-warehouse/dialog/up.vue new file mode 100644 index 0000000..a550689 --- /dev/null +++ b/src/views/mes/wms/good-temp-warehouse/dialog/up.vue @@ -0,0 +1,646 @@ + + + diff --git a/src/views/mes/wms/good-temp-warehouse/index.vue b/src/views/mes/wms/good-temp-warehouse/index.vue new file mode 100644 index 0000000..262da97 --- /dev/null +++ b/src/views/mes/wms/good-temp-warehouse/index.vue @@ -0,0 +1,420 @@ + + + diff --git a/src/views/mes/wms/good-temp-warehouse/init.js b/src/views/mes/wms/good-temp-warehouse/init.js new file mode 100644 index 0000000..e08dbdf --- /dev/null +++ b/src/views/mes/wms/good-temp-warehouse/init.js @@ -0,0 +1,186 @@ +import moment from 'moment' + +export const initSearch = { + storageNoType: '1', + shopOrder: null, + startDate: moment().subtract(30, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'), + invNo: null, + rackNo: null, + endDate: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'), + item: null, + locationNo: null, + materialLot: null, + storageNo: null, +} + +export const upInit = { + rackNo: null, + locationNo: null, + storageNo: null, +} + +export const typeArr = [ + { label: 'mes.wms.alreadyListed', value: '0' }, + { label: 'mes.wms.notListed', value: '1' }, +] + +export const tableObj = [ + { prop: 'materialLot', label: 'mes.wms.tableObj.lotNo', width: '120' }, + { prop: 'item', label: 'mes.product_number', width: '170' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '210' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '120' }, + { prop: 'dateMfg', label: 'mes.dateMfg', width: '170' }, + { prop: 'status', label: 'crud.column.label.status1', width: '80' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '100' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const detailTableObj = [ + { prop: 'materialLot', label: 'mes.wms.tableObj.lotNo', width: '150' }, + { prop: 'item', label: 'mes.product_number', width: '170' }, + { prop: 'itemDesc', label: 'mes.itemDesc', width: '210' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '120' }, + { prop: 'dateMfgStr', label: 'mes.dateMfg', width: '170' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const statusObj = { + '-1': 'crud.column.fixed', + 0: 'mes.enabledFlag', + 1: 'mes.ecn.inTransfer', + 2: 'mes.ecn.inMaterialIssuing', + 3: 'mes.wms.inventoryInProgress', + 4: 'mes.finished', + 5: 'mes.ecn.awaitingStorage', +} + +export const statusList = [ + { value: '-1', label: 'crud.column.fixed' }, + { value: 0, label: 'mes.enabledFlag' }, + { value: 1, label: 'mes.ecn.inTransfer' }, + { value: 2, label: 'mes.ecn.inMaterialIssuing' }, + { value: 3, label: 'mes.wms.inventoryInProgress' }, + { value: 4, label: 'mes.finished' }, + { value: 5, label: 'mes.ecn.awaitingStorage' }, +] + +export const selectBox = { + batchRule: [ + { label: 'mes.useOriginalBatchNumber', value: '0' }, + { label: 'mes.generateNewBatchNumber', value: '1' }, + ], + splitRule: [ + { label: 'mes.batchNumber', value: '0' }, + { label: 'mes.batchSize', value: '1' }, + ], +} + +// 产品编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.product_number' }, + { prop: 'description', label: 'mes.itemDesc' }, + ], +} + +// 仓库编号 +export const invNoObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + kind: '3', + }, +} + +//lot No +export const materialLotObj = { + condition: 'lotNo', + tableColumn: [ + { prop: 'lotNo', label: 'mes.wms.tableObj.lotNo' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.itemDesc' }, + ], + queryParam: { + invKind: '3', + lotNo: null, + }, +} + +//货架编号 +export const rackNoObj = { + condition: 'rackNo', + tableColumn: [{ prop: 'rackNo', label: 'mes.wms.tableObj.rackNo' }], + queryParam: {}, +} + +//货位 +export const locationNoObj = { + condition: 'locationNo', + tableColumn: [{ prop: 'locationNo', label: 'mes.wms.tableObj.locationNo' }], + queryParam: {}, +} + +//储位 +export const storageNoObj = { + condition: 'storageNo', + tableColumn: [{ prop: 'storageNo', label: 'mes.storageNo' }], + queryParam: {}, +} + +// 工单 +export const shopOrderObj = { + title: 'mes.work_order', + condition: 'shopOrder', + tableColumn: [ + { + prop: 'shopOrder', + label: 'mes.shopOrderNo', + }, + { prop: 'item', label: 'mes.product_number' }, + { + prop: 'itemDesc', + label: 'mes.itemDesc', + }, + ], + queryParam: { + kind: '3', + }, +} + +export const resrceObj = { + title: 'mes.equipmentNumber', + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'description', + label: 'mes.equipmentDesc', + }, + { + prop: 'typeNo', + label: 'crud.column.label.equipmentCategory', + }, + { + prop: 'categoryDesc', + label: 'mes.equipmentCategoryDesc', + }, + ], +} + +export const custKey = { + rackNo: '货架编号', + locationNo: '货位', + storageNo: '储位', +} diff --git a/src/views/mes/wms/good-temp-warehouse/top-ui/search-ui.vue b/src/views/mes/wms/good-temp-warehouse/top-ui/search-ui.vue new file mode 100644 index 0000000..d68d276 --- /dev/null +++ b/src/views/mes/wms/good-temp-warehouse/top-ui/search-ui.vue @@ -0,0 +1,398 @@ + + + diff --git a/src/views/mes/wms/line-side-warehouse/dialog/down.vue b/src/views/mes/wms/line-side-warehouse/dialog/down.vue new file mode 100644 index 0000000..4707a32 --- /dev/null +++ b/src/views/mes/wms/line-side-warehouse/dialog/down.vue @@ -0,0 +1,194 @@ + + + diff --git a/src/views/mes/wms/line-side-warehouse/dialog/feeding.vue b/src/views/mes/wms/line-side-warehouse/dialog/feeding.vue new file mode 100644 index 0000000..c596fdb --- /dev/null +++ b/src/views/mes/wms/line-side-warehouse/dialog/feeding.vue @@ -0,0 +1,254 @@ + + + diff --git a/src/views/mes/wms/line-side-warehouse/dialog/split.vue b/src/views/mes/wms/line-side-warehouse/dialog/split.vue new file mode 100644 index 0000000..ae0d6e0 --- /dev/null +++ b/src/views/mes/wms/line-side-warehouse/dialog/split.vue @@ -0,0 +1,715 @@ + + + diff --git a/src/views/mes/wms/line-side-warehouse/dialog/up.vue b/src/views/mes/wms/line-side-warehouse/dialog/up.vue new file mode 100644 index 0000000..c4ea923 --- /dev/null +++ b/src/views/mes/wms/line-side-warehouse/dialog/up.vue @@ -0,0 +1,650 @@ + + + diff --git a/src/views/mes/wms/line-side-warehouse/index.vue b/src/views/mes/wms/line-side-warehouse/index.vue new file mode 100644 index 0000000..6fbb20a --- /dev/null +++ b/src/views/mes/wms/line-side-warehouse/index.vue @@ -0,0 +1,476 @@ + + + diff --git a/src/views/mes/wms/line-side-warehouse/init.js b/src/views/mes/wms/line-side-warehouse/init.js new file mode 100644 index 0000000..58d938e --- /dev/null +++ b/src/views/mes/wms/line-side-warehouse/init.js @@ -0,0 +1,200 @@ +export const initSearch = { + storageNoType: '1', + rackNo: null, + item: null, + invNo: null, + materialLot: null, + locationNo: null, + shopOrder: null, + storageNo: null, +} + +export const upInit = { + rackNo: null, + locationNo: null, + storageNo: null, +} + +export const splitInit = { + qty: null, + batchValue: '0', + splitValue: '0', +} + +export const feedingInit = { + qty: null, + newResrce: null, +} + +export const typeArr = [ + { label: 'mes.wms.alreadyListed', value: '0' }, + { label: 'mes.wms.notListed', value: '1' }, +] + +export const tableObj = [ + { prop: 'item', label: 'mes.materialNumber', width: '150' }, + { prop: 'materialLot', label: 'mes.materialBatchNumber', width: '180' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '150' }, + { prop: 'supplierBatch', label: 'mes.wms.supplierBatch', width: '150' }, + { prop: 'dateMfg', label: 'mes.dateMfg', width: '100' }, + { prop: 'dateExp', label: 'mes.wms.dateExp', width: '100' }, + { prop: 'statusStr', label: 'crud.column.label.status1', width: '80' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const detailTableObj = [ + { prop: 'item', label: 'mes.product_number', width: '150' }, + { prop: 'materialLot', label: 'mes.materialBatchNumber', width: '180' }, + { prop: 'shopOrder', label: 'mes.work_order', width: '150' }, + { prop: 'supplierBatch', label: 'mes.wms.supplierBatch', width: '150' }, + { prop: 'dateMfgStr', label: 'mes.dateMfg', width: '100' }, + { prop: 'dateExpStr', label: 'mes.wms.dateExp', width: '100' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const statusObj = { + '-1': 'crud.column.fixed', + 0: 'mes.enabledFlag', + 1: 'mes.ecn.inTransfer', + 2: 'mes.ecn.inMaterialIssuing', + 3: 'mes.wms.inventoryInProgress', + 4: 'mes.finished', + 5: 'mes.ecn.awaitingStorage', + 6: 'mes.ecn.inReturnStorage', +} +export const statusList = [ + { value: '-1', label: 'crud.column.fixed' }, + { value: 0, label: 'mes.enabledFlag' }, + { value: 1, label: 'mes.ecn.inTransfer' }, + { value: 2, label: 'mes.ecn.inMaterialIssuing' }, + { value: 3, label: 'mes.wms.inventoryInProgress' }, + { value: 4, label: 'mes.finished' }, + { value: 5, label: 'mes.ecn.awaitingStorage' }, +] + +export const selectBox = { + batchRule: [ + { label: 'mes.useOriginalBatchNumber', value: '0' }, + { label: 'mes.generateNewBatchNumber', value: '1' }, + ], + splitRule: [ + { label: 'mes.batchNumber', value: '0' }, + { label: 'mes.batchSize', value: '1' }, + ], +} + +// 料件编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, + { prop: 'description', label: 'mes.materialBatchDesc' }, + ], +} + +// 仓库编号 +export const invNoObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + kind: '0', + }, +} + +//料件批号 +export const materialLotObj = { + condition: 'materialLot', + tableColumn: [ + { prop: 'materialLot', label: 'mes.materialBatchNumber' }, + { prop: 'item', label: 'mes.product_number' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc' }, + ], + queryParam: { + kind: '0', + }, +} + +//货架编号 +export const rackNoObj = { + condition: 'rackNo', + tableColumn: [{ prop: 'rackNo', label: 'mes.wms.tableObj.rackNo' }], + queryParam: {}, +} + +//货位 +export const locationNoObj = { + condition: 'locationNo', + tableColumn: [{ prop: 'locationNo', label: 'mes.wms.tableObj.locationNo' }], + queryParam: {}, +} + +//储位 +export const storageNoObj = { + condition: 'storageNo', + tableColumn: [{ prop: 'storageNo', label: 'mes.storageNo' }], + queryParam: {}, +} + +// 工单 +export const shopOrderObj = { + title: 'mes.work_order', + condition: 'shopOrder', + tableColumn: [ + { + prop: 'shopOrder', + label: 'mes.shopOrderNo', + }, + { + prop: 'shopOrderType', + label: 'mes.shopOrderType', + }, + { + prop: 'statusDescription', + label: 'crud.column.label.status1', + }, + ], + queryParam: { + kind: '0', + }, +} + +export const resrceObj = { + title: 'mes.equipmentNumber', + condition: 'resrce', + tableColumn: [ + { + prop: 'resrce', + label: 'mes.equipmentNumber', + }, + { + prop: 'eqpCategoryDesc', + label: 'mes.equipmentDesc', + }, + { + prop: 'eqpType', + label: 'crud.column.label.equipmentCategory', + }, + { + prop: 'eqpTypeDesc', + label: 'mes.equipmentCategoryDesc', + }, + ], + queryParam: { + kinds: '0,3', + }, +} + +export const custKey = { + rackNo: '货架编号', + locationNo: '货位', + storageNo: '储位', +} diff --git a/src/views/mes/wms/line-side-warehouse/top-ui/search-ui.vue b/src/views/mes/wms/line-side-warehouse/top-ui/search-ui.vue new file mode 100644 index 0000000..28a7932 --- /dev/null +++ b/src/views/mes/wms/line-side-warehouse/top-ui/search-ui.vue @@ -0,0 +1,371 @@ + + + diff --git a/src/views/mes/wms/material-warehouse/dialog/down.vue b/src/views/mes/wms/material-warehouse/dialog/down.vue new file mode 100644 index 0000000..ad5eba5 --- /dev/null +++ b/src/views/mes/wms/material-warehouse/dialog/down.vue @@ -0,0 +1,187 @@ + + + diff --git a/src/views/mes/wms/material-warehouse/dialog/split.vue b/src/views/mes/wms/material-warehouse/dialog/split.vue new file mode 100644 index 0000000..38868d1 --- /dev/null +++ b/src/views/mes/wms/material-warehouse/dialog/split.vue @@ -0,0 +1,694 @@ + + + diff --git a/src/views/mes/wms/material-warehouse/dialog/up.vue b/src/views/mes/wms/material-warehouse/dialog/up.vue new file mode 100644 index 0000000..e64608f --- /dev/null +++ b/src/views/mes/wms/material-warehouse/dialog/up.vue @@ -0,0 +1,621 @@ + + + diff --git a/src/views/mes/wms/material-warehouse/index.vue b/src/views/mes/wms/material-warehouse/index.vue new file mode 100644 index 0000000..66763b3 --- /dev/null +++ b/src/views/mes/wms/material-warehouse/index.vue @@ -0,0 +1,405 @@ + + + diff --git a/src/views/mes/wms/material-warehouse/init.js b/src/views/mes/wms/material-warehouse/init.js new file mode 100644 index 0000000..8798a68 --- /dev/null +++ b/src/views/mes/wms/material-warehouse/init.js @@ -0,0 +1,153 @@ +export const upInit = { + rackNo: null, + locationNo: null, + storageNo: null, +} + +export const splitInit = { + qty: null, + batchValue: '0', + splitValue: '0', +} + +export const initSearch = { + rackNo: null, + invNo: null, + materialLot: null, + locationNo: null, + invStorage: null, + item: null, + storageNoType: '1', +} + +export const tableObj = [ + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const invTableObj = [ + { prop: 'item', label: 'mes.materialNumber', width: '150' }, + { prop: 'materialLot', label: 'mes.materialBatchNumber', width: '150' }, + { prop: 'supplierBatch', label: 'mes.wms.supplierBatch', width: '150' }, + { prop: 'dateMfgStr', label: 'mes.dateMfg', width: '100' }, + { prop: 'dateExpStr', label: 'mes.wms.dateExp', width: '100' }, + { prop: 'qtyOnHand', label: 'common.quantity', width: '75' }, + { prop: 'rackNo', label: 'mes.wms.tableObj.rackNo', width: '100' }, + { prop: 'locationNo', label: 'mes.wms.tableObj.locationNo', width: '100' }, + { prop: 'storageNo', label: 'mes.storageNo', width: '100' }, +] + +export const excelArr = ['料件编号', '料件批号', '供应商批号', '状态', '数量', '货架编号', '货位', '储位'] + +// 料件编号 +export const itemObj = { + condition: 'item', + tableColumn: [ + { prop: 'item', label: 'mes.materialNumber' }, + { prop: 'description', label: 'mes.materialBatchDesc' }, + ], + queryParam: { + itemType: 'P', + }, +} + +// 仓库编号 +export const invNoObj = { + condition: 'invNo', + tableColumn: [ + { prop: 'invNo', label: 'mes.invNo' }, + { prop: 'description', label: 'common.description' }, + ], + queryParam: { + kind: 'L', + }, +} + +//料件批号 +export const materialLotObj = { + condition: 'materialLot', + tableColumn: [ + { prop: 'materialLot', label: 'mes.materialBatchNumber' }, + { prop: 'item', label: 'mes.materialNumber' }, + { prop: 'itemDesc', label: 'mes.materialBatchDesc' }, + ], + queryParam: { + materialLot: '', + }, +} + +//货架编号 +export const rackNoObj = { + condition: 'rackNo', + tableColumn: [{ prop: 'rackNo', label: 'mes.wms.tableObj.rackNo' }], + queryParam: {}, +} + +//货位 +export const locationNoObj = { + condition: 'locationNo', + tableColumn: [{ prop: 'locationNo', label: 'mes.wms.tableObj.locationNo' }], + queryParam: {}, +} + +//储位 +export const storageNoObj = { + condition: 'storageNo', + tableColumn: [{ prop: 'storageNo', label: 'mes.storageNo' }], + queryParam: {}, +} + +export const statusObj = { + '-1': 'crud.column.fixed', + 0: 'mes.enabledFlag', + 1: 'mes.ecn.inTransfer', + 2: 'mes.ecn.inMaterialIssuing', + 3: 'mes.wms.inventoryInProgress', + 4: 'mes.finished', + 5: 'mes.ecn.awaitingStorage', + 6: 'mes.ecn.inReturnStorage', +} +export const statusList = [ + { label: 'crud.column.fixed', value: '-1' }, + { label: 'mes.enabledFlag', value: '0' }, + { label: 'mes.ecn.inTransfer', value: '1' }, + { label: 'mes.ecn.inMaterialIssuing', value: '2' }, + { label: 'mes.wms.inventoryInProgress', value: '3' }, + { label: 'mes.finished', value: '4' }, + { label: 'mes.ecn.awaitingStorage', value: '5' }, + { label: 'mes.ecn.inReturnStorage', value: '6' }, +] + +export const typeObj = { + 0: { label: '已上架', color: 'primary' }, + 1: { label: '未上架', color: 'success' }, +} + +export const typeArr = [ + { label: 'mes.wms.alreadyListed', value: '0' }, + { label: 'mes.wms.notListed', value: '1' }, +] + +export const invType = { + 0: '立库', + 1: '平库', +} + +export const selectBox = { + batchRule: [ + { label: 'mes.ecn.keepOriginalBatchNo', value: '0' }, + { label: 'mes.ecn.newBatchNo', value: '1' }, + ], + splitRule: [ + { label: 'mes.batchNumber', value: '0' }, + { label: 'mes.batchSize', value: '1' }, + ], +} + +export const custKey = { + rackNo: '货架编号', + locationNo: '货位', + storageNo: '储位', +} diff --git a/src/views/mes/wms/material-warehouse/search-ui.vue b/src/views/mes/wms/material-warehouse/search-ui.vue new file mode 100644 index 0000000..268347b --- /dev/null +++ b/src/views/mes/wms/material-warehouse/search-ui.vue @@ -0,0 +1,327 @@ + + + diff --git a/src/views/mes/wms/material/dialog/add.vue b/src/views/mes/wms/material/dialog/add.vue new file mode 100644 index 0000000..8583f6b --- /dev/null +++ b/src/views/mes/wms/material/dialog/add.vue @@ -0,0 +1,275 @@ +